00001 /*----------------------------------------------------------------------------- 00002 * Copyright (c) 1997-2004 Mark Hummel DBA Raquette Software. 00003 * All rights reserved 00004 * 00005 * This file contains source code written by Raquette Software, 00006 * 68 Stewart Street, Franklin MA 02038. It may not be used without 00007 * express written permission. The expression of the information 00008 * contained herein is protected under federal copyright laws and 00009 * all copying without permission is prohibited and may be subject 00010 * to criminal penalties. The Author assumes no responsibility for 00011 * errors, omissions, or damages caused by the use of these programs 00012 * or from use of the information contained herein. 00013 * 00014 *----------------------------------------------------------------------------- 00015 */ 00016 /****************************************************************************** 00017 * 00018 * compile.hpp 00019 * 00020 ****************************************************************************** 00021 */ 00022 00027 #ifndef COMPILE_PP 00028 #define COMPILE_HPP 00029 00030 #include <set> 00031 #include <map> 00032 using namespace std; 00033 00034 class CNode; 00035 class CModule; 00036 class CDataType; 00037 00049 void AnalyseModules( 00050 CNode* codeList, 00051 set<CModule*>& allModules, 00052 set<CModule*>& topLevelModules, 00053 set<CModule*>& leafModules, 00054 set<CModule*>& undefinedModules, 00055 map<CModule*,CNode*>& module2Comments 00056 ); 00057 00069 int ResolveReference( 00070 CNode* ref, 00071 CDataType*& dataType, 00072 vector<CNode*>& unpackedDimensions, 00073 vector<CNode*>& packedDimensions, 00074 vector<CNode*>& residualPackedIndices ); 00075 00076 #endif // COMPILE_HPP