vrq
compile.h
Go to the documentation of this file.
1 /*-----------------------------------------------------------------------------
2  * Copyright (c) 1997-2004 Mark Hummel DBA Raquette Software.
3  * All rights reserved
4  *
5  * This file contains source code written by Raquette Software,
6  * 68 Stewart Street, Franklin MA 02038. It may not be used without
7  * express written permission. The expression of the information
8  * contained herein is protected under federal copyright laws and
9  * all copying without permission is prohibited and may be subject
10  * to criminal penalties. The Author assumes no responsibility for
11  * errors, omissions, or damages caused by the use of these programs
12  * or from use of the information contained herein.
13  *
14  *-----------------------------------------------------------------------------
15  */
16 /******************************************************************************
17  *
18  * compile.hpp
19  *
20  ******************************************************************************
21  */
22 
27 #ifndef COMPILE_PP
28 #define COMPILE_HPP
29 
30 #include <set>
31 #include <map>
32 using namespace std;
33 
34 class CNode;
35 class CModule;
36 class CDataType;
37 
49 void AnalyseModules(
50  CNode* codeList,
51  set<CModule*>& allModules,
52  set<CModule*>& topLevelModules,
53  set<CModule*>& leafModules,
54  set<CModule*>& undefinedModules,
55  map<CModule*,CNode*>& module2Comments
56 );
57 
69 int ResolveReference(
70  CNode* ref,
71  CDataType*& dataType,
72  vector<CNode*>& unpackedDimensions,
73  vector<CNode*>& packedDimensions,
74  vector<CNode*>& residualPackedIndices );
75 
76 #endif // COMPILE_HPP
Base class for describing data types.
Definition: cdatatype.h:110
Primary data structure representing parse tree nodes.
Definition: cnode.h:197
CNode * codeList
Definition: main.cc:288
Definition: cmodule.h:54
void AnalyseModules(CNode *codeList, set< CModule * > &allModules, set< CModule * > &topLevelModules, set< CModule * > &leafModules, set< CModule * > &undefinedModules, map< CModule *, CNode * > &module2Comments)
Analyse module declarations in parse tree.
int ResolveReference(CNode *ref, CDataType *&dataType, vector< CNode * > &unpackedDimensions, vector< CNode * > &packedDimensions, vector< CNode * > &residualPackedIndices)
Get datatype info for array, structure and variable references.