我想在Visual Studio 2010中为lex和yacc文件添加语法高亮支持。如何做到这一点?
我想在Visual Studio 2010中为lex和yacc文件添加语法高亮支持。如何做到这一点?
点击以下链接进入语法着色,会跳转到另一个更相关的页面实现语法着色,其中提到:
Visual Studio没有指定解析器接口,解析器的实现完全取决于您。但是,在Visual Studio Language Package项目中提供了默认的解析器实现。对于托管代码,托管包框架(MPF)为文本上色提供了完全支持。
根据您的需求:
原则上,您可以仅使用lex来制作解析器(yacc并非必需)。对于yacc文件,这并不难,但对于lex,有正则表达式的复杂性。vi-like-emacs就是这样做的,虽然界面在细节上有所不同,但从概念上来说是类似的。阅读词法分析器可能会给您一些如何应用该方法的想法:
微软有关于如何将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++编写的,可以应用语法高亮规则,并适合大多数人的需求。