加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

JavaCC中的NULL令牌

发布时间:2020-12-14 19:31:38 所属栏目:Java 来源:网络整理
导读:我对令牌有奇怪的问题 在我的JavaCC解析器中. 在表达像 String IsNullClause():{ String res = "";}{ IS {res += " IS ";} [NOT {res += " NOT ";} ] NULL {res += " NULL ";}{ return res;}} 解析器看不到NULL令牌,并引发预期为“ null”的异常.如果我将令

我对令牌有奇怪的问题
< NULL:“空”>
在我的JavaCC解析器中.
在表达像

String IsNullClause():
{
      String res = "";
}
{
     <IS> {res += " IS ";}
     [<NOT> {res += " NOT ";} ]
     <NULL> {res += " NULL ";}

{
    return res;
}
}

解析器看不到NULL令牌,并引发预期为“ null”的异常.如果我将令牌定义更改为< NULL:“ null_val”>或其他功能正常.
这是我的错误,还是JavaCC不接受’null’作为标记值?

最佳答案
JavaCC软件包中有一些示例Java语言语法,具有以下标记定义:

< NULL:“空”>

所以我很确定JavaCC可以处理空令牌.

您确定在NULL匹配“ null”之前没有声明任何令牌吗?令牌按声明顺序进行匹配.您可以尝试在一开始就声明NULL.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读