Annotation of OpenXM/src/ox_math/documents/bnf, Revision 1.3
1.3 ! ohara 1: $OpenXM: OpenXM/src/ox_math/documents/bnf,v 1.2 1999/11/02 06:12:00 ohara Exp $
1.1 ohara 2:
3: トークンの集合::
1.3 ! ohara 4: トークンは ( ) , \n の4つか、あるいは「大文字で表された文法記号」である。
! 5: 「大文字で表された文法記号」の定義は parse.h の TOKEN(...) あるいは T_...
! 6: による。
1.1 ohara 7:
8: 文法規則::
9: 省略記法を許すのはフラグが立っているときだけ。
1.2 ohara 10: 開始記号は line である。
1.3 ! ohara 11: トークンの境界は空白で分けてある。
! 12: -> | {}* は拡張BNFの記号である。
1.1 ohara 13:
14: The following BNFs define the grammer of Common Math Objects:
15:
1.3 ! ohara 16: line
! 17: -> ox \n
! 18: | cmo \n
! 19: | \n
! 20:
! 21: ox
! 22: -> ( OX_COMMAND , sm )
! 23: | ( OX_DATA , cmo )
! 24:
! 25: sm
! 26: -> ( SM_COMMAND )
! 27:
! 28: cmo
! 29: -> ( cmo_null )
! 30: | ( cmo_int32 )
! 31: | ( cmo_string )
! 32: | ( cmo_mathcap )
! 33: | ( cmo_list )
! 34: | ( cmo_zero )
! 35: | ( cmo_zz )
! 36: | ( cmo_monomial32 )
! 37: | ( cmo_dms_generic )
! 38: | ( cmo_ring_by_name )
! 39: | ( cmo_distributed_polynomial )
! 40: | ( cmo_error2 )
! 41:
! 42: cmo_null
! 43: -> CMO_NULL
! 44:
! 45: cmo_int32
! 46: -> CMO_INT32 , INTEGER
! 47:
! 48: cmo_string
! 49: -> CMO_STRING , INTEGER , STRING
! 50: | CMO_STRING , STRING
! 51: # 省略記法
! 52:
! 53: cmo_mathcap
! 54: -> CMO_MATHCAP , cmo
! 55:
! 56: cmo_list
! 57: -> CMO_LIST , INTEGER { , cmo }*
! 58: | CMO_LIST { , cmo }*
! 59: # 省略記法
! 60:
! 61: cmo_monomial32
! 62: -> CMO_MONOMIAL32 , INTEGER { , INTEGER }* , coef
! 63:
! 64: cmo_zz
! 65: -> CMO_ZZ , INTEGER { , INTEGER }*
! 66: | CMO_ZZ , INTEGER
! 67: # 省略記法
! 68:
! 69: cmo_zero
! 70: -> CMO_ZERO
! 71:
! 72: cmo_dms_generic
! 73: -> CMO_DMS_GENERIC
! 74:
! 75: cmo_ring_by_name
! 76: -> CMO_RING_BY_NAME , ( cmo_string )
! 77:
! 78: cmo_distributed_polynomial
! 79: -> CMO_DISTRIBUTED_POLYNOMIAL , INTEGER , ringdefinition { , monomial }*
! 80: # リストの各要素は monomial である. 空リストの場合もOK?
! 81: | CMO_DISTRIBUTED_POLYNOMIAL , ringdefinition { , monomial }*
! 82: # 省略記法
! 83:
! 84: cmo_error2
! 85: -> CMO_ERROR2 , cmo
! 86:
! 87: monomial
! 88: -> ( cmo_zero )
! 89: | ( cmo_monomial32 )
! 90:
! 91: ringdefinition
! 92: -> ( cmo_dms_generic )
! 93: | ( cmo_ring_by_name )
! 94:
! 95: coef
! 96: -> ( cmo_zz )
! 97: | ( cmo_int32 )
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>