在Visual-Studio中为lex和yacc提供语法高亮显示

3

我想在Visual Studio 2010中为lex和yacc文件添加语法高亮支持。如何做到这一点?

2个回答

0

点击以下链接进入语法着色,会跳转到另一个更相关的页面实现语法着色,其中提到:

Visual Studio没有指定解析器接口,解析器的实现完全取决于您。但是,在Visual Studio Language Package项目中提供了默认的解析器实现。对于托管代码,托管包框架(MPF)为文本上色提供了完全支持。

根据您的需求:

  • 如果只是简单地对lex/yacc文件中的C代码部分进行着色,则比较容易。
  • 如果需要对模式进行着色以便更好地理解它们,则要困难得多。

原则上,您可以仅使用lex来制作解析器(yacc并非必需)。对于yacc文件,这并不难,但对于lex,有正则表达式的复杂性。vi-like-emacs就是这样做的,虽然界面在细节上有所不同,但从概念上来说是类似的。阅读词法分析器可能会给您一些如何应用该方法的想法:


-1

微软有关于如何将yacc/bison和flex/lex与Visual Studio集成的文档。虽然在SO上只提供URL链接是不鼓励的,但最好还是去源头获取这种详细信息:

https://msdn.microsoft.com/en-us/library/aa730877(VS.80).aspx#vccustombr_topic3

它列出了与构建工具集成所需的所有步骤。语法高亮在其他地方已经涵盖,如Add a new language to Visual Studio 2010 with syntax highlighting and intellisense所述。特别是有关语法着色的指导可以在此处找到:https://msdn.microsoft.com/en-us/library/bb166778(v=vs.100).aspx

然而,我不知道是否有人发布了针对flex和yacc语法特定组件的额外着色规则。但是,flex和yacc文件的大部分正文都是用C或C++编写的,可以应用语法高亮规则,并适合大多数人的需求。


我已经仔细阅读了这篇文章,但没有关于如何突出显示 lex 和 yacc 代码的内容。 - wattele
@wattele:添加了更多关于语法着色的注释。希望这有所帮助。 - Brian Tompsett - 汤莱恩

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接