=================================================================== RCS file: /home/cvs/OpenXM/src/kxx/openxxx.tex,v retrieving revision 1.2 retrieving revision 1.3 diff -u -p -r1.2 -r1.3 --- OpenXM/src/kxx/openxxx.tex 1999/10/30 02:24:27 1.2 +++ OpenXM/src/kxx/openxxx.tex 1999/11/02 09:07:33 1.3 @@ -7,7 +7,7 @@ } , ¹â»³¿®µ£\thanks{¿À¸ÍÂç³ØÍý³ØÉô¿ô³Ø¶µ¼¼} } -\date{ 1999ǯ, 10·î30Æü} +\date{ 1999ǯ, 11·î2Æü} \begin{document} \maketitle @@ -160,7 +160,7 @@ mathcap (¸å½Ò) Ì䤤¹ç¤ï¤»¤ËÂФ·¤Æ, CMObject Error2 ¤Ï \\ \begin{tabular}{|c|c|} \hline -{\tt int32 CMO\_ERROR2} & {\it CMObject} ob \\ +{\tt int32 CMO\_ERROR2} & {\sl CMObject} {\rm ob} \\ \hline \end{tabular} \\ ¤Ê¤ë·Á¤Çɽ¸½¤¹¤ë. @@ -182,7 +182,7 @@ CMObject Null ¤Ï \\ 32 bit integer n ¤Ï CMObject ¤È¤·¤Æ¤Ï Integer32 ¤È¸Æ¤Ð¤ì, \\ \begin{tabular}{|c|c|} \hline -{\tt int32 CMO\_INT32}& {\tt int32 n} \\ +{\tt int32 CMO\_INT32}& {\tt int32} {\rm n} \\ \hline \end{tabular} \\ ¤Ê¤ë·Á¤Çɽ¸½¤¹¤ë. @@ -191,9 +191,10 @@ CMObject Null ¤Ï \\ Ťµ n ¤Î ¥Ð¥¤¥ÈÎó data ¤Ï CMObject ¤È¤·¤Æ¤Ï, Datum ·¿¤È¤è¤Ð¤ì \\ \begin{tabular}{|c|c|c|c|} \hline -{\tt int32 CMO\_DATUM}& {\tt int32 n} & {\tt byte data[0]} & {\tt byte data[1]} \\ +{\tt int32 CMO\_DATUM}& {\tt int32} {\rm n} & {\tt byte} {\rm data[0]} +& {\tt byte} {\rm data[1]} \\ \hline -$\cdots$ & {\tt byte data[n-1]} \\ +$\cdots$ & {\tt byte} {\rm data[n-1]} \\ \cline{1-2} \end{tabular} \\ ¤Èɽ¸½¤¹¤ë. @@ -202,9 +203,10 @@ data ¤ÎÉôʬ¤ËľÎó²½ (serialized) ¤µ¤ì¤¿ CMO ¤¬Æþ¤ë¤³¤È Ťµ n ¤Î ʸ»úÎó data ¤Ï, CMObject ¤È¤·¤Æ¤Ï, Cstring ·¿¤È¤è¤Ð¤ì \\ \begin{tabular}{|c|c|c|c|} \hline -{\tt int32 CMO\_STRING}& {\tt int32 n} & {\tt byte data[0]} & {\tt byte data[1]} \\ +{\tt int32 CMO\_STRING}& {\tt int32} {\rm n} & {\tt byte} {\rm data[0]} +& {\tt byte} {\rm data[1]} \\ \hline -$\cdots$ & {\tt byte data[n-1]} \\ +$\cdots$ & {\tt byte} {\rm data[n-1]} \\ \cline{1-2} \end{tabular} \\ ¤Èɽ¸½¤¹¤ë. C ¸À¸ì¤ÇÉáÄÌÍѤ¤¤é¤ì¤ë, ʸ»úÎó¤Î¤ª¤ï¤ê¤Î {\tt 0} ¤Ïʸ»úÎó @@ -214,9 +216,9 @@ $\cdots$ & {\tt byte data[n-1]} \\ Ťµ n ¤Î 32bit network byte order ¤Î data ¤Î array ¤Ï \\ \begin{tabular}{|c|c|c|c|c|c|} \hline -{\tt int32 CMO\_ARRAYOFINT32}& {\tt int32 n} & -{\tt data[0]} & {\tt data[1]}&$\cdots$ -& {\tt data[n-1]} \\ +{\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 ¤ÎÂ礭¤µ¤ò»ý¤Ä. @@ -226,7 +228,7 @@ $\cdots$ & {\tt byte data[n-1]} \\ CMObject Mathcap ¤Ï \\ \begin{tabular}{|c|c|} \hline -{\tt int32 CMO\_MATHCAP} & {\it CMObject} ob \\ +{\tt int32 CMO\_MATHCAP} & {\it CMObject} {\rm ob} \\ \hline \end{tabular} \\ ¤Ê¤ë·Á¤Çɽ¸½¤¹¤ë. @@ -238,10 +240,10 @@ Cstring ¤Çɽ¤·¤¿¥·¥¹¥Æ¥à̾, Version number, CPUtype, ¤ CMO ¥¿¥°¤ò, Integer32 ¤Çɽ¸½¤·¤¿¤â¤Î¤ò½¸¤á¤¿¥ê¥¹¥È¤Ç¤¢¤ë. \noindent -Ťµ $m$ ¤Î¥ê¥¹¥È¤Ï \\ +Ťµ m ¤Î¥ê¥¹¥È¤Ï \\ \begin{tabular}{|c|c|c|c|c|} \hline -{\tt int32 CMO\_LIST}& {\tt int32 $m$} & {\tt CMObject}\, ob[0] & $\cdots$ & +{\tt int32 CMO\_LIST}& {\tt int32} {\rm m} & {\tt CMObject}\, ob[0] & $\cdots$ & {\tt CMObject}\, ob[$m-1$] \\ \hline \end{tabular}\\ @@ -328,7 +330,7 @@ Document of CMObject/Basic0 is at {\tt http://www.math \mbox{Datum} &:& ({\tt CMO\_DATUM}, {\sl int32}\, \mbox{n}, {\sl byte}\, \mbox{data[0]}, \ldots , {\sl byte}\, \mbox{data[n-1]}) \\ -\mbox{Cstring}&:& ({\tt CMO\_STRING},{\sl int32}\, \mbox{n}, +\mbox{Cstring}&:& ({\tt CMO\_STRING},{\sl int32}\, \mbox{ n}, {\sl string}\, \mbox{s}) \\ \mbox{Mathcap}&:& ({\tt CMO\_MATHCAP},{\sl CMObject}\, \mbox{ob} ) \\ \mbox{List} &:& @@ -339,7 +341,7 @@ Document of CMObject/Basic0 is at {\tt http://www.math Cstring ¤Ç, {\sl string} s ¤ÎÉôʬ¤ò {\tt byte} ¤Ëʬ²ò¤¹¤ì¤Ð, \begin{eqnarray*} -\mbox{Cstring}&:& ({\tt CMO\_STRING},{\sl int32}\, n, +\mbox{Cstring}&:& ({\tt CMO\_STRING},{\sl int32}\, \mbox{ n}, {\sl byte}\, \mbox{s[0]}, \ldots, {\sl byte}\ \mbox{s[n-1]}) \end{eqnarray*} @@ -755,15 +757,18 @@ content dictionary (CD) ¤Î·Á¤ÇÄêµÁ¤·¤¿¤¤. {\tt int32 OX\_DATA} ¤Ï 32 bit network byte order ¤Î¿ô»ú {\tt OX\_DATA} ¤È¤¤¤¦°ÕÌ£¤Ç¤¢¤ë. -¥¤¥¿¥ê¥Ã¥¯¤Ç½ñ¤«¤ì¤Æ¤¤¤ë¥Õ¥£¡¼¥ë¥É¤Ï, +``¥¤¥¿¥ê¥Ã¥¯¤Ç½ñ¤«¤ì¤Æ¤¤¤ë¥Õ¥£¡¼¥ë¥É¤Ï, ÄêµÁ¤¬Ê̤ΤȤ³¤í¤Ç¤Ê¤µ¤ì¤Æ¤¤¤ë¤«²ò¼á¤Ë¸í²ò¤Î¤Ê¤¤¤è¤¦¤Ê¼«Á³¸À¸ì -¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë object ¤òɽ¤¹. +¤ÇÀâÌÀ¤µ¤ì¤Æ¤¤¤ë object ¤òɽ¤¹.'' ¤¿¤È¤¨¤Ð, {\it String commandName} ¤Ï, String ¥Ç¡¼¥¿·¿¤Î local object {\it commandName} ¤ò°ÕÌ£¤¹¤ë. +(¥µ¡¼¥Ð¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¾å¤Î object ¤Ï, CMO ·Á¼°¤Î object +¤È¤Ï¸Â¤é¤Ê¤¤¤³¤È¤ËÃí°Õ. +CMO ·Á¼°¤Ç½ñ¤¤¤Æ¤¢¤Ã¤Æ¤â, ¤½¤ì¤Ï¥µ¡¼¥Ð¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Î +local ·Á¼°¤Ç¥¹¥¿¥Ã¥¯¾å¤Ë¤¢¤ë¤È²ò¼á¤·¤Æ²¼¤µ¤¤.) - ¤¹¤Ù¤Æ¤Î¥µ¡¼¥Ð¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ï °Ê²¼¤Î´Ø¿ô¤ò¼ÂÁõ¤·¤Æ¤¤¤Ê¤¤¤È¤¤¤±¤Ê¤¤. \begin{enumerate} @@ -790,7 +795,8 @@ CMObject/Basic0 ¤Î CMO ¥Ç¡¼¥¿¤Î¤¦¤Áɬ¿Ü¤Î¤â¤Î, ¤¿¤È¤¨¤Ð, {\tt CMO\_String} ¤Î¾ì¹ç¼¡¤Î¤è¤¦¤Ë¤Ê¤ë. \\ Request: \begin{tabular}{|c|c|c|c|c|c|} \hline -{\tt int32 OX\_DATA} & {\tt int32 CMO\_String} &{\tt int32 size} &{\tt byte s1} & $\cdots$ &{\tt byte ssize}\\ +{\tt int32 OX\_DATA} & {\tt int32 CMO\_String} &{\tt int32} {\rm size} +&{\tt byte} {\rm s1} & $\cdots$ &{\tt byte} {\rm ssize}\\ \hline \end{tabular} \\ Stack after the request: @@ -809,13 +815,14 @@ CMO ¥Ç¡¼¥¿¤Î¼õ¤±¼è¤ê¤Ë¼ºÇÔ¤·¤¿»þ¤Î¤ß \\ ¤ò¥¹¥¿¥Ã¥¯¤Ø push ¤¹¤ë. ¸½ºß¤Î¤È¤³¤í, ob ¤Ë¤Ï, \\ \centerline{ -{\it List} [{\it Integer32} OX ¥Ñ¥±¥Ã¥ÈÈÖ¹æ, {\it Integer32} ¥¨¥é¡¼ÈÖ¹æ, -{\it CMObject} optional ¾ðÊó] +[{\sl Integer32} OX ¥Ñ¥±¥Ã¥ÈÈÖ¹æ, {\sl Integer32} ¥¨¥é¡¼ÈÖ¹æ, +{\sl CMObject} optional ¾ðÊó] } -¤òÆþ¤ì¤ë¤¬, ¤³¤Î»ÅÍÍ¤Ï Common Error Object format ¤ÎÄêµÁ¤Ë¤è¤ê -Êѹ¹¤Î²ÄǽÀ­¤¬¤¢¤ë. +¤Ê¤ë¥ê¥¹¥È¤òÆþ¤ì¤ë (CMO ·Á¼°¤Ç¤«¤¤¤Æ¤¢¤ë¤¬, ¤³¤ì¤Ï¥µ¡¼¥ÐÆȼ«¤Î·Á¼°¤Ç¤è¤¤. +CMO ¤È¤·¤ÆÁ÷½Ð¤µ¤ì¤ë¤È¤­¤³¤Î¤è¤¦¤Ê·Á¼°¤Ç¤Ê¤¤¤È¤¤¤±¤Ê¤¤¤È¤¤¤¦°ÕÌ£¤Ç¤¢¤ë.) + \item \begin{verbatim} void *xxx_mathCap() @@ -1000,7 +1007,7 @@ object xxx_dupErrors(void) \end{tabular} \\ Result: \begin{tabular}{|c|c|c|} \hline -{\tt int32 OX\_DATA} & {\it CMObject} \ a list of errors\\ +{\tt int32 OX\_DATA} & {\sl CMObject} \ a list of errors\\ \hline \end{tabular} @@ -1020,14 +1027,14 @@ xxx ¤Î½é´ü²½¤ò¤ª¤³¤Ê¤¦. #include main() { -char tmp[1024]; -Asir_start(); -while (gets(tmp) != NULL) { -if (Asir_executeStringByLocalParser(tmp) != 0) { -printf("%s\n",Asir_popString()); + char tmp[1024]; + Asir_start(); + while (gets(tmp) != NULL) { + if (Asir_executeStringByLocalParser(tmp) != 0) { + printf("%s\n",Asir_popString()); + } + } } -} -} \end{verbatim} @@ -1297,8 +1304,9 @@ Digital signature ÉդΠ{\tt OX\_DATA} ¤Ï \noindent \begin{tabular}{|c|c|c|c|c|} \hline -{\tt int32 OX\_DATA\_WITH\_LENGTH} & {\tt int32} {\sl serial} & {\tt int32 size} -& {\it CMObject} & {\it tail} \\ +{\tt int32 OX\_DATA\_WITH\_LENGTH} & {\tt int32} {\rm serial} +& {\tt int32} {\rm size} +& {\sl CMObject} {\rm o} & {\it tail} \\ \hline \end{tabular} @@ -1307,12 +1315,12 @@ Digital signature ÉդΠ{\tt OX\_DATA} ¤Ï {\it tail } ¤Ï¼¡¤Î¤è¤¦¤ËÄêµÁ¤¹¤ë. \\ \noindent \begin{tabular}{|c|c|c|} \hline -{\tt int32 CMO\_START\_SIGNATURE} & {\tt int32 size} +{\tt int32 CMO\_START\_SIGNATURE} & {\tt int32} {\rm size} & {\it signature} \\ \hline \end{tabular} -¤³¤³¤Ç, {\tt size} ¤Ï {\it signature} Éô¤ÎŤµ. +¤³¤³¤Ç, {\tt size} ¤Ï¥Ð¥¤¥ÈÎó {\it signature} Éô¤ÎŤµ. {\it signature} ¤Ï, Hash ´Ø¿ô¤òÍѤ¤¤¿, {\it CMO data} ¤Ë¤¿¤¤¤¹¤ë, ¥Ç¥¸¥¿¥ë½ð̾¤ò¤¤¤ì, ÉÔÀµ¤Ê serialized object ¤ò¸¡½Ð¤¹¤ë. @@ -1320,7 +1328,7 @@ Tail ¤Î {\tt size} ¥Õ¥£¡¼¥ë¥É¤¬ 0 ¤Î¾ì¹ç, ¥Ç¥¸¥¿¥ë½ð̾ ¥¯¥é¥¤¥¢¥ó¥È, ¥µ¡¼¥Ð¤Î¼ÂÁõ¤Ë¤Ï¼¡¤Î3¤Ä¤ÎÁªÂò¤¬¤¢¤ë. \begin{enumerate} -\item {\tt OX\_DATA} ¤Î¤ß¤òÍѤ¤¤Æ CMObject ¤òÁ÷¤ë. +\item {\tt OX\_DATA} ¤Î¤ß¤òÍѤ¤¤Æ CMObject ¤òÁ÷¤ë (mathcap ÉÕ). \item {\tt OX\_SECURED\_DATA} ¤Î¤ß¤òÍѤ¤¤Æ CMObject ¤òÁ÷¤ë. \item {\tt OX\_DATA} ¤ª¤è¤Ó {\tt OX\_SECURED\_DATA} ¤òº®ºß¤·¤Æ @@ -1341,7 +1349,15 @@ Tail ¤Î {\tt size} ¥Õ¥£¡¼¥ë¥É¤¬ 0 ¤Î¾ì¹ç, ¥Ç¥¸¥¿¥ë½ð̾ ¸½ºß¤Î¤¹¤Ù¤Æ¤Î¥µ¥ó¥×¥ë¥µ¡¼¥Ð¤Ï, 1, 4 ¤Î¤ß¤ò¼ÂÁõ¤·¤Æ¤¤¤ë. +mathcap ¤Î¸ò´¹¤Ï¥»¥Ã¥·¥ç¥ó¤Î³«»Ï»þÅÀ¤Çɬ¿Ü¤È¤¤¤¦Ìõ¤Ç¤Ï¤Ê¤¤ +¤³¤È¤ËÃí°Õ¤µ¤ì¤¿¤¤. +¤¿¤È¤¨¤Ð, +¥â¡¼¥É 4 ¤ÇÄÌ¿®¤·¤Æ, +¤½¤ì¤«¤é, +mathcap ¤ò¸ò´¹¤·¤Æ, +¥â¡¼¥É 1 ¤Ø°Ü¹Ô¤¹¤ë¤³¤È¤â²Äǽ¤Ê¤è¤¦¤Ë¼ÂÁõ¤¹¤Ù¤­¤Ç¤¢¤ë. + \subsection{¥µ¡¼¥Ð¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ï¥í¡¼¥«¥ë¤Ê³ÈÄ¥µ¡Ç½¤ò¤â¤Ã¤Æ¤è¤¤} \begin{verbatim} @@ -1411,12 +1427,12 @@ add, sub, mul, ¤Ê¤É¤Î´ðËÜŪ¤Ê·×»»¤Ï {\tt SM\_executeFu \end{tabular} \\ Result: \begin{tabular}{|c|c|} \hline -{\tt int32 OX\_DATA} & {\it CMO\_INT32 result} \\ +{\tt int32 OX\_DATA} & {\tt CMO\_INT32} {\rm result} \\ \hline \end{tabular} +@@@ - \item ¥µ¡¼¥Ð¤Ï¤³¤Î¥á¥Ã¥»¡¼¥¸¤ò¼õ¿®¤·¤¿¤é¤¿¤À¤Á¤Ë¥³¥ó¥È¥í¡¼¥ë¥á¥Ã¥»¡¼¥¸¤Ø¤Î ÊÖÅú¤ò¤ª¤¯¤ê, ¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ò¥¯¥í¡¼¥º¤·¤Æ½ªÎ»¤¹¤ë. @@ -1468,9 +1484,9 @@ Reset ¤ËÂФ¹¤ëÊÖ»ö. {\tt 0} ¤Ï°Ê²¼¤ÎÄÌ¿®¤Ë¤ª¤¤¤Æ {\tt int32} ¤ò¤ª¤¯¤ë¤Î¤Ë, network byte order ¤ò»ÈÍѤ·¤¿¤¤, {\tt 1} ¤Ï°Ê²¼¤ÎÄÌ¿®¤Ë¤ª¤¤¤Æ {\tt int32} ¤ò¤ª¤¯¤ë¤Î¤Ë, -little indian ¤ò»ÈÍѤ·¤¿¤¤, +little endian ¤ò»ÈÍѤ·¤¿¤¤, {\tt FF} ¤Ï°Ê²¼¤ÎÄÌ¿®¤Ë¤ª¤¤¤Æ {\tt int32} ¤ò¤ª¤¯¤ë¤Î¤Ë, -big indian ¤ò»ÈÍѤ·¤¿¤¤, +big endian ¤ò»ÈÍѤ·¤¿¤¤, ¤È¤¤¤¦°ÕÌ£¤Ç¤¢¤ë. ξ¼Ô¤Î´õ˾¤¬°ìÃפ·¤Ê¤¤¾ì¹ç¤Ï¤Ä¤Í¤Ë {\tt 0} (network byte order) ¤ò»ÈÍѤ¹¤ë. @@ -1481,8 +1497,8 @@ Network byte order ¤·¤«¼ÂÁõ¤·¤Æ¤¤¤Ê¤¤¥·¥¹¥Æ¥à¤Ç¤Ï, \begin{verbatim} #define OX_BYTE_NETWORK_BYTE_ORDER 0 -#define OX_BYTE_LITTLE_INDIAN 1 -#define OX_BYTE_BIG_INDIAN 0xff +#define OX_BYTE_LITTLE_ENDIAN 1 +#define OX_BYTE_BIG_ENDIAN 0xff \end{verbatim} @@ -1491,9 +1507,10 @@ Network byte order ¤·¤«¼ÂÁõ¤·¤Æ¤¤¤Ê¤¤¥·¥¹¥Æ¥à¤Ç¤Ï, ¤Îµ¡Ç½¤ò¤â¤Ã¤Æ¤¤¤Þ¤¹. ¤³¤Îµ¡Ç½¤ò OFF ¤Ë¤¹¤ë¤Ë¤Ï {\tt -insecure} option ¤ò»ÈÍѤ·¤Æ²¼¤µ¤¤. One Time Password ¤Ï 0 ¤Ç½ªÎ»¤¹¤ë¥Ð¥¤¥ÈÎó¤Ç¤¢¤ê, -¥³¥ó¥È¥í¡¼¥ë, ·×»»ÁÐÊý¤Î¥×¥í¥»¥¹¤Ï, -¾åµ­¤Î byte order ¤Î·èÄêÍѤΠ1 byte ¤ò½ñ¤­½Ð¤¹Á°¤Ë -One Time Password ¥Ð¥¤¥ÈÎó¤òÁ÷½Ð¤·¤Ê¤¤¤È¤¤¤±¤Þ¤»¤ó. +¥³¥ó¥È¥í¡¼¥ë, ·×»»ÁÐÊý¤Î¥×¥í¥»¥¹¤ò¤¿¤Á¤¢¤²¤ë¤Þ¤¨¤Ë, +{\tt ox} ¤Ï¥³¥ó¥È¥í¡¼¥ë, ·×»»ÁÐÊý¤Î¥×¥í¥»¥¹¤ËÂбþ¤¹¤ë, +¤Õ¤¿¤Ä¤Î¥Ý¡¼¥È¤Ë +One Time Password ¥Ð¥¤¥ÈÎó¤òÁ÷½Ð¤·¤Æ¤¤¤Þ¤¹. {\tt ox} (¥½¡¼¥¹¤Ï {\tt oxmain.c}, {\tt kan96xx/plugin/oxmisc.c})¤Ë¤ª¤¤¤Æ¤Ï {\tt oxTellMyByteOrder()} ¤¬, ¥µ¡¼¥Ð¤Ë¤Ä¤¤¤Æ¤Î byte order ¾ðÊó¤Î @@ -1501,6 +1518,47 @@ One Time Password ¥Ð¥¤¥ÈÎó¤òÁ÷½Ð¤·¤Ê¤¤¤È¤¤¤±¤Þ¤»¤ó. ¥¯¥é¥¤¥¢¥ó¥È¤Ë¤Ä¤¤¤Æ¤Ï, {\tt oxSetByteOrder()} ¤¬, byte order ¾ðÊó¤ÎÆɤ߹þ¤ß, Á÷½Ð¤ò¤ª¤³¤Ê¤Ã¤Æ¤¤¤ë. +One time ¥Ñ¥¹¥ï¡¼¥É¤Ï°ÂÁ´¤ÊÄÌ¿®Ï©¤ÇÇÛÁ÷¤µ¤ì¤ëɬÍפ¬¤¢¤ê¤Þ¤¹. +¤Þ¤¿, ¸½ºß¤Î {\rm ox} ¤Î¼ÂÁõ¤Ç¤Ï, One time ¥Ñ¥¹¥ï¡¼¥É¤ò +¥µ¡¼¥Ð, ¥¯¥é¥¤¥¢¥ó¥È¤Ë login ¤·¤Æ¤¤¤ë¿Í¤Ï¤¹¤Ù¤Æ¸«¤ë¤³¤È¤¬ +¤Ç¤­¤Þ¤¹¤Î¤Ç, ¥µ¡¼¥Ð, ¥¯¥é¥¤¥¢¥ó¥È¤Ë¤Ï°­°Õ¤Î¤¢¤ë¿Í¤Ï¤¤¤Ê¤¤¤È +²¾Äꤷ¤Ê¤¤¤È¤¤¤±¤Þ¤»¤ó. +One time ¥Ñ¥¹¥ï¡¼¥É¤ò°ÂÁ´¤ËÇÛÁ÷¤·, ¥ê¥â¡¼¥È¥Þ¥·¥ó¤Î {\rm ox} +¤òΩ¤Á¾å¤²¤ë¤Ë¤Ï +¤¿¤È¤¨¤Ð +{\tt ssh} ¤ò {\tt -f } ¥ª¥×¥·¥ç¥ó¤òÍѤ¤¤Æ»ÈÍѤ·¤Þ¤¹. + +°Ê²¼¤Ï {\rm sm1} ¤Ç¤Î¼ÂÁõ, Æ°ºîÎã¤Ç¤¹. +¤³¤³¤Ç¤Ï, {\tt yama} ¤Î {\tt sm1} ¤è¤ê {\tt dc1} ¤Î {\tt ox} +¤òΩ¤Á¾å¤²¤Æ¤¤¤Þ¤¹. +{\footnotesize +\begin{verbatim} +yama% sm1 +sm1>(ox.sm1) run ; +ox.sm1, --- open sm1 protocol module 10/1,1999 (C) N.Takayama. oxhelp for help +sm1>[(dc1.math.kobe-u.ac.jp) (taka)] sm1connectr-ssh /ox.ccc set ; +Hello from open. serverName is yama.math.kobe-u.ac.jp and portnumber is 0 +Done the initialization. port =1024 +Hello from open. serverName is yama.math.kobe-u.ac.jp and portnumber is 0 +Done the initialization. port =1025 +[ 4 , 1025 , 3 , 1024 ] +Executing the command : ssh -f dc1.math.kobe-u.ac.jp -l taka +"/home/taka/OpenXM/bin/oxlog /usr/X11R6/bin/xterm -icon +-e /home/taka/OpenXM/bin/ox -reverse -ox /home/taka/OpenXM/bin/ox_sm1 +-host yama.math.kobe-u.ac.jp -data 1025 -control 1024 -pass 518158401 " +[ +taka@dc1.math.kobe-u.ac.jp's password: +Trying to accept... Accepted. +Trying to accept... Accepted. + +Control port 1024 : Connected. + +Stream port 1025 : Connected. +Byte order for control process is network byte order. +Byte order for engine process is network byte order. +\end{verbatim} +} + \section{ ¥ª¥Ö¥¸¥§¥¯¥È¤Îʸ»úÎóɽ¸½ } ʸ»úÎóɽ¸½¤Ï, ¥·¥¹¥Æ¥à xxx ¤Î¥Þ¥Ë¥å¥¢¥ë¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ë°ì¼¡¸µÅªÆþ½ÐÎÏ·Á¼°¤Ë @@ -1546,14 +1604,14 @@ ZZ, QQ, Zero, Rational, Indeterminate,$\in$ CMObject/B \begin{eqnarray*} \mbox{Zero} &:& ({\tt CMO\_ZERO}) \\ & & \mbox{ --- ¥æ¥Ë¥Ð¡¼¥µ¥ë¤Ê ¥¼¥í¤òɽ¤¹. } \\ -\mbox{ZZ} &:& ({\tt CMO\_ZZ},{\sl int32}\, f, {\sl byte}\, \mbox{a[1]}, \ldots +\mbox{ZZ} &:& ({\tt CMO\_ZZ},{\sl int32}\, {\rm f}, {\sl byte}\, \mbox{a[1]}, \ldots {\sl byte}\, \mbox{a[m]} ) \\ &:& \mbox{ --- bignum ¤ò¤¢¤é¤ï¤¹. a[i] ¤Ë¤Ä¤¤¤Æ¤Ï¤¢¤È¤ÇÀâÌÀ}\\ -\mbox{QQ} &:& ({\tt CMO\_QQ}, {\sl ZZ}\, a, {\sl ZZ}\, b) \\ +\mbox{QQ} &:& ({\tt CMO\_QQ}, {\sl ZZ}\, {\rm a}, {\sl ZZ}\, {\rm b}) \\ & & \mbox{ --- Í­Íý¿ô $a/b$ ¤òɽ¤¹. } \\ -\mbox{Rational} &:& ({\tt CMO\_RATIONAL}, {\sl object}\, a, {\sl object}\, b) \\ +\mbox{Rational} &:& ({\tt CMO\_RATIONAL}, {\sl CMObject}\, {\rm a}, {\sl CMObject}\, {\rm b}) \\ & & \mbox{ --- $a/b$ ¤òɽ¤¹. } \\ -\mbox{Indeterminate} &:& ({\tt CMO\_INDETERMINATE}, {\sl Cstring}\, v) \\ +\mbox{Indeterminate} &:& ({\tt CMO\_INDETERMINATE}, {\sl Cstring}\, {\rm v}) \\ & & \mbox{ --- ÊÑ¿ô̾ $v$ . } \\ \end{eqnarray*} @@ -1571,16 +1629,18 @@ escape sequence ¤òÍѤ¤¤Æ¼Â¸½¤¹¤ë¤Î¤Ï, ̵Íý¤¬¤¢¤ë¤è¤¦¤Ç Group CMObject/Tree requires CMObject/Basic1. \\ Tree, Lambda $\in$ CMObject/Basic1. \\ \begin{eqnarray*} -\mbox{Tree} &:& ({\tt CMO\_TREE}, {\sl Cstring}\, name, - {\sl Cstring}\, cdname, {\sl List}\, leaves) \\ +\mbox{Tree} &:& ({\tt CMO\_TREE}, {\sl Cstring}\, {\rm name}, + {\sl Cstring}\, {\rm cdname}, {\sl List}\, {\rm leaves}) \\ & & \mbox{ --- ̾Á° name ¤ÎÄê¿ô¤Þ¤¿¤Ï´Ø¿ô. ´Ø¿ô¤Îɾ²Á¤Ï¤ª¤³¤Ê¤ï¤Ê¤¤. } \\ -& & \mbox{ --- cdname ¤Ï¶õʸ»úÎó¤Ç¤Ê¤±¤ì¤Ð name ¤Î°ÕÌ£¤¬ÀâÌÀ¤µ¤ì¤Æ¤¤¤ë - OpenMath CD (content dictionary) ¤Î̾Á°. } \\ -\mbox{Lambda} &:& ({\tt CMO\_LAMBDA}, {\sl List}\, args, - {\sl Tree} body) \\ +& & \mbox{ --- cdname ¤Ï¶õʸ»úÎó¤Ç¤Ê¤±¤ì¤Ð name ¤Î°ÕÌ£¤¬ÀâÌÀ¤µ¤ì¤Æ¤¤¤ë }\\ +& & \mbox{ --- OpenMath CD (content dictionary) ¤Î̾Á°. } \\ +\mbox{Lambda} &:& ({\tt CMO\_LAMBDA}, {\sl List}\, {\rm args}, + {\sl Tree} {\rm body}) \\ & & \mbox{ --- body ¤ò args ¤ò°ú¿ô¤È¤¹¤ë´Ø¿ô¤È¤¹¤ë. } \\ & & \mbox{ --- optional ¤Ê°ú¿ô¤¬É¬ÍפʤȤ­¤Ï, leaves ¤Î¸å¤Ø¤Ä¤Å¤±¤ë.} \\ \end{eqnarray*} + +--------------------- ½¤Àµ¤³¤³¤Þ¤Ç -------------------------- ¿ô¼°¤ò½èÍý¤¹¤ë¥·¥¹¥Æ¥à¤Ç¤Ï, Tree ¹½Â¤¤¬°ìÈ̤ˤâ¤Á¤¤¤é¤ì¤ë. ¤¿¤È¤¨¤Ð, $\sin(x+e)$ ¤Ï,