Beispiel #1
0
    def get_free_variables(self):
        sym_table = SymbolTable()
        visitor = ScopeTreeVisitor(sym_table)
        visitor.visit(self.tree)
        fill_scope_references(self.tree)

        free_var_analysis = FreeVariableAnalyzerVisitor()
        free_var_analysis.visit(self.tree)
        return free_var_analysis.free_variables
Beispiel #2
0
    def get_free_variables(self):
        sym_table = SymbolTable()
        visitor = ScopeTreeVisitor(sym_table)
        visitor.visit(self.tree)
        fill_scope_references(self.tree)

        free_var_analysis = FreeVariableAnalyzerVisitor()
        free_var_analysis.visit(self.tree)
        return free_var_analysis.free_variables
Beispiel #3
0
def mangle(tree):
    sym_table = SymbolTable()
    visitor = ScopeTreeVisitor(sym_table)
    visitor.visit(tree)

    fill_scope_references(tree)
    mangle_scope_tree(sym_table.globals)

    mangler = NameManglerVisitor()
    mangler.visit(tree)
Beispiel #4
0
def mangle(tree):
    sym_table = SymbolTable()
    visitor = ScopeTreeVisitor(sym_table)
    visitor.visit(tree)

    fill_scope_references(tree)
    mangle_scope_tree(sym_table.globals)

    mangler = NameManglerVisitor()
    mangler.visit(tree)
Beispiel #5
0
def mangle(tree, toplevel=False):
    """Mangle names.

    Args:
        toplevel: defaults to False. Defines if global
        scope should be mangled or not.
    """
    sym_table = SymbolTable()
    visitor = ScopeTreeVisitor(sym_table)
    visitor.visit(tree)

    fill_scope_references(tree)
    mangle_scope_tree(sym_table.globals, toplevel)

    mangler = NameManglerVisitor()
    mangler.visit(tree)
Beispiel #6
0
def mangle(tree, toplevel=False):
    """Mangle names.

    Args:
        toplevel: defaults to False. Defines if global
        scope should be mangled or not.
    """
    sym_table = SymbolTable()
    visitor = ScopeTreeVisitor(sym_table)
    visitor.visit(tree)

    fill_scope_references(tree)
    mangle_scope_tree(sym_table.globals, toplevel)

    mangler = NameManglerVisitor()
    mangler.visit(tree)