gpt4 book ai didi

c# - Antlr4cs 什么都不做

转载 作者:太空宇宙 更新时间:2023-11-03 10:57:44 24 4
gpt4 key购买 nike

我是 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

最佳答案

  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 包管理器安装此处描述的 Antlr4 包: https://www.nuget.org/packages/Antlr4

  3. 从语法文件中删除以下行。语言由构建工具设置。

    options 
    {
    language=CSharp_v4_5;
    }

关于c# - Antlr4cs 什么都不做,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18824588/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com