Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

convertsuif1to2b Class Reference

Inheritance diagram for convertsuif1to2b:

FrontendPass Module List of all members.

Public Methods

 convertsuif1to2b (SuifEnv *s, const LString &name = "convertsuif1to2")
 ~convertsuif1to2b ()
FileSetBlock* build_file_set_block ()
PointerType* build_array_ref_type (PointerType *base_array_address_type)
bool is_initialized ()
void initialize ()
 initializes the modules. More...

virtual Moduleclone () const
 generates a new copy of the current instance if necessary The implementor of a subclass is responsible for overriding this method if the implementation has a unique state the default implementation returns the current instance.

void build_the_fileset ()

Protected Methods

void mark_translation (suif_object *s1_object, SuifObject *y_object)
Expression* int_to_SourceOp (int i)
Expression* int_to_SourceOp (int i, DataType *t)
Expression* symbol_to_source_op (immed s1_immed, DataType *y_result_type)
Expression* var_to_SourceOp (VariableSymbol *var)
void copy_annotes (suif_object *s1_object, AnnotableObject *yobject)
Annote* handle_annote (suif1_annote *s1_annote)
AnnotableObject* lookup_suif_object (suif_object *obj)
QualifiedType* lookup (type_node *s1_type)
Type* lookup_type (type_node *s1_type)
CProcedureType* lookup_func_type (func_type *s1_type)
void start_type (type_node *s1_type, SymbolTable *outSymtab)
void finish_type (type_node *s1_type)
Expression* convert_array_bound (const array_bound &bnd)
Symbol* lookup (sym_node *s1_sym)
void start_symbol (sym_node *s1_sym_node, SymbolTable *y_symtab)
void finish_symbol (sym_node *s1_sym_node)
void start_symbol_table (base_symtab* s1_symtab, SymbolTable *y_symtab)
void finish_symbol_table (base_symtab* s1_symtab, SymbolTable *y_symtab)
void process_variable_defs (base_symtab *s1_symtab, DefinitionBlock *y_def_block)
boolean is_init_annote (suif1_annote *s1_annote)
ValueBlock* build_floating_point_value_block (VariableSymbol *base_var, FloatingPointType *t, base_init_struct_list *inits)
ValueBlock* build_integer_value_block (VariableSymbol *base_var, IntegerType *t, base_init_struct_list *inits)
ValueBlock* build_pointer_value_block (VariableSymbol *base_var, PointerType *t, base_init_struct_list *inits)
ValueBlock* build_array_value_block (VariableSymbol *base_var, ArrayType *t, base_init_struct_list *inits)
void eat_zero_bits (const IInteger &num_bits, base_init_struct_list *inits)
ValueBlock* build_struct_value_block (VariableSymbol *base_var, StructType *t, base_init_struct_list *inits)
ValueBlock* build_group_value_block (VariableSymbol *base_var, GroupType *t, base_init_struct_list *inits)
ValueBlock* build_union_value_block (VariableSymbol *base_var, UnionType *t, base_init_struct_list *inits)
ValueBlock* build_value_block (VariableSymbol *base_var, DataType *t, base_init_struct_list *inits)
void check_procedure_definition (ProcedureDefinition *proc_def)
boolean check_init_annote (suif1_annote *s1_annote)
boolean check_init_value (immed s1_value)
Expression* handle_operand (const suif1_operand &s1_operand)
Expression* handle_source_op_copy (const suif1_operand &op)
VariableSymbol* handle_variable (var_sym *s1_var)
CodeLabelSymbol* handle_label_symbol (label_sym *s1_sym)
Expression* make_set_expression (in_rrr *s1_rrr, LString y_opcode)
Expression* handle_boolean_op (const suif1_operand &s1_operand)
Expression* handle_expression_expression (suif1_instruction *s1_instr)
Statement* handle_expression_statement (suif1_instruction *s1_instr)
Statement* handle_statement (tree_node *s1_tree_node)
void handle_statement_list (tree_node_list *s1_tree_nodes, StatementList *y_stmt_list)
SuifBrick* immed_to_brick (const immed &the_immed)
String string_for_immed_double (immed the_immed)
PointerType* pointer_to (Type *t)
void cache_pointer_to (PointerType *t)
void cache_array_of (ArrayType *t)
void cache_qualified_of (QualifiedType *t)
IInteger default_array_alignment (Type *element_type, const IInteger &lb, const IInteger &ub)
DataType* get_array_type (QualifiedType *t, const IInteger &lb, const IInteger &ub)
QualifiedType* get_qualified_type (DataType *t)
QualifiedType* get_qualified_type (DataType *t, const list<LString> &quals)
IntegerType* get_integer_type (const IInteger &size, int alignment, bool is_signed)
IntegerType* get_sized_integer_type (const IInteger &value)
IntConstant* build_int_constant (const IInteger &value)
FloatingPointType* get_floating_point_type (const IInteger &size, int alignment)
Expression* expression_for_immed (immed s1_immed, type_node *s1_type_node)
Expression* expression_for_symbol_immed (immed s1_immed, PointerType *s1_result_type = NULL)
ProcedureDefinition* handle_procedure_definition (tree_proc *s1_proc, SymbolTable *y_encl_symbol_table)
FileBlock* handle_file (file_set_entry *s1_file, SymbolTable *y_encl_symtab)
void init_file_set_block (FileSetBlock *y_fsb)
void go_multiple_to_multiple (file_set *s1_fsb, FileSetBlock *y_fsb)
virtual Expression* find_test_for_branch_to ( tree_node_list *the_tree_node_list, label_sym *target)
virtual Expression* reverse_conditional (Expression * conditional)


