代码之家  ›  专栏  ›  技术社区  ›  Salim Fadhley

python有标准的lexer/parser工具吗?[关闭]

  •  3
  • Salim Fadhley  · 技术社区  · 15 年前

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

    幸运的是,epub是一种非常简单的格式,但是对于latex来说,没有任何简单的方法可以生成所需的xhtml输出。

    我们尝试了替代的LaTex编译器(例如Plastex),但最后我们发现,简单地编写自己的编译器可能要容易得多,它可以理解LaTex语言的一小部分,并直接编译到XHTML/ePub。

    以前我在窗户上用过一种叫做黄金的工具。这允许我直接从bnf语法转到存根解析器。它还使我能够用我喜欢的任何语言实现解析器。(我会选择python)。

    这个产品必须在linux上工作,所以我想知道是否有一个等效的工具链在ubutnu/eclipse/python下也能工作。我们的想法是采用tex的语法,只实现其中的一小部分,但我们不想花费大量时间担心语法和语法分析。一个解析器生成器显然可以节省我们大量的时间。

    萨尔


    更新1:优秀文档或教程的解决方案的奖励分数。


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

    3 回复  |  直到 6 年前
        1
  •  5
  •   Yvon    6 年前

    尝试 pyparsing .

    http://pyparsing.wikispaces.com/WhosUsingPyparsing ,搜索tex。有一个项目使用pyparsing解析该页上提到的tex语法的子集。

    对于文档,我建议 "Getting started with pyparsing" PyParsing的作者写的电子书。

    编辑:根据 PaulMcG ,pyparsing不再托管在wikispaces.com上。去新的 GitHub site

        2
  •  3
  •   Marcelo Cantos    15 年前

    尝试 PLY .

        3
  •  3
  •   Boldewyn    15 年前

    我曾经用过 tex4ht 将乳胶转换为xhtml+mathml。干得不错。从那时起,您可以使用输出html作为epub的基础。

    当然,这会破坏python工具链,所以它可能不会成为您最喜欢的方法…