This is a picture of a finite state automaton(FSA). It essentially describes how the compiler of a program traverses a program to understand what has been written in a language such as Java. (Although this tree is merely an example and not even close to the complexity of the FSA for java) For my programming languages class, the first project is creating one of these FSAs for a simple grammar(rules that define a language syntax) and then coding, in Java, a lexer for turning a program into its basic tokens and then a parser to read those tokens. this project is interesting because one almost has to think like a compiler in order to do it.
-Max Smith ’15
“The only thing we know for sure is that we know nothing at all”