javacc本地忽略大小写?

发布于 2025-01-02 08:39:05 字数 415 浏览 1 评论 0原文

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

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

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

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

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

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

I wish to make part of my JavaCC definitions case insensitive, but not globally.

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

Above seems to make all tokens (STRA AND STRB) case insensitive. How to make only STRB case ignored?

Also, can I make following production case insensitive, for example, only "b = <...>" so?

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

I admit I can't figure out this by reading the manual. Please help me out. Let me know if I didn't explain clearly. Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

神魇的王 2025-01-09 08:39:05

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

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

TOKEN : {
  < STRA : "a" >
}

Make a separate list of tokens, Case sensitive and ignore case tokens then u need not declare statement globally as Ignore case = true.
try code as below,

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

TOKEN : {
  < STRA : "a" >
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文