Get next token
Get next token
Get next token
Get next token
Get next token
id
:=
Assignment
Expr
*
Expr
Expr
num
id
P
o
s
id
Lexical analyzer
id
Pos
:
=
:=
:=
R
a
t
e
id
id
ERate
*
*
*
6
0
int
int
60
Source program:
Example:
Syntax analyzer
Pos := Rate*60
Lexical Analyzer (Scanner)
Source program
Lexical analyzer
Scanner
Syntax analyzer
Parser
Get next token
Token
Read next char
id
:=
Assignment
Expr
Lexical analyzer
id
Pos
:=
id
Source program:
Example:
Syntax analyzer
Pos := Rate*60
ERate
Get next token
1.
2.
3.
2/35