Class Hierarchy   Compound List   File List   Header Files   Compound Members   File Members  

suif_factory.h File Reference

Compounds

Defines

Functions


Define Documentation

#define SUIF_FACTORY_H


Function Documentation

VoidType * create_void_type (SuifEnv * env, IInteger bit_size, int bit_alignment, const LString & name = emptyLString)

NumericType * create_numeric_type (SuifEnv * env, IInteger bit_size, int bit_alignment, const LString & name = emptyLString)

BooleanType * create_boolean_type (SuifEnv * env, IInteger bit_size, int bit_alignment, const LString & name = emptyLString)

IntegerType * create_integer_type (SuifEnv * env, IInteger bit_size, int bit_alignment, bool is_signed, const LString & name = emptyLString)

FloatingPointType * create_floating_point_type (SuifEnv * env, IInteger bit_size, int bit_alignment, const LString & name = emptyLString)

EnumeratedType * create_enumerated_type (SuifEnv * env, IInteger bit_size, int bit_alignment, bool is_signed, const LString & name = emptyLString)

PointerType * create_pointer_type (SuifEnv * env, IInteger bit_size, int bit_alignment, Type * reference_type, const LString & name = emptyLString)

ReferenceType * create_reference_type (SuifEnv * env, IInteger bit_size, int bit_alignment, Type * reference_type, const LString & name = emptyLString)

ArrayType * create_array_type (SuifEnv * env, IInteger bit_size, int bit_alignment, QualifiedType * element_type, Expression * sf_owned lower_bound, Expression * sf_owned upper_bound, const LString & name = emptyLString)

MultiDimArrayType * create_multi_dim_array_type (SuifEnv * env, IInteger bit_size, int bit_alignment, QualifiedType * element_type, const LString & name = emptyLString)

GroupType * create_group_type (SuifEnv * env, IInteger bit_size, int bit_alignment, const LString & name = emptyLString, bool is_complete = 0, GroupSymbolTable * sf_owned group_symbol_table = 0)

StructType * create_struct_type (SuifEnv * env, IInteger bit_size, int bit_alignment, const LString & name = emptyLString, bool is_complete = 0, GroupSymbolTable * sf_owned group_symbol_table = 0)

UnionType * create_union_type (SuifEnv * env, IInteger bit_size, int bit_alignment, const LString & name = emptyLString, bool is_complete = 0, GroupSymbolTable * sf_owned group_symbol_table = 0)

CProcedureType * create_c_procedure_type (SuifEnv * env, DataType * result_type, bool has_varargs, bool arguments_known, int bit_alignment, const LString & name = emptyLString)

FieldSymbol * create_field_symbol (SuifEnv * env, QualifiedType * type, Expression * sf_owned bit_offset, const LString & name = emptyLString, bool is_address_taken = false)

NestingVariableSymbol * create_nesting_variable_symbol (SuifEnv * env, QualifiedType * type, NestingVariableSymbol * super_variable, Expression * sf_owned bit_offset, const LString & name = emptyLString, bool is_address_taken = false)

EvalStatement * create_eval_statement (SuifEnv * env)

CallStatement * create_call_statement (SuifEnv * env, VariableSymbol * destination, Expression * sf_owned callee_address)

IfStatement * create_if_statement (SuifEnv * env, Expression * sf_owned condition, Statement * sf_owned then_part, Statement * sf_owned else_part = 0)

WhileStatement * create_while_statement (SuifEnv * env, Expression * sf_owned condition, Statement * sf_owned body, CodeLabelSymbol * break_label = 0, CodeLabelSymbol * continue_label = 0)

DoWhileStatement * create_do_while_statement (SuifEnv * env, Expression * sf_owned condition, Statement * sf_owned body, CodeLabelSymbol * break_label = 0, CodeLabelSymbol * continue_label = 0)

ForStatement * create_for_statement (SuifEnv * env, VariableSymbol * index, Expression * sf_owned lower_bound, Expression * sf_owned upper_bound, Expression * sf_owned step, const LString & comparison_opcode, Statement * sf_owned body, Statement * sf_owned pre_pad = 0, CodeLabelSymbol * break_label = 0, CodeLabelSymbol * continue_label = 0)

ScopeStatement * create_scope_statement (SuifEnv * env, Statement * sf_owned body = 0, SymbolTable * sf_owned symbol_table = 0, DefinitionBlock * sf_owned definition_block = 0)

VaStartStatement * create_va_start_statement (SuifEnv * env, Expression * sf_owned ap_address, ParameterSymbol * parmn)

VaStartOldStatement * create_va_start_old_statement (SuifEnv * env, Expression * sf_owned ap_address)

VaEndStatement * create_va_end_statement (SuifEnv * env, Expression * sf_owned ap_address)

StoreStatement * create_store_statement (SuifEnv * env, Expression * sf_owned value, Expression * sf_owned destination_address)

StoreVariableStatement * create_store_variable_statement (SuifEnv * env, VariableSymbol * destination, Expression * sf_owned value)

ReturnStatement * create_return_statement (SuifEnv * env, Expression * sf_owned return_value)

