High level AST builders
[ROSE Frontend]

Collaboration diagram for High level AST builders:


Detailed Description

This namespace contains high level SAGE III AST node and subtree builders.

Building AST trees using raw SgNode constructors is tedious and error-prone. It becomes even more difficult with the presence of symbol tables. This namespace contains major AST node builders on top of the constructors to take care of symbol tables, various edges to scope, parent and so on.

Authors:
Chunhua Liao (last modified 2/12/2008)


Builders for expressions

handle side effects of parent pointers, Sg_File_Info, lvalue etc.

Expressions are usually built using bottomup approach, i.e. buiding operands first, then the expression operating on the operands. It is also possible to build expressions with NULL operands or empty values first, then set them afterwards.



#define BUILD_UNARY_PROTO(suffix)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
#define BUILD_BINARY_PROTO(suffix)
 Template function to build a binary expression of type T,with extra information for parenthesis and file info, Instantiated functions include: buildAddOp(), buildAndAssignOp(), buildAndOp(), buildArrowExp(),buildArrowStarOp(), buildAssignOp(),buildBitAndOp(),buildBitOrOp(),buildBitXorOp(),buildCommaOpExp(), buildConcatenationOp(),buildDivAssignOp(), buildDivideOp(),buildDotExp(),buildEqualityOp(),buildExponentiationOp(),buildGreaterOrEqualOp(),buildGreaterThanOp(),buildIntegerDivideOp(),buildIorAssignOp(),buildLessOrEqualOp(),buildLessThanOp(),buildLshiftAssignOp(),buildLshiftOp(),buildMinusAssignOp(),buildModAssignOp(),buildModOp(),buildMultAssignOp(),buildMultiplyOp(),buildNotEqualOp(),buildOrOp(),buildPlusAssignOp(),buildPntrArrRefExp(),buildRshiftAssignOp(),buildRshiftOp(),buildScopeOp(),buildSubtractOp()buildXorAssignOp().
SgVariantExpressionSageBuilder::buildVariantExpression ()
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgNullExpressionSageBuilder::buildNullExpression ()
 Build a null expression, set file info as the default one.
SgNullExpressionSageBuilder::buildNullExpression_nfi ()
 No file info version of buildNullExpression(). File info is to be set later on.
SgBoolValExpSageBuilder::buildBoolValExp (int value=0)
 Build a bool value expression, the name convention of SgBoolValExp is little different from others for some unknown reason.
SgBoolValExpSageBuilder::buildBoolValExp (bool value=0)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgBoolValExpSageBuilder::buildBoolValExp_nfi (int value)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgCharValSageBuilder::buildCharVal (char value=0)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgCharValSageBuilder::buildCharVal_nfi (char value, const std::string &str)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgWcharValSageBuilder::buildWcharVal (wchar_t value=0)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgWcharValSageBuilder::buildWcharVal_nfi (wchar_t value, const std::string &str)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgComplexValSageBuilder::buildComplexVal (long double real_value=0.0, long double imaginary_value=0.0)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgComplexValSageBuilder::buildComplexVal (SgValueExp *real_value, SgValueExp *imaginary_value)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgComplexValSageBuilder::buildComplexVal_nfi (SgValueExp *real_value, SgValueExp *imaginary_value, const std::string &str)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgComplexValSageBuilder::buildImaginaryVal (long double imaginary_value)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgComplexValSageBuilder::buildImaginaryVal (SgValueExp *imaginary_value)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgComplexValSageBuilder::buildImaginaryVal_nfi (SgValueExp *imaginary_value, const std::string &str)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgDoubleValSageBuilder::buildDoubleVal (double value=0.0)
 Build a double value expression.
SgDoubleValSageBuilder::buildDoubleVal_nfi (double value, const std::string &str)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgFloatValSageBuilder::buildFloatVal (float value=0.0)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgFloatValSageBuilder::buildFloatVal_nfi (float value, const std::string &str)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgIntValSageBuilder::buildIntVal (int value=0)
 Build an integer value expression.
SgIntValSageBuilder::buildIntValHex (int value=0)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgIntValSageBuilder::buildIntVal_nfi (int value, const std::string &str)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgLongIntValSageBuilder::buildLongIntVal (long value=0)
 Build a long integer value expression.
SgLongIntValSageBuilder::buildLongIntValHex (long value=0)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgLongIntValSageBuilder::buildLongIntVal_nfi (long value, const std::string &str)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgLongLongIntValSageBuilder::buildLongLongIntVal (long long value=0)
 Build a long long integer value expression.
SgLongLongIntValSageBuilder::buildLongLongIntValHex (long long value=0)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgLongLongIntValSageBuilder::buildLongLongIntVal_nfi (long long value, const std::string &str)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgEnumValSageBuilder::buildEnumVal_nfi (int value, SgEnumDeclaration *decl, SgName name)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgLongDoubleValSageBuilder::buildLongDoubleVal (long double value=0.0)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgLongDoubleValSageBuilder::buildLongDoubleVal_nfi (long double value, const std::string &str)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgShortValSageBuilder::buildShortVal (short value=0)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgShortValSageBuilder::buildShortValHex (short value=0)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgShortValSageBuilder::buildShortVal_nfi (short value, const std::string &str)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgStringValSageBuilder::buildStringVal (std::string value="")
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgStringValSageBuilder::buildStringVal_nfi (std::string value)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgUnsignedCharValSageBuilder::buildUnsignedCharVal (unsigned char v=0)
 Build an unsigned char.
SgUnsignedCharValSageBuilder::buildUnsignedCharValHex (unsigned char v=0)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgUnsignedCharValSageBuilder::buildUnsignedCharVal_nfi (unsigned char v, const std::string &str)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgUnsignedShortValSageBuilder::buildUnsignedShortVal (unsigned short v=0)
 Build an unsigned short integer.
SgUnsignedShortValSageBuilder::buildUnsignedShortValHex (unsigned short v=0)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgUnsignedShortValSageBuilder::buildUnsignedShortVal_nfi (unsigned short v, const std::string &str)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgUnsignedIntValSageBuilder::buildUnsignedIntVal (unsigned int v=0)
 Build an unsigned integer.
SgUnsignedIntValSageBuilder::buildUnsignedIntValHex (unsigned int v=0)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgUnsignedIntValSageBuilder::buildUnsignedIntVal_nfi (unsigned int v, const std::string &str)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgUnsignedLongValSageBuilder::buildUnsignedLongVal (unsigned long v=0)
 Build a unsigned long integer.
SgUnsignedLongValSageBuilder::buildUnsignedLongValHex (unsigned long v=0)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgUnsignedLongValSageBuilder::buildUnsignedLongVal_nfi (unsigned long v, const std::string &str)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgUnsignedLongLongIntValSageBuilder::buildUnsignedLongLongIntVal (unsigned long long v=0)
 Build an unsigned long long integer.
SgUnsignedLongLongIntValSageBuilder::buildUnsignedLongLongIntValHex (unsigned long long v=0)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgUnsignedLongLongIntValSageBuilder::buildUnsignedLongLongIntVal_nfi (unsigned long long v, const std::string &str)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgUpcThreadsSageBuilder::buildUpcThreads ()
 Build UPC THREADS (integer expression).
SgUpcThreadsSageBuilder::buildUpcThreads_nfi ()
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgUpcMythreadSageBuilder::buildUpcMythread ()
 Build UPC MYTHREAD (integer expression).
SgUpcMythreadSageBuilder::buildUpcMythread_nfi ()
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgThisExpSageBuilder::buildThisExp (SgClassSymbol *sym)
 Build this pointer.
SgThisExpSageBuilder::buildThisExp_nfi (SgClassSymbol *sym)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgLambdaRefExpSageBuilder::buildLambdaRefExp (SgType *return_type, SgFunctionParameterList *params, SgScopeStatement *scope)
 Build lambda expression.
template<class T>
T * SageBuilder::buildUnaryExpression (SgExpression *operand=NULL)
 Template function to build a unary expression of type T. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). They are also used for the unary vararg operators (which are not technically unary operators).
template<class T>
T * SageBuilder::buildUnaryExpression_nfi (SgExpression *operand)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgCastExpSageBuilder::buildCastExp (SgExpression *operand_i=NULL, SgType *expression_type=NULL, SgCastExp::cast_type_enum cast_type=SgCastExp::e_C_style_cast)
 Build a type casting expression.
SgCastExpSageBuilder::buildCastExp_nfi (SgExpression *operand_i, SgType *expression_type, SgCastExp::cast_type_enum cast_type)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgVarArgOpSageBuilder::buildVarArgOp_nfi (SgExpression *operand_i, SgType *expression_type)
 Build vararg op expression.
SgMinusMinusOpSageBuilder::buildMinusMinusOp (SgExpression *operand_i, SgUnaryOp::Sgop_mode a_mode)
 Build -- expression, Sgop_mode is a value of either SgUnaryOp::prefix or SgUnaryOp::postfix.
SgMinusMinusOpSageBuilder::buildMinusMinusOp_nfi (SgExpression *operand_i, SgUnaryOp::Sgop_mode a_mode)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgPlusPlusOpSageBuilder::buildPlusPlusOp (SgExpression *operand_i, SgUnaryOp::Sgop_mode a_mode)
 Build ++x or x++ , specify prefix or postfix using either SgUnaryOp::prefix or SgUnaryOp::postfix.
SgPlusPlusOpSageBuilder::buildPlusPlusOp_nfi (SgExpression *operand_i, SgUnaryOp::Sgop_mode a_mode)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgThrowOpSageBuilder::buildThrowOp (SgExpression *, SgThrowOp::e_throw_kind)
 Build a ThrowOp expression.
SgNewExpSageBuilder::buildNewExp (SgType *type, SgExprListExp *exprListExp, SgConstructorInitializer *constInit, SgExpression *expr, short int val, SgFunctionDeclaration *funcDecl)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgDeleteExpSageBuilder::buildDeleteExp (SgExpression *variable, short is_array, short need_global_specifier, SgFunctionDeclaration *deleteOperatorDeclaration)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
template<class T>
T * SageBuilder::buildBinaryExpression (SgExpression *lhs=NULL, SgExpression *rhs=NULL)
 Template function to build a binary expression of type T, taking care of parent pointers, file info, lvalue, etc. Available instances include: buildAddOp(), buildAndAssignOp(), buildAndOp(), buildArrowExp(),buildArrowStarOp(), buildAssignOp(),buildBitAndOp(),buildBitOrOp(),buildBitXorOp(),buildCommaOpExp(), buildConcatenationOp(),buildDivAssignOp(),buildDivideOp(),buildDotExp(),buildEqualityOp(),buildExponentiationOp(),buildGreaterOrEqualOp(),buildGreaterThanOp(),buildIntegerDivideOp(),buildIorAssignOp(),buildLessOrEqualOp(),buildLessThanOp(),buildLshiftAssignOp(),buildLshiftOp(),buildMinusAssignOp(),buildModAssignOp(),buildModOp(),buildMultAssignOp(),buildMultiplyOp(),buildNotEqualOp(),buildOrOp(),buildPlusAssignOp(),buildPntrArrRefExp(),buildRshiftAssignOp(),buildRshiftOp(),buildScopeOp(),buildSubtractOp()buildXorAssignOp().
