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

File: [local] / OpenXM / src / ox_math / documents / Attic / bnf (download)

Revision 1.2, Tue Nov 2 06:12:00 1999 UTC (24 years, 8 months ago) by ohara
Branch: MAIN
Changes since 1.1: +29 -15 lines

partly support the followings:
cmo_monomial32, cmo_dms_generic, cmo_ring_by_name, cmo_indeterminate.

## $OpenXM: OpenXM/src/ox_math/documents/bnf,v 1.2 1999/11/02 06:12:00 ohara Exp $

トークンの集合::
トークンは  "(", ")",  ",",  "\n" の4つか、あるいはTOKEN(...) である。
TOKEN(...)の定義は parse.h にある。

文法規則::
省略記法を許すのはフラグが立っているときだけ。
開始記号は line である。

The following BNFs define the grammer of Common Math Objects:

line -> ox '\n'
      | cmo '\n'
      | '\n'

ox   -> '(' TOKEN(OX_COMMAND) ',' sm ')'
      | '(' TOKEN(OX_DATA) ',' cmo ')'

sm   -> '(' TOKEN(SM_COMMAND) ')'

cmo  -> '(' cmo_int32 ')'
      | '(' cmo_string ')'
      | '(' cmo_list ')'

cmo_null -> TOKEN(CMO_NULL)

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
             |                         /* 空リストも許す. */

cmo_monomial32 -> TOKEN(CMO_MONOMIAL32) ',' T_INTEGER ',' list_of_int ',' cmo

cmo_zz -> TOKEN(CMO_ZZ) ',' T_INTEGER ',' list_of_int
        | TOKEN(CMO_ZZ) ',' T_INTEGER                    /* 省略記法 */

list_of_int -> T_INTEGER ',' list_of_int
             | 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