基于PHP的LaTeX解析器 - 从哪里开始?

Ale*_*son 6 php parsing latex

该项目:我想在PHP中构建一个LaTeX-to-MathML转换器.为什么?因为我是一名数学家,我想在Drupal网站上发布数学.它不必翻译所有的LaTeX,因为基本的文档级资源由CMS很好地处理,并且不会在LaTeX中开始编写; 它只需将用LaTeX编写的数学翻译成用MathML编写的数学.虽然我觉得我已经完成了尽职调查,但这似乎并不存在.也许我错了 - 如果你知道一些能达到这个目的的东西,请务必告诉我,并提前感谢你.但假设它不存在,我想我必须自己去写.

但事情就是这样:我从未做过任何雄心勃勃的事情.我真的不知道从哪里开始.我已经使用PHP多年了,但只是做标准的"用PHP和MySQL构建CMS"类型的东西.我从来没有尝试过从一种语言到另一种语言的翻译看似复杂的东西.

我只是愚蠢地考虑用正则表达式来做 - 毕竟,LaTeX是一种更正式的语言,并且它不允许几乎所有类型的病态边缘情况,例如HTML.但另一方面,我很聪明地意识到这可能是一个可怕的想法:现在我有两个问题,我肯定不想像这个人那样结束.

那么,如果这不是要走的路(对吗?),那是什么?我该如何开始考虑这个问题?难道我基本上写在PHP一个LaTeX编译器,如果是这样,我该怎么需要知道做(比如,我应该只是去阅读紫金神龙书第一?)?

我对这个项目的前景感到非常兴奋和非常恐惧,但是,嘿,这就是我们都学习成为程序员的方式,对吧?如果我们需要的东西不存在,我们去构建它,必要性是......的主人.非常感谢大家提前为您提供的任何和所有指导.

Cam*_*Cam 0

好吧,这个答案一团糟。

这是一个清理后的版本:

由于正则表达式显然不适合翻译这种类型的事情,因此根据您的目标,您有两种选择:

  1. 您只是希望能够以一种或另一种方式在您的网站上显示 LATEX。
    • 如果这就是您想要的,那么有一个简单的解决方案适合您,这比拿起一本有关编译器理论的高级书籍更容易。要么通过某种方式在您的网站上包含乳胶,要么使用现有的翻译器,或者其他什么。

  2. 您热衷于学习编译器理论。
    • 如果是这种情况,我极力推荐 PDB。这是一本引人入胜的书,你会从中学到很多东西;学完前两章后,您将已经了解了足够的词法分析知识来完成这个项目。迄今为止我在教育资源上花的最好的钱!