我沒有經歷過且仍在學習語法。我只需要一個支持空格和特殊字符的示例語法,比如!,「#,$,^,&。 因爲使用我當前的語法和規則,我不能打印出一些支持空格和特殊符號的字符串。我知道空白拋給)ANTLR 4 - 用於支持空格和特殊字符的字符串的語法規則
例如,如果我給輸入:的Hello World !!!!!
輸出的HelloWorld < - 空白& CHAR()拋出
!看看這個圖片: problem
爲什麼??
這裏是我目前的語法example.g4
string
: '"' (~'"'|'\"')* '"'
;
Id
: Letter(Letter|Digit)*
;
Num
: Digit
;
fragment
Digit
: [0-9]+
;
Letter
: [a-zA-Z]
;
LINE_COMMENT
: '//' ~[\r\n]* -> skip
;
我是讀此鏈接: ANTLR parse strings (keep whitespaces) and parse normal identifiers
,但我不能明白髮生什麼事。我需要一個建議。謝謝。
語法中沒有可匹配空格的詞法分析器規則。添加類似'WS:[\ t \ r \ n] +;' –
親愛的朋友,感謝您來這裏並試圖幫助我。 但是在添加WS之後,我在parsetreewalker上出錯了:[\ t \ r \ n] +;語法, 我的字符串變爲空。 未將對象引用設置爲對象的實例。 –