-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathQSDL92.output
16647 lines (10502 loc) · 442 KB
/
QSDL92.output
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
ACTIVEtoken
ALTERNATIVEtoken
ATLEASTtoken
AXIOMStoken
CONSTANTtoken
ENDALTERNATIVEtoken
ENDGENERATORtoken
ENDMACROtoken
ENDOPERATORtoken
ENDREFINEMENTtoken
ENDSELECTtoken
ERRORtoken
EXPORTtoken
FItoken
FORtoken
GATEtoken
IFtoken
IMPORTtoken
IMPORTEDtoken
INHERITStoken
LITERALtoken
MACROtoken
MACRODEFINITIONtoken
MACROIDtoken
MAPtoken
NAMECLASStoken
REFINEMENTtoken
REVERSEtoken
SELECTtoken
SPELLINGtoken
THENtoken
VIEWtoken
VIEWEDtoken
OTHER_CHARtoken
APOSTROPHEtoken
SPACEtoken
LINEBREAKtoken
TABULATORtoken
FULLSTOPtoken
DOUBLEEQUALtoken
LONGTHICKARROWtoken
LEFTPARPERIODtoken
RIGHTPARPERIODtoken
NATURAL_NUMBERtoken
UNDERLINEtoken
BASETIMEtoken
unary_minus
State 0 conflicts: 1 shift/reduce
State 4 conflicts: 1 shift/reduce
State 150 conflicts: 1 shift/reduce
State 180 conflicts: 1 shift/reduce
State 345 conflicts: 1 shift/reduce
State 873 conflicts: 1 shift/reduce
State 1069 conflicts: 1 shift/reduce
Grammar
0 $accept: sdl_specification $end
1 name: WORDtoken
2 opt_name: %empty
3 | name
4 comma_name_list: comma_name_list COMMAtoken name
5 | name
6 par_comma_name_list: LEFTPARtoken comma_name_list RIGHTPARtoken
7 opt_par_comma_name_list: %empty
8 | par_comma_name_list
9 identifier: opt_qualifier name
10 opt_identifier: %empty
11 | identifier
12 comma_ident_list: comma_ident_list COMMAtoken identifier
13 | identifier
14 qualifier: path_item_list
15 | ltlt_path_item_list
16 opt_qualifier: %empty
17 | qualifier
18 ltlt_path_item_list: LTLTtoken path_item_list GTGTtoken
19 path_item: scope_unit_kind name_or_quoted_operator
20 path_item_list: path_item
21 | path_item_list SLASHtoken path_item
22 name_or_quoted_operator: name
23 | quoted_operator
24 scope_unit_kind: PACKAGEtoken
25 | SYSTEMtoken
26 | BLOCKtoken
27 | SUBSTRUCTUREtoken
28 | PROCESStoken
29 | SERVICEtoken
30 | PROCEDUREtoken
31 | SIGNALtoken
32 | OPERATORtoken
33 | TYPEtoken
34 | MACHINEtoken
35 informal_text: CHARSTRINGtoken
36 end: opt_comment SEMICOLONtoken
37 opt_end: %empty
38 | end
39 opt_comment: %empty
40 | comment
41 comment: COMMENTtoken CHARSTRINGtoken
42 sdl_specification: package_list opt_sdl_spec_body
43 opt_sdl_spec_body: %empty
44 | sdl_spec_body
45 sdl_spec_body: system_definition opt_referenced_def_list opt_atom_definition
46 opt_referenced_def_list: %empty
47 | referenced_def_list
48 referenced_def_list: referenced_definition
49 | referenced_def_list referenced_definition
50 package_list: %empty
51 | pckg_opt_ref_def_list_list
52 pckg_opt_ref_def_list_list: package opt_referenced_def_list
53 | pckg_opt_ref_def_list_list package opt_referenced_def_list
54 package: package_definition
55 package_definition: opt_packg_ref_clause_list PACKAGEtoken name opt_interface end opt_entity_in_pckg_list ENDPACKAGEtoken opt_name end
56 opt_packg_ref_clause_list: %empty
57 | packg_ref_clause_list
58 packg_ref_clause_list: packg_ref_clause_list package_reference_clause
59 | package_reference_clause
60 opt_entity_in_pckg_list: %empty
61 | entity_in_pckg_list
62 entity_in_pckg_list: entity_in_pckg_list entity_in_package
63 | entity_in_package
64 entity_in_package: procedure_definition
65 | procedure_reference
66 | signal_definition
67 | signallist_definition
68 | data_definition
69 package_reference_clause: USEtoken name opt_slash_def_sel end
70 opt_slash_def_sel: %empty
71 | SLASHtoken definition_selection_list
72 definition_selection_list: definition_selection_list COMMAtoken definition_selection
73 | definition_selection
74 definition_selection: opt_entity_kind name
75 opt_entity_kind: %empty
76 | entity_kind
77 entity_kind: SYSTEMtoken
78 | BLOCKtoken
79 | PROCESStoken
80 | SERVICEtoken
81 | SIGNALtoken
82 | PROCEDUREtoken
83 | NEWTYPEtoken
84 | SIGNALLISTtoken
85 | GENERATORtoken
86 | SYNONYMtoken
87 | REMOTEtoken
88 opt_interface: %empty
89 | interface
90 interface: INTERFACEtoken definition_selection_list
91 referenced_definition: definition
92 system_definition: textual_system_definition
93 definition: block_definition
94 | process_definition
95 | service_definition
96 | procedure_definition
97 | block_substructure_definition
98 | machine_definition
99 textual_system_definition: opt_packg_ref_clause_list text_sys_def_body
100 $@1: %empty
101 text_sys_def_body: SYSTEMtoken name $@1 end entity_in_sys_list ENDSYSTEMtoken opt_name end
102 entity_in_sys_list: entity_in_sys_list entity_in_system
103 | entity_in_system
104 entity_in_system: block_definition
105 | block_reference
106 | channel_definition
107 | signal_definition
108 | signallist_definition
109 | data_definition
110 | procedure_definition
111 | procedure_reference
112 | machine_service_definition
113 | pipe_definition
114 | sys_sensor_definition
115 opt_block_substruct_def_or_ref: %empty
116 | block_substruct_def_or_ref
117 block_substruct_def_or_ref: block_substructure_definition
118 | block_substructure_reference
119 block_substructure_reference: SUBSTRUCTUREtoken identifier REFERENCEDtoken end
120 $@2: %empty
121 block_substructure_definition: SUBSTRUCTUREtoken identifier $@2 end entity_in_substructure_list ENDSUBSTRUCTUREtoken opt_name end
122 entity_in_substructure_list: entity_in_substructure_list entity_in_substructure
123 | entity_in_substructure
124 entity_in_substructure: entity_in_system
125 | channel_connection
126 | pipe_binding
127 sys_sensor_definition: SENSORtoken sys_sensor_list end
128 sys_sensor_list: sys_sensor_list COMMAtoken sys_sensor_item
129 | sys_sensor_item
130 sys_sensor_item: identifier sys_sensor_type
131 | identifier sys_sensor_type_param opt_par_comma_name_list
132 sys_sensor_type: BASECOUNTERtoken
133 | BASEFREQUENCYtoken
134 | BASETALLYtoken
135 | FREQSIGNALtoken
136 | FREQREQUESTtoken
137 | FREQPROCESSCREATEtoken
138 | FREQPROCESSSTOPtoken
139 sys_sensor_type_param: LIFETIMEPROCESStoken
140 | COUNTPROCESSCREATEtoken
141 | COUNTPROCESSSTOPtoken
142 | COUNTSIGNALtoken
143 | COUNTREQUESTtoken
144 block_reference: BLOCKtoken identifier REFERENCEDtoken end
145 $@3: %empty
146 block_definition: BLOCKtoken identifier $@3 end opt_block_body_list opt_block_substruct_def_or_ref ENDBLOCKtoken opt_identifier end
147 opt_block_body_list: %empty
148 | block_body_list
149 block_body_list: block_body_list block_body_list_item
150 | block_body_list_item
151 block_body_list_item: channel_to_route_connection
152 | pipe_to_link_binding
153 | entity_in_block
154 entity_in_block: signal_definition
155 | signallist_definition
156 | process_definition
157 | process_reference
158 | signal_route_definition
159 | data_definition
160 | procedure_reference
161 | procedure_definition
162 | machine_service_definition
163 | machine_definition
164 | machine_reference
165 | link_definition
166 | sys_sensor_definition
167 $@4: %empty
168 process_reference: PROCESStoken identifier opt_number_of_process_instances REFERENCEDtoken $@4 end
169 $@5: %empty
170 process_definition: PROCESStoken identifier opt_number_of_process_instances end $@5 opt_fpar_end_item opt_valid_input_signal_set opt_pcs_entity_item_list opt_process_body ENDPROCESStoken opt_identifier end
171 opt_fpar_end_item: %empty
172 | fpar_end_item
173 fpar_end_item: formal_parameters end
174 opt_pcs_entity_item_list: %empty
175 | pcs_entity_item_list
176 pcs_entity_item_list: pcs_entity_item_list pcs_entity_item
177 | pcs_entity_item
178 pcs_entity_item: entity_in_process
179 | signal_route_to_route_connection
180 entity_in_process: signal_definition
181 | signallist_definition
182 | procedure_reference
183 | procedure_definition
184 | data_definition
185 | variable_definition
186 | timer_definition
187 | signal_route_definition
188 | pcs_sensor_definition
189 pcs_sensor_definition: SENSORtoken pcs_sensor_list end
190 pcs_sensor_list: pcs_sensor_list COMMAtoken pcs_sensor_item
191 | pcs_sensor_item
192 pcs_sensor_item: identifier pcs_sensor_type
193 | identifier pcs_sensor_type_param opt_par_comma_name_list
194 pcs_sensor_type: BASECOUNTERtoken
195 | BASEFREQUENCYtoken
196 | BASETALLYtoken
197 | FREQSIGNALRECEIVEtoken
198 | FREQSIGNALSENDtoken
199 | FREQSIGNALDROPtoken
200 | FREQSIGNALCONSUMEtoken
201 | FREQSIGNALSAVEtoken
202 | FREQSIGNALLOSEtoken
203 | FREQREQUESTtoken
204 | FREQSTATEtoken
205 | QUEUELENGTHtoken
206 | QUEUECONTENTtoken
207 pcs_sensor_type_param: COUNTSIGNALRECEIVEtoken
208 | COUNTSIGNALSENDtoken
209 | COUNTSIGNALDROPtoken
210 | COUNTSIGNALCONSUMEtoken
211 | COUNTSIGNALSAVEtoken
212 | COUNTSIGNALLOSEtoken
213 | COUNTREQUESTtoken
214 | COUNTSTATEtoken
215 | WAITTIMESIGNALtoken
216 | WAITTIMESTATEtoken
217 | RESPONSETIMEREQUESTtoken
218 | TRANSMISSIONTIMESIGNALtoken
219 | FREQTRANSITIONtoken
220 | COUNTTRANSITIONtoken
221 procedure_reference: PROCEDUREtoken name REFERENCEDtoken end
222 $@6: %empty
223 $@7: %empty
224 valid_input_signal_set: SIGNALSETtoken $@6 opt_signallist $@7 end
225 opt_valid_input_signal_set: %empty
226 | valid_input_signal_set
227 process_body: start opt_state_or_free_action_list
228 opt_process_body: %empty
229 | process_body
230 opt_state_or_free_action_list: %empty
231 | state_or_free_action_list
232 state_or_free_action_list: state_or_free_action_list state_or_free_action
233 | state_or_free_action
234 state_or_free_action: state
235 | free_action
236 $@8: %empty
237 formal_parameters: FPARtoken $@8 comma_parameters_of_sort_list
238 comma_parameters_of_sort_list: comma_parameters_of_sort_list COMMAtoken parameters_of_sort
239 | parameters_of_sort
240 parameters_of_sort: comma_name_list sort
241 number_of_process_instances: LEFTPARtoken opt_initial_number opt_comma_opt_max_no opt_comma_opt_queue_length RIGHTPARtoken
242 opt_number_of_process_instances: %empty
243 | number_of_process_instances
244 opt_comma_opt_max_no: %empty
245 | comma_opt_max_no
246 comma_opt_max_no: COMMAtoken opt_maximum_number
247 opt_comma_opt_queue_length: %empty
248 | comma_opt_queue_length
249 comma_opt_queue_length: COMMAtoken opt_queue_length
250 initial_number: simple_expression
251 opt_initial_number: %empty
252 | initial_number
253 maximum_number: simple_expression
254 opt_maximum_number: %empty
255 | maximum_number
256 queue_length: simple_expression
257 opt_queue_length: %empty
258 | queue_length
259 service_definition: SERVICEtoken identifier end opt_valid_input_signal_set opt_entity_in_service_list service_body ENDSERVICEtoken opt_identifier end
260 opt_entity_in_service_list: %empty
261 | entity_in_service_list
262 entity_in_service_list: entity_in_service_list entity_in_service
263 | entity_in_service
264 entity_in_service: variable_definition
265 | data_definition
266 | procedure_definition
267 | procedure_reference
268 | timer_definition
269 service_body: process_body
270 $@9: %empty
271 procedure_definition: PROCEDUREtoken identifier end $@9 opt_proc_fpar_end_item opt_proc_result_end_item opt_entity_in_proc_item_list opt_procedure_body ENDPROCEDUREtoken opt_identifier end
272 opt_proc_fpar_end_item: %empty
273 | proc_fpar_end_item
274 proc_fpar_end_item: procedure_formal_parameters end
275 opt_proc_result_end_item: %empty
276 | proc_result_end_item
277 proc_result_end_item: procedure_result end
278 opt_entity_in_proc_item_list: %empty
279 | entity_in_proc_item_list
280 entity_in_proc_item_list: entity_in_proc_item_list entity_in_proc_item
281 | entity_in_proc_item
282 entity_in_proc_item: entity_in_procedure
283 $@10: %empty
284 procedure_formal_parameters: FPARtoken $@10 opt_comma_formal_var_param_list
285 opt_comma_formal_var_param_list: %empty
286 | comma_formal_var_param_list
287 comma_formal_var_param_list: comma_formal_var_param_list COMMAtoken formal_variable_parameters
288 | formal_variable_parameters
289 formal_variable_parameters: parameter_kind parameters_of_sort
290 parameter_kind: %empty
291 | in_out
292 in_out: INtoken SLASHtoken OUTtoken
293 | INtoken
294 procedure_result: RETURNStoken opt_name sort
295 entity_in_procedure: data_definition
296 | variable_definition
297 | procedure_reference
298 | procedure_definition
299 procedure_body: start opt_state_or_free_action_list
300 | state_or_free_action_list
301 opt_procedure_body: %empty
302 | procedure_body
303 $@11: %empty
304 channel_definition: CHANNELtoken name $@11 opt_nodelay channel_path opt_channel_path ENDCHANNELtoken opt_name end
305 opt_nodelay: %empty
306 | NODELAYtoken
307 $@12: %empty
308 $@13: %empty
309 $@14: %empty
310 $@15: %empty
311 channel_path: FROMtoken channel_endpoint $@12 TOtoken channel_endpoint $@13 WITHtoken $@14 signallist $@15 end
312 opt_channel_path: %empty
313 | channel_path
314 channel_endpoint: ident_or_env
315 ident_or_env: identifier
316 | ENVtoken
317 $@16: %empty
318 signal_route_definition: SIGNALROUTEtoken name $@16 signal_route_path opt_signal_route_path
319 $@17: %empty
320 $@18: %empty
321 $@19: %empty
322 $@20: %empty
323 signal_route_path: FROMtoken signal_route_endpoint $@17 TOtoken signal_route_endpoint $@18 WITHtoken $@19 signallist $@20 end
324 opt_signal_route_path: %empty
325 | signal_route_path
326 signal_route_endpoint: ident_or_env
327 $@21: %empty
328 $@22: %empty
329 channel_connection: CONNECTtoken $@21 comma_ident_list $@22 ANDtoken comma_ident_list end
330 $@23: %empty
331 $@24: %empty
332 channel_to_route_connection: CONNECTtoken $@23 comma_ident_list $@24 ANDtoken comma_ident_list end
333 signal_route_to_route_connection: CONNECTtoken comma_ident_list ANDtoken comma_ident_list end
334 $@25: %empty
335 signal_definition: SIGNALtoken $@25 comma_sig_def_item_list end
336 comma_sig_def_item_list: comma_sig_def_item_list COMMAtoken signal_definition_item
337 | signal_definition_item
338 $@26: %empty
339 signal_definition_item: name $@26 opt_sort_list
340 sort_list: LEFTPARtoken comma_sort_list RIGHTPARtoken
341 opt_sort_list: %empty
342 | sort_list
343 comma_sort_list: comma_sort_list COMMAtoken sort
344 | sort
345 $@27: %empty
346 $@28: %empty
347 $@29: %empty
348 signallist_definition: SIGNALLISTtoken name $@27 EQUALtoken $@28 signallist $@29 end
349 signallist: signallist_item
350 | signallist COMMAtoken signallist_item
351 opt_signallist: %empty
352 | signallist
353 signallist_item: identifier
354 $@30: %empty
355 signallist_item: LEFTPARtoken identifier $@30 RIGHTPARtoken
356 $@31: %empty
357 variable_definition: DCLtoken $@31 opt_history_item opt_revealed_exported_item variables_of_sort_list end
358 opt_history_item: %empty
359 | HISTtoken
360 opt_revealed_exported_item: %empty
361 | revealed_exported_item
362 revealed_exported_item: REVEALEDtoken
363 | EXPORTEDtoken
364 | REVEALEDtoken EXPORTEDtoken
365 | EXPORTEDtoken REVEALEDtoken
366 $@32: %empty
367 variables_of_sort: comma_var_exported_list sort $@32 opt_var_init
368 comma_var_exported_list: comma_var_exported_list COMMAtoken var_exported
369 | var_exported
370 var_exported: name opt_exported_as
371 opt_var_init: %empty
372 | var_init
373 var_init: ASSIGNMENTtoken ground_expression
374 variables_of_sort_list: variables_of_sort_list COMMAtoken variables_of_sort
375 | variables_of_sort
376 exported_as: AStoken identifier
377 opt_exported_as: %empty
378 | exported_as
379 $@33: %empty
380 start: STARTtoken $@33 opt_virtuality end transition
381 $@34: %empty
382 $@35: %empty
383 $@36: %empty
384 state: STATEtoken $@34 state_list $@35 opt_awake_item $@36 end opt_state_body_list opt_endstate_item
385 opt_state_body_list: %empty
386 | state_body_list
387 state_body_list: state_body_list state_body_item
388 | state_body_item
389 state_body_item: input_part
390 | priority_input
391 | save_part
392 | spontaneous_transition
393 | continuous_signal
394 opt_endstate_item: %empty
395 | endstate_item
396 endstate_item: ENDSTATEtoken opt_name end
397 state_list: comma_name_list
398 | asterisk_state_list
399 input_part: basic_input_part
400 $@37: %empty
401 $@38: %empty
402 basic_input_part: INPUTtoken opt_virtuality $@37 input_list end opt_enabling_condition $@38 transition
403 input_list: asterisk_input_list
404 | comma_stimulus_list
405 $@39: %empty
406 stimulus: identifier $@39 opt_par_comma_opt_var_list
407 opt_par_comma_opt_var_list: %empty
408 | par_comma_opt_var_list
409 par_comma_opt_var_list: LEFTPARtoken comma_opt_var_list RIGHTPARtoken
410 comma_opt_var_list: comma_opt_var_list COMMAtoken opt_variable
411 | opt_variable
412 comma_stimulus_list: comma_stimulus_list COMMAtoken stimulus
413 | stimulus
414 save_part: basic_save_part
415 $@40: %empty
416 basic_save_part: SAVEtoken opt_virtuality $@40 save_list end
417 save_list: signallist
418 | asterisk_save_list
419 $@41: %empty
420 $@42: %empty
421 spontaneous_transition: INPUTtoken opt_virtuality spontaneous_designator $@41 end opt_enabling_condition $@42 transition
422 spontaneous_designator: NONEtoken
423 label: name COLONtoken
424 opt_label: %empty
425 | label
426 free_action: CONNECTIONtoken transition opt_endconnection_item
427 opt_endconnection_item: %empty
428 | endconnection_item
429 endconnection_item: ENDCONNECTIONtoken opt_name end
430 transition: transition_string opt_terminator_statement
431 | terminator_statement
432 opt_transition: %empty
433 | transition
434 transition_string: transition_string action_statement
435 | action_statement
436 $@43: %empty
437 action_statement: opt_label $@43 action end
438 action: request
439 | task
440 | output
441 | create_request
442 | decision
443 | set
444 | reset
445 | procedure_call
446 | update
447 | clear
448 | assert
449 $@44: %empty
450 terminator_statement: opt_label $@44 terminator end
451 opt_terminator_statement: %empty
452 | terminator_statement
453 terminator: nextstate
454 | join
455 | stop
456 | return
457 nextstate: NEXTSTATEtoken nextstate_body
458 nextstate_body: name
459 | dash_nextstate
460 join: JOINtoken name
461 stop: STOPtoken
462 return: RETURNtoken opt_expression
463 $@45: %empty
464 task: TASKtoken $@45 task_body
465 task_body: comma_assignment_statement_list
466 | comma_informal_text_list
467 $@46: %empty
468 comma_assignment_statement_list: comma_assignment_statement_list COMMAtoken $@46 assignment_statement
469 | assignment_statement
470 $@47: %empty
471 comma_informal_text_list: comma_informal_text_list COMMAtoken $@47 informal_text
472 | informal_text
473 create_request: CREATEtoken create_body
474 create_body: ident_or_this opt_actual_parameters
475 ident_or_this: identifier
476 actual_parameters: par_comma_opt_expr_list
477 opt_actual_parameters: %empty
478 | actual_parameters
479 procedure_call: CALLtoken procedure_call_body
480 $@48: %empty
481 procedure_call_body: identifier $@48 opt_actual_parameters
482 $@49: %empty
483 output: OUTPUTtoken $@49 output_body
484 $@50: %empty
485 $@51: %empty
486 output_body: comma_ident_actual_param_list opt_to_destination $@50 opt_via_path_item $@51 opt_delay
487 comma_ident_actual_param_list: comma_ident_actual_param_list COMMAtoken ident_actual_param
488 | ident_actual_param
489 ident_actual_param: identifier opt_actual_parameters
490 opt_to_destination: %empty
491 | to_destination
492 to_destination: TOtoken destination
493 opt_via_path_item: %empty
494 | via_path_item
495 via_path_item: VIAtoken opt_all via_path
496 opt_all: %empty
497 | ALLtoken
498 opt_delay: %empty
499 | delay
500 delay: DELAYtoken expression
501 destination: expression
502 | THIStoken
503 via_path: comma_ident_list
504 $@52: %empty
505 $@53: %empty
506 decision: DECISIONtoken $@52 question $@53 end decision_body ENDDECISIONtoken
507 decision_body: answer_part else_part
508 | answer_part answer_part_list opt_else_part
509 $@54: %empty
510 answer_part: LEFTPARtoken opt_answer RIGHTPARtoken COLONtoken $@54 opt_transition
511 answer_part_list: answer_part_list answer_part
512 | answer_part
513 answer: range_condition
514 | informal_text
515 opt_answer: %empty
516 | answer
517 $@55: %empty
518 else_part: ELSEtoken COLONtoken $@55 opt_transition
519 opt_else_part: %empty
520 | else_part
521 question: expression
522 | informal_text
523 | ANYtoken
524 timer_definition: TIMERtoken timer_definition_item_list end
525 $@56: %empty
526 timer_definition_item: name $@56 opt_sort_list opt_timer_init
527 opt_timer_init: %empty
528 | timer_init
529 timer_init: ASSIGNMENTtoken ground_expression
530 timer_definition_item_list: timer_definition_item_list COMMAtoken timer_definition_item
531 | timer_definition_item
532 reset: RESETtoken par_comma_reset_statement_list
533 par_comma_reset_statement_list: LEFTPARtoken comma_reset_statement_list RIGHTPARtoken
534 reset_statement: identifier opt_par_expression_list
535 comma_reset_statement_list: comma_reset_statement_list COMMAtoken reset_statement
536 | reset_statement
537 set: SETtoken comma_set_statement_list
538 set_statement: LEFTPARtoken expr_comma identifier opt_par_expression_list RIGHTPARtoken
539 expr_comma: expression COMMAtoken
540 comma_set_statement_list: comma_set_statement_list COMMAtoken set_statement
541 | set_statement
542 simple_expression: ground_expression
543 $@57: %empty
544 asterisk_state_list: ASTERISKtoken $@57 opt_par_comma_name_list
545 asterisk_input_list: ASTERISKtoken
546 asterisk_save_list: ASTERISKtoken
547 dash_nextstate: MINUStoken
548 $@58: %empty
549 $@59: %empty
550 priority_input: PRIORITYtoken INPUTtoken opt_virtuality $@58 priority_input_list end $@59 transition
551 priority_input_list: comma_stimulus_list
552 $@60: %empty
553 $@61: %empty
554 continuous_signal: PROVIDEDtoken opt_virtuality $@60 expression $@61 end opt_priority_name_end_item transition
555 opt_priority_name_end_item: %empty
556 | priority_name_end_item
557 priority_name_end_item: PRIORITYtoken name end
558 enabling_condition: PROVIDEDtoken expression end
559 opt_enabling_condition: %empty
560 | enabling_condition
561 $@62: %empty
562 partial_type_definition: NEWTYPEtoken name $@62 opt_extended_properties properties_expression ENDNEWTYPEtoken opt_name
563 properties_expression: operators opt_default_initialization
564 operators: opt_literal_list opt_operator_list
565 $@63: %empty
566 literal_list: LITERALStoken $@63 comma_literal_signature_list opt_end
567 opt_literal_list: %empty
568 | literal_list
569 literal_signature: name
570 comma_literal_signature_list: comma_literal_signature_list COMMAtoken literal_signature
571 | literal_signature
572 operator_list: OPERATORStoken operator_signature_end_list opt_end
573 operator_signature_end_list: operator_signature_end_list end operator_signature
574 | operator_signature
575 opt_operator_list: %empty
576 | operator_list
577 $@64: %empty
578 operator_signature: operator_name COLONtoken $@64 comma_sort_list THINARROWtoken result
579 | ordering
580 | noequality
581 operator_name: name
582 result: extended_sort
583 extended_sort: sort
584 sort: identifier
585 opt_sort: %empty
586 | sort
587 extended_properties: structure_definition
588 | generator_transformations
589 opt_extended_properties: %empty
590 | extended_properties
591 quoted_operator: quote infix_operator quote
592 | quote monadic_operator quote
593 quote: QUOTEtoken
594 infix_operator: THICKARROWtoken