1 /****************************************************************************
2 **
3 ** Copyright (C) 2018 The Qt Company Ltd.
4 ** Contact: https://www.qt.io/licensing/
5 **
6 ** This file is part of the QtGui 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 https://www.qt.io/terms-conditions. For further
15 ** information use the contact form at https://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 3 as published by the Free Software
20 ** Foundation and appearing in the file LICENSE.LGPL3 included in the
21 ** packaging of this file. Please review the following information to
22 ** ensure the GNU Lesser General Public License version 3 requirements
23 ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
24 **
25 ** GNU General Public License Usage
26 ** Alternatively, this file may be used under the terms of the GNU
27 ** General Public License version 2.0 or (at your option) the GNU General
28 ** Public license version 3 or any later version approved by the KDE Free
29 ** Qt Foundation. The licenses are as published by the Free Software
30 ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
31 ** included in the packaging of this file. Please review the following
32 ** information to ensure the GNU General Public License requirements will
33 ** be met: https://www.gnu.org/licenses/gpl-2.0.html and
34 ** https://www.gnu.org/licenses/gpl-3.0.html.
35 **
36 ** $QT_END_LICENSE$
37 **
38 ****************************************************************************/
39 
40 // auto generated by qtbase/util/lexgen/. DO NOT EDIT.
41 class QCssScanner_Generated
42 {
43 public:
44     QCssScanner_Generated(const QString &inp);
45 
next()46     inline QChar next() {
47         return (pos < input.length()) ? input.at(pos++) : QChar();
48     }
49     int handleCommentStart();
50     int lex();
51 
52     QString input;
53     int pos;
54     int lexemStart;
55     int lexemLength;
56 };
57 
QCssScanner_Generated(const QString & inp)58 QCssScanner_Generated::QCssScanner_Generated(const QString &inp)
59 {
60     input = inp;
61     pos = 0;
62     lexemStart = 0;
63     lexemLength = 0;
64 }
65 
66 
lex()67 int QCssScanner_Generated::lex()
68 {
69     lexemStart = pos;
70     lexemLength = 0;
71     int lastAcceptingPos = -1;
72     int token = -1;
73     QChar ch;
74 
75     // initial state
76         ch = next();
77         if (ch.unicode() >= 9 && ch.unicode() <= 10)
78             goto state_4;
79         if (ch.unicode() >= 12 && ch.unicode() <= 13)
80             goto state_4;
81         if (ch.unicode() == 32)
82             goto state_4;
83         if (ch.unicode() == 33) {
84             token = QCss::EXCLAMATION_SYM;
85             goto found;
86         }
87         if (ch.unicode() == 34)
88             goto state_2;
89         if (ch.unicode() == 35)
90             goto state_1;
91         if (ch.unicode() == 36)
92             goto state_6;
93         if (ch.unicode() == 39)
94             goto state_5;
95         if (ch.unicode() == 40) {
96             token = QCss::LPAREN;
97             goto found;
98         }
99         if (ch.unicode() == 41) {
100             token = QCss::RPAREN;
101             goto found;
102         }
103         if (ch.unicode() == 42)
104             goto state_8;
105         if (ch.unicode() == 43)
106             goto state_7;
107         if (ch.unicode() == 44)
108             goto state_14;
109         if (ch.unicode() == 45)
110             goto state_13;
111         if (ch.unicode() == 46)
112             goto state_12;
113         if (ch.unicode() == 47)
114             goto state_11;
115         if (ch.unicode() >= 48 && ch.unicode() <= 57)
116             goto state_15;
117         if (ch.unicode() == 58) {
118             token = QCss::COLON;
119             goto found;
120         }
121         if (ch.unicode() == 59) {
122             token = QCss::SEMICOLON;
123             goto found;
124         }
125         if (ch.unicode() == 60)
126             goto state_20;
127         if (ch.unicode() == 61) {
128             token = QCss::EQUAL;
129             goto found;
130         }
131         if (ch.unicode() == 62)
132             goto state_18;
133         if (ch.unicode() == 64)
134             goto state_26;
135         if (ch.unicode() == 91) {
136             token = QCss::LBRACKET;
137             goto found;
138         }
139         if (ch.unicode() == 92)
140             goto state_30;
141         if (ch.unicode() == 93) {
142             token = QCss::RBRACKET;
143             goto found;
144         }
145         if (ch.unicode() == 94)
146             goto state_28;
147         if (ch.unicode() == 95)
148             goto state_21;
149         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
150             goto state_21;
151         if (ch.unicode() == 123)
152             goto state_22;
153         if (ch.unicode() == 124)
154             goto state_25;
155         if (ch.unicode() == 125) {
156             token = QCss::RBRACE;
157             goto found;
158         }
159         if (ch.unicode() == 126)
160             goto state_23;
161         goto out;
162     state_1:
163         ch = next();
164         if (ch.unicode() == 45)
165             goto state_31;
166         if (ch.unicode() >= 48 && ch.unicode() <= 57)
167             goto state_31;
168         if (ch.unicode() == 92)
169             goto state_32;
170         if (ch.unicode() == 95)
171             goto state_31;
172         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
173             goto state_31;
174         goto out;
175     state_2:
176         lastAcceptingPos = pos;
177         token = QCss::INVALID;
178         ch = next();
179         if (ch.unicode() >= 1 && ch.unicode() <= 9)
180             goto state_33;
181         if (ch.unicode() == 11)
182             goto state_33;
183         if (ch.unicode() >= 14 && ch.unicode() <= 33)
184             goto state_33;
185         if (ch.unicode() == 34)
186             goto state_34;
187         if (ch.unicode() >= 35 && ch.unicode() <= 91)
188             goto state_33;
189         if (ch.unicode() == 92)
190             goto state_35;
191         if (ch.unicode() >= 93 && ch.unicode() <= 96)
192             goto state_33;
193         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
194             goto state_33;
195         if (ch.unicode() >= 123)
196             goto state_33;
197         goto out;
198     state_4:
199         lastAcceptingPos = pos;
200         token = QCss::S;
201         ch = next();
202         if (ch.unicode() >= 9 && ch.unicode() <= 10)
203             goto state_36;
204         if (ch.unicode() >= 12 && ch.unicode() <= 13)
205             goto state_36;
206         if (ch.unicode() == 32)
207             goto state_36;
208         if (ch.unicode() == 43)
209             goto state_7;
210         if (ch.unicode() == 44)
211             goto state_14;
212         if (ch.unicode() == 62)
213             goto state_18;
214         if (ch.unicode() == 123)
215             goto state_22;
216         if (ch.unicode() == 126)
217             goto state_37;
218         goto out;
219     state_5:
220         lastAcceptingPos = pos;
221         token = QCss::INVALID;
222         ch = next();
223         if (ch.unicode() >= 1 && ch.unicode() <= 9)
224             goto state_38;
225         if (ch.unicode() == 11)
226             goto state_38;
227         if (ch.unicode() >= 14 && ch.unicode() <= 38)
228             goto state_38;
229         if (ch.unicode() == 39)
230             goto state_39;
231         if (ch.unicode() >= 40 && ch.unicode() <= 91)
232             goto state_38;
233         if (ch.unicode() == 92)
234             goto state_40;
235         if (ch.unicode() >= 93 && ch.unicode() <= 96)
236             goto state_38;
237         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
238             goto state_38;
239         if (ch.unicode() >= 123)
240             goto state_38;
241         goto out;
242     state_6:
243         ch = next();
244         if (ch.unicode() == 61) {
245             token = QCss::ENDSWITH;
246             goto found;
247         }
248         goto out;
249     state_7:
250         lastAcceptingPos = pos;
251         token = QCss::PLUS;
252         goto out;
253     state_8:
254         lastAcceptingPos = pos;
255         token = QCss::STAR;
256         ch = next();
257         if (ch.unicode() == 61) {
258             token = QCss::CONTAINS;
259             goto found;
260         }
261         goto out;
262     state_11:
263         lastAcceptingPos = pos;
264         token = QCss::SLASH;
265         ch = next();
266         if (ch.unicode() == 42) {
267             token = handleCommentStart();
268             goto found;
269         }
270         goto out;
271     state_12:
272         lastAcceptingPos = pos;
273         token = QCss::DOT;
274         ch = next();
275         if (ch.unicode() >= 48 && ch.unicode() <= 57)
276             goto state_44;
277         goto out;
278     state_13:
279         lastAcceptingPos = pos;
280         token = QCss::MINUS;
281         ch = next();
282         if (ch.unicode() == 45)
283             goto state_45;
284         if (ch.unicode() == 92)
285             goto state_30;
286         if (ch.unicode() == 95)
287             goto state_21;
288         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
289             goto state_21;
290         goto out;
291     state_14:
292         lastAcceptingPos = pos;
293         token = QCss::COMMA;
294         goto out;
295     state_15:
296         lastAcceptingPos = pos;
297         token = QCss::NUMBER;
298         ch = next();
299         if (ch.unicode() == 37)
300             goto state_46;
301         if (ch.unicode() == 45)
302             goto state_48;
303         if (ch.unicode() == 46)
304             goto state_47;
305         if (ch.unicode() >= 48 && ch.unicode() <= 57)
306             goto state_49;
307         if (ch.unicode() == 92)
308             goto state_51;
309         if (ch.unicode() == 95)
310             goto state_50;
311         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
312             goto state_50;
313         goto out;
314     state_18:
315         lastAcceptingPos = pos;
316         token = QCss::GREATER;
317         goto out;
318     state_20:
319         ch = next();
320         if (ch.unicode() == 33)
321             goto state_52;
322         goto out;
323     state_21:
324         lastAcceptingPos = pos;
325         token = QCss::IDENT;
326         ch = next();
327         if (ch.unicode() == 40)
328             goto state_53;
329         if (ch.unicode() == 45)
330             goto state_54;
331         if (ch.unicode() >= 48 && ch.unicode() <= 57)
332             goto state_54;
333         if (ch.unicode() == 92)
334             goto state_55;
335         if (ch.unicode() == 95)
336             goto state_54;
337         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
338             goto state_54;
339         goto out;
340     state_22:
341         lastAcceptingPos = pos;
342         token = QCss::LBRACE;
343         goto out;
344     state_23:
345         lastAcceptingPos = pos;
346         token = QCss::TILDE;
347         ch = next();
348         if (ch.unicode() == 61) {
349             token = QCss::INCLUDES;
350             goto found;
351         }
352         goto out;
353     state_25:
354         lastAcceptingPos = pos;
355         token = QCss::OR;
356         ch = next();
357         if (ch.unicode() == 61) {
358             token = QCss::DASHMATCH;
359             goto found;
360         }
361         goto out;
362     state_26:
363         ch = next();
364         if (ch.unicode() == 45)
365             goto state_58;
366         if (ch.unicode() == 92)
367             goto state_60;
368         if (ch.unicode() == 95)
369             goto state_59;
370         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
371             goto state_59;
372         goto out;
373     state_28:
374         ch = next();
375         if (ch.unicode() == 61) {
376             token = QCss::BEGINSWITH;
377             goto found;
378         }
379         goto out;
380     state_30:
381         ch = next();
382         if (ch.unicode() >= 1 && ch.unicode() <= 9)
383             goto state_62;
384         if (ch.unicode() == 11)
385             goto state_62;
386         if (ch.unicode() >= 14 && ch.unicode() <= 47)
387             goto state_62;
388         if (ch.unicode() >= 58 && ch.unicode() <= 96)
389             goto state_62;
390         if (ch.unicode() >= 103)
391             goto state_62;
392         goto out;
393     state_31:
394         lastAcceptingPos = pos;
395         token = QCss::HASH;
396         ch = next();
397         if (ch.unicode() == 45)
398             goto state_63;
399         if (ch.unicode() >= 48 && ch.unicode() <= 57)
400             goto state_63;
401         if (ch.unicode() == 92)
402             goto state_64;
403         if (ch.unicode() == 95)
404             goto state_63;
405         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
406             goto state_63;
407         goto out;
408     state_32:
409         ch = next();
410         if (ch.unicode() >= 1 && ch.unicode() <= 9)
411             goto state_65;
412         if (ch.unicode() == 11)
413             goto state_65;
414         if (ch.unicode() >= 14 && ch.unicode() <= 47)
415             goto state_65;
416         if (ch.unicode() >= 58 && ch.unicode() <= 96)
417             goto state_65;
418         if (ch.unicode() >= 103)
419             goto state_65;
420         goto out;
421     state_33:
422         lastAcceptingPos = pos;
423         token = QCss::INVALID;
424         ch = next();
425         if (ch.unicode() >= 1 && ch.unicode() <= 9)
426             goto state_33;
427         if (ch.unicode() == 11)
428             goto state_33;
429         if (ch.unicode() >= 14 && ch.unicode() <= 33)
430             goto state_33;
431         if (ch.unicode() == 34)
432             goto state_34;
433         if (ch.unicode() >= 35 && ch.unicode() <= 91)
434             goto state_33;
435         if (ch.unicode() == 92)
436             goto state_35;
437         if (ch.unicode() >= 93 && ch.unicode() <= 96)
438             goto state_33;
439         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
440             goto state_33;
441         if (ch.unicode() >= 123)
442             goto state_33;
443         goto out;
444     state_34:
445         lastAcceptingPos = pos;
446         token = QCss::STRING;
447         goto out;
448     state_35:
449         ch = next();
450         if (ch.unicode() >= 1 && ch.unicode() <= 9)
451             goto state_66;
452         if (ch.unicode() == 10)
453             goto state_67;
454         if (ch.unicode() == 11)
455             goto state_66;
456         if (ch.unicode() == 12)
457             goto state_69;
458         if (ch.unicode() == 13)
459             goto state_68;
460         if (ch.unicode() >= 14 && ch.unicode() <= 47)
461             goto state_66;
462         if (ch.unicode() >= 58 && ch.unicode() <= 96)
463             goto state_66;
464         if (ch.unicode() >= 103)
465             goto state_66;
466         goto out;
467     state_36:
468         lastAcceptingPos = pos;
469         token = QCss::S;
470         ch = next();
471         if (ch.unicode() >= 9 && ch.unicode() <= 10)
472             goto state_36;
473         if (ch.unicode() >= 12 && ch.unicode() <= 13)
474             goto state_36;
475         if (ch.unicode() == 32)
476             goto state_36;
477         if (ch.unicode() == 43)
478             goto state_7;
479         if (ch.unicode() == 44)
480             goto state_14;
481         if (ch.unicode() == 62)
482             goto state_18;
483         if (ch.unicode() == 123)
484             goto state_22;
485         if (ch.unicode() == 126)
486             goto state_37;
487         goto out;
488     state_37:
489         lastAcceptingPos = pos;
490         token = QCss::TILDE;
491         goto out;
492     state_38:
493         lastAcceptingPos = pos;
494         token = QCss::INVALID;
495         ch = next();
496         if (ch.unicode() >= 1 && ch.unicode() <= 9)
497             goto state_38;
498         if (ch.unicode() == 11)
499             goto state_38;
500         if (ch.unicode() >= 14 && ch.unicode() <= 38)
501             goto state_38;
502         if (ch.unicode() == 39)
503             goto state_39;
504         if (ch.unicode() >= 40 && ch.unicode() <= 91)
505             goto state_38;
506         if (ch.unicode() == 92)
507             goto state_40;
508         if (ch.unicode() >= 93 && ch.unicode() <= 96)
509             goto state_38;
510         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
511             goto state_38;
512         if (ch.unicode() >= 123)
513             goto state_38;
514         goto out;
515     state_39:
516         lastAcceptingPos = pos;
517         token = QCss::STRING;
518         goto out;
519     state_40:
520         ch = next();
521         if (ch.unicode() >= 1 && ch.unicode() <= 9)
522             goto state_70;
523         if (ch.unicode() == 10)
524             goto state_71;
525         if (ch.unicode() == 11)
526             goto state_70;
527         if (ch.unicode() == 12)
528             goto state_73;
529         if (ch.unicode() == 13)
530             goto state_72;
531         if (ch.unicode() >= 14 && ch.unicode() <= 47)
532             goto state_70;
533         if (ch.unicode() >= 58 && ch.unicode() <= 96)
534             goto state_70;
535         if (ch.unicode() >= 103)
536             goto state_70;
537         goto out;
538     state_44:
539         lastAcceptingPos = pos;
540         token = QCss::NUMBER;
541         ch = next();
542         if (ch.unicode() == 37)
543             goto state_46;
544         if (ch.unicode() == 45)
545             goto state_48;
546         if (ch.unicode() >= 48 && ch.unicode() <= 57)
547             goto state_74;
548         if (ch.unicode() == 92)
549             goto state_51;
550         if (ch.unicode() == 95)
551             goto state_50;
552         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
553             goto state_50;
554         goto out;
555     state_45:
556         ch = next();
557         if (ch.unicode() == 62) {
558             token = QCss::CDC;
559             goto found;
560         }
561         goto out;
562     state_46:
563         lastAcceptingPos = pos;
564         token = QCss::PERCENTAGE;
565         goto out;
566     state_47:
567         ch = next();
568         if (ch.unicode() >= 48 && ch.unicode() <= 57)
569             goto state_44;
570         goto out;
571     state_48:
572         ch = next();
573         if (ch.unicode() == 92)
574             goto state_51;
575         if (ch.unicode() == 95)
576             goto state_50;
577         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
578             goto state_50;
579         goto out;
580     state_49:
581         lastAcceptingPos = pos;
582         token = QCss::NUMBER;
583         ch = next();
584         if (ch.unicode() == 37)
585             goto state_46;
586         if (ch.unicode() == 45)
587             goto state_48;
588         if (ch.unicode() == 46)
589             goto state_47;
590         if (ch.unicode() >= 48 && ch.unicode() <= 57)
591             goto state_49;
592         if (ch.unicode() == 92)
593             goto state_51;
594         if (ch.unicode() == 95)
595             goto state_50;
596         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
597             goto state_50;
598         goto out;
599     state_50:
600         lastAcceptingPos = pos;
601         token = QCss::LENGTH;
602         ch = next();
603         if (ch.unicode() == 45)
604             goto state_76;
605         if (ch.unicode() >= 48 && ch.unicode() <= 57)
606             goto state_76;
607         if (ch.unicode() == 92)
608             goto state_77;
609         if (ch.unicode() == 95)
610             goto state_76;
611         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
612             goto state_76;
613         goto out;
614     state_51:
615         ch = next();
616         if (ch.unicode() >= 1 && ch.unicode() <= 9)
617             goto state_78;
618         if (ch.unicode() == 11)
619             goto state_78;
620         if (ch.unicode() >= 14 && ch.unicode() <= 47)
621             goto state_78;
622         if (ch.unicode() >= 58 && ch.unicode() <= 96)
623             goto state_78;
624         if (ch.unicode() >= 103)
625             goto state_78;
626         goto out;
627     state_52:
628         ch = next();
629         if (ch.unicode() == 45)
630             goto state_79;
631         goto out;
632     state_53:
633         lastAcceptingPos = pos;
634         token = QCss::FUNCTION;
635         goto out;
636     state_54:
637         lastAcceptingPos = pos;
638         token = QCss::IDENT;
639         ch = next();
640         if (ch.unicode() == 40)
641             goto state_53;
642         if (ch.unicode() == 45)
643             goto state_54;
644         if (ch.unicode() >= 48 && ch.unicode() <= 57)
645             goto state_54;
646         if (ch.unicode() == 92)
647             goto state_55;
648         if (ch.unicode() == 95)
649             goto state_54;
650         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
651             goto state_54;
652         goto out;
653     state_55:
654         ch = next();
655         if (ch.unicode() >= 1 && ch.unicode() <= 9)
656             goto state_80;
657         if (ch.unicode() == 11)
658             goto state_80;
659         if (ch.unicode() >= 14 && ch.unicode() <= 47)
660             goto state_80;
661         if (ch.unicode() >= 58 && ch.unicode() <= 96)
662             goto state_80;
663         if (ch.unicode() >= 103)
664             goto state_80;
665         goto out;
666     state_58:
667         ch = next();
668         if (ch.unicode() == 92)
669             goto state_60;
670         if (ch.unicode() == 95)
671             goto state_59;
672         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
673             goto state_59;
674         goto out;
675     state_59:
676         lastAcceptingPos = pos;
677         token = QCss::ATKEYWORD_SYM;
678         ch = next();
679         if (ch.unicode() == 45)
680             goto state_81;
681         if (ch.unicode() >= 48 && ch.unicode() <= 57)
682             goto state_81;
683         if (ch.unicode() == 92)
684             goto state_82;
685         if (ch.unicode() == 95)
686             goto state_81;
687         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
688             goto state_81;
689         goto out;
690     state_60:
691         ch = next();
692         if (ch.unicode() >= 1 && ch.unicode() <= 9)
693             goto state_83;
694         if (ch.unicode() == 11)
695             goto state_83;
696         if (ch.unicode() >= 14 && ch.unicode() <= 47)
697             goto state_83;
698         if (ch.unicode() >= 58 && ch.unicode() <= 96)
699             goto state_83;
700         if (ch.unicode() >= 103)
701             goto state_83;
702         goto out;
703     state_62:
704         lastAcceptingPos = pos;
705         token = QCss::IDENT;
706         ch = next();
707         if (ch.unicode() == 40)
708             goto state_53;
709         if (ch.unicode() == 45)
710             goto state_54;
711         if (ch.unicode() >= 48 && ch.unicode() <= 57)
712             goto state_54;
713         if (ch.unicode() == 92)
714             goto state_55;
715         if (ch.unicode() == 95)
716             goto state_54;
717         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
718             goto state_54;
719         goto out;
720     state_63:
721         lastAcceptingPos = pos;
722         token = QCss::HASH;
723         ch = next();
724         if (ch.unicode() == 45)
725             goto state_63;
726         if (ch.unicode() >= 48 && ch.unicode() <= 57)
727             goto state_63;
728         if (ch.unicode() == 92)
729             goto state_64;
730         if (ch.unicode() == 95)
731             goto state_63;
732         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
733             goto state_63;
734         goto out;
735     state_64:
736         ch = next();
737         if (ch.unicode() >= 1 && ch.unicode() <= 9)
738             goto state_84;
739         if (ch.unicode() == 11)
740             goto state_84;
741         if (ch.unicode() >= 14 && ch.unicode() <= 47)
742             goto state_84;
743         if (ch.unicode() >= 58 && ch.unicode() <= 96)
744             goto state_84;
745         if (ch.unicode() >= 103)
746             goto state_84;
747         goto out;
748     state_65:
749         lastAcceptingPos = pos;
750         token = QCss::HASH;
751         ch = next();
752         if (ch.unicode() == 45)
753             goto state_63;
754         if (ch.unicode() >= 48 && ch.unicode() <= 57)
755             goto state_63;
756         if (ch.unicode() == 92)
757             goto state_64;
758         if (ch.unicode() == 95)
759             goto state_63;
760         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
761             goto state_63;
762         goto out;
763     state_66:
764         lastAcceptingPos = pos;
765         token = QCss::INVALID;
766         ch = next();
767         if (ch.unicode() >= 1 && ch.unicode() <= 9)
768             goto state_33;
769         if (ch.unicode() == 11)
770             goto state_33;
771         if (ch.unicode() >= 14 && ch.unicode() <= 33)
772             goto state_33;
773         if (ch.unicode() == 34)
774             goto state_34;
775         if (ch.unicode() >= 35 && ch.unicode() <= 91)
776             goto state_33;
777         if (ch.unicode() == 92)
778             goto state_35;
779         if (ch.unicode() >= 93 && ch.unicode() <= 96)
780             goto state_33;
781         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
782             goto state_33;
783         if (ch.unicode() >= 123)
784             goto state_33;
785         goto out;
786     state_67:
787         lastAcceptingPos = pos;
788         token = QCss::INVALID;
789         ch = next();
790         if (ch.unicode() >= 1 && ch.unicode() <= 9)
791             goto state_33;
792         if (ch.unicode() == 11)
793             goto state_33;
794         if (ch.unicode() >= 14 && ch.unicode() <= 33)
795             goto state_33;
796         if (ch.unicode() == 34)
797             goto state_34;
798         if (ch.unicode() >= 35 && ch.unicode() <= 91)
799             goto state_33;
800         if (ch.unicode() == 92)
801             goto state_35;
802         if (ch.unicode() >= 93 && ch.unicode() <= 96)
803             goto state_33;
804         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
805             goto state_33;
806         if (ch.unicode() >= 123)
807             goto state_33;
808         goto out;
809     state_68:
810         lastAcceptingPos = pos;
811         token = QCss::INVALID;
812         ch = next();
813         if (ch.unicode() >= 1 && ch.unicode() <= 9)
814             goto state_33;
815         if (ch.unicode() == 10)
816             goto state_85;
817         if (ch.unicode() == 11)
818             goto state_33;
819         if (ch.unicode() >= 14 && ch.unicode() <= 33)
820             goto state_33;
821         if (ch.unicode() == 34)
822             goto state_34;
823         if (ch.unicode() >= 35 && ch.unicode() <= 91)
824             goto state_33;
825         if (ch.unicode() == 92)
826             goto state_35;
827         if (ch.unicode() >= 93 && ch.unicode() <= 96)
828             goto state_33;
829         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
830             goto state_33;
831         if (ch.unicode() >= 123)
832             goto state_33;
833         goto out;
834     state_69:
835         lastAcceptingPos = pos;
836         token = QCss::INVALID;
837         ch = next();
838         if (ch.unicode() >= 1 && ch.unicode() <= 9)
839             goto state_33;
840         if (ch.unicode() == 11)
841             goto state_33;
842         if (ch.unicode() >= 14 && ch.unicode() <= 33)
843             goto state_33;
844         if (ch.unicode() == 34)
845             goto state_34;
846         if (ch.unicode() >= 35 && ch.unicode() <= 91)
847             goto state_33;
848         if (ch.unicode() == 92)
849             goto state_35;
850         if (ch.unicode() >= 93 && ch.unicode() <= 96)
851             goto state_33;
852         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
853             goto state_33;
854         if (ch.unicode() >= 123)
855             goto state_33;
856         goto out;
857     state_70:
858         lastAcceptingPos = pos;
859         token = QCss::INVALID;
860         ch = next();
861         if (ch.unicode() >= 1 && ch.unicode() <= 9)
862             goto state_38;
863         if (ch.unicode() == 11)
864             goto state_38;
865         if (ch.unicode() >= 14 && ch.unicode() <= 38)
866             goto state_38;
867         if (ch.unicode() == 39)
868             goto state_39;
869         if (ch.unicode() >= 40 && ch.unicode() <= 91)
870             goto state_38;
871         if (ch.unicode() == 92)
872             goto state_40;
873         if (ch.unicode() >= 93 && ch.unicode() <= 96)
874             goto state_38;
875         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
876             goto state_38;
877         if (ch.unicode() >= 123)
878             goto state_38;
879         goto out;
880     state_71:
881         lastAcceptingPos = pos;
882         token = QCss::INVALID;
883         ch = next();
884         if (ch.unicode() >= 1 && ch.unicode() <= 9)
885             goto state_38;
886         if (ch.unicode() == 11)
887             goto state_38;
888         if (ch.unicode() >= 14 && ch.unicode() <= 38)
889             goto state_38;
890         if (ch.unicode() == 39)
891             goto state_39;
892         if (ch.unicode() >= 40 && ch.unicode() <= 91)
893             goto state_38;
894         if (ch.unicode() == 92)
895             goto state_40;
896         if (ch.unicode() >= 93 && ch.unicode() <= 96)
897             goto state_38;
898         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
899             goto state_38;
900         if (ch.unicode() >= 123)
901             goto state_38;
902         goto out;
903     state_72:
904         lastAcceptingPos = pos;
905         token = QCss::INVALID;
906         ch = next();
907         if (ch.unicode() >= 1 && ch.unicode() <= 9)
908             goto state_38;
909         if (ch.unicode() == 10)
910             goto state_86;
911         if (ch.unicode() == 11)
912             goto state_38;
913         if (ch.unicode() >= 14 && ch.unicode() <= 38)
914             goto state_38;
915         if (ch.unicode() == 39)
916             goto state_39;
917         if (ch.unicode() >= 40 && ch.unicode() <= 91)
918             goto state_38;
919         if (ch.unicode() == 92)
920             goto state_40;
921         if (ch.unicode() >= 93 && ch.unicode() <= 96)
922             goto state_38;
923         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
924             goto state_38;
925         if (ch.unicode() >= 123)
926             goto state_38;
927         goto out;
928     state_73:
929         lastAcceptingPos = pos;
930         token = QCss::INVALID;
931         ch = next();
932         if (ch.unicode() >= 1 && ch.unicode() <= 9)
933             goto state_38;
934         if (ch.unicode() == 11)
935             goto state_38;
936         if (ch.unicode() >= 14 && ch.unicode() <= 38)
937             goto state_38;
938         if (ch.unicode() == 39)
939             goto state_39;
940         if (ch.unicode() >= 40 && ch.unicode() <= 91)
941             goto state_38;
942         if (ch.unicode() == 92)
943             goto state_40;
944         if (ch.unicode() >= 93 && ch.unicode() <= 96)
945             goto state_38;
946         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
947             goto state_38;
948         if (ch.unicode() >= 123)
949             goto state_38;
950         goto out;
951     state_74:
952         lastAcceptingPos = pos;
953         token = QCss::NUMBER;
954         ch = next();
955         if (ch.unicode() == 37)
956             goto state_46;
957         if (ch.unicode() == 45)
958             goto state_48;
959         if (ch.unicode() >= 48 && ch.unicode() <= 57)
960             goto state_74;
961         if (ch.unicode() == 92)
962             goto state_51;
963         if (ch.unicode() == 95)
964             goto state_50;
965         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
966             goto state_50;
967         goto out;
968     state_76:
969         lastAcceptingPos = pos;
970         token = QCss::LENGTH;
971         ch = next();
972         if (ch.unicode() == 45)
973             goto state_76;
974         if (ch.unicode() >= 48 && ch.unicode() <= 57)
975             goto state_76;
976         if (ch.unicode() == 92)
977             goto state_77;
978         if (ch.unicode() == 95)
979             goto state_76;
980         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
981             goto state_76;
982         goto out;
983     state_77:
984         ch = next();
985         if (ch.unicode() >= 1 && ch.unicode() <= 9)
986             goto state_87;
987         if (ch.unicode() == 11)
988             goto state_87;
989         if (ch.unicode() >= 14 && ch.unicode() <= 47)
990             goto state_87;
991         if (ch.unicode() >= 58 && ch.unicode() <= 96)
992             goto state_87;
993         if (ch.unicode() >= 103)
994             goto state_87;
995         goto out;
996     state_78:
997         lastAcceptingPos = pos;
998         token = QCss::LENGTH;
999         ch = next();
1000         if (ch.unicode() == 45)
1001             goto state_76;
1002         if (ch.unicode() >= 48 && ch.unicode() <= 57)
1003             goto state_76;
1004         if (ch.unicode() == 92)
1005             goto state_77;
1006         if (ch.unicode() == 95)
1007             goto state_76;
1008         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
1009             goto state_76;
1010         goto out;
1011     state_79:
1012         ch = next();
1013         if (ch.unicode() == 45) {
1014             token = QCss::CDO;
1015             goto found;
1016         }
1017         goto out;
1018     state_80:
1019         lastAcceptingPos = pos;
1020         token = QCss::IDENT;
1021         ch = next();
1022         if (ch.unicode() == 40)
1023             goto state_53;
1024         if (ch.unicode() == 45)
1025             goto state_54;
1026         if (ch.unicode() >= 48 && ch.unicode() <= 57)
1027             goto state_54;
1028         if (ch.unicode() == 92)
1029             goto state_55;
1030         if (ch.unicode() == 95)
1031             goto state_54;
1032         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
1033             goto state_54;
1034         goto out;
1035     state_81:
1036         lastAcceptingPos = pos;
1037         token = QCss::ATKEYWORD_SYM;
1038         ch = next();
1039         if (ch.unicode() == 45)
1040             goto state_81;
1041         if (ch.unicode() >= 48 && ch.unicode() <= 57)
1042             goto state_81;
1043         if (ch.unicode() == 92)
1044             goto state_82;
1045         if (ch.unicode() == 95)
1046             goto state_81;
1047         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
1048             goto state_81;
1049         goto out;
1050     state_82:
1051         ch = next();
1052         if (ch.unicode() >= 1 && ch.unicode() <= 9)
1053             goto state_89;
1054         if (ch.unicode() == 11)
1055             goto state_89;
1056         if (ch.unicode() >= 14 && ch.unicode() <= 47)
1057             goto state_89;
1058         if (ch.unicode() >= 58 && ch.unicode() <= 96)
1059             goto state_89;
1060         if (ch.unicode() >= 103)
1061             goto state_89;
1062         goto out;
1063     state_83:
1064         lastAcceptingPos = pos;
1065         token = QCss::ATKEYWORD_SYM;
1066         ch = next();
1067         if (ch.unicode() == 45)
1068             goto state_81;
1069         if (ch.unicode() >= 48 && ch.unicode() <= 57)
1070             goto state_81;
1071         if (ch.unicode() == 92)
1072             goto state_82;
1073         if (ch.unicode() == 95)
1074             goto state_81;
1075         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
1076             goto state_81;
1077         goto out;
1078     state_84:
1079         lastAcceptingPos = pos;
1080         token = QCss::HASH;
1081         ch = next();
1082         if (ch.unicode() == 45)
1083             goto state_63;
1084         if (ch.unicode() >= 48 && ch.unicode() <= 57)
1085             goto state_63;
1086         if (ch.unicode() == 92)
1087             goto state_64;
1088         if (ch.unicode() == 95)
1089             goto state_63;
1090         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
1091             goto state_63;
1092         goto out;
1093     state_85:
1094         lastAcceptingPos = pos;
1095         token = QCss::INVALID;
1096         ch = next();
1097         if (ch.unicode() >= 1 && ch.unicode() <= 9)
1098             goto state_33;
1099         if (ch.unicode() == 11)
1100             goto state_33;
1101         if (ch.unicode() >= 14 && ch.unicode() <= 33)
1102             goto state_33;
1103         if (ch.unicode() == 34)
1104             goto state_34;
1105         if (ch.unicode() >= 35 && ch.unicode() <= 91)
1106             goto state_33;
1107         if (ch.unicode() == 92)
1108             goto state_35;
1109         if (ch.unicode() >= 93 && ch.unicode() <= 96)
1110             goto state_33;
1111         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
1112             goto state_33;
1113         if (ch.unicode() >= 123)
1114             goto state_33;
1115         goto out;
1116     state_86:
1117         lastAcceptingPos = pos;
1118         token = QCss::INVALID;
1119         ch = next();
1120         if (ch.unicode() >= 1 && ch.unicode() <= 9)
1121             goto state_38;
1122         if (ch.unicode() == 11)
1123             goto state_38;
1124         if (ch.unicode() >= 14 && ch.unicode() <= 38)
1125             goto state_38;
1126         if (ch.unicode() == 39)
1127             goto state_39;
1128         if (ch.unicode() >= 40 && ch.unicode() <= 91)
1129             goto state_38;
1130         if (ch.unicode() == 92)
1131             goto state_40;
1132         if (ch.unicode() >= 93 && ch.unicode() <= 96)
1133             goto state_38;
1134         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
1135             goto state_38;
1136         if (ch.unicode() >= 123)
1137             goto state_38;
1138         goto out;
1139     state_87:
1140         lastAcceptingPos = pos;
1141         token = QCss::LENGTH;
1142         ch = next();
1143         if (ch.unicode() == 45)
1144             goto state_76;
1145         if (ch.unicode() >= 48 && ch.unicode() <= 57)
1146             goto state_76;
1147         if (ch.unicode() == 92)
1148             goto state_77;
1149         if (ch.unicode() == 95)
1150             goto state_76;
1151         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
1152             goto state_76;
1153         goto out;
1154     state_89:
1155         lastAcceptingPos = pos;
1156         token = QCss::ATKEYWORD_SYM;
1157         ch = next();
1158         if (ch.unicode() == 45)
1159             goto state_81;
1160         if (ch.unicode() >= 48 && ch.unicode() <= 57)
1161             goto state_81;
1162         if (ch.unicode() == 92)
1163             goto state_82;
1164         if (ch.unicode() == 95)
1165             goto state_81;
1166         if ((ch.unicode() >= 'a' && ch.unicode() <= 'z') || (ch.unicode() >= 'A' && ch.unicode() <= 'Z') || ch.unicode() >= 256)
1167             goto state_81;
1168         goto out;
1169     found:
1170     lastAcceptingPos = pos;
1171 
1172     out:
1173     if (lastAcceptingPos != -1) {
1174         lexemLength = lastAcceptingPos - lexemStart;
1175         pos = lastAcceptingPos;
1176     }
1177     return token;
1178 }
1179