2009-09-29 82 views
0

嗨我現在有這個語法, 但是當我有服務後,一個音符。 Antlr不想意識到這不是服務,但注意。服務和票據有不同的結構。 如何寫這個?antlr - 問題

我想解析這個。但注意bla bla;

NOTE : 'NOTE'TEXT; 

雖然我不知道如果我的語法真的很好:在服務

777014322;O2 Optimum Profi Promo; 

Free sms;0:00;250:00;0:00; 

NOTE bla bla; 

STM; 



thank you. 

    grammar teste; 

file : phoneNumber*; 

phoneNumber 
: number SEPARATOR tariff SEPARATOR? newline 

    service* 
    note? 
    stm SEPARATOR* newline 

; 


note : NOTE TEXT SEPARATOR? newline; 

service 
: TEXT SEPARATOR TEXT SEPARATOR TEXT SEPARATOR TEXT SEPARATOR? newline; 



stm : STM; 

tariff : TEXT; 

newline : NEWLINE*; 

number : NUMBER; 

separator : SEPARATOR; 


NOTE : 'NOTE'; 

STM : 'STM'; 

NEWLINE : '\r'? '\n'; 

NUMBER : (DIGIT)+ ; 

SEPARATOR : ';'; 

TEXT : ~(';' | '\r' | '\n')+; 


fragment DIGIT : '0'..'9' ; 

回答

0

我終於通過修改註釋,以解決它很容易。但我不確定是否能夠從這個文本到Java變量。我希望我是。