首 页IT知识库收藏内容
当前位置:翔宇亭IT乐园IT知识库C#高级应用

使用MPLex实现语法高亮显示的功能

减小字体 增大字体 作者:佚名  来源:.NET教程网  发布时间:2010-01-28 07:48:00

没有研究过其它论坛之类的程序是如何实现语法高亮显示这个功能的,可能有的人是使用正则表达式。正则表达式当然很容易理解,关键字、注释和字符串等内容应该是需要不同的正则表达式,在做语法高亮显示的时候,每一个单词都进行使用关键字正则表达式进行匹配,最后全文进行注释和字符串模式匹配。

这里我介绍另外一种方式来实现语法高亮显示,在Visual Studio SDK里面,提供了一个工具叫做MPLexMPPG。是Visual Studio为集成新的编程语言,新集成进来的编程语言可以使用这两个工具实现语法高亮显示,和智能下拉框等功能。如果你有过LexYacc的使用经验的话,实际上MPLex就是LexC#版本,而MPPG就是Yacc对应的C#版本。前者是词法处理的工具,后者是语法处理的工具。

我们只用MPLex,因为语法高亮显示只涉及到词法处理,不需要考虑语法的问题当然啦,如果你要达到类似Visual Studio那样,类名都可以高亮的显示的效果,可以考虑实现语法处理和语义处理。

原理今天来不及写了,有兴趣请下载下面的代码编译执行就好了,可以直接在里面敲C#代码。由于我在处理即时输入的算法是每次只处理一行文本(大部分情况),所以在处理即时多行注释的时候有Bug点击下载此文件

微信搜索“优雅的代码”关注本站的公众号,或直接使用微信扫描下面二维码关注本站公众号,以获取最新内容。

个人成长离不开各位的关注,你的关注就是我继续前行的动力。

知识评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
愿您的精彩评论引起共鸣,带来思考和价值。
用户名: 查看更多评论
分 值:100分 90分 80分 70分 60分 40分 20分
内 容:
验证码:
关于本站 | 网站帮助 | 广告合作 | 网站声明 | 友情连接 | 网站地图
本站部分内容来自互联网,如有侵权,请来信告之,谢谢!
Copyright © 2007-2024 biye5u.com. All Rights Reserved.