1 /****************************************************************************
2 **
3 ** Copyright (C) 2015 The Qt Company Ltd.
4 ** Contact: http://www.qt.io/licensing/
5 **
6 ** This file is part of the QtCore module of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:LGPL$
9 ** Commercial License Usage
10 ** Licensees holding valid commercial Qt licenses may use this file in
11 ** accordance with the commercial license agreement provided with the
12 ** Software or, alternatively, in accordance with the terms contained in
13 ** a written agreement between you and The Qt Company. For licensing terms
14 ** and conditions see http://www.qt.io/terms-conditions. For further
15 ** information use the contact form at http://www.qt.io/contact-us.
16 **
17 ** GNU Lesser General Public License Usage
18 ** Alternatively, this file may be used under the terms of the GNU Lesser
19 ** General Public License version 2.1 or version 3 as published by the Free
20 ** Software Foundation and appearing in the file LICENSE.LGPLv21 and
21 ** LICENSE.LGPLv3 included in the packaging of this file. Please review the
22 ** following information to ensure the GNU Lesser General Public License
23 ** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
24 ** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
25 **
26 ** As a special exception, The Qt Company gives you certain additional
27 ** rights. These rights are described in The Qt Company LGPL Exception
28 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
29 **
30 ** GNU General Public License Usage
31 ** Alternatively, this file may be used under the terms of the GNU
32 ** General Public License version 3.0 as published by the Free Software
33 ** Foundation and appearing in the file LICENSE.GPL included in the
34 ** packaging of this file.  Please review the following information to
35 ** ensure the GNU General Public License version 3.0 requirements will be
36 ** met: http://www.gnu.org/copyleft/gpl.html.
37 **
38 ** $QT_END_LICENSE$
39 **
40 ****************************************************************************/
41 
42 //
43 //  W A R N I N G
44 //  -------------
45 //
46 // This file is not part of the Qt API.  It exists for the convenience
47 // of other Qt classes.  This header file may change from version to
48 // version without notice, or even be removed.
49 //
50 // We mean it.
51 //
52 
53 // This file was generated by qlalr - DO NOT EDIT!
54 #ifndef QDECLARATIVEJSGRAMMAR_P_H
55 #define QDECLARATIVEJSGRAMMAR_P_H
56 
57 #include <QtCore/qglobal.h>
58 
59 QT_BEGIN_NAMESPACE
60 
61 class QDeclarativeJSGrammar
62 {
63 public:
64   enum VariousConstants {
65     EOF_SYMBOL = 0,
66     REDUCE_HERE = 100,
67     SHIFT_THERE = 99,
68     T_AND = 1,
69     T_AND_AND = 2,
70     T_AND_EQ = 3,
71     T_AS = 91,
72     T_AUTOMATIC_SEMICOLON = 62,
73     T_BREAK = 4,
74     T_CASE = 5,
75     T_CATCH = 6,
76     T_COLON = 7,
77     T_COMMA = 8,
78     T_COMMENT = 88,
79     T_CONST = 84,
80     T_CONTINUE = 9,
81     T_DEBUGGER = 85,
82     T_DEFAULT = 10,
83     T_DELETE = 11,
84     T_DIVIDE_ = 12,
85     T_DIVIDE_EQ = 13,
86     T_DO = 14,
87     T_DOT = 15,
88     T_ELSE = 16,
89     T_EQ = 17,
90     T_EQ_EQ = 18,
91     T_EQ_EQ_EQ = 19,
92     T_FALSE = 83,
93     T_FEED_JS_EXPRESSION = 96,
94     T_FEED_JS_PROGRAM = 98,
95     T_FEED_JS_SOURCE_ELEMENT = 97,
96     T_FEED_JS_STATEMENT = 95,
97     T_FEED_UI_OBJECT_MEMBER = 94,
98     T_FEED_UI_PROGRAM = 93,
99     T_FINALLY = 20,
100     T_FOR = 21,
101     T_FUNCTION = 22,
102     T_GE = 23,
103     T_GT = 24,
104     T_GT_GT = 25,
105     T_GT_GT_EQ = 26,
106     T_GT_GT_GT = 27,
107     T_GT_GT_GT_EQ = 28,
108     T_IDENTIFIER = 29,
109     T_IF = 30,
110     T_IMPORT = 90,
111     T_IN = 31,
112     T_INSTANCEOF = 32,
113     T_LBRACE = 33,
114     T_LBRACKET = 34,
115     T_LE = 35,
116     T_LPAREN = 36,
117     T_LT = 37,
118     T_LT_LT = 38,
119     T_LT_LT_EQ = 39,
120     T_MINUS = 40,
121     T_MINUS_EQ = 41,
122     T_MINUS_MINUS = 42,
123     T_MULTILINE_STRING_LITERAL = 87,
124     T_NEW = 43,
125     T_NOT = 44,
126     T_NOT_EQ = 45,
127     T_NOT_EQ_EQ = 46,
128     T_NULL = 81,
129     T_NUMERIC_LITERAL = 47,
130     T_ON = 92,
131     T_OR = 48,
132     T_OR_EQ = 49,
133     T_OR_OR = 50,
134     T_PLUS = 51,
135     T_PLUS_EQ = 52,
136     T_PLUS_PLUS = 53,
137     T_PROPERTY = 66,
138     T_PUBLIC = 89,
139     T_QUESTION = 54,
140     T_RBRACE = 55,
141     T_RBRACKET = 56,
142     T_READONLY = 68,
143     T_REMAINDER = 57,
144     T_REMAINDER_EQ = 58,
145     T_RESERVED_WORD = 86,
146     T_RETURN = 59,
147     T_RPAREN = 60,
148     T_SEMICOLON = 61,
149     T_SIGNAL = 67,
150     T_STAR = 63,
151     T_STAR_EQ = 64,
152     T_STRING_LITERAL = 65,
153     T_SWITCH = 69,
154     T_THIS = 70,
155     T_THROW = 71,
156     T_TILDE = 72,
157     T_TRUE = 82,
158     T_TRY = 73,
159     T_TYPEOF = 74,
160     T_VAR = 75,
161     T_VOID = 76,
162     T_WHILE = 77,
163     T_WITH = 78,
164     T_XOR = 79,
165     T_XOR_EQ = 80,
166 
167     ACCEPT_STATE = 645,
168     RULE_COUNT = 347,
169     STATE_COUNT = 646,
170     TERMINAL_COUNT = 101,
171     NON_TERMINAL_COUNT = 106,
172 
173     GOTO_INDEX_OFFSET = 646,
174     GOTO_INFO_OFFSET = 2714,
175     GOTO_CHECK_OFFSET = 2714
176   };
177 
178   static const char  *const    spell [];
179   static const short             lhs [];
180   static const short             rhs [];
181   static const short    goto_default [];
182   static const short  action_default [];
183   static const short    action_index [];
184   static const short     action_info [];
185   static const short    action_check [];
186 
nt_action(int state,int nt)187   static inline int nt_action (int state, int nt)
188   {
189     const int yyn = action_index [GOTO_INDEX_OFFSET + state] + nt;
190     if (yyn < 0 || action_check [GOTO_CHECK_OFFSET + yyn] != nt)
191       return goto_default [nt];
192 
193     return action_info [GOTO_INFO_OFFSET + yyn];
194   }
195 
t_action(int state,int token)196   static inline int t_action (int state, int token)
197   {
198     const int yyn = action_index [state] + token;
199 
200     if (yyn < 0 || action_check [yyn] != token)
201       return - action_default [state];
202 
203     return action_info [yyn];
204   }
205 };
206 
207 
208 QT_END_NAMESPACE
209 #endif // QDECLARATIVEJSGRAMMAR_P_H
210 
211