template<class T>
T * SageBuilder::buildBinaryExpression_nfi (SgExpression *lhs, SgExpression *rhs)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgConditionalExpSageBuilder::buildConditionalExp (SgExpression *test=NULL, SgExpression *a=NULL, SgExpression *b=NULL)
 Build a conditional expression ?:.
SgConditionalExpSageBuilder::buildConditionalExp_nfi (SgExpression *test, SgExpression *a, SgExpression *b, SgType *t)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgExprListExpSageBuilder::buildExprListExp (SgExpression *expr1=NULL, SgExpression *expr2=NULL, SgExpression *expr3=NULL, SgExpression *expr4=NULL, SgExpression *expr5=NULL, SgExpression *expr6=NULL, SgExpression *expr7=NULL, SgExpression *expr8=NULL, SgExpression *expr9=NULL, SgExpression *expr10=NULL)
 Build a SgExprListExp, used for function call parameter list etc.
SgExprListExpSageBuilder::buildExprListExp (const std::vector< SgExpression * > &exprs)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgExprListExpSageBuilder::buildExprListExp_nfi ()
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgExprListExpSageBuilder::buildExprListExp_nfi (const std::vector< SgExpression * > &exprs)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgTupleExpSageBuilder::buildTupleExp (SgExpression *expr1=NULL, SgExpression *expr2=NULL, SgExpression *expr3=NULL, SgExpression *expr4=NULL, SgExpression *expr5=NULL, SgExpression *expr6=NULL, SgExpression *expr7=NULL, SgExpression *expr8=NULL, SgExpression *expr9=NULL, SgExpression *expr10=NULL)
 Build a SgTupleExp.
SgTupleExpSageBuilder::buildTupleExp (const std::vector< SgExpression * > &exprs)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgTupleExpSageBuilder::buildTupleExp_nfi ()
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgTupleExpSageBuilder::buildTupleExp_nfi (const std::vector< SgExpression * > &exprs)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgListExpSageBuilder::buildListExp (SgExpression *expr1=NULL, SgExpression *expr2=NULL, SgExpression *expr3=NULL, SgExpression *expr4=NULL, SgExpression *expr5=NULL, SgExpression *expr6=NULL, SgExpression *expr7=NULL, SgExpression *expr8=NULL, SgExpression *expr9=NULL, SgExpression *expr10=NULL)
 Build a SgListExp.
SgListExpSageBuilder::buildListExp (const std::vector< SgExpression * > &exprs)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgListExpSageBuilder::buildListExp_nfi ()
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgListExpSageBuilder::buildListExp_nfi (const std::vector< SgExpression * > &exprs)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgComprehensionSageBuilder::buildComprehension (SgExpression *target, SgExpression *iter, SgExprListExp *ifs)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgComprehensionSageBuilder::buildComprehension_nfi (SgExpression *target, SgExpression *iter, SgExprListExp *ifs)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgListComprehensionSageBuilder::buildListComprehension (SgExpression *elt, SgExprListExp *generators)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgListComprehensionSageBuilder::buildListComprehension_nfi (SgExpression *elt, SgExprListExp *generators)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgSetComprehensionSageBuilder::buildSetComprehension (SgExpression *elt, SgExprListExp *generators)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgSetComprehensionSageBuilder::buildSetComprehension_nfi (SgExpression *elt, SgExprListExp *generators)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgDictionaryComprehensionSageBuilder::buildDictionaryComprehension (SgKeyDatumPair *kd_pair, SgExprListExp *generators)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgDictionaryComprehensionSageBuilder::buildDictionaryComprehension_nfi (SgKeyDatumPair *kd_pair, SgExprListExp *generators)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgVarRefExpSageBuilder::buildVarRefExp (const SgName &name, SgScopeStatement *scope=NULL)
 Build SgVarRefExp based on a variable's Sage name. It will lookup symbol table internally starting from scope. A variable name is unique so type can be inferred (double check this).
SgVarRefExpSageBuilder::buildVarRefExp (const std::string &varName, SgScopeStatement *scope=NULL)
 Build SgVarRefExp based on a variable's name. It will lookup symbol table internally starting from scope. A variable is unique so type can be inferred.
SgVarRefExpSageBuilder::buildVarRefExp (const char *varName, SgScopeStatement *scope=NULL)
 Build a variable reference using a C style char array.
SgVarRefExpSageBuilder::buildVarRefExp (SgVariableSymbol *varSymbol)
 Build a variable reference from an existing symbol.
SgVarRefExpSageBuilder::buildVarRefExp_nfi (SgVariableSymbol *varSymbol)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgVarRefExpSageBuilder::buildVarRefExp (SgVariableDeclaration *vardecl)
 Build a variable reference from an existing variable declaration. The assumption is a SgVariableDeclartion only declares one variable in the ROSE AST.
SgVarRefExpSageBuilder::buildVarRefExp (SgInitializedName *initname, SgScopeStatement *scope=NULL)
 build a variable reference from an initialized name It first tries to grab the associated symbol, then call buildVarRefExp(const SgName& name, SgScopeStatement*) if symbol does not exist.
SgVarRefExpSageBuilder::buildOpaqueVarRefExp (const std::string &varName, SgScopeStatement *scope=NULL)
 Build a variable reference expression at scope to an opaque variable which has unknown information except for its name. Used when referring to an internal variable defined in some headers of runtime libraries.(The headers are not yet inserted into the file during translation). Similar to buildOpaqueType();.
SgLabelRefExpSageBuilder::buildLabelRefExp (SgLabelSymbol *s)
 Build a Fortran numeric label ref exp.
SgFunctionRefExpSageBuilder::buildFunctionRefExp (const SgName &name, const SgType *func_type, SgScopeStatement *scope=NULL)
 Build SgFunctionRefExp based on a C++ function's name and function type. It will lookup symbol table internally starting from scope. A hidden prototype will be created internally to introduce a new function symbol if the function symbol cannot be found.
SgFunctionRefExpSageBuilder::buildFunctionRefExp (const char *name, const SgType *func_type, SgScopeStatement *scope=NULL)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgFunctionRefExpSageBuilder::buildFunctionRefExp (const SgName &name, SgScopeStatement *scope=NULL)
 Build SgFunctionRefExp based on a C function's name. It will lookup symbol table internally starting from scope and return the first matching function.
SgFunctionRefExpSageBuilder::buildFunctionRefExp (const char *name, SgScopeStatement *scope=NULL)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgFunctionRefExpSageBuilder::buildFunctionRefExp (const SgFunctionDeclaration *func_decl)
 Build SgFunctionRefExp based on a function's declaration.
SgFunctionRefExpSageBuilder::buildFunctionRefExp (SgFunctionSymbol *sym)
 Build SgFunctionRefExp based on a function's symbol.
SgFunctionRefExpSageBuilder::buildFunctionRefExp_nfi (SgFunctionSymbol *sym)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgMemberFunctionRefExpSageBuilder::buildMemberFunctionRefExp_nfi (SgMemberFunctionSymbol *sym, bool virtual_call, bool need_qualifier)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgMemberFunctionRefExpSageBuilder::buildMemberFunctionRefExp (SgMemberFunctionSymbol *sym, bool virtual_call, bool need_qualifier)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgClassNameRefExpSageBuilder::buildClassNameRefExp_nfi (SgClassSymbol *sym)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgClassNameRefExpSageBuilder::buildClassNameRefExp (SgClassSymbol *sym)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgFunctionCallExpSageBuilder::buildFunctionCallExp (SgFunctionSymbol *sym, SgExprListExp *parameters=NULL)
 Build a function call expression.
SgFunctionCallExpSageBuilder::buildFunctionCallExp_nfi (SgExpression *f, SgExprListExp *parameters=NULL)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgFunctionCallExpSageBuilder::buildFunctionCallExp (SgExpression *f, SgExprListExp *parameters=NULL)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgFunctionCallExpSageBuilder::buildFunctionCallExp (const SgName &name, SgType *return_type, SgExprListExp *parameters=NULL, SgScopeStatement *scope=NULL)
 Build a function call expression,it will automatically search for function symbols internally to build a right function reference etc. It tolerates the lack of the function symbol to support generating calls to library functions whose headers have not yet been inserted.
SgCudaKernelCallExpSageBuilder::buildCudaKernelCallExp_nfi (SgExpression *kernel, SgExprListExp *parameters=NULL, SgCudaKernelExecConfig *config=NULL)
 Build a CUDA kernel call expression (kernel<<<config>>>(parameters)).
SgCudaKernelExecConfigSageBuilder::buildCudaKernelExecConfig_nfi (SgExpression *grid=NULL, SgExpression *blocks=NULL, SgExpression *shared=NULL, SgExpression *stream=NULL)
 Build a CUDA kernel execution configuration (<<<grid, blocks, shared, stream>>>).
SgAssignInitializerSageBuilder::buildAssignInitializer (SgExpression *operand_i=NULL, SgType *expression_type=NULL)
 Build the rhs of a variable declaration which includes an assignment.
SgAssignInitializerSageBuilder::buildAssignInitializer_nfi (SgExpression *operand_i=NULL, SgType *expression_type=NULL)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgAggregateInitializerSageBuilder::buildAggregateInitializer (SgExprListExp *initializers=NULL, SgType *type=NULL)
 Build an aggregate initializer.
SgAggregateInitializerSageBuilder::buildAggregateInitializer_nfi (SgExprListExp *initializers, SgType *type=NULL)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgConstructorInitializerSageBuilder::buildConstructorInitializer (SgMemberFunctionDeclaration *declaration, SgExprListExp *args, SgType *expression_type, bool need_name, bool need_qualifier, bool need_parenthesis_after_name, bool associated_class_unknown)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgConstructorInitializerSageBuilder::buildConstructorInitializer_nfi (SgMemberFunctionDeclaration *declaration, SgExprListExp *args, SgType *expression_type, bool need_name, bool need_qualifier, bool need_parenthesis_after_name, bool associated_class_unknown)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgSizeOfOpSageBuilder::buildSizeOfOp (SgExpression *exp=NULL)
 Build sizeof() expression with an expression parameter.
SgSizeOfOpSageBuilder::buildSizeOfOp_nfi (SgExpression *exp)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgSizeOfOpSageBuilder::buildSizeOfOp (SgType *type=NULL)
 Build sizeof() expression with a type parameter.
SgSizeOfOpSageBuilder::buildSizeOfOp_nfi (SgType *type)
 Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().
SgJavaInstanceOfOpSageBuilder::buildJavaInstanceOfOp (SgExpression *exp=NULL, SgType *type=NULL)
 This is part of Java specific operator support.

Scope stack interfaces

a global data structure to store current scope and parent scopes.

Scope stack is provided as an alternative to manually passing scope parameters to builder functions. It is not required to be used. Please use the recommendeded operation functions for maintaining the scope stack. Don't use raw container access functions to ScopeStack. e.g. avoid ScopeStack.push_back(), using pushScopeStack() instead.

Todo:
consider complex cases:
  • how many scope stacks to keep? one. examine only one transparently
  • regular: push a child scope of current scope, add symbols etc.
  • irregular: push an arbitrary scope temporarily, add some symbol, then pop
  • even push a chain of scopes
  • restore scopes


void SageBuilder::pushScopeStack (SgScopeStatement *stmt)
 Public interfaces of the scope stack, should be stable.
