Esempio n. 1
0
                    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
Esempio n. 2
0
            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