Unparser
Backend C and C++ code generator.
Synopsis
Declared in <src/backend/unparser/unparser.h>
class Unparser;
Enums
Name |
Member Functions
Name |
Description |
|
constructor |
|
destructor |
|
Copy assignment operator |
remove unneccessary white space to build a condensed string |
|
get the output stream wrapper |
|
true if SgLocatedNode is part of a compiler generated part of the AST (e.g template instatiation) |
|
true if SgLocatedNode is part of a transformation on the AST |
|
friend string globalUnparseToString ( SgNode* astNode ); |
Static Member Functions
Data Members
Name |
Description |
This is a cursor mechanism which is not encapsulated into the curprint() member function. |
|
used to index the preprocessor list |
|
delegate unparser that can be used to replace the output of this unparser |
|
holds all desired options for this unparser |
|
The previous directive was a CPP statment (otherwise it was a comment) |
|
Private Types
Private Member Functions
Name |
Private Data Members
Description
This class represents the backend C++ code generator within ROSE. It is separated from the AST IR so that it can be more easily developed as a separate modular piece of ROSE.
This is the source code generator. It traverses the AST (not using the newer traversal mechanisms) and generates C++ source code from the constructs within the AST. Special attention is given to formatting the generated code.
Note: Large parts of documentation contained in ROSE/src/unparser.docs.
Internal: This class could be simplified now that comments and CPP directives are a part of the AST.
Metadata: ‐ Authors: Lee, Quinlan, Schordan, ... ‐ Version: 0.5 cvs‐version‐#: _Name: _ ‐ Date: _Date: 2006/04/24 00:21:29 _ ‐ Bug: No known bugs. ‐ Warning: Formatting still overly complex (can be simplified now that comments are part of the AST). ‐ TODO: Finish documentation; make formatting easily tailorable to different styles (low priority at the moment).
Created with MrDocs