DataMuseum.dk

Presents historical artifacts from the history of:

Commodore CBM-900

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Commodore CBM-900

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦19d8f037e⟧

    Length: 5866 (0x16ea)
    Notes: UNIX file
    Names: »yacc.h«

Derivation

└─⟦f27320a65⟧ Bits:30001972 Commodore 900 hard disk image with partial source code
    └─⟦f4b8d8c84⟧ UNIX V7 Filesystem
        └─ ⟦this⟧ »cmd/yacc/yacc.h« 

Hex Dump

0x0000…0020 2f 2a 0a 20 2a 20 43 4f 43 4f 41 20 73 74 72 75 63 74 75 72 65 20 64 65 66 69 6e 69 74 69 6f 6e   ┆/*  * COCOA structure definition┆
0x0020…0040 73 0a 20 2a 0a 20 2a 20 54 68 69 73 20 70 61 72 73 65 72 20 67 65 6e 65 72 61 74 6f 72 20 69 73   ┆s  *  * This parser generator is┆
0x0040…0060 20 64 65 64 69 63 61 74 65 64 20 74 6f 20 52 65 69 6e 61 6c 64 6f 20 42 72 61 67 61 2e 0a 20 2a   ┆ dedicated to Reinaldo Braga.  *┆
0x0060…0080 20 4d 61 79 20 68 65 20 6c 69 76 65 20 61 20 68 75 6e 64 72 65 64 20 79 65 61 72 73 0a 20 2a 2f   ┆ May he live a hundred years  */┆
0x0080…00a0 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 6d 64   ┆ #include <stdio.h> #include <md┆
0x00a0…00c0 61 74 61 2e 68 3e 0a 0a 23 64 65 66 69 6e 65 20 46 41 54 41 4c 20 30 31 09 09 2f 2a 20 66 6c 61   ┆ata.h>  #define FATAL 01  /* fla┆
0x00c0…00e0 67 20 66 6f 72 20 79 79 65 72 72 6f 72 20 2a 2f 0a 23 64 65 66 69 6e 65 20 53 4b 49 50 20 30 32   ┆g for yyerror */ #define SKIP 02┆
0x00e0…0100 09 09 09 2f 2a 20 64 69 74 74 6f 20 2a 2f 0a 23 64 65 66 69 6e 65 20 4e 4c 4e 4f 20 30 34 09 09   ┆   /* ditto */ #define NLNO 04  ┆
0x0100…0120 09 2f 2a 20 6e 6f 20 6c 69 6e 65 20 6e 75 6d 62 65 72 20 6f 6e 20 65 72 72 6f 72 20 6c 69 6e 65   ┆ /* no line number on error line┆
0x0120…0140 20 2a 2f 0a 23 64 65 66 69 6e 65 20 57 41 52 4e 49 4e 47 20 30 31 30 0a 23 64 65 66 69 6e 65 20   ┆ */ #define WARNING 010 #define ┆
0x0140…0160 54 54 45 52 4d 20 30 09 09 09 2f 2a 20 22 67 65 6e 72 65 22 20 66 6f 72 20 74 6f 6b 65 6e 20 2a   ┆TTERM 0   /* "genre" for token *┆
0x0160…0180 2f 0a 23 64 65 66 69 6e 65 20 54 4e 54 45 52 4d 20 31 09 09 09 2f 2a 20 6e 6f 6e 20 74 65 72 6d   ┆/ #define TNTERM 1   /* non term┆
0x0180…01a0 69 6e 61 6c 20 2a 2f 0a 23 64 65 66 69 6e 65 20 54 54 59 50 45 20 32 09 09 09 2f 2a 20 3c 74 79   ┆inal */ #define TTYPE 2   /* <ty┆
0x01a0…01c0 70 65 3e 20 2a 2f 0a 23 64 65 66 69 6e 65 20 4d 41 58 54 20 33 09 09 09 2f 2a 20 6e 75 6d 62 65   ┆pe> */ #define MAXT 3   /* numbe┆
0x01c0…01e0 72 20 6f 66 20 64 69 66 66 65 72 65 6e 74 20 67 65 6e 72 65 73 20 2a 2f 0a 09 09 09 09 2f 2a 20   ┆r of different genres */     /* ┆
0x01e0…0200 69 66 20 6d 61 78 74 65 72 6d 20 69 73 20 3e 20 31 32 37 20 63 68 61 6e 67 65 20 4c 53 45 54 53   ┆if maxterm is > 127 change LSETS┆
0x0200…0220 49 5a 45 20 20 2a 2f 0a 23 64 65 66 69 6e 65 20 4c 53 45 54 53 49 5a 45 20 32 30 09 09 2f 2a 20   ┆IZE  */ #define LSETSIZE 20  /* ┆
0x0220…0240 63 68 61 72 73 20 69 6e 20 77 73 20 3a 3a 3d 20 4d 41 58 54 45 52 4d 2f 38 20 2b 20 31 20 2a 2f   ┆chars in ws ::= MAXTERM/8 + 1 */┆
0x0240…0260 0a 0a 09 09 2f 2a 20 64 65 66 61 75 6c 74 73 20 2d 2d 20 63 61 6e 20 62 65 20 63 68 61 6e 67 65   ┆    /* defaults -- can be change┆
0x0260…0280 64 20 77 69 74 68 20 72 75 6e 20 74 69 6d 65 20 6f 70 74 69 6f 6e 73 20 2a 2f 0a 23 64 65 66 69   ┆d with run time options */ #defi┆
0x0280…02a0 6e 65 20 4d 41 58 50 52 4f 44 20 31 37 35 09 09 2f 2a 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65   ┆ne MAXPROD 175  /* maximum numbe┆
0x02a0…02c0 72 20 6f 66 20 70 72 6f 64 75 63 74 69 6f 6e 73 20 2a 2f 0a 23 64 65 66 69 6e 65 20 4d 41 58 54   ┆r of productions */ #define MAXT┆
0x02c0…02e0 45 52 4d 20 31 35 30 09 09 2f 2a 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 64 69   ┆ERM 150  /* maximum number of di┆
0x02e0…0300 66 66 65 72 65 6e 74 20 74 65 72 6d 69 6e 61 6c 73 20 2a 2f 0a 23 64 65 66 69 6e 65 20 4d 41 58   ┆fferent terminals */ #define MAX┆
0x0300…0320 4e 54 45 52 4d 20 31 30 30 09 09 2f 2a 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20   ┆NTERM 100  /* maximum number of ┆
0x0320…0340 6e 6f 6e 20 74 65 72 6d 69 6e 61 6c 20 73 79 6d 62 6f 6c 73 20 2a 2f 0a 23 64 65 66 69 6e 65 20   ┆non terminal symbols */ #define ┆
0x0340…0360 4d 41 58 53 54 41 54 45 20 33 30 30 09 09 2f 2a 20 6d 61 78 20 23 20 6f 66 20 73 74 61 74 65 73   ┆MAXSTATE 300  /* max # of states┆
0x0360…0380 20 2a 2f 0a 23 64 65 66 69 6e 65 20 4d 41 58 54 59 50 45 20 31 30 09 09 2f 2a 20 66 6f 72 20 74   ┆ */ #define MAXTYPE 10  /* for t┆
0x0380…03a0 68 65 20 75 6e 69 6f 6e 20 6f 66 20 59 59 53 54 59 50 45 20 2a 2f 0a 0a 09 09 2f 2a 20 63 6f 6d   ┆he union of YYSTYPE */    /* com┆
0x03a0…03c0 70 69 6c 65 64 20 69 6e 20 73 69 7a 65 73 20 2d 2d 20 63 61 6e 20 62 65 20 69 6e 63 72 65 61 73   ┆piled in sizes -- can be increas┆
0x03c0…03e0 65 64 20 77 69 74 68 6f 75 74 20 70 72 6f 62 6c 65 6d 20 2a 2f 0a 23 64 65 66 69 6e 65 20 4d 41   ┆ed without problem */ #define MA┆
0x03e0…0400 58 50 52 4f 44 4c 20 32 30 09 09 2f 2a 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20   ┆XPRODL 20  /* maximum number of ┆
0x0400…0420 73 79 6d 62 6f 6c 73 20 69 6e 20 61 6e 79 20 70 72 6f 64 6e 20 2a 2f 0a 23 64 65 66 69 6e 65 20   ┆symbols in any prodn */ #define ┆
0x0420…0440 4d 41 58 49 54 45 4d 20 31 36 30 09 09 2f 2a 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f   ┆MAXITEM 160  /* maximum number o┆
0x0440…0460 66 20 69 74 65 6d 73 20 69 6e 20 61 6e 79 20 73 74 61 74 65 20 2a 2f 0a 23 64 65 66 69 6e 65 20   ┆f items in any state */ #define ┆
0x0460…0480 4d 41 58 52 45 44 53 20 36 30 09 09 2f 2a 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66   ┆MAXREDS 60  /* maximum number of┆
0x0480…04a0 20 72 65 64 75 63 74 69 6f 6e 73 20 70 65 72 20 73 74 61 74 65 20 2a 2f 0a 0a 09 09 2f 2a 20 6b   ┆ reductions per state */    /* k┆
0x04a0…04c0 65 79 77 6f 72 64 20 63 6f 64 69 6e 67 73 20 2a 2f 0a 23 64 65 66 69 6e 65 20 53 54 41 52 54 20   ┆eyword codings */ #define START ┆
0x04c0…04e0 31 09 0a 09 09 2f 2a 20 25 74 6f 6b 65 6e 20 2e 2e 20 25 6e 6f 6e 61 73 73 6f 63 20 6d 75 73 74   ┆1    /* %token .. %nonassoc must┆
0x04e0…0500 20 62 65 20 63 6f 6e 74 69 67 75 6f 75 73 6c 79 20 63 6f 64 65 64 20 2a 2f 0a 23 64 65 66 69 6e   ┆ be contiguously coded */ #defin┆
0x0500…0520 65 20 54 4f 4b 45 4e 20 32 0a 23 64 65 66 69 6e 65 20 4c 45 46 54 20 33 0a 23 64 65 66 69 6e 65   ┆e TOKEN 2 #define LEFT 3 #define┆
0x0520…0540 20 52 49 47 48 54 20 34 0a 23 64 65 66 69 6e 65 20 4e 4f 4e 41 53 53 4f 43 20 35 0a 23 64 65 66   ┆ RIGHT 4 #define NONASSOC 5 #def┆
0x0540…0560 69 6e 65 20 55 4e 49 4f 4e 20 36 0a 23 64 65 66 69 6e 65 20 50 52 45 43 20 37 0a 23 64 65 66 69   ┆ine UNION 6 #define PREC 7 #defi┆
0x0560…0580 6e 65 20 54 59 50 45 20 38 0a 23 64 65 66 69 6e 65 20 53 45 4d 49 43 4f 4c 4f 4e 20 39 0a 23 64   ┆ne TYPE 8 #define SEMICOLON 9 #d┆
0x0580…05a0 65 66 69 6e 65 20 56 42 41 52 20 31 30 09 09 2f 2a 20 70 72 6f 64 75 63 74 69 6f 6e 20 73 65 70   ┆efine VBAR 10  /* production sep┆
0x05a0…05c0 61 72 61 74 6f 72 73 20 2a 2f 0a 23 64 65 66 69 6e 65 20 4c 42 52 41 43 20 31 31 09 2f 2a 20 62   ┆arators */ #define LBRAC 11 /* b┆
0x05c0…05e0 65 67 69 6e 6e 69 6e 67 20 6f 66 20 61 63 74 69 6f 6e 20 2a 2f 0a 23 64 65 66 69 6e 65 20 54 5f   ┆eginning of action */ #define T_┆
0x05e0…0600 49 44 45 4e 54 20 31 32 0a 23 64 65 66 69 6e 65 20 43 5f 49 44 45 4e 54 20 31 33 0a 23 64 65 66   ┆IDENT 12 #define C_IDENT 13 #def┆
0x0600…0620 69 6e 65 20 4d 41 52 4b 20 31 34 0a 23 64 65 66 69 6e 65 20 49 44 45 4e 54 20 31 35 0a 23 64 65   ┆ine MARK 14 #define IDENT 15 #de┆
0x0620…0640 66 69 6e 65 20 43 4f 4d 4d 41 20 31 36 0a 23 64 65 66 69 6e 65 20 49 4e 54 45 47 45 52 20 31 37   ┆fine COMMA 16 #define INTEGER 17┆
0x0640…0660 0a 0a 09 2f 2a 20 70 72 65 63 65 64 65 6e 63 65 20 61 73 73 6f 63 69 61 74 69 76 69 74 69 65 73   ┆   /* precedence associativities┆
0x0660…0680 20 2a 2f 0a 23 64 65 66 69 6e 65 20 55 4e 41 53 53 4f 43 20 30 0a 23 64 65 66 69 6e 65 20 4c 41   ┆ */ #define UNASSOC 0 #define LA┆
0x0680…06a0 53 53 4f 43 20 31 0a 23 64 65 66 69 6e 65 20 52 41 53 53 4f 43 20 32 0a 23 64 65 66 69 6e 65 20   ┆SSOC 1 #define RASSOC 2 #define ┆
0x06a0…06c0 42 41 53 53 4f 43 20 33 09 09 2f 2a 20 22 62 69 6e 61 72 79 22 20 61 73 73 6f 63 69 61 74 69 76   ┆BASSOC 3  /* "binary" associativ┆
0x06c0…06e0 69 74 79 20 2d 20 25 6e 6f 6e 61 73 73 6f 63 20 2a 2f 0a 0a 09 09 2f 2a 20 6d 61 63 72 6f 73 20   ┆ity - %nonassoc */    /* macros ┆
0x06e0…0700 2a 2f 0a 09 09 2f 2a 20 63 68 61 72 61 63 74 65 72 20 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 20 2a   ┆*/   /* character manipulation *┆
0x0700…0720 2f 0a 0a 09 09 2f 2a 20 72 75 6e 20 6f 66 20 74 68 65 20 6d 69 6c 6c 20 6d 61 6e 69 66 65 73 74   ┆/    /* run of the mill manifest┆
0x0720…0740 73 20 2a 2f 0a 23 64 65 66 69 6e 65 20 55 49 4e 54 20 2d 31 09 09 09 2f 2a 20 22 75 6e 6b 6e 6f   ┆s */ #define UINT -1   /* "unkno┆
0x0740…0760 77 6e 22 20 74 79 70 65 20 2d 2d 20 69 6e 74 65 67 65 72 20 2a 2f 0a 23 64 65 66 69 6e 65 20 55   ┆wn" type -- integer */ #define U┆
0x0760…0780 4e 4b 4e 4f 57 4e 20 2d 31 0a 23 64 65 66 69 6e 65 20 53 59 4d 53 49 5a 45 20 33 32 0a 23 64 65   ┆NKNOWN -1 #define SYMSIZE 32 #de┆
0x0780…07a0 66 69 6e 65 20 44 45 52 49 56 20 30 31 09 09 2f 2a 20 6e 6f 6e 20 74 65 72 6d 69 6e 61 6c 20 64   ┆fine DERIV 01  /* non terminal d┆
0x07a0…07c0 65 72 69 76 65 73 20 74 68 65 20 65 6d 70 74 79 20 73 74 72 69 6e 67 20 2a 2f 0a 23 64 65 66 69   ┆erives the empty string */ #defi┆
0x07c0…07e0 6e 65 20 43 50 52 45 53 20 30 32 09 09 2f 2a 20 74 65 6d 70 20 66 6c 61 67 20 66 6f 72 20 63 6c   ┆ne CPRES 02  /* temp flag for cl┆
0x07e0…0800 6f 73 75 72 65 20 2a 2f 0a 23 64 65 66 69 6e 65 20 6e 74 65 72 6d 20 67 74 61 62 5b 54 54 45 52   ┆osure */ #define nterm gtab[TTER┆
0x0800…0820 4d 5d 2e 67 5f 6f 72 64 6e 6f 0a 23 64 65 66 69 6e 65 20 6e 6e 6f 6e 74 65 72 6d 20 67 74 61 62   ┆M].g_ordno #define nnonterm gtab┆
0x0820…0840 5b 54 4e 54 45 52 4d 5d 2e 67 5f 6f 72 64 6e 6f 0a 23 64 65 66 69 6e 65 20 6e 74 79 70 65 20 67   ┆[TNTERM].g_ordno #define ntype g┆
0x0840…0860 74 61 62 5b 54 54 59 50 45 5d 2e 67 5f 6f 72 64 6e 6f 0a 23 64 65 66 69 6e 65 20 6d 61 78 74 65   ┆tab[TTYPE].g_ordno #define maxte┆
0x0860…0880 72 6d 20 67 74 61 62 5b 54 54 45 52 4d 5d 2e 67 5f 6d 61 78 6f 72 64 0a 23 64 65 66 69 6e 65 20   ┆rm gtab[TTERM].g_maxord #define ┆
0x0880…08a0 6d 61 78 6e 74 65 72 6d 20 67 74 61 62 5b 54 4e 54 45 52 4d 5d 2e 67 5f 6d 61 78 6f 72 64 0a 23   ┆maxnterm gtab[TNTERM].g_maxord #┆
0x08a0…08c0 64 65 66 69 6e 65 20 6d 61 78 74 79 70 65 20 67 74 61 62 5b 54 54 59 50 45 5d 2e 67 5f 6d 61 78   ┆define maxtype gtab[TTYPE].g_max┆
0x08c0…08e0 6f 72 64 0a 23 64 65 66 69 6e 65 20 6d 61 78 73 79 6d 20 28 6d 61 78 74 65 72 6d 2b 6d 61 78 6e   ┆ord #define maxsym (maxterm+maxn┆
0x08e0…0900 74 65 72 6d 2b 6d 61 78 74 79 70 65 29 0a 23 64 65 66 69 6e 65 20 4e 54 42 41 53 45 20 30 31 30   ┆term+maxtype) #define NTBASE 010┆
0x0900…0920 30 30 30 09 09 2f 2a 20 62 61 73 65 20 6e 75 6d 62 65 72 20 66 6f 72 20 6e 6f 6e 20 74 65 72 6d   ┆000  /* base number for non term┆
0x0920…0940 69 6e 61 6c 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 2a 2f 0a 23 64 65 66 69 6e 65 20 45 4f 46 4e 4f   ┆inal allocation */ #define EOFNO┆
0x0940…0960 20 30 0a 23 64 65 66 69 6e 65 20 45 52 52 4e 4f 20 31 0a 23 64 65 66 69 6e 65 20 62 6f 75 6e 64   ┆ 0 #define ERRNO 1 #define bound┆
0x0960…0980 65 64 28 76 2c 6c 2c 6e 61 6d 65 29 20 69 66 28 20 76 3e 3d 6c 20 29 20 79 79 65 72 72 6f 72 28   ┆ed(v,l,name) if( v>=l ) yyerror(┆
0x0980…09a0 46 41 54 41 4c 2c 20 62 6f 75 6e 64 65 72 72 2c 20 6e 61 6d 65 2c 20 6c 29 0a 23 64 65 66 69 6e   ┆FATAL, bounderr, name, l) #defin┆
0x09a0…09c0 65 20 4d 41 58 53 59 4d 20 33 35 33 0a 0a 0a 0a 73 74 72 75 63 74 20 73 79 6d 0a 7b 0a 09 63 68   ┆e MAXSYM 353    struct sym {  ch┆
0x09c0…09e0 61 72 09 73 5f 6e 61 6d 65 5b 53 59 4d 53 49 5a 45 5d 3b 0a 09 69 6e 74 09 73 5f 6e 6f 3b 09 2f   ┆ar s_name[SYMSIZE];  int s_no; /┆
0x09e0…0a00 2a 20 6f 72 64 69 6e 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 73 79 6d 62 6f 6c 20 2a 2f 0a 09 69   ┆* ordinal number of symbol */  i┆
0x0a00…0a20 6e 74 09 73 5f 76 61 6c 3b 09 2f 2a 20 65 78 74 65 72 6e 61 6c 20 76 61 6c 75 65 2c 20 66 6f 72   ┆nt s_val; /* external value, for┆
0x0a20…0a40 20 6e 6f 6e 20 74 65 72 6d 69 6e 61 6c 20 6f 6e 6c 79 20 2a 2f 0a 09 63 68 61 72 09 73 5f 70 72   ┆ non terminal only */  char s_pr┆
0x0a40…0a60 63 2c 20 73 5f 61 73 73 3b 20 2f 2a 20 70 72 65 63 65 64 65 6e 63 65 2c 20 61 73 73 6f 63 69 61   ┆c, s_ass; /* precedence, associa┆
0x0a60…0a80 74 69 76 69 74 79 20 2a 2f 0a 09 69 6e 74 09 73 5f 74 79 70 65 3b 0a 09 63 68 61 72 09 73 5f 67   ┆tivity */  int s_type;  char s_g┆
0x0a80…0aa0 65 6e 72 65 3b 20 2f 2a 20 22 6b 69 6e 64 22 20 6f 66 20 73 79 6d 62 6f 6c 20 2d 2d 20 74 65 72   ┆enre; /* "kind" of symbol -- ter┆
0x0aa0…0ac0 6d 69 6e 61 6c 2c 20 6e 6f 6e 74 65 72 6d 69 6e 61 6c 2c 20 74 79 70 65 20 2a 2f 0a 09 09 2f 2a   ┆minal, nonterminal, type */   /*┆
0x0ac0…0ae0 20 72 65 6d 61 69 6e 69 6e 67 20 66 6c 61 67 73 20 61 72 65 20 6f 6e 6c 79 20 75 73 65 64 20 66   ┆ remaining flags are only used f┆
0x0ae0…0b00 6f 72 20 6e 6f 6e 2d 74 65 72 6d 69 6e 61 6c 73 20 2a 2f 0a 0a 09 63 68 61 72 09 73 5f 66 6c 61   ┆or non-terminals */   char s_fla┆
0x0b00…0b20 67 73 3b 09 2f 2a 20 66 6f 72 20 63 6c 6f 73 75 72 65 20 61 6e 64 20 6c 6f 6f 6b 61 68 65 61 64   ┆gs; /* for closure and lookahead┆
0x0b20…0b40 20 63 6f 6d 70 75 74 61 74 69 6f 6e 73 20 2a 2f 0a 09 69 6e 74 09 73 5f 6e 70 72 6f 64 73 3b 09   ┆ computations */  int s_nprods; ┆
0x0b40…0b60 2f 2a 20 6e 75 6d 62 65 72 20 6f 66 20 70 72 6f 64 75 63 74 69 6f 6e 73 20 68 61 76 69 6e 67 20   ┆/* number of productions having ┆
0x0b60…0b80 6e 74 20 61 73 20 6c 68 73 20 2a 2f 0a 09 73 74 72 75 63 74 20 70 72 6f 64 20 2a 2a 73 5f 70 72   ┆nt as lhs */  struct prod **s_pr┆
0x0b80…0ba0 6f 64 73 3b 0a 09 69 6e 74 09 73 5f 6e 73 74 61 74 65 73 3b 09 2f 2a 20 73 08 66 6f 72 20 6e 74   ┆ods;  int s_nstates; /* s for nt┆
0x0ba0…0bc0 20 41 2c 20 23 20 6f 66 20 73 74 61 74 65 73 20 77 69 74 68 20 69 74 65 6d 20 41 2d 3e 2e 20 61   ┆ A, # of states with item A->. a┆
0x0bc0…0be0 69 2a 20 2a 2f 0a 09 69 6e 74 09 2a 73 5f 73 74 61 74 65 73 3b 09 2f 2a 20 6c 69 73 74 20 2a 2f   ┆i* */  int *s_states; /* list */┆
0x0be0…0c00 0a 7d 3b 0a 0a 73 74 72 75 63 74 20 73 69 74 65 6d 0a 7b 0a 09 69 6e 74 09 69 5f 6e 69 74 65 6d   ┆ };  struct sitem {  int i_nitem┆
0x0c00…0c20 73 3b 09 2f 2a 20 6e 75 6d 62 65 72 20 6f 66 20 69 74 65 6d 73 20 69 6e 20 73 65 74 20 2a 2f 0a   ┆s; /* number of items in set */ ┆
0x0c20…0c40 09 69 6e 74 09 2a 69 5f 69 74 65 6d 73 5b 5d 3b 0a 7d 20 3b 0a 0a 73 74 72 75 63 74 20 73 74 61   ┆ int *i_items[]; } ;  struct sta┆
0x0c40…0c60 74 65 0a 7b 0a 09 69 6e 74 09 73 5f 74 67 6f 3b 0a 09 73 74 72 75 63 74 09 74 67 6f 20 2a 73 5f   ┆te {  int s_tgo;  struct tgo *s_┆
0x0c60…0c80 74 67 6f 73 3b 0a 09 69 6e 74 09 73 5f 6e 74 67 6f 3b 0a 09 73 74 72 75 63 74 09 6e 74 67 6f 20   ┆tgos;  int s_ntgo;  struct ntgo ┆
0x0c80…0ca0 2a 73 5f 6e 74 67 6f 73 3b 0a 09 69 6e 74 09 73 5f 6e 72 65 64 3b 0a 09 73 74 72 75 63 74 20 72   ┆*s_ntgos;  int s_nred;  struct r┆
0x0ca0…0cc0 65 64 6e 20 2a 73 5f 72 65 64 73 3b 0a 7d 20 3b 0a 0a 73 74 72 75 63 74 20 70 72 6f 64 0a 7b 0a   ┆edn *s_reds; } ;  struct prod { ┆
0x0cc0…0ce0 09 69 6e 74 09 70 5f 70 72 6f 64 6e 6f 3b 09 2f 2a 20 69 6e 64 65 78 20 69 6e 20 70 72 64 70 74   ┆ int p_prodno; /* index in prdpt┆
0x0ce0…0d00 72 20 2a 2f 0a 09 63 68 61 72 09 70 5f 70 72 63 2c 20 70 5f 61 73 73 3b 09 2f 2a 20 70 72 65 63   ┆r */  char p_prc, p_ass; /* prec┆
0x0d00…0d20 65 64 65 6e 63 65 2c 20 61 73 73 6f 63 69 61 74 69 76 69 74 79 20 2a 2f 0a 09 69 6e 74 09 70 5f   ┆edence, associativity */  int p_┆
0x0d20…0d40 6c 65 66 74 3b 09 09 2f 2a 20 2d 28 6f 72 64 69 6e 61 6c 20 6e 75 6d 62 65 72 20 66 6f 72 20 6c   ┆left;  /* -(ordinal number for l┆
0x0d40…0d60 68 73 29 20 2a 2f 0a 09 69 6e 74 09 70 5f 72 69 67 68 74 5b 5d 3b 09 2f 2a 20 6f 72 64 69 6e 61   ┆hs) */  int p_right[]; /* ordina┆
0x0d60…0d80 6c 20 6e 75 6d 62 65 72 73 20 66 6f 72 20 72 68 73 20 77 2e 20 2d 31 20 65 6e 64 20 6d 61 72 6b   ┆l numbers for rhs w. -1 end mark┆
0x0d80…0da0 65 72 20 2a 2f 0a 7d 3b 0a 09 09 2f 2a 20 6b 6c 75 64 67 79 20 61 63 63 65 73 73 69 6e 67 20 6d   ┆er */ };   /* kludgy accessing m┆
0x0da0…0dc0 61 63 72 6f 20 2a 2f 0a 23 64 65 66 69 6e 65 20 69 32 70 28 6c 65 66 74 70 29 20 28 20 28 73 74   ┆acro */ #define i2p(leftp) ( (st┆
0x0dc0…0de0 72 75 63 74 20 70 72 6f 64 20 2a 29 20 28 20 28 63 68 61 72 20 2a 29 6c 65 66 74 70 20 2d 20 28   ┆ruct prod *) ( (char *)leftp - (┆
0x0de0…0e00 69 6e 74 29 20 26 30 2d 3e 70 5f 6c 65 66 74 29 20 29 0a 0a 73 74 72 75 63 74 20 74 67 6f 0a 7b   ┆int) &0->p_left) )  struct tgo {┆
0x0e00…0e20 0a 09 69 6e 74 09 74 67 5f 74 72 6d 3b 09 09 2f 2a 20 6f 72 64 69 6e 61 6c 20 6e 75 6d 62 65 72   ┆  int tg_trm;  /* ordinal number┆
0x0e20…0e40 20 6f 66 20 74 65 72 6d 69 6e 61 6c 20 2a 2f 0a 09 69 6e 74 09 74 67 5f 73 74 3b 0a 7d 3b 0a 0a   ┆ of terminal */  int tg_st; };  ┆
0x0e40…0e60 73 74 72 75 63 74 20 6e 74 67 6f 0a 7b 0a 09 69 6e 74 09 6e 67 5f 6e 74 3b 09 09 2f 2a 20 6f 72   ┆struct ntgo {  int ng_nt;  /* or┆
0x0e60…0e80 64 69 6e 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 6e 6f 6e 20 74 65 72 6d 69 6e 61 6c 20 2a 2f 0a   ┆dinal number of non terminal */ ┆
0x0e80…0ea0 09 69 6e 74 09 6e 67 5f 73 74 3b 09 09 2f 2a 20 69 6e 64 65 78 20 6f 66 20 73 74 61 74 65 20 2a   ┆ int ng_st;  /* index of state *┆
0x0ea0…0ec0 2f 0a 09 75 6e 69 6f 6e 20 7b 09 09 09 09 2f 2a 20 4d 57 43 20 44 53 43 20 2a 2f 0a 09 09 73 74   ┆/  union {    /* MWC DSC */   st┆
0x0ec0…0ee0 72 75 63 74 20 72 65 6c 20 2a 72 65 6c 6e 3b 09 2f 2a 20 70 6f 69 6e 74 65 72 20 74 6f 20 72 65   ┆ruct rel *reln; /* pointer to re┆
0x0ee0…0f00 6c 61 74 69 6f 6e 20 73 65 74 20 2a 2f 0a 09 09 73 74 72 75 63 74 20 6c 73 65 74 20 2a 6c 6f 6f   ┆lation set */   struct lset *loo┆
0x0f00…0f20 6b 3b 09 2f 2a 20 70 6f 69 6e 74 65 72 20 74 6f 20 6c 6f 6f 6b 61 68 65 61 64 20 73 65 74 20 2a   ┆k; /* pointer to lookahead set *┆
0x0f20…0f40 2f 0a 09 7d 20 63 68 65 61 70 6f 3b 09 09 09 2f 2a 20 74 68 65 79 27 72 65 20 6e 6f 74 20 75 73   ┆/  } cheapo;   /* they're not us┆
0x0f40…0f60 65 64 20 61 74 20 6f 6e 63 65 2c 20 73 6f 2e 2e 2e 20 2a 2f 0a 7d 3b 0a 23 64 65 66 69 6e 65 20   ┆ed at once, so... */ }; #define ┆
0x0f60…0f80 6e 67 5f 72 65 6c 20 63 68 65 61 70 6f 2e 72 65 6c 6e 0a 23 64 65 66 69 6e 65 20 6e 67 5f 6c 73   ┆ng_rel cheapo.reln #define ng_ls┆
0x0f80…0fa0 65 74 20 63 68 65 61 70 6f 2e 6c 6f 6f 6b 0a 0a 73 74 72 75 63 74 20 72 65 64 6e 0a 7b 0a 09 73   ┆et cheapo.look  struct redn {  s┆
0x0fa0…0fc0 74 72 75 63 74 20 70 72 6f 64 20 2a 72 64 5f 70 72 6f 64 3b 09 2f 2a 20 70 72 6f 64 75 63 74 69   ┆truct prod *rd_prod; /* producti┆
0x0fc0…0fe0 6f 6e 20 70 6f 69 6e 74 65 72 20 2a 2f 0a 09 73 74 72 75 63 74 20 6c 73 65 74 20 2a 72 64 5f 6c   ┆on pointer */  struct lset *rd_l┆
0x0fe0…1000 73 65 74 3b 09 2f 2a 20 6c 6f 6f 6b 61 68 65 61 64 20 73 65 74 20 2a 2f 0a 7d 3b 0a 0a 2f 2a 20   ┆set; /* lookahead set */ };  /* ┆
0x1000…1020 72 65 6c 61 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 6e 74 20 74 72 61 6e 73 69 74 69 6f 6e 73 20   ┆relation between nt transitions ┆
0x1020…1040 2a 2f 0a 73 74 72 75 63 74 20 72 65 6c 0a 7b 0a 09 69 6e 74 09 72 5f 63 6f 75 6e 74 3b 0a 09 69   ┆*/ struct rel {  int r_count;  i┆
0x1040…1060 6e 74 09 72 5f 6c 69 73 74 5b 5d 3b 0a 7d 3b 0a 0a 73 74 72 75 63 74 20 74 72 61 6e 73 0a 7b 0a   ┆nt r_list[]; };  struct trans { ┆
0x1060…1080 09 73 74 72 75 63 74 20 6e 74 67 6f 20 2a 74 5f 74 72 61 6e 73 3b 0a 09 69 6e 74 09 74 5f 6c 65   ┆ struct ntgo *t_trans;  int t_le┆
0x1080…10a0 76 65 6c 3b 0a 7d 3b 0a 0a 73 74 72 75 63 74 20 6c 73 65 74 0a 7b 0a 09 75 6e 69 6f 6e 20 7b 0a   ┆vel; };  struct lset {  union { ┆
0x10a0…10c0 09 09 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 75 5f 62 69 74 73 5b 4c 53 45 54 53 49 5a 45 5d   ┆  unsigned char u_bits[LSETSIZE]┆
0x10c0…10e0 3b 0a 09 09 73 74 72 75 63 74 09 6c 73 65 74 20 2a 75 5f 6e 65 78 74 3b 0a 09 7d 20 75 6e 3b 0a   ┆;   struct lset *u_next;  } un; ┆
0x10e0…1100 7d 3b 0a 23 64 65 66 69 6e 65 20 6c 5f 62 69 74 73 20 75 6e 2e 75 5f 62 69 74 73 0a 23 64 65 66   ┆}; #define l_bits un.u_bits #def┆
0x1100…1120 69 6e 65 20 6c 5f 6e 65 78 74 20 75 6e 2e 75 5f 6e 65 78 74 0a 0a 73 74 72 75 63 74 20 72 65 73   ┆ine l_next un.u_next  struct res┆
0x1120…1140 76 0a 7b 0a 09 63 68 61 72 09 2a 72 5f 6e 61 6d 65 3b 0a 09 69 6e 74 09 72 5f 76 61 6c 3b 0a 7d   ┆v {  char *r_name;  int r_val; }┆
0x1140…1160 3b 0a 0a 73 74 72 75 63 74 20 67 65 6e 72 65 0a 7b 0a 09 69 6e 74 09 67 5f 6f 72 64 6e 6f 3b 09   ┆;  struct genre {  int g_ordno; ┆
0x1160…1180 09 2f 2a 20 63 75 72 72 65 6e 74 20 69 6e 64 65 78 20 66 6f 72 20 74 61 62 6c 65 20 70 74 72 20   ┆ /* current index for table ptr ┆
0x1180…11a0 2a 2f 0a 09 69 6e 74 09 67 5f 6d 61 78 6f 72 64 3b 09 09 2f 2a 20 6c 69 6d 69 74 20 76 61 6c 75   ┆*/  int g_maxord;  /* limit valu┆
0x11a0…11c0 65 20 66 6f 72 20 67 5f 6f 72 64 6e 6f 20 2a 2f 0a 09 69 6e 74 09 67 5f 62 61 73 65 3b 09 09 09   ┆e for g_ordno */  int g_base;   ┆
0x11c0…11e0 2f 2a 20 22 62 61 73 65 22 20 76 61 6c 75 65 20 66 6f 72 20 73 5f 6e 6f 20 2a 2f 0a 09 73 74 72   ┆/* "base" value for s_no */  str┆
0x11e0…1200 75 63 74 20 73 79 6d 20 2a 2a 2a 67 5f 73 70 74 72 3b 09 2f 2a 20 70 6f 69 6e 74 65 72 20 74 6f   ┆uct sym ***g_sptr; /* pointer to┆
0x1200…1220 20 74 61 62 6c 65 20 66 6f 72 20 74 79 70 65 20 2d 20 4d 57 43 20 44 53 43 20 2a 2f 0a 09 63 68   ┆ table for type - MWC DSC */  ch┆
0x1220…1240 61 72 09 2a 67 5f 6e 61 6d 65 3b 0a 7d 3b 0a 0a 74 79 70 65 64 65 66 20 75 6e 69 6f 6e 0a 7b 0a   ┆ar *g_name; };  typedef union { ┆
0x1240…1260 09 73 74 72 75 63 74 09 73 79 6d 20 2a 73 70 74 72 3b 0a 09 69 6e 74 09 69 76 61 6c 3b 0a 7d 20   ┆ struct sym *sptr;  int ival; } ┆
0x1260…1280 59 59 53 54 59 50 45 3b 0a 0a 65 78 74 65 72 6e 20 73 74 72 75 63 74 20 73 79 6d 20 2a 2a 73 79   ┆YYSTYPE;  extern struct sym **sy┆
0x1280…12a0 6d 74 61 62 3b 09 2f 2a 20 67 6c 6f 62 61 6c 20 73 79 6d 62 6f 6c 20 74 61 62 6c 65 20 2a 2f 0a   ┆mtab; /* global symbol table */ ┆
0x12a0…12c0 65 78 74 65 72 6e 20 73 74 72 75 63 74 20 73 79 6d 20 2a 2a 6e 74 72 6d 70 74 72 3b 09 2f 2a 20   ┆extern struct sym **ntrmptr; /* ┆
0x12c0…12e0 6e 6f 6e 20 74 65 72 6d 69 6e 61 6c 20 70 6f 69 6e 74 65 72 73 20 69 6e 74 6f 20 73 79 6d 74 61   ┆non terminal pointers into symta┆
0x12e0…1300 62 20 2a 2f 0a 65 78 74 65 72 6e 20 73 74 72 75 63 74 20 73 79 6d 20 2a 2a 74 72 6d 70 74 72 3b   ┆b */ extern struct sym **trmptr;┆
0x1300…1320 09 2f 2a 20 22 20 74 65 72 6d 69 6e 61 6c 20 22 20 22 20 2a 2f 0a 65 78 74 65 72 6e 20 73 74 72   ┆ /* " terminal " " */ extern str┆
0x1320…1340 75 63 74 20 73 79 6d 20 2a 2a 74 79 70 65 70 74 72 3b 09 2f 2a 20 22 20 74 79 70 65 20 22 20 22   ┆uct sym **typeptr; /* " type " "┆
0x1340…1360 20 2a 2f 0a 65 78 74 65 72 6e 20 73 74 72 75 63 74 20 73 74 61 74 65 20 2a 73 74 61 74 65 73 3b   ┆ */ extern struct state *states;┆
0x1360…1380 0a 65 78 74 65 72 6e 20 73 74 72 75 63 74 20 73 69 74 65 6d 20 2a 2a 69 74 65 6d 73 3b 0a 65 78   ┆ extern struct sitem **items; ex┆
0x1380…13a0 74 65 72 6e 20 73 74 72 75 63 74 20 70 72 6f 64 20 2a 2a 70 72 64 70 74 72 3b 0a 65 78 74 65 72   ┆tern struct prod **prdptr; exter┆
0x13a0…13c0 6e 20 69 6e 74 20 79 79 6c 69 6e 65 3b 0a 65 78 74 65 72 6e 20 6e 65 72 72 6f 72 73 3b 0a 65 78   ┆n int yyline; extern nerrors; ex┆
0x13c0…13e0 74 65 72 6e 20 46 49 4c 45 20 2a 64 65 66 69 6e 2c 20 2a 74 61 62 6f 75 74 2c 20 2a 61 63 74 6f   ┆tern FILE *defin, *tabout, *acto┆
0x13e0…1400 75 74 2c 20 2a 6c 69 73 74 6f 75 74 2c 20 2a 6f 70 74 6f 75 74 2c 20 2a 66 68 64 72 3b 0a 65 78   ┆ut, *listout, *optout, *fhdr; ex┆
0x1400…1420 74 65 72 6e 20 69 6e 74 20 74 6e 6f 3b 0a 65 78 74 65 72 6e 20 63 68 61 72 20 2a 67 72 61 6d 79   ┆tern int tno; extern char *gramy┆
0x1420…1440 3b 09 2f 2a 20 69 6e 70 75 74 20 66 69 6c 65 20 6e 61 6d 65 20 2a 2f 0a 65 78 74 65 72 6e 20 63   ┆; /* input file name */ extern c┆
0x1440…1460 68 61 72 20 2a 79 74 61 62 63 3b 09 2f 2a 20 79 2e 74 61 62 2e 63 20 6f 75 74 70 75 74 20 66 69   ┆har *ytabc; /* y.tab.c output fi┆
0x1460…1480 6c 65 20 2a 2f 0a 65 78 74 65 72 6e 20 63 68 61 72 20 2a 79 6f 75 74 70 75 74 3b 09 2f 2a 20 6c   ┆le */ extern char *youtput; /* l┆
0x1480…14a0 69 73 74 69 6e 67 20 66 69 6c 65 20 2a 2f 0a 65 78 74 65 72 6e 20 63 68 61 72 20 2a 79 74 61 62   ┆isting file */ extern char *ytab┆
0x14a0…14c0 68 3b 09 2f 2a 20 68 65 61 64 65 72 20 66 69 6c 65 20 66 6f 72 20 74 6f 6b 65 6e 20 23 20 64 65   ┆h; /* header file for token # de┆
0x14c0…14e0 66 69 6e 65 72 73 20 2a 2f 0a 65 78 74 65 72 6e 20 63 68 61 72 20 61 63 74 74 6d 70 5b 5d 2c 20   ┆finers */ extern char acttmp[], ┆
0x14e0…1500 6f 70 74 74 6d 70 5b 5d 3b 0a 65 78 74 65 72 6e 20 63 68 61 72 20 2a 70 61 72 73 65 72 3b 0a 65   ┆opttmp[]; extern char *parser; e┆
0x1500…1520 78 74 65 72 6e 09 63 68 61 72 09 62 6f 75 6e 64 65 72 72 5b 5d 3b 0a 65 78 74 65 72 6e 20 73 74   ┆xtern char bounderr[]; extern st┆
0x1520…1540 72 75 63 74 20 73 69 74 65 6d 20 2a 6e 69 74 69 74 65 6d 3b 0a 65 78 74 65 72 6e 20 73 74 72 75   ┆ruct sitem *nititem; extern stru┆
0x1540…1560 63 74 20 70 72 6f 64 20 2a 6e 69 74 70 72 6f 64 3b 0a 65 78 74 65 72 6e 20 76 65 72 62 6f 73 65   ┆ct prod *nitprod; extern verbose┆
0x1560…1580 2c 20 79 79 64 65 62 75 67 3b 0a 65 78 74 65 72 6e 20 70 73 74 61 74 3b 0a 65 78 74 65 72 6e 20   ┆, yydebug; extern pstat; extern ┆
0x1580…15a0 69 6e 74 20 6e 73 74 61 74 65 73 3b 0a 65 78 74 65 72 6e 20 69 6e 74 20 6e 70 72 6f 64 3b 0a 65   ┆int nstates; extern int nprod; e┆
0x15a0…15c0 78 74 65 72 6e 20 69 6e 74 20 6d 61 78 73 74 61 74 65 73 3b 0a 65 78 74 65 72 6e 20 69 6e 74 20   ┆xtern int maxstates; extern int ┆
0x15c0…15e0 6d 61 78 70 72 6f 64 3b 0a 65 78 74 65 72 6e 20 69 6e 74 20 6e 72 72 63 6f 6e 66 2c 20 6e 73 72   ┆maxprod; extern int nrrconf, nsr┆
0x15e0…1600 63 6f 6e 66 3b 0a 65 78 74 65 72 6e 20 69 6e 74 20 6e 64 75 70 67 6f 73 2c 20 6e 64 75 70 61 63   ┆conf; extern int ndupgos, ndupac┆
0x1600…1620 74 73 3b 0a 65 78 74 65 72 6e 20 73 74 72 75 63 74 20 67 65 6e 72 65 20 67 74 61 62 5b 4d 41 58   ┆ts; extern struct genre gtab[MAX┆
0x1620…1640 54 5d 3b 0a 65 78 74 65 72 6e 20 69 6e 74 20 73 74 61 72 74 73 79 6d 3b 0a 65 78 74 65 72 6e 20   ┆T]; extern int startsym; extern ┆
0x1640…1660 69 6e 74 20 70 72 65 64 6c 65 76 3b 0a 65 78 74 65 72 6e 20 73 74 72 75 63 74 20 72 65 73 76 20   ┆int predlev; extern struct resv ┆
0x1660…1680 72 65 73 74 61 62 5b 5d 3b 0a 0a 63 68 61 72 20 09 2a 63 61 6c 6c 6f 63 28 29 3b 0a 63 68 61 72   ┆restab[];  char  *calloc(); char┆
0x1680…16a0 09 2a 79 61 6c 6c 6f 63 28 29 3b 0a 63 68 61 72 09 2a 70 74 6f 73 79 6d 28 29 3b 0a 63 68 61 72   ┆ *yalloc(); char *ptosym(); char┆
0x16a0…16c0 09 2a 70 72 73 79 6d 28 29 3b 0a 63 68 61 72 09 2a 6e 65 78 74 61 72 67 28 29 3b 0a 73 74 72 75   ┆ *prsym(); char *nextarg(); stru┆
0x16c0…16e0 63 74 09 6e 74 67 6f 09 2a 66 69 6e 64 6e 74 28 29 3b 0a 73 74 72 75 63 74 09 6c 73 65 74 09 2a   ┆ct ntgo *findnt(); struct lset *┆
0x16e0…16ea 67 65 74 73 65 74 28 29 3b 0a   ┆getset(); ┆