11

Mathematica 式を解析できる C# から使用できる組み込みのパーサーはありますか?

カーネル自体を使用して式を解析し、.NET/Link を使用してツリー構造を取得できることを知っています...しかし、カーネルに依存しないものを探しています。

4

3 に答える 3

1

確かに、Mathematica の文法は十分に文書化されていません。しかし、知る限り、それは LALR(1) であり、おそらく LL(1) です。かっこで囲まれた /tagged 構文 from は、パーサーに、LISP や XML と同様に、次に何を期待するかについての完全な手がかりを与えます。

DMS Software Reengineering Toolkitには、実際のタスクで使用されてきた Mathematica 文法があります。これには、MMa プログラムと純粋な表現形式が含まれます。

C# で必要なので、おそらく役に立たないでしょう。

カーネルにアクセスできる場合は、それに固執します。

于 2009-10-26T08:10:04.517 に答える
0

そのようなものはまだ存在しないと思います(知りたいです)。しかし、Mathematica 内で関数FullFormを任意の式に適用して、Lisp の s 式のような非常に簡単に解析できるものを取得できると便利です。例えば、

FullForm[a+b*c]

収量

Plus[a, Times[b,c]]

これはすべての Mathematica 式の根底にある表現であり、簡単に解析できるはずです。

于 2009-10-22T17:50:21.190 に答える