0
比方說,我有一個像下面的兩個規則:如何在ANTLR中「減去」詞法分析器規則?
printable_characters : '\u0020' .. '\uFFEF' ;
newline_characters : '\n' | '\r' ;
現在,讓我們說,我想創建一個名爲printable_no_newlines
新規則。我想減去newline_characters
從printable_characters
要做到這一點,像這樣:
printable_no_newlines : printable_characters - newline_characters ;
這句法不會ANTLR3工作,但沒有人知道什麼是最好的辦法是效仿這種無需重新輸入整個規則?
嗨馬丁。我編輯了我的示例以便更有意義。我不應該使用*作爲printable_characters規則。如果現在重新審視這個問題,那麼我想要做什麼更有意義? – 2009-09-20 02:24:32
馬丁的一些評論已不再相關,但如果不手動編寫設置的差異,關鍵是不可能的。 – 2009-09-20 02:32:26
@Jeffrey:你的編輯仍然沒有使請求變得明智。由於'newline_characters'不包含在'printable_characters'中(因爲它們在U + 0020以下),無論如何,'printable_no_newlines'將與'printable_characters'相同。 – 2009-09-20 06:54:05