[BACK]Return to bnf CVS log [TXT][DIR] Up to [local] / OpenXM / src / ox_math / documents

Diff for /OpenXM/src/ox_math/documents/Attic/bnf between version 1.1 and 1.2

version 1.1, 1999/10/29 08:06:42 version 1.2, 1999/11/02 06:12:00
Line 1 
Line 1 
 ## $OpenXM$  ## $OpenXM$
   
 トークンの集合::  トークンの集合::
 トークンの定義は parse.h にある。  トークンは  "(", ")",  ",",  "\n" の4つか、あるいはTOKEN(...) である。
 T_ ではじまるマクロがトークンである。  TOKEN(...)の定義は parse.h にある。
 それ以外のトークンは次の4つ: "(", ")",  ",",  "\n"  
   
 文法規則::  文法規則::
 省略記法を許すのはフラグが立っているときだけ。  省略記法を許すのはフラグが立っているときだけ。
 the start symbol は line である。  開始記号は line である。
   
 The following BNFs define the grammer of Common Math Objects:  The following BNFs define the grammer of Common Math Objects:
   
Line 15  line -> ox '\n'
Line 14  line -> ox '\n'
       | cmo '\n'        | cmo '\n'
       | '\n'        | '\n'
   
 ox   -> '(' T_OX_COMMAND ',' T_SM_COMMAND ')'  ox   -> '(' TOKEN(OX_COMMAND) ',' sm ')'
       | '(' T_OX_DATA ',' cmo ')'        | '(' TOKEN(OX_DATA) ',' cmo ')'
   
   sm   -> '(' TOKEN(SM_COMMAND) ')'
   
 cmo  -> '(' cmo_int32 ')'  cmo  -> '(' cmo_int32 ')'
       | '(' cmo_string ')'        | '(' cmo_string ')'
       | '(' cmo_list ')'        | '(' cmo_list ')'
   
 cmo_list -> T_CMO_LIST ',' T_INTEGER  cmo_null -> TOKEN(CMO_NULL)
           | T_CMO_LIST ',' T_INTEGER ',' list_of_cmo  /* 空リストも許す. */  
   
   cmo_int32 -> TOKEN(CMO_INT32 ) ',' T_INTEGER
   
   cmo_string  -> TOKEN(CMO_STRING) ',' T_INTEGER ','  T_STRING
                | TOKEN(CMO_STRING) ',' T_STRING            /* 省略記法 */
   
   cmo_mathcap -> TOKEN(CMO_MATHCAP) ',' cmo
   
   cmo_list -> TOKEN(CMO_LIST) ',' T_INTEGER                /* 空リスト */
             | TOKEN(CMO_LIST) ',' T_INTEGER ',' list_of_cmo
             | list_of_cmo                             /* 省略記法 */
   
 list_of_cmo -> cmo ',' list_of_cmo  list_of_cmo -> cmo ',' list_of_cmo
              |                         /* 空リストも許す. */               |                         /* 空リストも許す. */
   
 cmo_null -> T_CMO_NULL  cmo_monomial32 -> TOKEN(CMO_MONOMIAL32) ',' T_INTEGER ',' list_of_int ',' cmo
   
 cmo_int32 -> T_CMO_INT32  ',' T_INTEGER  cmo_zz -> TOKEN(CMO_ZZ) ',' T_INTEGER ',' list_of_int
 cmo_string  -> T_CMO_STRING ',' T_INTEGER ','  T_STRING          | TOKEN(CMO_ZZ) ',' T_INTEGER                    /* 省略記法 */
              | T_CMO_STRING ',' T_STRING            /* 省略記法 */  
   
 cmo_zz -> T_CMO_ZZ ',' T_INTEGER ',' list_of_int  
         | T_CMO_ZZ ',' T_INTEGER                    /* 省略記法 */  
   
 list_of_int -> T_INTEGER ',' list_of_int  list_of_int -> T_INTEGER ',' list_of_int
              | T_INTEGER               | T_INTEGER
   
   cmo_zero -> TOKEN(CMO_ZERO)
   
   cmo_dms_generic -> TOKEN(CMO_DMS_GENERIC)
   
   cmo_ring_by_name -> TOKEN(CMO_MATHCAP) ',' cmo  /* ただし cmo_string でなければならない */
   
   cmo_error2 -> TOKEN(CMO_ERROR2) ',' cmo
   

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

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