Subversion Repositories tendra.SVN

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 7u83 1
/*
2
 * Automatically generated from the files:
3
 *	/u/g/release/Source/src/utilities/make_tdf/syntax.sid
4
 * and
5
 *	/u/g/release/Source/src/utilities/make_tdf/syntax.act
6
 * by:
7
 *	sid
8
 */
9
 
10
/* BEGINNING OF HEADER */
11
 
12
 
13
/*
14
    		 Crown Copyright (c) 1997
15
 
16
    This TenDRA(r) Computer Program is subject to Copyright
17
    owned by the United Kingdom Secretary of State for Defence
18
    acting through the Defence Evaluation and Research Agency
19
    (DERA).  It is made available to Recipients with a
20
    royalty-free licence for its use, reproduction, transfer
21
    to other parties and amendment for any purpose not excluding
22
    product development provided that any such use et cetera
23
    shall be deemed to be acceptance of the following conditions:-
24
 
25
        (1) Its Recipients shall ensure that this Notice is
26
        reproduced upon any copies or amended versions of it;
27
 
28
        (2) Any amended version of it shall be clearly marked to
29
        show both the nature of and the organisation responsible
30
        for the relevant amendment or amendments;
31
 
32
        (3) Its onward transfer from a recipient to another
33
        party shall be deemed to be that party's acceptance of
34
        these conditions;
35
 
36
        (4) DERA gives no warranty or assurance as to its
37
        quality or suitability for any purpose and DERA accepts
38
        no liability whatsoever in relation to any use to which
39
        it may be put.
40
*/
41
 
42
 
43
#include "config.h"
44
#include "tdf.h"
45
#include "cmd_ops.h"
46
#include "cons_ops.h"
47
#include "info_ops.h"
48
#include "link_ops.h"
49
#include "par_ops.h"
50
#include "sort_ops.h"
51
#include "spec_ops.h"
52
#include "error.h"
53
#include "input.h"
54
#include "lex.h"
55
#include "syntax.h"
56
#include "xalloc.h"
57
 
58
 
59
/*
60
    LOCAL TYPE ALIASES
61
 
62
    These definitions give the aliases used for compound types within the
63
    grammar.
64
*/
65
 
66
typedef LIST ( CONSTRUCT ) SID_CONS_LIST ;
67
typedef LIST ( LINKAGE ) SID_LINK_LIST ;
68
typedef LIST ( PARAMETER ) SID_PARAM_LIST ;
69
 
70
 
71
/*
72
    COMPILATION MODE
73
 
74
    We allow unreached code and switch off the variable analysis in the
75
    automatically generated sections.
76
*/
77
 
78
#if FS_TENDRA
79
#pragma TenDRA begin
80
#pragma TenDRA variable analysis off
81
#ifndef OLD_PRODUCER
82
#pragma TenDRA unreachable code allow
83
#endif
84
#endif
85
 
86
 
87
 
88
/* BEGINNING OF FUNCTION DECLARATIONS */
89
 
90
static void ZRlink_Hpack PROTO_S ((SID_LINK_LIST *));
91
static void ZRparam_Hlist PROTO_S ((SID_PARAM_LIST *));
92
static void ZRclist_Hitem PROTO_S ((void));
93
static void ZRslist_Hpack PROTO_S ((void));
94
static void ZRedge_Hlist PROTO_S ((void));
95
static void ZRkind_Hitem PROTO_S ((LINKAGE *));
96
static void ZRoption_Hlist PROTO_S ((void));
97
static void ZR139 PROTO_S ((CONSTRUCT *));
98
static void ZRold_Hsort_Hname PROTO_S ((SORT *));
99
static void ZR140 PROTO_S ((CONSTRUCT *));
100
static void ZR141 PROTO_S ((CONSTRUCT *));
101
static void ZRclist_Hlist PROTO_S ((void));
102
static void ZRlink_Hitem PROTO_S ((LINKAGE *));
103
static void ZRslist_Hitem PROTO_S ((void));
104
static void ZRkind_Hlist PROTO_S ((SID_LINK_LIST *));
105
static void ZRnew_Hsort_Hname PROTO_S ((SORT *));
106
static void ZRsort_Hpack PROTO_S ((void));
107
static void ZRany_Hname PROTO_S ((string *));
108
static void ZRlink_Hlist PROTO_S ((SID_LINK_LIST *));
109
static void ZRslist_Hlist PROTO_S ((void));
110
static void ZRsort_Hitem PROTO_S ((void));
111
static void ZRsort_Hlist PROTO_S ((void));
112
static void ZRconstruct_Hpack PROTO_S ((SORT, SID_CONS_LIST *));
113
static void ZRconstruct_Hextra PROTO_S ((CONSTRUCT));
114
static void ZRboundary_Hitem PROTO_S ((CONSTRUCT));
115
static void ZRconstruct_Hitem PROTO_S ((SORT, CONSTRUCT *));
116
static void ZRconstruct_Hlist PROTO_S ((SORT, SID_CONS_LIST *));
117
static void ZRparam_Hpack PROTO_S ((SID_PARAM_LIST *));
118
static void ZRedge_Hpack PROTO_S ((void));
119
extern void read_spec PROTO_S ((SPECIFICATION *));
120
static void ZRoption_Hpack PROTO_S ((void));
121
static void ZRclist_Hpack PROTO_S ((void));
122
static void ZRparam_Hitem PROTO_S ((PARAMETER *));
123
static void ZRedge_Hitem PROTO_S ((void));
124
static void ZRkind_Hpack PROTO_S ((SID_LINK_LIST *));
125
static void ZRnumber_Hlist PROTO_S ((CONSTRUCT));
126
static void ZRoption_Hitem PROTO_S ((void));
127
 
128
/* BEGINNING OF STATIC VARIABLES */
129
 
130
 
131
/* BEGINNING OF FUNCTION DEFINITIONS */
132
 
133
static void
134
ZRlink_Hpack PROTO_N ((ZOp))
135
  PROTO_T (SID_LINK_LIST *ZOp)
136
{
137
    SID_LINK_LIST ZIp;
138
 
139
    if ((CURRENT_TERMINAL) == 32) {
140
	return;
141
    }
142
    {
143
	SID_LINK_LIST ZIq;
144
 
145
	switch (CURRENT_TERMINAL) {
146
	  case 27:
147
	    break;
148
	  default:
149
	    goto ZL1;
150
	}
151
	ADVANCE_LEXER;
152
	{
153
	    switch (CURRENT_TERMINAL) {
154
	      case 27:
155
		{
156
		    ZRlink_Hlist (&ZIq);
157
		    if ((CURRENT_TERMINAL) == 32) {
158
			RESTORE_LEXER;
159
			goto ZL1;
160
		    }
161
		}
162
		break;
163
	      default:
164
		{
165
		    {
166
 
167
    (ZIq) = NULL_list ( LINKAGE ) ;
168
		    }
169
		}
170
		break;
171
	    }
172
	}
173
	switch (CURRENT_TERMINAL) {
174
	  case 28:
175
	    break;
176
	  default:
177
	    goto ZL1;
178
	}
179
	ADVANCE_LEXER;
180
	ZIp = ZIq;
181
    }
182
    goto ZL0;
183
  ZL1:;
184
    SAVE_LEXER (32);
185
    return;
186
  ZL0:;
187
    *ZOp = ZIp;
188
}
189
 
190
static void
191
ZRparam_Hlist PROTO_N ((ZOp))
192
  PROTO_T (SID_PARAM_LIST *ZOp)
193
{
194
    SID_PARAM_LIST ZIp;
195
 
196
    if ((CURRENT_TERMINAL) == 32) {
197
	return;
198
    }
199
    {
200
	PARAMETER ZIa;
201
	SID_PARAM_LIST ZIq;
202
 
203
	ZRparam_Hitem (&ZIa);
204
	{
205
	    switch (CURRENT_TERMINAL) {
206
	      case 29:
207
		{
208
		    ADVANCE_LEXER;
209
		    ZRparam_Hlist (&ZIq);
210
		    if ((CURRENT_TERMINAL) == 32) {
211
			RESTORE_LEXER;
212
			goto ZL1;
213
		    }
214
		}
215
		break;
216
	      default:
217
		{
218
		    {
219
 
220
    (ZIq) = NULL_list ( PARAMETER ) ;
221
		    }
222
		}
223
		break;
224
	      case 32:
225
		RESTORE_LEXER;
226
		goto ZL1;
227
	    }
228
	}
229
	{
230
 
231
    CONS_par ( (ZIa), (ZIq), (ZIp) ) ;
232
	}
233
    }
234
    goto ZL0;
235
  ZL1:;
236
    SAVE_LEXER (32);
237
    return;
238
  ZL0:;
239
    *ZOp = ZIp;
240
}
241
 
242
static void
243
ZRclist_Hitem PROTO_Z ()
244
{
245
    if ((CURRENT_TERMINAL) == 32) {
246
	return;
247
    }
248
    {
249
	SORT ZIs;
250
 
251
	ZRnew_Hsort_Hname (&ZIs);
252
	if ((CURRENT_TERMINAL) == 32) {
253
	    RESTORE_LEXER;
254
	    goto ZL1;
255
	}
256
	{
257
 
258
    compound_sort ( (ZIs), "_list", info_clist_tag, '*' ) ;
259
	}
260
    }
261
    return;
262
  ZL1:;
263
    SAVE_LEXER (32);
264
    return;
265
}
266
 
267
static void
268
ZRslist_Hpack PROTO_Z ()
269
{
270
    if ((CURRENT_TERMINAL) == 32) {
271
	return;
272
    }
273
    {
274
	switch (CURRENT_TERMINAL) {
275
	  case 27:
276
	    break;
277
	  default:
278
	    goto ZL1;
279
	}
280
	ADVANCE_LEXER;
281
	{
282
	    switch (CURRENT_TERMINAL) {
283
	      case 0:
284
		{
285
		    ZRslist_Hlist ();
286
		    if ((CURRENT_TERMINAL) == 32) {
287
			RESTORE_LEXER;
288
			goto ZL1;
289
		    }
290
		}
291
		break;
292
	      default:
293
		break;
294
	    }
295
	}
296
	switch (CURRENT_TERMINAL) {
297
	  case 28:
298
	    break;
299
	  default:
300
	    goto ZL1;
301
	}
302
	ADVANCE_LEXER;
303
    }
304
    return;
305
  ZL1:;
306
    SAVE_LEXER (32);
307
    return;
308
}
309
 
