-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsyntax.output
More file actions
4844 lines (3246 loc) · 154 KB
/
Copy pathsyntax.output
File metadata and controls
4844 lines (3246 loc) · 154 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Terminals unused in grammar
'+'
'-'
'*'
'/'
Grammaire
0 $accept: program $end
1 program: class_decl_list END_OF_FILE
2 class_decl_list: class_decl
3 | class_decl_list class_decl
4 $@1: /* vide */
5 class_decl: mc_public_opt mc_class id accolade_o $@1 class_body accolade_f
6 mc_public_opt: /* vide */
7 | mc_public
8 class_body: /* vide */
9 | class_body_decl_list
10 class_body_decl_list: class_body_decl
11 | class_body_decl_list class_body_decl
12 class_body_decl: var_decl
13 | method_decl
14 | constructor_decl
15 | block
16 var_decl: type var_decl_list pt_virgule
17 | type_array var_decl_list pt_virgule
18 var_decl_list: id var_decl_suffix_opt
19 | var_decl_list virgule id
20 var_decl_suffix_opt: /* vide */
21 | affectation expression
22 var_decl_for: type id for_var_decl_suffix
23 for_var_decl_suffix: affectation expression
24 | /* vide */
25 $@2: /* vide */
26 method_decl: visibility_static mc_void id $@2 parenthese_o param_list_opt parenthese_f throws_clause_opt block
27 $@3: /* vide */
28 method_decl: visibility_static type id $@3 parenthese_o param_list_opt parenthese_f throws_clause_opt block
29 $@4: /* vide */
30 method_decl: mc_void id $@4 parenthese_o param_list_opt parenthese_f throws_clause_opt block
31 $@5: /* vide */
32 method_decl: type id $@5 parenthese_o param_list_opt parenthese_f throws_clause_opt block
33 $@6: /* vide */
34 constructor_decl: visibility_static id $@6 parenthese_o param_list_opt parenthese_f block
35 $@7: /* vide */
36 constructor_decl: id $@7 parenthese_o param_list_opt parenthese_f block
37 throws_clause_opt: /* vide */
38 | mc_throws exception_list
39 exception_list: type
40 | exception_list virgule type
41 visibility_static: visibility_actual
42 | mc_static
43 | visibility_actual mc_static
44 | mc_static visibility_actual
45 visibility_actual: mc_public
46 | mc_private
47 | mc_protected
48 type: mc_int
49 | mc_float
50 | mc_double
51 | mc_char
52 | mc_boolean
53 | mc_string
54 | mc_excp
55 | id
56 type_array: type crochet_o crochet_f
57 | type crochet_o crochet_f crochet_o crochet_f
58 param_list_opt: /* vide */
59 | param_list
60 param_list: param
61 | param_list virgule param
62 param: type id
63 | type_array id
64 block: accolade_o statement_list_opt accolade_f
65 statement_list_opt: /* vide */
66 | statement_list
67 statement_list: statement
68 | statement_list statement
69 statement: block
70 | var_decl
71 | if_statement
72 | while_statement
73 | do_statement
74 | for_statement
75 | switch_statement
76 | return_statement
77 | throw_statement
78 | try_catch_statement
79 | mc_print parenthese_o expression_opt parenthese_f pt_virgule
80 | assignment_statement pt_virgule
81 | postfix_statement pt_virgule
82 postfix_statement: primary_expression parenthese_o argument_list_opt parenthese_f
83 | postfix_expression postfix_suffix
84 | postfix_expression incrementation
85 if_statement: mc_if parenthese_o expression parenthese_f statement
86 | mc_if parenthese_o expression parenthese_f statement mc_else statement
87 while_statement: mc_while parenthese_o expression parenthese_f statement
88 do_statement: mc_do statement mc_while parenthese_o expression parenthese_f pt_virgule
89 for_statement: mc_for parenthese_o for_init_opt expression_opt pt_virgule for_update_opt parenthese_f statement
90 for_init_opt: pt_virgule
91 | expression pt_virgule
92 | var_decl_for pt_virgule
93 expression_opt: /* vide */
94 | expression
95 for_update_opt: /* vide */
96 | expression
97 switch_statement: mc_switch parenthese_o expression parenthese_f accolade_o case_list_opt default_statement_opt accolade_f
98 case_list_opt: /* vide */
99 | case_list
100 case_list: case_statement
101 | case_list case_statement
102 case_statement: mc_case constant deux_points statement_list_opt break_opt
103 break_opt: /* vide */
104 | mc_break pt_virgule
105 default_statement_opt: /* vide */
106 | default_statement
107 default_statement: mc_default deux_points statement_list_opt
108 constant: integer
109 | real
110 | mc_true
111 | mc_false
112 | id
113 | chaine
114 | caractere
115 return_statement: mc_return pt_virgule
116 | mc_return expression pt_virgule
117 throw_statement: mc_throw expression pt_virgule
118 try_catch_statement: mc_try block catch_list finally_opt
119 catch_list: catch_clause
120 | catch_list catch_clause
121 $@8: /* vide */
122 catch_clause: mc_catch parenthese_o type id parenthese_f $@8 block
123 finally_opt: /* vide */
124 | mc_finally block
125 expression: logical_or_expression
126 assignment_expression: logical_or_expression
127 | assignment_statement
128 assignment_statement: postfix_expression affectation assignment_expression
129 | postfix_expression addition_assignment assignment_expression
130 logical_or_expression: logical_and_expression
131 | logical_or_expression ou logical_and_expression
132 logical_and_expression: equality_expression
133 | logical_and_expression et equality_expression
134 equality_expression: relational_expression
135 | equality_expression egal relational_expression
136 | equality_expression different relational_expression
137 relational_expression: additive_expression
138 | relational_expression inf additive_expression
139 | relational_expression sup additive_expression
140 | relational_expression inf_egal additive_expression
141 | relational_expression sup_egal additive_expression
142 additive_expression: multiplicative_expression
143 | additive_expression addition multiplicative_expression
144 | additive_expression soustraction multiplicative_expression
145 multiplicative_expression: unary_expression
146 | multiplicative_expression multiplication unary_expression
147 | multiplicative_expression division unary_expression
148 | multiplicative_expression mod unary_expression
149 unary_expression: postfix_expression
150 | pt_exclamation unary_expression
151 | soustraction unary_expression
152 | addition unary_expression
153 | incrementation unary_expression
154 postfix_expression: primary_expression call_suffix
155 | postfix_expression postfix_suffix
156 | postfix_expression incrementation
157 call_suffix: /* vide */
158 | parenthese_o argument_list_opt parenthese_f
159 postfix_suffix: point id call_suffix
160 primary_expression: id
161 | integer
162 | real
163 | mc_true
164 | mc_false
165 | caractere
166 | chaine
167 | mc_this
168 | mc_new id parenthese_o argument_list_opt parenthese_f
169 | mc_new mc_excp parenthese_o argument_list_opt parenthese_f
170 | parenthese_o expression_list_opt parenthese_f
171 | accolade_o expression_list accolade_f
172 | mc_new type crochet_o expression crochet_f
173 | mc_new type crochet_o expression crochet_f crochet_o expression crochet_f
174 argument_list_opt: /* vide */
175 | argument_list
176 argument_list: expression
177 | argument_list virgule expression
178 expression_list: expression
179 | expression_list virgule expression
180 expression_list_opt: /* vide */
181 | expression_list
Terminaux, suivis des règles où ils apparaissent
$end (0) 0
'*' (42)
'+' (43)
'-' (45)
'/' (47)
error (256)
mc_class (258) 5
mc_int (259) 48
mc_float (260) 49
mc_double (261) 50
mc_char (262) 51
mc_boolean (263) 52
mc_string (264) 53
mc_excp (265) 54 169
mc_if (266) 85 86
mc_else (267) 86
mc_for (268) 89
mc_while (269) 87 88
mc_do (270) 88
mc_switch (271) 97
mc_case (272) 102
mc_default (273) 107
mc_break (274) 104
mc_return (275) 115 116
mc_public (276) 7 45
mc_static (277) 42 43 44
mc_void (278) 26 30
mc_private (279) 46
mc_protected (280) 47
mc_try (281) 118
mc_catch (282) 122
mc_finally (283) 124
mc_new (284) 168 169 172 173
mc_throws (285) 38
mc_throw (286) 117
mc_this (287) 167
mc_true (288) 110 163
mc_false (289) 111 164
mc_print (290) 79
chaine (291) 113 166
caractere (292) 114 165
id (293) 5 18 19 22 26 28 30 32 34 36 55 62 63 112 122 159 160 168
integer (294) 108 161
real (295) 109 162
addition (296) 143 152
soustraction (297) 144 151
multiplication (298) 146
division (299) 147
mod (300) 148
affectation (301) 21 23 128
sup (302) 139
inf (303) 138
incrementation (304) 84 153 156
inf_egal (305) 140
sup_egal (306) 141
egal (307) 135
different (308) 136
et (309) 133
ou (310) 131
pt_exclamation (311) 150
addition_assignment (312) 129
point (313) 159
pt_virgule (314) 16 17 79 80 81 88 89 90 91 92 104 115 116 117
deux_points (315) 102 107
virgule (316) 19 40 61 177 179
accolade_o (317) 5 64 97 171
accolade_f (318) 5 64 97 171
parenthese_o (319) 26 28 30 32 34 36 79 82 85 86 87 88 89 97 122 158
168 169 170
parenthese_f (320) 26 28 30 32 34 36 79 82 85 86 87 88 89 97 122 158
168 169 170
crochet_o (321) 56 57 172 173
crochet_f (322) 56 57 172 173
IFX (323)
END_OF_FILE (324) 1
Non-terminaux, suivis des règles où ils apparaissent
$accept (74)
à gauche: 0
program (75)
à gauche: 1, à droite: 0
class_decl_list (76)
à gauche: 2 3, à droite: 1 3
class_decl (77)
à gauche: 5, à droite: 2 3
$@1 (78)
à gauche: 4, à droite: 5
mc_public_opt (79)
à gauche: 6 7, à droite: 5
class_body (80)
à gauche: 8 9, à droite: 5
class_body_decl_list (81)
à gauche: 10 11, à droite: 9 11
class_body_decl (82)
à gauche: 12 13 14 15, à droite: 10 11
var_decl (83)
à gauche: 16 17, à droite: 12 70
var_decl_list (84)
à gauche: 18 19, à droite: 16 17 19
var_decl_suffix_opt (85)
à gauche: 20 21, à droite: 18
var_decl_for (86)
à gauche: 22, à droite: 92
for_var_decl_suffix (87)
à gauche: 23 24, à droite: 22
method_decl (88)
à gauche: 26 28 30 32, à droite: 13
$@2 (89)
à gauche: 25, à droite: 26
$@3 (90)
à gauche: 27, à droite: 28
$@4 (91)
à gauche: 29, à droite: 30
$@5 (92)
à gauche: 31, à droite: 32
constructor_decl (93)
à gauche: 34 36, à droite: 14
$@6 (94)
à gauche: 33, à droite: 34
$@7 (95)
à gauche: 35, à droite: 36
throws_clause_opt (96)
à gauche: 37 38, à droite: 26 28 30 32
exception_list (97)
à gauche: 39 40, à droite: 38 40
visibility_static (98)
à gauche: 41 42 43 44, à droite: 26 28 34
visibility_actual (99)
à gauche: 45 46 47, à droite: 41 43 44
type (100)
à gauche: 48 49 50 51 52 53 54 55, à droite: 16 22 28 32 39 40
56 57 62 122 172 173
type_array (101)
à gauche: 56 57, à droite: 17 63
param_list_opt (102)
à gauche: 58 59, à droite: 26 28 30 32 34 36
param_list (103)
à gauche: 60 61, à droite: 59 61
param (104)
à gauche: 62 63, à droite: 60 61
block (105)
à gauche: 64, à droite: 15 26 28 30 32 34 36 69 118 122 124
statement_list_opt (106)
à gauche: 65 66, à droite: 64 102 107
statement_list (107)
à gauche: 67 68, à droite: 66 68
statement (108)
à gauche: 69 70 71 72 73 74 75 76 77 78 79 80 81, à droite: 67
68 85 86 87 88 89
postfix_statement (109)
à gauche: 82 83 84, à droite: 81
if_statement (110)
à gauche: 85 86, à droite: 71
while_statement (111)
à gauche: 87, à droite: 72
do_statement (112)
à gauche: 88, à droite: 73
for_statement (113)
à gauche: 89, à droite: 74
for_init_opt (114)
à gauche: 90 91 92, à droite: 89
expression_opt (115)
à gauche: 93 94, à droite: 79 89
for_update_opt (116)
à gauche: 95 96, à droite: 89
switch_statement (117)
à gauche: 97, à droite: 75
case_list_opt (118)
à gauche: 98 99, à droite: 97
case_list (119)
à gauche: 100 101, à droite: 99 101
case_statement (120)
à gauche: 102, à droite: 100 101
break_opt (121)
à gauche: 103 104, à droite: 102
default_statement_opt (122)
à gauche: 105 106, à droite: 97
default_statement (123)
à gauche: 107, à droite: 106
constant (124)
à gauche: 108 109 110 111 112 113 114, à droite: 102
return_statement (125)
à gauche: 115 116, à droite: 76
throw_statement (126)
à gauche: 117, à droite: 77
try_catch_statement (127)
à gauche: 118, à droite: 78
catch_list (128)
à gauche: 119 120, à droite: 118 120
catch_clause (129)
à gauche: 122, à droite: 119 120
$@8 (130)
à gauche: 121, à droite: 122
finally_opt (131)
à gauche: 123 124, à droite: 118
expression (132)
à gauche: 125, à droite: 21 23 85 86 87 88 91 94 96 97 116 117
172 173 176 177 178 179
assignment_expression (133)
à gauche: 126 127, à droite: 128 129
assignment_statement (134)
à gauche: 128 129, à droite: 80 127
logical_or_expression (135)
à gauche: 130 131, à droite: 125 126 131
logical_and_expression (136)
à gauche: 132 133, à droite: 130 131 133
equality_expression (137)
à gauche: 134 135 136, à droite: 132 133 135 136
relational_expression (138)
à gauche: 137 138 139 140 141, à droite: 134 135 136 138 139 140
141
additive_expression (139)
à gauche: 142 143 144, à droite: 137 138 139 140 141 143 144
multiplicative_expression (140)
à gauche: 145 146 147 148, à droite: 142 143 144 146 147 148
unary_expression (141)
à gauche: 149 150 151 152 153, à droite: 145 146 147 148 150 151
152 153
postfix_expression (142)
à gauche: 154 155 156, à droite: 83 84 128 129 149 155 156
call_suffix (143)
à gauche: 157 158, à droite: 154 159
postfix_suffix (144)
à gauche: 159, à droite: 83 155
primary_expression (145)
à gauche: 160 161 162 163 164 165 166 167 168 169 170 171 172 173,
à droite: 82 154
argument_list_opt (146)
à gauche: 174 175, à droite: 82 158 168 169
argument_list (147)
à gauche: 176 177, à droite: 175 177
expression_list (148)
à gauche: 178 179, à droite: 171 179 181
expression_list_opt (149)
à gauche: 180 181, à droite: 170
état 0
0 $accept: . program $end
mc_public décalage et aller à l'état 1
$défaut réduction par utilisation de la règle 6 (mc_public_opt)
program aller à l'état 2
class_decl_list aller à l'état 3
class_decl aller à l'état 4
mc_public_opt aller à l'état 5
état 1
7 mc_public_opt: mc_public .
$défaut réduction par utilisation de la règle 7 (mc_public_opt)
état 2
0 $accept: program . $end
$end décalage et aller à l'état 6
état 3
1 program: class_decl_list . END_OF_FILE
3 class_decl_list: class_decl_list . class_decl
mc_public décalage et aller à l'état 1
END_OF_FILE décalage et aller à l'état 7
$défaut réduction par utilisation de la règle 6 (mc_public_opt)
class_decl aller à l'état 8
mc_public_opt aller à l'état 5
état 4
2 class_decl_list: class_decl .
$défaut réduction par utilisation de la règle 2 (class_decl_list)
état 5
5 class_decl: mc_public_opt . mc_class id accolade_o $@1 class_body accolade_f
mc_class décalage et aller à l'état 9
état 6
0 $accept: program $end .
$défaut accepter
état 7
1 program: class_decl_list END_OF_FILE .
$défaut réduction par utilisation de la règle 1 (program)
état 8
3 class_decl_list: class_decl_list class_decl .
$défaut réduction par utilisation de la règle 3 (class_decl_list)
état 9
5 class_decl: mc_public_opt mc_class . id accolade_o $@1 class_body accolade_f
id décalage et aller à l'état 10
état 10
5 class_decl: mc_public_opt mc_class id . accolade_o $@1 class_body accolade_f
accolade_o décalage et aller à l'état 11
état 11
5 class_decl: mc_public_opt mc_class id accolade_o . $@1 class_body accolade_f
$défaut réduction par utilisation de la règle 4 ($@1)
$@1 aller à l'état 12
état 12
5 class_decl: mc_public_opt mc_class id accolade_o $@1 . class_body accolade_f
mc_int décalage et aller à l'état 13
mc_float décalage et aller à l'état 14
mc_double décalage et aller à l'état 15
mc_char décalage et aller à l'état 16
mc_boolean décalage et aller à l'état 17
mc_string décalage et aller à l'état 18
mc_excp décalage et aller à l'état 19
mc_public décalage et aller à l'état 20
mc_static décalage et aller à l'état 21
mc_void décalage et aller à l'état 22
mc_private décalage et aller à l'état 23
mc_protected décalage et aller à l'état 24
id décalage et aller à l'état 25
accolade_o décalage et aller à l'état 26
$défaut réduction par utilisation de la règle 8 (class_body)
class_body aller à l'état 27
class_body_decl_list aller à l'état 28
class_body_decl aller à l'état 29
var_decl aller à l'état 30
method_decl aller à l'état 31
constructor_decl aller à l'état 32
visibility_static aller à l'état 33
visibility_actual aller à l'état 34
type aller à l'état 35
type_array aller à l'état 36
block aller à l'état 37
état 13
48 type: mc_int .
$défaut réduction par utilisation de la règle 48 (type)
état 14
49 type: mc_float .
$défaut réduction par utilisation de la règle 49 (type)
état 15
50 type: mc_double .
$défaut réduction par utilisation de la règle 50 (type)
état 16
51 type: mc_char .
$défaut réduction par utilisation de la règle 51 (type)
état 17
52 type: mc_boolean .
$défaut réduction par utilisation de la règle 52 (type)
état 18
53 type: mc_string .
$défaut réduction par utilisation de la règle 53 (type)
état 19
54 type: mc_excp .
$défaut réduction par utilisation de la règle 54 (type)
état 20
45 visibility_actual: mc_public .
$défaut réduction par utilisation de la règle 45 (visibility_actual)
état 21
42 visibility_static: mc_static .
44 | mc_static . visibility_actual
mc_public décalage et aller à l'état 20
mc_private décalage et aller à l'état 23
mc_protected décalage et aller à l'état 24
$défaut réduction par utilisation de la règle 42 (visibility_static)
visibility_actual aller à l'état 38
état 22
30 method_decl: mc_void . id $@4 parenthese_o param_list_opt parenthese_f throws_clause_opt block
id décalage et aller à l'état 39
état 23
46 visibility_actual: mc_private .
$défaut réduction par utilisation de la règle 46 (visibility_actual)
état 24
47 visibility_actual: mc_protected .
$défaut réduction par utilisation de la règle 47 (visibility_actual)
état 25
36 constructor_decl: id . $@7 parenthese_o param_list_opt parenthese_f block
55 type: id .
parenthese_o réduction par utilisation de la règle 35 ($@7)
$défaut réduction par utilisation de la règle 55 (type)
$@7 aller à l'état 40
état 26
64 block: accolade_o . statement_list_opt accolade_f
mc_int décalage et aller à l'état 13
mc_float décalage et aller à l'état 14
mc_double décalage et aller à l'état 15
mc_char décalage et aller à l'état 16
mc_boolean décalage et aller à l'état 17
mc_string décalage et aller à l'état 18
mc_excp décalage et aller à l'état 19
mc_if décalage et aller à l'état 41
mc_for décalage et aller à l'état 42
mc_while décalage et aller à l'état 43
mc_do décalage et aller à l'état 44
mc_switch décalage et aller à l'état 45
mc_return décalage et aller à l'état 46
mc_try décalage et aller à l'état 47
mc_new décalage et aller à l'état 48
mc_throw décalage et aller à l'état 49
mc_this décalage et aller à l'état 50
mc_true décalage et aller à l'état 51
mc_false décalage et aller à l'état 52
mc_print décalage et aller à l'état 53
chaine décalage et aller à l'état 54
caractere décalage et aller à l'état 55
id décalage et aller à l'état 56
integer décalage et aller à l'état 57
real décalage et aller à l'état 58
accolade_o décalage et aller à l'état 59
parenthese_o décalage et aller à l'état 60
$défaut réduction par utilisation de la règle 65 (statement_list_opt)
var_decl aller à l'état 61
type aller à l'état 62
type_array aller à l'état 36
block aller à l'état 63
statement_list_opt aller à l'état 64
statement_list aller à l'état 65
statement aller à l'état 66
postfix_statement aller à l'état 67
if_statement aller à l'état 68
while_statement aller à l'état 69
do_statement aller à l'état 70
for_statement aller à l'état 71
switch_statement aller à l'état 72
return_statement aller à l'état 73
throw_statement aller à l'état 74
try_catch_statement aller à l'état 75
assignment_statement aller à l'état 76
postfix_expression aller à l'état 77
primary_expression aller à l'état 78
état 27
5 class_decl: mc_public_opt mc_class id accolade_o $@1 class_body . accolade_f
accolade_f décalage et aller à l'état 79
état 28
9 class_body: class_body_decl_list .
11 class_body_decl_list: class_body_decl_list . class_body_decl
mc_int décalage et aller à l'état 13
mc_float décalage et aller à l'état 14
mc_double décalage et aller à l'état 15
mc_char décalage et aller à l'état 16
mc_boolean décalage et aller à l'état 17
mc_string décalage et aller à l'état 18
mc_excp décalage et aller à l'état 19
mc_public décalage et aller à l'état 20
mc_static décalage et aller à l'état 21
mc_void décalage et aller à l'état 22
mc_private décalage et aller à l'état 23
mc_protected décalage et aller à l'état 24
id décalage et aller à l'état 25
accolade_o décalage et aller à l'état 26
$défaut réduction par utilisation de la règle 9 (class_body)
class_body_decl aller à l'état 80
var_decl aller à l'état 30
method_decl aller à l'état 31
constructor_decl aller à l'état 32
visibility_static aller à l'état 33
visibility_actual aller à l'état 34
type aller à l'état 35
type_array aller à l'état 36
block aller à l'état 37
état 29
10 class_body_decl_list: class_body_decl .
$défaut réduction par utilisation de la règle 10 (class_body_decl_list)
état 30
12 class_body_decl: var_decl .
$défaut réduction par utilisation de la règle 12 (class_body_decl)
état 31
13 class_body_decl: method_decl .
$défaut réduction par utilisation de la règle 13 (class_body_decl)
état 32
14 class_body_decl: constructor_decl .
$défaut réduction par utilisation de la règle 14 (class_body_decl)
état 33
26 method_decl: visibility_static . mc_void id $@2 parenthese_o param_list_opt parenthese_f throws_clause_opt block
28 | visibility_static . type id $@3 parenthese_o param_list_opt parenthese_f throws_clause_opt block
34 constructor_decl: visibility_static . id $@6 parenthese_o param_list_opt parenthese_f block
mc_int décalage et aller à l'état 13
mc_float décalage et aller à l'état 14
mc_double décalage et aller à l'état 15
mc_char décalage et aller à l'état 16
mc_boolean décalage et aller à l'état 17
mc_string décalage et aller à l'état 18
mc_excp décalage et aller à l'état 19
mc_void décalage et aller à l'état 81
id décalage et aller à l'état 82
type aller à l'état 83
état 34
41 visibility_static: visibility_actual .
43 | visibility_actual . mc_static
mc_static décalage et aller à l'état 84
$défaut réduction par utilisation de la règle 41 (visibility_static)
état 35
16 var_decl: type . var_decl_list pt_virgule
32 method_decl: type . id $@5 parenthese_o param_list_opt parenthese_f throws_clause_opt block
56 type_array: type . crochet_o crochet_f
57 | type . crochet_o crochet_f crochet_o crochet_f
id décalage et aller à l'état 85
crochet_o décalage et aller à l'état 86
var_decl_list aller à l'état 87
état 36
17 var_decl: type_array . var_decl_list pt_virgule
id décalage et aller à l'état 88
var_decl_list aller à l'état 89
état 37
15 class_body_decl: block .
$défaut réduction par utilisation de la règle 15 (class_body_decl)
état 38
44 visibility_static: mc_static visibility_actual .
$défaut réduction par utilisation de la règle 44 (visibility_static)
état 39
30 method_decl: mc_void id . $@4 parenthese_o param_list_opt parenthese_f throws_clause_opt block
$défaut réduction par utilisation de la règle 29 ($@4)
$@4 aller à l'état 90
état 40
36 constructor_decl: id $@7 . parenthese_o param_list_opt parenthese_f block
parenthese_o décalage et aller à l'état 91
état 41
85 if_statement: mc_if . parenthese_o expression parenthese_f statement
86 | mc_if . parenthese_o expression parenthese_f statement mc_else statement
parenthese_o décalage et aller à l'état 92
état 42
89 for_statement: mc_for . parenthese_o for_init_opt expression_opt pt_virgule for_update_opt parenthese_f statement
parenthese_o décalage et aller à l'état 93
état 43
87 while_statement: mc_while . parenthese_o expression parenthese_f statement
parenthese_o décalage et aller à l'état 94
état 44
88 do_statement: mc_do . statement mc_while parenthese_o expression parenthese_f pt_virgule
mc_int décalage et aller à l'état 13
mc_float décalage et aller à l'état 14
mc_double décalage et aller à l'état 15
mc_char décalage et aller à l'état 16
mc_boolean décalage et aller à l'état 17
mc_string décalage et aller à l'état 18
mc_excp décalage et aller à l'état 19
mc_if décalage et aller à l'état 41
mc_for décalage et aller à l'état 42
mc_while décalage et aller à l'état 43
mc_do décalage et aller à l'état 44
mc_switch décalage et aller à l'état 45
mc_return décalage et aller à l'état 46
mc_try décalage et aller à l'état 47
mc_new décalage et aller à l'état 48
mc_throw décalage et aller à l'état 49
mc_this décalage et aller à l'état 50
mc_true décalage et aller à l'état 51
mc_false décalage et aller à l'état 52
mc_print décalage et aller à l'état 53