• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Terminals unused in grammar
2
3   COMMA_FINAL
4   PLACEHOLDER
5
6
7Grammar
8
9    0 $accept: input $end
10
11    1 input: /* empty */
12    2      | input line
13
14    3 line: control_line
15    4     | text_line
16    5     | expanded_line
17    6     | HASH non_directive
18
19    7 expanded_line: IF_EXPANDED expression NEWLINE
20    8              | ELIF_EXPANDED expression NEWLINE
21    9              | LINE_EXPANDED integer_constant NEWLINE
22   10              | LINE_EXPANDED integer_constant integer_constant NEWLINE
23
24   11 control_line: HASH_DEFINE OBJ_IDENTIFIER replacement_list NEWLINE
25   12             | HASH_DEFINE FUNC_IDENTIFIER '(' ')' replacement_list NEWLINE
26   13             | HASH_DEFINE FUNC_IDENTIFIER '(' identifier_list ')' replacement_list NEWLINE
27   14             | HASH_UNDEF IDENTIFIER NEWLINE
28   15             | HASH_LINE pp_tokens NEWLINE
29   16             | HASH_IF conditional_tokens NEWLINE
30   17             | HASH_IF NEWLINE
31   18             | HASH_IFDEF IDENTIFIER junk NEWLINE
32   19             | HASH_IFNDEF IDENTIFIER junk NEWLINE
33   20             | HASH_ELIF conditional_tokens NEWLINE
34   21             | HASH_ELIF NEWLINE
35
36   22 $@1: /* empty */
37
38   23 control_line: HASH_ELSE $@1 NEWLINE
39
40   24 $@2: /* empty */
41
42   25 control_line: HASH_ENDIF $@2 NEWLINE
43   26             | HASH_VERSION integer_constant NEWLINE
44   27             | HASH NEWLINE
45
46   28 integer_constant: INTEGER_STRING
47   29                 | INTEGER
48
49   30 expression: integer_constant
50   31           | IDENTIFIER
51   32           | expression OR expression
52   33           | expression AND expression
53   34           | expression '|' expression
54   35           | expression '^' expression
55   36           | expression '&' expression
56   37           | expression NOT_EQUAL expression
57   38           | expression EQUAL expression
58   39           | expression GREATER_OR_EQUAL expression
59   40           | expression LESS_OR_EQUAL expression
60   41           | expression '>' expression
61   42           | expression '<' expression
62   43           | expression RIGHT_SHIFT expression
63   44           | expression LEFT_SHIFT expression
64   45           | expression '-' expression
65   46           | expression '+' expression
66   47           | expression '%' expression
67   48           | expression '/' expression
68   49           | expression '*' expression
69   50           | '!' expression
70   51           | '~' expression
71   52           | '-' expression
72   53           | '+' expression
73   54           | '(' expression ')'
74
75   55 identifier_list: IDENTIFIER
76   56                | identifier_list ',' IDENTIFIER
77
78   57 text_line: NEWLINE
79   58          | pp_tokens NEWLINE
80
81   59 non_directive: pp_tokens NEWLINE
82
83   60 replacement_list: /* empty */
84   61                 | pp_tokens
85
86   62 junk: /* empty */
87   63     | pp_tokens
88
89   64 conditional_token: DEFINED IDENTIFIER
90   65                  | DEFINED '(' IDENTIFIER ')'
91   66                  | preprocessing_token
92
93   67 conditional_tokens: conditional_token
94   68                   | conditional_tokens conditional_token
95
96   69 pp_tokens: preprocessing_token
97   70          | pp_tokens preprocessing_token
98
99   71 preprocessing_token: IDENTIFIER
100   72                    | INTEGER_STRING
101   73                    | operator
102   74                    | OTHER
103   75                    | SPACE
104
105   76 operator: '['
106   77         | ']'
107   78         | '('
108   79         | ')'
109   80         | '{'
110   81         | '}'
111   82         | '.'
112   83         | '&'
113   84         | '*'
114   85         | '+'
115   86         | '-'
116   87         | '~'
117   88         | '!'
118   89         | '/'
119   90         | '%'
120   91         | LEFT_SHIFT
121   92         | RIGHT_SHIFT
122   93         | '<'
123   94         | '>'
124   95         | LESS_OR_EQUAL
125   96         | GREATER_OR_EQUAL
126   97         | EQUAL
127   98         | NOT_EQUAL
128   99         | '^'
129  100         | '|'
130  101         | AND
131  102         | OR
132  103         | ';'
133  104         | ','
134  105         | '='
135  106         | PASTE
136
137
138Terminals, with rules where they appear
139
140$end (0) 0
141'!' (33) 50 88
142'%' (37) 47 90
143'&' (38) 36 83
144'(' (40) 12 13 54 65 78
145')' (41) 12 13 54 65 79
146'*' (42) 49 84
147'+' (43) 46 53 85
148',' (44) 56 104
149'-' (45) 45 52 86
150'.' (46) 82
151'/' (47) 48 89
152';' (59) 103
153'<' (60) 42 93
154'=' (61) 105
155'>' (62) 41 94
156'[' (91) 76
157']' (93) 77
158'^' (94) 35 99
159'{' (123) 80
160'|' (124) 34 100
161'}' (125) 81
162'~' (126) 51 87
163error (256)
164COMMA_FINAL (258)
165DEFINED (259) 64 65
166ELIF_EXPANDED (260) 8
167HASH (261) 6 27
168HASH_DEFINE (262) 11 12 13
169FUNC_IDENTIFIER (263) 12 13
170OBJ_IDENTIFIER (264) 11
171HASH_ELIF (265) 20 21
172HASH_ELSE (266) 23
173HASH_ENDIF (267) 25
174HASH_IF (268) 16 17
175HASH_IFDEF (269) 18
176HASH_IFNDEF (270) 19
177HASH_LINE (271) 15
178HASH_UNDEF (272) 14
179HASH_VERSION (273) 26
180IDENTIFIER (274) 14 18 19 31 55 56 64 65 71
181IF_EXPANDED (275) 7
182INTEGER (276) 29
183INTEGER_STRING (277) 28 72
184LINE_EXPANDED (278) 9 10
185NEWLINE (279) 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 25 26 27
186    57 58 59
187OTHER (280) 74
188PLACEHOLDER (281)
189SPACE (282) 75
190PASTE (283) 106
191OR (284) 32 102
192AND (285) 33 101
193NOT_EQUAL (286) 37 98
194EQUAL (287) 38 97
195GREATER_OR_EQUAL (288) 39 96
196LESS_OR_EQUAL (289) 40 95
197RIGHT_SHIFT (290) 43 92
198LEFT_SHIFT (291) 44 91
199UNARY (292)
200
201
202Nonterminals, with rules where they appear
203
204$accept (60)
205    on left: 0
206input (61)
207    on left: 1 2, on right: 0 2
208line (62)
209    on left: 3 4 5 6, on right: 2
210expanded_line (63)
211    on left: 7 8 9 10, on right: 5
212control_line (64)
213    on left: 11 12 13 14 15 16 17 18 19 20 21 23 25 26 27, on right:
214    3
215$@1 (65)
216    on left: 22, on right: 23
217$@2 (66)
218    on left: 24, on right: 25
219integer_constant (67)
220    on left: 28 29, on right: 9 10 26 30
221expression (68)
222    on left: 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
223    48 49 50 51 52 53 54, on right: 7 8 32 33 34 35 36 37 38 39 40
224    41 42 43 44 45 46 47 48 49 50 51 52 53 54
225identifier_list (69)
226    on left: 55 56, on right: 13 56
227text_line (70)
228    on left: 57 58, on right: 4
229non_directive (71)
230    on left: 59, on right: 6
231replacement_list (72)
232    on left: 60 61, on right: 11 12 13
233junk (73)
234    on left: 62 63, on right: 18 19
235conditional_token (74)
236    on left: 64 65 66, on right: 67 68
237conditional_tokens (75)
238    on left: 67 68, on right: 16 20 68
239pp_tokens (76)
240    on left: 69 70, on right: 15 58 59 61 63 70
241preprocessing_token (77)
242    on left: 71 72 73 74 75, on right: 66 69 70
243operator (78)
244    on left: 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
245    94 95 96 97 98 99 100 101 102 103 104 105 106, on right: 73
246
247
248state 0
249
250    0 $accept: . input $end
251
252    $default  reduce using rule 1 (input)
253
254    input  go to state 1
255
256
257state 1
258
259    0 $accept: input . $end
260    2 input: input . line
261
262    $end              shift, and go to state 2
263    ELIF_EXPANDED     shift, and go to state 3
264    HASH              shift, and go to state 4
265    HASH_DEFINE       shift, and go to state 5
266    HASH_ELIF         shift, and go to state 6
267    HASH_ELSE         shift, and go to state 7
268    HASH_ENDIF        shift, and go to state 8
269    HASH_IF           shift, and go to state 9
270    HASH_IFDEF        shift, and go to state 10
271    HASH_IFNDEF       shift, and go to state 11
272    HASH_LINE         shift, and go to state 12
273    HASH_UNDEF        shift, and go to state 13
274    HASH_VERSION      shift, and go to state 14
275    IDENTIFIER        shift, and go to state 15
276    IF_EXPANDED       shift, and go to state 16
277    INTEGER_STRING    shift, and go to state 17
278    LINE_EXPANDED     shift, and go to state 18
279    NEWLINE           shift, and go to state 19
280    OTHER             shift, and go to state 20
281    SPACE             shift, and go to state 21
282    PASTE             shift, and go to state 22
283    OR                shift, and go to state 23
284    AND               shift, and go to state 24
285    '|'               shift, and go to state 25
286    '^'               shift, and go to state 26
287    '&'               shift, and go to state 27
288    NOT_EQUAL         shift, and go to state 28
289    EQUAL             shift, and go to state 29
290    '<'               shift, and go to state 30
291    '>'               shift, and go to state 31
292    GREATER_OR_EQUAL  shift, and go to state 32
293    LESS_OR_EQUAL     shift, and go to state 33
294    RIGHT_SHIFT       shift, and go to state 34
295    LEFT_SHIFT        shift, and go to state 35
296    '+'               shift, and go to state 36
297    '-'               shift, and go to state 37
298    '*'               shift, and go to state 38
299    '/'               shift, and go to state 39
300    '%'               shift, and go to state 40
301    '('               shift, and go to state 41
302    ')'               shift, and go to state 42
303    '!'               shift, and go to state 43
304    '~'               shift, and go to state 44
305    ','               shift, and go to state 45
306    '['               shift, and go to state 46
307    ']'               shift, and go to state 47
308    '{'               shift, and go to state 48
309    '}'               shift, and go to state 49
310    '.'               shift, and go to state 50
311    ';'               shift, and go to state 51
312    '='               shift, and go to state 52
313
314    line                 go to state 53
315    expanded_line        go to state 54
316    control_line         go to state 55
317    text_line            go to state 56
318    pp_tokens            go to state 57
319    preprocessing_token  go to state 58
320    operator             go to state 59
321
322
323state 2
324
325    0 $accept: input $end .
326
327    $default  accept
328
329
330state 3
331
332    8 expanded_line: ELIF_EXPANDED . expression NEWLINE
333
334    IDENTIFIER      shift, and go to state 60
335    INTEGER         shift, and go to state 61
336    INTEGER_STRING  shift, and go to state 62
337    '+'             shift, and go to state 63
338    '-'             shift, and go to state 64
339    '('             shift, and go to state 65
340    '!'             shift, and go to state 66
341    '~'             shift, and go to state 67
342
343    integer_constant  go to state 68
344    expression        go to state 69
345
346
347state 4
348
349    6 line: HASH . non_directive
350   27 control_line: HASH . NEWLINE
351
352    IDENTIFIER        shift, and go to state 15
353    INTEGER_STRING    shift, and go to state 17
354    NEWLINE           shift, and go to state 70
355    OTHER             shift, and go to state 20
356    SPACE             shift, and go to state 21
357    PASTE             shift, and go to state 22
358    OR                shift, and go to state 23
359    AND               shift, and go to state 24
360    '|'               shift, and go to state 25
361    '^'               shift, and go to state 26
362    '&'               shift, and go to state 27
363    NOT_EQUAL         shift, and go to state 28
364    EQUAL             shift, and go to state 29
365    '<'               shift, and go to state 30
366    '>'               shift, and go to state 31
367    GREATER_OR_EQUAL  shift, and go to state 32
368    LESS_OR_EQUAL     shift, and go to state 33
369    RIGHT_SHIFT       shift, and go to state 34
370    LEFT_SHIFT        shift, and go to state 35
371    '+'               shift, and go to state 36
372    '-'               shift, and go to state 37
373    '*'               shift, and go to state 38
374    '/'               shift, and go to state 39
375    '%'               shift, and go to state 40
376    '('               shift, and go to state 41
377    ')'               shift, and go to state 42
378    '!'               shift, and go to state 43
379    '~'               shift, and go to state 44
380    ','               shift, and go to state 45
381    '['               shift, and go to state 46
382    ']'               shift, and go to state 47
383    '{'               shift, and go to state 48
384    '}'               shift, and go to state 49
385    '.'               shift, and go to state 50
386    ';'               shift, and go to state 51
387    '='               shift, and go to state 52
388
389    non_directive        go to state 71
390    pp_tokens            go to state 72
391    preprocessing_token  go to state 58
392    operator             go to state 59
393
394
395state 5
396
397   11 control_line: HASH_DEFINE . OBJ_IDENTIFIER replacement_list NEWLINE
398   12             | HASH_DEFINE . FUNC_IDENTIFIER '(' ')' replacement_list NEWLINE
399   13             | HASH_DEFINE . FUNC_IDENTIFIER '(' identifier_list ')' replacement_list NEWLINE
400
401    FUNC_IDENTIFIER  shift, and go to state 73
402    OBJ_IDENTIFIER   shift, and go to state 74
403
404
405state 6
406
407   20 control_line: HASH_ELIF . conditional_tokens NEWLINE
408   21             | HASH_ELIF . NEWLINE
409
410    DEFINED           shift, and go to state 75
411    IDENTIFIER        shift, and go to state 15
412    INTEGER_STRING    shift, and go to state 17
413    NEWLINE           shift, and go to state 76
414    OTHER             shift, and go to state 20
415    SPACE             shift, and go to state 21
416    PASTE             shift, and go to state 22
417    OR                shift, and go to state 23
418    AND               shift, and go to state 24
419    '|'               shift, and go to state 25
420    '^'               shift, and go to state 26
421    '&'               shift, and go to state 27
422    NOT_EQUAL         shift, and go to state 28
423    EQUAL             shift, and go to state 29
424    '<'               shift, and go to state 30
425    '>'               shift, and go to state 31
426    GREATER_OR_EQUAL  shift, and go to state 32
427    LESS_OR_EQUAL     shift, and go to state 33
428    RIGHT_SHIFT       shift, and go to state 34
429    LEFT_SHIFT        shift, and go to state 35
430    '+'               shift, and go to state 36
431    '-'               shift, and go to state 37
432    '*'               shift, and go to state 38
433    '/'               shift, and go to state 39
434    '%'               shift, and go to state 40
435    '('               shift, and go to state 41
436    ')'               shift, and go to state 42
437    '!'               shift, and go to state 43
438    '~'               shift, and go to state 44
439    ','               shift, and go to state 45
440    '['               shift, and go to state 46
441    ']'               shift, and go to state 47
442    '{'               shift, and go to state 48
443    '}'               shift, and go to state 49
444    '.'               shift, and go to state 50
445    ';'               shift, and go to state 51
446    '='               shift, and go to state 52
447
448    conditional_token    go to state 77
449    conditional_tokens   go to state 78
450    preprocessing_token  go to state 79
451    operator             go to state 59
452
453
454state 7
455
456   23 control_line: HASH_ELSE . $@1 NEWLINE
457
458    $default  reduce using rule 22 ($@1)
459
460    $@1  go to state 80
461
462
463state 8
464
465   25 control_line: HASH_ENDIF . $@2 NEWLINE
466
467    $default  reduce using rule 24 ($@2)
468
469    $@2  go to state 81
470
471
472state 9
473
474   16 control_line: HASH_IF . conditional_tokens NEWLINE
475   17             | HASH_IF . NEWLINE
476
477    DEFINED           shift, and go to state 75
478    IDENTIFIER        shift, and go to state 15
479    INTEGER_STRING    shift, and go to state 17
480    NEWLINE           shift, and go to state 82
481    OTHER             shift, and go to state 20
482    SPACE             shift, and go to state 21
483    PASTE             shift, and go to state 22
484    OR                shift, and go to state 23
485    AND               shift, and go to state 24
486    '|'               shift, and go to state 25
487    '^'               shift, and go to state 26
488    '&'               shift, and go to state 27
489    NOT_EQUAL         shift, and go to state 28
490    EQUAL             shift, and go to state 29
491    '<'               shift, and go to state 30
492    '>'               shift, and go to state 31
493    GREATER_OR_EQUAL  shift, and go to state 32
494    LESS_OR_EQUAL     shift, and go to state 33
495    RIGHT_SHIFT       shift, and go to state 34
496    LEFT_SHIFT        shift, and go to state 35
497    '+'               shift, and go to state 36
498    '-'               shift, and go to state 37
499    '*'               shift, and go to state 38
500    '/'               shift, and go to state 39
501    '%'               shift, and go to state 40
502    '('               shift, and go to state 41
503    ')'               shift, and go to state 42
504    '!'               shift, and go to state 43
505    '~'               shift, and go to state 44
506    ','               shift, and go to state 45
507    '['               shift, and go to state 46
508    ']'               shift, and go to state 47
509    '{'               shift, and go to state 48
510    '}'               shift, and go to state 49
511    '.'               shift, and go to state 50
512    ';'               shift, and go to state 51
513    '='               shift, and go to state 52
514
515    conditional_token    go to state 77
516    conditional_tokens   go to state 83
517    preprocessing_token  go to state 79
518    operator             go to state 59
519
520
521state 10
522
523   18 control_line: HASH_IFDEF . IDENTIFIER junk NEWLINE
524
525    IDENTIFIER  shift, and go to state 84
526
527
528state 11
529
530   19 control_line: HASH_IFNDEF . IDENTIFIER junk NEWLINE
531
532    IDENTIFIER  shift, and go to state 85
533
534
535state 12
536
537   15 control_line: HASH_LINE . pp_tokens NEWLINE
538
539    IDENTIFIER        shift, and go to state 15
540    INTEGER_STRING    shift, and go to state 17
541    OTHER             shift, and go to state 20
542    SPACE             shift, and go to state 21
543    PASTE             shift, and go to state 22
544    OR                shift, and go to state 23
545    AND               shift, and go to state 24
546    '|'               shift, and go to state 25
547    '^'               shift, and go to state 26
548    '&'               shift, and go to state 27
549    NOT_EQUAL         shift, and go to state 28
550    EQUAL             shift, and go to state 29
551    '<'               shift, and go to state 30
552    '>'               shift, and go to state 31
553    GREATER_OR_EQUAL  shift, and go to state 32
554    LESS_OR_EQUAL     shift, and go to state 33
555    RIGHT_SHIFT       shift, and go to state 34
556    LEFT_SHIFT        shift, and go to state 35
557    '+'               shift, and go to state 36
558    '-'               shift, and go to state 37
559    '*'               shift, and go to state 38
560    '/'               shift, and go to state 39
561    '%'               shift, and go to state 40
562    '('               shift, and go to state 41
563    ')'               shift, and go to state 42
564    '!'               shift, and go to state 43
565    '~'               shift, and go to state 44
566    ','               shift, and go to state 45
567    '['               shift, and go to state 46
568    ']'               shift, and go to state 47
569    '{'               shift, and go to state 48
570    '}'               shift, and go to state 49
571    '.'               shift, and go to state 50
572    ';'               shift, and go to state 51
573    '='               shift, and go to state 52
574
575    pp_tokens            go to state 86
576    preprocessing_token  go to state 58
577    operator             go to state 59
578
579
580state 13
581
582   14 control_line: HASH_UNDEF . IDENTIFIER NEWLINE
583
584    IDENTIFIER  shift, and go to state 87
585
586
587state 14
588
589   26 control_line: HASH_VERSION . integer_constant NEWLINE
590
591    INTEGER         shift, and go to state 61
592    INTEGER_STRING  shift, and go to state 62
593
594    integer_constant  go to state 88
595
596
597state 15
598
599   71 preprocessing_token: IDENTIFIER .
600
601    $default  reduce using rule 71 (preprocessing_token)
602
603
604state 16
605
606    7 expanded_line: IF_EXPANDED . expression NEWLINE
607
608    IDENTIFIER      shift, and go to state 60
609    INTEGER         shift, and go to state 61
610    INTEGER_STRING  shift, and go to state 62
611    '+'             shift, and go to state 63
612    '-'             shift, and go to state 64
613    '('             shift, and go to state 65
614    '!'             shift, and go to state 66
615    '~'             shift, and go to state 67
616
617    integer_constant  go to state 68
618    expression        go to state 89
619
620
621state 17
622
623   72 preprocessing_token: INTEGER_STRING .
624
625    $default  reduce using rule 72 (preprocessing_token)
626
627
628state 18
629
630    9 expanded_line: LINE_EXPANDED . integer_constant NEWLINE
631   10              | LINE_EXPANDED . integer_constant integer_constant NEWLINE
632
633    INTEGER         shift, and go to state 61
634    INTEGER_STRING  shift, and go to state 62
635
636    integer_constant  go to state 90
637
638
639state 19
640
641   57 text_line: NEWLINE .
642
643    $default  reduce using rule 57 (text_line)
644
645
646state 20
647
648   74 preprocessing_token: OTHER .
649
650    $default  reduce using rule 74 (preprocessing_token)
651
652
653state 21
654
655   75 preprocessing_token: SPACE .
656
657    $default  reduce using rule 75 (preprocessing_token)
658
659
660state 22
661
662  106 operator: PASTE .
663
664    $default  reduce using rule 106 (operator)
665
666
667state 23
668
669  102 operator: OR .
670
671    $default  reduce using rule 102 (operator)
672
673
674state 24
675
676  101 operator: AND .
677
678    $default  reduce using rule 101 (operator)
679
680
681state 25
682
683  100 operator: '|' .
684
685    $default  reduce using rule 100 (operator)
686
687
688state 26
689
690   99 operator: '^' .
691
692    $default  reduce using rule 99 (operator)
693
694
695state 27
696
697   83 operator: '&' .
698
699    $default  reduce using rule 83 (operator)
700
701
702state 28
703
704   98 operator: NOT_EQUAL .
705
706    $default  reduce using rule 98 (operator)
707
708
709state 29
710
711   97 operator: EQUAL .
712
713    $default  reduce using rule 97 (operator)
714
715
716state 30
717
718   93 operator: '<' .
719
720    $default  reduce using rule 93 (operator)
721
722
723state 31
724
725   94 operator: '>' .
726
727    $default  reduce using rule 94 (operator)
728
729
730state 32
731
732   96 operator: GREATER_OR_EQUAL .
733
734    $default  reduce using rule 96 (operator)
735
736
737state 33
738
739   95 operator: LESS_OR_EQUAL .
740
741    $default  reduce using rule 95 (operator)
742
743
744state 34
745
746   92 operator: RIGHT_SHIFT .
747
748    $default  reduce using rule 92 (operator)
749
750
751state 35
752
753   91 operator: LEFT_SHIFT .
754
755    $default  reduce using rule 91 (operator)
756
757
758state 36
759
760   85 operator: '+' .
761
762    $default  reduce using rule 85 (operator)
763
764
765state 37
766
767   86 operator: '-' .
768
769    $default  reduce using rule 86 (operator)
770
771
772state 38
773
774   84 operator: '*' .
775
776    $default  reduce using rule 84 (operator)
777
778
779state 39
780
781   89 operator: '/' .
782
783    $default  reduce using rule 89 (operator)
784
785
786state 40
787
788   90 operator: '%' .
789
790    $default  reduce using rule 90 (operator)
791
792
793state 41
794
795   78 operator: '(' .
796
797    $default  reduce using rule 78 (operator)
798
799
800state 42
801
802   79 operator: ')' .
803
804    $default  reduce using rule 79 (operator)
805
806
807state 43
808
809   88 operator: '!' .
810
811    $default  reduce using rule 88 (operator)
812
813
814state 44
815
816   87 operator: '~' .
817
818    $default  reduce using rule 87 (operator)
819
820
821state 45
822
823  104 operator: ',' .
824
825    $default  reduce using rule 104 (operator)
826
827
828state 46
829
830   76 operator: '[' .
831
832    $default  reduce using rule 76 (operator)
833
834
835state 47
836
837   77 operator: ']' .
838
839    $default  reduce using rule 77 (operator)
840
841
842state 48
843
844   80 operator: '{' .
845
846    $default  reduce using rule 80 (operator)
847
848
849state 49
850
851   81 operator: '}' .
852
853    $default  reduce using rule 81 (operator)
854
855
856state 50
857
858   82 operator: '.' .
859
860    $default  reduce using rule 82 (operator)
861
862
863state 51
864
865  103 operator: ';' .
866
867    $default  reduce using rule 103 (operator)
868
869
870state 52
871
872  105 operator: '=' .
873
874    $default  reduce using rule 105 (operator)
875
876
877state 53
878
879    2 input: input line .
880
881    $default  reduce using rule 2 (input)
882
883
884state 54
885
886    5 line: expanded_line .
887
888    $default  reduce using rule 5 (line)
889
890
891state 55
892
893    3 line: control_line .
894
895    $default  reduce using rule 3 (line)
896
897
898state 56
899
900    4 line: text_line .
901
902    $default  reduce using rule 4 (line)
903
904
905state 57
906
907   58 text_line: pp_tokens . NEWLINE
908   70 pp_tokens: pp_tokens . preprocessing_token
909
910    IDENTIFIER        shift, and go to state 15
911    INTEGER_STRING    shift, and go to state 17
912    NEWLINE           shift, and go to state 91
913    OTHER             shift, and go to state 20
914    SPACE             shift, and go to state 21
915    PASTE             shift, and go to state 22
916    OR                shift, and go to state 23
917    AND               shift, and go to state 24
918    '|'               shift, and go to state 25
919    '^'               shift, and go to state 26
920    '&'               shift, and go to state 27
921    NOT_EQUAL         shift, and go to state 28
922    EQUAL             shift, and go to state 29
923    '<'               shift, and go to state 30
924    '>'               shift, and go to state 31
925    GREATER_OR_EQUAL  shift, and go to state 32
926    LESS_OR_EQUAL     shift, and go to state 33
927    RIGHT_SHIFT       shift, and go to state 34
928    LEFT_SHIFT        shift, and go to state 35
929    '+'               shift, and go to state 36
930    '-'               shift, and go to state 37
931    '*'               shift, and go to state 38
932    '/'               shift, and go to state 39
933    '%'               shift, and go to state 40
934    '('               shift, and go to state 41
935    ')'               shift, and go to state 42
936    '!'               shift, and go to state 43
937    '~'               shift, and go to state 44
938    ','               shift, and go to state 45
939    '['               shift, and go to state 46
940    ']'               shift, and go to state 47
941    '{'               shift, and go to state 48
942    '}'               shift, and go to state 49
943    '.'               shift, and go to state 50
944    ';'               shift, and go to state 51
945    '='               shift, and go to state 52
946
947    preprocessing_token  go to state 92
948    operator             go to state 59
949
950
951state 58
952
953   69 pp_tokens: preprocessing_token .
954
955    $default  reduce using rule 69 (pp_tokens)
956
957
958state 59
959
960   73 preprocessing_token: operator .
961
962    $default  reduce using rule 73 (preprocessing_token)
963
964
965state 60
966
967   31 expression: IDENTIFIER .
968
969    $default  reduce using rule 31 (expression)
970
971
972state 61
973
974   29 integer_constant: INTEGER .
975
976    $default  reduce using rule 29 (integer_constant)
977
978
979state 62
980
981   28 integer_constant: INTEGER_STRING .
982
983    $default  reduce using rule 28 (integer_constant)
984
985
986state 63
987
988   53 expression: '+' . expression
989
990    IDENTIFIER      shift, and go to state 60
991    INTEGER         shift, and go to state 61
992    INTEGER_STRING  shift, and go to state 62
993    '+'             shift, and go to state 63
994    '-'             shift, and go to state 64
995    '('             shift, and go to state 65
996    '!'             shift, and go to state 66
997    '~'             shift, and go to state 67
998
999    integer_constant  go to state 68
1000    expression        go to state 93
1001
1002
1003state 64
1004
1005   52 expression: '-' . expression
1006
1007    IDENTIFIER      shift, and go to state 60
1008    INTEGER         shift, and go to state 61
1009    INTEGER_STRING  shift, and go to state 62
1010    '+'             shift, and go to state 63
1011    '-'             shift, and go to state 64
1012    '('             shift, and go to state 65
1013    '!'             shift, and go to state 66
1014    '~'             shift, and go to state 67
1015
1016    integer_constant  go to state 68
1017    expression        go to state 94
1018
1019
1020state 65
1021
1022   54 expression: '(' . expression ')'
1023
1024    IDENTIFIER      shift, and go to state 60
1025    INTEGER         shift, and go to state 61
1026    INTEGER_STRING  shift, and go to state 62
1027    '+'             shift, and go to state 63
1028    '-'             shift, and go to state 64
1029    '('             shift, and go to state 65
1030    '!'             shift, and go to state 66
1031    '~'             shift, and go to state 67
1032
1033    integer_constant  go to state 68
1034    expression        go to state 95
1035
1036
1037state 66
1038
1039   50 expression: '!' . expression
1040
1041    IDENTIFIER      shift, and go to state 60
1042    INTEGER         shift, and go to state 61
1043    INTEGER_STRING  shift, and go to state 62
1044    '+'             shift, and go to state 63
1045    '-'             shift, and go to state 64
1046    '('             shift, and go to state 65
1047    '!'             shift, and go to state 66
1048    '~'             shift, and go to state 67
1049
1050    integer_constant  go to state 68
1051    expression        go to state 96
1052
1053
1054state 67
1055
1056   51 expression: '~' . expression
1057
1058    IDENTIFIER      shift, and go to state 60
1059    INTEGER         shift, and go to state 61
1060    INTEGER_STRING  shift, and go to state 62
1061    '+'             shift, and go to state 63
1062    '-'             shift, and go to state 64
1063    '('             shift, and go to state 65
1064    '!'             shift, and go to state 66
1065    '~'             shift, and go to state 67
1066
1067    integer_constant  go to state 68
1068    expression        go to state 97
1069
1070
1071state 68
1072
1073   30 expression: integer_constant .
1074
1075    $default  reduce using rule 30 (expression)
1076
1077
1078state 69
1079
1080    8 expanded_line: ELIF_EXPANDED expression . NEWLINE
1081   32 expression: expression . OR expression
1082   33           | expression . AND expression
1083   34           | expression . '|' expression
1084   35           | expression . '^' expression
1085   36           | expression . '&' expression
1086   37           | expression . NOT_EQUAL expression
1087   38           | expression . EQUAL expression
1088   39           | expression . GREATER_OR_EQUAL expression
1089   40           | expression . LESS_OR_EQUAL expression
1090   41           | expression . '>' expression
1091   42           | expression . '<' expression
1092   43           | expression . RIGHT_SHIFT expression
1093   44           | expression . LEFT_SHIFT expression
1094   45           | expression . '-' expression
1095   46           | expression . '+' expression
1096   47           | expression . '%' expression
1097   48           | expression . '/' expression
1098   49           | expression . '*' expression
1099
1100    NEWLINE           shift, and go to state 98
1101    OR                shift, and go to state 99
1102    AND               shift, and go to state 100
1103    '|'               shift, and go to state 101
1104    '^'               shift, and go to state 102
1105    '&'               shift, and go to state 103
1106    NOT_EQUAL         shift, and go to state 104
1107    EQUAL             shift, and go to state 105
1108    '<'               shift, and go to state 106
1109    '>'               shift, and go to state 107
1110    GREATER_OR_EQUAL  shift, and go to state 108
1111    LESS_OR_EQUAL     shift, and go to state 109
1112    RIGHT_SHIFT       shift, and go to state 110
1113    LEFT_SHIFT        shift, and go to state 111
1114    '+'               shift, and go to state 112
1115    '-'               shift, and go to state 113
1116    '*'               shift, and go to state 114
1117    '/'               shift, and go to state 115
1118    '%'               shift, and go to state 116
1119
1120
1121state 70
1122
1123   27 control_line: HASH NEWLINE .
1124
1125    $default  reduce using rule 27 (control_line)
1126
1127
1128state 71
1129
1130    6 line: HASH non_directive .
1131
1132    $default  reduce using rule 6 (line)
1133
1134
1135state 72
1136
1137   59 non_directive: pp_tokens . NEWLINE
1138   70 pp_tokens: pp_tokens . preprocessing_token
1139
1140    IDENTIFIER        shift, and go to state 15
1141    INTEGER_STRING    shift, and go to state 17
1142    NEWLINE           shift, and go to state 117
1143    OTHER             shift, and go to state 20
1144    SPACE             shift, and go to state 21
1145    PASTE             shift, and go to state 22
1146    OR                shift, and go to state 23
1147    AND               shift, and go to state 24
1148    '|'               shift, and go to state 25
1149    '^'               shift, and go to state 26
1150    '&'               shift, and go to state 27
1151    NOT_EQUAL         shift, and go to state 28
1152    EQUAL             shift, and go to state 29
1153    '<'               shift, and go to state 30
1154    '>'               shift, and go to state 31
1155    GREATER_OR_EQUAL  shift, and go to state 32
1156    LESS_OR_EQUAL     shift, and go to state 33
1157    RIGHT_SHIFT       shift, and go to state 34
1158    LEFT_SHIFT        shift, and go to state 35
1159    '+'               shift, and go to state 36
1160    '-'               shift, and go to state 37
1161    '*'               shift, and go to state 38
1162    '/'               shift, and go to state 39
1163    '%'               shift, and go to state 40
1164    '('               shift, and go to state 41
1165    ')'               shift, and go to state 42
1166    '!'               shift, and go to state 43
1167    '~'               shift, and go to state 44
1168    ','               shift, and go to state 45
1169    '['               shift, and go to state 46
1170    ']'               shift, and go to state 47
1171    '{'               shift, and go to state 48
1172    '}'               shift, and go to state 49
1173    '.'               shift, and go to state 50
1174    ';'               shift, and go to state 51
1175    '='               shift, and go to state 52
1176
1177    preprocessing_token  go to state 92
1178    operator             go to state 59
1179
1180
1181state 73
1182
1183   12 control_line: HASH_DEFINE FUNC_IDENTIFIER . '(' ')' replacement_list NEWLINE
1184   13             | HASH_DEFINE FUNC_IDENTIFIER . '(' identifier_list ')' replacement_list NEWLINE
1185
1186    '('  shift, and go to state 118
1187
1188
1189state 74
1190
1191   11 control_line: HASH_DEFINE OBJ_IDENTIFIER . replacement_list NEWLINE
1192
1193    IDENTIFIER        shift, and go to state 15
1194    INTEGER_STRING    shift, and go to state 17
1195    OTHER             shift, and go to state 20
1196    SPACE             shift, and go to state 21
1197    PASTE             shift, and go to state 22
1198    OR                shift, and go to state 23
1199    AND               shift, and go to state 24
1200    '|'               shift, and go to state 25
1201    '^'               shift, and go to state 26
1202    '&'               shift, and go to state 27
1203    NOT_EQUAL         shift, and go to state 28
1204    EQUAL             shift, and go to state 29
1205    '<'               shift, and go to state 30
1206    '>'               shift, and go to state 31
1207    GREATER_OR_EQUAL  shift, and go to state 32
1208    LESS_OR_EQUAL     shift, and go to state 33
1209    RIGHT_SHIFT       shift, and go to state 34
1210    LEFT_SHIFT        shift, and go to state 35
1211    '+'               shift, and go to state 36
1212    '-'               shift, and go to state 37
1213    '*'               shift, and go to state 38
1214    '/'               shift, and go to state 39
1215    '%'               shift, and go to state 40
1216    '('               shift, and go to state 41
1217    ')'               shift, and go to state 42
1218    '!'               shift, and go to state 43
1219    '~'               shift, and go to state 44
1220    ','               shift, and go to state 45
1221    '['               shift, and go to state 46
1222    ']'               shift, and go to state 47
1223    '{'               shift, and go to state 48
1224    '}'               shift, and go to state 49
1225    '.'               shift, and go to state 50
1226    ';'               shift, and go to state 51
1227    '='               shift, and go to state 52
1228
1229    $default  reduce using rule 60 (replacement_list)
1230
1231    replacement_list     go to state 119
1232    pp_tokens            go to state 120
1233    preprocessing_token  go to state 58
1234    operator             go to state 59
1235
1236
1237state 75
1238
1239   64 conditional_token: DEFINED . IDENTIFIER
1240   65                  | DEFINED . '(' IDENTIFIER ')'
1241
1242    IDENTIFIER  shift, and go to state 121
1243    '('         shift, and go to state 122
1244
1245
1246state 76
1247
1248   21 control_line: HASH_ELIF NEWLINE .
1249
1250    $default  reduce using rule 21 (control_line)
1251
1252
1253state 77
1254
1255   67 conditional_tokens: conditional_token .
1256
1257    $default  reduce using rule 67 (conditional_tokens)
1258
1259
1260state 78
1261
1262   20 control_line: HASH_ELIF conditional_tokens . NEWLINE
1263   68 conditional_tokens: conditional_tokens . conditional_token
1264
1265    DEFINED           shift, and go to state 75
1266    IDENTIFIER        shift, and go to state 15
1267    INTEGER_STRING    shift, and go to state 17
1268    NEWLINE           shift, and go to state 123
1269    OTHER             shift, and go to state 20
1270    SPACE             shift, and go to state 21
1271    PASTE             shift, and go to state 22
1272    OR                shift, and go to state 23
1273    AND               shift, and go to state 24
1274    '|'               shift, and go to state 25
1275    '^'               shift, and go to state 26
1276    '&'               shift, and go to state 27
1277    NOT_EQUAL         shift, and go to state 28
1278    EQUAL             shift, and go to state 29
1279    '<'               shift, and go to state 30
1280    '>'               shift, and go to state 31
1281    GREATER_OR_EQUAL  shift, and go to state 32
1282    LESS_OR_EQUAL     shift, and go to state 33
1283    RIGHT_SHIFT       shift, and go to state 34
1284    LEFT_SHIFT        shift, and go to state 35
1285    '+'               shift, and go to state 36
1286    '-'               shift, and go to state 37
1287    '*'               shift, and go to state 38
1288    '/'               shift, and go to state 39
1289    '%'               shift, and go to state 40
1290    '('               shift, and go to state 41
1291    ')'               shift, and go to state 42
1292    '!'               shift, and go to state 43
1293    '~'               shift, and go to state 44
1294    ','               shift, and go to state 45
1295    '['               shift, and go to state 46
1296    ']'               shift, and go to state 47
1297    '{'               shift, and go to state 48
1298    '}'               shift, and go to state 49
1299    '.'               shift, and go to state 50
1300    ';'               shift, and go to state 51
1301    '='               shift, and go to state 52
1302
1303    conditional_token    go to state 124
1304    preprocessing_token  go to state 79
1305    operator             go to state 59
1306
1307
1308state 79
1309
1310   66 conditional_token: preprocessing_token .
1311
1312    $default  reduce using rule 66 (conditional_token)
1313
1314
1315state 80
1316
1317   23 control_line: HASH_ELSE $@1 . NEWLINE
1318
1319    NEWLINE  shift, and go to state 125
1320
1321
1322state 81
1323
1324   25 control_line: HASH_ENDIF $@2 . NEWLINE
1325
1326    NEWLINE  shift, and go to state 126
1327
1328
1329state 82
1330
1331   17 control_line: HASH_IF NEWLINE .
1332
1333    $default  reduce using rule 17 (control_line)
1334
1335
1336state 83
1337
1338   16 control_line: HASH_IF conditional_tokens . NEWLINE
1339   68 conditional_tokens: conditional_tokens . conditional_token
1340
1341    DEFINED           shift, and go to state 75
1342    IDENTIFIER        shift, and go to state 15
1343    INTEGER_STRING    shift, and go to state 17
1344    NEWLINE           shift, and go to state 127
1345    OTHER             shift, and go to state 20
1346    SPACE             shift, and go to state 21
1347    PASTE             shift, and go to state 22
1348    OR                shift, and go to state 23
1349    AND               shift, and go to state 24
1350    '|'               shift, and go to state 25
1351    '^'               shift, and go to state 26
1352    '&'               shift, and go to state 27
1353    NOT_EQUAL         shift, and go to state 28
1354    EQUAL             shift, and go to state 29
1355    '<'               shift, and go to state 30
1356    '>'               shift, and go to state 31
1357    GREATER_OR_EQUAL  shift, and go to state 32
1358    LESS_OR_EQUAL     shift, and go to state 33
1359    RIGHT_SHIFT       shift, and go to state 34
1360    LEFT_SHIFT        shift, and go to state 35
1361    '+'               shift, and go to state 36
1362    '-'               shift, and go to state 37
1363    '*'               shift, and go to state 38
1364    '/'               shift, and go to state 39
1365    '%'               shift, and go to state 40
1366    '('               shift, and go to state 41
1367    ')'               shift, and go to state 42
1368    '!'               shift, and go to state 43
1369    '~'               shift, and go to state 44
1370    ','               shift, and go to state 45
1371    '['               shift, and go to state 46
1372    ']'               shift, and go to state 47
1373    '{'               shift, and go to state 48
1374    '}'               shift, and go to state 49
1375    '.'               shift, and go to state 50
1376    ';'               shift, and go to state 51
1377    '='               shift, and go to state 52
1378
1379    conditional_token    go to state 124
1380    preprocessing_token  go to state 79
1381    operator             go to state 59
1382
1383
1384state 84
1385
1386   18 control_line: HASH_IFDEF IDENTIFIER . junk NEWLINE
1387
1388    IDENTIFIER        shift, and go to state 15
1389    INTEGER_STRING    shift, and go to state 17
1390    OTHER             shift, and go to state 20
1391    SPACE             shift, and go to state 21
1392    PASTE             shift, and go to state 22
1393    OR                shift, and go to state 23
1394    AND               shift, and go to state 24
1395    '|'               shift, and go to state 25
1396    '^'               shift, and go to state 26
1397    '&'               shift, and go to state 27
1398    NOT_EQUAL         shift, and go to state 28
1399    EQUAL             shift, and go to state 29
1400    '<'               shift, and go to state 30
1401    '>'               shift, and go to state 31
1402    GREATER_OR_EQUAL  shift, and go to state 32
1403    LESS_OR_EQUAL     shift, and go to state 33
1404    RIGHT_SHIFT       shift, and go to state 34
1405    LEFT_SHIFT        shift, and go to state 35
1406    '+'               shift, and go to state 36
1407    '-'               shift, and go to state 37
1408    '*'               shift, and go to state 38
1409    '/'               shift, and go to state 39
1410    '%'               shift, and go to state 40
1411    '('               shift, and go to state 41
1412    ')'               shift, and go to state 42
1413    '!'               shift, and go to state 43
1414    '~'               shift, and go to state 44
1415    ','               shift, and go to state 45
1416    '['               shift, and go to state 46
1417    ']'               shift, and go to state 47
1418    '{'               shift, and go to state 48
1419    '}'               shift, and go to state 49
1420    '.'               shift, and go to state 50
1421    ';'               shift, and go to state 51
1422    '='               shift, and go to state 52
1423
1424    $default  reduce using rule 62 (junk)
1425
1426    junk                 go to state 128
1427    pp_tokens            go to state 129
1428    preprocessing_token  go to state 58
1429    operator             go to state 59
1430
1431
1432state 85
1433
1434   19 control_line: HASH_IFNDEF IDENTIFIER . junk NEWLINE
1435
1436    IDENTIFIER        shift, and go to state 15
1437    INTEGER_STRING    shift, and go to state 17
1438    OTHER             shift, and go to state 20
1439    SPACE             shift, and go to state 21
1440    PASTE             shift, and go to state 22
1441    OR                shift, and go to state 23
1442    AND               shift, and go to state 24
1443    '|'               shift, and go to state 25
1444    '^'               shift, and go to state 26
1445    '&'               shift, and go to state 27
1446    NOT_EQUAL         shift, and go to state 28
1447    EQUAL             shift, and go to state 29
1448    '<'               shift, and go to state 30
1449    '>'               shift, and go to state 31
1450    GREATER_OR_EQUAL  shift, and go to state 32
1451    LESS_OR_EQUAL     shift, and go to state 33
1452    RIGHT_SHIFT       shift, and go to state 34
1453    LEFT_SHIFT        shift, and go to state 35
1454    '+'               shift, and go to state 36
1455    '-'               shift, and go to state 37
1456    '*'               shift, and go to state 38
1457    '/'               shift, and go to state 39
1458    '%'               shift, and go to state 40
1459    '('               shift, and go to state 41
1460    ')'               shift, and go to state 42
1461    '!'               shift, and go to state 43
1462    '~'               shift, and go to state 44
1463    ','               shift, and go to state 45
1464    '['               shift, and go to state 46
1465    ']'               shift, and go to state 47
1466    '{'               shift, and go to state 48
1467    '}'               shift, and go to state 49
1468    '.'               shift, and go to state 50
1469    ';'               shift, and go to state 51
1470    '='               shift, and go to state 52
1471
1472    $default  reduce using rule 62 (junk)
1473
1474    junk                 go to state 130
1475    pp_tokens            go to state 129
1476    preprocessing_token  go to state 58
1477    operator             go to state 59
1478
1479
1480state 86
1481
1482   15 control_line: HASH_LINE pp_tokens . NEWLINE
1483   70 pp_tokens: pp_tokens . preprocessing_token
1484
1485    IDENTIFIER        shift, and go to state 15
1486    INTEGER_STRING    shift, and go to state 17
1487    NEWLINE           shift, and go to state 131
1488    OTHER             shift, and go to state 20
1489    SPACE             shift, and go to state 21
1490    PASTE             shift, and go to state 22
1491    OR                shift, and go to state 23
1492    AND               shift, and go to state 24
1493    '|'               shift, and go to state 25
1494    '^'               shift, and go to state 26
1495    '&'               shift, and go to state 27
1496    NOT_EQUAL         shift, and go to state 28
1497    EQUAL             shift, and go to state 29
1498    '<'               shift, and go to state 30
1499    '>'               shift, and go to state 31
1500    GREATER_OR_EQUAL  shift, and go to state 32
1501    LESS_OR_EQUAL     shift, and go to state 33
1502    RIGHT_SHIFT       shift, and go to state 34
1503    LEFT_SHIFT        shift, and go to state 35
1504    '+'               shift, and go to state 36
1505    '-'               shift, and go to state 37
1506    '*'               shift, and go to state 38
1507    '/'               shift, and go to state 39
1508    '%'               shift, and go to state 40
1509    '('               shift, and go to state 41
1510    ')'               shift, and go to state 42
1511    '!'               shift, and go to state 43
1512    '~'               shift, and go to state 44
1513    ','               shift, and go to state 45
1514    '['               shift, and go to state 46
1515    ']'               shift, and go to state 47
1516    '{'               shift, and go to state 48
1517    '}'               shift, and go to state 49
1518    '.'               shift, and go to state 50
1519    ';'               shift, and go to state 51
1520    '='               shift, and go to state 52
1521
1522    preprocessing_token  go to state 92
1523    operator             go to state 59
1524
1525
1526state 87
1527
1528   14 control_line: HASH_UNDEF IDENTIFIER . NEWLINE
1529
1530    NEWLINE  shift, and go to state 132
1531
1532
1533state 88
1534
1535   26 control_line: HASH_VERSION integer_constant . NEWLINE
1536
1537    NEWLINE  shift, and go to state 133
1538
1539
1540state 89
1541
1542    7 expanded_line: IF_EXPANDED expression . NEWLINE
1543   32 expression: expression . OR expression
1544   33           | expression . AND expression
1545   34           | expression . '|' expression
1546   35           | expression . '^' expression
1547   36           | expression . '&' expression
1548   37           | expression . NOT_EQUAL expression
1549   38           | expression . EQUAL expression
1550   39           | expression . GREATER_OR_EQUAL expression
1551   40           | expression . LESS_OR_EQUAL expression
1552   41           | expression . '>' expression
1553   42           | expression . '<' expression
1554   43           | expression . RIGHT_SHIFT expression
1555   44           | expression . LEFT_SHIFT expression
1556   45           | expression . '-' expression
1557   46           | expression . '+' expression
1558   47           | expression . '%' expression
1559   48           | expression . '/' expression
1560   49           | expression . '*' expression
1561
1562    NEWLINE           shift, and go to state 134
1563    OR                shift, and go to state 99
1564    AND               shift, and go to state 100
1565    '|'               shift, and go to state 101
1566    '^'               shift, and go to state 102
1567    '&'               shift, and go to state 103
1568    NOT_EQUAL         shift, and go to state 104
1569    EQUAL             shift, and go to state 105
1570    '<'               shift, and go to state 106
1571    '>'               shift, and go to state 107
1572    GREATER_OR_EQUAL  shift, and go to state 108
1573    LESS_OR_EQUAL     shift, and go to state 109
1574    RIGHT_SHIFT       shift, and go to state 110
1575    LEFT_SHIFT        shift, and go to state 111
1576    '+'               shift, and go to state 112
1577    '-'               shift, and go to state 113
1578    '*'               shift, and go to state 114
1579    '/'               shift, and go to state 115
1580    '%'               shift, and go to state 116
1581
1582
1583state 90
1584
1585    9 expanded_line: LINE_EXPANDED integer_constant . NEWLINE
1586   10              | LINE_EXPANDED integer_constant . integer_constant NEWLINE
1587
1588    INTEGER         shift, and go to state 61
1589    INTEGER_STRING  shift, and go to state 62
1590    NEWLINE         shift, and go to state 135
1591
1592    integer_constant  go to state 136
1593
1594
1595state 91
1596
1597   58 text_line: pp_tokens NEWLINE .
1598
1599    $default  reduce using rule 58 (text_line)
1600
1601
1602state 92
1603
1604   70 pp_tokens: pp_tokens preprocessing_token .
1605
1606    $default  reduce using rule 70 (pp_tokens)
1607
1608
1609state 93
1610
1611   32 expression: expression . OR expression
1612   33           | expression . AND expression
1613   34           | expression . '|' expression
1614   35           | expression . '^' expression
1615   36           | expression . '&' expression
1616   37           | expression . NOT_EQUAL expression
1617   38           | expression . EQUAL expression
1618   39           | expression . GREATER_OR_EQUAL expression
1619   40           | expression . LESS_OR_EQUAL expression
1620   41           | expression . '>' expression
1621   42           | expression . '<' expression
1622   43           | expression . RIGHT_SHIFT expression
1623   44           | expression . LEFT_SHIFT expression
1624   45           | expression . '-' expression
1625   46           | expression . '+' expression
1626   47           | expression . '%' expression
1627   48           | expression . '/' expression
1628   49           | expression . '*' expression
1629   53           | '+' expression .
1630
1631    $default  reduce using rule 53 (expression)
1632
1633
1634state 94
1635
1636   32 expression: expression . OR expression
1637   33           | expression . AND expression
1638   34           | expression . '|' expression
1639   35           | expression . '^' expression
1640   36           | expression . '&' expression
1641   37           | expression . NOT_EQUAL expression
1642   38           | expression . EQUAL expression
1643   39           | expression . GREATER_OR_EQUAL expression
1644   40           | expression . LESS_OR_EQUAL expression
1645   41           | expression . '>' expression
1646   42           | expression . '<' expression
1647   43           | expression . RIGHT_SHIFT expression
1648   44           | expression . LEFT_SHIFT expression
1649   45           | expression . '-' expression
1650   46           | expression . '+' expression
1651   47           | expression . '%' expression
1652   48           | expression . '/' expression
1653   49           | expression . '*' expression
1654   52           | '-' expression .
1655
1656    $default  reduce using rule 52 (expression)
1657
1658
1659state 95
1660
1661   32 expression: expression . OR expression
1662   33           | expression . AND expression
1663   34           | expression . '|' expression
1664   35           | expression . '^' expression
1665   36           | expression . '&' expression
1666   37           | expression . NOT_EQUAL expression
1667   38           | expression . EQUAL expression
1668   39           | expression . GREATER_OR_EQUAL expression
1669   40           | expression . LESS_OR_EQUAL expression
1670   41           | expression . '>' expression
1671   42           | expression . '<' expression
1672   43           | expression . RIGHT_SHIFT expression
1673   44           | expression . LEFT_SHIFT expression
1674   45           | expression . '-' expression
1675   46           | expression . '+' expression
1676   47           | expression . '%' expression
1677   48           | expression . '/' expression
1678   49           | expression . '*' expression
1679   54           | '(' expression . ')'
1680
1681    OR                shift, and go to state 99
1682    AND               shift, and go to state 100
1683    '|'               shift, and go to state 101
1684    '^'               shift, and go to state 102
1685    '&'               shift, and go to state 103
1686    NOT_EQUAL         shift, and go to state 104
1687    EQUAL             shift, and go to state 105
1688    '<'               shift, and go to state 106
1689    '>'               shift, and go to state 107
1690    GREATER_OR_EQUAL  shift, and go to state 108
1691    LESS_OR_EQUAL     shift, and go to state 109
1692    RIGHT_SHIFT       shift, and go to state 110
1693    LEFT_SHIFT        shift, and go to state 111
1694    '+'               shift, and go to state 112
1695    '-'               shift, and go to state 113
1696    '*'               shift, and go to state 114
1697    '/'               shift, and go to state 115
1698    '%'               shift, and go to state 116
1699    ')'               shift, and go to state 137
1700
1701
1702state 96
1703
1704   32 expression: expression . OR expression
1705   33           | expression . AND expression
1706   34           | expression . '|' expression
1707   35           | expression . '^' expression
1708   36           | expression . '&' expression
1709   37           | expression . NOT_EQUAL expression
1710   38           | expression . EQUAL expression
1711   39           | expression . GREATER_OR_EQUAL expression
1712   40           | expression . LESS_OR_EQUAL expression
1713   41           | expression . '>' expression
1714   42           | expression . '<' expression
1715   43           | expression . RIGHT_SHIFT expression
1716   44           | expression . LEFT_SHIFT expression
1717   45           | expression . '-' expression
1718   46           | expression . '+' expression
1719   47           | expression . '%' expression
1720   48           | expression . '/' expression
1721   49           | expression . '*' expression
1722   50           | '!' expression .
1723
1724    $default  reduce using rule 50 (expression)
1725
1726
1727state 97
1728
1729   32 expression: expression . OR expression
1730   33           | expression . AND expression
1731   34           | expression . '|' expression
1732   35           | expression . '^' expression
1733   36           | expression . '&' expression
1734   37           | expression . NOT_EQUAL expression
1735   38           | expression . EQUAL expression
1736   39           | expression . GREATER_OR_EQUAL expression
1737   40           | expression . LESS_OR_EQUAL expression
1738   41           | expression . '>' expression
1739   42           | expression . '<' expression
1740   43           | expression . RIGHT_SHIFT expression
1741   44           | expression . LEFT_SHIFT expression
1742   45           | expression . '-' expression
1743   46           | expression . '+' expression
1744   47           | expression . '%' expression
1745   48           | expression . '/' expression
1746   49           | expression . '*' expression
1747   51           | '~' expression .
1748
1749    $default  reduce using rule 51 (expression)
1750
1751
1752state 98
1753
1754    8 expanded_line: ELIF_EXPANDED expression NEWLINE .
1755
1756    $default  reduce using rule 8 (expanded_line)
1757
1758
1759state 99
1760
1761   32 expression: expression OR . expression
1762
1763    IDENTIFIER      shift, and go to state 60
1764    INTEGER         shift, and go to state 61
1765    INTEGER_STRING  shift, and go to state 62
1766    '+'             shift, and go to state 63
1767    '-'             shift, and go to state 64
1768    '('             shift, and go to state 65
1769    '!'             shift, and go to state 66
1770    '~'             shift, and go to state 67
1771
1772    integer_constant  go to state 68
1773    expression        go to state 138
1774
1775
1776state 100
1777
1778   33 expression: expression AND . expression
1779
1780    IDENTIFIER      shift, and go to state 60
1781    INTEGER         shift, and go to state 61
1782    INTEGER_STRING  shift, and go to state 62
1783    '+'             shift, and go to state 63
1784    '-'             shift, and go to state 64
1785    '('             shift, and go to state 65
1786    '!'             shift, and go to state 66
1787    '~'             shift, and go to state 67
1788
1789    integer_constant  go to state 68
1790    expression        go to state 139
1791
1792
1793state 101
1794
1795   34 expression: expression '|' . expression
1796
1797    IDENTIFIER      shift, and go to state 60
1798    INTEGER         shift, and go to state 61
1799    INTEGER_STRING  shift, and go to state 62
1800    '+'             shift, and go to state 63
1801    '-'             shift, and go to state 64
1802    '('             shift, and go to state 65
1803    '!'             shift, and go to state 66
1804    '~'             shift, and go to state 67
1805
1806    integer_constant  go to state 68
1807    expression        go to state 140
1808
1809
1810state 102
1811
1812   35 expression: expression '^' . expression
1813
1814    IDENTIFIER      shift, and go to state 60
1815    INTEGER         shift, and go to state 61
1816    INTEGER_STRING  shift, and go to state 62
1817    '+'             shift, and go to state 63
1818    '-'             shift, and go to state 64
1819    '('             shift, and go to state 65
1820    '!'             shift, and go to state 66
1821    '~'             shift, and go to state 67
1822
1823    integer_constant  go to state 68
1824    expression        go to state 141
1825
1826
1827state 103
1828
1829   36 expression: expression '&' . expression
1830
1831    IDENTIFIER      shift, and go to state 60
1832    INTEGER         shift, and go to state 61
1833    INTEGER_STRING  shift, and go to state 62
1834    '+'             shift, and go to state 63
1835    '-'             shift, and go to state 64
1836    '('             shift, and go to state 65
1837    '!'             shift, and go to state 66
1838    '~'             shift, and go to state 67
1839
1840    integer_constant  go to state 68
1841    expression        go to state 142
1842
1843
1844state 104
1845
1846   37 expression: expression NOT_EQUAL . expression
1847
1848    IDENTIFIER      shift, and go to state 60
1849    INTEGER         shift, and go to state 61
1850    INTEGER_STRING  shift, and go to state 62
1851    '+'             shift, and go to state 63
1852    '-'             shift, and go to state 64
1853    '('             shift, and go to state 65
1854    '!'             shift, and go to state 66
1855    '~'             shift, and go to state 67
1856
1857    integer_constant  go to state 68
1858    expression        go to state 143
1859
1860
1861state 105
1862
1863   38 expression: expression EQUAL . expression
1864
1865    IDENTIFIER      shift, and go to state 60
1866    INTEGER         shift, and go to state 61
1867    INTEGER_STRING  shift, and go to state 62
1868    '+'             shift, and go to state 63
1869    '-'             shift, and go to state 64
1870    '('             shift, and go to state 65
1871    '!'             shift, and go to state 66
1872    '~'             shift, and go to state 67
1873
1874    integer_constant  go to state 68
1875    expression        go to state 144
1876
1877
1878state 106
1879
1880   42 expression: expression '<' . expression
1881
1882    IDENTIFIER      shift, and go to state 60
1883    INTEGER         shift, and go to state 61
1884    INTEGER_STRING  shift, and go to state 62
1885    '+'             shift, and go to state 63
1886    '-'             shift, and go to state 64
1887    '('             shift, and go to state 65
1888    '!'             shift, and go to state 66
1889    '~'             shift, and go to state 67
1890
1891    integer_constant  go to state 68
1892    expression        go to state 145
1893
1894
1895state 107
1896
1897   41 expression: expression '>' . expression
1898
1899    IDENTIFIER      shift, and go to state 60
1900    INTEGER         shift, and go to state 61
1901    INTEGER_STRING  shift, and go to state 62
1902    '+'             shift, and go to state 63
1903    '-'             shift, and go to state 64
1904    '('             shift, and go to state 65
1905    '!'             shift, and go to state 66
1906    '~'             shift, and go to state 67
1907
1908    integer_constant  go to state 68
1909    expression        go to state 146
1910
1911
1912state 108
1913
1914   39 expression: expression GREATER_OR_EQUAL . expression
1915
1916    IDENTIFIER      shift, and go to state 60
1917    INTEGER         shift, and go to state 61
1918    INTEGER_STRING  shift, and go to state 62
1919    '+'             shift, and go to state 63
1920    '-'             shift, and go to state 64
1921    '('             shift, and go to state 65
1922    '!'             shift, and go to state 66
1923    '~'             shift, and go to state 67
1924
1925    integer_constant  go to state 68
1926    expression        go to state 147
1927
1928
1929state 109
1930
1931   40 expression: expression LESS_OR_EQUAL . expression
1932
1933    IDENTIFIER      shift, and go to state 60
1934    INTEGER         shift, and go to state 61
1935    INTEGER_STRING  shift, and go to state 62
1936    '+'             shift, and go to state 63
1937    '-'             shift, and go to state 64
1938    '('             shift, and go to state 65
1939    '!'             shift, and go to state 66
1940    '~'             shift, and go to state 67
1941
1942    integer_constant  go to state 68
1943    expression        go to state 148
1944
1945
1946state 110
1947
1948   43 expression: expression RIGHT_SHIFT . expression
1949
1950    IDENTIFIER      shift, and go to state 60
1951    INTEGER         shift, and go to state 61
1952    INTEGER_STRING  shift, and go to state 62
1953    '+'             shift, and go to state 63
1954    '-'             shift, and go to state 64
1955    '('             shift, and go to state 65
1956    '!'             shift, and go to state 66
1957    '~'             shift, and go to state 67
1958
1959    integer_constant  go to state 68
1960    expression        go to state 149
1961
1962
1963state 111
1964
1965   44 expression: expression LEFT_SHIFT . expression
1966
1967    IDENTIFIER      shift, and go to state 60
1968    INTEGER         shift, and go to state 61
1969    INTEGER_STRING  shift, and go to state 62
1970    '+'             shift, and go to state 63
1971    '-'             shift, and go to state 64
1972    '('             shift, and go to state 65
1973    '!'             shift, and go to state 66
1974    '~'             shift, and go to state 67
1975
1976    integer_constant  go to state 68
1977    expression        go to state 150
1978
1979
1980state 112
1981
1982   46 expression: expression '+' . expression
1983
1984    IDENTIFIER      shift, and go to state 60
1985    INTEGER         shift, and go to state 61
1986    INTEGER_STRING  shift, and go to state 62
1987    '+'             shift, and go to state 63
1988    '-'             shift, and go to state 64
1989    '('             shift, and go to state 65
1990    '!'             shift, and go to state 66
1991    '~'             shift, and go to state 67
1992
1993    integer_constant  go to state 68
1994    expression        go to state 151
1995
1996
1997state 113
1998
1999   45 expression: expression '-' . expression
2000
2001    IDENTIFIER      shift, and go to state 60
2002    INTEGER         shift, and go to state 61
2003    INTEGER_STRING  shift, and go to state 62
2004    '+'             shift, and go to state 63
2005    '-'             shift, and go to state 64
2006    '('             shift, and go to state 65
2007    '!'             shift, and go to state 66
2008    '~'             shift, and go to state 67
2009
2010    integer_constant  go to state 68
2011    expression        go to state 152
2012
2013
2014state 114
2015
2016   49 expression: expression '*' . expression
2017
2018    IDENTIFIER      shift, and go to state 60
2019    INTEGER         shift, and go to state 61
2020    INTEGER_STRING  shift, and go to state 62
2021    '+'             shift, and go to state 63
2022    '-'             shift, and go to state 64
2023    '('             shift, and go to state 65
2024    '!'             shift, and go to state 66
2025    '~'             shift, and go to state 67
2026
2027    integer_constant  go to state 68
2028    expression        go to state 153
2029
2030
2031state 115
2032
2033   48 expression: expression '/' . expression
2034
2035    IDENTIFIER      shift, and go to state 60
2036    INTEGER         shift, and go to state 61
2037    INTEGER_STRING  shift, and go to state 62
2038    '+'             shift, and go to state 63
2039    '-'             shift, and go to state 64
2040    '('             shift, and go to state 65
2041    '!'             shift, and go to state 66
2042    '~'             shift, and go to state 67
2043
2044    integer_constant  go to state 68
2045    expression        go to state 154
2046
2047
2048state 116
2049
2050   47 expression: expression '%' . expression
2051
2052    IDENTIFIER      shift, and go to state 60
2053    INTEGER         shift, and go to state 61
2054    INTEGER_STRING  shift, and go to state 62
2055    '+'             shift, and go to state 63
2056    '-'             shift, and go to state 64
2057    '('             shift, and go to state 65
2058    '!'             shift, and go to state 66
2059    '~'             shift, and go to state 67
2060
2061    integer_constant  go to state 68
2062    expression        go to state 155
2063
2064
2065state 117
2066
2067   59 non_directive: pp_tokens NEWLINE .
2068
2069    $default  reduce using rule 59 (non_directive)
2070
2071
2072state 118
2073
2074   12 control_line: HASH_DEFINE FUNC_IDENTIFIER '(' . ')' replacement_list NEWLINE
2075   13             | HASH_DEFINE FUNC_IDENTIFIER '(' . identifier_list ')' replacement_list NEWLINE
2076
2077    IDENTIFIER  shift, and go to state 156
2078    ')'         shift, and go to state 157
2079
2080    identifier_list  go to state 158
2081
2082
2083state 119
2084
2085   11 control_line: HASH_DEFINE OBJ_IDENTIFIER replacement_list . NEWLINE
2086
2087    NEWLINE  shift, and go to state 159
2088
2089
2090state 120
2091
2092   61 replacement_list: pp_tokens .
2093   70 pp_tokens: pp_tokens . preprocessing_token
2094
2095    IDENTIFIER        shift, and go to state 15
2096    INTEGER_STRING    shift, and go to state 17
2097    OTHER             shift, and go to state 20
2098    SPACE             shift, and go to state 21
2099    PASTE             shift, and go to state 22
2100    OR                shift, and go to state 23
2101    AND               shift, and go to state 24
2102    '|'               shift, and go to state 25
2103    '^'               shift, and go to state 26
2104    '&'               shift, and go to state 27
2105    NOT_EQUAL         shift, and go to state 28
2106    EQUAL             shift, and go to state 29
2107    '<'               shift, and go to state 30
2108    '>'               shift, and go to state 31
2109    GREATER_OR_EQUAL  shift, and go to state 32
2110    LESS_OR_EQUAL     shift, and go to state 33
2111    RIGHT_SHIFT       shift, and go to state 34
2112    LEFT_SHIFT        shift, and go to state 35
2113    '+'               shift, and go to state 36
2114    '-'               shift, and go to state 37
2115    '*'               shift, and go to state 38
2116    '/'               shift, and go to state 39
2117    '%'               shift, and go to state 40
2118    '('               shift, and go to state 41
2119    ')'               shift, and go to state 42
2120    '!'               shift, and go to state 43
2121    '~'               shift, and go to state 44
2122    ','               shift, and go to state 45
2123    '['               shift, and go to state 46
2124    ']'               shift, and go to state 47
2125    '{'               shift, and go to state 48
2126    '}'               shift, and go to state 49
2127    '.'               shift, and go to state 50
2128    ';'               shift, and go to state 51
2129    '='               shift, and go to state 52
2130
2131    $default  reduce using rule 61 (replacement_list)
2132
2133    preprocessing_token  go to state 92
2134    operator             go to state 59
2135
2136
2137state 121
2138
2139   64 conditional_token: DEFINED IDENTIFIER .
2140
2141    $default  reduce using rule 64 (conditional_token)
2142
2143
2144state 122
2145
2146   65 conditional_token: DEFINED '(' . IDENTIFIER ')'
2147
2148    IDENTIFIER  shift, and go to state 160
2149
2150
2151state 123
2152
2153   20 control_line: HASH_ELIF conditional_tokens NEWLINE .
2154
2155    $default  reduce using rule 20 (control_line)
2156
2157
2158state 124
2159
2160   68 conditional_tokens: conditional_tokens conditional_token .
2161
2162    $default  reduce using rule 68 (conditional_tokens)
2163
2164
2165state 125
2166
2167   23 control_line: HASH_ELSE $@1 NEWLINE .
2168
2169    $default  reduce using rule 23 (control_line)
2170
2171
2172state 126
2173
2174   25 control_line: HASH_ENDIF $@2 NEWLINE .
2175
2176    $default  reduce using rule 25 (control_line)
2177
2178
2179state 127
2180
2181   16 control_line: HASH_IF conditional_tokens NEWLINE .
2182
2183    $default  reduce using rule 16 (control_line)
2184
2185
2186state 128
2187
2188   18 control_line: HASH_IFDEF IDENTIFIER junk . NEWLINE
2189
2190    NEWLINE  shift, and go to state 161
2191
2192
2193state 129
2194
2195   63 junk: pp_tokens .
2196   70 pp_tokens: pp_tokens . preprocessing_token
2197
2198    IDENTIFIER        shift, and go to state 15
2199    INTEGER_STRING    shift, and go to state 17
2200    OTHER             shift, and go to state 20
2201    SPACE             shift, and go to state 21
2202    PASTE             shift, and go to state 22
2203    OR                shift, and go to state 23
2204    AND               shift, and go to state 24
2205    '|'               shift, and go to state 25
2206    '^'               shift, and go to state 26
2207    '&'               shift, and go to state 27
2208    NOT_EQUAL         shift, and go to state 28
2209    EQUAL             shift, and go to state 29
2210    '<'               shift, and go to state 30
2211    '>'               shift, and go to state 31
2212    GREATER_OR_EQUAL  shift, and go to state 32
2213    LESS_OR_EQUAL     shift, and go to state 33
2214    RIGHT_SHIFT       shift, and go to state 34
2215    LEFT_SHIFT        shift, and go to state 35
2216    '+'               shift, and go to state 36
2217    '-'               shift, and go to state 37
2218    '*'               shift, and go to state 38
2219    '/'               shift, and go to state 39
2220    '%'               shift, and go to state 40
2221    '('               shift, and go to state 41
2222    ')'               shift, and go to state 42
2223    '!'               shift, and go to state 43
2224    '~'               shift, and go to state 44
2225    ','               shift, and go to state 45
2226    '['               shift, and go to state 46
2227    ']'               shift, and go to state 47
2228    '{'               shift, and go to state 48
2229    '}'               shift, and go to state 49
2230    '.'               shift, and go to state 50
2231    ';'               shift, and go to state 51
2232    '='               shift, and go to state 52
2233
2234    $default  reduce using rule 63 (junk)
2235
2236    preprocessing_token  go to state 92
2237    operator             go to state 59
2238
2239
2240state 130
2241
2242   19 control_line: HASH_IFNDEF IDENTIFIER junk . NEWLINE
2243
2244    NEWLINE  shift, and go to state 162
2245
2246
2247state 131
2248
2249   15 control_line: HASH_LINE pp_tokens NEWLINE .
2250
2251    $default  reduce using rule 15 (control_line)
2252
2253
2254state 132
2255
2256   14 control_line: HASH_UNDEF IDENTIFIER NEWLINE .
2257
2258    $default  reduce using rule 14 (control_line)
2259
2260
2261state 133
2262
2263   26 control_line: HASH_VERSION integer_constant NEWLINE .
2264
2265    $default  reduce using rule 26 (control_line)
2266
2267
2268state 134
2269
2270    7 expanded_line: IF_EXPANDED expression NEWLINE .
2271
2272    $default  reduce using rule 7 (expanded_line)
2273
2274
2275state 135
2276
2277    9 expanded_line: LINE_EXPANDED integer_constant NEWLINE .
2278
2279    $default  reduce using rule 9 (expanded_line)
2280
2281
2282state 136
2283
2284   10 expanded_line: LINE_EXPANDED integer_constant integer_constant . NEWLINE
2285
2286    NEWLINE  shift, and go to state 163
2287
2288
2289state 137
2290
2291   54 expression: '(' expression ')' .
2292
2293    $default  reduce using rule 54 (expression)
2294
2295
2296state 138
2297
2298   32 expression: expression . OR expression
2299   32           | expression OR expression .
2300   33           | expression . AND expression
2301   34           | expression . '|' expression
2302   35           | expression . '^' expression
2303   36           | expression . '&' expression
2304   37           | expression . NOT_EQUAL expression
2305   38           | expression . EQUAL expression
2306   39           | expression . GREATER_OR_EQUAL expression
2307   40           | expression . LESS_OR_EQUAL expression
2308   41           | expression . '>' expression
2309   42           | expression . '<' expression
2310   43           | expression . RIGHT_SHIFT expression
2311   44           | expression . LEFT_SHIFT expression
2312   45           | expression . '-' expression
2313   46           | expression . '+' expression
2314   47           | expression . '%' expression
2315   48           | expression . '/' expression
2316   49           | expression . '*' expression
2317
2318    AND               shift, and go to state 100
2319    '|'               shift, and go to state 101
2320    '^'               shift, and go to state 102
2321    '&'               shift, and go to state 103
2322    NOT_EQUAL         shift, and go to state 104
2323    EQUAL             shift, and go to state 105
2324    '<'               shift, and go to state 106
2325    '>'               shift, and go to state 107
2326    GREATER_OR_EQUAL  shift, and go to state 108
2327    LESS_OR_EQUAL     shift, and go to state 109
2328    RIGHT_SHIFT       shift, and go to state 110
2329    LEFT_SHIFT        shift, and go to state 111
2330    '+'               shift, and go to state 112
2331    '-'               shift, and go to state 113
2332    '*'               shift, and go to state 114
2333    '/'               shift, and go to state 115
2334    '%'               shift, and go to state 116
2335
2336    $default  reduce using rule 32 (expression)
2337
2338
2339state 139
2340
2341   32 expression: expression . OR expression
2342   33           | expression . AND expression
2343   33           | expression AND expression .
2344   34           | expression . '|' expression
2345   35           | expression . '^' expression
2346   36           | expression . '&' expression
2347   37           | expression . NOT_EQUAL expression
2348   38           | expression . EQUAL expression
2349   39           | expression . GREATER_OR_EQUAL expression
2350   40           | expression . LESS_OR_EQUAL expression
2351   41           | expression . '>' expression
2352   42           | expression . '<' expression
2353   43           | expression . RIGHT_SHIFT expression
2354   44           | expression . LEFT_SHIFT expression
2355   45           | expression . '-' expression
2356   46           | expression . '+' expression
2357   47           | expression . '%' expression
2358   48           | expression . '/' expression
2359   49           | expression . '*' expression
2360
2361    '|'               shift, and go to state 101
2362    '^'               shift, and go to state 102
2363    '&'               shift, and go to state 103
2364    NOT_EQUAL         shift, and go to state 104
2365    EQUAL             shift, and go to state 105
2366    '<'               shift, and go to state 106
2367    '>'               shift, and go to state 107
2368    GREATER_OR_EQUAL  shift, and go to state 108
2369    LESS_OR_EQUAL     shift, and go to state 109
2370    RIGHT_SHIFT       shift, and go to state 110
2371    LEFT_SHIFT        shift, and go to state 111
2372    '+'               shift, and go to state 112
2373    '-'               shift, and go to state 113
2374    '*'               shift, and go to state 114
2375    '/'               shift, and go to state 115
2376    '%'               shift, and go to state 116
2377
2378    $default  reduce using rule 33 (expression)
2379
2380
2381state 140
2382
2383   32 expression: expression . OR expression
2384   33           | expression . AND expression
2385   34           | expression . '|' expression
2386   34           | expression '|' expression .
2387   35           | expression . '^' expression
2388   36           | expression . '&' expression
2389   37           | expression . NOT_EQUAL expression
2390   38           | expression . EQUAL expression
2391   39           | expression . GREATER_OR_EQUAL expression
2392   40           | expression . LESS_OR_EQUAL expression
2393   41           | expression . '>' expression
2394   42           | expression . '<' expression
2395   43           | expression . RIGHT_SHIFT expression
2396   44           | expression . LEFT_SHIFT expression
2397   45           | expression . '-' expression
2398   46           | expression . '+' expression
2399   47           | expression . '%' expression
2400   48           | expression . '/' expression
2401   49           | expression . '*' expression
2402
2403    '^'               shift, and go to state 102
2404    '&'               shift, and go to state 103
2405    NOT_EQUAL         shift, and go to state 104
2406    EQUAL             shift, and go to state 105
2407    '<'               shift, and go to state 106
2408    '>'               shift, and go to state 107
2409    GREATER_OR_EQUAL  shift, and go to state 108
2410    LESS_OR_EQUAL     shift, and go to state 109
2411    RIGHT_SHIFT       shift, and go to state 110
2412    LEFT_SHIFT        shift, and go to state 111
2413    '+'               shift, and go to state 112
2414    '-'               shift, and go to state 113
2415    '*'               shift, and go to state 114
2416    '/'               shift, and go to state 115
2417    '%'               shift, and go to state 116
2418
2419    $default  reduce using rule 34 (expression)
2420
2421
2422state 141
2423
2424   32 expression: expression . OR expression
2425   33           | expression . AND expression
2426   34           | expression . '|' expression
2427   35           | expression . '^' expression
2428   35           | expression '^' expression .
2429   36           | expression . '&' expression
2430   37           | expression . NOT_EQUAL expression
2431   38           | expression . EQUAL expression
2432   39           | expression . GREATER_OR_EQUAL expression
2433   40           | expression . LESS_OR_EQUAL expression
2434   41           | expression . '>' expression
2435   42           | expression . '<' expression
2436   43           | expression . RIGHT_SHIFT expression
2437   44           | expression . LEFT_SHIFT expression
2438   45           | expression . '-' expression
2439   46           | expression . '+' expression
2440   47           | expression . '%' expression
2441   48           | expression . '/' expression
2442   49           | expression . '*' expression
2443
2444    '&'               shift, and go to state 103
2445    NOT_EQUAL         shift, and go to state 104
2446    EQUAL             shift, and go to state 105
2447    '<'               shift, and go to state 106
2448    '>'               shift, and go to state 107
2449    GREATER_OR_EQUAL  shift, and go to state 108
2450    LESS_OR_EQUAL     shift, and go to state 109
2451    RIGHT_SHIFT       shift, and go to state 110
2452    LEFT_SHIFT        shift, and go to state 111
2453    '+'               shift, and go to state 112
2454    '-'               shift, and go to state 113
2455    '*'               shift, and go to state 114
2456    '/'               shift, and go to state 115
2457    '%'               shift, and go to state 116
2458
2459    $default  reduce using rule 35 (expression)
2460
2461
2462state 142
2463
2464   32 expression: expression . OR expression
2465   33           | expression . AND expression
2466   34           | expression . '|' expression
2467   35           | expression . '^' expression
2468   36           | expression . '&' expression
2469   36           | expression '&' expression .
2470   37           | expression . NOT_EQUAL expression
2471   38           | expression . EQUAL expression
2472   39           | expression . GREATER_OR_EQUAL expression
2473   40           | expression . LESS_OR_EQUAL expression
2474   41           | expression . '>' expression
2475   42           | expression . '<' expression
2476   43           | expression . RIGHT_SHIFT expression
2477   44           | expression . LEFT_SHIFT expression
2478   45           | expression . '-' expression
2479   46           | expression . '+' expression
2480   47           | expression . '%' expression
2481   48           | expression . '/' expression
2482   49           | expression . '*' expression
2483
2484    NOT_EQUAL         shift, and go to state 104
2485    EQUAL             shift, and go to state 105
2486    '<'               shift, and go to state 106
2487    '>'               shift, and go to state 107
2488    GREATER_OR_EQUAL  shift, and go to state 108
2489    LESS_OR_EQUAL     shift, and go to state 109
2490    RIGHT_SHIFT       shift, and go to state 110
2491    LEFT_SHIFT        shift, and go to state 111
2492    '+'               shift, and go to state 112
2493    '-'               shift, and go to state 113
2494    '*'               shift, and go to state 114
2495    '/'               shift, and go to state 115
2496    '%'               shift, and go to state 116
2497
2498    $default  reduce using rule 36 (expression)
2499
2500
2501state 143
2502
2503   32 expression: expression . OR expression
2504   33           | expression . AND expression
2505   34           | expression . '|' expression
2506   35           | expression . '^' expression
2507   36           | expression . '&' expression
2508   37           | expression . NOT_EQUAL expression
2509   37           | expression NOT_EQUAL expression .
2510   38           | expression . EQUAL expression
2511   39           | expression . GREATER_OR_EQUAL expression
2512   40           | expression . LESS_OR_EQUAL expression
2513   41           | expression . '>' expression
2514   42           | expression . '<' expression
2515   43           | expression . RIGHT_SHIFT expression
2516   44           | expression . LEFT_SHIFT expression
2517   45           | expression . '-' expression
2518   46           | expression . '+' expression
2519   47           | expression . '%' expression
2520   48           | expression . '/' expression
2521   49           | expression . '*' expression
2522
2523    '<'               shift, and go to state 106
2524    '>'               shift, and go to state 107
2525    GREATER_OR_EQUAL  shift, and go to state 108
2526    LESS_OR_EQUAL     shift, and go to state 109
2527    RIGHT_SHIFT       shift, and go to state 110
2528    LEFT_SHIFT        shift, and go to state 111
2529    '+'               shift, and go to state 112
2530    '-'               shift, and go to state 113
2531    '*'               shift, and go to state 114
2532    '/'               shift, and go to state 115
2533    '%'               shift, and go to state 116
2534
2535    $default  reduce using rule 37 (expression)
2536
2537
2538state 144
2539
2540   32 expression: expression . OR expression
2541   33           | expression . AND expression
2542   34           | expression . '|' expression
2543   35           | expression . '^' expression
2544   36           | expression . '&' expression
2545   37           | expression . NOT_EQUAL expression
2546   38           | expression . EQUAL expression
2547   38           | expression EQUAL expression .
2548   39           | expression . GREATER_OR_EQUAL expression
2549   40           | expression . LESS_OR_EQUAL expression
2550   41           | expression . '>' expression
2551   42           | expression . '<' expression
2552   43           | expression . RIGHT_SHIFT expression
2553   44           | expression . LEFT_SHIFT expression
2554   45           | expression . '-' expression
2555   46           | expression . '+' expression
2556   47           | expression . '%' expression
2557   48           | expression . '/' expression
2558   49           | expression . '*' expression
2559
2560    '<'               shift, and go to state 106
2561    '>'               shift, and go to state 107
2562    GREATER_OR_EQUAL  shift, and go to state 108
2563    LESS_OR_EQUAL     shift, and go to state 109
2564    RIGHT_SHIFT       shift, and go to state 110
2565    LEFT_SHIFT        shift, and go to state 111
2566    '+'               shift, and go to state 112
2567    '-'               shift, and go to state 113
2568    '*'               shift, and go to state 114
2569    '/'               shift, and go to state 115
2570    '%'               shift, and go to state 116
2571
2572    $default  reduce using rule 38 (expression)
2573
2574
2575state 145
2576
2577   32 expression: expression . OR expression
2578   33           | expression . AND expression
2579   34           | expression . '|' expression
2580   35           | expression . '^' expression
2581   36           | expression . '&' expression
2582   37           | expression . NOT_EQUAL expression
2583   38           | expression . EQUAL expression
2584   39           | expression . GREATER_OR_EQUAL expression
2585   40           | expression . LESS_OR_EQUAL expression
2586   41           | expression . '>' expression
2587   42           | expression . '<' expression
2588   42           | expression '<' expression .
2589   43           | expression . RIGHT_SHIFT expression
2590   44           | expression . LEFT_SHIFT expression
2591   45           | expression . '-' expression
2592   46           | expression . '+' expression
2593   47           | expression . '%' expression
2594   48           | expression . '/' expression
2595   49           | expression . '*' expression
2596
2597    RIGHT_SHIFT  shift, and go to state 110
2598    LEFT_SHIFT   shift, and go to state 111
2599    '+'          shift, and go to state 112
2600    '-'          shift, and go to state 113
2601    '*'          shift, and go to state 114
2602    '/'          shift, and go to state 115
2603    '%'          shift, and go to state 116
2604
2605    $default  reduce using rule 42 (expression)
2606
2607
2608state 146
2609
2610   32 expression: expression . OR expression
2611   33           | expression . AND expression
2612   34           | expression . '|' expression
2613   35           | expression . '^' expression
2614   36           | expression . '&' expression
2615   37           | expression . NOT_EQUAL expression
2616   38           | expression . EQUAL expression
2617   39           | expression . GREATER_OR_EQUAL expression
2618   40           | expression . LESS_OR_EQUAL expression
2619   41           | expression . '>' expression
2620   41           | expression '>' expression .
2621   42           | expression . '<' expression
2622   43           | expression . RIGHT_SHIFT expression
2623   44           | expression . LEFT_SHIFT expression
2624   45           | expression . '-' expression
2625   46           | expression . '+' expression
2626   47           | expression . '%' expression
2627   48           | expression . '/' expression
2628   49           | expression . '*' expression
2629
2630    RIGHT_SHIFT  shift, and go to state 110
2631    LEFT_SHIFT   shift, and go to state 111
2632    '+'          shift, and go to state 112
2633    '-'          shift, and go to state 113
2634    '*'          shift, and go to state 114
2635    '/'          shift, and go to state 115
2636    '%'          shift, and go to state 116
2637
2638    $default  reduce using rule 41 (expression)
2639
2640
2641state 147
2642
2643   32 expression: expression . OR expression
2644   33           | expression . AND expression
2645   34           | expression . '|' expression
2646   35           | expression . '^' expression
2647   36           | expression . '&' expression
2648   37           | expression . NOT_EQUAL expression
2649   38           | expression . EQUAL expression
2650   39           | expression . GREATER_OR_EQUAL expression
2651   39           | expression GREATER_OR_EQUAL expression .
2652   40           | expression . LESS_OR_EQUAL expression
2653   41           | expression . '>' expression
2654   42           | expression . '<' expression
2655   43           | expression . RIGHT_SHIFT expression
2656   44           | expression . LEFT_SHIFT expression
2657   45           | expression . '-' expression
2658   46           | expression . '+' expression
2659   47           | expression . '%' expression
2660   48           | expression . '/' expression
2661   49           | expression . '*' expression
2662
2663    RIGHT_SHIFT  shift, and go to state 110
2664    LEFT_SHIFT   shift, and go to state 111
2665    '+'          shift, and go to state 112
2666    '-'          shift, and go to state 113
2667    '*'          shift, and go to state 114
2668    '/'          shift, and go to state 115
2669    '%'          shift, and go to state 116
2670
2671    $default  reduce using rule 39 (expression)
2672
2673
2674state 148
2675
2676   32 expression: expression . OR expression
2677   33           | expression . AND expression
2678   34           | expression . '|' expression
2679   35           | expression . '^' expression
2680   36           | expression . '&' expression
2681   37           | expression . NOT_EQUAL expression
2682   38           | expression . EQUAL expression
2683   39           | expression . GREATER_OR_EQUAL expression
2684   40           | expression . LESS_OR_EQUAL expression
2685   40           | expression LESS_OR_EQUAL expression .
2686   41           | expression . '>' expression
2687   42           | expression . '<' expression
2688   43           | expression . RIGHT_SHIFT expression
2689   44           | expression . LEFT_SHIFT expression
2690   45           | expression . '-' expression
2691   46           | expression . '+' expression
2692   47           | expression . '%' expression
2693   48           | expression . '/' expression
2694   49           | expression . '*' expression
2695
2696    RIGHT_SHIFT  shift, and go to state 110
2697    LEFT_SHIFT   shift, and go to state 111
2698    '+'          shift, and go to state 112
2699    '-'          shift, and go to state 113
2700    '*'          shift, and go to state 114
2701    '/'          shift, and go to state 115
2702    '%'          shift, and go to state 116
2703
2704    $default  reduce using rule 40 (expression)
2705
2706
2707state 149
2708
2709   32 expression: expression . OR expression
2710   33           | expression . AND expression
2711   34           | expression . '|' expression
2712   35           | expression . '^' expression
2713   36           | expression . '&' expression
2714   37           | expression . NOT_EQUAL expression
2715   38           | expression . EQUAL expression
2716   39           | expression . GREATER_OR_EQUAL expression
2717   40           | expression . LESS_OR_EQUAL expression
2718   41           | expression . '>' expression
2719   42           | expression . '<' expression
2720   43           | expression . RIGHT_SHIFT expression
2721   43           | expression RIGHT_SHIFT expression .
2722   44           | expression . LEFT_SHIFT expression
2723   45           | expression . '-' expression
2724   46           | expression . '+' expression
2725   47           | expression . '%' expression
2726   48           | expression . '/' expression
2727   49           | expression . '*' expression
2728
2729    '+'  shift, and go to state 112
2730    '-'  shift, and go to state 113
2731    '*'  shift, and go to state 114
2732    '/'  shift, and go to state 115
2733    '%'  shift, and go to state 116
2734
2735    $default  reduce using rule 43 (expression)
2736
2737
2738state 150
2739
2740   32 expression: expression . OR expression
2741   33           | expression . AND expression
2742   34           | expression . '|' expression
2743   35           | expression . '^' expression
2744   36           | expression . '&' expression
2745   37           | expression . NOT_EQUAL expression
2746   38           | expression . EQUAL expression
2747   39           | expression . GREATER_OR_EQUAL expression
2748   40           | expression . LESS_OR_EQUAL expression
2749   41           | expression . '>' expression
2750   42           | expression . '<' expression
2751   43           | expression . RIGHT_SHIFT expression
2752   44           | expression . LEFT_SHIFT expression
2753   44           | expression LEFT_SHIFT expression .
2754   45           | expression . '-' expression
2755   46           | expression . '+' expression
2756   47           | expression . '%' expression
2757   48           | expression . '/' expression
2758   49           | expression . '*' expression
2759
2760    '+'  shift, and go to state 112
2761    '-'  shift, and go to state 113
2762    '*'  shift, and go to state 114
2763    '/'  shift, and go to state 115
2764    '%'  shift, and go to state 116
2765
2766    $default  reduce using rule 44 (expression)
2767
2768
2769state 151
2770
2771   32 expression: expression . OR expression
2772   33           | expression . AND expression
2773   34           | expression . '|' expression
2774   35           | expression . '^' expression
2775   36           | expression . '&' expression
2776   37           | expression . NOT_EQUAL expression
2777   38           | expression . EQUAL expression
2778   39           | expression . GREATER_OR_EQUAL expression
2779   40           | expression . LESS_OR_EQUAL expression
2780   41           | expression . '>' expression
2781   42           | expression . '<' expression
2782   43           | expression . RIGHT_SHIFT expression
2783   44           | expression . LEFT_SHIFT expression
2784   45           | expression . '-' expression
2785   46           | expression . '+' expression
2786   46           | expression '+' expression .
2787   47           | expression . '%' expression
2788   48           | expression . '/' expression
2789   49           | expression . '*' expression
2790
2791    '*'  shift, and go to state 114
2792    '/'  shift, and go to state 115
2793    '%'  shift, and go to state 116
2794
2795    $default  reduce using rule 46 (expression)
2796
2797
2798state 152
2799
2800   32 expression: expression . OR expression
2801   33           | expression . AND expression
2802   34           | expression . '|' expression
2803   35           | expression . '^' expression
2804   36           | expression . '&' expression
2805   37           | expression . NOT_EQUAL expression
2806   38           | expression . EQUAL expression
2807   39           | expression . GREATER_OR_EQUAL expression
2808   40           | expression . LESS_OR_EQUAL expression
2809   41           | expression . '>' expression
2810   42           | expression . '<' expression
2811   43           | expression . RIGHT_SHIFT expression
2812   44           | expression . LEFT_SHIFT expression
2813   45           | expression . '-' expression
2814   45           | expression '-' expression .
2815   46           | expression . '+' expression
2816   47           | expression . '%' expression
2817   48           | expression . '/' expression
2818   49           | expression . '*' expression
2819
2820    '*'  shift, and go to state 114
2821    '/'  shift, and go to state 115
2822    '%'  shift, and go to state 116
2823
2824    $default  reduce using rule 45 (expression)
2825
2826
2827state 153
2828
2829   32 expression: expression . OR expression
2830   33           | expression . AND expression
2831   34           | expression . '|' expression
2832   35           | expression . '^' expression
2833   36           | expression . '&' expression
2834   37           | expression . NOT_EQUAL expression
2835   38           | expression . EQUAL expression
2836   39           | expression . GREATER_OR_EQUAL expression
2837   40           | expression . LESS_OR_EQUAL expression
2838   41           | expression . '>' expression
2839   42           | expression . '<' expression
2840   43           | expression . RIGHT_SHIFT expression
2841   44           | expression . LEFT_SHIFT expression
2842   45           | expression . '-' expression
2843   46           | expression . '+' expression
2844   47           | expression . '%' expression
2845   48           | expression . '/' expression
2846   49           | expression . '*' expression
2847   49           | expression '*' expression .
2848
2849    $default  reduce using rule 49 (expression)
2850
2851
2852state 154
2853
2854   32 expression: expression . OR expression
2855   33           | expression . AND expression
2856   34           | expression . '|' expression
2857   35           | expression . '^' expression
2858   36           | expression . '&' expression
2859   37           | expression . NOT_EQUAL expression
2860   38           | expression . EQUAL expression
2861   39           | expression . GREATER_OR_EQUAL expression
2862   40           | expression . LESS_OR_EQUAL expression
2863   41           | expression . '>' expression
2864   42           | expression . '<' expression
2865   43           | expression . RIGHT_SHIFT expression
2866   44           | expression . LEFT_SHIFT expression
2867   45           | expression . '-' expression
2868   46           | expression . '+' expression
2869   47           | expression . '%' expression
2870   48           | expression . '/' expression
2871   48           | expression '/' expression .
2872   49           | expression . '*' expression
2873
2874    $default  reduce using rule 48 (expression)
2875
2876
2877state 155
2878
2879   32 expression: expression . OR expression
2880   33           | expression . AND expression
2881   34           | expression . '|' expression
2882   35           | expression . '^' expression
2883   36           | expression . '&' expression
2884   37           | expression . NOT_EQUAL expression
2885   38           | expression . EQUAL expression
2886   39           | expression . GREATER_OR_EQUAL expression
2887   40           | expression . LESS_OR_EQUAL expression
2888   41           | expression . '>' expression
2889   42           | expression . '<' expression
2890   43           | expression . RIGHT_SHIFT expression
2891   44           | expression . LEFT_SHIFT expression
2892   45           | expression . '-' expression
2893   46           | expression . '+' expression
2894   47           | expression . '%' expression
2895   47           | expression '%' expression .
2896   48           | expression . '/' expression
2897   49           | expression . '*' expression
2898
2899    $default  reduce using rule 47 (expression)
2900
2901
2902state 156
2903
2904   55 identifier_list: IDENTIFIER .
2905
2906    $default  reduce using rule 55 (identifier_list)
2907
2908
2909state 157
2910
2911   12 control_line: HASH_DEFINE FUNC_IDENTIFIER '(' ')' . replacement_list NEWLINE
2912
2913    IDENTIFIER        shift, and go to state 15
2914    INTEGER_STRING    shift, and go to state 17
2915    OTHER             shift, and go to state 20
2916    SPACE             shift, and go to state 21
2917    PASTE             shift, and go to state 22
2918    OR                shift, and go to state 23
2919    AND               shift, and go to state 24
2920    '|'               shift, and go to state 25
2921    '^'               shift, and go to state 26
2922    '&'               shift, and go to state 27
2923    NOT_EQUAL         shift, and go to state 28
2924    EQUAL             shift, and go to state 29
2925    '<'               shift, and go to state 30
2926    '>'               shift, and go to state 31
2927    GREATER_OR_EQUAL  shift, and go to state 32
2928    LESS_OR_EQUAL     shift, and go to state 33
2929    RIGHT_SHIFT       shift, and go to state 34
2930    LEFT_SHIFT        shift, and go to state 35
2931    '+'               shift, and go to state 36
2932    '-'               shift, and go to state 37
2933    '*'               shift, and go to state 38
2934    '/'               shift, and go to state 39
2935    '%'               shift, and go to state 40
2936    '('               shift, and go to state 41
2937    ')'               shift, and go to state 42
2938    '!'               shift, and go to state 43
2939    '~'               shift, and go to state 44
2940    ','               shift, and go to state 45
2941    '['               shift, and go to state 46
2942    ']'               shift, and go to state 47
2943    '{'               shift, and go to state 48
2944    '}'               shift, and go to state 49
2945    '.'               shift, and go to state 50
2946    ';'               shift, and go to state 51
2947    '='               shift, and go to state 52
2948
2949    $default  reduce using rule 60 (replacement_list)
2950
2951    replacement_list     go to state 164
2952    pp_tokens            go to state 120
2953    preprocessing_token  go to state 58
2954    operator             go to state 59
2955
2956
2957state 158
2958
2959   13 control_line: HASH_DEFINE FUNC_IDENTIFIER '(' identifier_list . ')' replacement_list NEWLINE
2960   56 identifier_list: identifier_list . ',' IDENTIFIER
2961
2962    ')'  shift, and go to state 165
2963    ','  shift, and go to state 166
2964
2965
2966state 159
2967
2968   11 control_line: HASH_DEFINE OBJ_IDENTIFIER replacement_list NEWLINE .
2969
2970    $default  reduce using rule 11 (control_line)
2971
2972
2973state 160
2974
2975   65 conditional_token: DEFINED '(' IDENTIFIER . ')'
2976
2977    ')'  shift, and go to state 167
2978
2979
2980state 161
2981
2982   18 control_line: HASH_IFDEF IDENTIFIER junk NEWLINE .
2983
2984    $default  reduce using rule 18 (control_line)
2985
2986
2987state 162
2988
2989   19 control_line: HASH_IFNDEF IDENTIFIER junk NEWLINE .
2990
2991    $default  reduce using rule 19 (control_line)
2992
2993
2994state 163
2995
2996   10 expanded_line: LINE_EXPANDED integer_constant integer_constant NEWLINE .
2997
2998    $default  reduce using rule 10 (expanded_line)
2999
3000
3001state 164
3002
3003   12 control_line: HASH_DEFINE FUNC_IDENTIFIER '(' ')' replacement_list . NEWLINE
3004
3005    NEWLINE  shift, and go to state 168
3006
3007
3008state 165
3009
3010   13 control_line: HASH_DEFINE FUNC_IDENTIFIER '(' identifier_list ')' . replacement_list NEWLINE
3011
3012    IDENTIFIER        shift, and go to state 15
3013    INTEGER_STRING    shift, and go to state 17
3014    OTHER             shift, and go to state 20
3015    SPACE             shift, and go to state 21
3016    PASTE             shift, and go to state 22
3017    OR                shift, and go to state 23
3018    AND               shift, and go to state 24
3019    '|'               shift, and go to state 25
3020    '^'               shift, and go to state 26
3021    '&'               shift, and go to state 27
3022    NOT_EQUAL         shift, and go to state 28
3023    EQUAL             shift, and go to state 29
3024    '<'               shift, and go to state 30
3025    '>'               shift, and go to state 31
3026    GREATER_OR_EQUAL  shift, and go to state 32
3027    LESS_OR_EQUAL     shift, and go to state 33
3028    RIGHT_SHIFT       shift, and go to state 34
3029    LEFT_SHIFT        shift, and go to state 35
3030    '+'               shift, and go to state 36
3031    '-'               shift, and go to state 37
3032    '*'               shift, and go to state 38
3033    '/'               shift, and go to state 39
3034    '%'               shift, and go to state 40
3035    '('               shift, and go to state 41
3036    ')'               shift, and go to state 42
3037    '!'               shift, and go to state 43
3038    '~'               shift, and go to state 44
3039    ','               shift, and go to state 45
3040    '['               shift, and go to state 46
3041    ']'               shift, and go to state 47
3042    '{'               shift, and go to state 48
3043    '}'               shift, and go to state 49
3044    '.'               shift, and go to state 50
3045    ';'               shift, and go to state 51
3046    '='               shift, and go to state 52
3047
3048    $default  reduce using rule 60 (replacement_list)
3049
3050    replacement_list     go to state 169
3051    pp_tokens            go to state 120
3052    preprocessing_token  go to state 58
3053    operator             go to state 59
3054
3055
3056state 166
3057
3058   56 identifier_list: identifier_list ',' . IDENTIFIER
3059
3060    IDENTIFIER  shift, and go to state 170
3061
3062
3063state 167
3064
3065   65 conditional_token: DEFINED '(' IDENTIFIER ')' .
3066
3067    $default  reduce using rule 65 (conditional_token)
3068
3069
3070state 168
3071
3072   12 control_line: HASH_DEFINE FUNC_IDENTIFIER '(' ')' replacement_list NEWLINE .
3073
3074    $default  reduce using rule 12 (control_line)
3075
3076
3077state 169
3078
3079   13 control_line: HASH_DEFINE FUNC_IDENTIFIER '(' identifier_list ')' replacement_list . NEWLINE
3080
3081    NEWLINE  shift, and go to state 171
3082
3083
3084state 170
3085
3086   56 identifier_list: identifier_list ',' IDENTIFIER .
3087
3088    $default  reduce using rule 56 (identifier_list)
3089
3090
3091state 171
3092
3093   13 control_line: HASH_DEFINE FUNC_IDENTIFIER '(' identifier_list ')' replacement_list NEWLINE .
3094
3095    $default  reduce using rule 13 (control_line)
3096