Ejemplo n.º 1
0
Archivo: parse.py Proyecto: 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 []
Ejemplo n.º 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 []
Ejemplo n.º 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
Ejemplo n.º 4
0
 def setUp(self):
     self.lexer = lexer.new()
Ejemplo n.º 5
0
 def setUp(self):
     self.lexer = lexer.new()