[BACK]Return to openxxx.tex CVS log [TXT][DIR] Up to [local] / OpenXM / src / kxx

Diff for /OpenXM/src/kxx/openxxx.tex between version 1.4 and 1.5

version 1.4, 1999/11/22 08:52:55 version 1.5, 2000/01/02 07:35:15
Line 1 
Line 1 
 %%  $OpenXM: OpenXM/src/kxx/openxxx.tex,v 1.3 1999/11/02 09:07:33 takayama Exp $  %%  $OpenXM: OpenXM/src/kxx/openxxx.tex,v 1.4 1999/11/22 08:52:55 takayama Exp $
   /*&jp
 %\documentclass{jarticle}  %\documentclass{jarticle}
 \documentstyle{jarticle}  \documentstyle{jarticle}
 \title{{\bf Open XM ¤ÎÀ߷פȼÂÁõ} \\  \title{{\bf Open XM ¤ÎÀ߷פȼÂÁõ} \\
Line 7 
Line 8 
 } ,  } ,
          ¹â»³¿®µ£\thanks{¿À¸ÍÂç³ØÍý³ØÉô¿ô³Ø¶µ¼¼}           ¹â»³¿®µ£\thanks{¿À¸ÍÂç³ØÍý³ØÉô¿ô³Ø¶µ¼¼}
 }  }
 \date{ 1999ǯ, 11·î22Æü}  \date{ 1999ǯ, 12·î31Æü}
   */
   /*&eg
   %\documentclass{article}
   \documentstyle{article}
   \title{{\bf Design and Implementation of OpenXM} \\
    --- Open message eXchange protocol for Mathematics \\
    (English Abstract of Japanese Original Document)}
   \author{ Masayuki Noro\thanks{Fujitsu Laboratory
   } ,
            Nobuki Takayama\thanks{Department of Mathematics, Kobe University}
   }
   \date{ December 31, 1999}
   */
   /*&C
 \begin{document}  \begin{document}
 \maketitle  \maketitle
   
 \def\noroa#1{  }  \def\noroa#1{  }
 \def\remove#1{ }  \def\remove#1{ }
   */
   
   /*&jp
 {\tt kxx/openxxx.tex}. {\bf Draft} 1997, 11/20 --- .  {\tt kxx/openxxx.tex}. {\bf Draft} 1997, 11/20 --- .
 ¤³¤Îʸ½ñ¤Ï open XM ¤ÎÀß·×ÍѤΥá¥â¤È¤·¤Æ¤ÎÌòÌܤ⤢¤ë¤Î¤Ç,  ¤³¤Îʸ½ñ¤Ï open XM ¤ÎÀß·×ÍѤΥá¥â¤È¤·¤Æ¤ÎÌòÌܤ⤢¤ë¤Î¤Ç,
 °ìÉô¤Î¥Õ¥¡¥¤¥ë̾¤Ï³«È¯¼Ô¤Î¤ß¤¬»²¾È¤Ç¤­¤ë.  °ìÉô¤Î¥Õ¥¡¥¤¥ë̾¤Ï³«È¯¼Ô¤Î¤ß¤¬»²¾È¤Ç¤­¤ë.
   */
   
 \section{¤Ï¤¸¤á¤Ë}  //&jp \section{¤Ï¤¸¤á¤Ë}
   //&eg \section{Introduction} (This part has not been translated)
   
   /*&jp
 Open XM ¤Ï, ¤ª¤Ê¤¸¥¿¥¤¥×¤Þ¤¿¤Ï°Û¤Ê¤ë¥¿¥¤¥×¤Î¿ô³Ø¥×¥í¥»¥¹´Ö¤Î  Open XM ¤Ï, ¤ª¤Ê¤¸¥¿¥¤¥×¤Þ¤¿¤Ï°Û¤Ê¤ë¥¿¥¤¥×¤Î¿ô³Ø¥×¥í¥»¥¹´Ö¤Î
 ¥á¥Ã¥»¡¼¥¸¤Î¤ä¤ê¤È¤ê¤Îµ¬Ìó¤Ç¤¢¤ë.  ¥á¥Ã¥»¡¼¥¸¤Î¤ä¤ê¤È¤ê¤Îµ¬Ìó¤Ç¤¢¤ë.
 ³«È¯¤ÎÆ°µ¡¤Ï, ¼êºî¤ê(¤Þ¤¿¤Ï¸¦µæŪ¤Ê)¿ô³Ø¥½¥Õ¥È¤ÎÁê¸ß¾è¤êÆþ¤ì¤Î¼Â¸½  ³«È¯¤ÎÆ°µ¡¤Ï, ¼êºî¤ê(¤Þ¤¿¤Ï¸¦µæŪ¤Ê)¿ô³Ø¥½¥Õ¥È¤ÎÁê¸ß¾è¤êÆþ¤ì¤Î¼Â¸½
Line 104  SM ÁؤϠ(¥¹¥¿¥Ã¥¯¥Þ¥·¥ó)¥µ¡¼¥Ð¤òÀ©¸æ¤¹¤ë¤¿¤á¤ÎÌ¿Îá¤Î
Line 124  SM ÁؤϠ(¥¹¥¿¥Ã¥¯¥Þ¥·¥ó)¥µ¡¼¥Ð¤òÀ©¸æ¤¹¤ë¤¿¤á¤ÎÌ¿Îá¤Î
 ¤¢¤Ä¤Þ¤ê¤Ç¤¢¤ê, ¥µ¡¼¥Ð¤ÏÈóƱ´üŪ¤ËÆ°ºî¤µ¤»¤ë¤³¤È¤¬²Äǽ¤Ç¤¢¤ë.  ¤¢¤Ä¤Þ¤ê¤Ç¤¢¤ê, ¥µ¡¼¥Ð¤ÏÈóƱ´üŪ¤ËÆ°ºî¤µ¤»¤ë¤³¤È¤¬²Äǽ¤Ç¤¢¤ë.
 ½ÀÆðÀ­¤¬¹â¤¤¤Î¤Ç, IMC ¤Ê¤É¤Î¥ê¥â¡¼¥È¥×¥í¥·¡¼¥¸¥ã¥³¡¼¥ë·Ï¤Î  ½ÀÆðÀ­¤¬¹â¤¤¤Î¤Ç, IMC ¤Ê¤É¤Î¥ê¥â¡¼¥È¥×¥í¥·¡¼¥¸¥ã¥³¡¼¥ë·Ï¤Î
 ¥×¥í¥È¥³¥ë¤â¥¨¥ß¥å¥ì¡¼¥È¤Ç¤­¤ë.  ¥×¥í¥È¥³¥ë¤â¥¨¥ß¥å¥ì¡¼¥È¤Ç¤­¤ë.
   */
   
   
   
   //&jp \section{CMO Basic0 ¤Î object}
   //&eg \section{CMO Basic0 object}
 \section{CMO Basic0 ¤Î object}  /*&jp
 CMO (Common Mathematical Object format) ¥°¥ë¡¼¥× Basic0 ¤Î Object ¤Ï,  CMO (Common Mathematical Object format) ¥°¥ë¡¼¥× Basic0 ¤Î Object ¤Ï,
 Â¿¤¯¤Î·×»»µ¡¸À¸ì¤¬É¸½à¤È¤·¤Æ¤â¤Ä  
 ¥í¡¼¥ì¥Ù¥ë¤Î¥Ç¡¼¥¿·¿, {\tt int} , {\tt string}  ¥í¡¼¥ì¥Ù¥ë¤Î¥Ç¡¼¥¿·¿, {\tt int} , {\tt string}
 ¤Ê¤É¤Ë ¥¿¥°ÉÕ¤±¤·¤¿ object ¤Ç¤¢¤ë.  ¤Ê¤É¤ËÂбþ¤¹¤ë object ¤Ç¤¢¤ë.
 ¤³¤Î CMO ¤Ï¤¹¤Ù¤Æ¤Î open xxx ¤¬¼ÂÁõ¤·¤Æ¤¤¤ë¤È²¾Äꤵ¤ì¤ë.  ¤³¤Î CMO ¤Ï¤¹¤Ù¤Æ¤Î OpenXM ¤¬¼ÂÁõ¤·¤Æ¤¤¤ë¤È²¾Äꤵ¤ì¤ë.
 ¤³¤ÎÀá¤Ç¤Ï, ¥¤¥ó¥È¥í¥À¥¯¥·¥ç¥ó¤È¤·¤Æ, ¥°¥ë¡¼¥× Basic0 ¤Ë°¤¹¤ë CMObject  ¤³¤ÎÀá¤Ç¤Ï, ¥¤¥ó¥È¥í¥À¥¯¥·¥ç¥ó¤È¤·¤Æ, ¥°¥ë¡¼¥× Basic0 ¤Ë°¤¹¤ë CMObject
 (Common Mathematical Object) ¤ò·Á¼°Åª¤ÊÊýË¡¤ò¤Ä¤«¤ï¤ºÆ³Æþ¤·¤è¤¦.  (Common Mathematical Object) ¤ò·Á¼°Åª¤ÊÊýË¡¤ò¤Ä¤«¤ï¤ºÆ³Æþ¤·¤è¤¦.
   */
   /*&eg
   Objects in CMO (Common Mathematical Object format) Group Basic0
   are primitive data such as {\tt int}, {\tt string}.
   All OpenXM compliant systems should implement all data types
   in Group Basic0.
   In this section, as an introduction, we will introduce
   CMObject (Common Mathematical Object) of group Basic0 without formal
   method.
   */
   /*&jp
 ¤³¤Î¥°¥ë¡¼¥×¤ÎÀµ¼°¤Ê̾Á°¤Ï,  ¤³¤Î¥°¥ë¡¼¥×¤ÎÀµ¼°¤Ê̾Á°¤Ï,
 CMObject/Basic0  ¤Ç¤¢¤ë.  CMObject/Basic0  ¤Ç¤¢¤ë.
 °Ê²¼, {\tt int32} ¤Ç2¤ÎÊä¿ôɽ¸½¤µ¤ì¤¿  °Ê²¼, {\tt int32} ¤Ç2¤ÎÊä¿ôɽ¸½¤µ¤ì¤¿
 network byte order ¤Î 32 bit integer ¤ò¤¢¤é¤ï¤¹.  32 bit integer ¤ò¤¢¤é¤ï¤¹
   (¤³¤ì¤Ï¤è¤¯»È¤ï¤ì¤ë·×»»µ¡¤Ç¤Î C ¸À¸ì¤Î int ¤ÎÆâÉôɽ¸½).
 {\tt byte} ¤Ç 8 bit ¥Ç¡¼¥¿¤ò¤¢¤é¤ï¤¹.  {\tt byte} ¤Ç 8 bit ¥Ç¡¼¥¿¤ò¤¢¤é¤ï¤¹.
   */
   /*&eg
   The canonical name of this group is
   CMObject/Basic0.
   In the sequel,
   {\tt int32} means the signed 32 bit integer expressed by two's complement
   (Most internal expressions of {\tt int} of the language C take this expression).
   {\tt byte} means 8 bit data.
   */
   
   //&C
   /*&jp
 CMO ¤Î object ¤Ï \\  CMO ¤Î object ¤Ï \\
 \begin{tabular}{|c|c|}  \begin{tabular}{|c|c|}
 \hline  \hline
Line 131  CMO ¤Î object ¤Ï \\
Line 175  CMO ¤Î object ¤Ï \\
 ¤Ê¤ë·Á¤ò¤·¤Æ¤¤¤ë.  ¤Ê¤ë·Á¤ò¤·¤Æ¤¤¤ë.
 ¤³¤³¤Ç, {\tt cmo\_tag} ¤Ï, Àµ¤Î  ¤³¤³¤Ç, {\tt cmo\_tag} ¤Ï, Àµ¤Î
 {\tt int32} ¤Çɽ¸½¤¹¤ë¤â¤Î¤Èµ¬Ì󤹤ë.  {\tt int32} ¤Çɽ¸½¤¹¤ë¤â¤Î¤Èµ¬Ì󤹤ë.
   */
   /*&eg
   CMO consists of a tag and a body: \\
   \begin{tabular}{|c|c|}
   \hline
   {\tt cmo\_tag}& {\tt cmo\_body} \\
   \hline
   \end{tabular} \\
   {\tt cmo\_tag} should be given a positive
   {\tt int32}.
   */
   
   /*&C
   
   */
   /*&jp
 {\tt cmo\_tag} ¤Ï object ¤Î¥¿¥¤¥×¤ò¤¢¤é¤ï¤¹¥¿¥°¤Ç¤¢¤ê,  {\tt cmo\_tag} ¤Ï object ¤Î¥¿¥¤¥×¤ò¤¢¤é¤ï¤¹¥¿¥°¤Ç¤¢¤ê,
 °Ê²¼¤Î¤è¤¦¤Ë·è¤á¤Æ¤¤¤ë.  °Ê²¼¤Î¤è¤¦¤Ë·è¤á¤Æ¤¤¤ë.
   */
   //&eg The following is a list of tags of CMObject/Basic0.
   /*&C
 @../SSkan/plugin/cmotag.h  @../SSkan/plugin/cmotag.h
 \begin{verbatim}  \begin{verbatim}
 #define LARGEID  0x7f000000  #define LARGEID  0x7f000000
Line 145  CMO ¤Î object ¤Ï \\
Line 207  CMO ¤Î object ¤Ï \\
 #define CMO_MATHCAP 5  #define CMO_MATHCAP 5
 #define CMO_LIST 17  #define CMO_LIST 17
 \end{verbatim}  \end{verbatim}
   */
   
   /*&jp
 °Ê²¼, ³Æ object ¤Î ¥Õ¥©¡¼¥Þ¥Ã¥È¤òÀâÌÀ¤¹¤ë.  °Ê²¼, ³Æ object ¤Î ¥Õ¥©¡¼¥Þ¥Ã¥È¤òÀâÌÀ¤¹¤ë.
 ¥µ¡¼¥Ð¤Ï¤¹¤Ù¤Æ¤Î object ¤Î CMO ·Á¼°¤ò¥µ¥Ý¡¼¥È¤¹¤ëɬÍפϤʤ¤¤¬,  ¥µ¡¼¥Ð, ¥¯¥é¥¤¥¢¥ó¥È¤Ï¤¹¤Ù¤Æ¤Î object ¤Î CMO ·Á¼°¤ò¥µ¥Ý¡¼¥È¤¹¤ëɬÍפϤʤ¤¤¬,
 mathcap (¸å½Ò) Ì䤤¹ç¤ï¤»¤ËÂФ·¤Æ,  
 ¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë CMO ·Á¼°¥Ç¡¼¥¿¤ò¥¯¥é¥¤¥¢¥ó¥È¤ËÃΤ餻¤ëɬÍפ¬  
 ¤¢¤ë.  
 {\tt CMO\_ERROR2}, {\tt CMO\_NULL},  {\tt CMO\_ERROR2}, {\tt CMO\_NULL},
 {\tt CMO\_INT32}, {\tt CMO\_STRING}, {\tt CMO\_MATHCAP}, {\tt CMO\_LIST}  {\tt CMO\_INT32}, {\tt CMO\_STRING}, {\tt CMO\_MATHCAP}, {\tt CMO\_LIST}
 ¤ÏºÇ¤â´ðËÜŪ¤Ê¥Ç¡¼¥¿¤Ç¤¢¤ê,  ¤ÏºÇ¤â´ðËÜŪ¤Ê¥Ç¡¼¥¿¤Ç¤¢¤ê,
 ¤Þ¤¿Á´¤Æ¤Î¥µ¡¼¥Ð, ¥¯¥é¥¤¥¢¥ó¥È¤¬¼ÂÁõ¤¹¤Ù¤­ CMO ¥Ç¡¼¥¿¤Ç¤¢¤ë.  ¤Þ¤¿Á´¤Æ¤Î¥µ¡¼¥Ð, ¥¯¥é¥¤¥¢¥ó¥È¤¬¼ÂÁõ¤¹¤Ù¤­ CMO ¥Ç¡¼¥¿¤Ç¤¢¤ë.
   */
   /*&eg
   We will explain each object format.
   Servers and clients do not need to implement all CMO's.
   However,
   {\tt CMO\_ERROR2}, {\tt CMO\_NULL},
   {\tt CMO\_INT32}, {\tt CMO\_STRING}, {\tt CMO\_MATHCAP}, {\tt CMO\_LIST}
   are primitive data and
   all servers and clients should implement them.
   */
   
   /*&C
   
 CMObject Error2 ¤Ï \\  \noindent
   */
   //&jp CMObject Error2 ¤Ï \\
   //&eg CMObject Error2 is of the form \\
   /*&C
 \begin{tabular}{|c|c|}  \begin{tabular}{|c|c|}
 \hline  \hline
 {\tt int32 CMO\_ERROR2} & {\sl CMObject} {\rm ob} \\  {\tt int32 CMO\_ERROR2} & {\sl CMObject} {\rm ob} \\
 \hline  \hline
 \end{tabular} \\  \end{tabular} \\
   */
   /*&jp
 ¤Ê¤ë·Á¤Çɽ¸½¤¹¤ë.  ¤Ê¤ë·Á¤Çɽ¸½¤¹¤ë.
 ¥¨¥é¡¼¤Î»þ¤ËÅꤲ¤ë object ¤Ç¤¢¤ê, {\it CMObject} ob ¤Î  ¥¨¥é¡¼¤Î»þ¤Ë push ¤¹¤ë object ¤Ç¤¢¤ê, {\it CMObject} ob ¤Î
 Éôʬ¤Ë¾ÜºÙ¤Ê¥¨¥é¡¼¾ðÊ󤬤Ϥ¤¤ë.  Éôʬ¤Ë¾ÜºÙ¤Ê¥¨¥é¡¼¾ðÊ󤬤Ϥ¤¤ë.
 ob ¤Ï¥ê¥¹¥È¤Ç¤¢¤ê, ºÇ½é¤ÎÀ®Ê¬¤Ï¥¨¥é¡¼¤òµ¯¤³¤·¤¿ OX ¥á¥Ã¥»¡¼¥¸(¸å½Ò)  ob ¤Ï¥ê¥¹¥È¤Ç¤¢¤ê,  TCP/IP ¤Ë¤è¤ë¥¹¥È¥ê¡¼¥à·¿Àܳ¤Î¾ì¹ç,
   ºÇ½é¤ÎÀ®Ê¬¤Ï¥¨¥é¡¼¤òµ¯¤³¤·¤¿ OX ¥á¥Ã¥»¡¼¥¸(¸å½Ò)
 ¤Î¥·¥ê¥¢¥ëÈÖ¹æ¤Ç¤Ê¤¤¤È¤¤¤±¤Ê¤¤.  ¤Î¥·¥ê¥¢¥ëÈÖ¹æ¤Ç¤Ê¤¤¤È¤¤¤±¤Ê¤¤.
 ¥·¥ê¥¢¥ëÈÖ¹æ¤Ï Integer32 ¤Çɽ¸½¤¹¤ë.  ¥·¥ê¥¢¥ëÈÖ¹æ¤Ï Integer32 ¤Çɽ¸½¤¹¤ë.
   */
   /*&eg
   It is an object when a server makes an error.
   {\it CMObject} ob carries error informations.
   ob is a list and in case of the stream connection like TCP/IP
   the first element must be the serial number of the OX message causes the error.
   The serial number is Integer32.
   */
   
   /*&C
   
 CMObject Null ¤Ï \\  \noindent
   */
   
   //&jp CMObject Null ¤Ï \\
   //&eg CMObject Null has the format \\
   /*&C
 \begin{tabular}{|c|c|}  \begin{tabular}{|c|c|}
 \hline  \hline
 {\tt int32 CMO\_NULL}  \\  {\tt int32 CMO\_NULL}  \\
 \hline  \hline
 \end{tabular} \\  \end{tabular} \\
   */
   /*&jp
 ¤Ê¤ë·Á¤Çɽ¸½¤¹¤ë.  ¤Ê¤ë·Á¤Çɽ¸½¤¹¤ë.
   */
   
 32 bit integer n ¤Ï CMObject ¤È¤·¤Æ¤Ï Integer32 ¤È¸Æ¤Ð¤ì, \\  /*&C
   
   \noindent
   */
   
   //&jp 32 bit integer n ¤Ï CMObject ¤È¤·¤Æ¤Ï Integer32 ¤È¸Æ¤Ð¤ì, \\
   //&eg 32 bit integer n is called Integer32 as CMObject and has the format \\
   /*&C
 \begin{tabular}{|c|c|}  \begin{tabular}{|c|c|}
 \hline  \hline
 {\tt int32 CMO\_INT32}& {\tt int32} {\rm n}  \\  {\tt int32 CMO\_INT32}& {\tt int32} {\rm n}  \\
 \hline  \hline
 \end{tabular} \\  \end{tabular} \\
 ¤Ê¤ë·Á¤Çɽ¸½¤¹¤ë.  */
   //&jp ¤Ê¤ë·Á¤Çɽ¸½¤¹¤ë.
   
   /*&C
   
 Ä¹¤µ n ¤Î ¥Ð¥¤¥ÈÎó data ¤Ï CMObject ¤È¤·¤Æ¤Ï, Datum ·¿¤È¤è¤Ð¤ì \\  \noindent
   */
   
   
   //&jp Ťµ n ¤Î ¥Ð¥¤¥ÈÎó data ¤Ï CMObject ¤È¤·¤Æ¤Ï, Datum ·¿¤È¤è¤Ð¤ì \\
   //&eg A byte array of the length n is called Datum as CMObject and has the format \\
   /*&C
 \begin{tabular}{|c|c|c|c|}  \begin{tabular}{|c|c|c|c|}
 \hline  \hline
 {\tt int32 CMO\_DATUM}& {\tt int32} {\rm n} & {\tt byte} {\rm  data[0]}  {\tt int32 CMO\_DATUM}& {\tt int32} {\rm n} & {\tt byte} {\rm  data[0]}
Line 197  CMObject Null ¤Ï \\
Line 308  CMObject Null ¤Ï \\
 $\cdots$ & {\tt byte} {\rm  data[n-1]} \\  $\cdots$ & {\tt byte} {\rm  data[n-1]} \\
 \cline{1-2}  \cline{1-2}
 \end{tabular} \\  \end{tabular} \\
 ¤Èɽ¸½¤¹¤ë.  */
 data ¤ÎÉôʬ¤ËľÎó²½ (serialized) ¤µ¤ì¤¿ CMO ¤¬Æþ¤ë¤³¤È¤â¤¢¤ê¤¦¤ë.  //&jp ¤Èɽ¸½¤¹¤ë.
   
 Ä¹¤µ n ¤Î ʸ»úÎó data ¤Ï, CMObject ¤È¤·¤Æ¤Ï, Cstring ·¿¤È¤è¤Ð¤ì \\  /*&C
   
   \noindent
   */
   
   //&jp Ťµ n ¤Î ʸ»úÎó data ¤Ï, CMObject ¤È¤·¤Æ¤Ï, Cstring ·¿¤È¤è¤Ð¤ì \\
   //&eg String of n bytes is called Cstring as CMObject and has the format \\
   /*&C
 \begin{tabular}{|c|c|c|c|}  \begin{tabular}{|c|c|c|c|}
 \hline  \hline
 {\tt int32 CMO\_STRING}& {\tt int32} {\rm n} & {\tt byte} {\rm data[0]}  {\tt int32 CMO\_STRING}& {\tt int32} {\rm n} & {\tt byte} {\rm data[0]}
Line 209  data ¤ÎÉôʬ¤ËľÎó²½ (serialized) ¤µ¤ì¤¿ CMO ¤¬Æþ¤ë¤³¤È
Line 327  data ¤ÎÉôʬ¤ËľÎó²½ (serialized) ¤µ¤ì¤¿ CMO ¤¬Æþ¤ë¤³¤È
 $\cdots$ & {\tt byte} {\rm data[n-1]} \\  $\cdots$ & {\tt byte} {\rm data[n-1]} \\
 \cline{1-2}  \cline{1-2}
 \end{tabular} \\  \end{tabular} \\
   */
   /*&jp
 ¤Èɽ¸½¤¹¤ë.  C ¸À¸ì¤ÇÉáÄÌÍѤ¤¤é¤ì¤ë, ʸ»úÎó¤Î¤ª¤ï¤ê¤Î {\tt 0} ¤Ïʸ»úÎó  ¤Èɽ¸½¤¹¤ë.  C ¸À¸ì¤ÇÉáÄÌÍѤ¤¤é¤ì¤ë, ʸ»úÎó¤Î¤ª¤ï¤ê¤Î {\tt 0} ¤Ïʸ»úÎó
 ¤Ë´Þ¤á¤Ê¤¤.  ¤Ë´Þ¤á¤Ê¤¤.
   */
   
 \remove{  /*&C
 Ä¹¤µ n ¤Î 32bit network byte order ¤Î data ¤Î array ¤Ï \\  
 \begin{tabular}{|c|c|c|c|c|c|}  
 \hline  
 {\tt int32 CMO\_ARRAYOFINT32}& {\tt int32} {\rm n} &  
 {\rm data[0]} & {\rm data[1]}&$\cdots$  
 & {\rm data[n-1]} \\  
 \cline{1-2}  
 \end{tabular} \\  
 ¤Èɽ¸½¤¹¤ë. ³Æ {\tt data[i]} ¤ÎÉôʬ¤Ï 4 byte ¤ÎÂ礭¤µ¤ò»ý¤Ä.  
 }  
   
 \noindent  \noindent
 CMObject Mathcap ¤Ï \\  */
   //&jp CMObject Mathcap ¤Ï \\
   //*eg CMObject Mathcap  has the format \\
   /*&C
 \begin{tabular}{|c|c|}  \begin{tabular}{|c|c|}
 \hline  \hline
 {\tt int32 CMO\_MATHCAP} & {\it CMObject} {\rm ob} \\  {\tt int32 CMO\_MATHCAP} & {\it CMObject} {\rm ob} \\
 \hline  \hline
 \end{tabular} \\  \end{tabular} \\
   */
   /*&jp
 ¤Ê¤ë·Á¤Çɽ¸½¤¹¤ë.  ¤Ê¤ë·Á¤Çɽ¸½¤¹¤ë.
 {\tt ob} ¤Ï¥ê¥¹¥È¤Ç¤¢¤ê¾¯¤Ê¤¯¤È¤â2¤Ä¤ÎÍ×ÁǤò¤â¤Ä.  {\tt ob} ¤Ï¥ê¥¹¥È¤Ç¤¢¤ê¾¯¤Ê¤¯¤È¤â2¤Ä¤ÎÍ×ÁǤò¤â¤Ä.
 0 ÈÖÌܤÎÍ×ÁǤÏ, Integer32 ¤Çɽ¤·¤¿ Version number ¤È,  0 ÈÖÌܤÎÍ×ÁǤÏ, Integer32 ¤Çɽ¤·¤¿ OpenXM protocol version number ¤È,
 Cstring ¤Çɽ¤·¤¿¥·¥¹¥Æ¥à̾, Version number, CPUtype, ¤½¤Î¾¤Î¾ðÊó  Cstring ¤Çɽ¤·¤¿¥·¥¹¥Æ¥à̾, Server version, CPU type, ¤½¤Î¾¤Î¾ðÊó
 ¤Î¥ê¥¹¥È¤Ç¤¢¤ë.  ¤Î¥ê¥¹¥È¤Ç¤¢¤ë.
 1 ÈÖÌܤÎÍ×ÁǤÏ, ¥·¥¹¥Æ¥à xxx ¤¬°·¤¦¤³¤È¤Î²Äǽ¤Ê  1 ÈÖÌܤÎÍ×ÁǤÏ, ¥·¥¹¥Æ¥à xxx ¤¬°·¤¦¤³¤È¤Î²Äǽ¤Ê
 CMO ¥¿¥°¤ò, Integer32 ¤Çɽ¸½¤·¤¿¤â¤Î¤ò½¸¤á¤¿¥ê¥¹¥È¤Ç¤¢¤ë.  SM ¥¿¥°, OX DATA ¥¿¥¤¥×¤È¤½¤ÎÉղþðÊó (CMO ¥¿¥°¤Ê¤É)
   ¤ò, Integer32 ¤Çɽ¸½¤·¤¿¤â¤Î¤ò½¸¤á¤¿¥ê¥¹¥È¤Ç¤¢¤ë.
   */
   /*&eg
   ob is a list of which length is more than or equal to two.
   The first element is a list of
   OpenXM protocol version number in Integer32,
   the server name in Cstring,
   the server version and CPU type in Cstring,
   and extra informations.
   The second element is a list of SM tags and OX data type tags with
   suplementary informations (e.g., a list of available CMO tags)
   in Integer 32.
   */
   
   /*&C
   
 \noindent  \noindent
 Ä¹¤µ m ¤Î¥ê¥¹¥È¤Ï \\  */
   //&jp Ťµ m ¤Î¥ê¥¹¥È¤Ï \\
   //&eg A list of the length m has the form \\
   /*&C
 \begin{tabular}{|c|c|c|c|c|}  \begin{tabular}{|c|c|c|c|c|}
 \hline  \hline
 {\tt int32 CMO\_LIST}& {\tt int32} {\rm m} & {\tt CMObject}\, ob[0] & $\cdots$ &  {\tt int32 CMO\_LIST}& {\tt int32} {\rm m} & {\tt CMObject}\, ob[0] & $\cdots$ &
 {\tt CMObject}\, ob[$m-1$] \\  {\tt CMObject}\, ob[$m-1$] \\
 \hline  \hline
 \end{tabular}\\  \end{tabular}\\
 ¤Çɽ¸½¤¹¤ë.  */
   //&jp ¤Çɽ¸½¤¹¤ë.
   
   
 \section{ CMO ¤Îɽ¸½ÊýË¡ }  //&jp \section{ CMO ¤Î·Á¼°ÅªÉ½¸½ÊýË¡ }
   //&eg \section{ A formal expression of CMO }
   
   /*&jp
 Á°¤ÎÀá¤Ç CMO ¤Îɽ¸½ÊýË¡¤ò·Á¼°Åª¤ËÄêµÁ¤»¤º,  Á°¤ÎÀá¤Ç CMO ¤Îɽ¸½ÊýË¡¤ò·Á¼°Åª¤ËÄêµÁ¤»¤º,
 CMO ¤ÎBasic0 ¤Îɽ¸½Ë¡¤òÀâÌÀ¤·¤¿¤¬,  CMO ¤ÎBasic0 ¤Îɽ¸½Ë¡¤òÀâÌÀ¤·¤¿¤¬,
 ¤³¤³¤Ç¤Ï, CMO ¤Î Lisp É÷ɽ¸½ (Lisp-like expression)  ¤³¤³¤Ç¤Ï, CMO ¤Î Lisp É÷ɽ¸½ (Lisp-like expression)
 ¤Ç¤¢¤ë  ¤Ç¤¢¤ë
 CMOexpression  CMOexpression
 ¤ª¤è¤Ó CMO ¤Îɸ½à encoding Ë¡¤òÀâÌÀ¤¹¤ë.  ¤ª¤è¤Ó CMO ¤Îɸ½à encoding Ë¡¤òÀâÌÀ¤¹¤ë.
 (¥¿¥°¤Î¾Êάµ­Ë¡¤¬¤Û¤·¤¤.)  % (¥¿¥°¤Î¾Êάµ­Ë¡¤¬¤Û¤·¤¤.)
 Á°¤ÎÀá¤Ç¤Ï¤³¤Î ɸ½à encoding Ë¡¤òÍѤ¤¤Æ CMO ¤Îɽ¸½ÊýË¡¤òÀâÌÀ¤·¤¿.  */
   /*&eg
   In the previous setion, we have explained the format of CMO's in the
   Basic0 group.
   In this section, we will introduce CMOexpression which is like the
   bracket expression of Lisp and a standard encoding method of CMO.
   */
   
   /*&jp
   
 ¤Þ¤º, CMOexpression ¤ò·Á¼°Åª¤Ë ³ÈÄ¥ BNF µ­Ë¡¤òÍѤ¤¤ÆÄêµÁ¤·¤è¤¦.  ¤Þ¤º, CMOexpression ¤ò·Á¼°Åª¤Ë ³ÈÄ¥ BNF µ­Ë¡¤òÍѤ¤¤ÆÄêµÁ¤·¤è¤¦.
 ¥¿¥¤¥×¥é¥¤¥¿¥Õ¥©¥ó¥È¤Ç¤«¤«¤ì¤¿µ­¹æ¤Ï½ªÃ¼µ­¹æ¤ò°ÕÌ£¤¹¤ë.  ¥¿¥¤¥×¥é¥¤¥¿¥Õ¥©¥ó¥È¤Ç¤«¤«¤ì¤¿µ­¹æ¤Ï½ªÃ¼µ­¹æ¤ò°ÕÌ£¤¹¤ë.
 ``:'' ¤ÏÄêµÁ¤ò°ÕÌ£¤¹¤ë. ``$|$'' ¤Ï''¤Þ¤¿¤Ï''¤ò°ÕÌ£¤¹¤ë.  ``:'' ¤ÏÄêµÁ¤ò°ÕÌ£¤¹¤ë. ``$|$'' ¤Ï''¤Þ¤¿¤Ï''¤ò°ÕÌ£¤¹¤ë.
 \{ X \} ¤Ï X ¤Î 0 ²ó°Ê¾å¤Î·«¤êÊÖ¤·¤òɽ¤¹.  \{ X \} ¤Ï X ¤Î 0 ²ó°Ê¾å¤Î·«¤êÊÖ¤·¤òɽ¤¹.
 [ x ] ¤Ï X ¤¬ 0 ²ó¤Þ¤¿¤Ï 1 ²ó½Ð¸½¤¹¤ë¤³¤È¤òɽ¤¹.  [ x ] ¤Ï X ¤¬ 0 ²ó¤Þ¤¿¤Ï 1 ²ó½Ð¸½¤¹¤ë¤³¤È¤òɽ¤¹.
   */
   /*&eg
   
   Let us define CMOexpression by the extended BNF expression.
   Symbols in the type writer fonts mean terminals.
   ``:'' means a definition.
   ``$|$'' means ''or''.
   \{ X \} is a repetition of X of more than or equal to 0 times.
   [ x ] stands for X or nothing.
   
   */
   
   /*&C
 \begin{eqnarray*}  \begin{eqnarray*}
 \mbox{CMOexpression}  \mbox{CMOexpression}
 &:& \quad  &:& \quad
Line 278  CMOexpression
Line 435  CMOexpression
 &   &|\   \mbox{\tt string} \\  &   &|\   \mbox{\tt string} \\
 &   &|\   \mbox{\tt byte} \\  &   &|\   \mbox{\tt byte} \\
 \end{eqnarray*}  \end{eqnarray*}
   */
   /*&jp
 ½ªÃ¼µ­¹æ {\tt int32} ¤Ï, 32 bit integer ¤òɽ¤¹, 10 ¿Ê¤Þ¤¿¤Ï 16 ¿Ê¤Î¿ô»ú¤Î  ½ªÃ¼µ­¹æ {\tt int32} ¤Ï, 32 bit integer ¤òɽ¤¹, 10 ¿Ê¤Þ¤¿¤Ï 16 ¿Ê¤Î¿ô»ú¤Î
 Îó¤Ç¤¢¤ë.  Îó¤Ç¤¢¤ë.
 ½ªÃ¼µ­¹æ {\tt string} ¤Ï''ʸ»ú''¤ÎÎó¤Ç¤¢¤ë.  ½ªÃ¼µ­¹æ {\tt string} ¤Ï''ʸ»ú''¤ÎÎó¤Ç¤¢¤ë.
 ½ªÃ¼µ­¹æ {\tt byte} ¤Ï 8 bit ¥Ç¡¼¥¿¤òɽ¤¹, 10 ¿Ê¤Þ¤¿¤Ï 16 ¿Ê¤Î¿ô»ú¤ÎÎó¤Ç¤¢¤ë.  ½ªÃ¼µ­¹æ {\tt byte} ¤Ï 8 bit ¥Ç¡¼¥¿¤òɽ¤¹, 10 ¿Ê¤Þ¤¿¤Ï 16 ¿Ê¤Î¿ô»ú¤ÎÎó¤Ç¤¢¤ë.
   
   */
   /*&jp
   Terminal {\tt int32} is signed 32 bit integer.
   Terminal {\tt string} is a byte array which usually expresses a string.
   Terminal {\tt byte} is 8 bit data.
   
   */
   
   /*&jp
 CMOexpression ¤Ë¤¢¤é¤ï¤ì¤ë³ÆÍ×ÁǤò¶èÀڤ뤿¤á¤Ë {\tt ,} (¥³¥ó¥Þ) ¤òÍѤ¤¤Æ¤â¤è¤¤.  CMOexpression ¤Ë¤¢¤é¤ï¤ì¤ë³ÆÍ×ÁǤò¶èÀڤ뤿¤á¤Ë {\tt ,} (¥³¥ó¥Þ) ¤òÍѤ¤¤Æ¤â¤è¤¤.
 {\tt cmo\_tag} ¤Ï {\tt CMO\_} ¤Ç»Ï¤Þ¤ëÄê¿ô¤Ç¤¢¤ë.  {\tt cmo\_tag} ¤Ï {\tt CMO\_} ¤Ç»Ï¤Þ¤ëÄê¿ô¤Ç¤¢¤ë.
 CMOexpression ¤Çɽ¸½¤µ¤ì¤ë object ¤ò CMObject ¤È¸Æ¤Ö.  CMOexpression ¤Çɽ¸½¤µ¤ì¤ë object ¤ò CMObject ¤È¸Æ¤Ö.
   
   */
   /*&eg
   The comma ({\tt ,}) may be used to separate each element in CMOexpressions.
   {\tt cmo\_tag} is a constant that starts with {\tt CMO\_}.
   
   */
   
   /*&jp
 ¤³¤Îɽµ­Ë¡ CMOexpression ¤òÍøÍѤ·¤Æ, CMO Basic0 ¤Î object ¤òµ­½Ò  ¤³¤Îɽµ­Ë¡ CMOexpression ¤òÍøÍѤ·¤Æ, CMO Basic0 ¤Î object ¤òµ­½Ò
 ¤·¤Æ¤ß¤è¤¦.  ¤·¤Æ¤ß¤è¤¦.
 Object ¼«ÂΤι½Â¤¤òÀâÌÀ¤¹¤ë¤¿¤á,  Object ¼«ÂΤι½Â¤¤òÀâÌÀ¤¹¤ë¤¿¤á,
 BNF ¤ò¤â¤¦¤¹¤³¤·³ÈÄ¥¤·¤Æ, Èó½ªÃ¼µ­¹æ, ½ªÃ¼µ­¹æ̾¤Î¤ß¤Ê¤é¤º, ÊÑ¿ô¤Î  BNF ¤ò¤â¤¦¤¹¤³¤·³ÈÄ¥¤·¤Æ, Èó½ªÃ¼µ­¹æ, ½ªÃ¼µ­¹æ̾¤Î¤ß¤Ê¤é¤º, ÊÑ¿ô¤Î
 Ì¾Á°¤â½ñ¤¯¤³¤È¤Ë¤¹¤ë. ¤³¤¦¤¹¤ë¤³¤È¤Ë¤è¤ê, object ¤Î°ÕÌ£¤ÎÀâÌÀ¤âÍÆ°×¤Ë¤Ê¤ë  Ì¾Á°¤â½ñ¤¯¤³¤È¤Ë¤¹¤ë. ¤³¤¦¤¹¤ë¤³¤È¤Ë¤è¤ê, object ¤Î°ÕÌ£¤ÎÀâÌÀ¤âÍưפˤʤë
 ¤«¤é¤Ç¤¢¤ë. ¤Þ¤¿ ``---'' ¤Ç¥³¥á¥ó¥È¤Î¤Ï¤¸¤Þ¤ê¤òɽ¤¹¤â¤Î¤È¤¹¤ë.  ¤«¤é¤Ç¤¢¤ë. ¤Þ¤¿ ``---'' ¤Ç¥³¥á¥ó¥È¤Î¤Ï¤¸¤Þ¤ê¤òɽ¤¹¤â¤Î¤È¤¹¤ë.
   */
   /*&eg
   Let us describe CMO's in the Basic0 group.
   In order to explain the meaning of objects,
   we may also put variable names to CMOexpressions.
   The start of comments are denoted by ``---''.
   */
   /*&jp
 ¤¿¤È¤¨¤Ð, (CMObject ¤Î) 32 bit integer ¤Ç¤¢¤ë integer32 ¤ò  ¤¿¤È¤¨¤Ð, (CMObject ¤Î) 32 bit integer ¤Ç¤¢¤ë integer32 ¤ò
 BNF¤ÇÄêµÁ¤¹¤ì¤Ð,  BNF¤ÇÄêµÁ¤¹¤ì¤Ð,
 \begin{center}  \begin{center}
Line 313  CMObject ¤Î 
Line 497  CMObject ¤Î 
 ({\tt CMO\_INT32}, {\sl int32}\ n)  ({\tt CMO\_INT32}, {\sl int32}\ n)
 ¤Ï,  ¤Ï,
 32 bit integer $n$ ¤òɽ¸½¤·¤Æ¤¤¤ë¤ó¤À¤È¤¤¤¦¤³¤È¤¬, 1 ¹Ô¤Ç¤ï¤«¤ë.  32 bit integer $n$ ¤òɽ¸½¤·¤Æ¤¤¤ë¤ó¤À¤È¤¤¤¦¤³¤È¤¬, 1 ¹Ô¤Ç¤ï¤«¤ë.
   */
   /*&eg
   (Example part has not yet been translated.)
   */
   /*&jp
 ¤³¤Îµ­Ë¡¤òÍѤ¤¤Æ, Á°Àá¤ÇƳÆþ¤·¤¿, Basic0 ¤Î CMObject ¤ò  ¤³¤Îµ­Ë¡¤òÍѤ¤¤Æ, Á°Àá¤ÇƳÆþ¤·¤¿, Basic0 ¤Î CMObject ¤ò
 ·Á¼°Åª¤ËÄêµÁ¤·¤è¤¦.  ·Á¼°Åª¤ËÄêµÁ¤·¤è¤¦.
   */
   /*&eg
   By using this notation, let us define formally CMObjects in the group
   Basic0.
   */
   
   /*&C
   
 \bigbreak  \bigbreak
 \noindent  \noindent
 Group CMObject/Basic0  requires nothing. \\  Group CMObject/Basic0  requires nothing. \\
 Error2, Null, Integer32, Datum, Cstring, Mathcap, List $\in$ CMObject/Basic0. \\  Error2, Null, Integer32, Datum, Cstring, Mathcap, List $\in$ CMObject/Basic0. \\
 Document of CMObject/Basic0 is at {\tt http://www.math.kobe-u.ac.jp/openxxx}  Document of CMObject/Basic0 is at {\tt http://www.math.kobe-u.ac.jp/OpenXM}
 (in Japanese) \\  (in English and Japanese) \\
 \begin{eqnarray*}  \begin{eqnarray*}
 \mbox{Error2}&:& ({\tt CMO\_ERROR2}, {\sl CMObject}\, \mbox{ob}) \\  \mbox{Error2}&:& ({\tt CMO\_ERROR2}, {\sl CMObject}\, \mbox{ob}) \\
 \mbox{Null}  &:& ({\tt CMO\_NULL}) \\  \mbox{Null}  &:& ({\tt CMO\_NULL}) \\
Line 339  Document of CMObject/Basic0 is at {\tt http://www.math
Line 535  Document of CMObject/Basic0 is at {\tt http://www.math
 & & \mbox{---  m is the length of the list.}  & & \mbox{---  m is the length of the list.}
 \end{eqnarray*}  \end{eqnarray*}
   
 Cstring ¤Ç, {\sl string} s ¤ÎÉôʬ¤ò {\tt byte} ¤Ëʬ²ò¤¹¤ì¤Ð,  */
   
   
   //&jp Cstring ¤Ç, {\sl string} s ¤ÎÉôʬ¤ò {\tt byte} ¤Ëʬ²ò¤¹¤ì¤Ð,
   //&eg In the definition of ``Cstring'', if we decompose  ``{\sl string} s'' into bytes, then  ``Cstring'' should be defined as
   /*&C
 \begin{eqnarray*}  \begin{eqnarray*}
 \mbox{Cstring}&:& ({\tt CMO\_STRING},{\sl int32}\,  \mbox{ n},  \mbox{Cstring}&:& ({\tt CMO\_STRING},{\sl int32}\,  \mbox{ n},
 {\sl byte}\, \mbox{s[0]},  {\sl byte}\, \mbox{s[0]},
 \ldots, {\sl byte}\ \mbox{s[n-1]})  \ldots, {\sl byte}\ \mbox{s[n-1]})
 \end{eqnarray*}  \end{eqnarray*}
 ¤È¤Ê¤ë.  */
   //&jp ¤È¤Ê¤ë.
   /*&jp
 ¤Þ¤¿,  ¤Þ¤¿,
 ``Group CMObject/Basic0  requires nothing''  ``Group CMObject/Basic0  requires nothing''
 ¤Ï, °Ê²¼¤Ï, ¥°¥ë¡¼¥× CMObject/Basic0 ¤ÎÄêµÁ¤Ç¤¢¤ê,  ¤Ï, °Ê²¼¤Ï, ¥°¥ë¡¼¥× CMObject/Basic0 ¤ÎÄêµÁ¤Ç¤¢¤ê,
Line 355  Cstring ¤Ç, {\sl string} s ¤ÎÉôʬ¤ò {\tt byte} ¤Ëʬ²ò¤
Line 558  Cstring ¤Ç, {\sl string} s ¤ÎÉôʬ¤ò {\tt byte} ¤Ëʬ²ò¤
 $\in$ CMObject/Basic0''  $\in$ CMObject/Basic0''
 ¤Ï, ¥°¥ë¡¼¥× CMObject/Basic0 ¤Ë¤Ï,  Error2, Null, Integer32,  ¤Ï, ¥°¥ë¡¼¥× CMObject/Basic0 ¤Ë¤Ï,  Error2, Null, Integer32,
 Datum, Cstring ¤Ê¤ë¥¯¥é¥¹¤Î object ¤¬Â°¤¹¤ë¤³¤È¤ò¼¨¤¹.  Datum, Cstring ¤Ê¤ë¥¯¥é¥¹¤Î object ¤¬Â°¤¹¤ë¤³¤È¤ò¼¨¤¹.
   */
   /*&eg
   ¤Þ¤¿,
   ``Group CMObject/Basic0  requires nothing''
   means that there is no super group to define CMO's in the group Basic0.
   ``Error2, Null, Integer32, Datum, Cstring, Mathcap, List
   $\in$ CMObject/Basic0''
   means that
   Error2, Null, Integer32, Datum, Cstring
   are members of the group CMObject/Basic0.
   */
   
   /*&C
   
   */
   
   /*&jp
 ¤Ç¤Ï, ¼ÂºÝ¤Î¥Ç¡¼¥¿¤Îɽ¸½¤ÎÎã¤ò¤ß¤Æ¤ß¤è¤¦.  ¤Ç¤Ï, ¼ÂºÝ¤Î¥Ç¡¼¥¿¤Îɽ¸½¤ÎÎã¤ò¤ß¤Æ¤ß¤è¤¦.
 ¤¿¤È¤¨¤Ð, 32 bit integer ¤Î 1234 ¤Ï,  ¤¿¤È¤¨¤Ð, 32 bit integer ¤Î 1234 ¤Ï,
   */
   /*&eg
   Let us see examples.
   32 bit integer 1234 is expressed as
   */
   /*&C
 \begin{center}  \begin{center}
 ({\tt CMO\_INT32}, 1234)  ({\tt CMO\_INT32}, 1234)
 \end{center}  \end{center}
   */
   /*&jp
 ¤È¤«¤¯.  ¤È¤«¤¯.
 Ê¸»úÎó ``Hello''  ¤Ï  Ê¸»úÎó ``Hello''  ¤Ï
   */
   /*&eg
   The string ``Hello'' is expressed as
   */
   /*&C
 \begin{center}  \begin{center}
 ({\tt CMO\_STRING}, 5, "Hello")  ({\tt CMO\_STRING}, 5, "Hello")
 \end{center}  \end{center}
 ¤È½ñ¤¯.  */
   //&jp ¤È½ñ¤¯.
   
   /*&C
   
   */
   /*&jp
 CMOexpression ¤È, CMObject ¤Î¶èÊ̤òÍý²ò¤·¤Æ¤ª¤¯¤Î¤Ï½ÅÍפǤ¢¤ë.  CMOexpression ¤È, CMObject ¤Î¶èÊ̤òÍý²ò¤·¤Æ¤ª¤¯¤Î¤Ï½ÅÍפǤ¢¤ë.
 ¤¿¤È¤¨¤Ð  ¤¿¤È¤¨¤Ð
 \begin{center}  \begin{center}
Line 426  byte ¥Ç¡¼¥¿ {\tt byte} ¤«¤Þ¤¿¤Ï 
Line 662  byte ¥Ç¡¼¥¿ {\tt byte} ¤«¤Þ¤¿¤Ï 
 \end{center}  \end{center}
 ¤Î ɸ½à encoding Ë¡¤Ë¤è¤ëɽ¸½¤Ç¤¢¤ë.  ¤Î ɸ½à encoding Ë¡¤Ë¤è¤ëɽ¸½¤Ç¤¢¤ë.
   
   */
   /*&eg
   (This part has not yet been translated.)
   */
   
   //&jp \section{ Open XM ¤ÎÄÌ¿®¥â¥Ç¥ë}
   //&eg \section{ Communication model of Open XM}  (This part has not yet been translated)
   
 \section{ Open XM ¤ÎÄÌ¿®¥â¥Ç¥ë}  /*&jp
   
 ¤ï¤ì¤ï¤ì¤Ï, ¿ô³Ø¥×¥í¥»¥¹¤¬¥á¥Ã¥»¡¼¥¸¤ò  ¤ï¤ì¤ï¤ì¤Ï, ¿ô³Ø¥×¥í¥»¥¹¤¬¥á¥Ã¥»¡¼¥¸¤ò
 ¸ò´¹¤·¤Ê¤¬¤é·×»»¤¬¿Ê¹Ô¤·¤Æ¤¤¤¯¤È¤¤¤¦¥â¥Ç¥ë¤òÁÛÄꤷ¤ÆÀ߷פò¤¹¤¹¤á¤Æ¤¤¤ë.  ¸ò´¹¤·¤Ê¤¬¤é·×»»¤¬¿Ê¹Ô¤·¤Æ¤¤¤¯¤È¤¤¤¦¥â¥Ç¥ë¤òÁÛÄꤷ¤ÆÀ߷פò¤¹¤¹¤á¤Æ¤¤¤ë.
 ³Æ¥×¥í¥»¥¹¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ç¤¢¤ê, ¤³¤ì¤ò OX ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤È¤è¤Ö.  ³Æ¥×¥í¥»¥¹¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ç¤¢¤ê, ¤³¤ì¤ò OX ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤È¤è¤Ö.
Line 691  debug ¥â¡¼¥É¤òÈ´¤±¤¿¤¤, ¤Ê¤É¤ÎÍÑÅÓ¤ËÍøÍѤ¹¤ë.
Line 932  debug ¥â¡¼¥É¤òÈ´¤±¤¿¤¤, ¤Ê¤É¤ÎÍÑÅÓ¤ËÍøÍѤ¹¤ë.
 operator ¤Î¾ÜºÙ¤Ï¼¡¤ÎÀá¤ÇÀâÌÀ¤¹¤ë.  operator ¤Î¾ÜºÙ¤Ï¼¡¤ÎÀá¤ÇÀâÌÀ¤¹¤ë.
 ¤³¤ì¤é¤ÎÄê¿ô¤Î̾Á°¤Ï¥¤¥ó¥×¥ê¥á¥ó¥È¤Î¤È¤­Ã»½Ì·Á¤Çɽ¸½¤·¤Æ¤â¤è¤¤.  ¤³¤ì¤é¤ÎÄê¿ô¤Î̾Á°¤Ï¥¤¥ó¥×¥ê¥á¥ó¥È¤Î¤È¤­Ã»½Ì·Á¤Çɽ¸½¤·¤Æ¤â¤è¤¤.
   
   */
   
   //&jp \section{ OX ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó }
   //&eg \section{ OX stackmachine }  (This section has not yet been translated.)
   
 \section{ OX ¥µ¡¼¥Ð¥¹¥¿¥Ã¥¯¥Þ¥·¥ó }  /*&jp
   
 ¤³¤ÎÀá¤Ç¤Ï, OX ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó operator ¤ÎÀâÌÀ  ¤³¤ÎÀá¤Ç¤Ï, OX ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó operator ¤ÎÀâÌÀ
 (TCP/IP ¥½¥±¥Ã¥È¾å¤Ç¤Îɸ½à encoding Ë¡ ¤òÍѤ¤¤ë),  (TCP/IP ¥½¥±¥Ã¥È¾å¤Ç¤Îɸ½à encoding Ë¡ ¤òÍѤ¤¤ë),
 ¤ª¤è¤Ó, ¥µ¥ó¥×¥ë¥µ¡¼¥Ð¤È¥ê¥ó¥¯¤¹¤ë¾ì¹ç¤Þ¤¿¤Ï  ¤ª¤è¤Ó, ¥µ¥ó¥×¥ë¥µ¡¼¥Ð¤È¥ê¥ó¥¯¤¹¤ë¾ì¹ç¤Þ¤¿¤Ï
Line 1290  typedef FILE2 * ox_stream;
Line 1533  typedef FILE2 * ox_stream;
   
 \end{enumerate}  \end{enumerate}
   
 \section{¸½ºß¸¡Æ¤Ãæ¤Îµ¡Ç½}  */
   
   //&jp \section{¸½ºß¸¡Æ¤Ãæ¤Îµ¡Ç½}
   //&eg \section{Projects in work in progress} (This part has not been translated.)
   
   /*&jp
 \subsection{ OX DATA with Length ¤Î¹½Â¤ }  \subsection{ OX DATA with Length ¤Î¹½Â¤ }
   
 Digital signature ÉդΠ{\tt OX\_DATA} ¤Ï  Digital signature ÉդΠ{\tt OX\_DATA} ¤Ï
Line 1385  add, sub, mul, ¤Ê¤É¤Î´ðËÜŪ¤Ê·×»»¤Ï {\tt SM\_executeFu
Line 1632  add, sub, mul, ¤Ê¤É¤Î´ðËÜŪ¤Ê·×»»¤Ï {\tt SM\_executeFu
 ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ÎÀ©¸æ¹½Â¤¤Ë¤Ä¤¤¤Æ¤â¸¡Æ¤¤·¤Æ¤¤¤ë.  ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ÎÀ©¸æ¹½Â¤¤Ë¤Ä¤¤¤Æ¤â¸¡Æ¤¤·¤Æ¤¤¤ë.
   
   
   */
   
 \section{¥³¥ó¥È¥í¡¼¥ë¥á¥Ã¥»¡¼¥¸ (SMObject/TCPIP/Control)}  //&jp \section{¥³¥ó¥È¥í¡¼¥ë¥á¥Ã¥»¡¼¥¸ (SMObject/TCPIP/Control)}
   //&eg \section{Control message (SMObject/TCPIP/Control)} (This section has not been translated.)
   
   /*&jp
 \begin{enumerate}  \begin{enumerate}
 \item  \item
 ¥µ¡¼¥Ð¤Ï {\tt SM\_control\_reset\_connection}  ¥µ¡¼¥Ð¤Ï {\tt SM\_control\_reset\_connection}
Line 1469  Reset ¤ËÂФ¹¤ëÊÖ»ö.
Line 1719  Reset ¤ËÂФ¹¤ëÊÖ»ö.
 0   0   2   03   (OX_SYNC_BALL)  0   0   2   03   (OX_SYNC_BALL)
 \end{verbatim}  \end{verbatim}
   
 \section{TCP/IP ¤Ç¤Î¥»¥Ã¥·¥ç¥ó¤Î¥¹¥¿¡¼¥È}  */
   
   
   //&jp \section{TCP/IP ¤Ç¤Î¥»¥Ã¥·¥ç¥ó¤Î¥¹¥¿¡¼¥È}
   //&eg \section{How to start a session on TCP/IP} (This section has not yet been translated.)
   
   /*&jp
 ¥³¥ó¥È¥í¡¼¥ë¥×¥í¥»¥¹, ·×»»¥×¥í¥»¥¹  ¥³¥ó¥È¥í¡¼¥ë¥×¥í¥»¥¹, ·×»»¥×¥í¥»¥¹
 ¤È¤â¤Ë, µ¯Æ°Ä¾¸å¤Ë  ¤È¤â¤Ë, µ¯Æ°Ä¾¸å¤Ë
 1 byte ¤Î¥Ç¡¼¥¿¤ò½ñ¤­½Ð¤· flush ¤¹¤ë.  1 byte ¤Î¥Ç¡¼¥¿¤ò½ñ¤­½Ð¤· flush ¤¹¤ë.
Line 1559  Byte order for engine process is network byte order.
Line 1815  Byte order for engine process is network byte order.
 \end{verbatim}  \end{verbatim}
 }  }
   
 \section{ ¥ª¥Ö¥¸¥§¥¯¥È¤Îʸ»úÎóɽ¸½ }  */
   
   //&jp \section{ ¥ª¥Ö¥¸¥§¥¯¥È¤Îʸ»úÎóɽ¸½ }
   //&eg \section{ String expression of objects}
   
   /*&jp
 Ê¸»úÎóɽ¸½¤Ï, ¥·¥¹¥Æ¥à xxx ¤Î¥Þ¥Ë¥å¥¢¥ë¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ë°ì¼¡¸µÅªÆþ½ÐÎÏ·Á¼°¤Ë  Ê¸»úÎóɽ¸½¤Ï, ¥·¥¹¥Æ¥à xxx ¤Î¥Þ¥Ë¥å¥¢¥ë¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ë°ì¼¡¸µÅªÆþ½ÐÎÏ·Á¼°¤Ë
 ¤·¤¿¤¬¤¦.  ¤·¤¿¤¬¤¦.
   
   */
   /*&eg
   The string expression of objects of the system xxx is also used
   for a string expression for the OX xxx server.
   
 \section{ ¿ô, ¿¹à¼° ¤Î  CMO ɽ¸½ }  */
   
   
 ¥¿¥°¤Î¼ïÎà.  //&jp \section{ ¿ô, ¿¹à¼° ¤Î  CMO ɽ¸½ }
   //&eg \section{ CMOexpressions for numbers and polynomials }
   
   /*&C
 @../SSkan/plugin/cmotag.h  @../SSkan/plugin/cmotag.h
 \begin{verbatim}  \begin{verbatim}
 #define     CMO_MONOMIAL32  19  #define     CMO_MONOMIAL32  19
 #define     CMO_ZZ          20  #define     CMO_ZZ          20
 /* #define     CMO_ZZ          32 */  
 #define     CMO_QQ          21  #define     CMO_QQ          21
 #define     CMO_ZERO        22  #define     CMO_ZERO        22
 /* #define     CMO_DMS          23    Distributed monomial system */  
 #define     CMO_DMS_GENERIC  24  #define     CMO_DMS_GENERIC  24
 #define     CMO_DMS_OF_N_VARIABLES  25  #define     CMO_DMS_OF_N_VARIABLES  25
 #define     CMO_RING_BY_NAME   26  #define     CMO_RING_BY_NAME   26
Line 1589  Byte order for engine process is network byte order.
Line 1854  Byte order for engine process is network byte order.
 #define     CMO_LAMBDA         62    /* for function definition */  #define     CMO_LAMBDA         62    /* for function definition */
 \end{verbatim}  \end{verbatim}
   
   */
   
   /*&jp
 °Ê²¼, ¥°¥ë¡¼¥× CMObject/Basic1, CMObject/Tree  °Ê²¼, ¥°¥ë¡¼¥× CMObject/Basic1, CMObject/Tree
 ¤ª¤è¤Ó CMObject/DistributedPolynomial  ¤ª¤è¤Ó CMObject/DistributedPolynomial
 ¤Ë°¤¹¤ë CMObject ¤Î·Á¼°¤òÀâÌÀ¤¹¤ë.  ¤Ë°¤¹¤ë CMObject ¤Î·Á¼°¤òÀâÌÀ¤¹¤ë.
 \noroa{ tagged list ¤òƳÆþ¤¹¤Ù¤­¤«?  cf. SSkan/plugin/cmo.txt }  \noroa{ tagged list ¤òƳÆþ¤¹¤Ù¤­¤«?  cf. SSkan/plugin/cmo.txt }
   
 ³ÈÄ¥ BNF µ­Ë¡¤È CMOexpression ¤ò¤Þ¤¼¤¿µ­Ë¡¤ÇÄêµÁ¤¹¤ë.  */
 --- ¤Ç¤Ï¤¸¤Þ¤ëʸ¤Ï¥³¥á¥ó¥È¤Ç¤¢¤ë.  /*&eg
   In the sequel, we will explain on the groups
   CMObject/Basic1, CMObject/Tree
   and CMObject/DistributedPolynomial.
   */
   
   /*&jp
   
 \bigbreak  \bigbreak
 \noindent  \noindent
 Group CMObject/Basic1 requires CMObject/Basic0. \\  Group CMObject/Basic1 requires CMObject/Basic0. \\
Line 1614  ZZ, QQ, Zero, Rational, Indeterminate,$\in$ CMObject/B
Line 1888  ZZ, QQ, Zero, Rational, Indeterminate,$\in$ CMObject/B
 \mbox{Indeterminate}        &:& ({\tt CMO\_INDETERMINATE}, {\sl Cstring}\, {\rm v}) \\  \mbox{Indeterminate}        &:& ({\tt CMO\_INDETERMINATE}, {\sl Cstring}\, {\rm v}) \\
 & & \mbox{ --- ÊÑ¿ô̾ $v$ . } \\  & & \mbox{ --- ÊÑ¿ô̾ $v$ . } \\
 \end{eqnarray*}  \end{eqnarray*}
   */
   /*&eg
   
   \bigbreak
   \noindent
   Group CMObject/Basic1 requires CMObject/Basic0. \\
   ZZ, QQ, Zero, Rational, Indeterminate,$\in$ CMObject/Basic1. \\
   \begin{eqnarray*}
   \mbox{Zero} &:& ({\tt CMO\_ZERO}) \\
   & & \mbox{ --- Universal zero } \\
   \mbox{ZZ}         &:& ({\tt CMO\_ZZ},{\sl int32}\, {\rm f}, {\sl byte}\, \mbox{a[1]}, \ldots
   {\sl byte}\, \mbox{a[m]} ) \\
   &:& \mbox{ --- bignum. The meaning of a[i] will be explained later.}\\
   \mbox{QQ}        &:& ({\tt CMO\_QQ}, {\sl ZZ}\, {\rm a}, {\sl ZZ}\, {\rm b}) \\
   & & \mbox{ --- Rational number $a/b$. } \\
   \mbox{Rational}        &:& ({\tt CMO\_RATIONAL}, {\sl CMObject}\, {\rm a}, {\sl CMObject}\, {\rm b}) \\
   & & \mbox{ ---  Rational expression $a/b$. } \\
   \mbox{Indeterminate}        &:& ({\tt CMO\_INDETERMINATE}, {\sl Cstring}\, {\rm v}) \\
   & & \mbox{ --- Variable name $v$ . } \\
   \end{eqnarray*}
   */
   /*&C
   
   */
   
   /*&jp
 Indeterminate ¤ÏÊÑ¿ô̾¤ò¤¢¤é¤ï¤¹.  Indeterminate ¤ÏÊÑ¿ô̾¤ò¤¢¤é¤ï¤¹.
 v ¤Ï¥Ð¥¤¥ÈÎó¤Ç¤¢¤ì¤Ð¤Ê¤Ë¤òÍѤ¤¤Æ¤â¤è¤¤¤¬,  v ¤Ï¥Ð¥¤¥ÈÎó¤Ç¤¢¤ì¤Ð¤Ê¤Ë¤òÍѤ¤¤Æ¤â¤è¤¤¤¬,
 ¥·¥¹¥Æ¥àËè¤ËÊÑ¿ô̾¤È¤·¤ÆÍѤ¤¤é¤ì¤ë¥Ð¥¤¥ÈÎó¤ÏÀ©¸Â¤¬¤¢¤ë.  ¥·¥¹¥Æ¥àËè¤ËÊÑ¿ô̾¤È¤·¤ÆÍѤ¤¤é¤ì¤ë¥Ð¥¤¥ÈÎó¤ÏÀ©¸Â¤¬¤¢¤ë.
Line 1624  v ¤Ï¥Ð¥¤¥ÈÎó¤Ç¤¢¤ì¤Ð¤Ê¤Ë¤òÍѤ¤¤Æ¤â¤è¤¤¤¬,
Line 1923  v ¤Ï¥Ð¥¤¥ÈÎó¤Ç¤¢¤ì¤Ð¤Ê¤Ë¤òÍѤ¤¤Æ¤â¤è¤¤¤¬,
 {\tt Dx} ¤Ï {\tt \#dx} ¤ÈÊÑ´¹¤¹¤ë¤Ê¤É¤Î  {\tt Dx} ¤Ï {\tt \#dx} ¤ÈÊÑ´¹¤¹¤ë¤Ê¤É¤Î
 escape sequence ¤òÍѤ¤¤Æ¼Â¸½¤¹¤ë¤Î¤Ï, ̵Íý¤¬¤¢¤ë¤è¤¦¤Ç¤¢¤ë.  escape sequence ¤òÍѤ¤¤Æ¼Â¸½¤¹¤ë¤Î¤Ï, ̵Íý¤¬¤¢¤ë¤è¤¦¤Ç¤¢¤ë.
 ¥Æ¡¼¥Ö¥ë¤òºîÀ®¤¹¤ëɬÍפ¬¤¢¤ë¤Ç¤¢¤í¤¦.)  ¥Æ¡¼¥Ö¥ë¤òºîÀ®¤¹¤ëɬÍפ¬¤¢¤ë¤Ç¤¢¤í¤¦.)
   */
   /*&eg
   Indeterminate is a name of a variable.
   v may be any sequence of bytes, but each system has its own
   restrictions on the names of variables.
   Indeterminates of CMO and internal variable names must be translated
   in one to one correspondence.
   */
   
   /*&jp
   
 \noindent  \noindent
 Group CMObject/Tree requires CMObject/Basic1. \\  Group CMObject/Tree requires CMObject/Basic1. \\
 Tree, Lambda $\in$ CMObject/Basic1. \\  Tree, Lambda $\in$ CMObject/Basic1. \\
Line 1639  Tree, Lambda $\in$ CMObject/Basic1. \\
Line 1948  Tree, Lambda $\in$ CMObject/Basic1. \\
 & & \mbox{ --- body ¤ò args ¤ò°ú¿ô¤È¤¹¤ë´Ø¿ô¤È¤¹¤ë. } \\  & & \mbox{ --- body ¤ò args ¤ò°ú¿ô¤È¤¹¤ë´Ø¿ô¤È¤¹¤ë. } \\
 & & \mbox{ --- optional ¤Ê°ú¿ô¤¬É¬ÍפʤȤ­¤Ï, leaves ¤Î¸å¤Ø¤Ä¤Å¤±¤ë.} \\  & & \mbox{ --- optional ¤Ê°ú¿ô¤¬É¬ÍפʤȤ­¤Ï, leaves ¤Î¸å¤Ø¤Ä¤Å¤±¤ë.} \\
 \end{eqnarray*}  \end{eqnarray*}
   */
   /*&eg
   
   \noindent
   Group CMObject/Tree requires CMObject/Basic1. \\
   Tree, Lambda $\in$ CMObject/Basic1. \\
   \begin{eqnarray*}
   \mbox{Tree}        &:& ({\tt CMO\_TREE}, {\sl Cstring}\, {\rm name},
    {\sl Cstring}\, {\rm cdname}, {\sl List}\, {\rm leaves}) \\
   & & \mbox{ --- A function or a constant of name. Functions are not evaluated. } \\
   & & \mbox{ --- cdname may be a null. If it is not null, it is the name of}\\
   & & \mbox{ --- the OpenMath CD (content dictionary). } \\
   \mbox{Lambda}        &:& ({\tt CMO\_LAMBDA}, {\sl List}\, {\rm args},
                             {\sl Tree} {\rm body}) \\
   & & \mbox{ --- a function with the arguments body. } \\
   & & \mbox{ --- optional arguments come after leaves.} \\
   \end{eqnarray*}
   */
   
   /*&jp
   
 ¿ô¼°¤ò½èÍý¤¹¤ë¥·¥¹¥Æ¥à¤Ç¤Ï, Tree ¹½Â¤¤¬°ìÈ̤ˤâ¤Á¤¤¤é¤ì¤ë.  ¿ô¼°¤ò½èÍý¤¹¤ë¥·¥¹¥Æ¥à¤Ç¤Ï, Tree ¹½Â¤¤¬°ìÈ̤ˤâ¤Á¤¤¤é¤ì¤ë.
 ¤¿¤È¤¨¤Ð, $\sin(x+e)$ ¤Ï,  ¤¿¤È¤¨¤Ð, $\sin(x+e)$ ¤Ï,
 {\tt (sin, (plus, x, e))}  {\tt (sin, (plus, x, e))}
Line 1676  Lisp ¤Î Lambda É½¸½¤ÈƱ¤¸.
Line 2004  Lisp ¤Î Lambda É½¸½¤ÈƱ¤¸.
 )  )
 \end{verbatim}  \end{verbatim}
   
   \noindent
   Example:
   \begin{verbatim}
   sm1> [(plus) (Basic) [(123).. (345)..]] [(class) (tree)] dc ::
   Class.tree [    $plus$ , $Basic$ , [    123 , 345 ]  ]
   \end{verbatim}
   
   
   
 \bigbreak  \bigbreak
 ¼¡¤Ë, ʬ»¶É½¸½Â¿¹à¼°¤Ë´Ø·¸¤¹¤ë¥°¥ë¡¼¥×¤òÄêµÁ¤·¤è¤¦.  ¼¡¤Ë, ʬ»¶É½¸½Â¿¹à¼°¤Ë´Ø·¸¤¹¤ë¥°¥ë¡¼¥×¤òÄêµÁ¤·¤è¤¦.
   
Line 1858  $ 3 x^2 y$ ¤Ï 6 ÊÑ¿ô¤Î¿¹à¼°´Ä¤Î¸µ¤È¤·¤Æ¤ß¤Ê¤µ¤ì¤Æ¤¤¤ë
Line 2194  $ 3 x^2 y$ ¤Ï 6 ÊÑ¿ô¤Î¿¹à¼°´Ä¤Î¸µ¤È¤·¤Æ¤ß¤Ê¤µ¤ì¤Æ¤¤¤ë
   
   
   
 \section{ºÆµ¢É½¸½Â¿¹à¼°¤ÎÄêµÁ}  %% From this/noro/rp.tex  \subsection{ºÆµ¢É½¸½Â¿¹à¼°¤ÎÄêµÁ}
   
 \begin{verbatim}  \begin{verbatim}
 #define CMO_RECURSIVE_POLYNOMIAL        27  #define CMO_RECURSIVE_POLYNOMIAL        27
Line 1917  $$   x^3 (1234 y^5 + 17 ) +  x^1 (y^10 + 31 y^5)  $$
Line 2253  $$   x^3 (1234 y^5 + 17 ) +  x^1 (y^10 + 31 y^5)  $$
 Èó²Ä´¹Â¿¹à¼°¤â¤³¤Î·Á¼°¤Ç¤¢¤é¤ï¤·¤¿¤¤¤Î¤Ç, ÀѤνç½ø¤ò¾å¤Î¤è¤¦¤Ë  Èó²Ä´¹Â¿¹à¼°¤â¤³¤Î·Á¼°¤Ç¤¢¤é¤ï¤·¤¿¤¤¤Î¤Ç, ÀѤνç½ø¤ò¾å¤Î¤è¤¦¤Ë
 ¤¹¤ë¤³¤È. ¤Ä¤Þ¤ê, ¼çÊÑ¿ô¤«¤±¤ë·¸¿ô¤Î½çÈÖ.  ¤¹¤ë¤³¤È. ¤Ä¤Þ¤ê, ¼çÊÑ¿ô¤«¤±¤ë·¸¿ô¤Î½çÈÖ.
   
   \noindent
   \begin{verbatim}
   sm1
   sm1>(x^2-h). [(class) (recursivePolynomial)] dc /ff set ;
   sm1>ff ::
   Class.recursivePolynomial h * ((-1)) + (x^2  * (1))
   \end{verbatim}
   
   
   
 int32 ¤È Integer32 ¤Î°ã¤¤.  int32 ¤È Integer32 ¤Î°ã¤¤.
 ¼¡¤Ë¤¯¤ë¥Ç¡¼¥¿¤¬¤«¤Ê¤é¤º int32 ¤È¤ï¤«¤Ã¤Æ¤ª¤ì¤Ð,  ¼¡¤Ë¤¯¤ë¥Ç¡¼¥¿¤¬¤«¤Ê¤é¤º int32 ¤È¤ï¤«¤Ã¤Æ¤ª¤ì¤Ð,
 int32 ¤òÍѤ¤¤ë.  int32 ¤òÍѤ¤¤ë.
 ¼¡¤Î¥Ç¡¼¥¿·¿¤¬¤ï¤«¤é¤Ê¤¤¤È¤­ Integer32 ¤òÍѤ¤¤ë.  ¼¡¤Î¥Ç¡¼¥¿·¿¤¬¤ï¤«¤é¤Ê¤¤¤È¤­ Integer32 ¤òÍѤ¤¤ë.
   
   
 \section{CPU°Í¸¤Î double }  \subsection{CPU°Í¸¤Î double }
   
 \begin{verbatim}  \begin{verbatim}
 #define CMO_64BIT_MACHINE_DOUBLE   40  #define CMO_64BIT_MACHINE_DOUBLE   40
Line 2064  CMO ¤Î stream ¤Ø¤ÎžÁ÷, stream ¤è¤ê¤ÎžÁ÷¤Ï,
Line 2410  CMO ¤Î stream ¤Ø¤ÎžÁ÷, stream ¤è¤ê¤ÎžÁ÷¤Ï,
 \end{enumerate}  \end{enumerate}
   
   
   \subsection{Îò»Ë}
 kan -- asir ´Ö¤Ç¤â°Ê¾å¤Î¤è¤¦¤Ë³«È¯¤¬¤¹¤¹¤ó¤À.  kan -- asir ´Ö¤Ç¤â°Ê¾å¤Î¤è¤¦¤Ë³«È¯¤¬¤¹¤¹¤ó¤À.
   
 Risa/Asir ¤Î³«È¯¤¬¾ÂÄŤÎÉٻΥե©¡¼¥é¥à¤Ç¤ª¤³¤Ê¤ï¤ì¤Æ¤¤¤¿  Risa/Asir ¤Î³«pȯ¤¬¾ÂÄŤÎÉٻΥե©¡¼¥é¥à¤Ç¤ª¤³¤Ê¤ï¤ì¤Æ¤¤¤¿
 ¤³¤í, »ä¤¬¾ÂÄŤò, 1996ǯ, 1·î19Æü¤ËˬÌ䤷,  ¤³¤í, »ä¤¬¾ÂÄŤò, 1996ǯ, 1·î19Æü¤ËˬÌ䤷,
 {\tt Asir\_executeString()}  {\tt Asir\_executeString()}
 ¤Îµ¡Ç½¤òÌîϤ¤µ¤ó¤Ë½ñ¤¤¤Æ¤â¤é¤Ã¤Æ, kan ¤è¤ê asir ¤òʸ»úÎó¤Ç¸Æ¤Ó½Ð¤¹  ¤Îµ¡Ç½¤òÌîϤ¤µ¤ó¤Ë½ñ¤¤¤Æ¤â¤é¤Ã¤Æ, kan ¤è¤ê asir ¤òʸ»úÎó¤Ç¸Æ¤Ó½Ð¤¹
Line 2118  open XM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ò¼Â¸½¤·¤Æ¤¤¤ë.
Line 2465  open XM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ò¼Â¸½¤·¤Æ¤¤¤ë.
 {\tt ox\_lauch} ¤Ê¤ë̾Á°¤Ç¤¢¤ë¤¬, µ¡Ç½¤ÏƱ¤¸¤Ç¤¢¤ë.  {\tt ox\_lauch} ¤Ê¤ë̾Á°¤Ç¤¢¤ë¤¬, µ¡Ç½¤ÏƱ¤¸¤Ç¤¢¤ë.
 {\tt ox} ¤Î¥½¡¼¥¹¤Ï {\tt oxmain.c} ¤Ç¤¢¤ë.  {\tt ox} ¤Î¥½¡¼¥¹¤Ï {\tt oxmain.c} ¤Ç¤¢¤ë.
   
   \subsubsection{OpenXM/src/ox\_toolkit ¤Ë¤¢¤ë¥µ¥ó¥×¥ë¼ÂÁõ}
   ¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î²òÀâʸ½ñ¤ò¸«¤è.
   
 \subsubsection{ ox\_null }  \subsubsection{ ox\_null }
   
Line 2305  CMObject ¤È kan/sm1 ¤Î object ¤Ï¼¡¤Îµ¬Â§¤Ë¤·¤¿¤¬¤¤ÊÑ´¹
Line 2654  CMObject ¤È kan/sm1 ¤Î object ¤Ï¼¡¤Îµ¬Â§¤Ë¤·¤¿¤¬¤¤ÊÑ´¹
   
 {\tt OxVersion} ÊÑ¿ô¤Ç openXM ¤Î¥×¥í¥È¥³¥ë¤Î version ¤òɽ¤¹.  {\tt OxVersion} ÊÑ¿ô¤Ç openXM ¤Î¥×¥í¥È¥³¥ë¤Î version ¤òɽ¤¹.
   
   \subsubsection{ {\tt ox\_sm1} ¤òÍѤ¤¤¿¥¯¥é¥¤¥¢¥ó¥È¤Î¥Æ¥¹¥ÈÊýË¡ }
   ¤Þ¤À¤«¤¤¤Æ¤Ê¤¤.
   
   \subsubsection{ {\tt Asir} ¤òÍѤ¤¤¿¥µ¡¼¥Ð¤Î¥Æ¥¹¥ÈÊýË¡ }
   
 \subsection{ ºÇ¾®¤Î TCP/IP ¥¯¥é¥¤¥¢¥ó¥È¤ÎÎã }  \subsection{ ºÇ¾®¤Î TCP/IP ¥¯¥é¥¤¥¢¥ó¥È¤ÎÎã }
   
 Java ¤Þ¤¿¤Ï M2 ¤Ë¤è¤ë¥½¡¼¥¹¥³¡¼¥É¤ò·ÇºÜ¤ÎͽÄê.  Java ¤Þ¤¿¤Ï M2 ¤Ë¤è¤ë¥½¡¼¥¹¥³¡¼¥É¤ò·ÇºÜ¤ÎͽÄê.
Line 2384  Free Mathematical Software Initiative ¤òºî¤ë¤Ù¤­¤À¤í¤¦
Line 2738  Free Mathematical Software Initiative ¤òºî¤ë¤Ù¤­¤À¤í¤¦
   
 \subsection{ Change log }  \subsection{ Change log }
 \begin{enumerate}  \begin{enumerate}
   \item 1997/11/20 : ¤³¤Î document ¤ÎºÇ½é¤Î version ¤¬À¸¤Þ¤ì¤¿.
     kxx/openxxx.tex ¤Ê¤ë̾Á°¤Ç¤¢¤Ã¤¿.
 \item 1999/07 : {\tt CMO\_ZZ} ¤Î·Á¼°¤òÊѤ¨¤¿.  \item 1999/07 : {\tt CMO\_ZZ} ¤Î·Á¼°¤òÊѤ¨¤¿.
 \item 1999/09/7, 9/8 : ʬ»¶É½¸½Â¿¹à¼°, Mathcap, RecursivePolynomial,  \item 1999/09/7, 9/8 : ʬ»¶É½¸½Â¿¹à¼°, Mathcap, RecursivePolynomial,
 ¤Î·Á¼°¤òÊѤ¨¤¿. asir, sm1 ¤Ë¼ÂÁõ¤·¤¿. ¥¨¥é¡¼½èÍý¤Î¤¿¤á¤Ë,  ¤Î·Á¼°¤òÊѤ¨¤¿. asir, sm1 ¤Ë¼ÂÁõ¤·¤¿. ¥¨¥é¡¼½èÍý¤Î¤¿¤á¤Ë,
Line 2635  Example:
Line 2991  Example:
 ¿ô¼°½èÍý, Vol 7, No 2, 2--17. (ISBN4-87243-086-7, SEG ½ÐÈÇ, Tokyo). \\  ¿ô¼°½èÍý, Vol 7, No 2, 2--17. (ISBN4-87243-086-7, SEG ½ÐÈÇ, Tokyo). \\
 {\tt http://www.math.kobe-u.ac.jp/openxxx/}  {\tt http://www.math.kobe-u.ac.jp/openxxx/}
 \end{thebibliography}  \end{thebibliography}
   */
   
   /*&C
 \bigbreak  \bigbreak
 \bigbreak  \bigbreak
 \bigbreak  \bigbreak
Line 2656  Example:
Line 3014  Example:
 }  }
   
 \end{document}  \end{document}
   */
   

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

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