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

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

搜索更多相关主题的帖子: Advanced google 
2008-07-08 10:04
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.421326 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved