Class UnparseLanguageIndependentConstructs

Contents

Class UnparseLanguageIndependentConstructs#

Inheritance Relationships#

Derived Types#

Class Documentation#

class UnparseLanguageIndependentConstructs#

Subclassed by FortranCodeGeneration_locatedNode, Unparse_ExprStmt

Public Types

enum token_sequence_position_enum_type#

Values:

enumerator e_leading_whitespace_start#
enumerator e_leading_whitespace_end#
enumerator e_token_subsequence_start#
enumerator e_token_subsequence_end#
enumerator e_trailing_whitespace_start#
enumerator e_trailing_whitespace_end#
enumerator e_else_whitespace_start#
enumerator e_else_whitespace_end#
enum unparsed_as_enum_type#

Values:

enumerator e_unparsed_as_error#
enumerator e_unparsed_as_AST#
enumerator e_unparsed_as_partial_token_sequence#
enumerator e_unparsed_as_token_stream#
enumerator e_unparsed_as_last#

Public Functions

void unparseStatementFromTokenStream(SgStatement *stmt, token_sequence_position_enum_type e_leading_whitespace_start, token_sequence_position_enum_type e_token_subsequence_start, SgUnparse_Info &info)#
void unparseStatementFromTokenStream(SgLocatedNode *stmt_1, SgLocatedNode *stmt_2, token_sequence_position_enum_type e_leading_whitespace_start, token_sequence_position_enum_type e_token_subsequence_start, SgUnparse_Info &info, bool unparseOnlyWhitespace = false)#
std::string token_sequence_position_name(token_sequence_position_enum_type e)#
std::string unparsed_as_kind(unparsed_as_enum_type x)#
inline UnparseLanguageIndependentConstructs(Unparser *unp, std::string fname)#
inline virtual ~UnparseLanguageIndependentConstructs()#
virtual void unparseLineDirectives(SgStatement *stmt)#

Support for unparsing of line directives into generated code to support debugging.

void unparseOneElemConInit(SgConstructorInitializer *con_init, SgUnparse_Info &info)#
std::string getFileName(SgNode *stmt)#

get the filename from a SgStatement Object

std::string getFileName()#

get the filename from the SgFile Object

bool statementFromFile(SgStatement *stmt, std::string sourceFilename, SgUnparse_Info &info)#

