开发者

How Is Syntax Highlighting Built?

I'm now building a developers editor using Lazarus and as every good developers editor, it n开发者_JAVA百科eeds to have a syntax highlighting, because of this that I want to know some things:

  • How is syntax highlight normally built(using many ifs to change the font on a TextField?
  • TSynEdit is very nice to do this?
  • How to use TSynEdit(links and resources)?


You can actually see an excellent example for yourself if you look at the editor for SharpDevelop. It's implemented in C# but uses great OOP that should be readily portable to other platforms or languages.

Most home-brewed syntax highlighters tend to use the MS Windows RichText control but they're usually slow and clunky and really slow down when a lot of code is added.


You could read the source code of Eclipse or VIM. In Eclipse you will find an Abstract Syntax Tree base. On top of it are parsers that are carefully written to be tolerant of errors, since code in progress often does not satisfy the full grammar of the language. The highlighting uses the information in the syntax tree.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