src/parser/DeclParser.h

Go to the documentation of this file.
00001 
00011 #ifndef DECLPARSER_H_
00012 #define DECLPARSER_H_
00013 
00014 
00015 #include "impcomp/UnresOpSeq.h"
00016 #include "engine/EntityTemplate.h"
00017 #include "engine/BehaviorTemplate.h"
00018 #include "engine/BehaviorTemplateTable.h"
00019 #include "engine/EntityTemplateTable.h"
00020 #include "engine/EntityPool.h"
00021 #include "engine/System.h"
00022 #include "TokenSource.h"
00023 
00024 namespace green
00025 {
00026 
00036 class DeclParser
00037         {
00038         private:
00039 //              std::vector<UnresOpSeqPtr> unresPool;
00040                 SystemPtr sysPtr;
00041                 BehaviorTemplateTablePtr behaviorPool;
00042                 EntityTemplateTablePtr entityPool;
00043                 MessageTemplateTablePtr messagePool;
00044                 EntityPoolPtr entityInstances;
00045 
00046                 std::vector<ArgListPtr> sceneSpawnArgQueue;
00047                 std::vector<std::string> sceneSpawnNameQueue;
00048 
00049 
00059                 UnresOpSeqPtr parseCode(TokenIterator& curToken,int ifInit,
00060                                 VariableTableTemplatePtr varTableSet);
00061 
00062 
00069                 void parseArgList(TokenIterator& curToken,ArgListPtr argOut);
00070 
00078                 void parseVarDecStmt(TokenIterator& curToken,VariableTableTemplatePtr varTable);
00079 
00080 
00088                 void parseParameterElem(TokenIterator& curToken,VariableTableTemplatePtr varTable);
00089 
00098                 void parseParameterList(TokenIterator& curToken,VariableTableTemplatePtr argTable);
00099 
00107                 std::string parseEntityBehavior(TokenIterator& curToken,ArgListPtr behArgs);
00108 
00109 
00116                 std::string parseClassific(TokenIterator& curToken);
00117 
00118 
00124                 void parseEntity(TokenIterator& curToken);
00125 
00126 
00132                 void parseBehavior(TokenIterator& curToken);
00133 
00134 
00140                 void parseMessage(TokenIterator& curToken);
00141 
00142 
00148                 void parseSceneEntity(TokenIterator& curToken);
00149 
00155                 void parseScene(TokenIterator& curToken);
00156 
00157 
00158 
00159         public:
00166                 DeclParser(SystemPtr systemIn,BehaviorTemplateTablePtr behTableIn,
00167                            EntityTemplateTablePtr entityTableIn,MessageTemplateTablePtr msgTableIn,
00168                    EntityPoolPtr entityInstancesIn);
00169 
00170 
00176                 void parseFile(TokenIterator& curToken);
00177 
00178 
00179 
00183                 void parseComplete();
00184         };
00185 
00186 }
00187 
00188 #endif

Generated on Fri Apr 27 10:27:38 2007 for Green Engine by  doxygen 1.5.1