void SageBuilder::pushScopeStack (SgNode *node)
 Public interfaces of the scope stack, should be stable.
void SageBuilder::popScopeStack ()
 Public interfaces of the scope stack, should be stable.
SgScopeStatementSageBuilder::topScopeStack ()
 Public interfaces of the scope stack, should be stable.
bool SageBuilder::emptyScopeStack ()
 Public interfaces of the scope stack, should be stable.
void SageBuilder::clearScopeStack ()
 Public interfaces of the scope stack, should be stable.
std::list< SgScopeStatement * > SageBuilder::ScopeStack
 intended to be a private member, don't access it directly. could be changed any time
bool SageBuilder::symbol_table_case_insensitive_semantics
 Support for construction of case sensitive/insensitive symbol table handling in scopes.

Builders for SgType

Builders for simple and complex SgType nodes, such as integer type, function type, array type, struct type, etc.

Todo:
SgModifierType,SgNamedType(SgClassType,SgEnumType,SgTypedefType), SgQualifiedNameType, SgTemplateType,SgTypeComplex, SgTypeDefault,SgTypeEllipse,SgTypeGlobalVoid,SgTypeImaginary


SgTypeBoolSageBuilder::buildBoolType ()
 Built in simple types.
SgTypeCharSageBuilder::buildCharType ()
 Built in simple types.
SgTypeDoubleSageBuilder::buildDoubleType ()
 Built in simple types.
SgTypeFloatSageBuilder::buildFloatType ()
 Built in simple types.
SgTypeIntSageBuilder::buildIntType ()
 Built in simple types.
SgTypeLongSageBuilder::buildLongType ()
 Built in simple types.
SgTypeLongDoubleSageBuilder::buildLongDoubleType ()
 Built in simple types.
SgTypeLongLongSageBuilder::buildLongLongType ()
 Built in simple types.
SgTypeShortSageBuilder::buildShortType ()
 Built in simple types.
SgTypeStringSageBuilder::buildStringType ()
 Built in simple types.
SgTypeStringSageBuilder::buildStringType (SgExpression *stringLengthExpression)
 Built in simple types.
SgTypeVoidSageBuilder::buildVoidType ()
 Built in simple types.
SgTypeWcharSageBuilder::buildWcharType ()
 Built in simple types.
SgTypeSignedCharSageBuilder::buildSignedCharType ()
 Built in simple types.
SgTypeSignedIntSageBuilder::buildSignedIntType ()
 Built in simple types.
SgTypeSignedLongSageBuilder::buildSignedLongType ()
 Built in simple types.
SgTypeSignedLongLongSageBuilder::buildSignedLongLongType ()
 Built in simple types.
SgTypeSignedShortSageBuilder::buildSignedShortType ()
 Built in simple types.
SgTypeUnsignedCharSageBuilder::buildUnsignedCharType ()
 Built in simple types.
SgTypeUnsignedIntSageBuilder::buildUnsignedIntType ()
 Built in simple types.
SgTypeUnsignedLongSageBuilder::buildUnsignedLongType ()
 Built in simple types.
SgTypeUnsignedLongLongSageBuilder::buildUnsignedLongLongType ()
 Built in simple types.
SgTypeUnsignedShortSageBuilder::buildUnsignedShortType ()
 Built in simple types.
SgTypeUnknownSageBuilder::buildUnknownType ()
 Built in simple types.
SgPointerTypeSageBuilder::buildPointerType (SgType *base_type=NULL)
 Build a pointer type.
SgReferenceTypeSageBuilder::buildReferenceType (SgType *base_type=NULL)
 Build a reference type.
SgModifierTypeSageBuilder::buildModifierType (SgType *base_type=NULL)
 Build a modifier type.
SgModifierTypeSageBuilder::buildConstType (SgType *base_type=NULL)
 Build a const type.
SgModifierTypeSageBuilder::buildVolatileType (SgType *base_type=NULL)
 Build a volatile type.
SgModifierTypeSageBuilder::buildRestrictType (SgType *base_type)
 Build a restrict type.
SgArrayTypeSageBuilder::buildArrayType (SgType *base_type=NULL, SgExpression *index=NULL)
 Build ArrayType.
SgModifierTypeSageBuilder::buildFortranKindType (SgType *base_type, SgExpression *kindExpression)
 Build a type based on the Fortran kind mechanism.
SgFunctionTypeSageBuilder::buildFunctionType (SgType *return_type, SgFunctionParameterTypeList *typeList=NULL)
 Build function type from return type and parameter type list.
SgFunctionTypeSageBuilder::buildFunctionType (SgType *return_type, SgFunctionParameterList *argList=NULL)
 Build function type from return type and parameter list.
SgMemberFunctionTypeSageBuilder::buildMemberFunctionType (SgType *return_type, SgFunctionParameterTypeList *typeList, SgClassDefinition *struct_name, unsigned int mfunc_specifier)
 Built in simple types.
SgTypeSageBuilder::buildOpaqueType (std::string const type_name, SgScopeStatement *scope)
 Build an opaque type with a name, useful when a type's details are unknown during transformation, especially for a runtime library's internal type. Must provide scope here.
SgModifierTypeSageBuilder::buildUpcStrictType (SgType *base_type=NULL)
 Build a UPC strict type.
SgModifierTypeSageBuilder::buildUpcRelaxedType (SgType *base_type=NULL)
 Build a UPC relaxed type.
SgModifierTypeSageBuilder::buildUpcSharedType (SgType *base_type=NULL, long layout=-1)
 Build a UPC shared type.
SgModifierTypeSageBuilder::buildUpcBlockIndefiniteType (SgType *base_type=NULL)
 Build a UPC shared[] type.
SgModifierTypeSageBuilder::buildUpcBlockStarType (SgType *base_type=NULL)
 Build a UPC shared[*] type.
SgModifierTypeSageBuilder::buildUpcBlockNumberType (SgType *base_type, long block_factor)
 Build a UPC shared[n] type.
SgTypeComplexSageBuilder::buildComplexType (SgType *base_type=NULL)
 Build a complex type.
SgTypeImaginarySageBuilder::buildImaginaryType (SgType *base_type=NULL)
 Build an imaginary type.
SgConstVolatileModifierSageBuilder::buildConstVolatileModifier (SgConstVolatileModifier::cv_modifier_enum mtype=SgConstVolatileModifier::e_unknown)
 Build a const/volatile type qualifier.

Builders for support nodes

AST high level builders for SgSupport nodes

SgInitializedNameSageBuilder::buildInitializedName (const SgName &name, SgType *type, SgInitializer *init=NULL)
 Initialized names are tricky, their scope vary depending on context, so scope and symbol information are not needed until the initialized name is being actually used somewhere.
SgInitializedNameSageBuilder::buildInitializedName (const std::string &name, SgType *type)
 Initialized names are tricky, their scope vary depending on context, so scope and symbol information are not needed until the initialized name is being actually used somewhere.
SgInitializedNameSageBuilder::buildInitializedName (const char *name, SgType *type)
 Initialized names are tricky, their scope vary depending on context, so scope and symbol information are not needed until the initialized name is being actually used somewhere.
SgInitializedNameSageBuilder::buildInitializedName_nfi (const SgName &name, SgType *type, SgInitializer *init)
 Initialized names are tricky, their scope vary depending on context, so scope and symbol information are not needed until the initialized name is being actually used somewhere.
SgFunctionParameterTypeListSageBuilder::buildFunctionParameterTypeList (SgFunctionParameterList *paralist)
 Build SgFunctionParameterTypeList from SgFunctionParameterList.
SgFunctionParameterTypeListSageBuilder::buildFunctionParameterTypeList (SgExprListExp *expList)
 Build SgFunctionParameterTypeList from an expression list, useful when building a function call.
SgFunctionParameterTypeListSageBuilder::buildFunctionParameterTypeList (SgType *type0=NULL, SgType *type1=NULL, SgType *type2=NULL, SgType *type3=NULL, SgType *type4=NULL, SgType *type5=NULL, SgType *type6=NULL, SgType *type7=NULL)
 Build an SgFunctionParameterTypeList from SgTypes. To build an.

Builders for statements

AST high level builders for SgStatement, explicit scope parameters are allowed for flexibility. Please use SageInterface::appendStatement(), prependStatement(), and insertStatement() to attach the newly built statements into an AST tree. Calling member functions like SgScopeStatement::prepend_statement() or using container functions such as pushback() is discouraged since they don't handle many side effects for symbol tables, source file information, scope and parent pointers etc.

SgVariableDeclarationSageBuilder::buildVariableDeclaration (const SgName &name, SgType *type, SgInitializer *varInit=NULL, SgScopeStatement *scope=NULL)
 Build a variable declaration, handle symbol table transparently.
SgVariableDeclarationSageBuilder::buildVariableDeclaration (const std::string &name, SgType *type, SgInitializer *varInit=NULL, SgScopeStatement *scope=NULL)
 Build a variable declaration, handle symbol table transparently.
SgVariableDeclarationSageBuilder::buildVariableDeclaration (const char *name, SgType *type, SgInitializer *varInit=NULL, SgScopeStatement *scope=NULL)
 Build a variable declaration, handle symbol table transparently.
SgVariableDeclarationSageBuilder::buildVariableDeclaration_nfi (const SgName &name, SgType *type, SgInitializer *varInit, SgScopeStatement *scope)
 Build a variable declaration, handle symbol table transparently.
SgTypedefDeclarationSageBuilder::buildTypedefDeclaration (const std::string &name, SgType *base_type, SgScopeStatement *scope=NULL)
 Build a typedef declaration, such as: typedef int myint;.
SgTypedefDeclarationSageBuilder::buildTypedefDeclaration_nfi (const std::string &name, SgType *base_type, SgScopeStatement *scope=NULL)
 Build a variable declaration, handle symbol table transparently.
SgFunctionParameterListSageBuilder::buildFunctionParameterList (SgInitializedName *in1=NULL, SgInitializedName *in2=NULL, SgInitializedName *in3=NULL, SgInitializedName *in4=NULL, SgInitializedName *in5=NULL, SgInitializedName *in6=NULL, SgInitializedName *in7=NULL, SgInitializedName *in8=NULL, SgInitializedName *in9=NULL, SgInitializedName *in10=NULL)
 Build an empty SgFunctionParameterList, possibly with some initialized names filled in.
SgFunctionParameterListSageBuilder::buildFunctionParameterList_nfi ()
 Build a variable declaration, handle symbol table transparently.
SgFunctionParameterListSageBuilder::buildFunctionParameterList (SgFunctionParameterTypeList *paraTypeList)
 Build an SgFunctionParameterList from SgFunctionParameterTypeList, like (int, float,...), used for parameter list of prototype functions when function type( including parameter type list) is known.
SgFunctionParameterListSageBuilder::buildFunctionParameterList_nfi (SgFunctionParameterTypeList *paraTypeList)
 Build a variable declaration, handle symbol table transparently.
template<class actualFunction>
actualFunction * SageBuilder::buildNondefiningFunctionDeclaration_T (const SgName &name, SgType *return_type, SgFunctionParameterList *paralist, bool isMemberFunction, SgScopeStatement *scope=NULL, SgExprListExp *decoratorList=NULL, unsigned int functionConstVolatileFlags=0)
 A template function for function prototype declaration builders.
