【问题标题】:javacc ignore case locally?javacc 在本地忽略大小写?
【发布时间】:2012-02-27 15:25:05
【问题描述】:

我希望我的部分 JavaCC 定义不区分大小写,但不区分全局。

TOKEN [IGNORE_CASE]:
{
  < STRA : "a" >
}
TOKEN :
{
  < STRB : "b" >
}

以上似乎使所有标记(STRA AND STRB)不区分大小写。如何只忽略STRB大小写?

另外,我可以使以下生产不区分大小写,例如,只有“b = <...>”吗?

private void expr() : 
{
  Token a, b;
}
{
  a = < STRA > | b = < STRB>
}

我承认我无法通过阅读手册来弄清楚这一点。请帮帮我。如果我没有解释清楚,请告诉我。谢谢。

【问题讨论】:

    标签: javacc ignore-case


    【解决方案1】:

    制作一个单独的标记列表,区分大小写并忽略大小写标记,然后您无需将语句全局声明为 Ignore case = true。 试试下面的代码,

    TOKEN [IGNORE_CASE]: {
     < STRB : "b" >
    }
    
    TOKEN : {
      < STRA : "a" >
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-08
      • 2021-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多