Expression laboratory · AST
运算符先形成表达式树
同一串记号可能包含多个运算符。编译器先依据语法规则把它们组织成树,树的形状决定“谁和谁组成子表达式”。
优先级决定的是语法分组,不等同于“普通操作数的求值先后”。结合性只在同级运算符竞争时决定分组方向;显式括号可以改写分组。
抽象语法树
当前
已处理
下一步
重置
从根节点观察分组结构。
一分钟判断
表达式
x + y * z == w
的正确完整分组是哪一个?
(((x + y) * z) == w)
((x + (y * z)) == w)
(x + (y * (z == w)))
(x + ((y * z) == w))