如何为TEX创建解析器?

Aka*_*ava 4 c# parsing tex

我正在寻找开发一个TEX解析器,现在的问题是没有Context Free Grammar而且不可能有一个,因为它不是上下文自由语言,我听说它是​​某种宏语言,并且建立在它自己的基础之上.

所以现在我需要指明这种宏语言有什么样的语法,以及如何在c#中构建任何东西.

我将编写标记器和解析器,但我需要TEX中的一些宏规则很难找到,其他地方都有关于如何使用TEX宏的文档.

Mar*_*age 7

TeX作为一种编程语言可能是有史以来创建的最复杂(非深奥)的语言,其中包含大量的"保留字".您可以重新映射处理器读取的每个字符的含义,并且通常会在解析语言时执行您通常不会遇到的事情.

如果您真的想要创建自己的TeX解析器,则必须在原始TeX上构建.源代码不仅可用,而且使用Knuth巧妙的WEB工具编写为有文化的程序.

更复杂的是,您总是使用带有TeX的宏包.默认包是Plain,最着名的是LaTeX.宏包中包含一些非常重要的代码,您必须合并这些代码才能解析要解析的TeX的特定"方言".