Exemplo n.º 1
0
Arquivo: scope.py Projeto: pyzh/orz

@visit.match(ast.Lambda)
def visit(env, node):
    visit_function(env, node)


@visit.match(ast.Table)
def visit(env, node):
    node._luatable = env.symtable.get_global("LuaTable")

    for subnode in node.fields:
        visit(env, subnode)


visit.match(ast.Label)(nop)
visit.match(ast.Goto)(nop)
visit.match(ast.Assign)(default)
visit.match(ast.CallStatement)(default)
visit.match(ast.Call)(default)
visit.match(ast.Return)(default)
visit.match(ast.Break)(nop)
visit.match(ast.Subscript)(default)
visit.match(ast.Attribute)(default)
visit.match(ast.Method)(default)
visit.match(ast.NIL)(nop)
visit.match(ast.FALSE)(nop)
visit.match(ast.TRUE)(nop)
visit.match(ast.Number)(nop)
visit.match(ast.String)(nop)
visit.match(ast.Field)(default)
Exemplo n.º 2
0

@visit.match(ast.Lambda)
def visit(env, node):
    visit_function(env, node)


@visit.match(ast.Table)
def visit(env, node):
    node._luatable = env.symtable.get_global("LuaTable")

    for subnode in node.fields:
        visit(env, subnode)


visit.match(ast.Label)(nop)
visit.match(ast.Goto)(nop)
visit.match(ast.Assign)(default)
visit.match(ast.CallStatement)(default)
visit.match(ast.Call)(default)
visit.match(ast.Return)(default)
visit.match(ast.Break)(nop)
visit.match(ast.Subscript)(default)
visit.match(ast.Attribute)(default)
visit.match(ast.Method)(default)
visit.match(ast.NIL)(nop)
visit.match(ast.FALSE)(nop)
visit.match(ast.TRUE)(nop)
visit.match(ast.Number)(nop)
visit.match(ast.String)(nop)
visit.match(ast.Field)(default)
Exemplo n.º 3
0
def visit_body(env, node):
    visit_subblock(env, node.body)


@visit.match(ast.Label)
def visit_Label(env, node):
    env.label_table.got_label(node)


@visit.match(ast.Goto)
def visit_Goto(env, node):
    env.label_table.got_goto(node)


visit.match(ast.Block)(visit_body)
visit.match(ast.While)(visit_body)
visit.match(ast.Repeat)(visit_body)
visit.match(ast.For)(visit_body)
visit.match(ast.ForEach)(visit_body)


@visit.match(ast.If)
def visit_If(env, node):
    visit_subblock(env, node.body)
    visit_subblock(env, node.orelse)


visit.match(ast.File)(visit_topblock)
visit.match(ast.Function)(visit_topblock)
Exemplo n.º 4
0
def visit_body(env, node):
    visit_subblock(env, node.body)


@visit.match(ast.Label)
def visit_Label(env, node):
    env.label_table.got_label(node)


@visit.match(ast.Goto)
def visit_Goto(env, node):
    env.label_table.got_goto(node)


visit.match(ast.Block)(visit_body)
visit.match(ast.While)(visit_body)
visit.match(ast.Repeat)(visit_body)
visit.match(ast.For)(visit_body)
visit.match(ast.ForEach)(visit_body)


@visit.match(ast.If)
def visit_If(env, node):
    visit_subblock(env, node.body)
    visit_subblock(env, node.orelse)


visit.match(ast.File)(visit_topblock)
visit.match(ast.Function)(visit_topblock)