0
我正在嘗試構建具有多個詞法分析器導入的組合Antlr語法。但是,這不起作用。 我有兩個詞法分析器文件被導入到組合語法文件中。但我得到這個錯誤:錯誤(103):語法分析器規則不允許在詞法分析器中。Antlr - 多個詞法分析器導入
lexer grammar LSub ;
SPACE : ' ' ;
lexer grammar L ;
LETTER : 'a'..'z' ;
// SPACE : ' ' ;
NUMBER : '0'..'9' ;
parser grammar P1 ;
letter : LETTER ;
spaces : SPACE+ ;
grammar C ;
import L, LSub, P1 ;
stuff : (letters spaces)+ ;
LETTER : 'a'..'z' ;
另外,如果我嘗試詞法分析器進口的兩個層次即想,如果我有兩個詞法分析器L1和L2,L2 &進口L1,並在合併語法,如果我有進口L2。然後,在測試類中,我得到了nullpointerexception。
lexer grammar LSub ;
SPACE : ' ' ;
lexer grammar L ;
import LSub;
LETTER : 'a'..'z' ;
// SPACE : ' ' ;
NUMBER : '0'..'9' ;
parser grammar P1 ;
letter : LETTER ;
spaces : SPACE+ ;
parser grammar P2 ;
import P1 ;
letters : letter+ ;
grammar C ;
import L, P2 ;
stuff : (letters spaces)+ ;
LETTER : 'a'..'z' ;
有沒有解決這個問題的方法?
你可以發佈一些代碼是[SSCCE](http://sscce.org/) – 2014-10-28 12:10:15