SgFunctionDeclarationSageBuilder::buildNondefiningFunctionDeclaration (const SgName &name, SgType *return_type, SgFunctionParameterList *parlist, SgScopeStatement *scope=NULL, SgExprListExp *decoratorList=NULL)
 Build a prototype for a function, handle function type, symbol etc transparently.
SgFunctionDeclarationSageBuilder::buildNondefiningFunctionDeclaration (const SgFunctionDeclaration *funcdecl, SgScopeStatement *scope=NULL, SgExprListExp *decoratorList=NULL)
 Build a prototype for an existing function declaration (defining or nondefining is fine).
SgMemberFunctionDeclarationSageBuilder::buildNondefiningMemberFunctionDeclaration (const SgName &name, SgType *return_type, SgFunctionParameterList *parlist, SgScopeStatement *scope=NULL, SgExprListExp *decoratorList=NULL, unsigned int functionConstVolatileFlags=0)
 Build a prototype member function declaration.
SgMemberFunctionDeclarationSageBuilder::buildDefiningMemberFunctionDeclaration (const SgName &name, SgType *return_type, SgFunctionParameterList *parlist, SgScopeStatement *scope=NULL, SgExprListExp *decoratorList=NULL)
 Build a defining ( non-prototype) member function declaration.
SgMemberFunctionDeclarationSageBuilder::buildDefiningMemberFunctionDeclaration (const SgName &name, SgMemberFunctionType *func_type, SgFunctionParameterList *paralist, SgScopeStatement *scope, SgExprListExp *decoratorList=NULL)
 Build a defining ( non-prototype) member function declaration from a SgMemberFunctionType.
SgMemberFunctionDeclarationSageBuilder::buildDefiningMemberFunctionDeclaration (const SgName &name, SgMemberFunctionType *func_type, SgScopeStatement *scope, SgExprListExp *decoratorList=NULL)
 Build a defining ( non-prototype) member function declaration from a SgMemberFunctionType.
SgMemberFunctionDeclarationSageBuilder::buildNondefiningMemberFunctionDeclaration (const SgMemberFunctionDeclaration *funcdecl, SgScopeStatement *scope=NULL, SgExprListExp *decoratorList=NULL, unsigned int functionConstVolatileFlags=0)
 Build a prototype for an existing member function declaration (defining or nondefining is fine).
template<class actualFunction>
actualFunction * SageBuilder::buildDefiningFunctionDeclaration_T (const SgName &name, SgType *return_type, SgFunctionParameterList *parlist, SgScopeStatement *scope=NULL, SgExprListExp *decoratorList=NULL)
 A template function for function declaration builders.
SgFunctionDeclarationSageBuilder::buildDefiningFunctionDeclaration (const SgName &name, SgType *return_type, SgFunctionParameterList *parlist, SgScopeStatement *scope=NULL, SgExprListExp *decoratorList=NULL)
 Build a function declaration with a function body.
SgFunctionDeclarationSageBuilder::buildDefiningFunctionDeclaration (const std::string &name, SgType *return_type, SgFunctionParameterList *parlist, SgScopeStatement *scope=NULL, SgExprListExp *decoratorList=NULL)
 Build a variable declaration, handle symbol table transparently.
SgFunctionDeclarationSageBuilder::buildDefiningFunctionDeclaration (const char *name, SgType *return_type, SgFunctionParameterList *parlist, SgScopeStatement *scope=NULL, SgExprListExp *decoratorList=NULL)
 Build a variable declaration, handle symbol table transparently.
SgProcedureHeaderStatementSageBuilder::buildProcedureHeaderStatement (const char *name, SgType *return_type, SgFunctionParameterList *parlist, SgProcedureHeaderStatement::subprogram_kind_enum, SgScopeStatement *scope=NULL)
 Build a Fortran subroutine or procedure.
SgExprStatementSageBuilder::buildFunctionCallStmt (const SgName &name, SgType *return_type, SgExprListExp *parameters=NULL, SgScopeStatement *scope=NULL)
 Build a regular function call statement.
SgExprStatementSageBuilder::buildFunctionCallStmt (SgExpression *function, SgExprListExp *parameters=NULL)
 Build a function call statement using function expression and argument list only, like (*funcPtr)(args);.
SgLabelStatementSageBuilder::buildLabelStatement (const SgName &name, SgStatement *stmt=NULL, SgScopeStatement *scope=NULL)
 Note that the scope of a label statement is special.
SgLabelStatementSageBuilder::buildLabelStatement_nfi (const SgName &name, SgStatement *stmt, SgScopeStatement *scope)
 Build a variable declaration, handle symbol table transparently.
SgGotoStatementSageBuilder::buildGotoStatement (SgLabelStatement *label=NULL)
 Build a goto statement.
SgGotoStatementSageBuilder::buildGotoStatement_nfi (SgLabelStatement *label)
 Build a variable declaration, handle symbol table transparently.
SgGotoStatementSageBuilder::buildGotoStatement (SgLabelSymbol *symbol)
 Build a goto statement from a label symbol, supporting both C/C++ and Fortran cases.
SgCaseOptionStmtSageBuilder::buildCaseOptionStmt (SgExpression *key=NULL, SgStatement *body=NULL)
 Build a case option statement.
SgCaseOptionStmtSageBuilder::buildCaseOptionStmt_nfi (SgExpression *key, SgStatement *body)
 Build a variable declaration, handle symbol table transparently.
SgDefaultOptionStmtSageBuilder::buildDefaultOptionStmt (SgStatement *body=NULL)
 Build a default option statement.
SgDefaultOptionStmtSageBuilder::buildDefaultOptionStmt_nfi (SgStatement *body)
 Build a variable declaration, handle symbol table transparently.
SgExprStatementSageBuilder::buildExprStatement (SgExpression *exp=NULL)
 Build a SgExprStatement, set File_Info automatically.
SgExprStatementSageBuilder::buildExprStatement_nfi (SgExpression *exp)
 Build a variable declaration, handle symbol table transparently.
SgSwitchStatementSageBuilder::buildSwitchStatement (SgStatement *item_selector=NULL, SgStatement *body=NULL)
 Build a switch statement.
SgSwitchStatementSageBuilder::buildSwitchStatement (SgExpression *item_selector, SgStatement *body=NULL)
 Build a variable declaration, handle symbol table transparently.
SgSwitchStatementSageBuilder::buildSwitchStatement_nfi (SgStatement *item_selector, SgStatement *body)
 Build a variable declaration, handle symbol table transparently.
SgIfStmtSageBuilder::buildIfStmt (SgStatement *conditional, SgStatement *true_body, SgStatement *false_body)
 Build if statement.
SgIfStmtSageBuilder::buildIfStmt (SgExpression *conditional, SgStatement *true_body, SgStatement *false_body)
 Build a variable declaration, handle symbol table transparently.
SgIfStmtSageBuilder::buildIfStmt_nfi (SgStatement *conditional, SgStatement *true_body, SgStatement *false_body)
 Build a variable declaration, handle symbol table transparently.
SgForInitStatementSageBuilder::buildForInitStatement ()
 Build a for init statement.
SgForInitStatementSageBuilder::buildForInitStatement (const SgStatementPtrList &statements)
 Build a variable declaration, handle symbol table transparently.
SgForInitStatementSageBuilder::buildForInitStatement_nfi (SgStatementPtrList &statements)
 Build a variable declaration, handle symbol table transparently.
SgForStatementSageBuilder::buildForStatement (SgStatement *initialize_stmt, SgStatement *test, SgExpression *increment, SgStatement *loop_body, SgStatement *else_body=NULL)
 Build a for statement, assume none of the arguments is NULL.
SgForStatementSageBuilder::buildForStatement_nfi (SgStatement *initialize_stmt, SgStatement *test, SgExpression *increment, SgStatement *loop_body, SgStatement *else_body=NULL)
 Build a variable declaration, handle symbol table transparently.
SgForStatementSageBuilder::buildForStatement_nfi (SgForInitStatement *init_stmt, SgStatement *test, SgExpression *increment, SgStatement *loop_body, SgStatement *else_body=NULL)
 Build a variable declaration, handle symbol table transparently.
SgUpcForAllStatementSageBuilder::buildUpcForAllStatement_nfi (SgStatement *initialize_stmt, SgStatement *test, SgExpression *increment, SgExpression *affinity, SgStatement *loop_body)
 Build a UPC forall statement.
SgUpcForAllStatementSageBuilder::buildUpcForAllStatement_nfi (SgForInitStatement *init_stmt, SgStatement *test, SgExpression *increment, SgExpression *affinity, SgStatement *loop_body)
 Build a variable declaration, handle symbol table transparently.
SgWhileStmtSageBuilder::buildWhileStmt (SgStatement *condition, SgStatement *body, SgStatement *else_body=NULL)
 Build while statement.
SgWhileStmtSageBuilder::buildWhileStmt (SgExpression *condition, SgStatement *body, SgStatement *else_body=NULL)
 Build a variable declaration, handle symbol table transparently.
SgWhileStmtSageBuilder::buildWhileStmt_nfi (SgStatement *condition, SgStatement *body, SgStatement *else_body=NULL)
 Build a variable declaration, handle symbol table transparently.
SgWithStatementSageBuilder::buildWithStatement (SgExpression *expr, SgStatement *body)
 Build a with statement.
SgWithStatementSageBuilder::buildWithStatement_nfi (SgExpression *expr, SgStatement *body)
 Build a variable declaration, handle symbol table transparently.
SgDoWhileStmtSageBuilder::buildDoWhileStmt (SgStatement *body, SgStatement *condition)
 Build do-while statement.
SgDoWhileStmtSageBuilder::buildDoWhileStmt (SgStatement *body, SgExpression *condition)
 Build a variable declaration, handle symbol table transparently.
SgDoWhileStmtSageBuilder::buildDoWhileStmt_nfi (SgStatement *body, SgStatement *condition)
 Build a variable declaration, handle symbol table transparently.
SgPragmaDeclarationSageBuilder::buildPragmaDeclaration (const std::string &name, SgScopeStatement *scope=NULL)
 Build pragma declaration, handle SgPragma and defining/nondefining pointers internally.
SgPragmaDeclarationSageBuilder::buildPragmaDeclaration_nfi (const std::string &name, SgScopeStatement *scope)
 Build a variable declaration, handle symbol table transparently.
SgPragmaSageBuilder::buildPragma (const std::string &name)
 Build SgPragma.
SgBasicBlockSageBuilder::buildBasicBlock (SgStatement *stmt1=NULL, SgStatement *stmt2=NULL, SgStatement *stmt3=NULL, SgStatement *stmt4=NULL, SgStatement *stmt5=NULL, SgStatement *stmt6=NULL, SgStatement *stmt7=NULL, SgStatement *stmt8=NULL, SgStatement *stmt9=NULL, SgStatement *stmt10=NULL)
 Build a SgBasicBlock, setting file info internally.
SgBasicBlockSageBuilder::buildBasicBlock_nfi ()
 Build a variable declaration, handle symbol table transparently.
SgBasicBlockSageBuilder::buildBasicBlock_nfi (const std::vector< SgStatement * > &)
 Build a variable declaration, handle symbol table transparently.
