mirror of
https://github.com/HyperDbg/HyperDbg.git
synced 2026-08-23 15:34:35 +00:00
48 lines
1.7 KiB
C
48 lines
1.7 KiB
C
#ifndef PARSE_TABLE_H
|
|
#define PARSE_TABLE_H
|
|
#include "common.h"
|
|
#include "ScriptEngineCommonDefinitions.h"
|
|
#define RULES_COUNT 75
|
|
#define TERMINAL_COUNT 46
|
|
#define NONETERMINAL_COUNT 34
|
|
#define START_VARIABLE "S"
|
|
#define MAX_RHS_LEN 8
|
|
#define KEYWORD_LIST_LENGTH 18
|
|
#define OPERATORS_LIST_LENGTH 10
|
|
#define REGISTER_MAP_LIST_LENGTH 16
|
|
#define PSEUDO_REGISTER_MAP_LIST_LENGTH 9
|
|
#define SEMANTIC_RULES_MAP_LIST_LENGTH 29
|
|
#define ONEOPFUNC1_LENGTH 12
|
|
#define ONEOPFUNC2_LENGTH 4
|
|
#define ZEROOPFUNC1_LENGTH 1
|
|
#define VARARGFUNC1_LENGTH 1
|
|
extern const struct _TOKEN Lhs[RULES_COUNT];
|
|
extern const struct _TOKEN Rhs[RULES_COUNT][MAX_RHS_LEN];
|
|
extern const unsigned int RhsSize[RULES_COUNT];
|
|
extern const char* NoneTerminalMap[NONETERMINAL_COUNT];
|
|
extern const char* TerminalMap[TERMINAL_COUNT];
|
|
extern const int ParseTable[NONETERMINAL_COUNT][TERMINAL_COUNT];
|
|
extern const char* KeywordList[];
|
|
extern const char* OperatorsList[];
|
|
extern const char* OneOpFunc1[];
|
|
extern const char* OneOpFunc2[];
|
|
extern const char* ZeroOpFunc1[];
|
|
extern const char* VarArgFunc1[];
|
|
extern const SYMBOL_MAP SemanticRulesMapList[];
|
|
extern const SYMBOL_MAP RegisterMapList[];
|
|
extern const SYMBOL_MAP PseudoRegisterMapList[];
|
|
|
|
|
|
#define LALR_RULES_COUNT 22
|
|
#define LALR_TERMINAL_COUNT 10
|
|
#define LALR_NONTERMINAL_COUNT 14
|
|
#define LALR_MAX_RHS_LEN 3
|
|
#define LALR_STATE_COUNT 41
|
|
extern const struct _TOKEN LalrLhs[RULES_COUNT];
|
|
extern const struct _TOKEN LalrRhs[RULES_COUNT][MAX_RHS_LEN];
|
|
extern const unsigned int LalrRhsSize[RULES_COUNT];
|
|
extern const char* LalrNoneTerminalMap[NONETERMINAL_COUNT];
|
|
extern const char* LalrTerminalMap[TERMINAL_COUNT];
|
|
extern const int LalrGotoTable[LALR_STATE_COUNT][LALR_NONTERMINAL_COUNT];
|
|
extern const int LalrActionTable[LALR_STATE_COUNT][LALR_NONTERMINAL_COUNT];
|
|
#endif
|