accept VariableTypeValueFieldSpec syntax and ParameterizedObjectClass syntax

svn path=/trunk/; revision=23320
This commit is contained in:
Tomas Kukosa 2007-10-31 09:33:54 +00:00
parent 558cd94b74
commit 0386717cf0
1 changed files with 19 additions and 1 deletions

View File

@ -5310,6 +5310,9 @@ class FixedTypeValueFieldSpec (FieldSpec):
repr = [self.typ.type]
return repr
class VariableTypeValueFieldSpec (FieldSpec):
pass
class FixedTypeValueSetFieldSpec (FieldSpec):
pass
@ -6642,7 +6645,8 @@ def p_ObjectClassAssignment (t):
# 9.2
def p_ObjectClass (t):
'''ObjectClass : DefinedObjectClass
| ObjectClassDefn'''
| ObjectClassDefn
| ParameterizedObjectClass '''
t[0] = t[1]
# 9.3
@ -6667,6 +6671,7 @@ def p_WithSyntaxSpec (t):
def p_FieldSpec (t):
'''FieldSpec : TypeFieldSpec
| FixedTypeValueFieldSpec
| VariableTypeValueFieldSpec
| FixedTypeValueSetFieldSpec
| ObjectFieldSpec
| ObjectSetFieldSpec '''
@ -6704,6 +6709,14 @@ def p_ValueOptionalitySpec_2 (t):
'ValueOptionalitySpec ::= DEFAULT Value'
pass
# 9.8
def p_VariableTypeValueFieldSpec (t):
'''VariableTypeValueFieldSpec : lcasefieldreference FieldName
| lcasefieldreference FieldName ValueOptionalitySpec '''
t[0] = VariableTypeValueFieldSpec()
t[0].SetName(t[1])
# 9.9
def p_FixedTypeValueSetFieldSpec (t):
'''FixedTypeValueSetFieldSpec : ucasefieldreference Type
@ -7242,6 +7255,11 @@ def p_ParameterizedType (t):
#t[0].val += 'xxx'
def p_ParameterizedObjectClass (t):
'ParameterizedObjectClass : DefinedObjectClass ActualParameterList'
t[0] = t[1]
#t[0].val += 'xxx'
def p_ParameterizedObject (t):
'ParameterizedObject : DefinedObject ActualParameterList'
t[0] = t[1]