Start
-parse
-get next token
-semantic analysis
-look up variable name
-do semantic checks -> generate code(passed) or semantic error(failed)
-put in symbol table
Front End: Analysis
1. Lexical Analysis
2. Syntax Analysis
3. Semantic Analysis
Back End: Systhesis
4. Code Generation
5. Optimization
Lexical rules of language dictate how legal word is formed by concatenating alphabet.
If x==1 then if y==2 print 1 else print 2
stmt -> if expr then stmt else stmt