如何构建语法突出显示?

时间:2010-01-08 22:18:32

标签: syntax editor syntax-highlighting lazarus

我现在正在使用Lazarus构建开发人员编辑器,并且作为每个优秀的开发人员编辑器,它需要有一个语法突出显示,因为这样我想知道一些事情:

  • 如何正常构建语法高亮显示(使用许多if来更改TextField上的字体?
  • TSynEdit这样做很好吗?
  • 如何使用TSynEdit(链接和资源)?

2 个答案:

答案 0 :(得分:3)

如果你看一下editor for SharpDevelop,你实际上可以看到一个很好的例子。它是用C#实现的,但使用了很好的OOP,可以随时移植到其他平台或语言中。

大多数家庭酿造的语法高亮显示器倾向于使用MS Windows RichText控件,但是当添加大量代码时,它们通常很慢且笨重并且确实变慢。

答案 1 :(得分:3)

您可以阅读Eclipse或VIM的源代码。在Eclipse中,您将找到一个抽象语法树基础。最重要的是经过精心编写以容错的解析器,因为正在进行的代码通常不满足语言的完整语法。突出显示使用语法树中的信息。