LRDE Tiger Compiler
1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
|
The Tasks of the object module. More...
Functions | |
void | object_parse () |
void | object_types_compute () |
void | object_rename () |
void | object_desugar () |
void | raw_object_desugar () |
TASK_GROUP ("Object") | |
BOOLEAN_TASK_DECLARE ("o|object","enable object extensions", enable_object_extensions_p,"") | |
Enable object extensions. | |
TASK_DECLARE ("object-parse","parse a file, allowing objects", object_parse,"object parse") | |
Parse the input file, allowing objects. | |
TASK_DECLARE ("object-types-compute","check for type violations, ""allowing objects", object_types_compute,"object-bindings-compute") | |
Check for type violation, allowing objects. | |
TASK_DECLARE ("object-rename","rename identifiers to unique names, allowing objects", object_rename,"object-types-compute") | |
Perform a renaming, before desugaring objects. | |
TASK_DECLARE ("object-desugar","remove object constructs from the program", object_desugar,"object-rename") | |
Remove syntactic sugar from the Ast. | |
TASK_DECLARE ("raw-object-desugar","remove object constructs from the program ""without recomputing bindings nor types", raw_object_desugar,"object-rename") |
Variables | |
static std::unique_ptr < class_names_type > | class_names |
The Tasks of the object module.
object::tasks::BOOLEAN_TASK_DECLARE | ( | "o|object" | , |
"enable object extensions" | , | ||
enable_object_extensions_p | , | ||
"" | |||
) |
Enable object extensions.
void object::tasks::object_desugar | ( | ) |
References class_names, object::desugar(), and ast::tasks::the_program.
void object::tasks::object_parse | ( | ) |
void object::tasks::object_rename | ( | ) |
References class_names, object::rename(), and ast::tasks::the_program.
void object::tasks::object_types_compute | ( | ) |
References misc::error::exit_on_error(), task_error, ast::tasks::the_program, and object::types_check().
void object::tasks::raw_object_desugar | ( | ) |
References class_names, object::raw_desugar(), and ast::tasks::the_program.
object::tasks::TASK_DECLARE | ( | "object-parse" | , |
"parse a | file, | ||
allowing objects" | , | ||
object_parse | , | ||
"object parse" | |||
) |
Parse the input file, allowing objects.
object::tasks::TASK_DECLARE | ( | "object-types-compute" | , |
"check for type | violations, | ||
""allowing objects" | , | ||
object_types_compute | , | ||
"object-bindings-compute" | |||
) |
Check for type violation, allowing objects.
object::tasks::TASK_DECLARE | ( | "object-rename" | , |
"rename identifiers to unique | names, | ||
allowing objects" | , | ||
object_rename | , | ||
"object-types-compute" | |||
) |
Perform a renaming, before desugaring objects.
object::tasks::TASK_DECLARE | ( | "object-desugar" | , |
"remove object constructs from the program" | , | ||
object_desugar | , | ||
"object-rename" | |||
) |
Remove syntactic sugar from the Ast.
object::tasks::TASK_DECLARE | ( | "raw-object-desugar" | , |
"remove object constructs from the program ""without recomputing bindings nor types" | , | ||
raw_object_desugar | , | ||
"object-rename" | |||
) |
Remove syntactic sugar from the Ast without recomputing bindings nor types.
object::tasks::TASK_GROUP | ( | "Object" | ) |
|
static |
Referenced by object_desugar(), object_rename(), and raw_object_desugar().