SgExprStatementSageBuilder::buildAssignStatement (SgExpression *lhs, SgExpression *rhs)
 Build an assignment statement from lefthand operand and right hand operand.
SgExprStatementSageBuilder::buildAssignStatement_ast_translate (SgExpression *lhs, SgExpression *rhs)
 This version does not recursively reset the file info as a transformation.
SgBreakStmtSageBuilder::buildBreakStmt ()
 Build a break statement.
SgBreakStmtSageBuilder::buildBreakStmt_nfi ()
 Build a variable declaration, handle symbol table transparently.
SgContinueStmtSageBuilder::buildContinueStmt ()
 Build a continue statement.
SgContinueStmtSageBuilder::buildContinueStmt_nfi ()
 Build a variable declaration, handle symbol table transparently.
SgPassStatementSageBuilder::buildPassStatement ()
 Build a pass statement.
SgPassStatementSageBuilder::buildPassStatement_nfi ()
 Build a variable declaration, handle symbol table transparently.
SgAssertStmtSageBuilder::buildAssertStmt (SgExpression *test)
 Build a Assert statement.
SgAssertStmtSageBuilder::buildAssertStmt (SgExpression *test, SgExpression *exceptionArgument)
 Build a variable declaration, handle symbol table transparently.
SgAssertStmtSageBuilder::buildAssertStmt_nfi (SgExpression *test)
 Build a variable declaration, handle symbol table transparently.
SgYieldExpressionSageBuilder::buildYieldExpression (SgExpression *value)
 Build a yield statement.
SgYieldExpressionSageBuilder::buildYieldExpression_nfi (SgExpression *value)
 Build a variable declaration, handle symbol table transparently.
SgKeyDatumPairSageBuilder::buildKeyDatumPair (SgExpression *key, SgExpression *datum)
 Build a key-datum pair.
SgKeyDatumPairSageBuilder::buildKeyDatumPair_nfi (SgExpression *key, SgExpression *datum)
 Build a variable declaration, handle symbol table transparently.
SgDictionaryExpSageBuilder::buildDictionaryExp (std::vector< SgKeyDatumPair * > pairs)
 Build a list of key-datum pairs.
SgDictionaryExpSageBuilder::buildDictionaryExp_nfi (std::vector< SgKeyDatumPair * > pairs)
 Build a variable declaration, handle symbol table transparently.
SgActualArgumentExpressionSageBuilder::buildActualArgumentExpression (SgName arg_name, SgExpression *arg)
 Build an Actual Argument Expression.
SgActualArgumentExpressionSageBuilder::buildActualArgumentExpression_nfi (SgName arg_name, SgExpression *arg)
 Build a variable declaration, handle symbol table transparently.
SgDeleteExpSageBuilder::buildDeleteExp (SgExpression *target, bool is_array=false, bool need_global_specifier=false, SgFunctionDeclaration *deleteOperatorDeclaration=NULL)
 Build a delete statement.
SgDeleteExpSageBuilder::buildDeleteExp_nfi (SgExpression *target, bool is_array=false, bool need_global_specifier=false, SgFunctionDeclaration *deleteOperatorDeclaration=NULL)
 Build a variable declaration, handle symbol table transparently.
SgClassDefinitionSageBuilder::buildClassDefinition (SgClassDeclaration *d=NULL)
 Build a class definition scope statement.
SgClassDefinitionSageBuilder::buildClassDefinition_nfi (SgClassDeclaration *d=NULL)
 Build a class definition scope statement.
SgClassDeclarationSageBuilder::buildNondefiningClassDeclaration_nfi (const SgName &name, SgClassDeclaration::class_types kind, SgScopeStatement *scope)
 Build a structure first nondefining declaration, without file info.
SgClassDeclarationSageBuilder::buildNondefiningClassDeclaration (SgName name, SgScopeStatement *scope)
 Build a variable declaration, handle symbol table transparently.
SgClassDeclarationSageBuilder::buildDefiningClassDeclaration (SgName name, SgScopeStatement *scope)
 Build a variable declaration, handle symbol table transparently.
SgClassDeclarationSageBuilder::buildClassDeclaration (SgName name, SgScopeStatement *scope)
 Build a variable declaration, handle symbol table transparently.
SgEnumDeclarationSageBuilder::buildNondefiningEnumDeclaration_nfi (const SgName &name, SgScopeStatement *scope)
 Build an enum first nondefining declaration, without file info.
SgClassDeclarationSageBuilder::buildStructDeclaration (const SgName &name, SgScopeStatement *scope=NULL)
 Build a structure, It is also a declaration statement in SAGE III.
SgClassDeclarationSageBuilder::buildStructDeclaration (const std::string &name, SgScopeStatement *scope=NULL)
 Build a variable declaration, handle symbol table transparently.
SgClassDeclarationSageBuilder::buildStructDeclaration (const char *name, SgScopeStatement *scope=NULL)
 Build a variable declaration, handle symbol table transparently.
SgStmtDeclarationStatementSageBuilder::buildStmtDeclarationStatement (SgStatement *stmt)
 Build a StmtDeclarationStmt.
SgStmtDeclarationStatementSageBuilder::buildStmtDeclarationStatement_nfi (SgStatement *stmt)
 Build a variable declaration, handle symbol table transparently.
SgNamespaceDeclarationStatementSageBuilder::buildNamespaceDeclaration (const SgName &name, SgScopeStatement *scope=NULL)
 Build a variable declaration, handle symbol table transparently.
SgNamespaceDeclarationStatementSageBuilder::buildNamespaceDeclaration_nfi (const SgName &name, bool unnamednamespace, SgScopeStatement *scope)
 Build a variable declaration, handle symbol table transparently.
SgNamespaceDefinitionStatementSageBuilder::buildNamespaceDefinition (SgNamespaceDeclarationStatement *d=NULL)
 Build a variable declaration, handle symbol table transparently.
SgNaryComparisonOpSageBuilder::buildNaryComparisonOp (SgExpression *lhs)
 Build a variable declaration, handle symbol table transparently.
SgNaryComparisonOpSageBuilder::buildNaryComparisonOp_nfi (SgExpression *lhs)
 Build a variable declaration, handle symbol table transparently.
SgNaryBooleanOpSageBuilder::buildNaryBooleanOp (SgExpression *lhs)
 Build a variable declaration, handle symbol table transparently.
SgNaryBooleanOpSageBuilder::buildNaryBooleanOp_nfi (SgExpression *lhs)
 Build a variable declaration, handle symbol table transparently.
SgStringConversionSageBuilder::buildStringConversion (SgExpression *exp)
 Build a variable declaration, handle symbol table transparently.
SgStringConversionSageBuilder::buildStringConversion_nfi (SgExpression *exp)
 Build a variable declaration, handle symbol table transparently.
SgClassDeclarationSageBuilder::buildClassDeclaration_nfi (const SgName &name, SgClassDeclaration::class_types kind, SgScopeStatement *scope, SgClassDeclaration *nonDefiningDecl)
 Build a variable declaration, handle symbol table transparently.
SgEnumDeclarationSageBuilder::buildEnumDeclaration (const SgName &name, SgScopeStatement *scope=NULL)
 Build an enum, It is also a declaration statement in SAGE III.
SgEnumDeclarationSageBuilder::buildEnumDeclaration_nfi (const SgName &name, SgScopeStatement *scope=NULL)
 Build an enum, It is also a declaration statement in SAGE III.
SgReturnStmtSageBuilder::buildReturnStmt (SgExpression *expression=NULL)
 Build a return statement.
SgReturnStmtSageBuilder::buildReturnStmt_nfi (SgExpression *expression)
 Build a variable declaration, handle symbol table transparently.
SgNullStatementSageBuilder::buildNullStatement ()
 Build a NULL statement.
SgNullStatementSageBuilder::buildNullStatement_nfi ()
 Build a variable declaration, handle symbol table transparently.
SgAttributeSpecificationStatementSageBuilder::buildAttributeSpecificationStatement (SgAttributeSpecificationStatement::attribute_spec_enum kind)
 Build Fortran attribute specification statement.
SgFortranIncludeLineSageBuilder::buildFortranIncludeLine (std::string filename)
 Build Fortran include line.
SgCommonBlockObjectSageBuilder::buildCommonBlockObject (std::string name="", SgExprListExp *exp_list=NULL)
 Build a Fortran common block, possibly with a name.
SgCommonBlockSageBuilder::buildCommonBlock (SgCommonBlockObject *first_block=NULL)
 Build a Fortran Common statement.
SgCatchOptionStmtSageBuilder::buildCatchOptionStmt (SgVariableDeclaration *condition=NULL, SgStatement *body=NULL)
 Build a variable declaration, handle symbol table transparently.
SgTryStmtSageBuilder::buildTryStmt (SgStatement *body, SgCatchOptionStmt *catch0=NULL, SgCatchOptionStmt *catch1=NULL, SgCatchOptionStmt *catch2=NULL, SgCatchOptionStmt *catch3=NULL, SgCatchOptionStmt *catch4=NULL)
 Build a variable declaration, handle symbol table transparently.
SgTryStmtSageBuilder::buildTryStmt (SgBasicBlock *try_body, SgBasicBlock *finally_body=NULL)
 Build a variable declaration, handle symbol table transparently.
SgCatchStatementSeqSageBuilder::buildCatchStatementSeq (SgCatchOptionStmt *=NULL)
 Build a variable declaration, handle symbol table transparently.
SgJavaSynchronizedStatementSageBuilder::buildJavaSynchronizedStatement (SgExpression *, SgBasicBlock *)
 Build a variable declaration, handle symbol table transparently.
SgJavaThrowStatementSageBuilder::buildJavaThrowStatement (SgThrowOp *)
 Build a variable declaration, handle symbol table transparently.
SgJavaForEachStatementSageBuilder::buildJavaForEachStatement (SgVariableDeclaration *=NULL, SgExpression *=NULL, SgStatement *=NULL)
 Build a variable declaration, handle symbol table transparently.
SgJavaLabelStatementSageBuilder::buildJavaLabelStatement (const SgName &, SgStatement *=NULL)
 Build a variable declaration, handle symbol table transparently.
SgExecStatementSageBuilder::buildExecStatement (SgExpression *executable, SgExpression *globals=NULL, SgExpression *locals=NULL)
 Build a variable declaration, handle symbol table transparently.
SgExecStatementSageBuilder::buildExecStatement_nfi (SgExpression *executable, SgExpression *globals=NULL, SgExpression *locals=NULL)
 Build a variable declaration, handle symbol table transparently.
SgPythonPrintStmtSageBuilder::buildPythonPrintStmt (SgExpression *dest=NULL, SgExprListExp *values=NULL)
 Build a variable declaration, handle symbol table transparently.
SgPythonPrintStmtSageBuilder::buildPythonPrintStmt_nfi (SgExpression *dest=NULL, SgExprListExp *values=NULL)
 Build a variable declaration, handle symbol table transparently.
SgPythonGlobalStmtSageBuilder::buildPythonGlobalStmt (SgInitializedNamePtrList &names)
 Build a variable declaration, handle symbol table transparently.
SgPythonGlobalStmtSageBuilder::buildPythonGlobalStmt_nfi (SgInitializedNamePtrList &names)
 Build a variable declaration, handle symbol table transparently.
