是否有适用于Python的标准词法分析器/解析器工具?

Sal*_*ley 3 python compiler-construction parsing bnf tex

志愿者工作要求我们将大量LaTeX文档转换为ePub文件格式.这是一系列开源小说书,到目前为止,它只是通过按需印刷服务在纸上制作.我们希望能够向图书阅读器设备(例如Kindle)的用户提供这本书,这些设备需要ePub格式才能获得最佳效果.

幸运的是,ePub是一种非常简单的格式,但是LaTeX生成所需的XHTML输出并不是一件容易的事.

我们尝试了替代的LaTeX编译器(例如plastex),但最后我们认为简单编写我们自己的编译器可能会容易得多,该编译器理解LaTeX语言的一小部分并直接编译为XHTML/ePub.

以前我在Windows上使用了一个名为GOLD的工具.这允许我直接从BNF语法转到存根解析器.我也很高兴用我喜欢的任何语言实现解析器.(我选择Python).

这个产品必须在Linux上运行,所以我想知道是否有一个在Ubutnu/Eclipse/Python下运行良好的等效工具链.我们的想法是,我们将采用TeX的语法并实现其中的一小部分,但我们不想花费大量时间来担心语法和解析.解析器生成器显然会为我们节省大量时间.

萨尔


更新1:具有出色文档或教程的解决方案的奖励标记.


更新2:如果TeX的语法文件已经可用,则额外奖励,因为我所要做的就是实现我们关心的功能.

cod*_*ape 5

尝试pyparsing.

Se http://pyparsing.wikispaces.com/WhosUsingPyparsing,搜索TeX.有一个项目,其中使用pyparsing来解析该页面上提到的TeX语法的子集.

对于文档,我推荐pyparsing的作者使用"pyparsing入门"电子书.

编辑:根据PaulMcG,Pyparsing不再托管在wikispaces.com上.转到新的GitHub站点