int main ( int argc, char* argv[] ) { // Build the abstract syntax tree SgProject* project = frontend(argc,argv); ROSE_ASSERT (project != NULL); // Build the inherited attribute InheritedAttribute inheritedAttribute; // Define the traversal Traversal myTraversal; // Call the traversal starting at the project (root) node of the AST myTraversal.traverseInputFiles(project,inheritedAttribute); // Demonstrate the the transformation will pass the AST tests. AstTests::runAllTests (project); // Output an optional graph of the AST (just the tree, when active) generateDOT ( *project ); // Output an optional graph of the AST (the whole graph, of bounded complexity, when active) const int MAX_NUMBER_OF_IR_NODES_TO_GRAPH_FOR_WHOLE_GRAPH = 10000; generateAstGraph(project,MAX_NUMBER_OF_IR_NODES_TO_GRAPH_FOR_WHOLE_GRAPH,""); return backend (project); // only backend error code is reported }
int main ( int argc, char* argv[] ) { // Build the abstract syntax tree SgProject* project = frontend(argc,argv); ROSE_ASSERT (project != NULL); // Build the inherited attribute InheritedAttribute inheritedAttribute = false; // Define the traversal Traversal myTraversal; // Call the traversal starting at the project (root) node of the AST myTraversal.traverseInputFiles(project,inheritedAttribute); // This program only does analysis, so it need not call the backend to generate code. return 0; }
int main ( int argc, char* argv[] ) { // Initialize and check compatibility. See rose::initialize ROSE_INITIALIZE; SgProject* project = frontend(argc,argv); ROSE_ASSERT (project != NULL); // Build the inherited attribute InheritedAttribute inheritedAttribute; Traversal myTraversal; // Call the traversal starting at the sageProject node of the AST myTraversal.traverseInputFiles(project,inheritedAttribute); return 0; }
int main ( int argc, char* argv[] ) { SgProject* project = frontend(argc,argv); ROSE_ASSERT (project != NULL); // Call function to declare function to be called to recode use of all functions in the AST beforeWrite.buildDeclaration(project); beforeRead.buildDeclaration(project); // Build the inherited attribute InheritedAttribute inheritedAttribute; Traversal myTraversal; // Call the traversal starting at the sageProject node of the AST myTraversal.traverseInputFiles(project,inheritedAttribute); // Generate Code and compile it with backend (vendor) compiler to generate object code // or executable (as specified on commandline using vendor compiler's command line). // Returns error code form compilation using vendor's compiler. return backend(project); }