used to support the run_unparser function (support for #line 42 “filename” when it appears in source code)

void outputDirective(PreprocessingInfo *directive)#

Generate a CPP directive

int num_stmt_in_block(SgBasicBlock*)#

counts the number of statements in a basic block

std::string resBool(bool val) const#
template<typename T>
inline std::string tostring(T t) const#
void curprint(const std::string &str) const#
void printOutComments(SgLocatedNode *locatedNode) const#
void outputCompilerGeneratedStatements(SgUnparse_Info &info)#

Unparser support for compiler-generated statments.

virtual void unparseAttachedPreprocessingInfo(SgLocatedNode *stmt, SgUnparse_Info &info, PreprocessingInfo::RelativePositionType whereToUnparse)#

This function unparses any attached comments or CPP directives.

virtual bool unparseLineReplacement(SgLocatedNode *stmt, SgUnparse_Info &info)#
bool RemoveArgs(SgExpression *expr)#
virtual void unparseStatementNumbers(SgStatement *stmt, SgUnparse_Info &info)#

Support for Fortran numeric labels (can appear on any statement), this is an empty function for C/C++.

virtual void unparseLanguageSpecificStatement(SgStatement *stmt, SgUnparse_Info &info) = 0#
virtual void unparseLanguageSpecificExpression(SgExpression *expr, SgUnparse_Info &info) = 0#
virtual std::string languageName() const = 0#
virtual ROSE_DLL_API void unparseExpression (SgExpression *expr, SgUnparse_Info &info)

unparse expression functions implemented in unparse_expr.C

virtual void unparseExprList(SgExpression *expr, SgUnparse_Info &info)#
virtual void unparseMatrixExp(SgExpression *expr, SgUnparse_Info &info)#
virtual void unparseUnaryExpr(SgExpression *expr, SgUnparse_Info &info)#
virtual void unparseBinaryExpr(SgExpression *expr, SgUnparse_Info &info)#
virtual void unparseValue(SgExpression *expr, SgUnparse_Info &info)#
virtual void unparseBoolVal(SgExpression *expr, SgUnparse_Info &info)#
virtual void unparseShortVal(SgExpression *expr, SgUnparse_Info &info)#
virtual void unparseCharVal(SgExpression *expr, SgUnparse_Info &info)#
virtual void unparseUCharVal(SgExpression *expr, SgUnparse_Info &info)#
virtual void unparseWCharVal(SgExpression *expr, SgUnparse_Info &info)#
virtual void unparseChar16Val(SgExpression *expr, SgUnparse_Info &info)#
virtual void unparseChar32Val(SgExpression *expr, SgUnparse_Info &info)#
virtual void unparseStringVal(SgExpression *expr, SgUnparse_Info &info) = 0#
virtual void unparseUShortVal(SgExpression *expr, SgUnparse_Info &info)#
virtual void unparseEnumVal(SgExpression *expr, SgUnparse_Info &info)#
virtual void unparseIntVal(SgExpression *expr, SgUnparse_Info &info)#
virtual void unparseUIntVal(SgExpression *expr, SgUnparse_Info &info)#
virtual void unparseLongIntVal(SgExpression *expr, SgUnparse_Info &info)#
virtual void unparseLongLongIntVal(SgExpression *expr, SgUnparse_Info &info)#
virtual void unparseULongLongIntVal(SgExpression *expr, SgUnparse_Info &info)#
virtual void unparseULongIntVal(SgExpression *expr, SgUnparse_Info &info)#
virtual void unparseFloatVal(SgExpression *expr, SgUnparse_Info &info)#
virtual void unparseDoubleVal(SgExpression *expr, SgUnparse_Info &info)#
virtual void unparseLongDoubleVal(SgExpression *expr, SgUnparse_Info &info)#
virtual void unparseComplexVal(SgExpression *expr, SgUnparse_Info &info)#
virtual void unparseNullptrVal(SgExpression *expr, SgUnparse_Info &info)#
virtual void unparseNullExpression(SgExpression *expr, SgUnparse_Info &info)#
virtual void unparseStatement(SgStatement *stmt, SgUnparse_Info &info)#

unparse statement functions implemented in unparse_stmt.C

virtual void unparseGlobalStmt(SgStatement *stmt, SgUnparse_Info &info)#
virtual void unparseFuncTblStmt(SgStatement *stmt, SgUnparse_Info &info)#
virtual void unparseNullStatement(SgStatement *stmt, SgUnparse_Info &info)#
virtual void unparseIncludeDirectiveStatement(SgStatement *stmt, SgUnparse_Info &info)#
virtual void unparseDefineDirectiveStatement(SgStatement *stmt, SgUnparse_Info &info)#
virtual void unparseUndefDirectiveStatement(SgStatement *stmt, SgUnparse_Info &info)#
virtual void unparseIfdefDirectiveStatement(SgStatement *stmt, SgUnparse_Info &info)#
virtual void unparseIfndefDirectiveStatement(SgStatement *stmt, SgUnparse_Info &info)#
virtual void unparseDeadIfDirectiveStatement(SgStatement *stmt, SgUnparse_Info &info)#
virtual void unparseIfDirectiveStatement(SgStatement *stmt, SgUnparse_Info &info)#
virtual void unparseElseDirectiveStatement(SgStatement *stmt, SgUnparse_Info &info)#
virtual void unparseElseifDirectiveStatement(SgStatement *stmt, SgUnparse_Info &info)#
virtual void unparseEndifDirectiveStatement(SgStatement *stmt, SgUnparse_Info &info)#
virtual void unparseLineDirectiveStatement(SgStatement *stmt, SgUnparse_Info &info)#
virtual void unparseWarningDirectiveStatement(SgStatement *stmt, SgUnparse_Info &info)#
virtual void unparseErrorDirectiveStatement(SgStatement *stmt, SgUnparse_Info &info)#
virtual void unparseEmptyDirectiveStatement(SgStatement *stmt, SgUnparse_Info &info)#
virtual void unparseIdentDirectiveStatement(SgStatement *stmt, SgUnparse_Info &info)#
virtual void unparseIncludeNextDirectiveStatement(SgStatement *stmt, SgUnparse_Info &info)#
virtual void unparseLinemarkerDirectiveStatement(SgStatement *stmt, SgUnparse_Info &info)#
virtual void unparseOmpPrefix(SgUnparse_Info &info)#
virtual void unparseOmpDefaultClause(SgOmpClause *clause, SgUnparse_Info &info)#
virtual void unparseOmpAllocatorClause(SgOmpClause *clause, SgUnparse_Info &info)#
virtual void unparseOmpProcBindClause(SgOmpClause *clause, SgUnparse_Info &info)#
virtual void unparseOmpOrderClause(SgOmpClause *clause, SgUnparse_Info &info)#
virtual void unparseOmpBindClause(SgOmpClause *clause, SgUnparse_Info &info)#
virtual void unparseOmpWhenClause(SgOmpClause *clause, SgUnparse_Info &info)#
virtual void unparseOmpAtomicClause(SgOmpClause *clause, SgUnparse_Info &info)#
virtual void unparseOmpScheduleClause(SgOmpClause *clause, SgUnparse_Info &info)#
virtual void unparseOmpDistScheduleClause(SgOmpClause *clause, SgUnparse_Info &info)#
virtual void unparseOmpDefaultmapClause(SgOmpClause *clause, SgUnparse_Info &info)#
virtual void unparseOmpUsesAllocatorsClause(SgOmpClause *clause, SgUnparse_Info &info)#
virtual void unparseOmpVariablesClause(SgOmpClause *clause, SgUnparse_Info &info)#
virtual void unparseOmpVariablesComplexClause(SgOmpClause *clause, SgUnparse_Info &info)#
virtual void unparseOmpExpressionClause(SgOmpClause *clause, SgUnparse_Info &info)#
virtual void unparseOmpDepobjUpdateClause(SgOmpClause *clause, SgUnparse_Info &info)#
virtual void unparseOmpClause(SgOmpClause *clause, SgUnparse_Info &info)#
virtual void unparseOmpAtomicDefaultMemOrderClause(SgOmpClause *clause, SgUnparse_Info &info)#
virtual void unparseOmpSimpleStatement(SgStatement *stmt, SgUnparse_Info &info)#
virtual void unparseOmpThreadprivateStatement(SgStatement *stmt, SgUnparse_Info &info)#
virtual void unparseOmpFlushStatement(SgStatement *stmt, SgUnparse_Info &info)#
virtual void unparseOmpAllocateStatement(SgStatement *stmt, SgUnparse_Info &info)#
virtual void unparseOmpDeclareSimdStatement(SgStatement *stmt, SgUnparse_Info &info)#
virtual void unparseOmpDirectivePrefixAndName(SgStatement *stmt, SgUnparse_Info &info)#
virtual void unparseOmpEndDirectivePrefixAndName(SgStatement *stmt, SgUnparse_Info &info)#
virtual void unparseOmpBeginDirectiveClauses(SgStatement *stmt, SgUnparse_Info &info)#
virtual void unparseOmpEndDirectiveClauses(SgStatement *stmt, SgUnparse_Info &info)#
virtual void unparseOmpGenericStatement(SgStatement *stmt, SgUnparse_Info &info)#
virtual void unparseMapDistDataPoliciesToString(std::vector<std::pair<SgOmpClause::omp_map_dist_data_enum, SgExpression*>> policies, SgUnparse_Info &info)#
bool isTransformed(SgStatement *stmt)#
void markGeneratedFile() const#
void initializeDeclarationsFromParent(SgDeclarationStatement *declarationStatement, SgClassDefinition *&cdefn, SgNamespaceDefinitionStatement *&namespaceDefn, int debugSupport = 0)#
virtual bool requiresParentheses(SgExpression *expr, SgUnparse_Info &info)#
virtual PrecedenceSpecifier getPrecedence(SgExpression *exp)#
virtual AssociativitySpecifier getAssociativity(SgExpression *exp)#
bool isRequiredOperator(SgBinaryOp *binary_op, bool current_function_call_uses_operator_syntax, bool parent_function_call_uses_operator_syntax)#
int unparseStatementFromTokenStream(SgSourceFile *sourceFile, SgStatement *stmt, SgUnparse_Info &info, bool &lastStatementOfGlobalScopeUnparsedUsingTokenStream)#
int unparseStatementFromTokenStreamForNodeContainingTransformation(SgSourceFile *sourceFile, SgStatement *stmt, SgUnparse_Info &info, bool &lastStatementOfGlobalScopeUnparsedUsingTokenStream, unparsed_as_enum_type unparsed_as)#
bool canBeUnparsedFromTokenStream(SgSourceFile *sourceFile, SgStatement *stmt)#
bool redundantStatementMappingToTokenSequence(SgSourceFile *sourceFile, SgStatement *stmt, SgUnparse_Info &info)#
bool isDotExprWithAnonymousUnion(SgExpression *expr)#
bool isImplicitArrowExpWithinLambdaFunction(SgExpression *expr, SgUnparse_Info &info)#
bool unparseAttachedPreprocessingInfoUsingTokenStream(SgLocatedNode *stmt, SgUnparse_Info &info, PreprocessingInfo::RelativePositionType whereToUnparse)#

Protected Attributes

Unparser *unp#
std::string currentOutputFileName#