c# - Visual Studio 中的 ANTLR 语法高亮 DSL

标签 c# visual-studio antlr syntax-highlighting dsl

我有一个定义 DSL(领域特定语言)的 ANTLR 语法。这个语法比较简单。它正在解析语言并输出 C 代码以创建一个非常基本的翻译器。

这种语言旨在用于 C# 应用程序(键入某种控件,无论是 RichTextBox 还是自定义控件),其中一个要求是为这种语言突出显示语法。我搜索了 Internet,希望找到有关如何完成此操作的某种信息,或者找到一种工具来使我自己更轻松地完成此操作。

在没有找到太多信息之后,我最好的假设是我需要使用 ANTLR 生成的词法分析器来查看标记并相应地为它们着色。这是正确的操作路径,还是有其他方法/工具可以为自定义域特定语言提供语法突出显示?如果这是正确的方法,我该如何识别特定的标记?

如果我遗漏了任何重要信息,请追问!谢谢!

最佳答案

我成功使用了AvalonEdit对于我的一个类似项目。我刚刚创建了一个带有正确语法高亮显示的小型编辑器。

在您的项目中启动和运行它非常简单快捷。您只需为它提供一个简单的 XML 文件来记录您的 DSL 语法,您将拥有一个开箱即用的彩色输出作为 WPF 控件。

看起来他们在我使用它之后添加了完成设施,虽然我没有这方面的经验,但我怀疑如果质量与着色相同,它也做得很好。

关于c# - Visual Studio 中的 ANTLR 语法高亮 DSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13883732/

相关文章:

c# - 如何更改 wpf 中的应用程序文化?

c# - 如何获取 System.Threading.Timer 周期

sql-server - Visual Studio 2015 中的 Localdb 错误 52 (SQL Server)

visual-studio - 在 Visual Studio 或 ReSharper 中提取局部变量的快捷方式(对于 C#)

c# - System.Guid 到 _GUID?

c# - 如何将鼠标悬停在一个分区上的鼠标指针更改为手?

visual-studio - 在 Visual Studio 中添加和删除文件 - 编译错误

java - 分析方法内部的变量。 JavaParser/ANTLR 或其他?

antlr - antlr4语法中 "~"运算符的意义

exception - ANTLR v3 NoViableAltException 没有出现