1
我有一個非常簡單的鍵/值語法(不是我正在處理的實際語法,但這是最簡單的,我可以拿出來顯示我的問題),似乎有問題詞法對照順序在ANTLR 4.0b4中。語法是:ANTLR4鍵/值語法
grammar test;
r : HELLO COLON VALUE;
HELLO : 'hello';
COLON : ':';
VALUE : .+;
鑑於這種語法,輸入'你好:世界上我希望它正確解析,但它似乎是整個輸入被拉到一個值令牌,並且因此不會:
hello:world
[@0,0:11='hello:world\n',<3>,1:0]
[@1,12:11='<EOF>',<-1>,2:12]
line 1:0 mismatched input 'hello:world\n' expecting 'hello'
我在做什麼錯?
好吧,這點我在正確的方向。我認爲絕對令牌將首先被解析,但看起來像我需要限制貪婪的解析片段,以便它們不會猖獗。謝謝! – jgm