【问题标题】:Change antlr lexer parser for supporting "and" and "or" keywords更改 antlr 词法分析器以支持“and”和“or”关键字
【发布时间】:2012-07-12 13:56:24
【问题描述】:

我正在使用 ANTLR 创建词法分析器/解析器。表达式可以有这样的格式

if(a==1 || b==2 or c==3 && d==4 and e==5)

我有支持 && 和 || 的语法像这样-

AND :   '&&'
OR  :   '||'

需要知道支持关键字“and”和“or”需要进行哪些更改。

【问题讨论】:

    标签: parsing antlr lexer


    【解决方案1】:

    只需在ANDOR 的定义中列出“and”和“or”作为替代项

    AND : '&&' | 'and'
    OR  : '||' | 'or'
    

    【讨论】:

      【解决方案2】:

      只需在现有运算符之后添加它们作为替代:

      AND : '&&' | 'and';
      OR  : '||' | 'or';
      

      确保将这两个规则添加到可能匹配"and""or" 的可能IDENTIFIER 规则之上。通过将它们添加到IDENTIFIER 之上,规则ANDOR 优先于IDENTIFIER

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-01-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-03
        • 1970-01-01
        相关资源
        最近更新 更多