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