SgAsmStmtSageBuilder::buildAsmStatement (std::string s)
 Build a NULL statement.
SgAsmStmtSageBuilder::buildAsmStatement_nfi (std::string s)
 Build a variable declaration, handle symbol table transparently.
SgAsmStmtSageBuilder::buildMultibyteNopStatement (int n)
 Build a variable declaration, handle symbol table transparently.

Builders for others

AST high level builders for others

SgFileSageBuilder::buildFile (const std::string &inputFileName, const std::string &outputFileName, SgProject *project=NULL)
 Build a SgFile node and attach it to SgProject.
PreprocessingInfoSageBuilder::buildComment (SgLocatedNode *target, const std::string &content, PreprocessingInfo::RelativePositionType position=PreprocessingInfo::before, PreprocessingInfo::DirectiveType dtype=PreprocessingInfo::CpreprocessorUnknownDeclaration)
 Build and attach a comment, comment style is inferred from the language type of the target node if not provided. It is indeed a wrapper of SageInterface::attachComment().
PreprocessingInfoSageBuilder::buildCpreprocessorDefineDeclaration (SgLocatedNode *target, const std::string &content, PreprocessingInfo::RelativePositionType position=PreprocessingInfo::before)
 Build and attach define XX directives, pass "#define xxx xxx" as content.
AbstractHandle::abstract_handle * SageBuilder::buildAbstractHandle (SgNode *n)
 Build an abstract handle from a SgNode.


Define Documentation

#define BUILD_UNARY_PROTO ( suffix   ) 

Value:

Sg##suffix * build##suffix(SgExpression* op =NULL); \
Sg##suffix * build##suffix##_nfi(SgExpression* op);
Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

#define BUILD_BINARY_PROTO ( suffix   ) 

Value:

Sg##suffix * build##suffix(SgExpression* lhs =NULL, SgExpression* rhs =NULL); \
Sg##suffix * build##suffix##_nfi(SgExpression* lhs, SgExpression* rhs);
Template function to build a binary expression of type T,with extra information for parenthesis and file info, Instantiated functions include: buildAddOp(), buildAndAssignOp(), buildAndOp(), buildArrowExp(),buildArrowStarOp(), buildAssignOp(),buildBitAndOp(),buildBitOrOp(),buildBitXorOp(),buildCommaOpExp(), buildConcatenationOp(),buildDivAssignOp(), buildDivideOp(),buildDotExp(),buildEqualityOp(),buildExponentiationOp(),buildGreaterOrEqualOp(),buildGreaterThanOp(),buildIntegerDivideOp(),buildIorAssignOp(),buildLessOrEqualOp(),buildLessThanOp(),buildLshiftAssignOp(),buildLshiftOp(),buildMinusAssignOp(),buildModAssignOp(),buildModOp(),buildMultAssignOp(),buildMultiplyOp(),buildNotEqualOp(),buildOrOp(),buildPlusAssignOp(),buildPntrArrRefExp(),buildRshiftAssignOp(),buildRshiftOp(),buildScopeOp(),buildSubtractOp()buildXorAssignOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.


Function Documentation

void SageBuilder::pushScopeStack ( SgScopeStatement stmt  ) 

Public interfaces of the scope stack, should be stable.

void SageBuilder::pushScopeStack ( SgNode node  ) 

Public interfaces of the scope stack, should be stable.

void SageBuilder::popScopeStack (  ) 

Public interfaces of the scope stack, should be stable.

SgScopeStatement* SageBuilder::topScopeStack (  ) 

Public interfaces of the scope stack, should be stable.

bool SageBuilder::emptyScopeStack (  ) 

Public interfaces of the scope stack, should be stable.

void SageBuilder::clearScopeStack (  ) 

Public interfaces of the scope stack, should be stable.

SgTypeBool* SageBuilder::buildBoolType (  ) 

Built in simple types.

SgTypeChar* SageBuilder::buildCharType (  ) 

Built in simple types.

SgTypeDouble* SageBuilder::buildDoubleType (  ) 

Built in simple types.

SgTypeFloat* SageBuilder::buildFloatType (  ) 

Built in simple types.

SgTypeInt* SageBuilder::buildIntType (  ) 

Built in simple types.

SgTypeLong* SageBuilder::buildLongType (  ) 

Built in simple types.

SgTypeLongDouble* SageBuilder::buildLongDoubleType (  ) 

Built in simple types.

SgTypeLongLong* SageBuilder::buildLongLongType (  ) 

Built in simple types.

SgTypeShort* SageBuilder::buildShortType (  ) 

Built in simple types.

SgTypeString* SageBuilder::buildStringType (  ) 

Built in simple types.

SgTypeString* SageBuilder::buildStringType ( SgExpression stringLengthExpression  ) 

Built in simple types.

SgTypeVoid* SageBuilder::buildVoidType (  ) 

Built in simple types.

SgTypeWchar* SageBuilder::buildWcharType (  ) 

Built in simple types.

SgTypeSignedChar* SageBuilder::buildSignedCharType (  ) 

Built in simple types.

SgTypeSignedInt* SageBuilder::buildSignedIntType (  ) 

Built in simple types.

SgTypeSignedLong* SageBuilder::buildSignedLongType (  ) 

Built in simple types.

SgTypeSignedLongLong* SageBuilder::buildSignedLongLongType (  ) 

Built in simple types.

SgTypeSignedShort* SageBuilder::buildSignedShortType (  ) 

Built in simple types.

SgTypeUnsignedChar* SageBuilder::buildUnsignedCharType (  ) 

Built in simple types.

SgTypeUnsignedInt* SageBuilder::buildUnsignedIntType (  ) 

Built in simple types.

SgTypeUnsignedLong* SageBuilder::buildUnsignedLongType (  ) 

Built in simple types.

SgTypeUnsignedLongLong* SageBuilder::buildUnsignedLongLongType (  ) 

Built in simple types.

SgTypeUnsignedShort* SageBuilder::buildUnsignedShortType (  ) 

Built in simple types.

SgTypeUnknown* SageBuilder::buildUnknownType (  ) 

Built in simple types.

SgPointerType* SageBuilder::buildPointerType ( SgType base_type = NULL  ) 

Build a pointer type.

SgReferenceType* SageBuilder::buildReferenceType ( SgType base_type = NULL  ) 

Build a reference type.

SgModifierType* SageBuilder::buildModifierType ( SgType base_type = NULL  ) 

Build a modifier type.

SgModifierType* SageBuilder::buildConstType ( SgType base_type = NULL  ) 

Build a const type.

SgModifierType* SageBuilder::buildVolatileType ( SgType base_type = NULL  ) 

Build a volatile type.

SgModifierType* SageBuilder::buildRestrictType ( SgType base_type  ) 

Build a restrict type.

SgArrayType* SageBuilder::buildArrayType ( SgType base_type = NULL,
SgExpression index = NULL 
)

Build ArrayType.

SgModifierType* SageBuilder::buildFortranKindType ( SgType base_type,
SgExpression kindExpression 
)

Build a type based on the Fortran kind mechanism.

SgFunctionType* SageBuilder::buildFunctionType ( SgType return_type,
SgFunctionParameterTypeList typeList = NULL 
)

Build function type from return type and parameter type list.

SgFunctionType* SageBuilder::buildFunctionType ( SgType return_type,
SgFunctionParameterList argList = NULL 
)

Build function type from return type and parameter list.

SgMemberFunctionType* SageBuilder::buildMemberFunctionType ( SgType return_type,
SgFunctionParameterTypeList typeList,
SgClassDefinition struct_name,
unsigned int  mfunc_specifier 
)

Built in simple types.

SgType* SageBuilder::buildOpaqueType ( std::string const   type_name,
SgScopeStatement scope 
)

Build an opaque type with a name, useful when a type's details are unknown during transformation, especially for a runtime library's internal type. Must provide scope here.

Some types are not known during translation but nevertheless are needed. For example, some internal types from a runtime library. To work around this problem: this function prepends a hidden typedef declaration into scope 'typedef int OpaqueTypeName;' The translation-generated code is expected to include the runtime library's headers to have the real type declarations.

SgModifierType* SageBuilder::buildUpcStrictType ( SgType base_type = NULL  ) 

Build a UPC strict type.

SgModifierType* SageBuilder::buildUpcRelaxedType ( SgType base_type = NULL  ) 

Build a UPC relaxed type.

SgModifierType* SageBuilder::buildUpcSharedType ( SgType base_type = NULL,
long  layout = -1 
)

Build a UPC shared type.

SgModifierType* SageBuilder::buildUpcBlockIndefiniteType ( SgType base_type = NULL  ) 

Build a UPC shared[] type.

SgModifierType* SageBuilder::buildUpcBlockStarType ( SgType base_type = NULL  ) 

Build a UPC shared[*] type.

SgModifierType* SageBuilder::buildUpcBlockNumberType ( SgType base_type,
long  block_factor 
)

Build a UPC shared[n] type.

SgTypeComplex* SageBuilder::buildComplexType ( SgType base_type = NULL  ) 

Build a complex type.

SgTypeImaginary* SageBuilder::buildImaginaryType ( SgType base_type = NULL  ) 

Build an imaginary type.

SgConstVolatileModifier* SageBuilder::buildConstVolatileModifier ( SgConstVolatileModifier::cv_modifier_enum  mtype = SgConstVolatileModifier::e_unknown  ) 

Build a const/volatile type qualifier.

