问题描述
我做了一个做基本加法的词法分析器和解析器。在我的词法分析器中,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。这可确保其他人(刚刚看到此问题的人)可以更好地理解上下文。