lines.append(tok[-1]) if __DEBUG__: print lines if is_suite: def process_line (ln): ret_val = ln[indent_size:] if not ret_val: ret_val = "\n" return ret_val lines = [process_line(line) for line in lines] else: start_col = tokens[0][2][1] lines[0] = lines[0][start_col:] tok_str = "".join(lines) if __DEBUG__: print "_" * 60 print tok_str print "_" * 60 self.pushpop((QUOTED, tok_str, tokens[0][2], tokens[-1][3], None)) if dedent_tok is not None: self.pushpop(dedent_tok) return self.pop() # ______________________________________________________________________ if __name__ == "__main__": parser_main(MyRealParser) # ______________________________________________________________________ # End of MyRealParser.py
self.parse_and_expr() return self.pop() def parse_yield_expr (self): self.push('yield_expr') self.expect('yield') if self.test_lookahead('~', NAME, 'not', '-', NUMBER, '{', '(', 'lambda', '[', '`', '+', STRING): self.parse_testlist() return self.pop() def parse_yield_stmt (self): self.push('yield_stmt') self.parse_yield_expr() return self.pop() def tokenize (self): ret_val = self.tokenizer.next() while ret_val[0] in (NL, COMMENT): ret_val = self.tokenizer.next() return ret_val # ______________________________________________________________________ # Main routine if __name__ == '__main__': parser_main(MyParser) # ______________________________________________________________________ # End of myparser.py