我想问一下“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)+;