00001 #ifndef _SYMBOL_H
00002 #define _SYMBOL_H
00003
00004 #include "CEntry.h"
00005 #include "EToken.h"
00006 #include "sdag-globals.h"
00007 #include "xi-util.h"
00008
00009 #include "xi-AstNode.h"
00010 #include "xi-Construct.h"
00011 #include "xi-Entry.h"
00012 #include "xi-Member.h"
00013 #include "xi-Message.h"
00014 #include "xi-Module.h"
00015 #include "xi-Parameter.h"
00016 #include "xi-Type.h"
00017 #include "xi-Value.h"
00018
00019 #include <cstdio>
00020 #include <cstdlib>
00021 #include <cstring>
00022 #include <iostream>
00023 #include <list>
00024
00025 namespace xi {
00026
00027
00028 struct rwentry {
00029 const char* res;
00030 int tok;
00031 };
00032
00033 class Chare;
00034 class CStateVar;
00035 class EncapState;
00036
00037 extern void generateVarSignature(XStr& decls, XStr& defs, const Entry* entry,
00038 bool declareStatic, const char* returnType,
00039 const XStr* name, bool isEnd,
00040 std::list<CStateVar*>* params);
00041 extern void generateVarSignature(XStr& decls, XStr& defs, const Chare* chare,
00042 bool declareStatic, const char* returnType,
00043 const XStr* name, bool isEnd,
00044 std::list<CStateVar*>* params);
00045
00046
00047
00048 extern const char* cur_file;
00049
00050
00051
00052 extern void RemoveSdagComments(char*);
00053
00054 void generateLocalWrapper(XStr& decls, XStr& defs, int isVoid, XStr& signature,
00055 Entry* entry, std::list<CStateVar*>* params, XStr* next, bool isDummy=false);
00056
00057 }
00058
00059 #endif