the Derived Class


SgValueExp
a value of one of the base types. variants: INT_VAL, CHAR_VAL, FLOAT_VAL, DOUBLE_VAL, STRING_VAL, COMPLEX_VAL, KEYWORD_VAL
SgKeywordValExp
SgUnaryExp
SgCastExp
SgDeleteExp
variant == DELETE_OP
SgNewExp
variant == NEW_OP
SgExprIfExp
(expr1)? expr2 : expr3, variant == EXPR_IF
SgFunctionRefExp
function_name(formal args) - for function headers and protytpes. variant = FUNCTION_REF
SgFunctionCallExp
function_name(expr1, expr2, --). variant == FUNC_CALL
SgFuncPntrExp
(functionpointer)(expr1,expr2,expr3). variant == FUNCTION_OP
SgExprListExp
variant == EXPR_LIST, CONTROL_LIST
SgRefExp
Fortran name references, variant == CONST_REF, TYPE_REF, INTERFACE_REF
SgTypeRefExp
a reference to a type in a c++ template argument
SgVarRefExp
scalar variable reference or non-indexed array reference. variant == VAR_REF
SgThisExp
variant == THIS_NODE
SgTripletExp
variant ==DDOT
SgArrayRefExp
an array reference. variant == ARRAY_REF
SgPntrArrRefExp
SgPointerDerefExp
pointer dereferencing. variant == DEREF_OP
SgRecordRefExp
a field reference of a structure. variant == RECORD_REF
SgStructConstExp
Fortran 90 structure constructor. variant == STRUCTURE_CONSTRUCTOR
SgConstExp
SgVecConstExp
a vector constant of the form: [ expr1, expr2, expr3]. variant == VECTOR_CONST
SgInitListExp
used for initializations. form: { expr1,expr2,expr3}, variant == INIT_LIST
SgObjectListExp
used for EQUIVALENCE, NAMELIST and COMMON statements. variant == EQUI_LIST, NAMELIST_LIST, COMM_LIST
SgAttributeExp
Fortran 90 attributes
SgKeywordArgExp
Fortran 90 keyword argument. variant == KEYWORD_ARG
SgSubscriptExp
Fortran 90 vector subscript expression. variant == DDOT
SgIndexOpExp
variant == INDEX_OP
SgUseOnlyExp
Fortran 90 USE statement ONLY attribute. variant == ONLY_NODE
SgUseRenameExp
Fortran 90 USE statement renaming, variant == RENAME_NODE
SgSpecPairExp
Fortran default control arguments to Input/Output statements. variant == SPEC_PAIR
SgIOAccessExp
Fortran index variable bound instantiation, variant == IOACCESS
SgImplicitTypeExp
Fortran index variable bound instantiation. variant == IMPL_TYPE
SgTypeExp
Fortran type expression. variant == TYPE_OP
SgSeqExp
Fortran index variable bound instantiation. variant == SEQ
SgStringLengthExp
Fortran index variable bound instantiation. variant == LEN_OP
SgDefaultExp
Fortran default node. variant == DEFAULT
SgLabelRefExp
Fortran label reference. variant == LABEL_REF
SgProgHedrStmt
Fortran Program block. variant == PROG_HEDR
SgProcHedrStmt
Fortran subroutine, variant == PROC_HEDR
SgProsHedrStmt
Fortran M process, variant == PROS_HEDR
SgFuncHedrStmt
Fortran and C function, variant == FUNC_HEDR
SgTemplateStmt
a function template or class template
SgModuleStmt
Fortran 90 Module statement. variant == MODULE_STMT
SgInterfaceStmt
Fortran 90 Operator Interface Statement. variant == INTERFACE_STMT
SgBlockDataStmt
Fortran Block Data statement. variant == BLOCK_DATA
SgClassStmt
C++ class statement
SgStructStmt
basic C++ structure
SgUnionStmt
basic C++ structure variant == UNION_DECL union name { body } variables_list;
SgEnumStmt
basic C++ structure
SgCollectionStmt
basic C++ structure
SgBasicBlockStmt
in C we have: { body; } . variant == BASIC_BLOCK
SgForStmt
for Fortran Do and C for(). variant = FOR_NODE
SgForallStmt
variant = FORALL_CONSTRUCT_STMT, FORALL_STMT
SgProcessDoStmt
for Fortran M ProcessDo statement. variant = PROCESS_DO_STAT
SgWhileStmt
for C while()
SgDoWhileStmt
For Fortran dowhile().. and C do{....) while();
SgLogIfStmt
For Fortran logical if - only one body statement allowed. variant == LOGIF_NODE
SgIfStmt
For Fortran if then else and C if(). variant == IF_NODE
SgIfElseIfStmt
For Fortran if then elseif .. elseif ... case. variant == ELSEIF_NODE
SgArithIfStmt
For Fortran Arithementic if
SgWhereStmt
fortran Where stmt. variant == WHERE_NODE
SgWhereBlockStmt
fortran Where - Elsewhere stmt. variant == WHERE_BLOCK_STMT
SgSwitchStmt
Fortran Case and C switch(). variant == SWITCH_NODE
SgCaseOptionStmt
Fortran case option statement. variant == CASE_NODE
SgExecutableStatement
this is really a non-control, non-declaration stmt. no special functions here.
SgAssignStmt
Fortran assignment Statment. variant == ASSIGN_STAT
SgCExpStmt
C non-control expression Statment. variant == EXPR_STMT_NODE
SgPointerAssignStmt
Fortran pointer assignment statement. variant == POINTER_ASSIGN_STAT
SgHeapStmt
Fortran heap space allocation and deallocation statements variant == ALLOCATE_STMT or DEALLOCATE_STMT heap and nullify statements can be sub-classes of list executable statement class
SgNullifyStmt
Fortran pointer initialization statement. variant == NULLIFY_STMT
SgContinueStmt
variant == CONT_STAT in Fortran and variant == CONTINUE_NODE in C
SgControlEndStmt
the end of a basic block. variant == CONTROL_END
SgBreakStmt
the end of a basic block. variant == BREAK_NODE
SgCycleStmt
the fortran 90 cycle statement. variant == CYCLE_STMT
SgReturnStmt
the return (expr) node variant == RETURN_NODE/RETURN_STAT
SgExitStmt
the fortran 90 exit statement. variant == EXIT_STMT
SgGotoStmt
the fortran or C goto. variant == GOTO_NODE
SgLabelListStmt
the fortran statements containg a list of labels
SgAssignedGotoStmt
the fortran. variant == ASSGOTO_NODE
SgComputedGotoStmt
the fortran goto. variant == COMGOTO_NODE
SgStopOrPauseStmt
the fortran stop. variant == STOP_STAT
SgCallStmt
the fortran call. variant == PROC_STAT
SgProsCallStmt
the Fortran M process call
SgProsCallLctn
the Fortran M process call with location
SgProsCallSubm
the Fortran M process call with submachine
SgProcessesStmt
the Fortran M processes statement
SgEndProcessesStmt
the Fortran M endprocesses statement
SgPortTypeExp
variant == PORT_TYPE_OP, INPORT_TYPE_OP, or OUTPORT_TYPE_OP
SgInportStmt
the Fortran M inport statement
SgOutportStmt
the Fortran M outport statement. variant == OUTPORT_DECL
SgChannelStmt
the Fortran M channel statement. variant == CHANNEL_STAT
SgMergerStmt
the Fortran M merger statement. variant == MERGER_STAT
SgMoveportStmt
the Fortran M moveport statement
SgSendStmt
the Fortran M send statement
SgReceiveStmt
the Fortran M receive statement
SgEndchannelStmt
the Fortran M endchannel statement
SgProbeStmt
the Fortran M probe statement
SgProcessorsRefExp
variant == PROCESSORS_REF
SgControlExp
parent of INPORT_NAME, OUTPORT_NAME, FROMPORT_NAME, TOPORT_NAME IOSTAT_STORE, EMPTY_STORE, ERR_LABEL, END_LABEL
SgInportExp
variant == INPORT_NAME
SgOutportExp
variant == OUTPORT_NAME
SgFromportExp
variant == FROMPORT_NAME
SgToportExp
SgIO_statStoreExp
variant == IOSTAT_STORE
SgEmptyStoreExp
variant == EMPTY_STORE
SgErrLabelExp
variant == ERR_LABEL
SgEndLabelExp
variant == END_LABEL
SgDataImpliedDoExp
variant == DATA_IMPL_DO
SgDataEltExp
variant == DATA_ELT
SgDataSubsExp
variant == DATA_SUBS
SgDataRangeExp
variant == DATA_RANGE
SgIconExprExp
variant == ICON_EXPR
SgImpliedDoExp
variant == IMPLIED_DO;
SgIOStmt
fortran input/output and their control statements. abstract class
SgInputOutputStmt
fortran input and output statements. variant = READ_STAT, WRITE_STATE, PRINT_STAT
SgIOControlStmt
fortran input/output control and editing statements variant = OPEN_STAT, CLOSE_STAT, INQUIRE_STAT, BACKSPACE_STAT, REWIND_STAT, ENDFILE_STAT, FORMAT_STAT
SgDeclarationStatement
Declaration class. abstract class
SgVarDeclStmt
Declaration Statement. variant == VAR_DECL
SgIntentStmt
the Fortran M Intent Statement. variant == INTENT_STMT
SgVarListDeclStmt
Declaration Statement
SgStructureDeclStmt
Fortran 90 structure declaration statement. variant == STRUCT_DECL
SgNestedVarListDeclStmt
Declaration statement
SgParameterStmt
Fortran constants declaration statement. variant = PARAM_DECL
SgImplicitStmt
Fortran implicit type declaration statement. variant = IMPL_DECL
SgUseStmt
Fortran 90 module usuage statement. variant = USE_STMT
SgStmtFunctionStmt
Fortran statement function declaration. variant == STMTFN_DECL
SgMiscellStmt
Fortran 90 simple miscellaneous statements. variant == CONTAINS_STMT, PRIVATE_STMT, SEQUENCE_STMT
SgInheritStmt
for HPF, INHERIT_DECL
SgVariableSymb
a variable
SgConstantSymb
a symbol for a constant object. variant == CONST_NAME
SgFunctionSymb
a subroutine, function or main program. variant == PROGRAM_NAME, PROCEDURE_NAME, or FUNCTION_NAME
SgMemberFuncSymb
a member function for a class or struct or collection
SgFieldSymb
a field in an enum or in a struct. variant == ENUM_NAME or FIELD_NAME
SgClassSymb
the class, union, struct and collection type
SgTypeSymb
a C typedef. the type() function returns the base type. variant == TYPE_NAME
SgLabelSymb
a C label name. variant == LABEL_NAME
SgLabelVarSymb
a Fortran label variable for an assigned goto stmt. variant == LABEL_NAME
SgExternalSymb
for fortran external statement. variant == ROUTINE_NAME
SgConstructSymb
for fortran statement with construct names. variant == CONSTRUCT_NAME
SgInterfaceSymb
for fortran interface statement. variant == INTERFACE_NAME
SgModuleSymb
for fortran module statement
SgArrayType
A new array type is generated for each array. variant == T_ARRAY
SgClassType
a C struct or Fortran Record, a C++ class, a C Union and a C Enum and a pC++ collection
SgPointerType
A pointer type contains only one hany bit of information: the base type
SgFunctionType
Function Types have a returned value type. variant == T_FUNCTION
SgReferenceType
A reference (&xx in c+=) type contains only one hany bit of information: the base type. variant == T_REFERENCE
SgDerivedType
for example: typedef int integer; go to the symbol table for the base type and Id
SgDerivedClassType
variant == T_DERIVED_CLASS
SgDerivedTemplateType
this is the type for a template object: T_DERIVED_TEMPLATE
SgDescriptType
for example in C: long volatile int x; long and volatile are modifiers and there is a descriptor type whose base type is the real type of x
SgDerivedCollectionType
for example: Collection DistributedArray {body1} ; class object {body2} ; DistributedArray<object> X; X is of type with variant = T_DERIVED_COLLECTION
SgDistributeAttrExp
for variant=DISTRIBUTE_OP
SgAlignAttrExp
for variant=ALIGN_ATT
SgDataDistExp
for variant=BLOCK_OP,CYCLIC_OP,COLON_OP,STAR_OP
the derived classes,which provide operation on the Intermediate representation, inherit from the Basic Class.

alphabetic index hierarchy of classes


Email contact: zgs@npac.syr.edu

generated by doc++