gpt4 book ai didi

c# - Antlr4 C# 应用程序教程/示例

转载 作者:可可西里 更新时间:2023-11-01 03:13:30 27 4
gpt4 key购买 nike

我想使用 Antlr4 来解析我的 C# 应用程序中的一些文件。到目前为止,我已经能够根据我的语法生成解析器和词法分析器文件。现在我想在文件中使用读取并将解析器和词法分析器应用于它们。我一直在寻找有关如何做到这一点的文档,但我做空了。我发现了一些使用以前版本的 Antlr 的旧示例,但它们似乎不适用于 Antlr4。任何帮助,将不胜感激。谢谢。

最佳答案

  • 在 Visual Studio 中,转到“工具”->“扩展和更新”,然后在“在线”部分搜索 Sam Harwell 的“ANTLR 语言支持”。更多信息可以在 GitHub project site 上找到
    • 这会做几件事:
      • 为组合语法添加模板。
      • 添加语法高亮
      • 为语法添加 MSBuild 目标以生成解析器。
  • 在您的解决方案中,像这样设置您的项目结构:
    • 解决方案
      • 语法项目
        • 计算器.g4
      • 实现项目
        • GeneratedFiles(此文件夹中的所有文件都作为链接添加到位于 GrammarProject\obj\Debug 中的文件)
          • 计算器基础监听器.cs
          • CalculatorBaseVisitor.cs
          • 计算器Lexer.cs
          • 计算器监听器.cs
          • 计算器解析器.cs
          • CalculatorVistor.cs
        • MyCalcualtorImplementation.cs
  • 编写并编译你的语法。
  • 在生成文件链接的文件夹中,右键单击该文件夹,然后单击“添加”->“现有项目”
  • 浏览到 Grammar Project\obj\Debug 并选择所有生成的解析器文件。
  • 下一步很重要。在添加按钮上有一个小的下拉箭头。单击下拉箭头,然后单击“添加为链接”。
    • 这将使用符号链接(symbolic link)而不是直接复制将生成的文件添加到实现项目。
    • 这带来的额外好处是,如果您以后必须更改语法,则不必删除并重新添加解析器文件。
  • 完成这一步后,您就可以继承 GrammarProject.CalculatorBaseListener 或 GrammarProject.CalculatorBaseParser,具体取决于您决定使用的开发模式。

作为旁注,"The Definitive ANTLR 4 Reference" Terence Parr 的著作是了解 ANTLR4 工作原理和不同开发模式的绝佳资源。所有示例均使用 Java,但概念适用于 Java 和 C#。

关于c# - Antlr4 C# 应用程序教程/示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19327831/

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