Antlr4cs什么都不做
本文关键字:什么 Antlr4cs | 更新日期: 2023-09-27 18:31:23
我是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
-
从项目文件中删除以下行:
<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" />
-
使用 NuGet 包管理器安装 Antlr4 包,如下所述:https://www.nuget.org/packages/Antlr4
-
从语法文件中删除以下行。语言由生成工具设置。
options { language=CSharp_v4_5; }