310
static void
311
ZRedge_Hlist PROTO_Z ()
312
{
313
    if ((CURRENT_TERMINAL) == 32) {
314
	return;
315
    }
316
  ZL2_edge_Hlist:;
317
    {
318
	switch (CURRENT_TERMINAL) {
319
	  case 27:
320
	    break;
321
	  default:
322
	    goto ZL1;
323
	}
324
	ADVANCE_LEXER;
325
	ZRedge_Hitem ();
326
	switch (CURRENT_TERMINAL) {
327
	  case 28:
328
	    break;
329
	  case 32:
330
	    RESTORE_LEXER;
331
	    goto ZL1;
332
	  default:
333
	    goto ZL1;
334
	}
335
	ADVANCE_LEXER;
336
	{
337
	    switch (CURRENT_TERMINAL) {
338
	      case 29:
339
		{
340
		    ADVANCE_LEXER;
341
		    goto ZL2_edge_Hlist;
342
		}
343
		/*UNREACHED*/
344
	      default:
345
		break;
346
	    }
347
	}
348
    }
349
    return;
350
  ZL1:;
351
    SAVE_LEXER (32);
352
    return;
353
}
354
 
355
static void
356
ZRkind_Hitem PROTO_N ((ZOa))
357
  PROTO_T (LINKAGE *ZOa)
358
{
359
    LINKAGE ZIa;
360
 
361
    if ((CURRENT_TERMINAL) == 32) {
362
	return;
363
    }
364
    {
365
	SORT ZIs;
366
	string ZIe;
367
 
368
	switch (CURRENT_TERMINAL) {
369
	  case 27:
370
	    break;
371
	  default:
372
	    goto ZL1;
373
	}
374
	ADVANCE_LEXER;
375
	switch (CURRENT_TERMINAL) {
376
	  case 25:
377
	    break;
378
	  default:
379
	    goto ZL1;
380
	}
381
	ADVANCE_LEXER;
382
	switch (CURRENT_TERMINAL) {
383
	  case 29:
384
	    break;
385
	  default:
386
	    goto ZL1;
387
	}
388
	ADVANCE_LEXER;
389
	ZRold_Hsort_Hname (&ZIs);
390
	switch (CURRENT_TERMINAL) {
391
	  case 28:
392
	    break;
393
	  case 32:
394
	    RESTORE_LEXER;
395
	    goto ZL1;
396
	  default:
397
	    goto ZL1;
398
	}
399
	ADVANCE_LEXER;
400
	switch (CURRENT_TERMINAL) {
401
	  case 29:
402
	    break;
403
	  default:
404
	    goto ZL1;
405
	}
406
	ADVANCE_LEXER;
407
	switch (CURRENT_TERMINAL) {
408
	  case 27:
409
	    break;
410
	  default:
411
	    goto ZL1;
412
	}
413
	ADVANCE_LEXER;
414
	switch (CURRENT_TERMINAL) {
415
	  case 26:
416
	    break;
417
	  default:
418
	    goto ZL1;
419
	}
420
	ADVANCE_LEXER;
421
	switch (CURRENT_TERMINAL) {
422
	  case 29:
423
	    break;
424
	  default:
425
	    goto ZL1;
426
	}
427
	ADVANCE_LEXER;
428
	ZRany_Hname (&ZIe);
429
	switch (CURRENT_TERMINAL) {
430
	  case 28:
431
	    break;
432
	  case 32:
433
	    RESTORE_LEXER;
434
	    goto ZL1;
435
	  default:
436
	    goto ZL1;
437
	}
438
	ADVANCE_LEXER;
439
	{
440
 
441
    MAKE_link_basic ( (ZIe), (ZIs), (ZIa) ) ;
442
    COPY_string ( sort_unit ( (ZIs) ), (ZIe) ) ;
443
	}
444
    }
445
    goto ZL0;
446
  ZL1:;
447
    SAVE_LEXER (32);
448
    return;
449
  ZL0:;
450
    *ZOa = ZIa;
451
}
452
 
453
static void
454
ZRoption_Hlist PROTO_Z ()
455
{
456
    if ((CURRENT_TERMINAL) == 32) {
457
	return;
458
    }
459
  ZL2_option_Hlist:;
460
    {
461
	ZRoption_Hitem ();
462
	{
463
	    switch (CURRENT_TERMINAL) {
464
	      case 29:
465
		{
466
		    ADVANCE_LEXER;
467
		    goto ZL2_option_Hlist;
468
		}
469
		/*UNREACHED*/
470
	      case 32:
471
		RESTORE_LEXER;
472
		goto ZL1;
473
	      default:
474
		break;
475
	    }
476
	}
477
    }
478
    return;
479
  ZL1:;
480
    SAVE_LEXER (32);
481
    return;
482
}
483
 
484
static void
485
ZR139 PROTO_N ((ZIc))
486
  PROTO_T (CONSTRUCT *ZIc)
487
{
488
    if ((CURRENT_TERMINAL) == 32) {
489
	return;
490
    }
491
    {
492
	switch (CURRENT_TERMINAL) {
493
	  case 27:
494
	    break;
495
	  default:
496
	    goto ZL1;
497
	}
498
	ADVANCE_LEXER;
499
	ZR140 (ZIc);
500
	if ((CURRENT_TERMINAL) == 32) {
501
	    RESTORE_LEXER;
502
	    goto ZL1;
503
	}
504
    }
505
    return;
506
  ZL1:;
507
    SAVE_LEXER (32);
508
    return;
509
}
510
 
511
static void
512
ZRold_Hsort_Hname PROTO_N ((ZOs))
513
  PROTO_T (SORT *ZOs)
514
{
515
    SORT ZIs;
516
 
517
    if ((CURRENT_TERMINAL) == 32) {
518
	return;
519
    }
520
    {
521
	string ZIa;
522
 
523
	switch (CURRENT_TERMINAL) {
524
	  case 0:
525
	    {
526
 
527
    ZIa = xstrcpy ( token_buff ) ;
528
	    }
529
	    break;
530
	  default:
531
	    goto ZL1;
532
	}
533
	ADVANCE_LEXER;
534
	{
535
 
536
    (ZIs) = find_sort ( (ZIa), 0 ) ;
537
	}
538
    }
539
    goto ZL0;
540
  ZL1:;
541
    SAVE_LEXER (32);
542
    return;
543
  ZL0:;
544
    *ZOs = ZIs;
545
}
546
 
547
static void
548
ZR140 PROTO_N ((ZIc))
549
  PROTO_T (CONSTRUCT *ZIc)
550
{
551
    switch (CURRENT_TERMINAL) {
552
      case 3:
553
	{
554
	    ADVANCE_LEXER;
555
	    switch (CURRENT_TERMINAL) {
556
	      case 29:
557
		break;
558
	      default:
559
		goto ZL1;
560
	    }
561
	    ADVANCE_LEXER;
562
	    switch (CURRENT_TERMINAL) {
563
	      case 27:
564
		break;
565
	      default:
566
		goto ZL1;
567
	    }
568
	    ADVANCE_LEXER;
569
	    ZRnumber_Hlist (*ZIc);
570
	    switch (CURRENT_TERMINAL) {
571
	      case 28:
572
		break;
573
	      case 32:
574
		RESTORE_LEXER;
575
		goto ZL1;
576
	      default:
577
		goto ZL1;
578
	    }
579
	    ADVANCE_LEXER;
580
	    switch (CURRENT_TERMINAL) {
581
	      case 28:
582
		break;
583
	      default:
584
		goto ZL1;
585
	    }
586
	    ADVANCE_LEXER;
587
	}
588
	break;
589
      case 2:
590
	{
591
	    unsigned ZIa;
592
 
593
	    ADVANCE_LEXER;
594
	    switch (CURRENT_TERMINAL) {
595
	      case 29:
596
		break;
597
	      default:
598
		goto ZL1;
599
	    }
600
	    ADVANCE_LEXER;
601
	    switch (CURRENT_TERMINAL) {
602
	      case 1:
603
		{
604
 
605
    ZIa = token_value ;
606
		}
607
		break;
608
	      default:
609
		goto ZL1;
610
	    }
611
	    ADVANCE_LEXER;
612
	    switch (CURRENT_TERMINAL) {
613
	      case 28:
614
		break;
615
	      default:
616
		goto ZL1;
617
	    }
618
	    ADVANCE_LEXER;
619
	    {
620
 
621
    PARAMETER p = find_param ( (*ZIc), (ZIa) ) ;
622
    if ( !IS_NULL_par ( p ) ) COPY_int ( par_brk ( p ), 1 ) ;
623
	    }
624
	    ZR141 (ZIc);
625
	    if ((CURRENT_TERMINAL) == 32) {
626
		RESTORE_LEXER;
627
		goto ZL1;
628
	    }
629
	}
630
	break;
631
      case 32:
632
	return;
633
      default:
634
	goto ZL1;
635
    }
636
    return;
637
  ZL1:;
638
    SAVE_LEXER (32);
639
    return;
640
}
641
 
642
static void
643
ZR141 PROTO_N ((ZIc))
644
  PROTO_T (CONSTRUCT *ZIc)
645
{
646
    switch (CURRENT_TERMINAL) {
647
      case 29:
648
	{
649
	    ADVANCE_LEXER;
650
	    ZRboundary_Hitem (*ZIc);
651
	    if ((CURRENT_TERMINAL) == 32) {
652
		RESTORE_LEXER;
653
		goto ZL1;
654
	    }
655
	}
656
	break;
657
      case 32:
658
	return;
659
      default:
660
	break;
661
    }
662
    return;
663
  ZL1:;
664
    SAVE_LEXER (32);
665
    return;
666
}
667
 
