题
是有一个建立分析器可以使用从C#这可以解析数表达式?
我知道,我可以使用的核心本身的分析表达,并使用。NET/链接检索的结构树...但是我在寻找的东西,不依赖的核心。
解决方案
我的 matheclipse-parser模块在Java中实现了一个解析器,它可以解析一个很大的子集mathematica表达式。有关用法,请参阅readme.md页面。也许你可以将解析器移植到C#?
其他提示
我根据Wolfram Research的合同在300行OCaml代码中编写了一个Mathematica解析器,发现它非常简单,因为语法是在他们的文献中清楚地记录了,并且通过与Mathematica本身一起玩很容易找到任何含糊之处。
Mathematica法是不好的记录,真的。但据我所知,这是 LALR(1)和可能LL(1);方括号内的案/标记语法提供分析程序完成的线索 关于什么的期待下一个,就像口齿不清和XML。
的 DMS软件的再设计工具包 不会有一个数学语法,已经使用的现实的任务。这包括MMa的程序以及纯粹的表达形式。
这可能不会帮助你,因为你想要一个。
如果可以访问的内核,我会坚持到底。
我认为这种事情不存在(我很想知道)。但是在Mathematica中你可以将函数 FullForm
应用于任何表达式并获得一些非常容易解析的东西,有点像Lisp中的s表达式。例如,
FullForm[a+b*c]
产量
Plus[a, Times[b,c]]
这是所有Mathematica表达式的基础表示,应该直接解析。
不隶属于 StackOverflow