[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.10 and 1.13

version 1.10, 2000/09/11 17:37:28 version 1.13, 2016/08/22 09:08:50
Line 1 
Line 1 
 %%  $OpenXM: OpenXM/doc/OpenXM-specs/stackmachine.tex,v 1.9 2000/09/09 21:59:13 takayama Exp $  %%  $OpenXM: OpenXM/doc/OpenXM-specs/stackmachine.tex,v 1.12 2004/03/08 03:08:12 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 494  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 507  Ox\_system は openXM システム名である.  読み込むライブ
Line 505  Ox\_system は openXM システム名である.  読み込むライブ
 は, 処理可能な数学データの形式, およびCMOの場合なら処理可能なCMOのタグ  は, 処理可能な数学データの形式, およびCMOの場合なら処理可能なCMOのタグ
 のリストが続く.  上の例では, 514 は {\tt OX\_DATA} をあらわし, 数学デー  のリストが続く.  上の例では, 514 は {\tt OX\_DATA} をあらわし, 数学デー
 タのフォマットは(サイズ情報なしの) CMO であることを示す.  タのフォマットは(サイズ情報なしの) CMO であることを示す.
   四番目のリストは optinal で, CMO string のリストである.
   文字列は option名, または option名=値, なる形式で与える.
   option 名は英数字およびアンダーバーで記述. = 以下は utf-8 文字コードを利用してよい.
 */  */
 /*&eg  /*&eg
 A mathcap has three components. The first one contains informations  A mathcap has three or more than 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 522  Again in the above example, 514 is the value of {\tt O
Line 525  Again in the above example, 514 is the value of {\tt O
 and it indicates that the server accepts CMO (without size information)  and it indicates that the server accepts CMO (without size information)
 as mathematical data messages. In this case the subsequent  as mathematical data messages. In this case the subsequent
 list represents available CMO tags.  list represents available CMO tags.
   The fourth list is optinal.
   This is a list of cmo strings.
   Each string has the formats ``an option name'' or ``an optionname=value''.
   The option name must consists only of alphabets, numbers, and under bars.
   The symbol = may be followed by a string in the utf-8 character codes.
 */  */
   
 /*&C  /*&C
Line 565  OpenXM/XML expression of the example above:
Line 573  OpenXM/XML expression of the example above:
 \end{verbatim}  \end{verbatim}
 */  */
   
   /*&C
   \noindent
   Example of the use of the fourth argument (optional parameter).
   \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 for="optional info">
             <int32 for="length"> 2 </int32>
             <cmo_string> no_ox_reset </cmo_string>
             <cmo_string> opt_sample=Hello world. </cmo_string>
          </cmo_list>
   
        </cmo_list>
     </cmo_mathcap>
   \end{verbatim}
   */
   
 \medbreak  \medbreak
   
 //&jp \subsubsection{ 例 }  //&jp \subsubsection{ 例 }
Line 826  Output:  
Line 881  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.10  
changed lines
  Added in v.1.13

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