标题:【Advanced】关于语法加亮
只看楼主
xred
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-7-8
 问题点数:0 回复次数:3 
【Advanced】关于语法加亮
通过google进入到贵论坛,发现有个飞燕语法加亮,不过碍于密码没看到源代码,不过看到了源代码的大小,只有9K,基本可以断定该程序不具有扩展的能力,至于能否解释子语言不得而知。不知道原作者和贵论坛的其它的高手有没有深入考虑该问题,并且深入考虑其中的效率和扩展性。
我也来秀一下,这是我写的一个test,不过还是不满意。期待大家的积极讨论,我是做编辑器的,这是我的Blog, http://www.。出于方便,这个test是用c#写的,目前每秒可以解释20万左右个语法单位,如果去除掉io的部分,则可以达到40万个语法单位。改成c++,也基本上在这个水平。只是在扩展性上还有待进一步改善。

希望大家能积极讨论,发表自己的见解。

搜索更多相关主题的帖子: Advanced google 
2008-07-08 10:04
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
得分:0 
飞燕只是写着玩。编辑器以后有时间准备做,现在太忙……

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-07-08 10:57
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
得分:0 
解释子语言不重要,关键在于子语言是否设计高效。现在VIM类直接输入子语言的编辑器不会很流行的,子语言主要用在撤销/重复/宏这三个功能上面。这些功能其实都可有可无,如果做编辑器,第一个实现的就是外挂功能。分命令行式exe外挂(用来支持编译器和格式调整器),和DLL外挂(语言支持,比如自定义缩进,语法高亮等等)。其余的不是很考虑。我觉得编辑器只要能完成你想要的功能(编辑代码)就完全够了,功能太多,太全面只能增加其使用的难度。

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-07-08 11:00
xred
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-7-8
得分:0 
你误会我的意思了,我说的子语言的概念是,c++或者c中可以嵌入汇编,htm中可以嵌入css,asp,php,js,被嵌入的子语言叫子语言。
程序员用的编辑器一个很重要的功能,就是提供的渲染语法的引擎是否够好,就是你在屏幕上看到的花花绿绿的代码。外挂不是核心功能,暂时忽略,我的外挂是通过lua来实现的,不需要编译。其它的功能比如代码的注释,缩进,也是通过lua来实现的。对于编辑器而言,这些都不是核心,核心的东西是文档的管理,高速自动换行,和语法渲染。
现在我们讨论的是语法渲染。
对于渲染而言,最难的是如何区分子语言,并且套用不同的schema,绝对不可用正则,我试过了,非常的慢。在区分完之后,用正则进行匹配则是可以的。
2008-07-08 11:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-223039-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.130375 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved