import tokenize, symbol from ast_nodes import * def tok_number(s): return Const(eval(s)) def tok_string(s): return Const(eval(s)) def tok_name(s): return Name(s) def tok_newline(_): return '\n' def tok_default(s): return s tokenmap = { tokenize.NUMBER: tok_number, tokenize.STRING: tok_string, tokenize.NAME: tok_name, tokenize.NEWLINE: tok_newline, } for i in range(0, min(symbol.sym_name.keys())): tokenmap.setdefault(i, tok_default)