[BACK]Return to stackmachine.tex CVS log [TXT][DIR] Up to [local] / OpenXM / doc / OpenXM-specs

Diff for /OpenXM/doc/OpenXM-specs/stackmachine.tex between version 1.7 and 1.12

version 1.7, 2000/09/08 20:00:46 version 1.12, 2004/03/08 03:08:12
Line 1 
Line 1 
   %%  $OpenXM: OpenXM/doc/OpenXM-specs/stackmachine.tex,v 1.11 2003/08/23 08:42:35 takayama Exp $
 //&jp \section{ OX スタックマシン }  //&jp \section{ OX スタックマシン }
 //&eg \section{ OX stack machine }  //&eg \section{ OX stack machine }
 \label{sec:stackmachine}  \label{sec:stackmachine}
Line 471  Output: none.
Line 472  Output: none.
   
 \medbreak  \medbreak
 \noindent  \noindent
   
   //&C \subsubsection{ MathCap }  \label{subsubsection:mathcap}
   
 /*&jp  /*&jp
 {\bf 例}: \  {\bf 例}: \
 mathcap の問い合わせに対して, {\tt ox\_sm1} は次のように答える.  mathcap の問い合わせに対して, {\tt ox\_sm1} は次のように答える.
Line 490  Class.mathcap 
Line 494  Class.mathcap 
 \end{verbatim}  \end{verbatim}
   
 /*&jp  /*&jp
 mathcap は 3つの要素をもつリストである.  まづ, 最初の要素を見よう.  mathcap は 3つの要素をもつリストである.  まづ, 最初の要素(これもリスト)を見よう.
 最初の数字は OpenXM プロトコルのバージョンである.  リストの先頭の数字は OpenXM プロトコルのバージョンである.
 現在では 1.1.3 等のバージョンが 001001003 と数字にエンコードされて  
 ここに格納される.  
 Ox\_system は openXM システム名である.  読み込むライブラリがちがって  Ox\_system は openXM システム名である.  読み込むライブラリがちがって
 いて, 関数名(または シンボル)の意味がちがうときはこの名前もかえる. た  いて, 関数名(または シンボル)の意味がちがうときはこの名前もかえる. た
 とえば, open math の basic content dictionary 対応の関数定義マクロを読  とえば, open math の basic content dictionary 対応の関数定義マクロを読
Line 505  Ox\_system は openXM システム名である.  読み込むライブ
Line 507  Ox\_system は openXM システム名である.  読み込むライブ
 タのフォマットは(サイズ情報なしの) CMO であることを示す.  タのフォマットは(サイズ情報なしの) CMO であることを示す.
 */  */
 /*&eg  /*&eg
 A mathcap has three components. The first one contains informations  A mathcap has three components. The first one, which is also a list,
   contains informations
 to identify the version number of the OpenXM protocol,  to identify the version number of the OpenXM protocol,
 the system and hosts on which the application runs.  the system and hosts on which the application runs.
 In the above example, {\tt Ox\_system} denotes the system name.  In the above example, {\tt Ox\_system} denotes the system name.
Line 520  as mathematical data messages. In this case the subseq
Line 523  as mathematical data messages. In this case the subseq
 list represents available CMO tags.  list represents available CMO tags.
 */  */
   
   /*&C
   \noindent
   OpenXM/XML expression of the example above:
   \begin{verbatim}
     <cmo_mathcap>
        <cmo_list for="mathcap">
   
          <cmo_list>
             <int32 for="length"> 4 </int32>
             <cmo_int32 for="Protocol version">  001001003 </cmo_int32>
             <cmo_string for="system name"> Ox_system=ox_sm1.plain  </cmo_string>
             <cmo_string for="system version"> Version=2.990911  </cmo_string>
             <cmo_string for="hosttype"> HOSTTYPE=i386  </cmo_string>
          </cmo_list>
   
          <cmo_list for="Available SM tags">
             <int32 for="length"> 11 </int32>
             <cmo_int32> 262 </cmo_int32>
             <cmo_int32> 263 </cmo_int32>
              ...
          </cmo_list>
   
          <cmo_list for="Available OX_DATA tags">
             <int32 for="length"> 2 </int32>
             <cmo_list for="OX_DATA tag">
                <int32 for="length"> 1 </int32>
                <cmo_int32 comment="OX_DATA">  514 </cmo_int32>
             </cmo_list>
             <cmo_list for="Available CMO tags">
                <int32 for="length"> 21 </int32>
                <cmo_int32 comment="CMO_ERROR2">  2130706434 </cmo_int32>
                <cmo_int32 comment="CMO_NULL"> 1 </cmo_int32>
                 ....
             </cmo_list>
   
          </cmo_list>
        </cmo_list>
     </cmo_mathcap>
   \end{verbatim}
   */
   
 \medbreak  \medbreak
   
   //&jp \subsubsection{ 例 }
   //&eg \subsubsection{ Examples }
   
 \noindent  \noindent
 //&jp {\bf 例}: \  //&jp {\bf 例}: \
 //&eg {\bf Example}: \  //&eg {\bf Example}: \
Line 777  Output:  
Line 825  Output:  
 {\tt int32 OX\_DATA} &   {\it Serialized CMO} \\  {\tt int32 OX\_DATA} &   {\it Serialized CMO} \\
 \hline  \hline
 \end{tabular}  \end{tabular}
   
   
   \item
   \begin{verbatim}
   SM_executeFunctionWithOptionalArgument
   \end{verbatim}
   /*&jp
   スタックより {\it n} 個のデータおよび一つの optional 引数 {\it opt} を pop して,
   サーバのローカル関数{\it s} を実行する.  エラーのときのみ {\tt CMO\_ERROR2} を stack へ push す
   る.
   {\it opt} はキーワードと値のリストのリストである. キーワードは文字列型である.
   */
   /*&eg
   It requests a server to pop {\it s} as a function name,
   to pop an optional argument {\it opt},
   to pop {\it n} as the number of arguments and to execute
   a local function {\it s} with {\it n} arguments popped from
   the stack.
   If an error has occurred {\tt CMO\_ERROR2} is pushed to the stack.
   {\it opt} is a list of lists of a keyword and a value.
   Keywords are strings.
   */
   
   //&jp Stack before the request: \\
   //&eg Stack before the request: \\
   \begin{tabular}{|c|c|c|c|c|c|}  \hline
   {\it objn} & $\cdots$ & {\it obj1} & {\it INT32 n} & {\it Obj opt} & {\it String s} \\
   \hline
   \end{tabular}
   
   Request:
   \begin{tabular}{|c|c|}  \hline
   {\tt int32 OX\_COMMAND} & {\tt int32 SM\_executeFunctionWithOptionalArgument}  \\
   \hline
   \end{tabular}
   
   //&jp Stack after the request: 関数実行の結果.
   //&eg Stack after the request: The Output of the execution.
   
   Output: none.
   
   \noindent
   Example of {\it opt} : \verb@ (("p", 13),("vars",("x","y")))@
   
   \noindent
   [Added in 2004-3-8]
   
 \end{enumerate}  \end{enumerate}
   

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.12

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>