pastout.c - routines for emitting PAST
Initial.
The PAST back-end implements the emit_data
data structure.
Currently,
only a single data member is used,
to control the indention.
- past_init()
- Prints initializing PAST: ["past" => PMC 'PAST::Block' {]
- past_block()
- Prints PAST for a block,
including <source> and <pos> attributes.
- past_close()
- Close down a PAST entity.
The closing brace is printed,
and the indention level is decremented.
- past_name()
- Prints a PAST <name> entry.
- past_stmts()
- Opens a PAST::Stmts node.
- past_param()
- Generates a PAST::Var node and set its scope attribute to "parameter".
- past_type()
- past_subflag()
- past_op()
- past_expr()
- past_destroy()
- Destructor,
close the outputfile if any,
and free the emit_data structure.
- init_past_vtable()
- Creates a vtable for the PAST emitting module,
and then this vtable is set into the parser_state struct.