Merge branch 'master' into qtquick2
[profile/ivi/qtdeclarative.git] / src / declarative / qml / parser / qdeclarativejsgrammar_p.h
1 /****************************************************************************
2 **
3 ** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
4 ** All rights reserved.
5 ** Contact: Nokia Corporation (qt-info@nokia.com)
6 **
7 ** This file is part of the QtCore module of the Qt Toolkit.
8 **
9 ** $QT_BEGIN_LICENSE:LGPL$
10 ** No Commercial Usage
11 ** This file contains pre-release code and may not be distributed.
12 ** You may use this file in accordance with the terms and conditions
13 ** contained in the Technology Preview License Agreement accompanying
14 ** this package.
15 **
16 ** GNU Lesser General Public License Usage
17 ** Alternatively, this file may be used under the terms of the GNU Lesser
18 ** General Public License version 2.1 as published by the Free Software
19 ** Foundation and appearing in the file LICENSE.LGPL included in the
20 ** packaging of this file.  Please review the following information to
21 ** ensure the GNU Lesser General Public License version 2.1 requirements
22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
23 **
24 ** In addition, as a special exception, Nokia gives you certain additional
25 ** rights.  These rights are described in the Nokia Qt LGPL Exception
26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
27 **
28 ** If you have questions regarding the use of this file, please contact
29 ** Nokia at qt-info@nokia.com.
30 **
31 **
32 **
33 **
34 **
35 **
36 **
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 = 640,
168     RULE_COUNT = 345,
169     STATE_COUNT = 641,
170     TERMINAL_COUNT = 101,
171     NON_TERMINAL_COUNT = 107,
172
173     GOTO_INDEX_OFFSET = 641,
174     GOTO_INFO_OFFSET = 2787,
175     GOTO_CHECK_OFFSET = 2787
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
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
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