Class Hierarchy Compound List File List Header Files Compound Members File Members
suif_factory.h File Reference
Compounds
Defines
Functions
- 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)
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)
IfStatement * create_if_statement (SuifEnv * env, Expression * sf_owned condition, Statement * sf_owned then_part, Statement * sf_owned else_part = 0)
ScopeStatement * create_scope_statement (SuifEnv * env, Statement * sf_owned body = 0, SymbolTable * sf_owned symbol_table = 0, DefinitionBlock * sf_owned definition_block = 0)
StoreStatement * create_store_statement (SuifEnv * env, Expression * sf_owned value, Expression * sf_owned destination_address)
RepeatValueBlock * create_repeat_value_block (SuifEnv * env, int num_repetitions, ValueBlock * sf_owned sub_block, DataType * type)
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
written by Dimitri van Heesch, © 1997-1999