【发布时间】:2016-12-08 23:11:59
【问题描述】:
The examples I've seen 始终使用“简单”BNF。这是我愚蠢的开发的一部分的示例:
def p_expression(p):
"""expression : NUMBER
| NAME
| NEGATION
| INCREMENT
| DECREMENT
| expression operator expression"""
if __name__ == "__main__":
lex.lex()
yacc.yacc()
data = "32 <+> 10 |"
result = yacc.parse(data)
如果我想解析一个带括号的数学表达式以及它的整个递归地狱just like in this answer that uses the extended one,该怎么办?有可能吗?
【问题讨论】:
-
查看我的 SO 答案,了解如何在给定 BNF 的情况下构建递归下降解析器:stackoverflow.com/questions/2245962/…
标签: python parsing yacc bnf ply