# todo: consider the full subtype and general constraint syntax described in 45.*
lower_bound = (constraint_real_value | signed_number | referenced_value | MIN)
upper_bound = (constraint_real_value | signed_number | referenced_value | MAX)
- single_value_constraint = Suppress('(') + value + Suppress(')')
+
+ single_value_constraint = Suppress('(') + Group(delimitedList(value, delim='|')) + Suppress(')')
value_range_constraint = Suppress('(') + lower_bound + Suppress('..') + upper_bound + Suppress(')')
# TODO: Include contained subtype constraint here if we ever implement it.
size_constraint = Optional(Suppress('(')) + Suppress(SIZE) + (single_value_constraint | value_range_constraint) + Optional(Suppress(')'))