如何将 .g4 编译为 .cs?
How to compile .g4 to .cs?
我重新阅读了所有文档,但仍然不明白我到底需要做什么。 请逐步说明在 VS2019(对于 C#)中使用 Antlr 设置工作需要做什么以及之后如何将 .g4 编译为 .cs。 我需要安装吗Antlr4 或 Antlr4.Runtime 或 Antlr4.Runtime. 标准?我需要从官方网站下载“antlr-4.8-complete.jar”文件吗?如果是这样,我应该如何处理它?总的来说,如你所见,我对此感到困惑。
我推荐这种方式——不是因为我写了软件——而是因为它很简单并且使用了最新版本的 Antlr:
- 安装 NET SDK(又名“dotnet.exe”)。
- dotnet new -i Antlr4BuildTasks.Templates
- dotnet new antlr
- dotnet 构建
- 网络运行
然后您可以在 .csproj 上打开 VS2019 或 VSCode。请参阅 Antlr4BuildTasks.Templates. It uses Antlr4BuildTask 进行构建。您不需要安装 Java 或 Antlr——它包含 Java JRE 和 Antlr 的副本。但是,您需要连接到 NuGet.org.
如果出于某种原因您需要在构建之外生成 .cs 文件,那么您可以从 shell:
中输入它
- java -jar ~/Downloads/antlr-4.8-complete.jar -Dlanguage=CSharp *.g4
注意,Antlr4.Runtime.Standard is the current Antlr runtime for C# as a netstandard1.3;net35
package. Antlr4.Runtime is Harwell's port of the entire Antlr Java code and runtime v4.6.6 to C#, and, as far as I know, it is not being maintained. There is a tool in that package that is the equivalent to the Java-based Antlr tool, so you can use that in a similar way. But, it is roughly 3 years behind the current release v4.8--soon to be v4.9。我写的Antlr4BuildTasks包是对Harwell包的修改,而是调用了基于Java的Antlr工具
在 VS2019 的 Antlr 编辑器中支持,VSCode,或者你有什么,语法或语义突出显示,goto refs,goto def 等,应该被认为与你的应用程序的构建分开. Harwell's extension is for VS2017. For VSCode, you have the choice of Mike's vscode-antlr or my LSP-based tool Antlrvsix-vscode. For VS2019, you can use my extension Antlrvsix,或少数不受支持且非常旧的扩展之一。或者,您可以跳过所有这些,直接将其编辑为文本。
我重新阅读了所有文档,但仍然不明白我到底需要做什么。 请逐步说明在 VS2019(对于 C#)中使用 Antlr 设置工作需要做什么以及之后如何将 .g4 编译为 .cs。 我需要安装吗Antlr4 或 Antlr4.Runtime 或 Antlr4.Runtime. 标准?我需要从官方网站下载“antlr-4.8-complete.jar”文件吗?如果是这样,我应该如何处理它?总的来说,如你所见,我对此感到困惑。
我推荐这种方式——不是因为我写了软件——而是因为它很简单并且使用了最新版本的 Antlr:
- 安装 NET SDK(又名“dotnet.exe”)。
- dotnet new -i Antlr4BuildTasks.Templates
- dotnet new antlr
- dotnet 构建
- 网络运行
然后您可以在 .csproj 上打开 VS2019 或 VSCode。请参阅 Antlr4BuildTasks.Templates. It uses Antlr4BuildTask 进行构建。您不需要安装 Java 或 Antlr——它包含 Java JRE 和 Antlr 的副本。但是,您需要连接到 NuGet.org.
如果出于某种原因您需要在构建之外生成 .cs 文件,那么您可以从 shell:
中输入它- java -jar ~/Downloads/antlr-4.8-complete.jar -Dlanguage=CSharp *.g4
注意,Antlr4.Runtime.Standard is the current Antlr runtime for C# as a netstandard1.3;net35
package. Antlr4.Runtime is Harwell's port of the entire Antlr Java code and runtime v4.6.6 to C#, and, as far as I know, it is not being maintained. There is a tool in that package that is the equivalent to the Java-based Antlr tool, so you can use that in a similar way. But, it is roughly 3 years behind the current release v4.8--soon to be v4.9。我写的Antlr4BuildTasks包是对Harwell包的修改,而是调用了基于Java的Antlr工具
在 VS2019 的 Antlr 编辑器中支持,VSCode,或者你有什么,语法或语义突出显示,goto refs,goto def 等,应该被认为与你的应用程序的构建分开. Harwell's extension is for VS2017. For VSCode, you have the choice of Mike's vscode-antlr or my LSP-based tool Antlrvsix-vscode. For VS2019, you can use my extension Antlrvsix,或少数不受支持且非常旧的扩展之一。或者,您可以跳过所有这些,直接将其编辑为文本。