Skip to content

Commit 884d91f

Browse files
author
F Saad
committed
Document some werid parsing cases.
1 parent 909e69b commit 884d91f

File tree

1 file changed

+33
-2
lines changed

1 file changed

+33
-2
lines changed

src/metamodels/cgpm_analyze/analyze_parse.py

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ def parse(tokens):
5555

5656
def tokenize(tokens):
5757
for token in tokens:
58-
print token
5958
if isinstance(token, str):
6059
if casefold(token) in KEYWORDS:
6160
yield KEYWORDS[casefold(token)], token
@@ -111,10 +110,42 @@ def p_column_name_n(self, name): return name
111110
])
112111

113112
if __name__ == '__main__':
114-
# VARIABLES a, b,c, d;
115113
tokens = [
116114
'SKIPS', 'a', ',', 'b', ';', # XXX Why does this not raise?
117115
'VARIABLES', 'a', ',', 'b', ';',
118116
'SKIP', 'a', ';'
119117
]
120118
print parse(tokens)
119+
# [None, Variables(vars=['a', 'b']), Skip(vars=['a'])]
120+
121+
tokens = [
122+
'VARIABLES', 'a', ',', 'b', ';',
123+
'SKIP', 'a', ';',
124+
'SKIPS', 'a', ',', 'b', ';'
125+
]
126+
print parse(tokens)
127+
# [Variables(vars=['a', 'b']), Skip(vars=['a'])]
128+
129+
tokens = [
130+
'VARIABLES', 'a', ',', 'b', ';',
131+
'SKIP', 'a', ',', ';',
132+
'SKIPS', 'a', ',', 'b', ';'
133+
]
134+
print parse(tokens)
135+
# [Variables(vars=['a', 'b']), Skip(vars=['a', 'SKIPS'])]
136+
137+
tokens = [
138+
'VARIABLES', 'a', ',', 'b', ';',
139+
'SKIP', 'a', ',', ';',
140+
'SKIPS', ',', 'a', ',', 'b', ';'
141+
]
142+
print parse(tokens)
143+
# [Variables(vars=['a', 'b']), Skip(vars=['a', 'SKIPS', 'a', 'b'])]
144+
145+
tokens = [
146+
'VARIABLES', 'a', ',', 'b', ';',
147+
'SKIP', 'a', ',', ';',
148+
'SKIP', 'a', ',', 'b', ';'
149+
]
150+
print parse(tokens)
151+
# [Variables(vars=['a', 'b']), Skip(vars=['a', 'a', 'b'])]

0 commit comments

Comments
 (0)