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

Annotation of OpenXM/src/ox_math/documents/bnf, Revision 1.2

1.1       ohara       1: ## $OpenXM$
                      2:
                      3: トークンの集合::
1.2     ! ohara       4: トークンは  "(", ")",  ",",  "\n" の4つか、あるいはTOKEN(...) である。
        !             5: TOKEN(...)の定義は parse.h にある。
1.1       ohara       6:
                      7: 文法規則::
                      8: 省略記法を許すのはフラグが立っているときだけ。
1.2     ! ohara       9: 開始記号は line である。
1.1       ohara      10:
                     11: The following BNFs define the grammer of Common Math Objects:
                     12:
                     13: line -> ox '\n'
                     14:       | cmo '\n'
                     15:       | '\n'
                     16:
1.2     ! ohara      17: ox   -> '(' TOKEN(OX_COMMAND) ',' sm ')'
        !            18:       | '(' TOKEN(OX_DATA) ',' cmo ')'
        !            19:
        !            20: sm   -> '(' TOKEN(SM_COMMAND) ')'
1.1       ohara      21:
                     22: cmo  -> '(' cmo_int32 ')'
                     23:       | '(' cmo_string ')'
                     24:       | '(' cmo_list ')'
                     25:
1.2     ! ohara      26: cmo_null -> TOKEN(CMO_NULL)
        !            27:
        !            28: cmo_int32 -> TOKEN(CMO_INT32 ) ',' T_INTEGER
        !            29:
        !            30: cmo_string  -> TOKEN(CMO_STRING) ',' T_INTEGER ','  T_STRING
        !            31:              | TOKEN(CMO_STRING) ',' T_STRING            /* 省略記法 */
        !            32:
        !            33: cmo_mathcap -> TOKEN(CMO_MATHCAP) ',' cmo
        !            34:
        !            35: cmo_list -> TOKEN(CMO_LIST) ',' T_INTEGER                /* 空リスト */
        !            36:           | TOKEN(CMO_LIST) ',' T_INTEGER ',' list_of_cmo
        !            37:           | list_of_cmo                             /* 省略記法 */
1.1       ohara      38:
                     39: list_of_cmo -> cmo ',' list_of_cmo
                     40:              |                         /* 空リストも許す. */
                     41:
1.2     ! ohara      42: cmo_monomial32 -> TOKEN(CMO_MONOMIAL32) ',' T_INTEGER ',' list_of_int ',' cmo
1.1       ohara      43:
1.2     ! ohara      44: cmo_zz -> TOKEN(CMO_ZZ) ',' T_INTEGER ',' list_of_int
        !            45:         | TOKEN(CMO_ZZ) ',' T_INTEGER                    /* 省略記法 */
1.1       ohara      46:
                     47: list_of_int -> T_INTEGER ',' list_of_int
                     48:              | T_INTEGER
                     49:
1.2     ! ohara      50: cmo_zero -> TOKEN(CMO_ZERO)
        !            51:
        !            52: cmo_dms_generic -> TOKEN(CMO_DMS_GENERIC)
        !            53:
        !            54: cmo_ring_by_name -> TOKEN(CMO_MATHCAP) ',' cmo  /* ただし cmo_string でなければならない */
        !            55:
        !            56: cmo_error2 -> TOKEN(CMO_ERROR2) ',' cmo

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