668
static void
669
ZRclist_Hlist PROTO_Z ()
670
{
671
    if ((CURRENT_TERMINAL) == 32) {
672
	return;
673
    }
674
  ZL2_clist_Hlist:;
675
    {
676
	ZRclist_Hitem ();
677
	{
678
	    switch (CURRENT_TERMINAL) {
679
	      case 29:
680
		{
681
		    ADVANCE_LEXER;
682
		    goto ZL2_clist_Hlist;
683
		}
684
		/*UNREACHED*/
685
	      case 32:
686
		RESTORE_LEXER;
687
		goto ZL1;
688
	      default:
689
		break;
690
	    }
691
	}
692
    }
693
    return;
694
  ZL1:;
695
    SAVE_LEXER (32);
696
    return;
697
}
698
 
699
static void
700
ZRlink_Hitem PROTO_N ((ZOa))
701
  PROTO_T (LINKAGE *ZOa)
702
{
703
    LINKAGE ZIa;
704
 
705
    if ((CURRENT_TERMINAL) == 32) {
706
	return;
707
    }
708
    {
709
	SORT ZIs;
710
	string ZIe;
711
 
712
	switch (CURRENT_TERMINAL) {
713
	  case 27:
714
	    break;
715
	  default:
716
	    goto ZL1;
717
	}
718
	ADVANCE_LEXER;
719
	switch (CURRENT_TERMINAL) {
720
	  case 11:
721
	    break;
722
	  default:
723
	    goto ZL1;
724
	}
725
	ADVANCE_LEXER;
726
	switch (CURRENT_TERMINAL) {
727
	  case 29:
728
	    break;
729
	  default:
730
	    goto ZL1;
731
	}
732
	ADVANCE_LEXER;
733
	ZRold_Hsort_Hname (&ZIs);
734
	switch (CURRENT_TERMINAL) {
735
	  case 28:
736
	    break;
737
	  case 32:
738
	    RESTORE_LEXER;
739
	    goto ZL1;
740
	  default:
741
	    goto ZL1;
742
	}
743
	ADVANCE_LEXER;
744
	switch (CURRENT_TERMINAL) {
745
	  case 29:
746
	    break;
747
	  default:
748
	    goto ZL1;
749
	}
750
	ADVANCE_LEXER;
751
	switch (CURRENT_TERMINAL) {
752
	  case 27:
753
	    break;
754
	  default:
755
	    goto ZL1;
756
	}
757
	ADVANCE_LEXER;
758
	switch (CURRENT_TERMINAL) {
759
	  case 10:
760
	    break;
761
	  default:
762
	    goto ZL1;
763
	}
764
	ADVANCE_LEXER;
765
	switch (CURRENT_TERMINAL) {
766
	  case 29:
767
	    break;
768
	  default:
769
	    goto ZL1;
770
	}
771
	ADVANCE_LEXER;
772
	ZRany_Hname (&ZIe);
773
	switch (CURRENT_TERMINAL) {
774
	  case 28:
775
	    break;
776
	  case 32:
777
	    RESTORE_LEXER;
778
	    goto ZL1;
779
	  default:
780
	    goto ZL1;
781
	}
782
	ADVANCE_LEXER;
783
	{
784
 
785
    MAKE_link_basic ( (ZIe), (ZIs), (ZIa) ) ;
786
    COPY_string ( sort_link ( (ZIs) ), (ZIe) ) ;
787
	}
788
    }
789
    goto ZL0;
790
  ZL1:;
791
    SAVE_LEXER (32);
792
    return;
793
  ZL0:;
794
    *ZOa = ZIa;
795
}
796
 
797
static void
798
ZRslist_Hitem PROTO_Z ()
799
{
800
    if ((CURRENT_TERMINAL) == 32) {
801
	return;
802
    }
803
    {
804
	SORT ZIs;
805
 
806
	ZRnew_Hsort_Hname (&ZIs);
807
	if ((CURRENT_TERMINAL) == 32) {
808
	    RESTORE_LEXER;
809
	    goto ZL1;
810
	}
811
	{
812
 
813
    compound_sort ( (ZIs), "_list", info_slist_tag, '%' ) ;
814
	}
815
    }
816
    return;
817
  ZL1:;
818
    SAVE_LEXER (32);
819
    return;
820
}
821
 
822
static void
823
ZRkind_Hlist PROTO_N ((ZOp))
824
  PROTO_T (SID_LINK_LIST *ZOp)
825
{
826
    SID_LINK_LIST ZIp;
827
 
828
    if ((CURRENT_TERMINAL) == 32) {
829
	return;
830
    }
831
    {
832
	LINKAGE ZIa;
833
	SID_LINK_LIST ZIq;
834
 
835
	switch (CURRENT_TERMINAL) {
836
	  case 27:
837
	    break;
838
	  default:
839
	    goto ZL1;
840
	}
841
	ADVANCE_LEXER;
842
	ZRkind_Hitem (&ZIa);
843
	switch (CURRENT_TERMINAL) {
844
	  case 28:
845
	    break;
846
	  case 32:
847
	    RESTORE_LEXER;
848
	    goto ZL1;
849
	  default:
850
	    goto ZL1;
851
	}
852
	ADVANCE_LEXER;
853
	{
854
	    switch (CURRENT_TERMINAL) {
855
	      case 29:
856
		{
857
		    ADVANCE_LEXER;
858
		    ZRkind_Hlist (&ZIq);
859
		    if ((CURRENT_TERMINAL) == 32) {
860
			RESTORE_LEXER;
861
			goto ZL1;
862
		    }
863
		}
864
		break;
865
	      default:
866
		{
867
		    {
868
 
869
    (ZIq) = NULL_list ( LINKAGE ) ;
870
		    }
871
		}
872
		break;
873
	    }
874
	}
875
	{
876
 
877
    CONS_link ( (ZIa), (ZIq), (ZIp) ) ;
878
	}
879
    }
880
    goto ZL0;
881
  ZL1:;
882
    SAVE_LEXER (32);
883
    return;
884
  ZL0:;
885
    *ZOp = ZIp;
886
}
887
 
888
static void
889
ZRnew_Hsort_Hname PROTO_N ((ZOs))
890
  PROTO_T (SORT *ZOs)
891
{
892
    SORT ZIs;
893
 
894
    if ((CURRENT_TERMINAL) == 32) {
895
	return;
896
    }
897
    {
898
	string ZIa;
899
 
900
	switch (CURRENT_TERMINAL) {
901
	  case 0:
902
	    {
903
 
904
    ZIa = xstrcpy ( token_buff ) ;
905
	    }
906
	    break;
907
	  default:
908
	    goto ZL1;
909
	}
910
	ADVANCE_LEXER;
911
	{
912
 
913
    (ZIs) = find_sort ( (ZIa), 1 ) ;
914
	}
915
    }
916
    goto ZL0;
917
  ZL1:;
918
    SAVE_LEXER (32);
919
    return;
920
  ZL0:;
921
    *ZOs = ZIs;
922
}
923
 
924
static void
925
ZRsort_Hpack PROTO_Z ()
926
{
927
    if ((CURRENT_TERMINAL) == 32) {
928
	return;
929
    }
930
    {
931
	switch (CURRENT_TERMINAL) {
932
	  case 27:
933
	    break;
934
	  default:
935
	    goto ZL1;
936
	}
937
	ADVANCE_LEXER;
938
	{
939
	    switch (CURRENT_TERMINAL) {
940
	      case 27:
941
		{
942
		    ZRsort_Hlist ();
943
		    if ((CURRENT_TERMINAL) == 32) {
944
			RESTORE_LEXER;
945
			goto ZL1;
946
		    }
947
		}
948
		break;
949
	      default:
950
		break;
951
	    }
952
	}
953
	switch (CURRENT_TERMINAL) {
954
	  case 28:
955
	    break;
956
	  default:
957
	    goto ZL1;
958
	}
959
	ADVANCE_LEXER;
960
    }
961
    return;
962
  ZL1:;
963
    SAVE_LEXER (32);
964
    return;
965
}
966
 
967
static void
968
ZRany_Hname PROTO_N ((ZOn))
969
  PROTO_T (string *ZOn)
970
{
971
    string ZIn;
972
 
973
    switch (CURRENT_TERMINAL) {
974
      case 0:
975
	{
976
	    {
977
 
978
    ZIn = xstrcpy ( token_buff ) ;
979
	    }
980
	    ADVANCE_LEXER;
981
	}
982
	break;
983
      case 2: case 3: case 4: case 5: case 6:
984
      case 7: case 8: case 9: case 10: case 11:
985
      case 12: case 13: case 14: case 15: case 16:
986
      case 17: case 18: case 19: case 20: case 21:
987
      case 22: case 23: case 24: case 25: case 26:
988
	{
989
	    {
990
 
991
    (ZIn) = xstrcpy ( token_buff ) ;
992
	    }
993
	    {
994
		switch (CURRENT_TERMINAL) {
995
		  case 3:
996
		    {
997
			ADVANCE_LEXER;
998
		    }
999
		    break;
1000
		  case 2:
1001
		    {
1002
			ADVANCE_LEXER;
1003
		    }
1004
		    break;
1005
		  case 5:
1006
		    {
1007
			ADVANCE_LEXER;
1008
		    }
1009
		    break;
1010
		  case 4:
1011
		    {
1012
			ADVANCE_LEXER;
1013
		    }
1014
		    break;
1015
		  case 6:
1016
		    {
1017
			ADVANCE_LEXER;
1018
		    }
1019
		    break;
1020
		  case 7:
1021
		    {
1022
			ADVANCE_LEXER;
1023
		    }
1024
		    break;
1025
		  case 8:
1026
		    {
1027
			ADVANCE_LEXER;
1028
		    }
1029
		    break;
1030
		  case 9:
1031
		    {
1032
			ADVANCE_LEXER;
1033
		    }
1034
		    break;
1035
		  case 10:
1036
		    {
1037
			ADVANCE_LEXER;
1038
		    }
1039
		    break;
1040
		  case 11:
1041
		    {
1042
			ADVANCE_LEXER;
1043
		    }
1044
		    break;
1045
		  case 12:
1046
		    {
1047
			ADVANCE_LEXER;
1048
		    }
1049
		    break;
1050
		  case 13:
1051
		    {
1052
			ADVANCE_LEXER;
1053
		    }
1054
		    break;
1055
		  case 14:
1056
		    {
1057
			ADVANCE_LEXER;
1058
		    }
1059
		    break;
1060
		  case 15:
1061
		    {
1062
			ADVANCE_LEXER;
1063
		    }
1064
		    break;
1065
		  case 16:
1066
		    {
1067
			ADVANCE_LEXER;
1068
		    }
1069
		    break;
1070
		  case 17:
1071
		    {
1072
			ADVANCE_LEXER;
1073
		    }
1074
		    break;
1075
		  case 18:
1076
		    {
1077
			ADVANCE_LEXER;
1078
		    }
1079
		    break;
1080
		  case 19:
1081
		    {
1082
			ADVANCE_LEXER;
1083
		    }
1084
		    break;
1085
		  case 20:
1086
		    {
1087
			ADVANCE_LEXER;
1088
		    }
1089
		    break;
1090
		  case 21:
1091
		    {
1092
			ADVANCE_LEXER;
1093
		    }
1094
		    break;
1095
		  case 22:
1096
		    {
1097
			ADVANCE_LEXER;
1098
		    }
1099
		    break;
1100
		  case 23:
1101
		    {
1102
			ADVANCE_LEXER;
1103
		    }
1104
		    break;
1105
		  case 24:
1106
		    {
1107
			ADVANCE_LEXER;
1108
		    }
1109
		    break;
1110
		  case 25:
1111
		    {
1112
			ADVANCE_LEXER;
1113
		    }
1114
		    break;
1115
		  case 26:
1116
		    {
1117
			ADVANCE_LEXER;
1118
		    }
1119
		    break;
1120
		  default:
1121
		    goto ZL1;
1122
		}
1123
	    }
1124
	}
1125
	break;
1126
      case 32:
1127
	return;
1128
      default:
1129
	goto ZL1;
1130
    }
1131
    goto ZL0;
1132
  ZL1:;
1133
    SAVE_LEXER (32);
1134
    return;
1135
  ZL0:;
1136
    *ZOn = ZIn;
1137
}
1138
 