Detailed Description


Constructor & Destructor Documentation

convertsuif1to2b::convertsuif1to2b ( SuifEnv * s,
const LString & name = "convertsuif1to2")

convertsuif1to2b::~convertsuif1to2b () [inline]


Member Function Documentation

PointerType * convertsuif1to2b::build_array_ref_type ( PointerType * base_array_address_type) [inline]

ValueBlock * convertsuif1to2b::build_array_value_block ( VariableSymbol * base_var,
ArrayType * t,
base_init_struct_list * inits) [protected]

FileSetBlock * convertsuif1to2b::build_file_set_block () [inline, virtual]

Reimplemented from FrontendPass.

ValueBlock * convertsuif1to2b::build_floating_point_value_block ( VariableSymbol * base_var,
FloatingPointType * t,
base_init_struct_list * inits) [protected]

ValueBlock * convertsuif1to2b::build_group_value_block ( VariableSymbol * base_var,
GroupType * t,
base_init_struct_list * inits) [protected]

IntConstant * convertsuif1to2b::build_int_constant ( const IInteger & value) [protected]

ValueBlock * convertsuif1to2b::build_integer_value_block ( VariableSymbol * base_var,
IntegerType * t,
base_init_struct_list * inits) [protected]

ValueBlock * convertsuif1to2b::build_pointer_value_block ( VariableSymbol * base_var,
PointerType * t,
base_init_struct_list * inits) [protected]

ValueBlock * convertsuif1to2b::build_struct_value_block ( VariableSymbol * base_var,
StructType * t,
base_init_struct_list * inits) [protected]

void convertsuif1to2b::build_the_fileset ()

ValueBlock * convertsuif1to2b::build_union_value_block ( VariableSymbol * base_var,
UnionType * t,
base_init_struct_list * inits) [protected]

ValueBlock * convertsuif1to2b::build_value_block ( VariableSymbol * base_var,
DataType * type,
base_init_struct_list * inits) [protected]

void convertsuif1to2b::cache_array_of ( ArrayType * t) [protected]

void convertsuif1to2b::cache_pointer_to ( PointerType * t) [protected]

void convertsuif1to2b::cache_qualified_of ( QualifiedType * t) [protected]

boolean convertsuif1to2b::check_init_annote ( suif1_annote * s1_annote) [protected]

boolean convertsuif1to2b::check_init_value ( immed s1_value) [protected]

void convertsuif1to2b::check_procedure_definition ( ProcedureDefinition * proc_def) [protected]

Module * convertsuif1to2b::clone ( void) const [inline, virtual]

generates a new copy of the current instance if necessary The implementor of a subclass is responsible for overriding this method if the implementation has a unique state the default implementation returns the current instance.

Reimplemented from Module.

Expression * convertsuif1to2b::convert_array_bound ( const array_bound & bnd) [protected]

void convertsuif1to2b::copy_annotes ( suif_object * s1_object,
AnnotableObject * y_object) [protected]

IInteger convertsuif1to2b::default_array_alignment ( Type * element_type,
const IInteger & lb,
const IInteger & ub) [protected]

void convertsuif1to2b::eat_zero_bits ( const IInteger & num_bits,
base_init_struct_list * inits) [protected]

Expression * convertsuif1to2b::expression_for_immed ( immed s1_immed,
type_node * s1_type_node) [protected]

Expression * convertsuif1to2b::expression_for_symbol_immed ( immed s1_immed,
PointerType * y_type = NULL) [protected]

Expression * convertsuif1to2b::find_test_for_branch_to ( tree_node_list * the_tree_node_list,
label_sym * target) [protected, virtual]

void convertsuif1to2b::finish_symbol ( sym_node * s1_sym_node) [protected]

void convertsuif1to2b::finish_symbol_table ( base_symtab * s1_symtab,
SymbolTable * y_symtab) [protected]

void convertsuif1to2b::finish_type ( type_node * s1_type) [protected]

