2013-04-17 50 views

回答

1

不,ANTLR 4集文字不支持像正則表達式這樣的字符類。

+0

嗯......我想我在問一個稍微不同的問題,但你可能已經回答了。我不是在尋找正則表達式本身,而只是爲了像UNICODE_IDENT_START這樣的內置常量。我當前的語法對於ident-start和ident-continue字符集都有ANTLR規範,它們分別長500和800行。在我看來,這對於任何在ANTLR中構建基於unicode的解析器的人來說都必須是一個共同的要求。也許這應該採取拉請求的形式? –

+0

ANTLR 4的目標是比以前的版本更獨立於目標語言,因此將語義轉換綁定到特定的Java常量在語法級別上是沒有意義的。您在正則表達式引擎中看到的更一般的Unicode字符類將會有意義。 –

+0

是的,除了Java特有的字符類,Java似乎還包含一個與Unicode標準附錄#31相對應的概念(isUnicodeIdentifierStart),儘管我找不到任何專門引用Unicode文檔的Java文檔。 –