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

Diff for /OpenXM/doc/OpenXM-specs/formal-expression.tex between version 1.1 and 1.4

version 1.1, 2000/01/20 08:52:46 version 1.4, 2000/09/08 17:14:54
Line 1 
Line 1 
 %% $OpenXM$  %% $OpenXM: OpenXM/doc/OpenXM-specs/formal-expression.tex,v 1.3 2000/01/24 02:48:24 noro Exp $
 //&jp \section{ CMO ¤Î·Á¼°ÅªÉ½¸½ÊýË¡ }  //&jp \section{ CMO ¤Î·Á¼°ÅªÉ½¸½ÊýË¡ }
 //&eg \section{ A formal expression of CMO }  //&eg \section{ A formal expression of CMO }
   
 /*&jp  /*&jp
 Á°¤ÎÀá¤Ç CMO ¤Îɽ¸½ÊýË¡¤ò·Á¼°Åª¤ËÄêµÁ¤»¤º,  Á°¤ÎÀá¤Ç CMO ¤Îɽ¸½ÊýË¡¤ò·Á¼°Åª¤ËÄêµÁ¤»¤º,
 CMO ¤ÎBasic0 ¤Îɽ¸½Ë¡¤òÀâÌÀ¤·¤¿¤¬,  CMO ¤ÎPrimitive ¤Îɽ¸½Ë¡¤òÀâÌÀ¤·¤¿¤¬,
 ¤³¤³¤Ç¤Ï, CMO ¤Î Lisp É÷ɽ¸½ (Lisp-like expression)  ¤³¤³¤Ç¤Ï, CMO ¤Î Lisp É÷ɽ¸½ (Lisp-like expression)
 ¤Ç¤¢¤ë  ¤Ç¤¢¤ë
 CMOexpression  CMOexpression
Line 12  CMOexpression
Line 12  CMOexpression
 % (¥¿¥°¤Î¾Êάµ­Ë¡¤¬¤Û¤·¤¤.)  % (¥¿¥°¤Î¾Êάµ­Ë¡¤¬¤Û¤·¤¤.)
 */  */
 /*&eg  /*&eg
 In the previous setion, we have explained the format of CMO's in the  In the previous section, we have explained the format of CMO's in the
 Basic0 group.  Primitive group.
 In this section, we will introduce CMOexpression which is like the  In this section, we will introduce CMOexpression which is like the
 bracket expression of Lisp.  bracket expression of Lisp.
 We again explain a standard encoding method of CMO,  We again explain a standard encoding method of CMO,
Line 60  By using this notation, CMOexpression is defined as fo
Line 60  By using this notation, CMOexpression is defined as fo
 Îó¤Ç¤¢¤ë.  Îó¤Ç¤¢¤ë.
 ½ªÃ¼µ­¹æ {\tt string} ¤Ï''ʸ»ú''¤ÎÎó¤Ç¤¢¤ë.  ½ªÃ¼µ­¹æ {\tt string} ¤Ï''ʸ»ú''¤ÎÎó¤Ç¤¢¤ë.
 ½ªÃ¼µ­¹æ {\tt byte} ¤Ï 8 bit ¥Ç¡¼¥¿¤òɽ¤¹, 10 ¿Ê¤Þ¤¿¤Ï 16 ¿Ê¤Î¿ô»ú¤ÎÎó¤Ç¤¢¤ë.  ½ªÃ¼µ­¹æ {\tt byte} ¤Ï 8 bit ¥Ç¡¼¥¿¤òɽ¤¹, 10 ¿Ê¤Þ¤¿¤Ï 16 ¿Ê¤Î¿ô»ú¤ÎÎó¤Ç¤¢¤ë.
   
 */  */
 /*&jp  /*&eg
 Terminal {\tt int32} is signed 32 bit integer.  Terminal {\tt int32} is signed 32 bit integer.
 Terminal {\tt string} is a byte array which usually expresses a string.  Terminal {\tt string} is a byte array which usually expresses a string.
 Terminal {\tt byte} is 8 bit data.  Terminal {\tt byte} is 8 bit data.
   
 */  */
   
 /*&jp  /*&jp
Line 82  The comma ({\tt ,}) may be used to separate each eleme
Line 80  The comma ({\tt ,}) may be used to separate each eleme
 */  */
   
 /*&jp  /*&jp
 ¤³¤Îɽµ­Ë¡ CMOexpression ¤òÍøÍѤ·¤Æ, CMO Basic0 ¤Î object ¤òµ­½Ò  ¤³¤Îɽµ­Ë¡ CMOexpression ¤òÍøÍѤ·¤Æ, CMO Primitive ¤Î object ¤òµ­½Ò
 ¤·¤Æ¤ß¤è¤¦.  ¤·¤Æ¤ß¤è¤¦.
 Object ¼«ÂΤι½Â¤¤òÀâÌÀ¤¹¤ë¤¿¤á,  Object ¼«ÂΤι½Â¤¤òÀâÌÀ¤¹¤ë¤¿¤á,
 BNF ¤ò¤â¤¦¤¹¤³¤·³ÈÄ¥¤·¤Æ, Èó½ªÃ¼µ­¹æ, ½ªÃ¼µ­¹æ̾¤Î¤ß¤Ê¤é¤º, ÊÑ¿ô¤Î  BNF ¤ò¤â¤¦¤¹¤³¤·³ÈÄ¥¤·¤Æ, Èó½ªÃ¼µ­¹æ, ½ªÃ¼µ­¹æ̾¤Î¤ß¤Ê¤é¤º, ÊÑ¿ô¤Î
Line 90  BNF ¤ò¤â¤¦¤¹¤³¤·³ÈÄ¥¤·¤Æ, Èó½ªÃ¼µ­¹æ, ½ªÃ¼µ­¹æ̾¤Î¤ß¤Ê
Line 88  BNF ¤ò¤â¤¦¤¹¤³¤·³ÈÄ¥¤·¤Æ, Èó½ªÃ¼µ­¹æ, ½ªÃ¼µ­¹æ̾¤Î¤ß¤Ê
 ¤«¤é¤Ç¤¢¤ë. ¤Þ¤¿ ``---'' ¤Ç¥³¥á¥ó¥È¤Î¤Ï¤¸¤Þ¤ê¤òɽ¤¹¤â¤Î¤È¤¹¤ë.  ¤«¤é¤Ç¤¢¤ë. ¤Þ¤¿ ``---'' ¤Ç¥³¥á¥ó¥È¤Î¤Ï¤¸¤Þ¤ê¤òɽ¤¹¤â¤Î¤È¤¹¤ë.
 */  */
 /*&eg  /*&eg
 Let us describe CMO's in the Basic0 group.  Let us describe CMO's in the Primitive group.
 In order to explain the meaning of objects,  In order to explain the meaning of objects,
 we may also put variable names to CMOexpressions.  we may also put variable names to CMOexpressions.
 The start of comments are denoted by ``---''.  The start of comments are denoted by ``---''.
Line 117  CMObject ¤Î 
Line 115  CMObject ¤Î 
 ¤Ï,  ¤Ï,
 32 bit integer $n$ ¤òɽ¸½¤·¤Æ¤¤¤ë¤ó¤À¤È¤¤¤¦¤³¤È¤¬, 1 ¹Ô¤Ç¤ï¤«¤ë.  32 bit integer $n$ ¤òɽ¸½¤·¤Æ¤¤¤ë¤ó¤À¤È¤¤¤¦¤³¤È¤¬, 1 ¹Ô¤Ç¤ï¤«¤ë.
 */  */
 /*&eg  
 (This part has not yet been translated.)  
 */  
 /*&jp  /*&jp
 ¤³¤Îµ­Ë¡¤òÍѤ¤¤Æ, Á°Àá¤ÇƳÆþ¤·¤¿, Basic0 ¤Î CMObject ¤ò  ¤³¤Îµ­Ë¡¤òÍѤ¤¤Æ, Á°Àá¤ÇƳÆþ¤·¤¿, Primitive ¤Î CMObject ¤ò
 ·Á¼°Åª¤ËÄêµÁ¤·¤è¤¦.  ·Á¼°Åª¤ËÄêµÁ¤·¤è¤¦.
 */  */
 /*&eg  /*&eg
 By using this notation, let us define formally CMObjects in the group  By using this notation, let us define formally CMObjects in the group
 Basic0.  Primitive.
 */  */
   
 /*&C  /*&C
   
 \bigbreak  \bigbreak
 \noindent  \noindent
 Group CMObject/Basic0  requires nothing. \\  Group CMObject/Primitive  requires nothing. \\
 Error2, Null, Integer32, Datum, Cstring, Mathcap, List $\in$ CMObject/Basic0. \\  Error2, Null, Integer32, Datum, Cstring, Mathcap, List $\in$ CMObject/Primitive. \\
 Document of CMObject/Basic0 is at {\tt http://www.math.kobe-u.ac.jp/OpenXM}  Document of CMObject/Primitive is at {\tt http://www.math.kobe-u.ac.jp/OpenXM}
 (in English and 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}) \\
Line 169  Document of CMObject/Basic0 is at {\tt http://www.math
Line 164  Document of CMObject/Basic0 is at {\tt http://www.math
 //&jp ¤È¤Ê¤ë.  //&jp ¤È¤Ê¤ë.
 /*&jp  /*&jp
 ¤Þ¤¿,  ¤Þ¤¿,
 ``Group CMObject/Basic0  requires nothing''  ``Group CMObject/Primitive  requires nothing''
 ¤Ï, °Ê²¼¤Ï, ¥°¥ë¡¼¥× CMObject/Basic0 ¤ÎÄêµÁ¤Ç¤¢¤ê,  ¤Ï, °Ê²¼¤Ï, ¥°¥ë¡¼¥× CMObject/Primitive ¤ÎÄêµÁ¤Ç¤¢¤ê,
 ¤³¤Î¥°¥ë¡¼¥×¤Î CMObject ¤òÄêµÁ¤¹¤ë¤Î¤Ë, Í×ÀÁ¤µ¤ì¤ë CMObject ¤Î¥°¥ë¡¼¥×¤Ï  ¤³¤Î¥°¥ë¡¼¥×¤Î CMObject ¤òÄêµÁ¤¹¤ë¤Î¤Ë, Í×ÀÁ¤µ¤ì¤ë CMObject ¤Î¥°¥ë¡¼¥×¤Ï
 ¤Ê¤¤¤³¤È¤ò¼¨¤¹.  ¤Ê¤¤¤³¤È¤ò¼¨¤¹.
 ``Error2, Null, Integer32, Datum, Cstring, Mathcap, List  ``Error2, Null, Integer32, Datum, Cstring, Mathcap, List
 $\in$ CMObject/Basic0''  $\in$ CMObject/Primitive''
 ¤Ï, ¥°¥ë¡¼¥× CMObject/Basic0 ¤Ë¤Ï,  Error2, Null, Integer32,  ¤Ï, ¥°¥ë¡¼¥× CMObject/Primitive ¤Ë¤Ï,  Error2, Null, Integer32,
 Datum, Cstring ¤Ê¤ë¥¯¥é¥¹¤Î object ¤¬Â°¤¹¤ë¤³¤È¤ò¼¨¤¹.  Datum, Cstring ¤Ê¤ë¥¯¥é¥¹¤Î object ¤¬Â°¤¹¤ë¤³¤È¤ò¼¨¤¹.
 */  */
 /*&eg  /*&eg
 ¤Þ¤¿,  ``Group CMObject/Primitive  requires nothing''
 ``Group CMObject/Basic0  requires nothing''  means that there is no super group to define CMO's in the group Primitive.
 means that there is no super group to define CMO's in the group Basic0.  
 ``Error2, Null, Integer32, Datum, Cstring, Mathcap, List  ``Error2, Null, Integer32, Datum, Cstring, Mathcap, List
 $\in$ CMObject/Basic0''  $\in$ CMObject/Primitive''
 means that  means that
 Error2, Null, Integer32, Datum, Cstring  Error2, Null, Integer32, Datum, Cstring
 are members of the group CMObject/Basic0.  are members of the group CMObject/Primitive.
 */  */
   
 /*&C  /*&C
Line 233  CMOexpression ¤È, CMObject ¤Î¶èÊ̤òÍý²ò¤·¤Æ¤ª¤¯¤Î¤Ï½ÅÍ
Line 227  CMOexpression ¤È, CMObject ¤Î¶èÊ̤òÍý²ò¤·¤Æ¤ª¤¯¤Î¤Ï½ÅÍ
 ¤³¤ì¤Ï, ʸˡŪ¤Ë¤ÏÀµ¤·¤¤¥×¥í¥°¥é¥à¤À¤¬, ¤Ê¤Ë¤ò¤ä¤ë¤Î¤«¤ÏÁ´¤¯ÉÔÌÀ¤Ê  ¤³¤ì¤Ï, ʸˡŪ¤Ë¤ÏÀµ¤·¤¤¥×¥í¥°¥é¥à¤À¤¬, ¤Ê¤Ë¤ò¤ä¤ë¤Î¤«¤ÏÁ´¤¯ÉÔÌÀ¤Ê
 ¥×¥í¥°¥é¥à¤È»÷¤Æ¤¤¤ë.  ¥×¥í¥°¥é¥à¤È»÷¤Æ¤¤¤ë.
   
   */
   
   /*&jp
 ¤µ¤Æ, Open math É÷ (\cite{openmath})  ¤µ¤Æ, Open math É÷ (\cite{openmath})
 ¤Î SGML ɽ¸½Ë¡¤â²Äǽ¤Ç¤¢¤ê, ¤½¤Î¾ì¹ç¤Ï, ¾å¤ÎÆó¤Ä¤ÎÎã¤Ï¼¡¤Î¤è¤¦¤Ë  ¤Î XML ɽ¸½Ë¡¤â²Äǽ¤Ç¤¢¤ê, ¤½¤Î¾ì¹ç¤Ï, ¾å¤ÎÆó¤Ä¤ÎÎã¤Ï¼¡¤Î¤è¤¦¤Ë
 ½ñ¤¯.  ½ñ¤¯.
   */
   /*&eg
   It is possible to express CMO by XML like Open math (\cite{openmath}).
   See example below.
   */
   
   /*&C
   
 \begin{verbatim}  \begin{verbatim}
 <CMO_INT32>  <cmo_int32>
 1234  1234
 </CMO_INT32>  </cmo_int32>
   
 <CMO_STRING>  <cmo_string>
 5  5
 "Hello"  "Hello"
 </CMO_STRING>  </cmo_string>
 \end{verbatim}  \end{verbatim}
 */  */
   
