Example #1
0
File: parse.py Project: RobBW/smop
def parse(buf,filename=""):
    options.filename = filename
    try:
        new_lexer = lexer.new()
        p = parser.parse(buf,tracking=1,debug=0,lexer=new_lexer)
        return p
    except lexer.IllegalCharacterError as (lineno,column,c):
        #import pdb; pdb.set_trace()
        print 'Error:%s:%s.%s:illegal character:%s' % (filename,lineno,column,c)
        return []
Example #2
0
def parse(buf, use_comments=True):
    # strip comments or not in p_comment_stmt
    global with_comments
    with_comments = use_comments
    
    try:
        p = parser.parse(buf,tracking=1,debug=0,lexer=lexer.new())
        return p
    except syntax_error as e:
        print >> sys.stderr, 'Syntax error at %s' % e
        return []
Example #3
0
def parse(buf):
    if "P" in options.debug:
        import pdb
        pdb.set_trace()
    global new_lexer  # used in main.main()
    new_lexer = lexer.new()
    p = parser.parse(
        buf, tracking=1, debug=options.debug_parser, lexer=new_lexer)

    if "P" in options.debug:
        for i, pi in enumerate(p):
            print i, pi.__class__.__name__, pi._backend()

#    for i in range(len(p)):
#        if isinstance(p[i], node.func_stmt):
#            break
#    else:
#        return None  # p[i] is a func decl

    return p
Example #4
0
 def setUp(self):
     self.lexer = lexer.new()
Example #5
0
 def setUp(self):
     self.lexer = lexer.new()