确保您使用的是 ANTLR 的 C# 运行时,可以在 github 上找到它:
https://github.com/tunnelvisionlabs/antlr4cs
该链接上的自述文件包含大量有关安装运行时的信息。在为您提供分步列表时,我将多次参考此自述文件。
我假设您使用的是 Windows。您目前无法使用 Mac 为 C# 编译 ANTLR4 解析器。
1) 安装 Visual Studio Community(如果您还没有安装的话)并确保在安装时安装:
- 核心 Visual Studio 编辑器(默认)
- .NET 桌面开发(在工作负载下)
- NuGet 包管理器(在单个组件 -> 代码工具下)
2) 创建一个新项目。
- 选择 Windows 经典桌面
- 选择一个 .NET Framework 应用程序
- 创建项目后,右键单击项目名称并选择属性并记下您的 .NET Framework 版本(我的是 4.6.1)
3) 使用 NuGet 安装 ANTLR4。安装最新的稳定版 ANTLR4(我的是 4.6.4)
- 右键单击解决方案资源管理器窗口中的顶级解决方案节点,然后选择管理解决方案的 NuGet 包...
- 选择浏览并在搜索框中输入 Antlr4
- 在搜索结果中会有几个选项。点击名字正好是 Antlr4 的那个
- 在右侧窗格中,选择要成为最新稳定版本 (4.6.4) 的版本,然后单击安装
4) 通过单击 Project -> Add Existing Item... 并导航到您的 .g4 文件,将您的语法文件 (.g4) 添加到您的项目中。
5) 来自上面发布的链接的 github 自述文件:
如果您安装了 ANTLR 语言支持扩展,此步骤将自动执行。 否则,您需要在解决方案资源管理器中右键单击语法文件并选择属性。在属性窗口中,配置以下项目。
- 构建操作:Antlr4(如果 Antlr4 未作为选项出现在下拉列表中,请重新启动 Visual Studio,然后重试)
- 自定义工具:MSBuild:Compile
- 自定义工具命名空间:您希望生成的类所在的命名空间的完整名称
6) 重启 Visual Studio 并重新加载项目
7) 选择构建 -> 构建解决方案
8) 在 ~/repos/projectName/projectName/obj/Debug 中查找生成的文件
- 将 *.tokens 和 *.cs 复制到新文件夹
- 还将 repos/projectName/projectName/Properties/AssemblyInfo.cs 复制到该新文件夹中
- 打开 AssemblyInfo.cs 并添加“使用系统;”行在顶部和底部的行“[assembly: CLSCompliant(false)]”
9) 移动到 Unity 并导入您在上一步中创建的文件夹。
10) 打开你安装Antlr4的目录,找到子目录Antlr4.Runtime.4.6.4/lib(你可能需要用你的ANTLR4版本替换4.6.4),然后选择对应的文件夹步骤 2 中使用的 .NET 版本(在我的情况下最接近的是 net4.5)。将 Antlr4.Runtime.dll 从该子目录拖到您的 Unity 项目中。
你应该很高兴在 Unity 中使用 ANTLR4。