Line 329  is the encoding of the CMOexpression
Line 334  is the encoding of the CMOexpression
 ¤Î ɸ½à encoding Ë¡¤Ë¤è¤ëɽ¸½¤Ç¤¢¤ë.  ¤Î ɸ½à encoding Ë¡¤Ë¤è¤ëɽ¸½¤Ç¤¢¤ë.
 */  */
   
   /*&C
   
   \bigbreak
   
   */
   
   /*&jp
   (¼Â¸³Åª)
   CMO ¤Ï XML µ¬³Ê¤Ë½àµò¤·¤Æ¤¤¤ë.
   XML µ¬³Ê¤Î Attribute ¤ò binary encode ¤¹¤ë¤¿¤á¤Ë
   ÆÃÊ̤ʥ¿¥° \\
   */
   /*&eg
   (Experimental)
   CMO is complient to XML specification.
   In order to encode ``Attribute'' in XML in a binary format,
   we have a tag: \\
   */
   //&C \verb! #define CMO_ATTRIBUTE_LIST  (LARGEID+3) !  \\
   /*&jp
   ¤òÍÑ°Õ¤·¤Æ¤¢¤ë.
   */
   /*&jp
   ¤¿¤È¤¨¤Ð Attribute {\tt font="Times-Roman" }  ¤Ï \\
   */
   /*&eg
   For example, the attibute {\tt font="Times-Roman" } is encoded as \\
   */
   /*&C
   \begin{verbatim}
    (CMO_ATTRIBUTE (CMO_LIST
                     (CMO_LIST (CMO_STRING,"font") (CMO_STRING, "Times-Roman"))))
   \end{verbatim}
   */
   /*&jp
   ¤È encoding ¤µ¤ì¤ë.
   */
   //*C
   /*&jp
   ¤³¤ÎÆÃÊÌ¤Ê CMO tag {\tt CMO\_ATTRIBUTE\_LIST} °Ê³°¤Ï,
   XML ɽ¸½¤Ç¤Ï XML ¤Î¥¿¥°¤È¤·¤ÆÍý²ò¤µ¤ì¤ë.
   */
   /*&eg
   All tags except this special CMO tag {\tt CMO\_ATTRIBUTE\_LIST}
   are XML tags in the CMO/XML expression.
   */
   

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

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