Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Antlr 我可以添加不能在lexer规则中应用的语法单词吗?_Antlr_Grammar_Lexer - Fatal编程技术网

Antlr 我可以添加不能在lexer规则中应用的语法单词吗?

Antlr 我可以添加不能在lexer规则中应用的语法单词吗?,antlr,grammar,lexer,Antlr,Grammar,Lexer,我的语法是: assignment: NAME ':=' (value | operation | boolean_value); NAME: [a-zA-Z]+; 我想编程true:=4是错误的,但它不是 我想在语法上说单词true不能作为NAME应用,然后将其定义为关键字: assignment: NAME ':=' (value | operation | boolean_value); TRUE : 'true'; NAME : [a-zA-Z]+; 或者执行语义检入。Super

我的语法是:

assignment: NAME ':=' (value | operation | boolean_value);
NAME: [a-zA-Z]+;
我想编程
true:=4
是错误的,但它不是


我想在语法上说单词
true
不能作为
NAME

应用,然后将其定义为关键字:

assignment: NAME ':=' (value | operation | boolean_value);

TRUE : 'true'; 
NAME : [a-zA-Z]+;

或者执行语义检入。

Super,它帮助我输入关键字
true
false
。但是我也有关键字
skip
命令:赋值| if |条件| while |循环|比较|操作|跳过|规则;赋值:名称“:=”(值|运算|布尔值);真:‘真’;假:‘假’;跳过规则:“跳过”;“跳过”如果输入命令:
skip:=6
。ANTLR查找关键字
skip
,并忽略命令的其余部分。我希望像
skip:=6这样的命令是赋值类型而不是skip。有没有不进行语义检查的解决方案?您的评论包含的信息比原始问题更多。请编辑您的问题并将此信息添加到其中。