SgVariantExpression* SageBuilder::buildVariantExpression (  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgNullExpression* SageBuilder::buildNullExpression (  ) 

Build a null expression, set file info as the default one.

SgNullExpression* SageBuilder::buildNullExpression_nfi (  ) 

No file info version of buildNullExpression(). File info is to be set later on.

SgBoolValExp* SageBuilder::buildBoolValExp ( int  value = 0  ) 

Build a bool value expression, the name convention of SgBoolValExp is little different from others for some unknown reason.

SgBoolValExp* SageBuilder::buildBoolValExp ( bool  value = 0  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgBoolValExp* SageBuilder::buildBoolValExp_nfi ( int  value  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgCharVal* SageBuilder::buildCharVal ( char  value = 0  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgCharVal* SageBuilder::buildCharVal_nfi ( char  value,
const std::string &  str 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgWcharVal* SageBuilder::buildWcharVal ( wchar_t  value = 0  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgWcharVal* SageBuilder::buildWcharVal_nfi ( wchar_t  value,
const std::string &  str 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgComplexVal* SageBuilder::buildComplexVal ( long double  real_value = 0.0,
long double  imaginary_value = 0.0 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgComplexVal* SageBuilder::buildComplexVal ( SgValueExp real_value,
SgValueExp imaginary_value 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgComplexVal* SageBuilder::buildComplexVal_nfi ( SgValueExp real_value,
SgValueExp imaginary_value,
const std::string &  str 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgComplexVal* SageBuilder::buildImaginaryVal ( long double  imaginary_value  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgComplexVal* SageBuilder::buildImaginaryVal ( SgValueExp imaginary_value  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgComplexVal* SageBuilder::buildImaginaryVal_nfi ( SgValueExp imaginary_value,
const std::string &  str 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgDoubleVal* SageBuilder::buildDoubleVal ( double  value = 0.0  ) 

Build a double value expression.

SgDoubleVal* SageBuilder::buildDoubleVal_nfi ( double  value,
const std::string &  str 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgFloatVal* SageBuilder::buildFloatVal ( float  value = 0.0  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgFloatVal* SageBuilder::buildFloatVal_nfi ( float  value,
const std::string &  str 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgIntVal* SageBuilder::buildIntVal ( int  value = 0  ) 

Build an integer value expression.

SgIntVal* SageBuilder::buildIntValHex ( int  value = 0  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgIntVal* SageBuilder::buildIntVal_nfi ( int  value,
const std::string &  str 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgLongIntVal* SageBuilder::buildLongIntVal ( long  value = 0  ) 

Build a long integer value expression.

SgLongIntVal* SageBuilder::buildLongIntValHex ( long  value = 0  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgLongIntVal* SageBuilder::buildLongIntVal_nfi ( long  value,
const std::string &  str 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgLongLongIntVal* SageBuilder::buildLongLongIntVal ( long long  value = 0  ) 

Build a long long integer value expression.

SgLongLongIntVal* SageBuilder::buildLongLongIntValHex ( long long  value = 0  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgLongLongIntVal* SageBuilder::buildLongLongIntVal_nfi ( long long  value,
const std::string &  str 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgEnumVal* SageBuilder::buildEnumVal_nfi ( int  value,
SgEnumDeclaration decl,
SgName  name 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgLongDoubleVal* SageBuilder::buildLongDoubleVal ( long double  value = 0.0  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgLongDoubleVal* SageBuilder::buildLongDoubleVal_nfi ( long double  value,
const std::string &  str 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgShortVal* SageBuilder::buildShortVal ( short  value = 0  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgShortVal* SageBuilder::buildShortValHex ( short  value = 0  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgShortVal* SageBuilder::buildShortVal_nfi ( short  value,
const std::string &  str 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgStringVal* SageBuilder::buildStringVal ( std::string  value = ""  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgStringVal* SageBuilder::buildStringVal_nfi ( std::string  value  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgUnsignedCharVal* SageBuilder::buildUnsignedCharVal ( unsigned char  v = 0  ) 

Build an unsigned char.

SgUnsignedCharVal* SageBuilder::buildUnsignedCharValHex ( unsigned char  v = 0  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgUnsignedCharVal* SageBuilder::buildUnsignedCharVal_nfi ( unsigned char  v,
const std::string &  str 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgUnsignedShortVal* SageBuilder::buildUnsignedShortVal ( unsigned short  v = 0  ) 

Build an unsigned short integer.

SgUnsignedShortVal* SageBuilder::buildUnsignedShortValHex ( unsigned short  v = 0  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgUnsignedShortVal* SageBuilder::buildUnsignedShortVal_nfi ( unsigned short  v,
const std::string &  str 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgUnsignedIntVal* SageBuilder::buildUnsignedIntVal ( unsigned int  v = 0  ) 

Build an unsigned integer.

SgUnsignedIntVal* SageBuilder::buildUnsignedIntValHex ( unsigned int  v = 0  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgUnsignedIntVal* SageBuilder::buildUnsignedIntVal_nfi ( unsigned int  v,
const std::string &  str 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgUnsignedLongVal* SageBuilder::buildUnsignedLongVal ( unsigned long  v = 0  ) 

Build a unsigned long integer.

SgUnsignedLongVal* SageBuilder::buildUnsignedLongValHex ( unsigned long  v = 0  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgUnsignedLongVal* SageBuilder::buildUnsignedLongVal_nfi ( unsigned long  v,
const std::string &  str 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgUnsignedLongLongIntVal* SageBuilder::buildUnsignedLongLongIntVal ( unsigned long long  v = 0  ) 

Build an unsigned long long integer.

SgUnsignedLongLongIntVal* SageBuilder::buildUnsignedLongLongIntValHex ( unsigned long long  v = 0  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgUnsignedLongLongIntVal* SageBuilder::buildUnsignedLongLongIntVal_nfi ( unsigned long long  v,
const std::string &  str 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgUpcThreads* SageBuilder::buildUpcThreads (  ) 

Build UPC THREADS (integer expression).

SgUpcThreads* SageBuilder::buildUpcThreads_nfi (  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgUpcMythread* SageBuilder::buildUpcMythread (  ) 

Build UPC MYTHREAD (integer expression).

SgUpcMythread* SageBuilder::buildUpcMythread_nfi (  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgThisExp* SageBuilder::buildThisExp ( SgClassSymbol sym  ) 

Build this pointer.

SgThisExp* SageBuilder::buildThisExp_nfi ( SgClassSymbol sym  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgLambdaRefExp* SageBuilder::buildLambdaRefExp ( SgType return_type,
SgFunctionParameterList params,
SgScopeStatement scope 
)

Build lambda expression.

template<class T>
T* SageBuilder::buildUnaryExpression ( SgExpression operand = NULL  ) 

Template function to build a unary expression of type T. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp(). They are also used for the unary vararg operators (which are not technically unary operators).

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

template<class T>
T* SageBuilder::buildUnaryExpression_nfi ( SgExpression operand  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgCastExp* SageBuilder::buildCastExp ( SgExpression operand_i = NULL,
SgType expression_type = NULL,
SgCastExp::cast_type_enum  cast_type = SgCastExp::e_C_style_cast 
)

Build a type casting expression.

SgCastExp* SageBuilder::buildCastExp_nfi ( SgExpression operand_i,
SgType expression_type,
SgCastExp::cast_type_enum  cast_type 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgVarArgOp* SageBuilder::buildVarArgOp_nfi ( SgExpression operand_i,
SgType expression_type 
)

Build vararg op expression.

SgMinusMinusOp* SageBuilder::buildMinusMinusOp ( SgExpression operand_i,
SgUnaryOp::Sgop_mode  a_mode 
)

Build -- expression, Sgop_mode is a value of either SgUnaryOp::prefix or SgUnaryOp::postfix.

SgMinusMinusOp* SageBuilder::buildMinusMinusOp_nfi ( SgExpression operand_i,
SgUnaryOp::Sgop_mode  a_mode 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgPlusPlusOp* SageBuilder::buildPlusPlusOp ( SgExpression operand_i,
SgUnaryOp::Sgop_mode  a_mode 
)

Build ++x or x++ , specify prefix or postfix using either SgUnaryOp::prefix or SgUnaryOp::postfix.

SgPlusPlusOp* SageBuilder::buildPlusPlusOp_nfi ( SgExpression operand_i,
SgUnaryOp::Sgop_mode  a_mode 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgThrowOp* SageBuilder::buildThrowOp ( SgExpression ,
SgThrowOp::e_throw_kind   
)

Build a ThrowOp expression.

SgNewExp* SageBuilder::buildNewExp ( SgType type,
SgExprListExp exprListExp,
SgConstructorInitializer constInit,
SgExpression expr,
short int  val,
SgFunctionDeclaration funcDecl 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgDeleteExp* SageBuilder::buildDeleteExp ( SgExpression variable,
short  is_array,
short  need_global_specifier,
SgFunctionDeclaration deleteOperatorDeclaration 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

template<class T>
T* SageBuilder::buildBinaryExpression ( SgExpression lhs = NULL,
SgExpression rhs = NULL 
)

Template function to build a binary expression of type T, taking care of parent pointers, file info, lvalue, etc. Available instances include: buildAddOp(), buildAndAssignOp(), buildAndOp(), buildArrowExp(),buildArrowStarOp(), buildAssignOp(),buildBitAndOp(),buildBitOrOp(),buildBitXorOp(),buildCommaOpExp(), buildConcatenationOp(),buildDivAssignOp(),buildDivideOp(),buildDotExp(),buildEqualityOp(),buildExponentiationOp(),buildGreaterOrEqualOp(),buildGreaterThanOp(),buildIntegerDivideOp(),buildIorAssignOp(),buildLessOrEqualOp(),buildLessThanOp(),buildLshiftAssignOp(),buildLshiftOp(),buildMinusAssignOp(),buildModAssignOp(),buildModOp(),buildMultAssignOp(),buildMultiplyOp(),buildNotEqualOp(),buildOrOp(),buildPlusAssignOp(),buildPntrArrRefExp(),buildRshiftAssignOp(),buildRshiftOp(),buildScopeOp(),buildSubtractOp()buildXorAssignOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

template<class T>
T* SageBuilder::buildBinaryExpression_nfi ( SgExpression lhs,
SgExpression rhs 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgConditionalExp* SageBuilder::buildConditionalExp ( SgExpression test = NULL,
SgExpression a = NULL,
SgExpression b = NULL 
)

Build a conditional expression ?:.

SgConditionalExp* SageBuilder::buildConditionalExp_nfi ( SgExpression test,
SgExpression a,
SgExpression b,
SgType t 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgExprListExp* SageBuilder::buildExprListExp ( SgExpression expr1 = NULL,
SgExpression expr2 = NULL,
SgExpression expr3 = NULL,
SgExpression expr4 = NULL,
SgExpression expr5 = NULL,
SgExpression expr6 = NULL,
SgExpression expr7 = NULL,
SgExpression expr8 = NULL,
SgExpression expr9 = NULL,
SgExpression expr10 = NULL 
)

Build a SgExprListExp, used for function call parameter list etc.

SgExprListExp* SageBuilder::buildExprListExp ( const std::vector< SgExpression * > &  exprs  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgExprListExp* SageBuilder::buildExprListExp_nfi (  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgExprListExp* SageBuilder::buildExprListExp_nfi ( const std::vector< SgExpression * > &  exprs  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgTupleExp* SageBuilder::buildTupleExp ( SgExpression expr1 = NULL,
SgExpression expr2 = NULL,
SgExpression expr3 = NULL,
SgExpression expr4 = NULL,
SgExpression expr5 = NULL,
SgExpression expr6 = NULL,
SgExpression expr7 = NULL,
SgExpression expr8 = NULL,
SgExpression expr9 = NULL,
SgExpression expr10 = NULL 
)

Build a SgTupleExp.

SgTupleExp* SageBuilder::buildTupleExp ( const std::vector< SgExpression * > &  exprs  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgTupleExp* SageBuilder::buildTupleExp_nfi (  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgTupleExp* SageBuilder::buildTupleExp_nfi ( const std::vector< SgExpression * > &  exprs  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgListExp* SageBuilder::buildListExp ( SgExpression expr1 = NULL,
SgExpression expr2 = NULL,
SgExpression expr3 = NULL,
SgExpression expr4 = NULL,
SgExpression expr5 = NULL,
SgExpression expr6 = NULL,
SgExpression expr7 = NULL,
SgExpression expr8 = NULL,
SgExpression expr9 = NULL,
SgExpression expr10 = NULL 
)

Build a SgListExp.

SgListExp* SageBuilder::buildListExp ( const std::vector< SgExpression * > &  exprs  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgListExp* SageBuilder::buildListExp_nfi (  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgListExp* SageBuilder::buildListExp_nfi ( const std::vector< SgExpression * > &  exprs  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgComprehension* SageBuilder::buildComprehension ( SgExpression target,
SgExpression iter,
SgExprListExp ifs 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgComprehension* SageBuilder::buildComprehension_nfi ( SgExpression target,
SgExpression iter,
SgExprListExp ifs 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgListComprehension* SageBuilder::buildListComprehension ( SgExpression elt,
SgExprListExp generators 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgListComprehension* SageBuilder::buildListComprehension_nfi ( SgExpression elt,
SgExprListExp generators 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgSetComprehension* SageBuilder::buildSetComprehension ( SgExpression elt,
SgExprListExp generators 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgSetComprehension* SageBuilder::buildSetComprehension_nfi ( SgExpression elt,
SgExprListExp generators 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgDictionaryComprehension* SageBuilder::buildDictionaryComprehension ( SgKeyDatumPair kd_pair,
SgExprListExp generators 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgDictionaryComprehension* SageBuilder::buildDictionaryComprehension_nfi ( SgKeyDatumPair kd_pair,
SgExprListExp generators 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgVarRefExp* SageBuilder::buildVarRefExp ( const SgName name,
SgScopeStatement scope = NULL 
)

Build SgVarRefExp based on a variable's Sage name. It will lookup symbol table internally starting from scope. A variable name is unique so type can be inferred (double check this).

It is possible to build a reference to a variable with known name before the variable is declaration, especially during bottomup construction of AST. In this case, SgTypeUnknown is used to indicate the variable reference needing postprocessing fix using fixVariableReferences() once the AST is complete and all variable declarations exist. But the side effect is some get_type() operation may not recognize the unknown type before the fix. So far, I extended SgPointerDerefExp::get_type() and SgPntrArrRefExp::get_type() for SgTypeUnknown. There may be others needing the same extension.

SgVarRefExp* SageBuilder::buildVarRefExp ( const std::string &  varName,
SgScopeStatement scope = NULL 
)

Build SgVarRefExp based on a variable's name. It will lookup symbol table internally starting from scope. A variable is unique so type can be inferred.

SgVarRefExp* SageBuilder::buildVarRefExp ( const char *  varName,
SgScopeStatement scope = NULL 
)

Build a variable reference using a C style char array.

SgVarRefExp* SageBuilder::buildVarRefExp ( SgVariableSymbol varSymbol  ) 

Build a variable reference from an existing symbol.

SgVarRefExp* SageBuilder::buildVarRefExp_nfi ( SgVariableSymbol varSymbol  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgVarRefExp* SageBuilder::buildVarRefExp ( SgVariableDeclaration vardecl  ) 

Build a variable reference from an existing variable declaration. The assumption is a SgVariableDeclartion only declares one variable in the ROSE AST.

SgVarRefExp* SageBuilder::buildVarRefExp ( SgInitializedName initname,
SgScopeStatement scope = NULL 
)

build a variable reference from an initialized name It first tries to grab the associated symbol, then call buildVarRefExp(const SgName& name, SgScopeStatement*) if symbol does not exist.

SgVarRefExp* SageBuilder::buildOpaqueVarRefExp ( const std::string &  varName,
SgScopeStatement scope = NULL 
)

Build a variable reference expression at scope to an opaque variable which has unknown information except for its name. Used when referring to an internal variable defined in some headers of runtime libraries.(The headers are not yet inserted into the file during translation). Similar to buildOpaqueType();.

It will declare a hidden int varName at the specified scope to cheat the AST consistence tests.

SgLabelRefExp* SageBuilder::buildLabelRefExp ( SgLabelSymbol s  ) 

Build a Fortran numeric label ref exp.

SgFunctionRefExp* SageBuilder::buildFunctionRefExp ( const SgName name,
const SgType func_type,
SgScopeStatement scope = NULL 
)

Build SgFunctionRefExp based on a C++ function's name and function type. It will lookup symbol table internally starting from scope. A hidden prototype will be created internally to introduce a new function symbol if the function symbol cannot be found.

SgFunctionRefExp* SageBuilder::buildFunctionRefExp ( const char *  name,
const SgType func_type,
SgScopeStatement scope = NULL 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgFunctionRefExp* SageBuilder::buildFunctionRefExp ( const SgName name,
SgScopeStatement scope = NULL 
)

Build SgFunctionRefExp based on a C function's name. It will lookup symbol table internally starting from scope and return the first matching function.

SgFunctionRefExp* SageBuilder::buildFunctionRefExp ( const char *  name,
SgScopeStatement scope = NULL 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgFunctionRefExp* SageBuilder::buildFunctionRefExp ( const SgFunctionDeclaration func_decl  ) 

Build SgFunctionRefExp based on a function's declaration.

SgFunctionRefExp* SageBuilder::buildFunctionRefExp ( SgFunctionSymbol sym  ) 

Build SgFunctionRefExp based on a function's symbol.

SgFunctionRefExp* SageBuilder::buildFunctionRefExp_nfi ( SgFunctionSymbol sym  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgMemberFunctionRefExp* SageBuilder::buildMemberFunctionRefExp_nfi ( SgMemberFunctionSymbol sym,
bool  virtual_call,
bool  need_qualifier 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgMemberFunctionRefExp* SageBuilder::buildMemberFunctionRefExp ( SgMemberFunctionSymbol sym,
bool  virtual_call,
bool  need_qualifier 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgClassNameRefExp* SageBuilder::buildClassNameRefExp_nfi ( SgClassSymbol sym  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgClassNameRefExp* SageBuilder::buildClassNameRefExp ( SgClassSymbol sym  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgFunctionCallExp* SageBuilder::buildFunctionCallExp ( SgFunctionSymbol sym,
SgExprListExp parameters = NULL 
)

Build a function call expression.

SgFunctionCallExp* SageBuilder::buildFunctionCallExp_nfi ( SgExpression f,
SgExprListExp parameters = NULL 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgFunctionCallExp* SageBuilder::buildFunctionCallExp ( SgExpression f,
SgExprListExp parameters = NULL 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgFunctionCallExp* SageBuilder::buildFunctionCallExp ( const SgName name,
SgType return_type,
SgExprListExp parameters = NULL,
SgScopeStatement scope = NULL 
)

Build a function call expression,it will automatically search for function symbols internally to build a right function reference etc. It tolerates the lack of the function symbol to support generating calls to library functions whose headers have not yet been inserted.

SgCudaKernelCallExp* SageBuilder::buildCudaKernelCallExp_nfi ( SgExpression kernel,
SgExprListExp parameters = NULL,
SgCudaKernelExecConfig config = NULL 
)

Build a CUDA kernel call expression (kernel<<<config>>>(parameters)).

SgCudaKernelExecConfig* SageBuilder::buildCudaKernelExecConfig_nfi ( SgExpression grid = NULL,
SgExpression blocks = NULL,
SgExpression shared = NULL,
SgExpression stream = NULL 
)

Build a CUDA kernel execution configuration (<<<grid, blocks, shared, stream>>>).

SgAssignInitializer* SageBuilder::buildAssignInitializer ( SgExpression operand_i = NULL,
SgType expression_type = NULL 
)

Build the rhs of a variable declaration which includes an assignment.

SgAssignInitializer* SageBuilder::buildAssignInitializer_nfi ( SgExpression operand_i = NULL,
SgType expression_type = NULL 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgAggregateInitializer* SageBuilder::buildAggregateInitializer ( SgExprListExp initializers = NULL,
SgType type = NULL 
)

Build an aggregate initializer.

SgAggregateInitializer* SageBuilder::buildAggregateInitializer_nfi ( SgExprListExp initializers,
SgType type = NULL 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgConstructorInitializer* SageBuilder::buildConstructorInitializer ( SgMemberFunctionDeclaration declaration,
SgExprListExp args,
SgType expression_type,
bool  need_name,
bool  need_qualifier,
bool  need_parenthesis_after_name,
bool  associated_class_unknown 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgConstructorInitializer* SageBuilder::buildConstructorInitializer_nfi ( SgMemberFunctionDeclaration declaration,
SgExprListExp args,
SgType expression_type,
bool  need_name,
bool  need_qualifier,
bool  need_parenthesis_after_name,
bool  associated_class_unknown 
)

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgSizeOfOp* SageBuilder::buildSizeOfOp ( SgExpression exp = NULL  ) 

Build sizeof() expression with an expression parameter.

SgSizeOfOp* SageBuilder::buildSizeOfOp_nfi ( SgExpression exp  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgSizeOfOp* SageBuilder::buildSizeOfOp ( SgType type = NULL  ) 

Build sizeof() expression with a type parameter.

SgSizeOfOp* SageBuilder::buildSizeOfOp_nfi ( SgType type  ) 

Template function to build a unary expression of type T with advanced information specified such as parenthesis and file info. Instantiated functions include:buildAddressOfOp(),buildBitComplementOp(),buildBitComplementOp(),buildMinusOp(),buildNotOp(),buildPointerDerefExp(),buildUnaryAddOp(),buildMinusMinusOp(),buildPlusPlusOp().

The instantiated functions' prototypes are not shown since they are expanded using macros. Doxygen is not smart enough to handle macro expansion.

SgJavaInstanceOfOp* SageBuilder::buildJavaInstanceOfOp ( SgExpression exp = NULL,
SgType type = NULL 
)

This is part of Java specific operator support.

SgInitializedName* SageBuilder::buildInitializedName ( const SgName name,
SgType type,
SgInitializer init = NULL 
)

Initialized names are tricky, their scope vary depending on context, so scope and symbol information are not needed until the initialized name is being actually used somewhere.

e.g the scope of arguments of functions are different for defining and nondefining functions.

SgInitializedName* SageBuilder::buildInitializedName ( const std::string &  name,
SgType type 
)

Initialized names are tricky, their scope vary depending on context, so scope and symbol information are not needed until the initialized name is being actually used somewhere.

e.g the scope of arguments of functions are different for defining and nondefining functions.

SgInitializedName* SageBuilder::buildInitializedName ( const char *  name,
SgType type 
)

Initialized names are tricky, their scope vary depending on context, so scope and symbol information are not needed until the initialized name is being actually used somewhere.

e.g the scope of arguments of functions are different for defining and nondefining functions.

SgInitializedName* SageBuilder::buildInitializedName_nfi ( const SgName name,
SgType type,
SgInitializer init 
)

Initialized names are tricky, their scope vary depending on context, so scope and symbol information are not needed until the initialized name is being actually used somewhere.

e.g the scope of arguments of functions are different for defining and nondefining functions.

SgFunctionParameterTypeList* SageBuilder::buildFunctionParameterTypeList ( SgFunctionParameterList paralist  ) 

Build SgFunctionParameterTypeList from SgFunctionParameterList.

SgFunctionParameterTypeList* SageBuilder::buildFunctionParameterTypeList ( SgExprListExp expList  ) 

Build SgFunctionParameterTypeList from an expression list, useful when building a function call.

SgFunctionParameterTypeList* SageBuilder::buildFunctionParameterTypeList ( SgType type0 = NULL,
SgType type1 = NULL,
SgType type2 = NULL,
SgType type3 = NULL,
SgType type4 = NULL,
SgType type5 = NULL,
SgType type6 = NULL,
SgType type7 = NULL 
)

Build an SgFunctionParameterTypeList from SgTypes. To build an.

SgVariableDeclaration* SageBuilder::buildVariableDeclaration ( const SgName name,
SgType type,
SgInitializer varInit = NULL,
SgScopeStatement scope = NULL 
)

Build a variable declaration, handle symbol table transparently.

SgVariableDeclaration* SageBuilder::buildVariableDeclaration ( const std::string &  name,
<