自定义 C++ 闪烁词法分析器
Posted
技术标签:
【中文标题】自定义 C++ 闪烁词法分析器【英文标题】:Customize the C++ scintilla lexer 【发布时间】:2010-11-07 18:10:58 【问题描述】:我在哪里可以告诉 scintilla 识别不同的关键字集?我想给它们涂上不同的颜色,就像 notepad++ 一样。
【问题讨论】:
查看 Notepad++ 源代码。它使用 Scintilla。 【参考方案1】:使用SCI_SETKEYWORDS
【讨论】:
如何使用 SCI_SETKEYWORDS 的示例存在于:scintilla/cocoa/ScintillaTest/AppController.mm 你很好,但我只是在做 C++。【参考方案2】:好吧,闪烁行为是相当硬编码的,因此调整词法分析器非常微妙。我放弃了使用 Qscintilla 或 scintilla,转而使用 TextAdept,它使用 LUA 来构建词法分析器。
mac 版本似乎有一些速度问题,但我想当它作为便携式 .app 出现时它会被修复(或不修复)(让我们祈祷)。
无论如何,我很遗憾我没能像我想要的那样制作一个好的 C++ 编辑器,似乎我想要现有库可以提供的太多功能但需要一些工作,而我没有时间为了。我对 scintilla 感到非常失望,它是一个很好的库,但代码看起来有点臃肿,我想做一个与语言无关的词法分析器和子类似乎是一个更好的主意,但我不会尝试重新设计已经已经完成了。
【讨论】:
以上是关于自定义 C++ 闪烁词法分析器的主要内容,如果未能解决你的问题,请参考以下文章