Changeset 1841
- Timestamp:
- 08/06/07 06:21:26 (1 year ago)
- Files:
-
- gaphor/trunk/gaphor/UML/umllex.py (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
gaphor/trunk/gaphor/UML/umllex.py
r1243 r1841 22 22 23 23 # name (required) ::= name 24 name_subpat = r'\s*(?P<name> \w+)'24 name_subpat = r'\s*(?P<name>[a-zA-Z_]\w*)' 25 25 26 26 # Multiplicity (added to type_subpat) ::= '[' [mult_l ..] mult_u ']' 27 27 mult_subpat = r'\s*(\[\s*((?P<mult_l>[0-9]+)\s*\.\.)?\s*(?P<mult_u>([0-9]+|\*))\s*\])?' 28 multa_subpat = r'\s*( ((?P<mult_l>[0-9]+)\s*\.\.)?\s*(?P<mult_u>([0-9]+|\*)))?'28 multa_subpat = r'\s*(\[?((?P<mult_l>[0-9]+)\s*\.\.)?\s*(?P<mult_u>([0-9]+|\*))\]?)?' 29 29 30 30 # Type and multiplicity (optional) ::= ':' type [mult] … … 150 150 from uml2 import LiteralSpecification 151 151 create = self._factory.create 152 153 # if no name, then clear as there could be some garbage 154 # due to previous parsing (i.e. '[1' 155 m = association_end_name_pat.match(s) 156 if m and not m.group('name'): 157 self.name = '' 158 152 159 m = association_end_mult_pat.match(s) 153 160 if m and m.group('mult_u') or m.group('tags'): … … 183 190 self.lowerValue = create(LiteralSpecification) 184 191 self.lowerValue.value = g('mult_l') 192 else: 193 self.lowerValue.value = '' 185 194 if g('mult_u'): 186 195 if not g('mult_l') and self.lowerValue: … … 189 198 self.upperValue = create(LiteralSpecification) 190 199 self.upperValue.value = g('mult_u') 200 else: 201 self.upperValue.value = '' 191 202 tags = g('tags') 192 203 if tags:
