私はunicodeをサポートする小さなDSLのantlr3文法を書こうとしていますが(ドイツ語のウムラウト、äöüÄÖÜßには必要です)、うまくいかないようです。私は(うまく動作します)「Xayの」または「Xayの」のようなUnicode文字の任意のシーケンスに一致することになっている最小限のテスト文法、書いたantlr3 unicode文字が原因でエラーが発生する
(しません。)
がここにあります文法:
line 1:1 mismatched character '?' expecting set null
私は何をしないのです: "XAX" については
grammar X;
@lexer::header {
import org.antlr.runtime.ANTLRInputStream;
import org.antlr.runtime.ANTLRStringStream;
import org.antlr.runtime.CommonTokenStream;
import java.io.ByteArrayInputStream;
import java.io.IOException;
}
@lexer::members {
public static void main(String[] args) throws Exception {
ANTLRInputStream stream = new ANTLRInputStream(new ByteArrayInputStream("x\u00C4y".getBytes()), "utf-8");
XLexer lex = new XLexer(stream);
CommonTokenStream c = new CommonTokenStream(lex);
XParser p = new XParser(c);
p.x();
}
}
x : UTF8+;
UTF8 : ('\u0000'..'\uF8FF');
は、私は次のエラーを取得していますか?
ありがとうございます!
の可能性のある重複した([何文字エンコーディングがあると私はそれを気にしなければならない理由] http://stackoverflow.com/questions/10611455/何が文字エンコーディングで、なぜ私は邪魔になるのですか? – Raedwald