Annotation of OpenXM/src/ox_math/documents/bnf, Revision 1.1.1.1
1.1 ohara 1: ## $OpenXM$
2:
3: トークンの集合::
4: トークンの定義は parse.h にある。
5: T_ ではじまるマクロがトークンである。
6: それ以外のトークンは次の4つ: "(", ")", ",", "\n"
7:
8: 文法規則::
9: 省略記法を許すのはフラグが立っているときだけ。
10: the start symbol は line である。
11:
12: The following BNFs define the grammer of Common Math Objects:
13:
14: line -> ox '\n'
15: | cmo '\n'
16: | '\n'
17:
18: ox -> '(' T_OX_COMMAND ',' T_SM_COMMAND ')'
19: | '(' T_OX_DATA ',' cmo ')'
20:
21: cmo -> '(' cmo_int32 ')'
22: | '(' cmo_string ')'
23: | '(' cmo_list ')'
24:
25: cmo_list -> T_CMO_LIST ',' T_INTEGER
26: | T_CMO_LIST ',' T_INTEGER ',' list_of_cmo /* 空リストも許す. */
27:
28: list_of_cmo -> cmo ',' list_of_cmo
29: | /* 空リストも許す. */
30:
31: cmo_null -> T_CMO_NULL
32:
33: cmo_int32 -> T_CMO_INT32 ',' T_INTEGER
34: cmo_string -> T_CMO_STRING ',' T_INTEGER ',' T_STRING
35: | T_CMO_STRING ',' T_STRING /* 省略記法 */
36:
37: cmo_zz -> T_CMO_ZZ ',' T_INTEGER ',' list_of_int
38: | T_CMO_ZZ ',' T_INTEGER /* 省略記法 */
39:
40: list_of_int -> T_INTEGER ',' list_of_int
41: | T_INTEGER
42:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>