首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何利用铺层模块分别实现"1+1 \n 2+2“、output 2和4的两行语法分析

如何利用铺层模块分别实现"1+1 \n 2+2“、output 2和4的两行语法分析
EN

Stack Overflow用户
提问于 2019-01-07 10:23:05
回答 1查看 55关注 0票数 1

通过对"1+1 \n 2+2“结果的分析,我认为这是两个不相关的语句,但却减少了它们,如何使它们变得无关,p_statement_expr(p):‘’语句:表达式打印p1

代码语言:javascript
复制
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
  • 通过对"1+1 \n 2+2“结果的分析,我认为这是两个不相关的陈述,但却减少了它们,如何使它们变得无关
  • 层:解析调试开始状态:0堆栈:。LexToken(数字,1,1,0)操作: Shift和goto state 3状态:3堆栈:数字。LexToken(ADD,'+',1,1)操作:用1减少规则表达式的->数,并减少goto状态5的结果:(1)状态:5堆栈:表达式。LexToken(添加,'+',1,1)动作: Shift和goto state 9 State :9 Stack : expression。LexToken(数字,1,1,2)操作: Shift和goto state 3状态:3堆栈:表达式添加编号。LexToken(数字,2,2,6)错误:错误:表达式添加编号。LexToken(号码,2,2,6)
  • 当报告2+2时,如何实现多行语句执行并在执行后自动执行以下代码?
EN

回答 1

Stack Overflow用户

发布于 2019-01-07 20:31:41

Ply没有对第二个表达式做任何事情。

假设您正在显示所有语句,您的语法与一条语句完全匹配。Ply期望输入在这一点上终止,但它不会抱怨一个意外的数字。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54072476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档