我有一个定义 DSL(领域特定语言)的 ANTLR 语法。这个语法比较简单。它正在解析语言并输出 C 代码以创建一个非常基本的翻译器。
这种语言旨在用于 C# 应用程序(键入某种控件,无论是 RichTextBox 还是自定义控件),其中一个要求是为这种语言突出显示语法。我搜索了 Internet,希望找到有关如何完成此操作的某种信息,或者找到一种工具来使我自己更轻松地完成此操作。
在没有找到太多信息之后,我最好的假设是我需要使用 ANTLR 生成的词法分析器来查看标记并相应地为它们着色。这是正确的操作路径,还是有其他方法/工具可以为自定义域特定语言提供语法突出显示?如果这是正确的方法,我该如何识别特定的标记?
如果我遗漏了任何重要信息,请追问!谢谢!
最佳答案
我成功使用了AvalonEdit对于我的一个类似项目。我刚刚创建了一个带有正确语法高亮显示的小型编辑器。
在您的项目中启动和运行它非常简单快捷。您只需为它提供一个简单的 XML 文件来记录您的 DSL 语法,您将拥有一个开箱即用的彩色输出作为 WPF 控件。
看起来他们在我使用它之后添加了完成设施,虽然我没有这方面的经验,但我怀疑如果质量与着色相同,它也做得很好。
关于c# - Visual Studio 中的 ANTLR 语法高亮 DSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13883732/