ROSE
0.9.6a
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
attachPreprocessingInfo.h
Go to the documentation of this file.
1
// Header file to support attaching preprocessingInfo objects
2
// to AST nodes
3
4
#ifndef _ATTACH_PREPROCESSING_INFO_H_
5
#define _ATTACH_PREPROCESSING_INFO_H_
6
7
#include "
attachPreprocessingInfoTraversal.h
"
8
9
10
// DQ (4/5/2006): Andreas has removed this code!
11
12
// void printOutComments ( SgLocatedNode* locatedNode );
13
14
// This function is defined in preproc.C and used to collect the attributes
15
// extern ROSEAttributesList *getPreprocessorDirectives(const char *fileName);
16
// extern ROSEAttributesList *getPreprocessorDirectives(const char *fileName);
17
// ROSEAttributesList *getPreprocessorDirectives(const char *fileName);
18
// ROSEAttributesList *getPreprocessorDirectives( std::string fileName );
19
// ROSEAttributesList *getPreprocessorDirectives( std::string fileName, LexTokenStreamTypePointer & input_token_stream_pointer );
20
ROSEAttributesList
*
getPreprocessorDirectives
( std::string fileName );
21
22
void
attachPreprocessingInfo
(
SgSourceFile
*sageFile);
23
24
// DQ (11/30/2008): Part of refactoring of code specific to Wave.
25
void
attachPreprocessingInfoUsingWave
(
SgSourceFile
*sageFile);
26
27
#if 0
28
// DQ (12/16/2008): comment out while I debug the non-wave support.
29
30
// AS (012006) Added the function
31
// void attachPreprocessingInfo(SgFile *sageFile, std::map<string,ROSEAttributesList*>*);
32
// to support reintroductions of macros and fetching of preprocessor directive using Wave.
33
// This function does not in itself rely on Wave, but simply takes the same arguement as
34
// 'attachPreprocessingInfo(SgFile *sageFile)', but adds an argument std::map<string,ROSEAttributesList*>*
35
// which is a map of a pair (filename,list of attributes in that file). The two functions will perform
36
// the same tasks in all ways but the way they find the preprocessor directives. In addition to that
37
// the mechanism here opens up for reintroduction of unexpanded macros into the AST without
38
// changing the implementation at all. This relies on some external mechanism, that be the
39
// Wave preprocessor or some other, to find the preprocessor directives and the unexpanded
40
// macros.
41
void
attachPreprocessingInfo
(
SgSourceFile
*sageFile, std::map<std::string,ROSEAttributesList*>*);
42
#endif
43
44
#endif
45
46
// EOF
rose-edg4x
src
frontend
SageIII
attachPreprocessingInfo.h
Generated on Mon May 5 2014 17:28:51 for ROSE by
1.8.4