我想问一下“IS”这个词是否是一个保留词。这就是我要问的原因。我尝试创建解析器的语言是一种优先语言。我的作业看起来像这样:
%VARIABLE IS STRING
使用Antlr解释器,我输入上面的语句,我得到一个错误说明 'MisMatchedSetException'。
如果我输入:
%VARIABLE AND STRING
一切都按预期工作。
我花了一些时间寻找解决方案,但到目前为止还没有。
这是我语法的一部分:
assignis : '%' IDENT logical_operator types ;
types : ('FIXED' | 'STRING' | 'FLOAT');
logical_operator : 'IS' | 'AND';
IDENT : ('a'..'z' | 'A'..'Z' | '0'..'9' | DOT)+;