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。这可确保其他人(刚刚看到此问题的人)可以更好地理解上下文。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...