0

C# ターゲット用のパーサーとレクサーを生成するために以前に AntlrWorks 1.4 を使用しました。現在、新しいプロジェクトを開始しており、antlrworks1.5 を使用しようとしています。しかし、生成されたレクサーには、C# コードに多くのエスケープ シーケンス エラーがあります。バージョン 1.4 を試してみましたが、問題なく動作します。

基本的に、エラーは、1.5 で生成されたコードでは "\1\2\3" のような無効なエスケープがあり、1.4 で生成されたコードでは "\x01\x02\x03" です。

1.5 バージョンでこの問題を解決する方法はありますか? または、1.4 バージョンに固執する必要があります。

4

1 に答える 1

1

ANTLR 3 の C# ポートは、ANTLRWorks での動作、またはコード生成用のツールの Java バージョンを使用した場合の動作はテストされていません。MSBuild 統合および/または Antlr3.exe を使用してコードを生成することのみがテストされています。ANTLRWorks および/または ANTLR ツールの Java バージョンを使用して CSharp3 または CSharp2 ターゲットのコードを生成できることを示唆する動作は、単なる偶然です。

次のサイトで、文法を自動的に構築するように C# プロジェクトを構成するためのドキュメントと共に C# ポートをダウンロードできます。

http://www.antlr.org/wiki/display/ANTLR3/Antlr3CSharpReleases

于 2013-03-29T02:58:10.553 に答える