1139
static void
1140
ZRlink_Hlist PROTO_N ((ZOp))
1141
  PROTO_T (SID_LINK_LIST *ZOp)
1142
{
1143
    SID_LINK_LIST ZIp;
1144
 
1145
    if ((CURRENT_TERMINAL) == 32) {
1146
	return;
1147
    }
1148
    {
1149
	LINKAGE ZIa;
1150
	SID_LINK_LIST ZIq;
1151
 
1152
	switch (CURRENT_TERMINAL) {
1153
	  case 27:
1154
	    break;
1155
	  default:
1156
	    goto ZL1;
1157
	}
1158
	ADVANCE_LEXER;
1159
	ZRlink_Hitem (&ZIa);
1160
	switch (CURRENT_TERMINAL) {
1161
	  case 28:
1162
	    break;
1163
	  case 32:
1164
	    RESTORE_LEXER;
1165
	    goto ZL1;
1166
	  default:
1167
	    goto ZL1;
1168
	}
1169
	ADVANCE_LEXER;
1170
	{
1171
	    switch (CURRENT_TERMINAL) {
1172
	      case 29:
1173
		{
1174
		    ADVANCE_LEXER;
1175
		    ZRlink_Hlist (&ZIq);
1176
		    if ((CURRENT_TERMINAL) == 32) {
1177
			RESTORE_LEXER;
1178
			goto ZL1;
1179
		    }
1180
		}
1181
		break;
1182
	      default:
1183
		{
1184
		    {
1185
 
1186
    (ZIq) = NULL_list ( LINKAGE ) ;
1187
		    }
1188
		}
1189
		break;
1190
	    }
1191
	}
1192
	{
1193
 
1194
    CONS_link ( (ZIa), (ZIq), (ZIp) ) ;
1195
	}
1196
    }
1197
    goto ZL0;
1198
  ZL1:;
1199
    SAVE_LEXER (32);
1200
    return;
1201
  ZL0:;
1202
    *ZOp = ZIp;
1203
}
1204
 
1205
static void
1206
ZRslist_Hlist PROTO_Z ()
1207
{
1208
    if ((CURRENT_TERMINAL) == 32) {
1209
	return;
1210
    }
1211
  ZL2_slist_Hlist:;
1212
    {
1213
	ZRslist_Hitem ();
1214
	{
1215
	    switch (CURRENT_TERMINAL) {
1216
	      case 29:
1217
		{
1218
		    ADVANCE_LEXER;
1219
		    goto ZL2_slist_Hlist;
1220
		}
1221
		/*UNREACHED*/
1222
	      case 32:
1223
		RESTORE_LEXER;
1224
		goto ZL1;
1225
	      default:
1226
		break;
1227
	    }
1228
	}
1229
    }
1230
    return;
1231
  ZL1:;
1232
    SAVE_LEXER (32);
1233
    return;
1234
}
1235
 
1236
static void
1237
ZRsort_Hitem PROTO_Z ()
1238
{
1239
    if ((CURRENT_TERMINAL) == 32) {
1240
	return;
1241
    }
1242
    {
1243
	SORT ZIs;
1244
	unsigned ZIb;
1245
	unsigned ZIe;
1246
	SID_CONS_LIST ZIp;
1247
 
1248
	switch (CURRENT_TERMINAL) {
1249
	  case 27:
1250
	    break;
1251
	  default:
1252
	    goto ZL1;
1253
	}
1254
	ADVANCE_LEXER;
1255
	switch (CURRENT_TERMINAL) {
1256
	  case 23:
1257
	    break;
1258
	  default:
1259
	    goto ZL1;
1260
	}
1261
	ADVANCE_LEXER;
1262
	switch (CURRENT_TERMINAL) {
1263
	  case 29:
1264
	    break;
1265
	  default:
1266
	    goto ZL1;
1267
	}
1268
	ADVANCE_LEXER;
1269
	ZRnew_Hsort_Hname (&ZIs);
1270
	switch (CURRENT_TERMINAL) {
1271
	  case 28:
1272
	    break;
1273
	  case 32:
1274
	    RESTORE_LEXER;
1275
	    goto ZL1;
1276
	  default:
1277
	    goto ZL1;
1278
	}
1279
	ADVANCE_LEXER;
1280
	switch (CURRENT_TERMINAL) {
1281
	  case 29:
1282
	    break;
1283
	  default:
1284
	    goto ZL1;
1285
	}
1286
	ADVANCE_LEXER;
1287
	switch (CURRENT_TERMINAL) {
1288
	  case 27:
1289
	    break;
1290
	  default:
1291
	    goto ZL1;
1292
	}
1293
	ADVANCE_LEXER;
1294
	switch (CURRENT_TERMINAL) {
1295
	  case 9:
1296
	    break;
1297
	  default:
1298
	    goto ZL1;
1299
	}
1300
	ADVANCE_LEXER;
1301
	switch (CURRENT_TERMINAL) {
1302
	  case 29:
1303
	    break;
1304
	  default:
1305
	    goto ZL1;
1306
	}
1307
	ADVANCE_LEXER;
1308
	switch (CURRENT_TERMINAL) {
1309
	  case 1:
1310
	    {
1311
 
1312
    ZIb = token_value ;
1313
	    }
1314
	    break;
1315
	  default:
1316
	    goto ZL1;
1317
	}
1318
	ADVANCE_LEXER;
1319
	switch (CURRENT_TERMINAL) {
1320
	  case 28:
1321
	    break;
1322
	  default:
1323
	    goto ZL1;
1324
	}
1325
	ADVANCE_LEXER;
1326
	switch (CURRENT_TERMINAL) {
1327
	  case 29:
1328
	    break;
1329
	  default:
1330
	    goto ZL1;
1331
	}
1332
	ADVANCE_LEXER;
1333
	switch (CURRENT_TERMINAL) {
1334
	  case 27:
1335
	    break;
1336
	  default:
1337
	    goto ZL1;
1338
	}
1339
	ADVANCE_LEXER;
1340
	switch (CURRENT_TERMINAL) {
1341
	  case 13:
1342
	    break;
1343
	  default:
1344
	    goto ZL1;
1345
	}
1346
	ADVANCE_LEXER;
1347
	switch (CURRENT_TERMINAL) {
1348
	  case 29:
1349
	    break;
1350
	  default:
1351
	    goto ZL1;
1352
	}
1353
	ADVANCE_LEXER;
1354
	switch (CURRENT_TERMINAL) {
1355
	  case 1:
1356
	    {
1357
 
1358
    ZIe = token_value ;
1359
	    }
1360
	    break;
1361
	  default:
1362
	    goto ZL1;
1363
	}
1364
	ADVANCE_LEXER;
1365
	switch (CURRENT_TERMINAL) {
1366
	  case 28:
1367
	    break;
1368
	  default:
1369
	    goto ZL1;
1370
	}
1371
	ADVANCE_LEXER;
1372
	switch (CURRENT_TERMINAL) {
1373
	  case 29:
1374
	    break;
1375
	  default:
1376
	    goto ZL1;
1377
	}
1378
	ADVANCE_LEXER;
1379
	switch (CURRENT_TERMINAL) {
1380
	  case 27:
1381
	    break;
1382
	  default:
1383
	    goto ZL1;
1384
	}
1385
	ADVANCE_LEXER;
1386
	switch (CURRENT_TERMINAL) {
1387
	  case 4:
1388
	    break;
1389
	  default:
1390
	    goto ZL1;
1391
	}
1392
	ADVANCE_LEXER;
1393
	switch (CURRENT_TERMINAL) {
1394
	  case 29:
1395
	    break;
1396
	  default:
1397
	    goto ZL1;
1398
	}
1399
	ADVANCE_LEXER;
1400
	ZRconstruct_Hpack (ZIs, &ZIp);
1401
	switch (CURRENT_TERMINAL) {
1402
	  case 28:
1403
	    break;
1404
	  case 32:
1405
	    RESTORE_LEXER;
1406
	    goto ZL1;
1407
	  default:
1408
	    goto ZL1;
1409
	}
1410
	ADVANCE_LEXER;
1411
	{
1412
 
1413
    basic_sort ( (ZIs), (ZIb), (ZIe), (ZIp) ) ;
1414
	}
1415
    }
1416
    return;
1417
  ZL1:;
1418
    SAVE_LEXER (32);
1419
    return;
1420
}
1421
 
