=================================================================== RCS file: /home/cvs/OpenXM/src/ox_math/documents/ox_math.tex,v retrieving revision 1.5 retrieving revision 1.7 diff -u -p -r1.5 -r1.7 --- OpenXM/src/ox_math/documents/ox_math.tex 2000/01/20 15:09:24 1.5 +++ OpenXM/src/ox_math/documents/ox_math.tex 2002/04/17 01:09:23 1.7 @@ -1,5 +1,5 @@ %#!platex -%% $OpenXM: OpenXM/src/ox_math/documents/ox_math.tex,v 1.4 1999/11/29 12:05:15 ohara Exp $ +%% $OpenXM: OpenXM/src/ox_math/documents/ox_math.tex,v 1.6 2000/01/20 15:18:31 ohara Exp $ \documentclass{jarticle} \title{Mathematica の Open XM 化について @@ -13,8 +13,34 @@ \begin{document} \maketitle -\section{Open Mathematicaの構成} +\noindent +{\bf +注意 (2002.04.17): +この文書は, 古いインタフェースをもとに記述してあるので, +例はこのままでは動作しないので注意. +math2ox.texi が最新のインタフェースのマニュアルである. +一番の変更点は, {\tt OxStart} が pid (ox process id) を戻すようになり, +{\tt OxParse} など多くの関数が, pid を引数として求めるようになったことで +ある. +たとえば, この文書の {\tt OxParse} を用いる例は, 次のように変更しないと +いけない.} +\begin{verbatim} +Install["math2ox"] +pid = OxStart["ox_sm1"] +OxParse[pid,"(CMO_ZERO)"] +OxPopCMO[pid] +\end{verbatim} + +\section{我々が提供するもの} + +我々が提供するのは二つのプログラムとそのソースである。一つ目は +{\tt ox\_math} プログラムであり、これは OpenXM サーバの一種である。二つ +目は {\tt math2ox} であり、OpenXM クライアントである。 + + +\section{Open Mathematica サーバの構成} + Open Mathmatica サーバはOpen XM クライアントおよびmathematica カーネルと 通信する。Open Mathmatica サーバは起動直後にmathematica カーネルを起動し、 mathematica カーネルと協調して動作する。mathematica カーネルとは @@ -126,18 +152,19 @@ Mathematica から受け取ったデータは基本的に CMO\_STRING まだ、実装していないが、多項式(CMO\_???\_PORINOMIAL)の扱いが難しい。 \section{個々のスタックマシン命令の実装} -現在、実装しているのは + +現在、実装されているのは SM\_popCMO, SM\_popString, SM\_pops, SM\_executeFunction, SM\_executeStringByLocalParser, SM\_mathcap, SM\_setMathcap(受け取るだけ で何もしない)である。 \section{Mathematica を OX のクライアントに} -OpenXM クライアントは Mathematica の外部プログラム({\tt math2ox}) -の形で実現されている。 -すなわち、Mathematica -- math2ox の間は MathLink プロトコルで、 -math2ox -- OpenXM サーバの間は OpenXM プロトコルで通信し、 -math2ox が適切に情報を変換しながらやりとりする。 -その意味で wrapper の一種であるとも言える。 + +OpenXM クライアントは Mathematica の外部プログラム({\tt math2ox}) の形で +実現されている。すなわち、Mathematica と math2ox の間は MathLink プロト +コルで、math2ox と OpenXM サーバの間は OpenXM プロトコルで通信し、 +math2ox が適切に情報を変換しながらやりとりする。その意味で wrapper の一 +種であるとも言える。 利用するには、最初に \begin{verbatim}