JumpStatement * create_jump_statement (SuifEnv * env, CodeLabelSymbol * target)

JumpIndirectStatement * create_jump_indirect_statement (SuifEnv * env, Expression * sf_owned target)

BranchStatement * create_branch_statement (SuifEnv * env, Expression * sf_owned decision_operand, CodeLabelSymbol * target)

MultiWayBranchStatement * create_multi_way_branch_statement (SuifEnv * env, Expression * sf_owned decision_operand, CodeLabelSymbol * default_target)

LabelLocationStatement * create_label_location_statement (SuifEnv * env, CodeLabelSymbol * defined_label)

MarkStatement * create_mark_statement (SuifEnv * env)

BinaryExpression * create_binary_expression (SuifEnv * env, DataType * result_type, const LString & opcode, Expression * sf_owned source1, Expression * sf_owned source2)

UnaryExpression * create_unary_expression (SuifEnv * env, DataType * result_type, const LString & opcode, Expression * sf_owned source)

SelectExpression * create_select_expression (SuifEnv * env, DataType * result_type, Expression * sf_owned selector, Expression * sf_owned selection1, Expression * sf_owned selection2)

MultiDimArrayExpression * create_multi_dim_array_expression (SuifEnv * env, DataType * result_type, Expression * sf_owned array_address, Expression * sf_owned offset)

ArrayReferenceExpression * create_array_reference_expression (SuifEnv * env, DataType * result_type, Expression * sf_owned base_array_address, Expression * sf_owned index)

FieldAccessExpression * create_field_access_expression (SuifEnv * env, DataType * result_type, Expression * sf_owned base_group_address, FieldSymbol * field)

VaArgExpression * create_va_arg_expression (SuifEnv * env, DataType * result_type, Expression * sf_owned ap_address)

LoadExpression * create_load_expression (SuifEnv * env, DataType * result_type, Expression * sf_owned source_address)

LoadVariableExpression * create_load_variable_expression (SuifEnv * env, DataType * result_type, VariableSymbol * source)

SymbolAddressExpression * create_symbol_address_expression (SuifEnv * env, DataType * result_type, Symbol * addressed_symbol)

LoadValueBlockExpression * create_load_value_block_expression (SuifEnv * env, DataType * result_type, ValueBlock * sf_owned value_block)

ExpressionValueBlock * create_expression_value_block (SuifEnv * env, Expression * sf_owned expression)

MultiValueBlock * create_multi_value_block (SuifEnv * env, DataType * type)

RepeatValueBlock * create_repeat_value_block (SuifEnv * env, int num_repetitions, ValueBlock * sf_owned sub_block, DataType * type)

UndefinedValueBlock * create_undefined_value_block (SuifEnv * env, DataType * type)

GroupSymbolTable * create_group_symbol_table (SuifEnv * env, SymbolTable * explicit_super_scope = 0)

TargetInformationBlock * create_target_information_block (SuifEnv * env, const LString & pointer_size_calculation_rule = LString(""), const LString & pointer_alignment_calculation_rule = LString(""), const LString & array_alignment_calculation_rule = LString(""), const LString & group_alignment_calculation_rule = LString(""), const LString & procedure_alignment_calculation_rule = LString(""), const LString & integer_representation_rule = LString(""), const LString & floating_point_representation_rule = LString(""), bool is_big_endian = 0, IInteger byte_size = 0, IntegerType * word_type = 0, BooleanType * default_boolean_type = 0, VoidType * default_void_type = 0, bool pointer_size_fixed = 0, IInteger pointer_size = 0, bool pointer_alignment_fixed = 0, int pointer_alignment = 0, bool array_alignment_calculation_is_standard = 0, int array_alignment_minimum = 0, bool group_alignment_calculation_is_standard = 0, int group_alignment_minimum = 0, bool procedure_alignment_fixed = 0, int procedure_alignment = 0, bool integer_representation_is_twos_complement = 0)

CInformationBlock * create_c_information_block (SuifEnv * env, const LString & va_start_builtin = LString(""), const LString & va_start_old_builtin = LString(""), const LString & va_arg_builtin = LString(""), const LString & va_end_builtin = LString(""), IntegerType * signed_char_type = 0, IntegerType * unsigned_char_type = 0, IntegerType * char_type = 0, IntegerType * signed_short_type = 0, IntegerType * unsigned_short_type = 0, IntegerType * signed_int_type = 0, IntegerType * unsigned_int_type = 0, IntegerType * signed_long_type = 0, IntegerType * unsigned_long_type = 0, IntegerType * signed_long_long_type = 0, IntegerType * unsigned_long_long_type = 0, FloatingPointType * float_type = 0, FloatingPointType * double_type = 0, FloatingPointType * long_double_type = 0, Type * file_type = 0, IntegerType * ptrdiff_t_type = 0, IntegerType * size_t_type = 0, Type * va_list_type = 0, bool plain_bit_field_is_signed = 0)


Generated at Mon Nov 22 19:43:10 1999 for NCI SUIF by doxygen  written by Dimitri van Heesch, © 1997-1999