1422
static void
1423
ZRsort_Hlist PROTO_Z ()
1424
{
1425
    if ((CURRENT_TERMINAL) == 32) {
1426
	return;
1427
    }
1428
  ZL2_sort_Hlist:;
1429
    {
1430
	switch (CURRENT_TERMINAL) {
1431
	  case 27:
1432
	    break;
1433
	  default:
1434
	    goto ZL1;
1435
	}
1436
	ADVANCE_LEXER;
1437
	ZRsort_Hitem ();
1438
	switch (CURRENT_TERMINAL) {
1439
	  case 28:
1440
	    break;
1441
	  case 32:
1442
	    RESTORE_LEXER;
1443
	    goto ZL1;
1444
	  default:
1445
	    goto ZL1;
1446
	}
1447
	ADVANCE_LEXER;
1448
	{
1449
	    switch (CURRENT_TERMINAL) {
1450
	      case 29:
1451
		{
1452
		    ADVANCE_LEXER;
1453
		    goto ZL2_sort_Hlist;
1454
		}
1455
		/*UNREACHED*/
1456
	      default:
1457
		break;
1458
	    }
1459
	}
1460
    }
1461
    return;
1462
  ZL1:;
1463
    SAVE_LEXER (32);
1464
    return;
1465
}
1466
 
1467
static void
1468
ZRconstruct_Hpack PROTO_N ((ZIs, ZOp))
1469
  PROTO_T (SORT ZIs X SID_CONS_LIST *ZOp)
1470
{
1471
    SID_CONS_LIST ZIp;
1472
 
1473
    if ((CURRENT_TERMINAL) == 32) {
1474
	return;
1475
    }
1476
    {
1477
	SID_CONS_LIST ZIq;
1478
 
1479
	switch (CURRENT_TERMINAL) {
1480
	  case 27:
1481
	    break;
1482
	  default:
1483
	    goto ZL1;
1484
	}
1485
	ADVANCE_LEXER;
1486
	{
1487
	    switch (CURRENT_TERMINAL) {
1488
	      case 27:
1489
		{
1490
		    ZRconstruct_Hlist (ZIs, &ZIq);
1491
		    if ((CURRENT_TERMINAL) == 32) {
1492
			RESTORE_LEXER;
1493
			goto ZL1;
1494
		    }
1495
		}
1496
		break;
1497
	      default:
1498
		{
1499
		    {
1500
 
1501
    (ZIq) = NULL_list ( CONSTRUCT ) ;
1502
		    }
1503
		}
1504
		break;
1505
	    }
1506
	}
1507
	switch (CURRENT_TERMINAL) {
1508
	  case 28:
1509
	    break;
1510
	  default:
1511
	    goto ZL1;
1512
	}
1513
	ADVANCE_LEXER;
1514
	ZIp = ZIq;
1515
    }
1516
    goto ZL0;
1517
  ZL1:;
1518
    SAVE_LEXER (32);
1519
    return;
1520
  ZL0:;
1521
    *ZOp = ZIp;
1522
}
1523
 
1524
static void
1525
ZRconstruct_Hextra PROTO_N ((ZIc))
1526
  PROTO_T (CONSTRUCT ZIc)
1527
{
1528
    switch (CURRENT_TERMINAL) {
1529
      case 29:
1530
	{
1531
	    ADVANCE_LEXER;
1532
	    ZR139 (&ZIc);
1533
	    if ((CURRENT_TERMINAL) == 32) {
1534
		RESTORE_LEXER;
1535
		goto ZL1;
1536
	    }
1537
	}
1538
	break;
1539
      case 32:
1540
	return;
1541
      default:
1542
	break;
1543
    }
1544
    return;
1545
  ZL1:;
1546
    SAVE_LEXER (32);
1547
    return;
1548
}
1549
 
1550
static void
1551
ZRboundary_Hitem PROTO_N ((ZIc))
1552
  PROTO_T (CONSTRUCT ZIc)
1553
{
1554
    if ((CURRENT_TERMINAL) == 32) {
1555
	return;
1556
    }
1557
    {
1558
	switch (CURRENT_TERMINAL) {
1559
	  case 27:
1560
	    break;
1561
	  default:
1562
	    goto ZL1;
1563
	}
1564
	ADVANCE_LEXER;
1565
	switch (CURRENT_TERMINAL) {
1566
	  case 3:
1567
	    break;
1568
	  default:
1569
	    goto ZL1;
1570
	}
1571
	ADVANCE_LEXER;
1572
	switch (CURRENT_TERMINAL) {
1573
	  case 29:
1574
	    break;
1575
	  default:
1576
	    goto ZL1;
1577
	}
1578
	ADVANCE_LEXER;
1579
	switch (CURRENT_TERMINAL) {
1580
	  case 27:
1581
	    break;
1582
	  default:
1583
	    goto ZL1;
1584
	}
1585
	ADVANCE_LEXER;
1586
	ZRnumber_Hlist (ZIc);
1587
	switch (CURRENT_TERMINAL) {
1588
	  case 28:
1589
	    break;
1590
	  case 32:
1591
	    RESTORE_LEXER;
1592
	    goto ZL1;
1593
	  default:
1594
	    goto ZL1;
1595
	}
1596
	ADVANCE_LEXER;
1597
	switch (CURRENT_TERMINAL) {
1598
	  case 28:
1599
	    break;
1600
	  default:
1601
	    goto ZL1;
1602
	}
1603
	ADVANCE_LEXER;
1604
    }
1605
    return;
1606
  ZL1:;
1607
    SAVE_LEXER (32);
1608
    return;
1609
}
1610
 
1611
static void
1612
ZRconstruct_Hitem PROTO_N ((ZIs, ZOc))
1613
  PROTO_T (SORT ZIs X CONSTRUCT *ZOc)
1614
{
1615
    CONSTRUCT ZIc;
1616
 
1617
    if ((CURRENT_TERMINAL) == 32) {
1618
	return;
1619
    }
1620
    {
1621
	string ZIn;
1622
	unsigned ZIe;
1623
	SORT ZIr;
1624
	SID_PARAM_LIST ZIp;
1625
 
1626
	switch (CURRENT_TERMINAL) {
1627
	  case 27:
1628
	    break;
1629
	  default:
1630
	    goto ZL1;
1631
	}
1632
	ADVANCE_LEXER;
1633
	switch (CURRENT_TERMINAL) {
1634
	  case 5:
1635
	    break;
1636
	  default:
1637
	    goto ZL1;
1638
	}
1639
	ADVANCE_LEXER;
1640
	switch (CURRENT_TERMINAL) {
1641
	  case 29:
1642
	    break;
1643
	  default:
1644
	    goto ZL1;
1645
	}
1646
	ADVANCE_LEXER;
1647
	switch (CURRENT_TERMINAL) {
1648
	  case 0:
1649
	    {
1650
 
1651
    ZIn = xstrcpy ( token_buff ) ;
1652
	    }
1653
	    break;
1654
	  default:
1655
	    goto ZL1;
1656
	}
1657
	ADVANCE_LEXER;
1658
	switch (CURRENT_TERMINAL) {
1659
	  case 28:
1660
	    break;
1661
	  default:
1662
	    goto ZL1;
1663
	}
1664
	ADVANCE_LEXER;
1665
	switch (CURRENT_TERMINAL) {
1666
	  case 29:
1667
	    break;
1668
	  default:
1669
	    goto ZL1;
1670
	}
1671
	ADVANCE_LEXER;
1672
	switch (CURRENT_TERMINAL) {
1673
	  case 27:
1674
	    break;
1675
	  default:
1676
	    goto ZL1;
1677
	}
1678
	ADVANCE_LEXER;
1679
	switch (CURRENT_TERMINAL) {
1680
	  case 8:
1681
	    break;
1682
	  default:
1683
	    goto ZL1;
1684
	}
1685
	ADVANCE_LEXER;
1686
	switch (CURRENT_TERMINAL) {
1687
	  case 29:
1688
	    break;
1689
	  default:
1690
	    goto ZL1;
1691
	}
1692
	ADVANCE_LEXER;
1693
	switch (CURRENT_TERMINAL) {
1694
	  case 1:
1695
	    {
1696
 
1697
    ZIe = token_value ;
1698
	    }
1699
	    break;
1700
	  default:
1701
	    goto ZL1;
1702
	}
1703
	ADVANCE_LEXER;
1704
	switch (CURRENT_TERMINAL) {
1705
	  case 28:
1706
	    break;
1707
	  default:
1708
	    goto ZL1;
1709
	}
1710
	ADVANCE_LEXER;
1711
	switch (CURRENT_TERMINAL) {
1712
	  case 29:
1713
	    break;
1714
	  default:
1715
	    goto ZL1;
1716
	}
1717
	ADVANCE_LEXER;
1718
	switch (CURRENT_TERMINAL) {
1719
	  case 27:
1720
	    break;
1721
	  default:
1722
	    goto ZL1;
1723
	}
1724
	ADVANCE_LEXER;
1725
	switch (CURRENT_TERMINAL) {
1726
	  case 21:
1727
	    break;
1728
	  default:
1729
	    goto ZL1;
1730
	}
1731
	ADVANCE_LEXER;
1732
	switch (CURRENT_TERMINAL) {
1733
	  case 29:
1734
	    break;
1735
	  default:
1736
	    goto ZL1;
1737
	}
1738
	ADVANCE_LEXER;
1739
	ZRnew_Hsort_Hname (&ZIr);
1740
	switch (CURRENT_TERMINAL) {
1741
	  case 28:
1742
	    break;
1743
	  case 32:
1744
	    RESTORE_LEXER;
1745
	    goto ZL1;
1746
	  default:
1747
	    goto ZL1;
1748
	}
1749
	ADVANCE_LEXER;
1750
	switch (CURRENT_TERMINAL) {
1751
	  case 29:
1752
	    break;
1753
	  default:
1754
	    goto ZL1;
1755
	}
1756
	ADVANCE_LEXER;
1757
	switch (CURRENT_TERMINAL) {
1758
	  case 27:
1759
	    break;
1760
	  default:
1761
	    goto ZL1;
1762
	}
1763
	ADVANCE_LEXER;
1764
	switch (CURRENT_TERMINAL) {
1765
	  case 20:
1766
	    break;
1767
	  default:
1768
	    goto ZL1;
1769
	}
1770
	ADVANCE_LEXER;
1771
	switch (CURRENT_TERMINAL) {
1772
	  case 29:
1773
	    break;
1774
	  default:
1775
	    goto ZL1;
1776
	}
1777
	ADVANCE_LEXER;
1778
	ZRparam_Hpack (&ZIp);
1779
	switch (CURRENT_TERMINAL) {
1780
	  case 28:
1781
	    break;
1782
	  case 32:
1783
	    RESTORE_LEXER;
1784
	    goto ZL1;
1785
	  default:
1786
	    goto ZL1;
1787
	}
1788
	ADVANCE_LEXER;
1789
	{
1790
 
1791
    if ( !EQ_sort ( (ZIr), (ZIs) ) ) {
1792
	error ( ERROR_SERIOUS, "Wrong result sort for '%s'", (ZIn) ) ;
1793
    }
1794
    (ZIc) = make_construct ( (ZIn), (ZIe), (ZIs), (ZIp) ) ;
1795
	}
1796
	ZRconstruct_Hextra (ZIc);
1797
	if ((CURRENT_TERMINAL) == 32) {
1798
	    RESTORE_LEXER;
1799
	    goto ZL1;
1800
	}
1801
    }
1802
    goto ZL0;
1803
  ZL1:;
1804
    SAVE_LEXER (32);
1805
    return;
1806
  ZL0:;
1807
    *ZOc = ZIc;
1808
}
1809
 
