def find_undeclared_variables(ast):
 codegen = TrackingCodeGenerator(ast.environment)
 codegen.visit(ast)
 return codegen.undeclared_identifiers

def find_undeclared_variables ( ast ) : codegen = TrackingCodeGenerator ( ast . environment ) codegen . visit ( ast ) return codegen . undeclared_identifiers
returns a set of all variables in the ast that will be looked up from the context at runtime .