我正在尝试构建可以为传统数学输入生成MathML的代码。我正在使用JavaScript进行编码。是否有任何参考或推荐的读数我可以通过掌握所需的算法?我正在阅读MathML的W3C标准,它是标准的参考,但不是算法的参考。
对于Instance,输入
的示例sqrt 9 * 5 + 20
我想生成如下所示的MathML表达式
<math xmlns='w3.org/1998/Math/MathML'>; <mrow> <mrow> <mn>5</mn> <mo>⁢</mo> <mn>9</mn> <mo>⁢</mo> <mi>SQRT</mi> </mrow> <mo>+</mo> <mn>20</mn> </mrow> </math>
答案 0 :(得分:1)
我在这里找到了一个很好的MathML教程:http://rypress.com/tutorials/mathml/basic-algebra.html并开始研究一个非常基本的代数解析器(例如,4*sqrt(x+6)=(5-z)*y/7
),其中包含用于处理括号的粗略堆栈和示例{{1功能。这是你追求的方向吗?
jsfiddle here:http://jsfiddle.net/alhambra1/bSJyE/
JavaScript代码:
sqrt