Python 中的词法分析、标记化和解析资源

2024-02-05

人们可以向我指出有关使用 Python 进行词法分析、解析和标记化的资源吗?

我正在对一个开源项目进行一些黑客攻击(hotwire http://www.hotwire-shell.org/)并想对代码进行一些更改lexes http://code.google.com/p/hotwire-shell/source/browse/trunk/hotwire/externals/shlex.py, 解析和标记化 http://code.google.com/p/hotwire-shell/source/browse/trunk/hotwire/command.py命令输入其中。由于它是真正的工作代码,因此相当复杂并且有点难以计算。

我之前没有研究过 lex/parse/tokenise 的代码,所以我认为一种方法是完成一两个关于这方面的教程。我希望学到足够的知识来浏览我真正想要更改的代码。那里有什么合适的吗? (理想情况下可以在一个下午完成,而不必先购买并阅读龙书......)

Edit:(2008 年 10 月 7 日) 以下答案都没有完全给出我想要的。有了它们,我可以从头开始生成解析器,但我想学习如何从头开始编写我自己的基本解析器,而不是使用 lex 和 yacc 或类似工具。完成此操作后,我可以更好地理解现有代码。

那么有人可以给我指一个教程,让我可以只使用 python 从头开始​​构建一个基本的解析器吗?


我是一个快乐的用户PLY http://www.dabeaz.com/ply/。它是 Lex 和 Yacc 的纯 Python 实现,具有许多小细节,使其非常 Pythonic 且易于使用。由于 Lex 和 Yacc 是最流行的词法分析工具,并且被用于大多数项目,因此 PLY 具有站在巨人肩膀上的优势。 Lex & Yacc 上有很多在线知识,您可以自由地将其应用到 PLY 中。

PLY也有不错的文档页 http://www.dabeaz.com/ply/ply.html一些简单的例子可以帮助您入门。

有关大量 Python 解析工具的列表,请参阅this http://nedbatchelder.com/text/python-parsers.html.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 中的词法分析、标记化和解析资源 的相关文章

随机推荐