|
Packit |
1c1d7e |
#ifndef VHDLPARSERTOKENMANAGER_H
|
|
Packit |
1c1d7e |
#define VHDLPARSERTOKENMANAGER_H
|
|
Packit |
1c1d7e |
#include "JavaCC.h"
|
|
Packit |
1c1d7e |
#include "CharStream.h"
|
|
Packit |
1c1d7e |
#include "Token.h"
|
|
Packit |
1c1d7e |
#include "ErrorHandler.h"
|
|
Packit |
1c1d7e |
#include "TokenManager.h"
|
|
Packit |
1c1d7e |
#include "VhdlParserConstants.h"
|
|
Packit |
1c1d7e |
#include "VhdlParser.h"
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
namespace vhdl {
|
|
Packit |
1c1d7e |
namespace parser {
|
|
Packit |
1c1d7e |
class VhdlParser;
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
/** Token Manager. */
|
|
Packit |
1c1d7e |
class VhdlParserTokenManager : public TokenManager {
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
/** Debug output. */
|
|
Packit |
1c1d7e |
FILE *debugStream;
|
|
Packit |
1c1d7e |
/** Set debug output. */
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void setDebugStream(FILE *ds);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int jjStopAtPos(int pos, int kind);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int jjMoveStringLiteralDfa0_0();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int jjMoveStringLiteralDfa1_0(unsigned long long active0, unsigned long long active1, unsigned long long active2);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
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);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
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);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int jjMoveStringLiteralDfa4_0(unsigned long long old0, unsigned long long active0, unsigned long long old1, unsigned long long active1);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int jjMoveStringLiteralDfa5_0(unsigned long long old0, unsigned long long active0, unsigned long long old1, unsigned long long active1);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int jjMoveStringLiteralDfa6_0(unsigned long long old0, unsigned long long active0, unsigned long long old1, unsigned long long active1);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int jjMoveStringLiteralDfa7_0(unsigned long long old0, unsigned long long active0, unsigned long long old1, unsigned long long active1);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int jjMoveStringLiteralDfa8_0(unsigned long long old0, unsigned long long active0, unsigned long long old1, unsigned long long active1);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int jjMoveStringLiteralDfa9_0(unsigned long long old0, unsigned long long active0, unsigned long long old1, unsigned long long active1);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int jjMoveStringLiteralDfa10_0(unsigned long long old0, unsigned long long active0, unsigned long long old1, unsigned long long active1);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int jjMoveStringLiteralDfa11_0(unsigned long long old0, unsigned long long active0, unsigned long long old1, unsigned long long active1);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int jjMoveStringLiteralDfa12_0(unsigned long long old0, unsigned long long active0, unsigned long long old1, unsigned long long active1);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int jjMoveStringLiteralDfa13_0(unsigned long long old0, unsigned long long active0, unsigned long long old1, unsigned long long active1);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int jjMoveStringLiteralDfa14_0(unsigned long long old0, unsigned long long active0, unsigned long long old1, unsigned long long active1);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int jjMoveStringLiteralDfa15_0(unsigned long long old0, unsigned long long active0, unsigned long long old1, unsigned long long active1);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int jjMoveStringLiteralDfa16_0(unsigned long long old0, unsigned long long active0, unsigned long long old1, unsigned long long active1);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int jjMoveStringLiteralDfa17_0(unsigned long long old1, unsigned long long active1);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int jjMoveNfa_0(int startState, int curPos);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
bool jjCanMove_0(int hiByte, int i1, int i2, unsigned long long l1, unsigned long long l2);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
bool jjCanMove_1(int hiByte, int i1, int i2, unsigned long long l1, unsigned long long l2);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
Token * jjFillToken();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
public: int curLexState;
|
|
Packit |
1c1d7e |
public: int jjnewStateCnt;
|
|
Packit |
1c1d7e |
public: int jjround;
|
|
Packit |
1c1d7e |
public: int jjmatchedPos;
|
|
Packit |
1c1d7e |
public: int jjmatchedKind;
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
Token * getNextToken();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void SkipLexicalActions(Token *matchedToken);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void TokenLexicalActions(Token *matchedToken);
|
|
Packit |
1c1d7e |
#define jjCheckNAdd(state)\
|
|
Packit |
1c1d7e |
{\
|
|
Packit |
1c1d7e |
if (jjrounds[state] != jjround)\
|
|
Packit |
1c1d7e |
{\
|
|
Packit |
1c1d7e |
jjstateSet[jjnewStateCnt++] = state;\
|
|
Packit |
1c1d7e |
jjrounds[state] = jjround;\
|
|
Packit |
1c1d7e |
}\
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
#define jjAddStates(start, end)\
|
|
Packit |
1c1d7e |
{\
|
|
Packit |
1c1d7e |
for (int x = start; x <= end; x++) {\
|
|
Packit |
1c1d7e |
jjstateSet[jjnewStateCnt++] = jjnextStates[x];\
|
|
Packit |
1c1d7e |
} /*while (start++ != end);*/\
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
#define jjCheckNAddTwoStates(state1, state2)\
|
|
Packit |
1c1d7e |
{\
|
|
Packit |
1c1d7e |
jjCheckNAdd(state1);\
|
|
Packit |
1c1d7e |
jjCheckNAdd(state2);\
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#define jjCheckNAddStates(start, end)\
|
|
Packit |
1c1d7e |
{\
|
|
Packit |
1c1d7e |
for (int x = start; x <= end; x++) {\
|
|
Packit |
1c1d7e |
jjCheckNAdd(jjnextStates[x]);\
|
|
Packit |
1c1d7e |
} /*while (start++ != end);*/\
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#ifndef JAVACC_CHARSTREAM
|
|
Packit |
1c1d7e |
#define JAVACC_CHARSTREAM CharStream
|
|
Packit |
1c1d7e |
#endif
|
|
Packit |
1c1d7e |
private: VhdlParser*parser;
|
|
Packit |
1c1d7e |
private: void ReInitRounds();
|
|
Packit |
1c1d7e |
public: VhdlParserTokenManager(JAVACC_CHARSTREAM *stream, int lexState = 0, VhdlParser *parserArg = NULL);
|
|
Packit |
1c1d7e |
public: virtual ~VhdlParserTokenManager();
|
|
Packit |
1c1d7e |
void ReInit(JAVACC_CHARSTREAM *stream, int lexState = 0, VhdlParser *parserArg = NULL);
|
|
Packit |
1c1d7e |
void SwitchTo(int lexState);
|
|
Packit |
1c1d7e |
const JAVACC_SIMPLE_STRING jjKindsForBitVector(int i, unsigned long long vec);
|
|
Packit |
1c1d7e |
const JAVACC_SIMPLE_STRING jjKindsForStateVector(int lexState, int vec[], int start, int end);
|
|
Packit |
1c1d7e |
JAVACC_CHARSTREAM *input_stream;
|
|
Packit |
1c1d7e |
int jjrounds[77];
|
|
Packit |
1c1d7e |
int jjstateSet[2 * 77];
|
|
Packit |
1c1d7e |
JAVACC_STRING_TYPE jjimage;
|
|
Packit |
1c1d7e |
JAVACC_STRING_TYPE image;
|
|
Packit |
1c1d7e |
int jjimageLen;
|
|
Packit |
1c1d7e |
int lengthOfMatch;
|
|
Packit |
1c1d7e |
JAVACC_CHAR_TYPE curChar;
|
|
Packit |
1c1d7e |
TokenManagerErrorHandler *errorHandler;
|
|
Packit |
1c1d7e |
bool errorHandlerCreated;
|
|
Packit |
1c1d7e |
public: void setErrorHandler(TokenManagerErrorHandler *eh) {
|
|
Packit |
1c1d7e |
if (errorHandlerCreated && errorHandler != NULL) delete errorHandler;
|
|
Packit |
1c1d7e |
errorHandler = eh;
|
|
Packit |
1c1d7e |
errorHandlerCreated = false;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
#endif
|