通过PLY实现“ 1 + 1 \ n 2 + 2”结果分析,我认为这是两个不相关的陈述,但是PLY减少了它们,如何使其不相关 def p_statement_expr(p): 声明:表达 打印p [1]
def p_expr_num(p):
'''expression : NUMBER'''
p[0] = p[1]
if "__main__" == __name__:
parser = yacc.yacc(tabmodule="parser_main")
import time
t = time.time()
for i in range(1):
result = parser.parse("1+1 \n 2+2", debug=debug)
# print time.time() - t
# print result
答案 0 :(得分:0)
Ply对第二个表达式没有做任何事情。
您的语法完全匹配一个陈述,假设您将其全部显示出来。 Ply希望输入在该时刻终止,但事实并非如此,因此Ply抱怨输入了意外的数字。