2

私はAntlrが初めてです。C# で Antlr を使用したいのですが、https://github.com/sharwell/antlr4csで説明されているすべてのことを実行しましたが、プロジェクトをビルドしても何も起こりません。

私のプロジェクトファイルの一部:

<ItemGroup>
  <Antlr4 Include="Model\ScriptGrammar\ScriptGrammar.g4">
    <Generator>MSBuild:Compile</Generator>
    <CustomToolNamespace>Model.ScriptGrammar</CustomToolNamespace>
  </Antlr4>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
  <!-- Folder containing Antlr4BuildTasks.dll -->
  <Antlr4BuildTaskPath>..\..\External\Antlr</Antlr4BuildTaskPath>
  <!-- Path to the ANTLR Tool itself. -->
  <Antlr4ToolPath>..\..\External\Antlr\antlr4-csharp-4.0.1-SNAPSHOT-complete.jar</Antlr4ToolPath>
</PropertyGroup>
<Import Project="..\..\External\Antlr\Antlr4.targets" />
<PropertyGroup>
  <PostBuildEvent>$(ProjectDir)\copyExternals.bat</PostBuildEvent>
</PropertyGroup>

私のテスト文法ファイル:

grammar ScriptGrammar;
options 
{ 
    language=CSharp_v4_5; 
} 

r : 'hello' ID ; // match keyword hello followed by an identifier
ID : [a-z]+ ; // match lower-case identifiers
WS : [ \t\r\n]+ -> skip ; // skip spaces, tabs, newlines, \r (Windows)

Visual Studio 2012 Professional を使用しています

4

1 に答える 1

2
  1. プロジェクト ファイルから次の行を削除します。

    <PropertyGroup>
      <!-- Folder containing Antlr4BuildTasks.dll -->
      <Antlr4BuildTaskPath>..\..\External\Antlr</Antlr4BuildTaskPath>
      <!-- Path to the ANTLR Tool itself. -->
      <Antlr4ToolPath>..\..\External\Antlr\antlr4-csharp-4.0.1-SNAPSHOT-complete.jar</Antlr4ToolPath>
    </PropertyGroup>
    <Import Project="..\..\External\Antlr\Antlr4.targets" />
    
  2. NuGet パッケージ マネージャーを使用して、 https ://www.nuget.org/packages/Antlr4 で説明されている Antlr4 パッケージをインストールし ます。

  3. 文法ファイルから次の行を削除します。言語はビルド ツールによって設定されます。

    options 
    { 
        language=CSharp_v4_5; 
    } 
    
于 2013-09-16T12:21:57.417 に答える