LRDE Tiger Compiler  1.34a $Id: 7fef12e1f5fa43449d667a0eec1d837c40fc1202 $
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
object::tasks Namespace Reference

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

Detailed Description

The Tasks of the object module.

Function Documentation

object::tasks::BOOLEAN_TASK_DECLARE ( "o|object"  ,
"enable object extensions"  ,
enable_object_extensions_p  ,
""   
)

Enable object extensions.

void object::tasks::object_desugar ( )
void object::tasks::object_parse ( )
void object::tasks::object_rename ( )
void object::tasks::object_types_compute ( )
void object::tasks::raw_object_desugar ( )
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"  )

Variable Documentation

std::unique_ptr<class_names_type> object::tasks::class_names
static