LaTeX to" freeform"变流器

时间:2011-01-31 12:02:48

标签: parsing latex

我想开发一种转换器,它接受以“自由形式”或类似Wolfram Alpha所接受的数学方式编写的数学。例如:2*x+(7+y)/(z^2)将转换为2\cdot x+\frac{7+y}{z^{2}}(请忽略我在此处可能出现的任何语法错误),反之亦然。我想知道是否存在用于C ++ / Java的LaTeX库,它在内存中解析和/或保存LaTeX表达式。如果是,请分享。

如果没有,你会怎么写这样的东西?是否可以使用普通的Java / C ++代码,或者我应该使用像lex这样的东西吗?

1 个答案:

答案 0 :(得分:0)

是的,在Flex / Bison中为'freeform'编写解析器是绝对可以的,实际上我建议不要使用TeX,因为该语言不是为解析而编写的。我甚至还记得曾经使用Flex和Bison以及Kimwitu++完成了(自由形式的LaTeX)练习,它允许在输出之前执行任意转换。请注意,您删除了原始公式的括号。在一般情况下,这可能不是你想要的。

反过来说,评论已经提到在一般情况下几乎不可能做到。对于受限制的案例,Bison已经足够好了。