微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PLY 解析器接受方括号和圆括号,但我只希望它接受圆括号

如何解决PLY 解析器接受方括号和圆括号,但我只希望它接受圆括号

我做了一个做基本加法的词法分析器和解析器。在我的词法分析器中,LPAREN 和 RPAREN 标记分别是 ( 和 ),但出于某种原因,在解析器中,它也接受方括号 []。

词法分析器中的标记定义:'r')' 和 r'('

解析器中的正则表达式: def p_term_expr(p): '''表达式 : LPAREN 表达式 RPAREN''' p[0] = p[2]

有谁知道如何改变它,让它只接受圆括号?

解决方法

尝试转义括号,如 official docs 中所示:

t_LPAREN  = r'\('
t_RPAREN  = r'\)'

另外,请按照@sepp2k 的说明发布minimal reproducible example。这可确保其他人(刚刚看到此问题的人)可以更好地理解上下文。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。