ig-*_*nyk 1 compiler-construction parsing interpreter
这是一个正确的LL语法:
E-> TX
T - >(E)Y | intY
X - > + E | -E | Ë
Y - >*E |/E | Ë
但它会为表达式生成相同的AST树
int-int + int和int-(int + int)
EQ
子(简单(INT),添加(简单(INT),简单(INT))
当然,我可以使用一些前瞻,但这并不酷.
cod*_*ker 11
试试这个语法吧
E -> T E'
E' -> + T E' | -TE' |epsilon
T -> F T'
T' -> * F T' | /FT' |epsilon
F -> (E) | int
Run Code Online (Sandbox Code Playgroud)