Arithmetic evaluation: Difference between revisions
m
→{{header|11l}}
Alextretyak (talk | contribs) (Added 11l) |
Alextretyak (talk | contribs) m (→{{header|11l}}) |
||
Line 67:
Dict[String, Symbol] symbol_table
Array[String] tokens
ASTNode token_node
Line 78:
:token_node.symbol = :symbol_table[‘(end)’]
R
:token_node.symbol = :symbol_table[I token.is_digit() {‘(number)’} E token]
I token.is_digit()
Line 86:
ASTNode t = :token_node
advance()
L rbp < :token_node.symbol.lbp
t = :token_node
Line 101:
F symbol(id, bp = 0) -> &
I !(id C :symbol_table)
s.id = id
s.lbp = bp
Line 130:
F nud_parens(ASTNode self)
advance(‘)’)
R expr
|