[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.2 and 1.4

version 1.2, 2000/01/23 05:28:33 version 1.4, 2000/09/08 17:14:54
Line 1 
Line 1 
 %% $OpenXM: OpenXM/doc/OpenXM-specs/formal-expression.tex,v 1.1.1.1 2000/01/20 08:52:46 noro Exp $  %% $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 80  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 88  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 116  CMObject ¤Î 
Line 116  CMObject ¤Î 
 32 bit integer $n$ ¤òɽ¸½¤·¤Æ¤¤¤ë¤ó¤À¤È¤¤¤¦¤³¤È¤¬, 1 ¹Ô¤Ç¤ï¤«¤ë.  32 bit integer $n$ ¤òɽ¸½¤·¤Æ¤¤¤ë¤ó¤À¤È¤¤¤¦¤³¤È¤¬, 1 ¹Ô¤Ç¤ï¤«¤ë.
 */  */
 /*&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 164  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/Basic0  requires nothing''  ``Group CMObject/Primitive  requires nothing''
 means that there is no super group to define CMO's in the group Basic0.  means that there is no super group to define CMO's in the group Primitive.
 ``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 227  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 323  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.2  
changed lines
  Added in v.1.4

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