diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2014-07-27 14:31:34 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2014-08-02 10:05:26 (GMT) |
commit | 36122e49ed1d9e640b1ceca52536ec7c55e10474 (patch) | |
tree | c61b21164b0445eb23631aa812810f4712cd8f61 /vhdlparser/VhdlParserTokenManager.h | |
parent | 6a60477b418e21dbadd3e62dc557a038e319581b (diff) | |
download | Doxygen-36122e49ed1d9e640b1ceca52536ec7c55e10474.zip Doxygen-36122e49ed1d9e640b1ceca52536ec7c55e10474.tar.gz Doxygen-36122e49ed1d9e640b1ceca52536ec7c55e10474.tar.bz2 |
New VHDL parser implementation
Diffstat (limited to 'vhdlparser/VhdlParserTokenManager.h')
-rw-r--r-- | vhdlparser/VhdlParserTokenManager.h | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/vhdlparser/VhdlParserTokenManager.h b/vhdlparser/VhdlParserTokenManager.h new file mode 100644 index 0000000..68eb51b --- /dev/null +++ b/vhdlparser/VhdlParserTokenManager.h @@ -0,0 +1,133 @@ +#ifndef VHDLPARSERTOKENMANAGER_H +#define VHDLPARSERTOKENMANAGER_H +#include "JavaCC.h" +#include "CharStream.h" +#include "Token.h" +#include "TokenManager.h" +#include "VhdlParserConstants.h" +#include "VhdlParser.h" + +namespace vhdl { +namespace parser { +class VhdlParser; + +/** Token Manager. */ +class VhdlParserTokenManager : public TokenManager { + public: + + /** Debug output. */ + FILE *debugStream; + /** Set debug output. */ + +void setDebugStream(FILE *ds); + + int jjStopAtPos(int pos, int kind); + + int jjMoveStringLiteralDfa0_0(); + + int jjMoveStringLiteralDfa1_0(unsigned long long active0, unsigned long long active1, unsigned long long active2); + + int jjMoveStringLiteralDfa2_0(unsigned long long old0, unsigned long long active0, unsigned long long old1, unsigned long long active1, unsigned long long old2, unsigned long long active2); + + int jjMoveStringLiteralDfa3_0(unsigned long long old0, unsigned long long active0, unsigned long long old1, unsigned long long active1, unsigned long long old2, unsigned long long active2); + + int jjMoveStringLiteralDfa4_0(unsigned long long old0, unsigned long long active0, unsigned long long old1, unsigned long long active1); + + int jjMoveStringLiteralDfa5_0(unsigned long long old0, unsigned long long active0, unsigned long long old1, unsigned long long active1); + + int jjMoveStringLiteralDfa6_0(unsigned long long old0, unsigned long long active0, unsigned long long old1, unsigned long long active1); + + int jjMoveStringLiteralDfa7_0(unsigned long long old0, unsigned long long active0, unsigned long long old1, unsigned long long active1); + + int jjMoveStringLiteralDfa8_0(unsigned long long old0, unsigned long long active0, unsigned long long old1, unsigned long long active1); + + int jjMoveStringLiteralDfa9_0(unsigned long long old0, unsigned long long active0, unsigned long long old1, unsigned long long active1); + + int jjMoveStringLiteralDfa10_0(unsigned long long old0, unsigned long long active0, unsigned long long old1, unsigned long long active1); + + int jjMoveStringLiteralDfa11_0(unsigned long long old0, unsigned long long active0, unsigned long long old1, unsigned long long active1); + + int jjMoveStringLiteralDfa12_0(unsigned long long old0, unsigned long long active0, unsigned long long old1, unsigned long long active1); + + int jjMoveStringLiteralDfa13_0(unsigned long long old0, unsigned long long active0, unsigned long long old1, unsigned long long active1); + + int jjMoveStringLiteralDfa14_0(unsigned long long old0, unsigned long long active0, unsigned long long old1, unsigned long long active1); + + int jjMoveStringLiteralDfa15_0(unsigned long long old0, unsigned long long active0, unsigned long long old1, unsigned long long active1); + + int jjMoveStringLiteralDfa16_0(unsigned long long old0, unsigned long long active0, unsigned long long old1, unsigned long long active1); + + int jjMoveStringLiteralDfa17_0(unsigned long long old1, unsigned long long active1); + +int jjMoveNfa_0(int startState, int curPos); + +bool jjCanMove_0(int hiByte, int i1, int i2, unsigned long long l1, unsigned long long l2); + +bool jjCanMove_1(int hiByte, int i1, int i2, unsigned long long l1, unsigned long long l2); + +Token * jjFillToken(); + +public: int curLexState; +public: int jjnewStateCnt; +public: int jjround; +public: int jjmatchedPos; +public: int jjmatchedKind; + + +Token * getNextToken(); + +void SkipLexicalActions(Token *matchedToken); + +void MoreLexicalActions(); + +void TokenLexicalActions(Token *matchedToken); +#define jjCheckNAdd(state)\ +{\ + if (jjrounds[state] != jjround)\ + {\ + jjstateSet[jjnewStateCnt++] = state;\ + jjrounds[state] = jjround;\ + }\ +} +#define jjAddStates(start, end)\ +{\ + for (int x = start; x <= end; x++) {\ + jjstateSet[jjnewStateCnt++] = jjnextStates[x];\ + } /*while (start++ != end);*/\ +} +#define jjCheckNAddTwoStates(state1, state2)\ +{\ + jjCheckNAdd(state1);\ + jjCheckNAdd(state2);\ +} + +#define jjCheckNAddStates(start, end)\ +{\ + for (int x = start; x <= end; x++) {\ + jjCheckNAdd(jjnextStates[x]);\ + } /*while (start++ != end);*/\ +} + +#ifndef JAVACC_CHARSTREAM +#define JAVACC_CHARSTREAM CharStream +#endif + private: VhdlParser*parser; + private: void ReInitRounds(); + public: VhdlParserTokenManager(JAVACC_CHARSTREAM *stream, int lexState = 0, VhdlParser *parserArg = NULL); + public: virtual ~VhdlParserTokenManager(); + void ReInit(JAVACC_CHARSTREAM *stream, int lexState = 0, VhdlParser *parserArg = NULL); + void SwitchTo(int lexState); + const JAVACC_SIMPLE_STRING jjKindsForBitVector(int i, unsigned long long vec); + const JAVACC_SIMPLE_STRING jjKindsForStateVector(int lexState, int vec[], int start, int end); + JAVACC_CHARSTREAM *input_stream; + int jjrounds[65]; + int jjstateSet[2 * 65]; + JAVACC_STRING_TYPE jjimage; + JAVACC_STRING_TYPE image; + int jjimageLen; + int lengthOfMatch; + JAVACC_CHAR_TYPE curChar; +}; +} +} +#endif |