Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在使用 ANTLR 创建词法分析器/解析器。表达式可以有这样的格式
if(a==1 || b==2 or c==3 && d==4 and e==5)
我有支持 && 和 || 的语法 像这样 -
AND : '&&' OR : '||'
需要知道支持关键字“and”和“or”需要进行哪些更改。
AND只需在and的定义中列出“and”和“or”作为替代项OR
AND
OR
AND : '&&' | 'and' OR : '||' | 'or'
只需在现有运算符之后添加它们作为替代:
AND : '&&' | 'and'; OR : '||' | 'or';
确保将这两个规则添加到IDENTIFIER可能匹配"and"的可能规则之上"or"。通过将它们添加到 之上IDENTIFIER,规则AND并OR获得优先权IDENTIFIER。
IDENTIFIER
"and"
"or"