src/parser/impcomp/ImpParser.h

Go to the documentation of this file.
00001 
00010 #ifndef IMPPARSER_H_
00011 #define IMPPARSER_H_
00012 
00013 #include "../TokenSource.h"
00014 #include "UnresOpSeq.h"
00015 #include "OpSeq.h"
00016 
00017 
00018 namespace green
00019 {
00020 
00021 
00025 class ImpParser
00026         {
00027         private:
00028                 void parseBinOp(TokenIterator& curToken,UnresOpSeqPtr unOpSeq);
00029                 void parseUnOp(TokenIterator& curToken,UnresOpSeqPtr unOpSeq);
00030                 void parseCall(TokenIterator& curToken,UnresOpSeqPtr unOpSeq);
00031                 void parseGoto(TokenIterator& curToken,UnresOpSeqPtr unOpSeq);
00032                 void parseGotoif(TokenIterator& curToken,UnresOpSeqPtr unOpSeq);
00033                 void parseLabel(TokenIterator& curToken,UnresOpSeqPtr unOpSeq);
00034                 void parseDeclare(TokenIterator& curToken,UnresOpSeqPtr unOpSeq);
00035                 void parseVarLit(TokenIterator& curToken,UnresOpSeqPtr unOpSeq);
00036                 void parseVarOnly(TokenIterator& curToken,UnresOpSeqPtr unOpSeq);
00037 
00038                 OpSeq::OperatorEnum convertBinOp(TokenIterator& curToken);
00039                 OpSeq::OperatorEnum convertUnaryOp(TokenIterator& curToken);
00040                 OpSeq::OperatorEnum convertGotoOp(TokenIterator& curToken);
00041                 OpSeq::FuncEnum resolveFuncName(std::string& funcName);
00042 
00043 
00044         public:
00053                 UnresOpSeqPtr parseImperative(TokenIterator& curToken,
00054                                               VariableTableTemplatePtr whoBelongs,int ifInit);
00055 
00056         };
00057 
00058 
00059 }
00060 
00061 #endif

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