1810
static void
1811
ZRconstruct_Hlist PROTO_N ((ZIs, ZOp))
1812
  PROTO_T (SORT ZIs X SID_CONS_LIST *ZOp)
1813
{
1814
    SID_CONS_LIST ZIp;
1815
 
1816
    if ((CURRENT_TERMINAL) == 32) {
1817
	return;
1818
    }
1819
    {
1820
	CONSTRUCT ZIc;
1821
	SID_CONS_LIST ZIq;
1822
 
1823
	switch (CURRENT_TERMINAL) {
1824
	  case 27:
1825
	    break;
1826
	  default:
1827
	    goto ZL1;
1828
	}
1829
	ADVANCE_LEXER;
1830
	ZRconstruct_Hitem (ZIs, &ZIc);
1831
	switch (CURRENT_TERMINAL) {
1832
	  case 28:
1833
	    break;
1834
	  case 32:
1835
	    RESTORE_LEXER;
1836
	    goto ZL1;
1837
	  default:
1838
	    goto ZL1;
1839
	}
1840
	ADVANCE_LEXER;
1841
	{
1842
	    switch (CURRENT_TERMINAL) {
1843
	      case 29:
1844
		{
1845
		    ADVANCE_LEXER;
1846
		    ZRconstruct_Hlist (ZIs, &ZIq);
1847
		    if ((CURRENT_TERMINAL) == 32) {
1848
			RESTORE_LEXER;
1849
			goto ZL1;
1850
		    }
1851
		}
1852
		break;
1853
	      default:
1854
		{
1855
		    {
1856
 
1857
    (ZIq) = NULL_list ( CONSTRUCT ) ;
1858
		    }
1859
		}
1860
		break;
1861
	    }
1862
	}
1863
	{
1864
 
1865
    CONS_cons ( (ZIc), (ZIq), (ZIp) ) ;
1866
	}
1867
    }
1868
    goto ZL0;
1869
  ZL1:;
1870
    SAVE_LEXER (32);
1871
    return;
1872
  ZL0:;
1873
    *ZOp = ZIp;
1874
}
1875
 
1876
static void
1877
ZRparam_Hpack PROTO_N ((ZOp))
1878
  PROTO_T (SID_PARAM_LIST *ZOp)
1879
{
1880
    SID_PARAM_LIST ZIp;
1881
 
1882
    if ((CURRENT_TERMINAL) == 32) {
1883
	return;
1884
    }
1885
    {
1886
	SID_PARAM_LIST ZIq;
1887
 
1888
	switch (CURRENT_TERMINAL) {
1889
	  case 27:
1890
	    break;
1891
	  default:
1892
	    goto ZL1;
1893
	}
1894
	ADVANCE_LEXER;
1895
	{
1896
	    switch (CURRENT_TERMINAL) {
1897
	      case 27:
1898
		{
1899
		    ZRparam_Hlist (&ZIq);
1900
		    if ((CURRENT_TERMINAL) == 32) {
1901
			RESTORE_LEXER;
1902
			goto ZL1;
1903
		    }
1904
		}
1905
		break;
1906
	      default:
1907
		{
1908
		    {
1909
 
1910
    (ZIq) = NULL_list ( PARAMETER ) ;
1911
		    }
1912
		}
1913
		break;
1914
	    }
1915
	}
1916
	switch (CURRENT_TERMINAL) {
1917
	  case 28:
1918
	    break;
1919
	  default:
1920
	    goto ZL1;
1921
	}
1922
	ADVANCE_LEXER;
1923
	ZIp = ZIq;
1924
    }
1925
    goto ZL0;
1926
  ZL1:;
1927
    SAVE_LEXER (32);
1928
    return;
1929
  ZL0:;
1930
    *ZOp = ZIp;
1931
}
1932
 
1933
static void
1934
ZRedge_Hpack PROTO_Z ()
1935
{
1936
    if ((CURRENT_TERMINAL) == 32) {
1937
	return;
1938
    }
1939
    {
1940
	switch (CURRENT_TERMINAL) {
1941
	  case 27:
1942
	    break;
1943
	  default:
1944
	    goto ZL1;
1945
	}
1946
	ADVANCE_LEXER;
1947
	{
1948
	    switch (CURRENT_TERMINAL) {
1949
	      case 27:
1950
		{
1951
		    ZRedge_Hlist ();
1952
		    if ((CURRENT_TERMINAL) == 32) {
1953
			RESTORE_LEXER;
1954
			goto ZL1;
1955
		    }
1956
		}
1957
		break;
1958
	      default:
1959
		break;
1960
	    }
1961
	}
1962
	switch (CURRENT_TERMINAL) {
1963
	  case 28:
1964
	    break;
1965
	  default:
1966
	    goto ZL1;
1967
	}
1968
	ADVANCE_LEXER;
1969
    }
1970
    return;
1971
  ZL1:;
1972
    SAVE_LEXER (32);
1973
    return;
1974
}
1975
 
1976
void
1977
read_spec PROTO_N ((ZOspec))
1978
  PROTO_T (SPECIFICATION *ZOspec)
