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.
41class QCssScanner_Generated
42{
43public:
44 QCssScanner_Generated(const QString &inp);
45
46 inline QChar next() {
47 return (pos < input.length()) ? input.at(i: pos++) : QChar();
48 }
49 int handleCommentStart();
50 int lex();
51
52 QString input;
53 int pos;
54 int lexemStart;
55 int lexemLength;
56};
57
58QCssScanner_Generated::QCssScanner_Generated(const QString &inp)
59{
60 input = inp;
61 pos = 0;
62 lexemStart = 0;
63 lexemLength = 0;
64}
65
66
67int 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

source code of qtbase/src/gui/text/qcssscanner.cpp