こんにちは、今のところこの文法がありますが、サービス後にメモがあります。Antlr はそれがサービスではないことを認識したくありませんが、注意してください。また、サービスとノートは構造が異なります。これはどうやって書くの?
これを解析しようとしています。ただし、bla bla に注意してください。サービス中です
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' ;