E → TE' E' → +TE' | -TE' | ε T → FT' T' → *FT' | /FT' | ε F → i | (E)写出对应的递归下降语法分析器
时间: 2023-08-20 13:04:16 浏览: 148
以下是对应的递归下降语法分析器:
```python
def E():
T()
E_()
def E_():
if lookahead == '+':
match('+')
T()
E_()
elif lookahead == '-':
match('-')
T()
E_()
else:
pass
def T():
F()
T_()
def T_():
if lookahead == '*':
match('*')
F()
T_()
elif lookahead == '/':
match('/')
F()
T_()
else:
pass
def F():
if lookahead == 'i':
match('i')
elif lookahead == '(':
match('(')
E()
match(')')
else:
error()
```
其中,`match()`函数表示匹配读入符号和当前待分析符号是否相同,如果相同,则读入下一个符号;否则,抛出错误。`lookahead`变量表示当前待分析符号。
阅读全文