我希望我的
JavaCC定义的一部分不区分大小写,但不是全局的.
TOKEN [IGNORE_CASE]:
{
< STRA : "a" >
}
TOKEN :
{
< STRB : "b" >
}
以上似乎使所有令牌(STRA和STRB)不区分大小写.如何仅忽略STRB案例?
此外,我可以使以下生产案例不敏感,例如,只有“b =< …>”所以?
private void expr() :
{
Token a, b;
}
{
a = < STRA > | b = < STRB>
}
我承认通过阅读手册我无法弄清楚这一点.请帮帮我.如果我没有清楚解释,请告诉我.谢谢.
最佳答案 创建一个单独的令牌列表,区分大小写并忽略大小写令牌,然后你不需要全局声明语句为Ignore case = true.
尝试如下代码,
TOKEN [IGNORE_CASE]: {
< STRB : "b" >
}
TOKEN : {
< STRA : "a" >
}