我試圖解析以下語法,其中Value
可以是任何字符到分號,但我不能讓它正常工作:解析任何字符,直到分號ANTLR4
grammar Test;
pragmaDirective : 'pragma' Identifier Value ';' ;
Identifier : [a-z]+ ;
Value : ~';'* ;
WS : [ \t\r\n\u000C]+ -> skip ;
當我測試一下與pragma foo bar;
,我得到以下錯誤:
line 1:6 extraneous input ' ' expecting Identifier
line 1:11 extraneous input 'bar' expecting ';'
我最終爲pragma值定義了一個新的解析器規則。這是我第一次嘗試用ANTLR編寫解析器,我應該做一些進一步的閱讀。感謝您的推薦! –