输入ANTLR4没有可行的替代方案?

输入ANTLR4没有可行的替代方案?,antlr4,Antlr4,我正在用ANTLR 4创建我自己的语言,我想创建一个规则来定义变量及其类型,例如 string = "string" boolean = true integer = 123 double = 12.3 string = string // reference to variable 这是我的语法 // lexer grammar fragment LETTER : [A-Za-z]; fragment DIGIT : [0-9]; ID : LETTER+; STRING : '"' (

我正在用ANTLR 4创建我自己的语言,我想创建一个规则来定义变量及其类型,例如

string = "string"
boolean = true
integer = 123
double = 12.3
string = string // reference to variable
这是我的语法

// lexer grammar
fragment LETTER : [A-Za-z];
fragment DIGIT : [0-9];
ID : LETTER+; 
STRING : '"' ( ~ '"' )* '"' ; 
BOOLEAN: ( 'true' | 'fase');
INTEGER: DIGIT+ ;
DOUBLE: DIGIT+ ('.' DIGIT+)*;
当我使用这个示例进行测试时,ANTLR显示以下错误

study(timestamp = "10:30", region = "region", businessDate="2020-03-05", processType="ID")
bool = true
region = "region"
region = region

如何修复此问题?

当我测试您的语法并从给定输入的
程序规则开始时,我得到以下解析树(没有任何错误或警告):


您可能没有使用正确的语法分析器规则,或者正在测试一个旧的语法分析器,需要从语法生成新的类。

没错,因为我的语法非常广泛,我使用了几个语法文件,而且我的语法分析器不是最新的,谢谢,您帮了我很多忙。
study(timestamp = "10:30", region = "region", businessDate="2020-03-05", processType="ID")
bool = true
region = "region"
region = region
line 4:7 no viable alternative at input 'bool=true'
line 6:9 no viable alternative at input 'region=region'