[Yunq] Move message fields to a numbering scheme set by the parser.

This commit is contained in:
Drew Galbraith 2024-01-11 20:59:20 -08:00
parent ee341fa739
commit 3b91819a4b
2 changed files with 14 additions and 10 deletions

View file

@ -17,6 +17,7 @@ class LexemeType(Enum):
ARROW = 7
SEMICOLON = 8
DOT = 9
EQUALS = 10
class Lexeme():
@ -266,8 +267,11 @@ class Parser():
fields: list[Field] = []
field_names = set()
next_field_num = 0
while self.peektype() != LexemeType.RIGHT_BRACE:
f = self.field()
f.number = next_field_num
next_field_num += 1
if f.name in field_names:
sys.exit("Field %s declared twice on %s" % (f.name, name))
field_names.add(f.name)