ducky.cc.passes.ast_codegen module

class ducky.cc.passes.ast_codegen.CodegenVisitor(*args, **kwargs)[source]

Bases: ducky.cc.passes.ASTVisitor

block(stage=None, *args, **kwargs)[source]
emit_epilog()[source]
emit_prolog()[source]
emit_string_literals()[source]
emit_trampoline()[source]
generic_visit(node, **kwargs)[source]
get_new_label(name=None)[source]
get_new_literal_label()[source]
get_new_local_storage(size)[source]
make_current(block)[source]
materialize()[source]
pop_scope()[source]
priority = 1000
process_cond(node, iftrue_label=None, iffalse_label=None)[source]
push_scope()[source]
reset_scope()[source]
visit(node, **kwargs)[source]
visit_ArrayRef(node, preferred=None, keep=None)[source]
visit_Assignment(node, preferred=None, keep=None)[source]
visit_BinaryOp(node, preferred=None, keep=None)[source]
visit_Cast(node, **kwargs)[source]
visit_Compound(node, create_scope=True)[source]
visit_Constant(node, preferred=None, keep=None)[source]
visit_Decl(node)[source]
visit_ExprList(node)[source]
visit_FileAST(node)[source]
visit_For(node)[source]
visit_FuncCall(node, preferred=None, keep=None)[source]
visit_FuncDef(node)[source]
visit_ID(node, preferred=None, keep=None)[source]
visit_If(node)[source]
visit_Return(node)[source]
visit_StructRef(node, **kwargs)[source]
visit_TypeDecl(node, **kwargs)[source]
visit_Typedef(node)[source]
visit_Typename(node, **kwargs)[source]
visit_UnaryOp(node, preferred=None, keep=None)[source]
visit_While(node)[source]
visit_constant_value(node)[source]
visit_expr(node, preferred=None, keep=None)[source]