 assem | Pseudo assembly support |
  Comment | |
  Fragment | Abstract a fragment in assembly language |
  DataFrag | Encapsulate a data fragment in assembly language |
  ProcFrag | Encapsulate an instruction fragment in assembly language |
  Fragments | Abstract a fragment in assembly language |
  Instr | Root for abstract assembly instructions |
  Instrs | |
  Label | |
  Layout | Abstract a fragments's layout |
  Move | |
  Oper | |
  GenVisitor | |
 ast | Ast management |
  tasks | Task for ast |
  AnyDecs | Abstract a "list of D-declarations" node |
  ArrayTy | ArrayTy |
  Ast | Ast |
  CastExp | Cast the type of an expression to a given type |
  CastVar | Cast the type of an l-value to a given type |
  ClassTy | ClassTy |
  Dec | Dec |
  DecsList | DecsList |
  Decs | Declare Decs |
  GenDefaultVisitor | Just visit the whole Ast tree (except object-related nodes) |
  Exp | Exp |
  FieldInit | FieldInit |
  Field | Field |
  ForExp | ForExp |
  FunctionDec | FunctionDec |
  IntExp | IntExp |
  MethodDec | Method declaration |
  NameTy | NameTy |
  NilExp | NilExp |
  GenNonObjectVisitor | |
  GenObjectVisitor | |
  OpExp | OpExp |
  PrettyPrinter | Visit an Ast and print the content of each node |
  SimpleVar | SimpleVar |
  SubscriptVar | SubscriptVar |
  Ty | Ty |
  TypeDec | TypeDec |
  VarDec | VarDec |
  GenVisitor | Root class of all Ast visitors |
  WhileExp | WhileExp |
 astclone | Cloning an ast::Ast |
  tasks | Tasks of the astclone module |
  Cloner | Duplicate an Ast |
 bind | |
  Binder | Binding identifier uses to their definitions |
  Renamer | Perform identifier renaming within an AST (in place) |
 boost | |
 callgraph | Computing static link related information |
  tasks | The Tasks of the escapes module |
  CallGraphVisitor | Computes the CallGraph |
  FundecGraph | |
 canon | Simplification of tree::Tree code |
  tasks | |
  BasicBlock | A location independent piece of tree::Tree code |
  is_nop | Return false if tree has to be run. Try to say true as much as possible |
  commute_p | Return false if a and b cannot be swapped, try to say true as much as possible |
  Canon | Object function to canonicalize tree::Tree code |
  jump_name_p | Is tree a JUMP(NAME())? This is a predicate |
  label_to_p | Is tree a LABEL pointing to label? |
  Traces | Object function to linearize canonicalized tree::Tree code |
 desugar | Desugaring an ast::Ast |
  tasks | Tasks of the desugar module |
  BoundCheckingVisitor | Add dynamic array bound checks while duplicating an AST |
  DesugarVisitor | Desugar some syntactic structures while duplicating an Ast |
 escapes | Computing escape and static link related information |
  tasks | The Tasks of the escapes module |
  EscapesVisitor | Compute the escapes |
 frame | Tools to describe activation blocks: Frame, Access |
  Access | Variables have to be stored. There are two kinds of places: saved in a register, or in the frame. Access abstracts both |
  In_Register | Local variable stored in register |
  In_Frame | Local variable stored in the stack frame |
  Frame | Stack frame (or activation record) of a function |
 inlining | Inlining functions of an ast::Ast |
  tasks | Tasks of the inlining module |
  Inliner | Perform inline expansion of functions |
  Pruner | Prune useless function declarations within an AST |
 liveness | Generation of the FlowGraph, Liveness graph, and InterferenceGraph |
  tasks | |
  FlowGraph | Flow graph |
  InterferenceGraph | Provide liveness analysis |
  Liveness | FlowGraph labeled with live Temp |
 misc | Handling of generic, oriented or undirected, graph |
  Deref | |
  endo_map | A renaming mapping defaulting to identity: Mapping a class with itself (endomorphism). Unless a value is already mapped onto another, map it to itself if nonstrict. This is a special case of std::map |
  error | Handle errors in the whole project |
  escaped | |
  file_library | Manage search path |
  generic_variant | |
  graph | |
  empty | |
  directed_graph | |
  undirected_graph | |
  list | |
  map | Wrapper around std::map providing syntactic sugar for any mapping of types manipulation |
  pair | |
  path | Helper for handling paths |
  ref | |
  scoped_map | |
  constify_traits | Return T constified |
  id_traits | Return T as is |
  select_iterator | The iterator over a non const structure is plain iterator |
  select_iterator< const T > | The iterator over a const structure is a const_iterator |
  separator | |
  set | The class misc::set is wrapper around std::set |
  symbol | Define symbol class |
  timer | Timing nested tasks |
   time | |
   time_var | |
  unique | Define unique class |
  variant | |
  iomanipulator | Defines the operator() for the classes get_type, set_type and swap_type |
  xalloc | Allocate slots in std::ostreams |
   get_type | Handle the data to get from the xalloced place |
   set_type | Handle the data to put in the xalloced place |
   swap_type | Swap the data stored in the stream for a given one |
 object | |
  tasks | The Tasks of the object module |
  Binder | Computing bindings with support for objects |
  DesugarVisitor | Desugar some object structures while duplicating an Ast |
  Renamer | Perform identifier renaming within an AST (in place), with support for objects |
  TypeChecker | |
 overload | Perform type checking, allowing function overloading |
  tasks | |
  Binder | Computing bindings with support for overloaded functions |
  OverTable | |
  TypeChecker | |
 parse | Parsing the input, delivering an ast::Ast |
  tasks | Tasks of the parse module |
  MetavarMap | A generic map of metavariables |
  TigerParser | Conduct the scanner and the parser |
  Tweast | TWEAST stands for ``Text With Embedded Abstract Syntax Trees'' |
 regalloc | Perform the register allocation |
  tasks | Tasks for register allocation. |
  Color | Just color the graph itself |
  UselessMove | Predicate (object function) checking whether an instruction is a useless MOVE according to the TEMPMAP, and deleting it |
  RegisterAllocator | "Allocate-registers" functor |
 target | Multiple target support |
  ia32 | |
   Cpu | Describes IA-32's registers |
   GasAssembly | Implements a GAS compatible assembly language |
   GasLayout | Abstract GAS' fragments's layout |
   Target | An IA-32 Target is the union of an IA-32 Cpu and an IA-32 Codegen |
  mips | |
   Cpu | Describes MIPS's registers |
   SpimAssembly | Implements a SPIM compatible assembly language |
   SpimLayout | Abstract SPIM's fragments's layout |
   Target | A MIPS Target is the union of a MIPS Cpu and a MIPS Codegen |
  tasks | |
  Assembly | An assembly language comes with its syntax, its runtime library, and its layout of fragments |
  Codegen | Abstract a Code Generator |
  CpuLimits | A set of restriction over a Cpu |
  Cpu | A Cpu mainly describes target machine's registers |
  Target | A Target is the union of a Cpu and a Codegen |
 task | Handling of Task |
  tasks | |
  BooleanTask | A simple Task that sets a Boolean variable to true |
  DisjunctiveTask | |
  FunctionTask | A simple Task that invokes a callback function |
  IntTask | A simple Task that sets an Int variable |
  MultipleStringTask | A simple task that invokes callback function with string argument |
  StringTask | A simple Task that sets a String variable |
  char_ptr_less | 'char*' lower-than functor |
  TaskRegister | Register Tasks |
  Task | A function bound to a command line option |
 temp | Managing Temp and Label |
  tasks | |
  Identifier | Root for Named or anonymous (fresh) identifiers |
  IdentifierCompareVisitor | |
  label_traits< misc::symbol > | |
  label_traits< unsigned > | |
  temp_traits< misc::symbol > | |
  temp_traits< unsigned > | |
 translate | Translation from ast::Ast to tree::Node |
  tasks | |
  Access | Wrapper around frame::Access |
  Exp | Root for all the following classes |
  Cx | Natural representation for conditionals |
  Ex | Natural representation for expressions |
  Nx | Natural representation for statements |
  Ix | Specialization of Exp for branchings |
  Level | Stack frames for languages with non local variables |
  Translator | Translate an ast::Ast into High level tree::Tree code |
 tree | (Low/High) intermediate code |
  Binop | |
  Call | |
  Cjump | Conditional branching |
  Const | |
  Eseq | |
  Exp | Node that has a value, contrary to Stm |
  Fragment | Piece of intermediate representation resource |
  DataFrag | Fragment for a string data |
  ProcFrag | Fragment for some code `data' |
  Fragments | Fragments: Fragment list |
  Iterator | |
  Jump | |
  Label | |
  Mem | Memory indirection |
  Move | Copy the content of the second operand to the first operand |
  Name | |
  Seq | |
  Stm | Node that has no value, contrary to Exp |
  Sxp | An expression which value is discarded |
  Temp | An Exp for a temporary (pseudo register) |
  Tree | |
  GenVisitor | |
 type | Type-checking an ast::Ast |
  tasks | |
  Array | Array types |
  Attribute | The base object for Class attributes |
  Nil | The builtin type of `nil' only (singleton class) |
  Class | Class types |
  Field | The base type for Record fields |
  Function | Function types |
  Method | Method types |
  Named | Named types |
  Record | Record types |
  TypeChecker | |
  Type | Abstract a type |
 adjacency_list | |
 FlexLexer | |
 shared_ptr | |
 variant | |
 yyFlexLexer | |