File indexing completed on 2024-04-28 03:40:42

0001 // This file was generated by qlalr - DO NOT EDIT!
0002 #ifndef EXPRESSIONTABLE_P_H
0003 #define EXPRESSIONTABLE_P_H
0004 
0005 class ExpressionTable
0006 {
0007 public:
0008   enum VariousConstants {
0009     EOF_SYMBOL = 0,
0010     otherwise_prec = 31,
0011     tAdd = 1,
0012     tAssig = 4,
0013     tAt = 28,
0014     tColon = 27,
0015     tComa = 12,
0016     tComment = 29,
0017     tDiv = 6,
0018     tEq = 21,
0019     tGeq = 25,
0020     tGt = 23,
0021     tId = 9,
0022     tLambda = 10,
0023     tLcb = 15,
0024     tLeq = 24,
0025     tLimits = 5,
0026     tLpr = 13,
0027     tLsp = 17,
0028     tLt = 22,
0029     tMul = 3,
0030     tNeq = 26,
0031     tPipe = 19,
0032     tPow = 7,
0033     tQm = 11,
0034     tRcb = 16,
0035     tRpr = 14,
0036     tRsp = 18,
0037     tString = 30,
0038     tSub = 2,
0039     tUniPow = 8,
0040     tVal = 20,
0041     uminus_prec = 32,
0042 
0043     ACCEPT_STATE = 106,
0044     RULE_COUNT = 60,
0045     STATE_COUNT = 109,
0046     TERMINAL_COUNT = 33,
0047     NON_TERMINAL_COUNT = 23,
0048 
0049     GOTO_INDEX_OFFSET = 109,
0050     GOTO_INFO_OFFSET = 400,
0051     GOTO_CHECK_OFFSET = 400
0052   };
0053 
0054   static const char  *const    spell [];
0055   static const short             lhs [];
0056   static const short             rhs [];
0057 
0058 #ifndef QLALR_NO_EXPRESSIONTABLE_DEBUG_INFO
0059   static const int     rule_index [];
0060   static const int      rule_info [];
0061 #endif // QLALR_NO_EXPRESSIONTABLE_DEBUG_INFO
0062 
0063   static const short    goto_default [];
0064   static const short  action_default [];
0065   static const short    action_index [];
0066   static const short     action_info [];
0067   static const short    action_check [];
0068 
0069   static inline int nt_action (int state, int nt)
0070   {
0071     const int yyn = action_index [GOTO_INDEX_OFFSET + state] + nt;
0072     if (yyn < 0 || action_check [GOTO_CHECK_OFFSET + yyn] != nt)
0073       return goto_default [nt];
0074 
0075     return action_info [GOTO_INFO_OFFSET + yyn];
0076   }
0077 
0078   static inline int t_action (int state, int token)
0079   {
0080     const int yyn = action_index [state] + token;
0081 
0082     if (yyn < 0 || action_check [yyn] != token)
0083       return - action_default [state];
0084 
0085     return action_info [yyn];
0086   }
0087 };
0088 
0089 
0090 #endif // EXPRESSIONTABLE_P_H
0091