代码之家  ›  专栏  ›  技术社区  ›  pokstad

Python编程语言的词汇分析

  •  7
  • pokstad  · 技术社区  · 16 年前

    有人知道Python的flex或lex规范文件在哪里吗?例如,这是一个用于ANSI C编程语言的LEX规范: http://www.quut.com/c/ANSI-C-grammar-l-1998.html

    仅供参考,我正在尝试将代码突出显示写入Cocoa应用程序。Regex不会这样做,因为我还希望语法分析能够折叠代码并识别块。

    3 回复  |  直到 8 年前
        1
  •  6
  •   Laurence Gonsalves    8 年前

    lex通常只用于标记化,而不是完全解析。使用flex/lex进行标记化的项目通常使用yacc/bison进行实际的解析。

    你可能想看看 ANTLR 更“现代”的雷克萨斯&yacc替代品。

    Antlr项目 a Github repo containing many ANTLR 4 grammars 至少包括 one for Python 3 .

        2
  •  3
  •   ephemient    16 年前

    grammar.txt 是正式的、完整的python语法——不是直接的 lex 兼容,但你应该能够把它按摩成合适的形式。

        3
  •  0
  •   Ned Deily    16 年前

    你考虑过使用现有的代码荧光笔吗? Pygments ?