DataType * convertsuif1to2b::get_array_type ( QualifiedType * t,
const IInteger & lb,
const IInteger & ub) [protected]

FloatingPointType * convertsuif1to2b::get_floating_point_type ( const IInteger & size,
int alignment) [protected]

IntegerType * convertsuif1to2b::get_integer_type ( const IInteger & size,
int alignment,
bool is_signed) [protected]

QualifiedType * convertsuif1to2b::get_qualified_type ( DataType * t,
const list<LString>& quals) [protected]

QualifiedType * convertsuif1to2b::get_qualified_type ( DataType * t) [protected]

IntegerType * convertsuif1to2b::get_sized_integer_type ( const IInteger & value) [protected]

void convertsuif1to2b::go_multiple_to_multiple ( file_set * s1_fsb,
FileSetBlock * y_fsb) [protected]

Annote * convertsuif1to2b::handle_annote ( suif1_annote * s1_annote) [protected]

Expression * convertsuif1to2b::handle_boolean_op ( const suif1_operand & s1_operand) [protected]

Expression * convertsuif1to2b::handle_expression_expression ( suif1_instruction * s1_instr) [protected]

Statement * convertsuif1to2b::handle_expression_statement ( suif1_instruction * s1_instr) [protected]

FileBlock * convertsuif1to2b::handle_file ( file_set_entry * s1_file,
SymbolTable * y_encl_symtab) [protected]

CodeLabelSymbol * convertsuif1to2b::handle_label_symbol ( label_sym * s1_sym) [protected]

Expression * convertsuif1to2b::handle_operand ( const suif1_operand & s1_operand) [protected]

ProcedureDefinition * convertsuif1to2b::handle_procedure_definition ( tree_proc * s1_proc,
SymbolTable * y_encl_symtab) [protected]

Expression * convertsuif1to2b::handle_source_op_copy ( const suif1_operand & s1_op) [protected]

Statement * convertsuif1to2b::handle_statement ( tree_node * s1_tree_node) [protected]

void convertsuif1to2b::handle_statement_list ( tree_node_list * s1_tree_nodes,
StatementList * y_stmt_list) [protected]

VariableSymbol * convertsuif1to2b::handle_variable ( var_sym * s1_var_sym) [protected]

SuifBrick * convertsuif1to2b::immed_to_brick ( const immed & the_immed) [protected]

void convertsuif1to2b::init_file_set_block ( FileSetBlock * y_fsb) [protected]

void convertsuif1to2b::initialize ( void) [virtual]

initializes the modules.

This method must/will be called before a call to parse_command_line or execute

Reimplemented from FrontendPass.

Expression * convertsuif1to2b::int_to_SourceOp ( int i,
DataType * t) [protected]

Expression * convertsuif1to2b::int_to_SourceOp ( int i) [protected]

boolean convertsuif1to2b::is_init_annote ( suif1_annote * s1_annote) [protected]

bool convertsuif1to2b::is_initialized () [inline]

Symbol * convertsuif1to2b::lookup ( sym_node * s1_sym) [protected]

QualifiedType * convertsuif1to2b::lookup ( type_node * s1_type) [protected]

CProcedureType * convertsuif1to2b::lookup_func_type ( func_type * s1_type) [protected]

AnnotableObject * convertsuif1to2b::lookup_suif_object ( suif_object * the_suif_object) [protected]

Type * convertsuif1to2b::lookup_type ( type_node * s1_type) [protected]

Expression * convertsuif1to2b::make_set_expression ( in_rrr * s1_rrr,
LString y_opcode) [protected]

void convertsuif1to2b::mark_translation ( suif_object * s1_object,
SuifObject * y_object) [protected]

PointerType * convertsuif1to2b::pointer_to ( Type * t) [protected]

void convertsuif1to2b::process_variable_defs ( base_symtab * s1_symtab,
DefinitionBlock * def_block) [protected]

Expression * convertsuif1to2b::reverse_conditional ( Expression * conditional) [protected, virtual]

void convertsuif1to2b::start_symbol ( sym_node * s1_sym_node,
SymbolTable * y_symtab) [protected]

void convertsuif1to2b::start_symbol_table ( base_symtab * s1_symtab,
SymbolTable * y_symtab) [protected]

void convertsuif1to2b::start_type ( type_node * s1_type,
SymbolTable * y_scope) [protected]

String convertsuif1to2b::string_for_immed_double ( immed the_immed) [protected]

Expression * convertsuif1to2b::symbol_to_source_op ( immed s1_immed,
DataType * y_result_type) [protected]

Expression * convertsuif1to2b::var_to_SourceOp ( VariableSymbol * var) [protected]


The documentation for this class was generated from the following file:
Generated at Mon Jul 31 13:43:00 2000 for NCI SUIF by doxygen 1.1.2 written by Dimitri van Heesch, © 1997-2000