source: code/trunk/vendor/modernc.org/cc/v3/lexer.go@ 824

Last change on this file since 824 was 822, checked in by yakumo.izuru, 22 months ago

Prefer immortal.run over runit and rc.d, use vendored modules
for convenience.

Signed-off-by: Izuru Yakumo <yakumo.izuru@…>

File size: 24.5 KB
Line 
1// Code generated by golex. DO NOT EDIT.
2
3// Copyright 2019 The CC Authors. All rights reserved.
4// Use of this source code is governed by a BSD-style
5// license that can be found in the LICENSE file.
6
7package cc // import "modernc.org/cc/v3"
8
9func (s *scanner) scan() (r rune) {
10
11yystate0:
12 yyrule := -1
13 _ = yyrule
14 c := s.initScan()
15
16 goto yystart1
17
18yyAction:
19 switch yyrule {
20 case 1:
21 goto yyrule1
22 case 2:
23 goto yyrule2
24 case 3:
25 goto yyrule3
26 case 4:
27 goto yyrule4
28 case 5:
29 goto yyrule5
30 case 6:
31 goto yyrule6
32 case 7:
33 goto yyrule7
34 case 8:
35 goto yyrule8
36 case 9:
37 goto yyrule9
38 case 10:
39 goto yyrule10
40 case 11:
41 goto yyrule11
42 case 12:
43 goto yyrule12
44 case 13:
45 goto yyrule13
46 case 14:
47 goto yyrule14
48 case 15:
49 goto yyrule15
50 case 16:
51 goto yyrule16
52 case 17:
53 goto yyrule17
54 case 18:
55 goto yyrule18
56 case 19:
57 goto yyrule19
58 case 20:
59 goto yyrule20
60 case 21:
61 goto yyrule21
62 case 22:
63 goto yyrule22
64 case 23:
65 goto yyrule23
66 case 24:
67 goto yyrule24
68 case 25:
69 goto yyrule25
70 case 26:
71 goto yyrule26
72 case 27:
73 goto yyrule27
74 case 28:
75 goto yyrule28
76 case 29:
77 goto yyrule29
78 case 30:
79 goto yyrule30
80 case 31:
81 goto yyrule31
82 case 32:
83 goto yyrule32
84 case 33:
85 goto yyrule33
86 case 34:
87 goto yyrule34
88 case 35:
89 goto yyrule35
90 case 36:
91 goto yyrule36
92 case 37:
93 goto yyrule37
94 case 38:
95 goto yyrule38
96 case 39:
97 goto yyrule39
98 }
99yystate1:
100 c = s.next()
101yystart1:
102 switch {
103 default:
104 goto yyabort
105 case c == '!':
106 goto yystate16
107 case c == '"':
108 goto yystate18
109 case c == '#':
110 goto yystate29
111 case c == '$' || c >= 'A' && c <= 'K' || c >= 'M' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c == '\u0081':
112 goto yystate31
113 case c == '%':
114 goto yystate41
115 case c == '&':
116 goto yystate47
117 case c == '*':
118 goto yystate62
119 case c == '+':
120 goto yystate64
121 case c == '-':
122 goto yystate67
123 case c == '.':
124 goto yystate71
125 case c == '/':
126 goto yystate85
127 case c == ':':
128 goto yystate88
129 case c == '<':
130 goto yystate90
131 case c == '=':
132 goto yystate96
133 case c == '>':
134 goto yystate98
135 case c == 'L':
136 goto yystate102
137 case c == '\'':
138 goto yystate50
139 case c == '\\':
140 goto yystate32
141 case c == '\n':
142 goto yystate14
143 case c == '\r':
144 goto yystate15
145 case c == '\t' || c == '\v' || c == '\f' || c == ' ':
146 goto yystate2
147 case c == '^':
148 goto yystate126
149 case c == '|':
150 goto yystate128
151 case c >= '0' && c <= '9':
152 goto yystate74
153 }
154
155yystate2:
156 c = s.next()
157 yyrule = 2
158 s.mark = len(s.charBuf)
159 switch {
160 default:
161 goto yyrule2
162 case c == '/':
163 goto yystate3
164 case c == '\t' || c == '\v' || c == '\f' || c == ' ':
165 goto yystate2
166 }
167
168yystate3:
169 c = s.next()
170 switch {
171 default:
172 goto yyabort
173 case c == '*':
174 goto yystate4
175 case c == '/':
176 goto yystate13
177 }
178
179yystate4:
180 c = s.next()
181 switch {
182 default:
183 goto yyabort
184 case c == '*':
185 goto yystate6
186 case c == '\n':
187 goto yystate5
188 case c >= '\x01' && c <= '\t' || c >= '\v' && c <= ')' || c >= '+' && c <= '\u007f' || c >= '\u0081' && c <= 'ÿ':
189 goto yystate4
190 }
191
192yystate5:
193 c = s.next()
194 switch {
195 default:
196 goto yyabort
197 case c == '*':
198 goto yystate6
199 case c == '\n':
200 goto yystate5
201 case c == '\u0080':
202 goto yystate7
203 case c >= '\x01' && c <= '\t' || c >= '\v' && c <= ')' || c >= '+' && c <= '\u007f' || c >= '\u0081' && c <= 'ÿ':
204 goto yystate4
205 }
206
207yystate6:
208 c = s.next()
209 switch {
210 default:
211 goto yyabort
212 case c == '*':
213 goto yystate6
214 case c == '/':
215 goto yystate2
216 case c == '\n':
217 goto yystate5
218 case c >= '\x01' && c <= '\t' || c >= '\v' && c <= ')' || c >= '+' && c <= '.' || c >= '0' && c <= '\u007f' || c >= '\u0081' && c <= 'ÿ':
219 goto yystate4
220 }
221
222yystate7:
223 c = s.next()
224 yyrule = 3
225 s.mark = len(s.charBuf)
226 switch {
227 default:
228 goto yyrule3
229 case c == '/':
230 goto yystate9
231 case c == '\t' || c == '\v' || c == '\f' || c == ' ':
232 goto yystate8
233 }
234
235yystate8:
236 c = s.next()
237 switch {
238 default:
239 goto yyabort
240 case c == '/':
241 goto yystate9
242 case c == '\t' || c == '\v' || c == '\f' || c == ' ':
243 goto yystate8
244 }
245
246yystate9:
247 c = s.next()
248 switch {
249 default:
250 goto yyabort
251 case c == '*':
252 goto yystate10
253 }
254
255yystate10:
256 c = s.next()
257 switch {
258 default:
259 goto yyabort
260 case c == '*':
261 goto yystate12
262 case c == '\n':
263 goto yystate11
264 case c >= '\x01' && c <= '\t' || c >= '\v' && c <= ')' || c >= '+' && c <= '\u007f' || c >= '\u0081' && c <= 'ÿ':
265 goto yystate10
266 }
267
268yystate11:
269 c = s.next()
270 switch {
271 default:
272 goto yyabort
273 case c == '*':
274 goto yystate12
275 case c == '\n':
276 goto yystate11
277 case c == '\u0080':
278 goto yystate7
279 case c >= '\x01' && c <= '\t' || c >= '\v' && c <= ')' || c >= '+' && c <= '\u007f' || c >= '\u0081' && c <= 'ÿ':
280 goto yystate10
281 }
282
283yystate12:
284 c = s.next()
285 switch {
286 default:
287 goto yyabort
288 case c == '*':
289 goto yystate12
290 case c == '/':
291 goto yystate8
292 case c == '\n':
293 goto yystate11
294 case c >= '\x01' && c <= '\t' || c >= '\v' && c <= ')' || c >= '+' && c <= '.' || c >= '0' && c <= '\u007f' || c >= '\u0081' && c <= 'ÿ':
295 goto yystate10
296 }
297
298yystate13:
299 c = s.next()
300 yyrule = 1
301 s.mark = len(s.charBuf)
302 switch {
303 default:
304 goto yyrule1
305 case c >= '\x01' && c <= '\t' || c >= '\v' && c <= '\u007f' || c >= '\u0081' && c <= 'ÿ':
306 goto yystate13
307 }
308
309yystate14:
310 c = s.next()
311 yyrule = 39
312 s.mark = len(s.charBuf)
313 goto yyrule39
314
315yystate15:
316 c = s.next()
317 switch {
318 default:
319 goto yyabort
320 case c == '\n':
321 goto yystate14
322 }
323
324yystate16:
325 c = s.next()
326 switch {
327 default:
328 goto yyabort
329 case c == '=':
330 goto yystate17
331 }
332
333yystate17:
334 c = s.next()
335 yyrule = 4
336 s.mark = len(s.charBuf)
337 goto yyrule4
338
339yystate18:
340 c = s.next()
341 switch {
342 default:
343 goto yyabort
344 case c == '"':
345 goto yystate19
346 case c == '\\':
347 goto yystate20
348 case c >= '\x01' && c <= '\t' || c >= '\v' && c <= '!' || c >= '#' && c <= '[' || c >= ']' && c <= '\u007f' || c >= '\u0081' && c <= 'ÿ':
349 goto yystate18
350 }
351
352yystate19:
353 c = s.next()
354 yyrule = 38
355 s.mark = len(s.charBuf)
356 goto yyrule38
357
358yystate20:
359 c = s.next()
360 switch {
361 default:
362 goto yyabort
363 case c == '"' || c == '\'' || c >= '0' && c <= '7' || c == '?' || c == '\\' || c == 'a' || c == 'b' || c == 'e' || c == 'f' || c == 'n' || c == 'r' || c == 't' || c == 'v':
364 goto yystate18
365 case c == 'U':
366 goto yystate21
367 case c == 'u':
368 goto yystate25
369 case c == 'x':
370 goto yystate28
371 }
372
373yystate21:
374 c = s.next()
375 switch {
376 default:
377 goto yyabort
378 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
379 goto yystate22
380 }
381
382yystate22:
383 c = s.next()
384 switch {
385 default:
386 goto yyabort
387 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
388 goto yystate23
389 }
390
391yystate23:
392 c = s.next()
393 switch {
394 default:
395 goto yyabort
396 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
397 goto yystate24
398 }
399
400yystate24:
401 c = s.next()
402 switch {
403 default:
404 goto yyabort
405 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
406 goto yystate25
407 }
408
409yystate25:
410 c = s.next()
411 switch {
412 default:
413 goto yyabort
414 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
415 goto yystate26
416 }
417
418yystate26:
419 c = s.next()
420 switch {
421 default:
422 goto yyabort
423 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
424 goto yystate27
425 }
426
427yystate27:
428 c = s.next()
429 switch {
430 default:
431 goto yyabort
432 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
433 goto yystate28
434 }
435
436yystate28:
437 c = s.next()
438 switch {
439 default:
440 goto yyabort
441 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
442 goto yystate18
443 }
444
445yystate29:
446 c = s.next()
447 switch {
448 default:
449 goto yyabort
450 case c == '#':
451 goto yystate30
452 }
453
454yystate30:
455 c = s.next()
456 yyrule = 5
457 s.mark = len(s.charBuf)
458 goto yyrule5
459
460yystate31:
461 c = s.next()
462 yyrule = 36
463 s.mark = len(s.charBuf)
464 switch {
465 default:
466 goto yyrule36
467 case c == '$' || c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c == '\u0081':
468 goto yystate31
469 case c == '\\':
470 goto yystate32
471 }
472
473yystate32:
474 c = s.next()
475 switch {
476 default:
477 goto yyabort
478 case c == 'U':
479 goto yystate33
480 case c == 'u':
481 goto yystate37
482 }
483
484yystate33:
485 c = s.next()
486 switch {
487 default:
488 goto yyabort
489 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
490 goto yystate34
491 }
492
493yystate34:
494 c = s.next()
495 switch {
496 default:
497 goto yyabort
498 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
499 goto yystate35
500 }
501
502yystate35:
503 c = s.next()
504 switch {
505 default:
506 goto yyabort
507 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
508 goto yystate36
509 }
510
511yystate36:
512 c = s.next()
513 switch {
514 default:
515 goto yyabort
516 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
517 goto yystate37
518 }
519
520yystate37:
521 c = s.next()
522 switch {
523 default:
524 goto yyabort
525 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
526 goto yystate38
527 }
528
529yystate38:
530 c = s.next()
531 switch {
532 default:
533 goto yyabort
534 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
535 goto yystate39
536 }
537
538yystate39:
539 c = s.next()
540 switch {
541 default:
542 goto yyabort
543 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
544 goto yystate40
545 }
546
547yystate40:
548 c = s.next()
549 switch {
550 default:
551 goto yyabort
552 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
553 goto yystate31
554 }
555
556yystate41:
557 c = s.next()
558 switch {
559 default:
560 goto yyabort
561 case c == ':':
562 goto yystate42
563 case c == '=':
564 goto yystate45
565 case c == '>':
566 goto yystate46
567 }
568
569yystate42:
570 c = s.next()
571 yyrule = 6
572 s.mark = len(s.charBuf)
573 switch {
574 default:
575 goto yyrule6
576 case c == '%':
577 goto yystate43
578 }
579
580yystate43:
581 c = s.next()
582 switch {
583 default:
584 goto yyabort
585 case c == ':':
586 goto yystate44
587 }
588
589yystate44:
590 c = s.next()
591 yyrule = 7
592 s.mark = len(s.charBuf)
593 goto yyrule7
594
595yystate45:
596 c = s.next()
597 yyrule = 8
598 s.mark = len(s.charBuf)
599 goto yyrule8
600
601yystate46:
602 c = s.next()
603 yyrule = 9
604 s.mark = len(s.charBuf)
605 goto yyrule9
606
607yystate47:
608 c = s.next()
609 switch {
610 default:
611 goto yyabort
612 case c == '&':
613 goto yystate48
614 case c == '=':
615 goto yystate49
616 }
617
618yystate48:
619 c = s.next()
620 yyrule = 10
621 s.mark = len(s.charBuf)
622 goto yyrule10
623
624yystate49:
625 c = s.next()
626 yyrule = 11
627 s.mark = len(s.charBuf)
628 goto yyrule11
629
630yystate50:
631 c = s.next()
632 switch {
633 default:
634 goto yyabort
635 case c == '\\':
636 goto yystate53
637 case c >= '\x01' && c <= '\t' || c >= '\v' && c <= '&' || c >= '(' && c <= '[' || c >= ']' && c <= '\u007f' || c >= '\u0081' && c <= 'ÿ':
638 goto yystate51
639 }
640
641yystate51:
642 c = s.next()
643 switch {
644 default:
645 goto yyabort
646 case c == '\'':
647 goto yystate52
648 case c == '\\':
649 goto yystate53
650 case c >= '\x01' && c <= '\t' || c >= '\v' && c <= '&' || c >= '(' && c <= '[' || c >= ']' && c <= '\u007f' || c >= '\u0081' && c <= 'ÿ':
651 goto yystate51
652 }
653
654yystate52:
655 c = s.next()
656 yyrule = 35
657 s.mark = len(s.charBuf)
658 goto yyrule35
659
660yystate53:
661 c = s.next()
662 switch {
663 default:
664 goto yyabort
665 case c == '"' || c == '\'' || c >= '0' && c <= '7' || c == '?' || c == '\\' || c == 'a' || c == 'b' || c == 'e' || c == 'f' || c == 'n' || c == 'r' || c == 't' || c == 'v':
666 goto yystate51
667 case c == 'U':
668 goto yystate54
669 case c == 'u':
670 goto yystate58
671 case c == 'x':
672 goto yystate61
673 }
674
675yystate54:
676 c = s.next()
677 switch {
678 default:
679 goto yyabort
680 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
681 goto yystate55
682 }
683
684yystate55:
685 c = s.next()
686 switch {
687 default:
688 goto yyabort
689 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
690 goto yystate56
691 }
692
693yystate56:
694 c = s.next()
695 switch {
696 default:
697 goto yyabort
698 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
699 goto yystate57
700 }
701
702yystate57:
703 c = s.next()
704 switch {
705 default:
706 goto yyabort
707 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
708 goto yystate58
709 }
710
711yystate58:
712 c = s.next()
713 switch {
714 default:
715 goto yyabort
716 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
717 goto yystate59
718 }
719
720yystate59:
721 c = s.next()
722 switch {
723 default:
724 goto yyabort
725 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
726 goto yystate60
727 }
728
729yystate60:
730 c = s.next()
731 switch {
732 default:
733 goto yyabort
734 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
735 goto yystate61
736 }
737
738yystate61:
739 c = s.next()
740 switch {
741 default:
742 goto yyabort
743 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
744 goto yystate51
745 }
746
747yystate62:
748 c = s.next()
749 switch {
750 default:
751 goto yyabort
752 case c == '=':
753 goto yystate63
754 }
755
756yystate63:
757 c = s.next()
758 yyrule = 12
759 s.mark = len(s.charBuf)
760 goto yyrule12
761
762yystate64:
763 c = s.next()
764 switch {
765 default:
766 goto yyabort
767 case c == '+':
768 goto yystate65
769 case c == '=':
770 goto yystate66
771 }
772
773yystate65:
774 c = s.next()
775 yyrule = 13
776 s.mark = len(s.charBuf)
777 goto yyrule13
778
779yystate66:
780 c = s.next()
781 yyrule = 14
782 s.mark = len(s.charBuf)
783 goto yyrule14
784
785yystate67:
786 c = s.next()
787 switch {
788 default:
789 goto yyabort
790 case c == '-':
791 goto yystate68
792 case c == '=':
793 goto yystate69
794 case c == '>':
795 goto yystate70
796 }
797
798yystate68:
799 c = s.next()
800 yyrule = 15
801 s.mark = len(s.charBuf)
802 goto yyrule15
803
804yystate69:
805 c = s.next()
806 yyrule = 16
807 s.mark = len(s.charBuf)
808 goto yyrule16
809
810yystate70:
811 c = s.next()
812 yyrule = 17
813 s.mark = len(s.charBuf)
814 goto yyrule17
815
816yystate71:
817 c = s.next()
818 switch {
819 default:
820 goto yyabort
821 case c == '.':
822 goto yystate72
823 case c >= '0' && c <= '9':
824 goto yystate74
825 }
826
827yystate72:
828 c = s.next()
829 switch {
830 default:
831 goto yyabort
832 case c == '.':
833 goto yystate73
834 }
835
836yystate73:
837 c = s.next()
838 yyrule = 18
839 s.mark = len(s.charBuf)
840 goto yyrule18
841
842yystate74:
843 c = s.next()
844 yyrule = 37
845 s.mark = len(s.charBuf)
846 switch {
847 default:
848 goto yyrule37
849 case c == '$' || c == '.' || c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'O' || c >= 'Q' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'o' || c >= 'q' && c <= 'z' || c == '\u0081':
850 goto yystate74
851 case c == 'E' || c == 'P' || c == 'e' || c == 'p':
852 goto yystate75
853 case c == '\\':
854 goto yystate76
855 }
856
857yystate75:
858 c = s.next()
859 yyrule = 37
860 s.mark = len(s.charBuf)
861 switch {
862 default:
863 goto yyrule37
864 case c == '$' || c == '+' || c == '-' || c == '.' || c >= '0' && c <= '9' || c >= 'A' && c <= 'D' || c >= 'F' && c <= 'O' || c >= 'Q' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'd' || c >= 'f' && c <= 'o' || c >= 'q' && c <= 'z' || c == '\u0081':
865 goto yystate74
866 case c == 'E' || c == 'P' || c == 'e' || c == 'p':
867 goto yystate75
868 case c == '\\':
869 goto yystate76
870 }
871
872yystate76:
873 c = s.next()
874 switch {
875 default:
876 goto yyabort
877 case c == 'U':
878 goto yystate77
879 case c == 'u':
880 goto yystate81
881 }
882
883yystate77:
884 c = s.next()
885 switch {
886 default:
887 goto yyabort
888 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
889 goto yystate78
890 }
891
892yystate78:
893 c = s.next()
894 switch {
895 default:
896 goto yyabort
897 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
898 goto yystate79
899 }
900
901yystate79:
902 c = s.next()
903 switch {
904 default:
905 goto yyabort
906 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
907 goto yystate80
908 }
909
910yystate80:
911 c = s.next()
912 switch {
913 default:
914 goto yyabort
915 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
916 goto yystate81
917 }
918
919yystate81:
920 c = s.next()
921 switch {
922 default:
923 goto yyabort
924 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
925 goto yystate82
926 }
927
928yystate82:
929 c = s.next()
930 switch {
931 default:
932 goto yyabort
933 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
934 goto yystate83
935 }
936
937yystate83:
938 c = s.next()
939 switch {
940 default:
941 goto yyabort
942 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
943 goto yystate84
944 }
945
946yystate84:
947 c = s.next()
948 switch {
949 default:
950 goto yyabort
951 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
952 goto yystate74
953 }
954
955yystate85:
956 c = s.next()
957 switch {
958 default:
959 goto yyabort
960 case c == '*':
961 goto yystate4
962 case c == '/':
963 goto yystate86
964 case c == '=':
965 goto yystate87
966 }
967
968yystate86:
969 c = s.next()
970 yyrule = 1
971 s.mark = len(s.charBuf)
972 switch {
973 default:
974 goto yyrule1
975 case c >= '\x01' && c <= '\t' || c >= '\v' && c <= '\u007f' || c >= '\u0081' && c <= 'ÿ':
976 goto yystate86
977 }
978
979yystate87:
980 c = s.next()
981 yyrule = 19
982 s.mark = len(s.charBuf)
983 goto yyrule19
984
985yystate88:
986 c = s.next()
987 switch {
988 default:
989 goto yyabort
990 case c == '>':
991 goto yystate89
992 }
993
994yystate89:
995 c = s.next()
996 yyrule = 20
997 s.mark = len(s.charBuf)
998 goto yyrule20
999
1000yystate90:
1001 c = s.next()
1002 switch {
1003 default:
1004 goto yyabort
1005 case c == '%':
1006 goto yystate91
1007 case c == ':':
1008 goto yystate92
1009 case c == '<':
1010 goto yystate93
1011 case c == '=':
1012 goto yystate95
1013 }
1014
1015yystate91:
1016 c = s.next()
1017 yyrule = 21
1018 s.mark = len(s.charBuf)
1019 goto yyrule21
1020
1021yystate92:
1022 c = s.next()
1023 yyrule = 22
1024 s.mark = len(s.charBuf)
1025 goto yyrule22
1026
1027yystate93:
1028 c = s.next()
1029 yyrule = 23
1030 s.mark = len(s.charBuf)
1031 switch {
1032 default:
1033 goto yyrule23
1034 case c == '=':
1035 goto yystate94
1036 }
1037
1038yystate94:
1039 c = s.next()
1040 yyrule = 24
1041 s.mark = len(s.charBuf)
1042 goto yyrule24
1043
1044yystate95:
1045 c = s.next()
1046 yyrule = 25
1047 s.mark = len(s.charBuf)
1048 goto yyrule25
1049
1050yystate96:
1051 c = s.next()
1052 switch {
1053 default:
1054 goto yyabort
1055 case c == '=':
1056 goto yystate97
1057 }
1058
1059yystate97:
1060 c = s.next()
1061 yyrule = 26
1062 s.mark = len(s.charBuf)
1063 goto yyrule26
1064
1065yystate98:
1066 c = s.next()
1067 switch {
1068 default:
1069 goto yyabort
1070 case c == '=':
1071 goto yystate99
1072 case c == '>':
1073 goto yystate100
1074 }
1075
1076yystate99:
1077 c = s.next()
1078 yyrule = 27
1079 s.mark = len(s.charBuf)
1080 goto yyrule27
1081
1082yystate100:
1083 c = s.next()
1084 yyrule = 28
1085 s.mark = len(s.charBuf)
1086 switch {
1087 default:
1088 goto yyrule28
1089 case c == '=':
1090 goto yystate101
1091 }
1092
1093yystate101:
1094 c = s.next()
1095 yyrule = 29
1096 s.mark = len(s.charBuf)
1097 goto yyrule29
1098
1099yystate102:
1100 c = s.next()
1101 yyrule = 36
1102 s.mark = len(s.charBuf)
1103 switch {
1104 default:
1105 goto yyrule36
1106 case c == '"':
1107 goto yystate103
1108 case c == '$' || c >= '0' && c <= '9' || c >= 'A' && c <= 'Z' || c == '_' || c >= 'a' && c <= 'z' || c == '\u0081':
1109 goto yystate31
1110 case c == '\'':
1111 goto yystate114
1112 case c == '\\':
1113 goto yystate32
1114 }
1115
1116yystate103:
1117 c = s.next()
1118 switch {
1119 default:
1120 goto yyabort
1121 case c == '"':
1122 goto yystate104
1123 case c == '\\':
1124 goto yystate105
1125 case c >= '\x01' && c <= '\t' || c >= '\v' && c <= '!' || c >= '#' && c <= '[' || c >= ']' && c <= '\u007f' || c >= '\u0081' && c <= 'ÿ':
1126 goto yystate103
1127 }
1128
1129yystate104:
1130 c = s.next()
1131 yyrule = 33
1132 s.mark = len(s.charBuf)
1133 goto yyrule33
1134
1135yystate105:
1136 c = s.next()
1137 switch {
1138 default:
1139 goto yyabort
1140 case c == '"' || c == '\'' || c >= '0' && c <= '7' || c == '?' || c == '\\' || c == 'a' || c == 'b' || c == 'e' || c == 'f' || c == 'n' || c == 'r' || c == 't' || c == 'v':
1141 goto yystate103
1142 case c == 'U':
1143 goto yystate106
1144 case c == 'u':
1145 goto yystate110
1146 case c == 'x':
1147 goto yystate113
1148 }
1149
1150yystate106:
1151 c = s.next()
1152 switch {
1153 default:
1154 goto yyabort
1155 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
1156 goto yystate107
1157 }
1158
1159yystate107:
1160 c = s.next()
1161 switch {
1162 default:
1163 goto yyabort
1164 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
1165 goto yystate108
1166 }
1167
1168yystate108:
1169 c = s.next()
1170 switch {
1171 default:
1172 goto yyabort
1173 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
1174 goto yystate109
1175 }
1176
1177yystate109:
1178 c = s.next()
1179 switch {
1180 default:
1181 goto yyabort
1182 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
1183 goto yystate110
1184 }
1185
1186yystate110:
1187 c = s.next()
1188 switch {
1189 default:
1190 goto yyabort
1191 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
1192 goto yystate111
1193 }
1194
1195yystate111:
1196 c = s.next()
1197 switch {
1198 default:
1199 goto yyabort
1200 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
1201 goto yystate112
1202 }
1203
1204yystate112:
1205 c = s.next()
1206 switch {
1207 default:
1208 goto yyabort
1209 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
1210 goto yystate113
1211 }
1212
1213yystate113:
1214 c = s.next()
1215 switch {
1216 default:
1217 goto yyabort
1218 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
1219 goto yystate103
1220 }
1221
1222yystate114:
1223 c = s.next()
1224 switch {
1225 default:
1226 goto yyabort
1227 case c == '\\':
1228 goto yystate117
1229 case c >= '\x01' && c <= '\t' || c >= '\v' && c <= '&' || c >= '(' && c <= '[' || c >= ']' && c <= '\u007f' || c >= '\u0081' && c <= 'ÿ':
1230 goto yystate115
1231 }
1232
1233yystate115:
1234 c = s.next()
1235 switch {
1236 default:
1237 goto yyabort
1238 case c == '\'':
1239 goto yystate116
1240 case c == '\\':
1241 goto yystate117
1242 case c >= '\x01' && c <= '\t' || c >= '\v' && c <= '&' || c >= '(' && c <= '[' || c >= ']' && c <= '\u007f' || c >= '\u0081' && c <= 'ÿ':
1243 goto yystate115
1244 }
1245
1246yystate116:
1247 c = s.next()
1248 yyrule = 34
1249 s.mark = len(s.charBuf)
1250 goto yyrule34
1251
1252yystate117:
1253 c = s.next()
1254 switch {
1255 default:
1256 goto yyabort
1257 case c == '"' || c == '\'' || c >= '0' && c <= '7' || c == '?' || c == '\\' || c == 'a' || c == 'b' || c == 'e' || c == 'f' || c == 'n' || c == 'r' || c == 't' || c == 'v':
1258 goto yystate115
1259 case c == 'U':
1260 goto yystate118
1261 case c == 'u':
1262 goto yystate122
1263 case c == 'x':
1264 goto yystate125
1265 }
1266
1267yystate118:
1268 c = s.next()
1269 switch {
1270 default:
1271 goto yyabort
1272 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
1273 goto yystate119
1274 }
1275
1276yystate119:
1277 c = s.next()
1278 switch {
1279 default:
1280 goto yyabort
1281 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
1282 goto yystate120
1283 }
1284
1285yystate120:
1286 c = s.next()
1287 switch {
1288 default:
1289 goto yyabort
1290 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
1291 goto yystate121
1292 }
1293
1294yystate121:
1295 c = s.next()
1296 switch {
1297 default:
1298 goto yyabort
1299 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
1300 goto yystate122
1301 }
1302
1303yystate122:
1304 c = s.next()
1305 switch {
1306 default:
1307 goto yyabort
1308 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
1309 goto yystate123
1310 }
1311
1312yystate123:
1313 c = s.next()
1314 switch {
1315 default:
1316 goto yyabort
1317 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
1318 goto yystate124
1319 }
1320
1321yystate124:
1322 c = s.next()
1323 switch {
1324 default:
1325 goto yyabort
1326 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
1327 goto yystate125
1328 }
1329
1330yystate125:
1331 c = s.next()
1332 switch {
1333 default:
1334 goto yyabort
1335 case c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f':
1336 goto yystate115
1337 }
1338
1339yystate126:
1340 c = s.next()
1341 switch {
1342 default:
1343 goto yyabort
1344 case c == '=':
1345 goto yystate127
1346 }
1347
1348yystate127:
1349 c = s.next()
1350 yyrule = 30
1351 s.mark = len(s.charBuf)
1352 goto yyrule30
1353
1354yystate128:
1355 c = s.next()
1356 switch {
1357 default:
1358 goto yyabort
1359 case c == '=':
1360 goto yystate129
1361 case c == '|':
1362 goto yystate130
1363 }
1364
1365yystate129:
1366 c = s.next()
1367 yyrule = 31
1368 s.mark = len(s.charBuf)
1369 goto yyrule31
1370
1371yystate130:
1372 c = s.next()
1373 yyrule = 32
1374 s.mark = len(s.charBuf)
1375 goto yyrule32
1376
1377yyrule1: // ({white-space}|{comment})*{line-comment}
1378yyrule2: // ({white-space}|{comment})+{line-comment}?
1379 {
1380
1381 return ' '
1382 }
1383yyrule3: // (({white-space}|{comment})*{comment-not-terminated})+
1384 {
1385
1386 return s.unterminatedComment()
1387 }
1388yyrule4: // "!="
1389 {
1390 return NEQ
1391 }
1392yyrule5: // "##"
1393 {
1394 return PPPASTE
1395 }
1396yyrule6: // "%:"
1397 {
1398 return '#'
1399 }
1400yyrule7: // "%:%:"
1401 {
1402 return PPPASTE
1403 }
1404yyrule8: // "%="
1405 {
1406 return MODASSIGN
1407 }
1408yyrule9: // "%>"
1409 {
1410 return '}'
1411 }
1412yyrule10: // "&&"
1413 {
1414 return ANDAND
1415 }
1416yyrule11: // "&="
1417 {
1418 return ANDASSIGN
1419 }
1420yyrule12: // "*="
1421 {
1422 return MULASSIGN
1423 }
1424yyrule13: // "++"
1425 {
1426 return INC
1427 }
1428yyrule14: // "+="
1429 {
1430 return ADDASSIGN
1431 }
1432yyrule15: // "--"
1433 {
1434 return DEC
1435 }
1436yyrule16: // "-="
1437 {
1438 return SUBASSIGN
1439 }
1440yyrule17: // "->"
1441 {
1442 return ARROW
1443 }
1444yyrule18: // "..."
1445 {
1446 return DDD
1447 }
1448yyrule19: // "/="
1449 {
1450 return DIVASSIGN
1451 }
1452yyrule20: // ":>"
1453 {
1454 return ']'
1455 }
1456yyrule21: // "<%"
1457 {
1458 return '{'
1459 }
1460yyrule22: // "<:"
1461 {
1462 return '['
1463 }
1464yyrule23: // "<<"
1465 {
1466 return LSH
1467 }
1468yyrule24: // "<<="
1469 {
1470 return LSHASSIGN
1471 }
1472yyrule25: // "<="
1473 {
1474 return LEQ
1475 }
1476yyrule26: // "=="
1477 {
1478 return EQ
1479 }
1480yyrule27: // ">="
1481 {
1482 return GEQ
1483 }
1484yyrule28: // ">>"
1485 {
1486 return RSH
1487 }
1488yyrule29: // ">>="
1489 {
1490 return RSHASSIGN
1491 }
1492yyrule30: // "^="
1493 {
1494 return XORASSIGN
1495 }
1496yyrule31: // "|="
1497 {
1498 return ORASSIGN
1499 }
1500yyrule32: // "||"
1501 {
1502 return OROR
1503 }
1504yyrule33: // L{string-literal}
1505 {
1506 return LONGSTRINGLITERAL
1507 }
1508yyrule34: // L{character-constant}
1509 {
1510 return LONGCHARCONST
1511 }
1512yyrule35: // {character-constant}
1513 {
1514 return CHARCONST
1515 }
1516yyrule36: // {identifier}
1517 {
1518 return IDENTIFIER
1519 }
1520yyrule37: // {pp-number}
1521 {
1522 return PPNUMBER
1523 }
1524yyrule38: // {string-literal}
1525 {
1526 return STRINGLITERAL
1527 }
1528yyrule39: // \r?\n
1529 if true { // avoid go vet determining the below panic will not be reached
1530 return '\n'
1531 }
1532 panic("unreachable")
1533
1534yyabort: // no lexem recognized
1535 //
1536 // silence unused label errors for build and satisfy go vet reachability analysis
1537 //
1538 {
1539 if false {
1540 goto yyabort
1541 }
1542 if false {
1543 goto yystate0
1544 }
1545 if false {
1546 goto yystate1
1547 }
1548 }
1549
1550 if c, ok := s.abort(); ok {
1551 return rune(c)
1552 }
1553
1554 goto yyAction
1555}
Note: See TracBrowser for help on using the repository browser.