私の文法は単純ですが、連結を作るためにいくつかの文字列を受け入れる必要があります。この式は有効である必要があります。ANTLR文法:CP1252ユーロ文字を理解してください
CONCATENATE(10;" €")
問題はユーロ記号です。
fragment SPECIAL : '\u00B0';
しかし、ユーロ記号は、この度のシンボルのように動作していない:私は作成しています
fragment SPECIAL : '\u00B0' | '\u20AC'
私は、これは程度のシンボルのための非常に良い仕事をしていた、私の文法にするために使用されるが、このANTLR 3.4および生成された字句解析コードでPHPパーサは度記号については、以下である:
$this->getToken('176')== $LA26 || ...
そして、それは広告これはユーロ記号のために、私はそこに(手動パーサ生成した後、それを追加する必要がある場合それを追加する2つの場所です)、それは動作します!
$this->getToken('128')== $LA26 || ...
私の質問は次のとおりです。このコード生成を得るには文法でどのように追加するのですか?このユニコードシンボルの範囲には、u00よりも何らかのwlseで始まる問題がありますか?他のすべての特殊文字は¥u00で始まっています。
ありがとうございました。 よろしくお願いいたします。 Nicolas。
UTF-8としてすべてのエンコードをエンコードしてください! – delboy1978uk
トローリングを止めてください、antlr phpはutf8をサポートしていません –
ああ!本当に?!すべての私の友人にトローリングはありません! – delboy1978uk