diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2014-03-14 00:22:35 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2014-03-14 00:22:35 +0200 |
commit | 26583435d5a182ea1a7cc14556a11b61fda75e8c (patch) | |
tree | 2714e197782e13c967354a21365080bb3650a0c3 | |
parent | 68f990c8daf67b91384e6ead1cb460e28847c0be (diff) | |
download | meson-26583435d5a182ea1a7cc14556a11b61fda75e8c.zip meson-26583435d5a182ea1a7cc14556a11b61fda75e8c.tar.gz meson-26583435d5a182ea1a7cc14556a11b61fda75e8c.tar.bz2 |
Now can parse all files in test set.
-rwxr-xr-x | parsertest.py | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/parsertest.py b/parsertest.py index 2d27302..a4e0d90 100755 --- a/parsertest.py +++ b/parsertest.py @@ -58,7 +58,7 @@ class Lexer: ('dot', re.compile(r'\.')), ('colon', re.compile(r':')), ('equal', re.compile(r'==')), - ('nequals', re.compile(r'\!=')), + ('nequal', re.compile(r'\!=')), ('assign', re.compile(r'=')), ] @@ -359,7 +359,7 @@ class Parser: def e7(self): if self.accept('lparen'): - e = self.expression() + e = self.statement() self.expect('rparen') return e elif self.accept('lbracket'): @@ -460,16 +460,11 @@ class Parser: return block if __name__ == '__main__': - code = open(sys.argv[1]).read() -# lex = Lexer() -# try: -# for i in lex.lex(code): -# print('Token:', i.tid, 'Line:', i.lineno, 'Column:', i.colno) -# except ParseException as e: -# print('Error line', e.lineno, 'column', e.colno) - parser = Parser(code) - try: - parser.parse() - except ParseException as e: - print('Error', e.text, 'line', e.lineno, 'column', e.colno) + for code in sys.argv[1:]: + parser = Parser(open(code).read()) + try: + print(code) + parser.parse() + except ParseException as e: + print('Error', e.text, 'line', e.lineno, 'column', e.colno) |