1979
{
1980
    SPECIFICATION ZIspec;
1981
 
1982
    if ((CURRENT_TERMINAL) == 32) {
1983
	return;
1984
    }
1985
    {
1986
	SID_LINK_LIST ZIp;
1987
	SID_LINK_LIST ZIq;
1988
	unsigned ZIv1;
1989
	unsigned ZIv2;
1990
 
1991
	switch (CURRENT_TERMINAL) {
1992
	  case 27:
1993
	    break;
1994
	  default:
1995
	    goto ZL1;
1996
	}
1997
	ADVANCE_LEXER;
1998
	switch (CURRENT_TERMINAL) {
1999
	  case 27:
2000
	    break;
2001
	  default:
2002
	    goto ZL1;
2003
	}
2004
	ADVANCE_LEXER;
2005
	switch (CURRENT_TERMINAL) {
2006
	  case 24:
2007
	    break;
2008
	  default:
2009
	    goto ZL1;
2010
	}
2011
	ADVANCE_LEXER;
2012
	switch (CURRENT_TERMINAL) {
2013
	  case 29:
2014
	    break;
2015
	  default:
2016
	    goto ZL1;
2017
	}
2018
	ADVANCE_LEXER;
2019
	ZRsort_Hpack ();
2020
	switch (CURRENT_TERMINAL) {
2021
	  case 28:
2022
	    break;
2023
	  case 32:
2024
	    RESTORE_LEXER;
2025
	    goto ZL1;
2026
	  default:
2027
	    goto ZL1;
2028
	}
2029
	ADVANCE_LEXER;
2030
	switch (CURRENT_TERMINAL) {
2031
	  case 29:
2032
	    break;
2033
	  default:
2034
	    goto ZL1;
2035
	}
2036
	ADVANCE_LEXER;
2037
	switch (CURRENT_TERMINAL) {
2038
	  case 27:
2039
	    break;
2040
	  default:
2041
	    goto ZL1;
2042
	}
2043
	ADVANCE_LEXER;
2044
	switch (CURRENT_TERMINAL) {
2045
	  case 16:
2046
	    break;
2047
	  default:
2048
	    goto ZL1;
2049
	}
2050
	ADVANCE_LEXER;
2051
	switch (CURRENT_TERMINAL) {
2052
	  case 29:
2053
	    break;
2054
	  default:
2055
	    goto ZL1;
2056
	}
2057
	ADVANCE_LEXER;
2058
	ZRclist_Hpack ();
2059
	switch (CURRENT_TERMINAL) {
2060
	  case 28:
2061
	    break;
2062
	  case 32:
2063
	    RESTORE_LEXER;
2064
	    goto ZL1;
2065
	  default:
2066
	    goto ZL1;
2067
	}
2068
	ADVANCE_LEXER;
2069
	switch (CURRENT_TERMINAL) {
2070
	  case 29:
2071
	    break;
2072
	  default:
2073
	    goto ZL1;
2074
	}
2075
	ADVANCE_LEXER;
2076
	switch (CURRENT_TERMINAL) {
2077
	  case 27:
2078
	    break;
2079
	  default:
2080
	    goto ZL1;
2081
	}
2082
	ADVANCE_LEXER;
2083
	switch (CURRENT_TERMINAL) {
2084
	  case 22:
2085
	    break;
2086
	  default:
2087
	    goto ZL1;
2088
	}
2089
	ADVANCE_LEXER;
2090
	switch (CURRENT_TERMINAL) {
2091
	  case 29:
2092
	    break;
2093
	  default:
2094
	    goto ZL1;
2095
	}
2096
	ADVANCE_LEXER;
2097
	ZRslist_Hpack ();
2098
	switch (CURRENT_TERMINAL) {
2099
	  case 28:
2100
	    break;
2101
	  case 32:
2102
	    RESTORE_LEXER;
2103
	    goto ZL1;
2104
	  default:
2105
	    goto ZL1;
2106
	}
2107
	ADVANCE_LEXER;
2108
	switch (CURRENT_TERMINAL) {
2109
	  case 29:
2110
	    break;
2111
	  default:
2112
	    goto ZL1;
2113
	}
2114
	ADVANCE_LEXER;
2115
	switch (CURRENT_TERMINAL) {
2116
	  case 27:
2117
	    break;
2118
	  default:
2119
	    goto ZL1;
2120
	}
2121
	ADVANCE_LEXER;
2122
	switch (CURRENT_TERMINAL) {
2123
	  case 19:
2124
	    break;
2125
	  default:
2126
	    goto ZL1;
2127
	}
2128
	ADVANCE_LEXER;
2129
	switch (CURRENT_TERMINAL) {
2130
	  case 29:
2131
	    break;
2132
	  default:
2133
	    goto ZL1;
2134
	}
2135
	ADVANCE_LEXER;
2136
	ZRoption_Hpack ();
2137
	switch (CURRENT_TERMINAL) {
2138
	  case 28:
2139
	    break;
2140
	  case 32:
2141
	    RESTORE_LEXER;
2142
	    goto ZL1;
2143
	  default:
2144
	    goto ZL1;
2145
	}
2146
	ADVANCE_LEXER;
2147
	switch (CURRENT_TERMINAL) {
2148
	  case 29:
2149
	    break;
2150
	  default:
2151
	    goto ZL1;
2152
	}
2153
	ADVANCE_LEXER;
2154
	switch (CURRENT_TERMINAL) {
2155
	  case 27:
2156
	    break;
2157
	  default:
2158
	    goto ZL1;
2159
	}
2160
	ADVANCE_LEXER;
2161
	switch (CURRENT_TERMINAL) {
2162
	  case 15:
2163
	    break;
2164
	  default:
2165
	    goto ZL1;
2166
	}
2167
	ADVANCE_LEXER;
2168
	switch (CURRENT_TERMINAL) {
2169
	  case 29:
2170
	    break;
2171
	  default:
2172
	    goto ZL1;
2173
	}
2174
	ADVANCE_LEXER;
2175
	ZRlink_Hpack (&ZIp);
2176
	switch (CURRENT_TERMINAL) {
2177
	  case 28:
2178
	    break;
2179
	  case 32:
2180
	    RESTORE_LEXER;
2181
	    goto ZL1;
2182
	  default:
2183
	    goto ZL1;
2184
	}
2185
	ADVANCE_LEXER;
2186
	switch (CURRENT_TERMINAL) {
2187
	  case 29:
2188
	    break;
2189
	  default:
2190
	    goto ZL1;
2191
	}
2192
	ADVANCE_LEXER;
2193
	switch (CURRENT_TERMINAL) {
2194
	  case 27:
2195
	    break;
2196
	  default:
2197
	    goto ZL1;
2198
	}
2199
	ADVANCE_LEXER;
2200
	switch (CURRENT_TERMINAL) {
2201
	  case 14:
2202
	    break;
2203
	  default:
2204
	    goto ZL1;
2205
	}
2206
	ADVANCE_LEXER;
2207
	switch (CURRENT_TERMINAL) {
2208
	  case 29:
2209
	    break;
2210
	  default:
2211
	    goto ZL1;
2212
	}
2213
	ADVANCE_LEXER;
2214
	ZRkind_Hpack (&ZIq);
2215
	switch (CURRENT_TERMINAL) {
2216
	  case 28:
2217
	    break;
2218
	  case 32:
2219
	    RESTORE_LEXER;
2220
	    goto ZL1;
2221
	  default:
2222
	    goto ZL1;
2223
	}
2224
	ADVANCE_LEXER;
2225
	switch (CURRENT_TERMINAL) {
2226
	  case 29:
2227
	    break;
2228
	  default:
2229
	    goto ZL1;
2230
	}
2231
	ADVANCE_LEXER;
2232
	switch (CURRENT_TERMINAL) {
2233
	  case 27:
2234
	    break;
2235
	  default:
2236
	    goto ZL1;
2237
	}
2238
	ADVANCE_LEXER;
2239
	switch (CURRENT_TERMINAL) {
2240
	  case 12:
2241
	    break;
2242
	  default:
2243
	    goto ZL1;
2244
	}
2245
	ADVANCE_LEXER;
2246
	switch (CURRENT_TERMINAL) {
2247
	  case 29:
2248
	    break;
2249
	  default:
2250
	    goto ZL1;
2251
	}
2252
	ADVANCE_LEXER;
2253
	ZRedge_Hpack ();
2254
	switch (CURRENT_TERMINAL) {
2255
	  case 28:
2256
	    break;
2257
	  case 32:
2258
	    RESTORE_LEXER;
2259
	    goto ZL1;
2260
	  default:
2261
	    goto ZL1;
2262
	}
2263
	ADVANCE_LEXER;
2264
	switch (CURRENT_TERMINAL) {
2265
	  case 29:
2266
	    break;
2267
	  default:
2268
	    goto ZL1;
2269
	}
2270
	ADVANCE_LEXER;
2271
	switch (CURRENT_TERMINAL) {
2272
	  case 27:
2273
	    break;
2274
	  default:
2275
	    goto ZL1;
2276
	}
2277
	ADVANCE_LEXER;
2278
	switch (CURRENT_TERMINAL) {
2279
	  case 17:
2280
	    break;
2281
	  default:
2282
	    goto ZL1;
2283
	}
2284
	ADVANCE_LEXER;
2285
	switch (CURRENT_TERMINAL) {
2286
	  case 29:
2287
	    break;
2288
	  default:
2289
	    goto ZL1;
2290
	}
2291
	ADVANCE_LEXER;
2292
	switch (CURRENT_TERMINAL) {
2293
	  case 1:
2294
	    {
2295
 
2296
    ZIv1 = token_value ;
2297
	    }
2298
	    break;
2299
	  default:
2300
	    goto ZL1;
2301
	}
2302
	ADVANCE_LEXER;
2303
	switch (CURRENT_TERMINAL) {
2304
	  case 28:
2305
	    break;
2306
	  default:
2307
	    goto ZL1;
2308
	}
2309
	ADVANCE_LEXER;
2310
	switch (CURRENT_TERMINAL) {
2311
	  case 29:
2312
	    break;
2313
	  default:
2314
	    goto ZL1;
2315
	}
2316
	ADVANCE_LEXER;
2317
	switch (CURRENT_TERMINAL) {
2318
	  case 27:
2319
	    break;
2320
	  default:
2321
	    goto ZL1;
2322
	}
2323
	ADVANCE_LEXER;
2324
	switch (CURRENT_TERMINAL) {
2325
	  case 18:
2326
	    break;
2327
	  default:
2328
	    goto ZL1;
2329
	}
2330
	ADVANCE_LEXER;
2331
	switch (CURRENT_TERMINAL) {
2332
	  case 29:
2333
	    break;
2334
	  default:
2335
	    goto ZL1;
2336
	}
2337
	ADVANCE_LEXER;
2338
	switch (CURRENT_TERMINAL) {
2339
	  case 1:
2340
	    {
2341
 
2342
    ZIv2 = token_value ;
2343
	    }
2344
	    break;
2345
	  default:
2346
	    goto ZL1;
2347
	}
2348
	ADVANCE_LEXER;
2349
	switch (CURRENT_TERMINAL) {
2350
	  case 28:
2351
	    break;
2352
	  default:
2353
	    goto ZL1;
2354
	}
2355
	ADVANCE_LEXER;
2356
	switch (CURRENT_TERMINAL) {
2357
	  case 28:
2358
	    break;
2359
	  default:
2360
	    goto ZL1;
2361
	}
2362
	ADVANCE_LEXER;
2363
	switch (CURRENT_TERMINAL) {
2364
	  case 30:
2365
	    break;
2366
	  default:
2367
	    goto ZL1;
2368
	}
2369
	ADVANCE_LEXER;
2370
	{
2371
 
2372
    LIST ( SORT ) p = check_sorts () ;
2373
    LIST ( LINKAGE ) q = foreign_sorts () ;
2374
    MAKE_spec_basic ( (ZIv1), (ZIv2), p, (ZIp), (ZIq), q, (ZIspec) ) ;
2375
	}
2376
    }
2377
    goto ZL0;
2378
  ZL1:;
2379
    {
2380
	{
2381
 
2382
    error ( ERROR_SERIOUS, "Syntax error" ) ;
2383
	}
2384
	{
2385
 
2386
    (ZIspec) = NULL_spec ;
2387
	}
2388
    }
2389
  ZL0:;
2390
    *ZOspec = ZIspec;
2391
}
2392
 
2393
static void
2394
ZRoption_Hpack PROTO_Z ()
2395
{
2396
    if ((CURRENT_TERMINAL) == 32) {
2397
	return;
2398
    }
2399
    {
2400
	switch (CURRENT_TERMINAL) {
2401
	  case 27:
2402
	    break;
2403
	  default:
2404
	    goto ZL1;
2405
	}
2406
	ADVANCE_LEXER;
2407
	{
2408
	    switch (CURRENT_TERMINAL) {
2409
	      case 0:
2410
		{
2411
		    ZRoption_Hlist ();
2412
		    if ((CURRENT_TERMINAL) == 32) {
2413
			RESTORE_LEXER;
2414
			goto ZL1;
2415
		    }
2416
		}
2417
		break;
2418
	      default:
2419
		break;
2420
	    }
2421
	}
2422
	switch (CURRENT_TERMINAL) {
2423
	  case 28:
2424
	    break;
2425
	  default:
2426
	    goto ZL1;
2427
	}
2428
	ADVANCE_LEXER;
2429
    }
2430
    return;
2431
  ZL1:;
2432
    SAVE_LEXER (32);
2433
    return;
2434
}
2435
 
