我被分配了一项为算术表达式创建解析器的任务(带有括号和一元运算符)。所以我只想知道这个语法是否正确,它是否是 LL(1) 形式并且在为此构建解析表时遇到了真正的问题
S -> TS'
S' -> +TS' | -TS' | epsilon
T -> UT'
T' -> *UT' | /UT' | epsilon
U -> VX
X -> ^U | epsilon
V -> (W) | -W | W | epsilon
W -> S | number
优先级(从高到低)
(), unary –
^
*, /
+, -
二元运算符的结合性
^ = right
+, -, *, / = left