gpt4 book ai didi

lexer - 向 scintilla/scite 添加一个新的词法分析器(...最终是 wxPython StyledTextCtrl)

转载 作者:行者123 更新时间:2023-12-03 20:52:34 26 4
gpt4 key购买 nike

有没有人成功地将词法分析器添加到 scintilla?

我一直在遵循 http://www.scintilla.org/SciTELexer.html 上的简短说明。 - 甚至在 http://www.scintilla.org/ScintillaDoc.html#BuildingScintilla 上发现了 secret 的额外说明(更改 Lexers 集)

一切都可以编译,我可以很好地将词法分析器添加到 SciTE,但是我的 ColouriseMapfileDoc 方法没有被调用(printf 不会产生输出)。如果我将相同的代码添加到例如ColouriseLuaDoc 词法分析器,一切都很好(printf 确实产生输出)。

特别是我有

  1. scintilla/include/Scintilla.iface 中,添加了 val SCLEX_MAPFILE=99
  2. 以及任何词法类 ID
  3. 在 scintilla/include 目录中运行 HFacer.py 并确认 SciLexer.h 文件已更改。
  4. 使用 ColouriseMapfileDoc 函数创建了 LexMapfile.cxx
  5. 在文件末尾将词法分析器 ID 和名称与函数相关联:

    LexerModule lmMapfile(SCLEX_MAPFILE, ColouriseMapfileDoc, "mapfile");

  6. 运行 LexGen.py 以生成所有 makefile(根据 secret 说明)

  7. 通过克隆 scite/src/others.properties 创建一个新的 SciTE 属性文件
  8. 设置一些样式
  9. scite/src/SciTEGlobal.properties中添加$(filter.conf)open.filter的定义中。
  10. 将此语言添加到 SciTE 的语言菜单中,
  11. 同时构建了 Scintilla 和 SciTE。
  12. 提示和诅咒。

除了第 12 步之外,我做错了什么?

最佳答案

如果将来有人读到这个问题 - 您还必须添加一行import yourformatSciTEGlobal.properties 中。这是未记录的步骤 9b。

关于lexer - 向 scintilla/scite 添加一个新的词法分析器(...最终是 wxPython StyledTextCtrl),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3297567/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com