2436
static void
2437
ZRclist_Hpack PROTO_Z ()
2438
{
2439
    if ((CURRENT_TERMINAL) == 32) {
2440
	return;
2441
    }
2442
    {
2443
	switch (CURRENT_TERMINAL) {
2444
	  case 27:
2445
	    break;
2446
	  default:
2447
	    goto ZL1;
2448
	}
2449
	ADVANCE_LEXER;
2450
	{
2451
	    switch (CURRENT_TERMINAL) {
2452
	      case 0:
2453
		{
2454
		    ZRclist_Hlist ();
2455
		    if ((CURRENT_TERMINAL) == 32) {
2456
			RESTORE_LEXER;
2457
			goto ZL1;
2458
		    }
2459
		}
2460
		break;
2461
	      default:
2462
		break;
2463
	    }
2464
	}
2465
	switch (CURRENT_TERMINAL) {
2466
	  case 28:
2467
	    break;
2468
	  default:
2469
	    goto ZL1;
2470
	}
2471
	ADVANCE_LEXER;
2472
    }
2473
    return;
2474
  ZL1:;
2475
    SAVE_LEXER (32);
2476
    return;
2477
}
2478
 
2479
static void
2480
ZRparam_Hitem PROTO_N ((ZOa))
2481
  PROTO_T (PARAMETER *ZOa)
2482
{
2483
    PARAMETER ZIa;
2484
 
2485
    if ((CURRENT_TERMINAL) == 32) {
2486
	return;
2487
    }
2488
    {
2489
	string ZIn;
2490
	SORT ZIs;
2491
 
2492
	switch (CURRENT_TERMINAL) {
2493
	  case 27:
2494
	    break;
2495
	  default:
2496
	    goto ZL1;
2497
	}
2498
	ADVANCE_LEXER;
2499
	ZRany_Hname (&ZIn);
2500
	switch (CURRENT_TERMINAL) {
2501
	  case 29:
2502
	    break;
2503
	  case 32:
2504
	    RESTORE_LEXER;
2505
	    goto ZL1;
2506
	  default:
2507
	    goto ZL1;
2508
	}
2509
	ADVANCE_LEXER;
2510
	ZRnew_Hsort_Hname (&ZIs);
2511
	switch (CURRENT_TERMINAL) {
2512
	  case 28:
2513
	    break;
2514
	  case 32:
2515
	    RESTORE_LEXER;
2516
	    goto ZL1;
2517
	  default:
2518
	    goto ZL1;
2519
	}
2520
	ADVANCE_LEXER;
2521
	{
2522
 
2523
    int intro = 0 ;
2524
    if ( ends_in ( (ZIn), "_intro" ) ) intro = 1 ;
2525
    MAKE_par_basic ( (ZIn), (ZIs), 0, 0, intro, (ZIa) ) ;
2526
	}
2527
    }
2528
    goto ZL0;
2529
  ZL1:;
2530
    SAVE_LEXER (32);
2531
    return;
2532
  ZL0:;
2533
    *ZOa = ZIa;
2534
}
2535
 
2536
static void
2537
ZRedge_Hitem PROTO_Z ()
2538
{
2539
    if ((CURRENT_TERMINAL) == 32) {
2540
	return;
2541
    }
2542
    {
2543
	SORT ZIs;
2544
	string ZIc;
2545
 
2546
	switch (CURRENT_TERMINAL) {
2547
	  case 27:
2548
	    break;
2549
	  default:
2550
	    goto ZL1;
2551
	}
2552
	ADVANCE_LEXER;
2553
	switch (CURRENT_TERMINAL) {
2554
	  case 7:
2555
	    break;
2556
	  default:
2557
	    goto ZL1;
2558
	}
2559
	ADVANCE_LEXER;
2560
	switch (CURRENT_TERMINAL) {
2561
	  case 29:
2562
	    break;
2563
	  default:
2564
	    goto ZL1;
2565
	}
2566
	ADVANCE_LEXER;
2567
	ZRold_Hsort_Hname (&ZIs);
2568
	switch (CURRENT_TERMINAL) {
2569
	  case 28:
2570
	    break;
2571
	  case 32:
2572
	    RESTORE_LEXER;
2573
	    goto ZL1;
2574
	  default:
2575
	    goto ZL1;
2576
	}
2577
	ADVANCE_LEXER;
2578
	switch (CURRENT_TERMINAL) {
2579
	  case 29:
2580
	    break;
2581
	  default:
2582
	    goto ZL1;
2583
	}
2584
	ADVANCE_LEXER;
2585
	switch (CURRENT_TERMINAL) {
2586
	  case 27:
2587
	    break;
2588
	  default:
2589
	    goto ZL1;
2590
	}
2591
	ADVANCE_LEXER;
2592
	switch (CURRENT_TERMINAL) {
2593
	  case 6:
2594
	    break;
2595
	  default:
2596
	    goto ZL1;
2597
	}
2598
	ADVANCE_LEXER;
2599
	switch (CURRENT_TERMINAL) {
2600
	  case 29:
2601
	    break;
2602
	  default:
2603
	    goto ZL1;
2604
	}
2605
	ADVANCE_LEXER;
2606
	switch (CURRENT_TERMINAL) {
2607
	  case 0:
2608
	    {
2609
 
2610
    ZIc = xstrcpy ( token_buff ) ;
2611
	    }
2612
	    break;
2613
	  default:
2614
	    goto ZL1;
2615
	}
2616
	ADVANCE_LEXER;
2617
	switch (CURRENT_TERMINAL) {
2618
	  case 28:
2619
	    break;
2620
	  default:
2621
	    goto ZL1;
2622
	}
2623
	ADVANCE_LEXER;
2624
	{
2625
 
2626
    set_special ( (ZIs), (ZIc), KIND_edge ) ;
2627
    COPY_int ( sort_edge ( (ZIs) ), 1 ) ;
2628
	}
2629
    }
2630
    return;
2631
  ZL1:;
2632
    SAVE_LEXER (32);
2633
    return;
2634
}
2635
 
2636
static void
2637
ZRkind_Hpack PROTO_N ((ZOp))
2638
  PROTO_T (SID_LINK_LIST *ZOp)
2639
{
2640
    SID_LINK_LIST ZIp;
2641
 
2642
    if ((CURRENT_TERMINAL) == 32) {
2643
	return;
2644
    }
2645
    {
2646
	SID_LINK_LIST ZIq;
2647
 
2648
	switch (CURRENT_TERMINAL) {
2649
	  case 27:
2650
	    break;
2651
	  default:
2652
	    goto ZL1;
2653
	}
2654
	ADVANCE_LEXER;
2655
	{
2656
	    switch (CURRENT_TERMINAL) {
2657
	      case 27:
2658
		{
2659
		    ZRkind_Hlist (&ZIq);
2660
		    if ((CURRENT_TERMINAL) == 32) {
2661
			RESTORE_LEXER;
2662
			goto ZL1;
2663
		    }
2664
		}
2665
		break;
2666
	      default:
2667
		{
2668
		    {
2669
 
2670
    (ZIq) = NULL_list ( LINKAGE ) ;
2671
		    }
2672
		}
2673
		break;
2674
	    }
2675
	}
2676
	switch (CURRENT_TERMINAL) {
2677
	  case 28:
2678
	    break;
2679
	  default:
2680
	    goto ZL1;
2681
	}
2682
	ADVANCE_LEXER;
2683
	ZIp = ZIq;
2684
    }
2685
    goto ZL0;
2686
  ZL1:;
2687
    SAVE_LEXER (32);
2688
    return;
2689
  ZL0:;
2690
    *ZOp = ZIp;
2691
}
2692
 
2693
static void
2694
ZRnumber_Hlist PROTO_N ((ZIc))
2695
  PROTO_T (CONSTRUCT ZIc)
2696
{
2697
    if ((CURRENT_TERMINAL) == 32) {
2698
	return;
2699
    }
2700
  ZL2_number_Hlist:;
2701
    {
2702
	unsigned ZIa;
2703
 
2704
	switch (CURRENT_TERMINAL) {
2705
	  case 1:
2706
	    {
2707
 
2708
    ZIa = token_value ;
2709
	    }
2710
	    break;
2711
	  default:
2712
	    goto ZL1;
2713
	}
2714
	ADVANCE_LEXER;
2715
	{
2716
 
2717
    PARAMETER p = find_param ( (ZIc), (ZIa) ) ;
2718
    if ( !IS_NULL_par ( p ) ) COPY_int ( par_align ( p ), 1 ) ;
2719
	}
2720
	{
2721
	    switch (CURRENT_TERMINAL) {
2722
	      case 29:
2723
		{
2724
		    ADVANCE_LEXER;
2725
		    goto ZL2_number_Hlist;
2726
		}
2727
		/*UNREACHED*/
2728
	      default:
2729
		break;
2730
	    }
2731
	}
2732
    }
2733
    return;
2734
  ZL1:;
2735
    SAVE_LEXER (32);
2736
    return;
2737
}
2738
 
2739
static void
2740
ZRoption_Hitem PROTO_Z ()
2741
{
2742
    if ((CURRENT_TERMINAL) == 32) {
2743
	return;
2744
    }
2745
    {
2746
	SORT ZIs;
2747
 
2748
	ZRnew_Hsort_Hname (&ZIs);
2749
	if ((CURRENT_TERMINAL) == 32) {
2750
	    RESTORE_LEXER;
2751
	    goto ZL1;
2752
	}
2753
	{
2754
 
2755
    compound_sort ( (ZIs), "_option", info_option_tag, '?' ) ;
2756
	}
2757
    }
2758
    return;
2759
  ZL1:;
2760
    SAVE_LEXER (32);
2761
    return;
2762
}
2763
 
2764
/* BEGINNING OF TRAILER */
2765
 
2766
 
2767
 
2768
/* END OF FILE */