home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 22 gnu / 22-gnu.zip / BYACC.ZIP / DIFF < prev    next >
Text File  |  1992-06-10  |  61KB  |  3,632 lines

  1. *** 1.1    1992/06/10 21:55:08
  2. --- defs.h    1992/03/16 18:57:22
  3. ***************
  4. *** 24,30 ****
  5.   #define    MAXSHORT    32767
  6.   #define MINSHORT    -32768
  7.   #define MAXTABLE    32500
  8. ! #define BITS_PER_WORD    32
  9.   #define    WORDSIZE(n)    (((n)+(BITS_PER_WORD-1))/BITS_PER_WORD)
  10.   #define    ROWSIZE(n)    (sizeof(unsigned)*WORDSIZE(n))
  11.   #define    BIT(r, n)    ((((r)[(n) >> 5]) >> ((n) & 31)) & 1)
  12. --- 24,30 ----
  13.   #define    MAXSHORT    32767
  14.   #define MINSHORT    -32768
  15.   #define MAXTABLE    32500
  16. ! #define BITS_PER_WORD   16
  17.   #define    WORDSIZE(n)    (((n)+(BITS_PER_WORD-1))/BITS_PER_WORD)
  18.   #define    ROWSIZE(n)    (sizeof(unsigned)*WORDSIZE(n))
  19.   #define    BIT(r, n)    ((((r)[(n) >> 5]) >> ((n) & 31)) & 1)
  20. ***************
  21. *** 48,55 ****
  22.   
  23.   /* defines for constructing filenames */
  24.   
  25. ! #define    DEFINES_SUFFIX    ".tab.h"
  26. ! #define    OUTPUT_SUFFIX    ".tab.c"
  27.   #define    VERBOSE_SUFFIX    ".output"
  28.   
  29.   
  30. --- 48,55 ----
  31.   
  32.   /* defines for constructing filenames */
  33.   
  34. ! #define DEFINES_SUFFIX  "tab.h"
  35. ! #define OUTPUT_SUFFIX   "tab.c"
  36.   #define    VERBOSE_SUFFIX    ".output"
  37.   
  38.   
  39. ***************
  40. *** 273,285 ****
  41.   
  42.   /* system variables */
  43.   
  44. ! extern int errno;
  45.   
  46.   
  47.   /* system functions */
  48.   
  49.   extern void free();
  50. ! extern char *calloc();
  51. ! extern char *malloc();
  52. ! extern char *realloc();
  53. ! extern char *strcpy();
  54. --- 273,285 ----
  55.   
  56.   /* system variables */
  57.   
  58. ! /*extern int errno;*/
  59.   
  60.   
  61.   /* system functions */
  62.   
  63.   extern void free();
  64. ! /*extern char *calloc();*/
  65. ! /*extern char *malloc();*/
  66. ! /*extern char *realloc();*/
  67. ! /*extern char *strcpy();*/
  68. *** 1.1    1992/06/10 21:55:08
  69. --- symtab.h    1992/03/16 18:57:30
  70. ***************
  71. *** 1,37 ****
  72. ! #ifndef    SYMTAB
  73. ! #define    SYMTAB
  74. ! #define    UNKNOWN        0
  75. ! #define    TERMINAL    1
  76. ! #define    NONTERMINAL    2
  77. ! /* WARNING:  In addition to its internal use, UNDEFINED is also the default */
  78. ! /*         value of the error token.                        */
  79. ! #define UNDEFINED    (-1)
  80. ! typedef
  81. !   struct bucket
  82. !     {
  83. !       struct bucket *left;
  84. !       struct bucket *right;
  85. !       struct bucket *next;
  86. !       int length;
  87. !       char *key;
  88. !       char *tag;
  89. !       char *prname;
  90. !       short index;
  91. !       short value;
  92. !       short prec;
  93. !       char form;
  94. !       char class;
  95. !       char assoc;
  96. !       char used;
  97. !     }
  98. !   bucket;
  99. ! extern bucket *first_symbol;
  100. ! extern bucket *lookup();
  101. ! extern bucket *make_bucket();
  102. ! extern char *mk_prname();
  103. ! #endif
  104. --- 1,6 ----
  105. ! int  hash(char  *name);
  106. ! struct  bucket *make_bucket(char  *name);
  107. ! struct  bucket *lookup(char  *name);
  108. ! void  create_symbol_table(void);
  109. ! void  free_symbol_table(void);
  110. ! void  free_symbols(void);
  111. *** 1.1    1992/06/10 21:55:08
  112. --- symtab.c    1992/03/16 18:55:54
  113. ***************
  114. *** 1,6 ****
  115. ! #include "defs.h"
  116.   
  117.   /* TABLE_SIZE is the number of entries in the symbol table. */
  118.   /* TABLE_SIZE must be a power of two.                */
  119.   
  120. --- 1,7 ----
  121. ! #include <stdlib.h>
  122. ! #include <string.h>
  123. ! #include "byacc.h"
  124.   
  125.   /* TABLE_SIZE is the number of entries in the symbol table. */
  126.   /* TABLE_SIZE must be a power of two.                */
  127.   
  128. ***************
  129. *** 13,20 ****
  130.   
  131.   
  132.   int
  133. ! hash(name)
  134. ! char *name;
  135.   {
  136.       register char *s;
  137.       register int c, k;
  138. --- 14,20 ----
  139.   
  140.   
  141.   int
  142. ! hash(char *name)
  143.   {
  144.       register char *s;
  145.       register int c, k;
  146. ***************
  147. *** 30,37 ****
  148.   
  149.   
  150.   bucket *
  151. ! make_bucket(name)
  152. ! char *name;
  153.   {
  154.       register bucket *bp;
  155.   
  156. --- 30,36 ----
  157.   
  158.   
  159.   bucket *
  160. ! make_bucket(char *name)
  161.   {
  162.       register bucket *bp;
  163.   
  164. ***************
  165. *** 56,63 ****
  166.   
  167.   
  168.   bucket *
  169. ! lookup(name)
  170. ! char *name;
  171.   {
  172.       register bucket *bp, **bpp;
  173.   
  174. --- 55,61 ----
  175.   
  176.   
  177.   bucket *
  178. ! lookup(char *name)
  179.   {
  180.       register bucket *bp, **bpp;
  181.   
  182. ***************
  183. *** 78,85 ****
  184.       return (bp);
  185.   }
  186.   
  187. ! create_symbol_table()
  188.   {
  189.       register int i;
  190.       register bucket *bp;
  191. --- 76,83 ----
  192.       return (bp);
  193.   }
  194.   
  195. ! void
  196. ! create_symbol_table(void)
  197.   {
  198.       register int i;
  199.       register bucket *bp;
  200. ***************
  201. *** 97,111 ****
  202.       symbol_table[hash("error")] = bp;
  203.   }
  204.   
  205. ! free_symbol_table()
  206.   {
  207.       FREE(symbol_table);
  208.       symbol_table = 0;
  209.   }
  210.   
  211. ! free_symbols()
  212.   {
  213.       register bucket *p, *q;
  214.   
  215. --- 95,109 ----
  216.       symbol_table[hash("error")] = bp;
  217.   }
  218.   
  219. ! void
  220. ! free_symbol_table(void)
  221.   {
  222.       FREE(symbol_table);
  223.       symbol_table = 0;
  224.   }
  225.   
  226. ! void
  227. ! free_symbols(void)
  228.   {
  229.       register bucket *p, *q;
  230.   
  231. *** 1.1    1992/06/10 21:55:08
  232. --- warshall.c    1992/03/16 18:55:56
  233. ***************
  234. *** 1,8 ****
  235. ! #include "defs.h"
  236.   
  237. ! transitive_closure(R, n)
  238. ! unsigned *R;
  239. ! int n;
  240.   {
  241.     register int rowsize;
  242.     register unsigned mask;
  243. --- 1,8 ----
  244. ! #include <stdlib.h>
  245. ! #include "byacc.h"
  246.   
  247. ! void
  248. ! transitive_closure(unsigned *R, int n)
  249.   {
  250.     register int rowsize;
  251.     register unsigned mask;
  252. ***************
  253. *** 16,22 ****
  254.     unsigned *rowi;
  255.   
  256.     rowsize = ROWSIZE(n);
  257. !   relend = (unsigned *) ((unsigned) R + n*rowsize);
  258.   
  259.     cword = R;
  260.     mask = 1;
  261. --- 16,22 ----
  262.     unsigned *rowi;
  263.   
  264.     rowsize = ROWSIZE(n);
  265. !   relend = (unsigned *) ((char *) R + n*rowsize);
  266.   
  267.     cword = R;
  268.     mask = 1;
  269. ***************
  270. *** 31,37 ****
  271.         if (*ccol & mask)
  272.           {
  273.             rp = rowi;
  274. !           rend = (unsigned *) ((unsigned) rowj + rowsize);
  275.   
  276.             while (rowj < rend)
  277.           *rowj++ |= *rp++;
  278. --- 31,37 ----
  279.         if (*ccol & mask)
  280.           {
  281.             rp = rowi;
  282. !           rend = (unsigned *) ((char*) rowj + rowsize);
  283.   
  284.             while (rowj < rend)
  285.           *rowj++ |= *rp++;
  286. ***************
  287. *** 38,47 ****
  288.           }
  289.         else
  290.           {
  291. !           rowj = (unsigned *) ((unsigned) rowj + rowsize);
  292.           }
  293.   
  294. !       ccol = (unsigned *) ((unsigned) ccol + rowsize);
  295.       }
  296.   
  297.         mask <<= 1;
  298. --- 38,47 ----
  299.           }
  300.         else
  301.           {
  302. !           rowj = (unsigned *) ((char*) rowj + rowsize);
  303.           }
  304.   
  305. !       ccol = (unsigned *) ((char*) ccol + rowsize);
  306.       }
  307.   
  308.         mask <<= 1;
  309. ***************
  310. *** 51,63 ****
  311.         cword++;
  312.       }
  313.   
  314. !       rowi = (unsigned *) ((unsigned) rowi + rowsize);
  315.       }
  316.   }
  317.   
  318. ! reflexive_transitive_closure(R, n)
  319. ! unsigned *R;
  320. ! int n;
  321.   {
  322.     register int rowsize;
  323.     register unsigned mask;
  324. --- 51,62 ----
  325.         cword++;
  326.       }
  327.   
  328. !       rowi = (unsigned *) ((char*) rowi + rowsize);
  329.       }
  330.   }
  331.   
  332. ! void
  333. ! reflexive_transitive_closure(unsigned * R, int n)
  334.   {
  335.     register int rowsize;
  336.     register unsigned mask;
  337. ***************
  338. *** 67,73 ****
  339.     transitive_closure(R, n);
  340.   
  341.     rowsize = ROWSIZE(n);
  342. !   relend = (unsigned *) ((unsigned) R + n*rowsize);
  343.   
  344.     mask = 1;
  345.     rp = R;
  346. --- 66,72 ----
  347.     transitive_closure(R, n);
  348.   
  349.     rowsize = ROWSIZE(n);
  350. !   relend = (unsigned *) ((char*) R + n*rowsize);
  351.   
  352.     mask = 1;
  353.     rp = R;
  354. ***************
  355. *** 82,87 ****
  356.         rp++;
  357.       }
  358.   
  359. !       rp = (unsigned *) ((unsigned) rp + rowsize);
  360.       }
  361.   }
  362. --- 81,86 ----
  363.         rp++;
  364.       }
  365.   
  366. !       rp = (unsigned *) ((char*) rp + rowsize);
  367.       }
  368.   }
  369. *** 1.1    1992/06/10 21:55:08
  370. --- closure.c    1992/03/16 18:55:58
  371. ***************
  372. *** 1,4 ****
  373. ! #include "defs.h"
  374.   
  375.   short *itemset;
  376.   short *itemsetend;
  377. --- 1,5 ----
  378. ! #include <stdlib.h>
  379. ! #include "byacc.h"
  380.   
  381.   short *itemset;
  382.   short *itemsetend;
  383. ***************
  384. *** 8,14 ****
  385.   static unsigned *EFF;
  386.   
  387.   
  388. ! set_EFF()
  389.   {
  390.       register unsigned *row;
  391.       register int symbol;
  392. --- 9,15 ----
  393.   static unsigned *EFF;
  394.   
  395.   
  396. ! void set_EFF(void)
  397.   {
  398.       register unsigned *row;
  399.       register int symbol;
  400. ***************
  401. *** 44,50 ****
  402.   }
  403.   
  404.   
  405. ! set_first_derives()
  406.   {
  407.     register unsigned *rrow;
  408.     register unsigned *vrow;
  409. --- 45,51 ----
  410.   }
  411.   
  412.   
  413. ! void set_first_derives(void)
  414.   {
  415.     register unsigned *rrow;
  416.     register unsigned *vrow;
  417. ***************
  418. *** 101,109 ****
  419.   }
  420.   
  421.   
  422. ! closure(core, n)
  423. ! short *core;
  424. ! int n;
  425.   {
  426.       register int ruleno;
  427.       register unsigned word;
  428. --- 102,108 ----
  429.   }
  430.   
  431.   
  432. ! void closure(short *core, int n)
  433.   {
  434.       register int ruleno;
  435.       register unsigned word;
  436. ***************
  437. *** 176,182 ****
  438.   
  439.   
  440.   
  441. ! finalize_closure()
  442.   {
  443.     FREE(itemset);
  444.     FREE(ruleset);
  445. --- 175,181 ----
  446.   
  447.   
  448.   
  449. ! void finalize_closure(void)
  450.   {
  451.     FREE(itemset);
  452.     FREE(ruleset);
  453. ***************
  454. *** 185,193 ****
  455.   
  456.   
  457.   #ifdef    DEBUG
  458. ! print_closure(n)
  459. ! int n;
  460.   {
  461.     register short *isp;
  462.   
  463. --- 184,191 ----
  464.   
  465.   
  466.   #ifdef    DEBUG
  467. ! void
  468. ! print_closure(int n)
  469.   {
  470.     register short *isp;
  471.   
  472. ***************
  473. *** 196,203 ****
  474.       printf("   %d\n", *isp);
  475.   }
  476.   
  477. ! print_EFF()
  478.   {
  479.       register int i, j, k;
  480.       register unsigned *rowp;
  481. --- 194,201 ----
  482.       printf("   %d\n", *isp);
  483.   }
  484.   
  485. ! void
  486. ! print_EFF(void)
  487.   {
  488.       register int i, j, k;
  489.       register unsigned *rowp;
  490. ***************
  491. *** 228,235 ****
  492.       }
  493.   }
  494.   
  495. ! print_first_derives()
  496.   {
  497.     register int i;
  498.     register int j;
  499. --- 226,233 ----
  500.       }
  501.   }
  502.   
  503. ! void
  504. ! print_first_derives(void)
  505.   {
  506.     register int i;
  507.     register int j;
  508. *** 1.1    1992/06/10 21:55:08
  509. --- skeleton.c    1992/03/16 18:56:00
  510. ***************
  511. *** 1,4 ****
  512. ! #include "defs.h"
  513.   
  514.   /*  The three line banner used here should be replaced with a one line    */
  515.   /*  #ident directive if the target C compiler supports #ident        */
  516. --- 1,5 ----
  517. ! #include <stdlib.h>
  518. ! #include "byacc.h"
  519.   
  520.   /*  The three line banner used here should be replaced with a one line    */
  521.   /*  #ident directive if the target C compiler supports #ident        */
  522. ***************
  523. *** 252,260 ****
  524.       0
  525.   };
  526.   
  527. ! write_section(section)
  528. ! char *section[];
  529.   {
  530.       register int i;
  531.   
  532. --- 253,260 ----
  533.       0
  534.   };
  535.   
  536. ! void
  537. ! write_section(char **section)
  538.   {
  539.       register int i;
  540.   
  541. *** 1.1    1992/06/10 21:55:08
  542. --- lalr.c    1992/03/16 18:56:02
  543. ***************
  544. *** 1,4 ****
  545. ! #include "defs.h"
  546.   
  547.   typedef
  548.     struct shorts
  549. --- 1,5 ----
  550. ! #include <stdlib.h>
  551. ! #include "byacc.h"
  552.   
  553.   typedef
  554.     struct shorts
  555. ***************
  556. *** 34,40 ****
  557.   static int top;
  558.   
  559.   
  560. ! lalr()
  561.   {
  562.       tokensetsize = WORDSIZE(ntokens);
  563.   
  564. --- 35,41 ----
  565.   static int top;
  566.   
  567.   
  568. ! void lalr(void)
  569.   {
  570.       tokensetsize = WORDSIZE(ntokens);
  571.   
  572. ***************
  573. *** 53,59 ****
  574.   
  575.   
  576.   
  577. ! set_state_table()
  578.   {
  579.       register core *sp;
  580.   
  581. --- 54,60 ----
  582.   
  583.   
  584.   
  585. ! void set_state_table(void)
  586.   {
  587.       register core *sp;
  588.   
  589. ***************
  590. *** 64,70 ****
  591.   
  592.   
  593.   
  594. ! set_accessing_symbol()
  595.   {
  596.       register core *sp;
  597.   
  598. --- 65,71 ----
  599.   
  600.   
  601.   
  602. ! void set_accessing_symbol(void)
  603.   {
  604.       register core *sp;
  605.   
  606. ***************
  607. *** 75,81 ****
  608.   
  609.   
  610.   
  611. ! set_shift_table()
  612.   {
  613.       register shifts *sp;
  614.   
  615. --- 76,82 ----
  616.   
  617.   
  618.   
  619. ! void set_shift_table(void)
  620.   {
  621.       register shifts *sp;
  622.   
  623. ***************
  624. *** 86,92 ****
  625.   
  626.   
  627.   
  628. ! set_reduction_table()
  629.   {
  630.       register reductions *rp;
  631.   
  632. --- 87,93 ----
  633.   
  634.   
  635.   
  636. ! void set_reduction_table(void)
  637.   {
  638.       register reductions *rp;
  639.   
  640. ***************
  641. *** 97,103 ****
  642.   
  643.   
  644.   
  645. ! set_maxrhs()
  646.   {
  647.     register short *itemp;
  648.     register short *item_end;
  649. --- 98,104 ----
  650.   
  651.   
  652.   
  653. ! void set_maxrhs(void)
  654.   {
  655.     register short *itemp;
  656.     register short *item_end;
  657. ***************
  658. *** 125,131 ****
  659.   
  660.   
  661.   
  662. ! initialize_LA()
  663.   {
  664.     register int i, j, k;
  665.     register reductions *rp;
  666. --- 126,132 ----
  667.   
  668.   
  669.   
  670. ! void initialize_LA(void)
  671.   {
  672.     register int i, j, k;
  673.     register reductions *rp;
  674. ***************
  675. *** 162,168 ****
  676.   }
  677.   
  678.   
  679. ! set_goto_map()
  680.   {
  681.     register shifts *sp;
  682.     register int i;
  683. --- 163,169 ----
  684.   }
  685.   
  686.   
  687. ! void set_goto_map(void)
  688.   {
  689.     register shifts *sp;
  690.     register int i;
  691. ***************
  692. *** 232,240 ****
  693.   /*  Map_goto maps a state/symbol pair into its numeric representation.    */
  694.   
  695.   int
  696. ! map_goto(state, symbol)
  697. ! int state;
  698. ! int symbol;
  699.   {
  700.       register int high;
  701.       register int low;
  702. --- 233,239 ----
  703.   /*  Map_goto maps a state/symbol pair into its numeric representation.    */
  704.   
  705.   int
  706. ! map_goto(int state, int symbol)
  707.   {
  708.       register int high;
  709.       register int low;
  710. ***************
  711. *** 260,266 ****
  712.   
  713.   
  714.   
  715. ! initialize_F()
  716.   {
  717.     register int i;
  718.     register int j;
  719. --- 259,265 ----
  720.   
  721.   
  722.   
  723. ! void initialize_F(void)
  724.   {
  725.     register int i;
  726.     register int j;
  727. ***************
  728. *** 337,343 ****
  729.   
  730.   
  731.   
  732. ! build_relations()
  733.   {
  734.     register int i;
  735.     register int j;
  736. --- 336,342 ----
  737.   
  738.   
  739.   
  740. ! void build_relations(void)
  741.   {
  742.     register int i;
  743.     register int j;
  744. ***************
  745. *** 428,435 ****
  746.   }
  747.   
  748.   
  749. ! add_lookback_edge(stateno, ruleno, gotono)
  750. ! int stateno, ruleno, gotono;
  751.   {
  752.       register int i, k;
  753.       register int found;
  754. --- 427,433 ----
  755.   }
  756.   
  757.   
  758. ! void add_lookback_edge(int stateno, int ruleno, int gotono)
  759.   {
  760.       register int i, k;
  761.       register int found;
  762. ***************
  763. *** 456,464 ****
  764.   
  765.   
  766.   short **
  767. ! transpose(R, n)
  768. ! short **R;
  769. ! int n;
  770.   {
  771.     register short **new_R;
  772.     register short **temp_R;
  773. --- 454,460 ----
  774.   
  775.   
  776.   short **
  777. ! transpose( short**R, int n)
  778.   {
  779.     register short **new_R;
  780.     register short **temp_R;
  781. ***************
  782. *** 513,525 ****
  783.   
  784.   
  785.   
  786. ! compute_FOLLOWS()
  787.   {
  788.     digraph(includes);
  789.   }
  790.   
  791.   
  792. ! compute_lookaheads()
  793.   {
  794.     register int i, n;
  795.     register unsigned *fp1, *fp2, *fp3;
  796. --- 509,521 ----
  797.   
  798.   
  799.   
  800. ! void compute_FOLLOWS(void )
  801.   {
  802.     digraph(includes);
  803.   }
  804.   
  805.   
  806. ! void compute_lookaheads(void)
  807.   {
  808.     register int i, n;
  809.     register unsigned *fp1, *fp2, *fp3;
  810. ***************
  811. *** 550,557 ****
  812.   }
  813.   
  814.   
  815. ! digraph(relation)
  816. ! short **relation;
  817.   {
  818.     register int i;
  819.   
  820. --- 546,552 ----
  821.   }
  822.   
  823.   
  824. ! void digraph(short ** relation)
  825.   {
  826.     register int i;
  827.   
  828. ***************
  829. *** 577,584 ****
  830.   
  831.   
  832.   
  833. ! traverse(i)
  834. ! register int i;
  835.   {
  836.     register unsigned *fp1;
  837.     register unsigned *fp2;
  838. --- 572,578 ----
  839.   
  840.   
  841.   
  842. ! void traverse(register int i)
  843.   {
  844.     register unsigned *fp1;
  845.     register unsigned *fp2;
  846. *** 1.1    1992/06/10 21:55:08
  847. --- error.c    1992/03/18 21:13:52
  848. ***************
  849. *** 1,10 ****
  850.   /* routines for printing error messages  */
  851.   
  852. ! #include "defs.h"
  853.   
  854. ! fatal(msg)
  855. ! char *msg;
  856.   {
  857.       fprintf(stderr, "%s: f - %s\n", myname, msg);
  858.       done(2);
  859. --- 1,9 ----
  860.   /* routines for printing error messages  */
  861. + #include <stdlib.h>
  862.   
  863. ! #include "byacc.h"
  864.   
  865. ! void fatal(char *msg)
  866.   {
  867.       fprintf(stderr, "%s: f - %s\n", myname, msg);
  868.       done(2);
  869. ***************
  870. *** 11,26 ****
  871.   }
  872.   
  873.   
  874. ! no_space()
  875.   {
  876. -     abort();
  877.       fprintf(stderr, "%s: f - out of space\n", myname);
  878.       done(2);
  879.   }
  880.   
  881.   
  882. ! open_error(filename)
  883. ! char *filename;
  884.   {
  885.       fprintf(stderr, "%s: f - cannot open \"%s\"\n", myname, filename);
  886.       done(2);
  887. --- 10,24 ----
  888.   }
  889.   
  890.   
  891. ! void no_space(void)
  892.   {
  893.       fprintf(stderr, "%s: f - out of space\n", myname);
  894. +     abort();
  895.       done(2);
  896.   }
  897.   
  898.   
  899. ! void open_error(char *filename)
  900.   {
  901.       fprintf(stderr, "%s: f - cannot open \"%s\"\n", myname, filename);
  902.       done(2);
  903. ***************
  904. *** 27,33 ****
  905.   }
  906.   
  907.   
  908. ! unexpected_EOF()
  909.   {
  910.       fprintf(stderr, "%s: e - line %d of \"%s\", unexpected end-of-file\n",
  911.           myname, lineno, input_file_name);
  912. --- 25,31 ----
  913.   }
  914.   
  915.   
  916. ! void unexpected_EOF(void)
  917.   {
  918.       fprintf(stderr, "%s: e - line %d of \"%s\", unexpected end-of-file\n",
  919.           myname, lineno, input_file_name);
  920. ***************
  921. *** 35,43 ****
  922.   }
  923.   
  924.   
  925. ! print_pos(st_line, st_cptr)
  926. ! char *st_line;
  927. ! char *st_cptr;
  928.   {
  929.       register char *s;
  930.   
  931. --- 33,39 ----
  932.   }
  933.   
  934.   
  935. ! void print_pos(char *st_line, char *st_cptr)
  936.   {
  937.       register char *s;
  938.   
  939. ***************
  940. *** 62,71 ****
  941.   }
  942.   
  943.   
  944. ! syntax_error(st_lineno, st_line, st_cptr)
  945. ! int st_lineno;
  946. ! char *st_line;
  947. ! char *st_cptr;
  948.   {
  949.       fprintf(stderr, "%s: e - line %d of \"%s\", syntax error\n",
  950.           myname, st_lineno, input_file_name);
  951. --- 58,64 ----
  952.   }
  953.   
  954.   
  955. ! void syntax_error(int st_lineno, char *st_line, char *st_cptr)
  956.   {
  957.       fprintf(stderr, "%s: e - line %d of \"%s\", syntax error\n",
  958.           myname, st_lineno, input_file_name);
  959. ***************
  960. *** 74,83 ****
  961.   }
  962.   
  963.   
  964. ! unterminated_comment(c_lineno, c_line, c_cptr)
  965. ! int c_lineno;
  966. ! char *c_line;
  967. ! char *c_cptr;
  968.   {
  969.       fprintf(stderr, "%s: e - line %d of \"%s\", unmatched /*\n",
  970.           myname, c_lineno, input_file_name);
  971. --- 67,73 ----
  972.   }
  973.   
  974.   
  975. ! void unterminated_comment(int c_lineno, char * c_line, char * c_cptr)
  976.   {
  977.       fprintf(stderr, "%s: e - line %d of \"%s\", unmatched /*\n",
  978.           myname, c_lineno, input_file_name);
  979. ***************
  980. *** 86,95 ****
  981.   }
  982.   
  983.   
  984. ! unterminated_string(s_lineno, s_line, s_cptr)
  985. ! int s_lineno;
  986. ! char *s_line;
  987. ! char *s_cptr;
  988.   {
  989.       fprintf(stderr, "%s: e - line %d of \"%s\", unterminated string\n",
  990.           myname, s_lineno, input_file_name);
  991. --- 76,82 ----
  992.   }
  993.   
  994.   
  995. ! void unterminated_string(int s_lineno, char * s_line, char * s_cptr)
  996.   {
  997.       fprintf(stderr, "%s: e - line %d of \"%s\", unterminated string\n",
  998.           myname, s_lineno, input_file_name);
  999. ***************
  1000. *** 98,107 ****
  1001.   }
  1002.   
  1003.   
  1004. ! unterminated_text(t_lineno, t_line, t_cptr)
  1005. ! int t_lineno;
  1006. ! char *t_line;
  1007. ! char *t_cptr;
  1008.   {
  1009.       fprintf(stderr, "%s: e - line %d of \"%s\", unmatched %%{\n",
  1010.           myname, t_lineno, input_file_name);
  1011. --- 85,91 ----
  1012.   }
  1013.   
  1014.   
  1015. ! void unterminated_text(int t_lineno, char * t_line, char * t_cptr)
  1016.   {
  1017.       fprintf(stderr, "%s: e - line %d of \"%s\", unmatched %%{\n",
  1018.           myname, t_lineno, input_file_name);
  1019. ***************
  1020. *** 110,119 ****
  1021.   }
  1022.   
  1023.   
  1024. ! unterminated_union(u_lineno, u_line, u_cptr)
  1025. ! int u_lineno;
  1026. ! char *u_line;
  1027. ! char *u_cptr;
  1028.   {
  1029.       fprintf(stderr, "%s: e - line %d of \"%s\", unterminated %%union \
  1030.   declaration\n", myname, u_lineno, input_file_name);
  1031. --- 94,100 ----
  1032.   }
  1033.   
  1034.   
  1035. ! void unterminated_union(int u_lineno, char * u_line, char * u_cptr)
  1036.   {
  1037.       fprintf(stderr, "%s: e - line %d of \"%s\", unterminated %%union \
  1038.   declaration\n", myname, u_lineno, input_file_name);
  1039. ***************
  1040. *** 122,129 ****
  1041.   }
  1042.   
  1043.   
  1044. ! over_unionized(u_cptr)
  1045. ! char *u_cptr;
  1046.   {
  1047.       fprintf(stderr, "%s: e - line %d of \"%s\", too many %%union \
  1048.   declarations\n", myname, lineno, input_file_name);
  1049. --- 103,109 ----
  1050.   }
  1051.   
  1052.   
  1053. ! void over_unionized(char * u_cptr)
  1054.   {
  1055.       fprintf(stderr, "%s: e - line %d of \"%s\", too many %%union \
  1056.   declarations\n", myname, lineno, input_file_name);
  1057. ***************
  1058. *** 132,141 ****
  1059.   }
  1060.   
  1061.   
  1062. ! illegal_tag(t_lineno, t_line, t_cptr)
  1063. ! int t_lineno;
  1064. ! char *t_line;
  1065. ! char *t_cptr;
  1066.   {
  1067.       fprintf(stderr, "%s: e - line %d of \"%s\", illegal tag\n",
  1068.           myname, t_lineno, input_file_name);
  1069. --- 112,118 ----
  1070.   }
  1071.   
  1072.   
  1073. ! void illegal_tag(int t_lineno, char * t_line, char * t_cptr)
  1074.   {
  1075.       fprintf(stderr, "%s: e - line %d of \"%s\", illegal tag\n",
  1076.           myname, t_lineno, input_file_name);
  1077. ***************
  1078. *** 144,151 ****
  1079.   }
  1080.   
  1081.   
  1082. ! illegal_character(c_cptr)
  1083. ! char *c_cptr;
  1084.   {
  1085.       fprintf(stderr, "%s: e - line %d of \"%s\", illegal character\n",
  1086.           myname, lineno, input_file_name);
  1087. --- 121,127 ----
  1088.   }
  1089.   
  1090.   
  1091. ! void illegal_character(char * c_cptr)
  1092.   {
  1093.       fprintf(stderr, "%s: e - line %d of \"%s\", illegal character\n",
  1094.           myname, lineno, input_file_name);
  1095. ***************
  1096. *** 154,161 ****
  1097.   }
  1098.   
  1099.   
  1100. ! used_reserved(s)
  1101. ! char *s;
  1102.   {
  1103.       fprintf(stderr, "%s: e - line %d of \"%s\", illegal use of reserved symbol \
  1104.   %s\n", myname, lineno, input_file_name, s);
  1105. --- 130,136 ----
  1106.   }
  1107.   
  1108.   
  1109. ! void used_reserved(char * s)
  1110.   {
  1111.       fprintf(stderr, "%s: e - line %d of \"%s\", illegal use of reserved symbol \
  1112.   %s\n", myname, lineno, input_file_name, s);
  1113. ***************
  1114. *** 163,170 ****
  1115.   }
  1116.   
  1117.   
  1118. ! tokenized_start(s)
  1119. ! char *s;
  1120.   {
  1121.        fprintf(stderr, "%s: e - line %d of \"%s\", the start symbol %s cannot be \
  1122.   declared to be a token\n", myname, lineno, input_file_name, s);
  1123. --- 138,144 ----
  1124.   }
  1125.   
  1126.   
  1127. ! void tokenized_start(char * s)
  1128.   {
  1129.        fprintf(stderr, "%s: e - line %d of \"%s\", the start symbol %s cannot be \
  1130.   declared to be a token\n", myname, lineno, input_file_name, s);
  1131. ***************
  1132. *** 172,179 ****
  1133.   }
  1134.   
  1135.   
  1136. ! retyped_warning(s)
  1137. ! char *s;
  1138.   {
  1139.       fprintf(stderr, "%s: w - line %d of \"%s\", the type of %s has been \
  1140.   redeclared\n", myname, lineno, input_file_name, s);
  1141. --- 146,152 ----
  1142.   }
  1143.   
  1144.   
  1145. ! void retyped_warning(char * s)
  1146.   {
  1147.       fprintf(stderr, "%s: w - line %d of \"%s\", the type of %s has been \
  1148.   redeclared\n", myname, lineno, input_file_name, s);
  1149. ***************
  1150. *** 180,187 ****
  1151.   }
  1152.   
  1153.   
  1154. ! reprec_warning(s)
  1155. ! char *s;
  1156.   {
  1157.       fprintf(stderr, "%s: w - line %d of \"%s\", the precedence of %s has been \
  1158.   redeclared\n", myname, lineno, input_file_name, s);
  1159. --- 153,159 ----
  1160.   }
  1161.   
  1162.   
  1163. ! void reprec_warning(char * s)
  1164.   {
  1165.       fprintf(stderr, "%s: w - line %d of \"%s\", the precedence of %s has been \
  1166.   redeclared\n", myname, lineno, input_file_name, s);
  1167. ***************
  1168. *** 188,195 ****
  1169.   }
  1170.   
  1171.   
  1172. ! revalued_warning(s)
  1173. ! char *s;
  1174.   {
  1175.       fprintf(stderr, "%s: w - line %d of \"%s\", the value of %s has been \
  1176.   redeclared\n", myname, lineno, input_file_name, s);
  1177. --- 160,166 ----
  1178.   }
  1179.   
  1180.   
  1181. ! void revalued_warning(char *s)
  1182.   {
  1183.       fprintf(stderr, "%s: w - line %d of \"%s\", the value of %s has been \
  1184.   redeclared\n", myname, lineno, input_file_name, s);
  1185. ***************
  1186. *** 196,203 ****
  1187.   }
  1188.   
  1189.   
  1190. ! terminal_start(s)
  1191. ! char *s;
  1192.   {
  1193.       fprintf(stderr, "%s: e - line %d of \"%s\", the start symbol %s is a \
  1194.   token\n", myname, lineno, input_file_name, s);
  1195. --- 167,173 ----
  1196.   }
  1197.   
  1198.   
  1199. ! void terminal_start(char *s)
  1200.   {
  1201.       fprintf(stderr, "%s: e - line %d of \"%s\", the start symbol %s is a \
  1202.   token\n", myname, lineno, input_file_name, s);
  1203. ***************
  1204. *** 205,211 ****
  1205.   }
  1206.   
  1207.   
  1208. ! restarted_warning()
  1209.   {
  1210.       fprintf(stderr, "%s: w - line %d of \"%s\", the start symbol has been \
  1211.   redeclared\n", myname, lineno, input_file_name);
  1212. --- 175,181 ----
  1213.   }
  1214.   
  1215.   
  1216. ! void restarted_warning(void)
  1217.   {
  1218.       fprintf(stderr, "%s: w - line %d of \"%s\", the start symbol has been \
  1219.   redeclared\n", myname, lineno, input_file_name);
  1220. ***************
  1221. *** 212,218 ****
  1222.   }
  1223.   
  1224.   
  1225. ! no_grammar()
  1226.   {
  1227.       fprintf(stderr, "%s: e - line %d of \"%s\", no grammar has been \
  1228.   specified\n", myname, lineno, input_file_name);
  1229. --- 182,188 ----
  1230.   }
  1231.   
  1232.   
  1233. ! void no_grammar(void)
  1234.   {
  1235.       fprintf(stderr, "%s: e - line %d of \"%s\", no grammar has been \
  1236.   specified\n", myname, lineno, input_file_name);
  1237. ***************
  1238. *** 220,227 ****
  1239.   }
  1240.   
  1241.   
  1242. ! terminal_lhs(s_lineno)
  1243. ! int s_lineno;
  1244.   {
  1245.       fprintf(stderr, "%s: e - line %d of \"%s\", a token appears on the lhs \
  1246.   of a production\n", myname, s_lineno, input_file_name);
  1247. --- 190,196 ----
  1248.   }
  1249.   
  1250.   
  1251. ! void terminal_lhs(int s_lineno)
  1252.   {
  1253.       fprintf(stderr, "%s: e - line %d of \"%s\", a token appears on the lhs \
  1254.   of a production\n", myname, s_lineno, input_file_name);
  1255. ***************
  1256. *** 229,235 ****
  1257.   }
  1258.   
  1259.   
  1260. ! prec_redeclared()
  1261.   {
  1262.       fprintf(stderr, "%s: w - line %d of  \"%s\", conflicting %%prec \
  1263.   specifiers\n", myname, lineno, input_file_name);
  1264. --- 198,204 ----
  1265.   }
  1266.   
  1267.   
  1268. ! void prec_redeclared(void )
  1269.   {
  1270.       fprintf(stderr, "%s: w - line %d of  \"%s\", conflicting %%prec \
  1271.   specifiers\n", myname, lineno, input_file_name);
  1272. ***************
  1273. *** 236,245 ****
  1274.   }
  1275.   
  1276.   
  1277. ! unterminated_action(a_lineno, a_line, a_cptr)
  1278. ! int a_lineno;
  1279. ! char *a_line;
  1280. ! char *a_cptr;
  1281.   {
  1282.       fprintf(stderr, "%s: e - line %d of \"%s\", unterminated action\n",
  1283.           myname, a_lineno, input_file_name);
  1284. --- 205,211 ----
  1285.   }
  1286.   
  1287.   
  1288. ! void unterminated_action(int a_lineno, char * a_line, char * a_cptr)
  1289.   {
  1290.       fprintf(stderr, "%s: e - line %d of \"%s\", unterminated action\n",
  1291.           myname, a_lineno, input_file_name);
  1292. ***************
  1293. *** 248,256 ****
  1294.   }
  1295.   
  1296.   
  1297. ! dollar_warning(a_lineno, i)
  1298. ! int a_lineno;
  1299. ! int i;
  1300.   {
  1301.       fprintf(stderr, "%s: w - line %d of \"%s\", $%d references beyond the \
  1302.   end of the current rule\n", myname, a_lineno, input_file_name, i);
  1303. --- 214,220 ----
  1304.   }
  1305.   
  1306.   
  1307. ! void dollar_warning(int a_lineno, int i)
  1308.   {
  1309.       fprintf(stderr, "%s: w - line %d of \"%s\", $%d references beyond the \
  1310.   end of the current rule\n", myname, a_lineno, input_file_name, i);
  1311. ***************
  1312. *** 257,266 ****
  1313.   }
  1314.   
  1315.   
  1316. ! dollar_error(a_lineno, a_line, a_cptr)
  1317. ! int a_lineno;
  1318. ! char *a_line;
  1319. ! char *a_cptr;
  1320.   {
  1321.       fprintf(stderr, "%s: e - line %d of \"%s\", illegal $-name\n",
  1322.           myname, a_lineno, input_file_name);
  1323. --- 221,227 ----
  1324.   }
  1325.   
  1326.   
  1327. ! void dollar_error(int a_lineno, char * a_line, char * a_cptr)
  1328.   {
  1329.       fprintf(stderr, "%s: e - line %d of \"%s\", illegal $-name\n",
  1330.           myname, a_lineno, input_file_name);
  1331. ***************
  1332. *** 269,275 ****
  1333.   }
  1334.   
  1335.   
  1336. ! untyped_lhs()
  1337.   {
  1338.       fprintf(stderr, "%s: e - line %d of \"%s\", $$ is untyped\n",
  1339.           myname, lineno, input_file_name);
  1340. --- 230,236 ----
  1341.   }
  1342.   
  1343.   
  1344. ! void untyped_lhs(void)
  1345.   {
  1346.       fprintf(stderr, "%s: e - line %d of \"%s\", $$ is untyped\n",
  1347.           myname, lineno, input_file_name);
  1348. ***************
  1349. *** 277,285 ****
  1350.   }
  1351.   
  1352.   
  1353. ! untyped_rhs(i, s)
  1354. ! int i;
  1355. ! char *s;
  1356.   {
  1357.       fprintf(stderr, "%s: e - line %d of \"%s\", $%d (%s) is untyped\n",
  1358.           myname, lineno, input_file_name, i, s);
  1359. --- 238,244 ----
  1360.   }
  1361.   
  1362.   
  1363. ! void untyped_rhs(int i, char *s)
  1364.   {
  1365.       fprintf(stderr, "%s: e - line %d of \"%s\", $%d (%s) is untyped\n",
  1366.           myname, lineno, input_file_name, i, s);
  1367. ***************
  1368. *** 287,294 ****
  1369.   }
  1370.   
  1371.   
  1372. ! unknown_rhs(i)
  1373. ! int i;
  1374.   {
  1375.       fprintf(stderr, "%s: e - line %d of \"%s\", $%d is untyped\n",
  1376.           myname, lineno, input_file_name, i);
  1377. --- 246,252 ----
  1378.   }
  1379.   
  1380.   
  1381. ! void unknown_rhs(int i)
  1382.   {
  1383.       fprintf(stderr, "%s: e - line %d of \"%s\", $%d is untyped\n",
  1384.           myname, lineno, input_file_name, i);
  1385. ***************
  1386. *** 296,302 ****
  1387.   }
  1388.   
  1389.   
  1390. ! default_action_warning()
  1391.   {
  1392.       fprintf(stderr, "%s: w - line %d of \"%s\", the default action assigns an \
  1393.   undefined value to $$\n", myname, lineno, input_file_name);
  1394. --- 254,260 ----
  1395.   }
  1396.   
  1397.   
  1398. ! void default_action_warning(void)
  1399.   {
  1400.       fprintf(stderr, "%s: w - line %d of \"%s\", the default action assigns an \
  1401.   undefined value to $$\n", myname, lineno, input_file_name);
  1402. ***************
  1403. *** 303,310 ****
  1404.   }
  1405.   
  1406.   
  1407. ! undefined_goal(s)
  1408. ! char *s;
  1409.   {
  1410.       fprintf(stderr, "%s: e - the start symbol %s is undefined\n", myname, s);
  1411.       done(1);
  1412. --- 261,267 ----
  1413.   }
  1414.   
  1415.   
  1416. ! void undefined_goal(char *s)
  1417.   {
  1418.       fprintf(stderr, "%s: e - the start symbol %s is undefined\n", myname, s);
  1419.       done(1);
  1420. ***************
  1421. *** 311,318 ****
  1422.   }
  1423.   
  1424.   
  1425. ! undefined_symbol_warning(s)
  1426. ! char *s;
  1427.   {
  1428.       fprintf(stderr, "%s: w - the symbol %s is undefined\n", myname, s);
  1429.   }
  1430. --- 268,274 ----
  1431.   }
  1432.   
  1433.   
  1434. ! void undefined_symbol_warning(char * s)
  1435.   {
  1436.       fprintf(stderr, "%s: w - the symbol %s is undefined\n", myname, s);
  1437.   }
  1438. *** 1.1    1992/06/10 21:55:08
  1439. --- main.c    1992/03/16 18:56:12
  1440. ***************
  1441. *** 1,5 ****
  1442.   #include <signal.h>
  1443. ! #include "defs.h"
  1444.   
  1445.   char dflag;
  1446.   char lflag;
  1447. --- 1,8 ----
  1448.   #include <signal.h>
  1449. ! #include <stdlib.h>
  1450. ! #include <string.h>
  1451. ! #include <io.h>
  1452. ! #include "byacc.h"
  1453.   
  1454.   char dflag;
  1455.   char lflag;
  1456. ***************
  1457. *** 8,14 ****
  1458.   
  1459.   char *prefix = "y";
  1460.   char *myname = "yacc";
  1461. ! char *temp_form = "yacc.XXXXXXX";
  1462.   
  1463.   int lineno;
  1464.   int outline;
  1465. --- 11,17 ----
  1466.   
  1467.   char *prefix = "y";
  1468.   char *myname = "yacc";
  1469. ! char *temp_form = "ycXXXXXX";
  1470.   
  1471.   int lineno;
  1472.   int outline;
  1473. ***************
  1474. *** 57,64 ****
  1475.   extern char *getenv();
  1476.   
  1477.   
  1478. ! done(k)
  1479. ! int k;
  1480.   {
  1481.       if (action_file) unlink(action_file_name);
  1482.       if (text_file) unlink(text_file_name);
  1483. --- 60,66 ----
  1484.   extern char *getenv();
  1485.   
  1486.   
  1487. ! void done(int k)
  1488.   {
  1489.       if (action_file) unlink(action_file_name);
  1490.       if (text_file) unlink(text_file_name);
  1491. ***************
  1492. *** 67,79 ****
  1493.   }
  1494.   
  1495.   
  1496. ! onintr()
  1497.   {
  1498.       done(1);
  1499.   }
  1500.   
  1501.   
  1502. ! set_signals()
  1503.   {
  1504.       if (signal(SIGINT, SIG_IGN) == SIG_IGN)
  1505.       signal(SIGINT, onintr);
  1506. --- 69,81 ----
  1507.   }
  1508.   
  1509.   
  1510. ! void onintr(void)
  1511.   {
  1512.       done(1);
  1513.   }
  1514.   
  1515.   
  1516. ! void set_signals(void)
  1517.   {
  1518.       if (signal(SIGINT, SIG_IGN) == SIG_IGN)
  1519.       signal(SIGINT, onintr);
  1520. ***************
  1521. *** 82,88 ****
  1522.   }
  1523.   
  1524.   
  1525. ! usage()
  1526.   {
  1527.       fprintf(stderr, "usage: %s [-dltv] [-b prefix] filename\n", myname);
  1528.       exit(1);
  1529. --- 84,90 ----
  1530.   }
  1531.   
  1532.   
  1533. ! void usage(void)
  1534.   {
  1535.       fprintf(stderr, "usage: %s [-dltv] [-b prefix] filename\n", myname);
  1536.       exit(1);
  1537. ***************
  1538. *** 89,97 ****
  1539.   }
  1540.   
  1541.   
  1542. ! getargs(argc, argv)
  1543. ! int argc;
  1544. ! char *argv[];
  1545.   {
  1546.       register int i;
  1547.       register char *s;
  1548. --- 91,97 ----
  1549.   }
  1550.   
  1551.   
  1552. ! void getargs(int argc, char ** argv)
  1553.   {
  1554.       register int i;
  1555.       register char *s;
  1556. ***************
  1557. *** 174,181 ****
  1558.   
  1559.   
  1560.   char *
  1561. ! allocate(n)
  1562. ! unsigned n;
  1563.   {
  1564.       register char *p;
  1565.   
  1566. --- 174,180 ----
  1567.   
  1568.   
  1569.   char *
  1570. ! allocate(unsigned n)
  1571.   {
  1572.       register char *p;
  1573.   
  1574. ***************
  1575. *** 185,191 ****
  1576.   }
  1577.   
  1578.   
  1579. ! create_file_names()
  1580.   {
  1581.       int i, len;
  1582.       char *tmpdir;
  1583. --- 184,190 ----
  1584.   }
  1585.   
  1586.   
  1587. ! void create_file_names(void)
  1588.   {
  1589.       int i, len;
  1590.       char *tmpdir;
  1591. ***************
  1592. *** 227,235 ****
  1593.       strcpy(text_file_name + len, temp_form);
  1594.       strcpy(union_file_name + len, temp_form);
  1595.   
  1596. !     action_file_name[len + 5] = 'a';
  1597. !     text_file_name[len + 5] = 't';
  1598. !     union_file_name[len + 5] = 'u';
  1599.   
  1600.       mktemp(action_file_name);
  1601.       mktemp(text_file_name);
  1602. --- 226,234 ----
  1603.       strcpy(text_file_name + len, temp_form);
  1604.       strcpy(union_file_name + len, temp_form);
  1605.   
  1606. !     action_file_name[len + 2] = 'a';
  1607. !     text_file_name[len + 2] = 't';
  1608. !     union_file_name[len + 2] = 'u';
  1609.   
  1610.       mktemp(action_file_name);
  1611.       mktemp(text_file_name);
  1612. ***************
  1613. *** 261,267 ****
  1614.   }
  1615.   
  1616.   
  1617. ! open_files()
  1618.   {
  1619.       create_file_names();
  1620.   
  1621. --- 260,266 ----
  1622.   }
  1623.   
  1624.   
  1625. ! void open_files(void)
  1626.   {
  1627.       create_file_names();
  1628.   
  1629. ***************
  1630. *** 297,305 ****
  1631.   
  1632.   
  1633.   int
  1634. ! main(argc, argv)
  1635. ! int argc;
  1636. ! char *argv[];
  1637.   {
  1638.       register int c;
  1639.   
  1640. --- 296,302 ----
  1641.   
  1642.   
  1643.   int
  1644. ! main(int argc, char **argv)
  1645.   {
  1646.       register int c;
  1647.   
  1648. *** 1.1    1992/06/10 21:55:08
  1649. --- mkpar.c    1992/03/16 18:56:14
  1650. ***************
  1651. *** 1,4 ****
  1652. ! #include "defs.h"
  1653.   
  1654.   action **parser;
  1655.   int SRtotal;
  1656. --- 1,5 ----
  1657. ! #include <stdlib.h>
  1658. ! #include "byacc.h"
  1659.   
  1660.   action **parser;
  1661.   int SRtotal;
  1662. ***************
  1663. *** 19,25 ****
  1664.   extern action *add_reduce();
  1665.   
  1666.   
  1667. ! make_parser()
  1668.   {
  1669.       register int i;
  1670.   
  1671. --- 20,26 ----
  1672.   extern action *add_reduce();
  1673.   
  1674.   
  1675. ! void make_parser(void)
  1676.   {
  1677.       register int i;
  1678.   
  1679. ***************
  1680. *** 36,43 ****
  1681.   
  1682.   
  1683.   action *
  1684. ! parse_actions(stateno)
  1685. ! register int stateno;
  1686.   {
  1687.       register action *actions;
  1688.   
  1689. --- 37,43 ----
  1690.   
  1691.   
  1692.   action *
  1693. ! parse_actions(register int stateno)
  1694.   {
  1695.       register action *actions;
  1696.   
  1697. ***************
  1698. *** 48,55 ****
  1699.   
  1700.   
  1701.   action *
  1702. ! get_shifts(stateno)
  1703. ! int stateno;
  1704.   {
  1705.       register action *actions, *temp;
  1706.       register shifts *sp;
  1707. --- 48,54 ----
  1708.   
  1709.   
  1710.   action *
  1711. ! get_shifts(int stateno)
  1712.   {
  1713.       register action *actions, *temp;
  1714.       register shifts *sp;
  1715. ***************
  1716. *** 83,91 ****
  1717.   }
  1718.   
  1719.   action *
  1720. ! add_reductions(stateno, actions)
  1721. ! int stateno;
  1722. ! register action *actions;
  1723.   {
  1724.       register int i, j, m, n;
  1725.       register int ruleno, tokensetsize;
  1726. --- 82,88 ----
  1727.   }
  1728.   
  1729.   action *
  1730. ! add_reductions(int stateno, register action* actions)
  1731.   {
  1732.       register int i, j, m, n;
  1733.       register int ruleno, tokensetsize;
  1734. ***************
  1735. *** 109,117 ****
  1736.   
  1737.   
  1738.   action *
  1739. ! add_reduce(actions, ruleno, symbol)
  1740. ! register action *actions;
  1741. ! register int ruleno, symbol;
  1742.   {
  1743.       register action *temp, *prev, *next;
  1744.   
  1745. --- 106,112 ----
  1746.   
  1747.   
  1748.   action *
  1749. ! add_reduce(register action* actions, register int ruleno, int symbol)
  1750.   {
  1751.       register action *temp, *prev, *next;
  1752.   
  1753. ***************
  1754. *** 149,155 ****
  1755.   }
  1756.   
  1757.   
  1758. ! find_final_state()
  1759.   {
  1760.       register int goal, i;
  1761.       register short *to_state;
  1762. --- 144,150 ----
  1763.   }
  1764.   
  1765.   
  1766. ! void find_final_state(void)
  1767.   {
  1768.       register int goal, i;
  1769.       register short *to_state;
  1770. ***************
  1771. *** 166,172 ****
  1772.   }
  1773.   
  1774.   
  1775. ! unused_rules()
  1776.   {
  1777.       register int i;
  1778.       register action *p;
  1779. --- 161,167 ----
  1780.   }
  1781.   
  1782.   
  1783. ! void unused_rules(void)
  1784.   {
  1785.       register int i;
  1786.       register action *p;
  1787. ***************
  1788. *** 198,204 ****
  1789.   }
  1790.   
  1791.   
  1792. ! remove_conflicts()
  1793.   {
  1794.       register int i;
  1795.       register int symbol;
  1796. --- 193,199 ----
  1797.   }
  1798.   
  1799.   
  1800. ! void remove_conflicts(void)
  1801.   {
  1802.       register int i;
  1803.       register int symbol;
  1804. ***************
  1805. *** 231,238 ****
  1806.   }
  1807.   
  1808.   
  1809. ! end_conflicts(p, q)
  1810. ! register action *p, *q;
  1811.   {
  1812.       for (;;)
  1813.       {
  1814. --- 226,232 ----
  1815.   }
  1816.   
  1817.   
  1818. ! void end_conflicts(register action *p, register action * q)
  1819.   {
  1820.       for (;;)
  1821.       {
  1822. ***************
  1823. *** 244,251 ****
  1824.   }
  1825.   
  1826.   
  1827. ! resolve_conflicts(first, last)
  1828. ! register action *first, *last;
  1829.   {
  1830.       register action *p;
  1831.       register int count;
  1832. --- 238,244 ----
  1833.   }
  1834.   
  1835.   
  1836. ! void resolve_conflicts(register action * first, register action * last)
  1837.   {
  1838.       register action *p;
  1839.       register int count;
  1840. ***************
  1841. *** 289,295 ****
  1842.   }
  1843.   
  1844.   
  1845. ! total_conflicts()
  1846.   {
  1847.       fprintf(stderr, "%s: ", myname);
  1848.       if (SRtotal == 1)
  1849. --- 282,288 ----
  1850.   }
  1851.   
  1852.   
  1853. ! void total_conflicts(void)
  1854.   {
  1855.       fprintf(stderr, "%s: ", myname);
  1856.       if (SRtotal == 1)
  1857. ***************
  1858. *** 310,317 ****
  1859.   
  1860.   
  1861.   int
  1862. ! sole_reduction(stateno)
  1863. ! int stateno;
  1864.   {
  1865.       register int count, ruleno;
  1866.       register action *p;
  1867. --- 303,309 ----
  1868.   
  1869.   
  1870.   int
  1871. ! sole_reduction(int stateno)
  1872.   {
  1873.       register int count, ruleno;
  1874.       register action *p;
  1875. ***************
  1876. *** 338,344 ****
  1877.   }
  1878.   
  1879.   
  1880. ! defreds()
  1881.   {
  1882.       register int i;
  1883.   
  1884. --- 330,336 ----
  1885.   }
  1886.   
  1887.   
  1888. ! void defreds(void)
  1889.   {
  1890.       register int i;
  1891.   
  1892. ***************
  1893. *** 347,354 ****
  1894.       defred[i] = sole_reduction(i);
  1895.   }
  1896.    
  1897. ! free_action_row(p)
  1898. ! register action *p;
  1899.   {
  1900.     register action *q;
  1901.   
  1902. --- 339,345 ----
  1903.       defred[i] = sole_reduction(i);
  1904.   }
  1905.    
  1906. ! void free_action_row(register action *p)
  1907.   {
  1908.     register action *q;
  1909.   
  1910. ***************
  1911. *** 360,366 ****
  1912.       }
  1913.   }
  1914.   
  1915. ! free_parser()
  1916.   {
  1917.     register int i;
  1918.   
  1919. --- 351,357 ----
  1920.       }
  1921.   }
  1922.   
  1923. ! void free_parser(void)
  1924.   {
  1925.     register int i;
  1926.   
  1927. *** 1.1    1992/06/10 21:55:08
  1928. --- output.c    1992/03/16 18:56:20
  1929. ***************
  1930. *** 1,4 ****
  1931. ! #include "defs.h"
  1932.   
  1933.   static int nvectors;
  1934.   static int nentries;
  1935. --- 1,6 ----
  1936. ! #include <stdlib.h>
  1937. ! #include <string.h>
  1938. ! #include "byacc.h"
  1939.   
  1940.   static int nvectors;
  1941.   static int nentries;
  1942. ***************
  1943. *** 16,23 ****
  1944.   static int lowzero;
  1945.   static int high;
  1946.   
  1947. ! output()
  1948.   {
  1949.       free_itemsets();
  1950.       free_shifts();
  1951. --- 18,25 ----
  1952.   static int lowzero;
  1953.   static int high;
  1954.   
  1955. ! void
  1956. ! output(void)
  1957.   {
  1958.       free_itemsets();
  1959.       free_shifts();
  1960. ***************
  1961. *** 37,44 ****
  1962.       write_section(trailer);
  1963.   }
  1964.   
  1965. ! output_rule_data()
  1966.   {
  1967.       register int i;
  1968.       register int j;
  1969. --- 39,46 ----
  1970.       write_section(trailer);
  1971.   }
  1972.   
  1973. ! void
  1974. ! output_rule_data(void)
  1975.   {
  1976.       register int i;
  1977.       register int j;
  1978. ***************
  1979. *** 84,91 ****
  1980.       fprintf(output_file, "\n};\n");
  1981.   }
  1982.   
  1983. ! output_yydefred()
  1984.   {
  1985.       register int i, j;
  1986.   
  1987. --- 86,93 ----
  1988.       fprintf(output_file, "\n};\n");
  1989.   }
  1990.   
  1991. ! void
  1992. ! output_yydefred(void)
  1993.   {
  1994.       register int i, j;
  1995.   
  1996. ***************
  1997. *** 111,118 ****
  1998.       fprintf(output_file, "\n};\n");
  1999.   }
  2000.   
  2001. ! output_actions()
  2002.   {
  2003.       nvectors = 2*nstates + nvars;
  2004.   
  2005. --- 113,120 ----
  2006.       fprintf(output_file, "\n};\n");
  2007.   }
  2008.   
  2009. ! void
  2010. ! output_actions(void)
  2011.   {
  2012.       nvectors = 2*nstates + nvars;
  2013.   
  2014. ***************
  2015. *** 139,146 ****
  2016.       output_check();
  2017.   }
  2018.   
  2019. ! token_actions()
  2020.   {
  2021.       register int i, j;
  2022.       register int shiftcount, reducecount;
  2023. --- 141,148 ----
  2024.       output_check();
  2025.   }
  2026.   
  2027. ! void
  2028. ! token_actions(void)
  2029.   {
  2030.       register int i, j;
  2031.       register int shiftcount, reducecount;
  2032. ***************
  2033. *** 224,230 ****
  2034.       FREE(actionrow);
  2035.   }
  2036.   
  2037. ! goto_actions()
  2038.   {
  2039.       register int i, j, k;
  2040.   
  2041. --- 226,233 ----
  2042.       FREE(actionrow);
  2043.   }
  2044.   
  2045. ! void
  2046. ! goto_actions(void)
  2047.   {
  2048.       register int i, j, k;
  2049.   
  2050. ***************
  2051. *** 257,264 ****
  2052.   }
  2053.   
  2054.   int
  2055. ! default_goto(symbol)
  2056. ! int symbol;
  2057.   {
  2058.       register int i;
  2059.       register int m;
  2060. --- 260,266 ----
  2061.   }
  2062.   
  2063.   int
  2064. ! default_goto(int symbol)
  2065.   {
  2066.       register int i;
  2067.       register int m;
  2068. ***************
  2069. *** 292,301 ****
  2070.   }
  2071.   
  2072.   
  2073. ! save_column(symbol, default_state)
  2074. ! int symbol;
  2075. ! int default_state;
  2076.   {
  2077.       register int i;
  2078.       register int m;
  2079. --- 294,301 ----
  2080.   }
  2081.   
  2082.   
  2083. ! void
  2084. ! save_column(int symbol, int default_state)
  2085.   {
  2086.       register int i;
  2087.       register int m;
  2088. ***************
  2089. *** 335,340 ****
  2090. --- 335,342 ----
  2091.       width[symno] = sp1[-1] - sp[0] + 1;
  2092.   }
  2093.   
  2094. + void
  2095.   sort_actions()
  2096.   {
  2097.     register int i;
  2098. ***************
  2099. *** 369,375 ****
  2100.       }
  2101.   }
  2102.   
  2103.   pack_table()
  2104.   {
  2105.       register int i;
  2106. --- 371,377 ----
  2107.       }
  2108.   }
  2109.   
  2110. ! void
  2111.   pack_table()
  2112.   {
  2113.       register int i;
  2114. ***************
  2115. *** 431,438 ****
  2116.   /*  order.                                */
  2117.   
  2118.   int
  2119. ! matching_vector(vector)
  2120. ! int vector;
  2121.   {
  2122.       register int i;
  2123.       register int j;
  2124. --- 433,439 ----
  2125.   /*  order.                                */
  2126.   
  2127.   int
  2128. ! matching_vector(int vector)
  2129.   {
  2130.       register int i;
  2131.       register int j;
  2132. ***************
  2133. *** 472,479 ****
  2134.   
  2135.   
  2136.   int
  2137. ! pack_vector(vector)
  2138. ! int vector;
  2139.   {
  2140.       register int i, j, k, l;
  2141.       register int t;
  2142. --- 473,479 ----
  2143.   
  2144.   
  2145.   int
  2146. ! pack_vector(int vector)
  2147.   {
  2148.       register int i, j, k, l;
  2149.       register int t;
  2150. ***************
  2151. *** 545,552 ****
  2152.   }
  2153.   
  2154.   
  2155. ! output_base()
  2156.   {
  2157.       register int i, j;
  2158.   
  2159. --- 545,552 ----
  2160.   }
  2161.   
  2162.   
  2163. ! void
  2164. ! output_base(void)
  2165.   {
  2166.       register int i, j;
  2167.   
  2168. ***************
  2169. *** 609,615 ****
  2170.   }
  2171.   
  2172.   
  2173.   output_table()
  2174.   {
  2175.       register int i;
  2176. --- 609,615 ----
  2177.   }
  2178.   
  2179.   
  2180. ! void
  2181.   output_table()
  2182.   {
  2183.       register int i;
  2184. ***************
  2185. *** 640,647 ****
  2186.   }
  2187.   
  2188.   
  2189. ! output_check()
  2190.   {
  2191.       register int i;
  2192.       register int j;
  2193. --- 640,647 ----
  2194.   }
  2195.   
  2196.   
  2197. ! void
  2198. ! output_check(void)
  2199.   {
  2200.       register int i;
  2201.       register int j;
  2202. ***************
  2203. *** 670,677 ****
  2204.   
  2205.   
  2206.   int
  2207. ! is_C_identifier(name)
  2208. ! char *name;
  2209.   {
  2210.       register char *s;
  2211.       register int c;
  2212. --- 670,676 ----
  2213.   
  2214.   
  2215.   int
  2216. ! is_C_identifier(char *name)
  2217.   {
  2218.       register char *s;
  2219.       register int c;
  2220. ***************
  2221. *** 701,707 ****
  2222.       return (1);
  2223.   }
  2224.   
  2225.   output_defines()
  2226.   {
  2227.       register int c, i;
  2228. --- 700,706 ----
  2229.       return (1);
  2230.   }
  2231.   
  2232. ! void
  2233.   output_defines()
  2234.   {
  2235.       register int c, i;
  2236. ***************
  2237. *** 752,758 ****
  2238.       }
  2239.   }
  2240.   
  2241.   output_stored_text()
  2242.   {
  2243.       register int c, last;
  2244. --- 751,757 ----
  2245.       }
  2246.   }
  2247.   
  2248. ! void
  2249.   output_stored_text()
  2250.   {
  2251.       register int c, last;
  2252. ***************
  2253. *** 767,774 ****
  2254.       }
  2255.   }
  2256.   
  2257. ! output_debug()
  2258.   {
  2259.       register int i, j, k, max;
  2260.       char **symnam, *s;
  2261. --- 766,773 ----
  2262.       }
  2263.   }
  2264.   
  2265. ! void
  2266. ! output_debug(void)
  2267.   {
  2268.       register int i, j, k, max;
  2269.       char **symnam, *s;
  2270. ***************
  2271. *** 987,994 ****
  2272.       fprintf(output_file, "};\n#endif\n");
  2273.   }
  2274.   
  2275. ! output_stype()
  2276.   {
  2277.       if (!unionized)
  2278.       {
  2279. --- 986,993 ----
  2280.       fprintf(output_file, "};\n#endif\n");
  2281.   }
  2282.   
  2283. ! void
  2284. ! output_stype(void)
  2285.   {
  2286.       if (!unionized)
  2287.       {
  2288. ***************
  2289. *** 997,1004 ****
  2290.       }
  2291.   }
  2292.   
  2293. ! output_trailing_text()
  2294.   {
  2295.       register int c, last;
  2296.   
  2297. --- 996,1003 ----
  2298.       }
  2299.   }
  2300.   
  2301. ! void
  2302. ! output_trailing_text(void)
  2303.   {
  2304.       register int c, last;
  2305.   
  2306. ***************
  2307. *** 1052,1058 ****
  2308.       }
  2309.   }
  2310.   
  2311.   output_semantic_actions()
  2312.   {
  2313.       register int c, last;
  2314. --- 1051,1057 ----
  2315.       }
  2316.   }
  2317.   
  2318. ! void
  2319.   output_semantic_actions()
  2320.   {
  2321.       register int c, last;
  2322. ***************
  2323. *** 1081,1087 ****
  2324.       }
  2325.   }
  2326.   
  2327.   free_itemsets()
  2328.   {
  2329.     register core *cp;
  2330. --- 1080,1086 ----
  2331.       }
  2332.   }
  2333.   
  2334. ! void
  2335.   free_itemsets()
  2336.   {
  2337.     register core *cp;
  2338. ***************
  2339. *** 1093,1099 ****
  2340.   }
  2341.   
  2342.   
  2343.   free_shifts()
  2344.   {
  2345.     register shifts *sp;
  2346. --- 1092,1098 ----
  2347.   }
  2348.   
  2349.   
  2350. ! void
  2351.   free_shifts()
  2352.   {
  2353.     register shifts *sp;
  2354. ***************
  2355. *** 1105,1111 ****
  2356.   }
  2357.   
  2358.   
  2359.   free_reductions()
  2360.   {
  2361.     register reductions *rp;
  2362. --- 1104,1110 ----
  2363.   }
  2364.   
  2365.   
  2366. ! void
  2367.   free_reductions()
  2368.   {
  2369.     register reductions *rp;
  2370. *** 1.1    1992/06/10 21:55:08
  2371. --- lr0.c    1992/03/16 18:57:14
  2372. ***************
  2373. *** 1,4 ****
  2374. ! #include "defs.h"
  2375.   
  2376.   extern short *itemset;
  2377.   extern short *itemsetend;
  2378. --- 1,6 ----
  2379. ! #include <stdlib.h>
  2380. ! #include <stddef.h>
  2381. ! #include "byacc.h"
  2382.   
  2383.   extern short *itemset;
  2384.   extern short *itemsetend;
  2385. ***************
  2386. *** 27,36 ****
  2387.   static short **kernel_end;
  2388.   static short *kernel_items;
  2389.   
  2390. ! static core **state_table;
  2391.   
  2392.   
  2393. ! allocate_itemsets()
  2394.   {
  2395.     register short *itemp;
  2396.     register short *item_end;
  2397. --- 29,38 ----
  2398.   static short **kernel_end;
  2399.   static short *kernel_items;
  2400.   
  2401. ! extern core **state_table;
  2402.   
  2403.   
  2404. ! void allocate_itemsets(void)
  2405.   {
  2406.     register short *itemp;
  2407.     register short *item_end;
  2408. ***************
  2409. *** 73,79 ****
  2410.   
  2411.   
  2412.   
  2413. ! allocate_storage()
  2414.   {
  2415.     allocate_itemsets();
  2416.   
  2417. --- 75,81 ----
  2418.   
  2419.   
  2420.   
  2421. ! void allocate_storage(void)
  2422.   {
  2423.     allocate_itemsets();
  2424.   
  2425. ***************
  2426. *** 84,90 ****
  2427.   
  2428.   
  2429.   
  2430. ! append_states()
  2431.   {
  2432.     register int i;
  2433.     register int j;
  2434. --- 86,92 ----
  2435.   
  2436.   
  2437.   
  2438. ! void append_states(void)
  2439.   {
  2440.     register int i;
  2441.     register int j;
  2442. ***************
  2443. *** 114,120 ****
  2444.   }
  2445.   
  2446.   
  2447. ! free_storage()
  2448.   {
  2449.     FREE(shift_symbol);
  2450.     FREE(redset);
  2451. --- 116,122 ----
  2452.   }
  2453.   
  2454.   
  2455. ! void free_storage(void)
  2456.   {
  2457.     FREE(shift_symbol);
  2458.     FREE(redset);
  2459. ***************
  2460. *** 127,133 ****
  2461.   
  2462.   
  2463.   
  2464. ! generate_states()
  2465.   {
  2466.     allocate_storage();
  2467.     itemset = NEW2(nitems, short);
  2468. --- 129,135 ----
  2469.   
  2470.   
  2471.   
  2472. ! void generate_states(void)
  2473.   {
  2474.     allocate_storage();
  2475.     itemset = NEW2(nitems, short);
  2476. ***************
  2477. *** 143,149 ****
  2478.         append_states();
  2479.   
  2480.         if (nshifts > 0)
  2481. !         save_shifts();
  2482.   
  2483.         this_state = this_state->next;
  2484.       }
  2485. --- 145,151 ----
  2486.         append_states();
  2487.   
  2488.         if (nshifts > 0)
  2489. !     save_shifts();
  2490.   
  2491.         this_state = this_state->next;
  2492.       }
  2493. ***************
  2494. *** 155,162 ****
  2495.   
  2496.   
  2497.   int
  2498. ! get_state(symbol)
  2499. ! int symbol;
  2500.   {
  2501.     register int key;
  2502.     register short *isp1;
  2503. --- 157,163 ----
  2504.   
  2505.   
  2506.   int
  2507. ! get_state(int symbol)
  2508.   {
  2509.     register int key;
  2510.     register short *isp1;
  2511. ***************
  2512. *** 165,171 ****
  2513.     register core *sp;
  2514.     register int found;
  2515.   
  2516. !   int n;
  2517.   
  2518.   #ifdef    TRACE
  2519.     fprintf(stderr, "Entering get_state, symbol = %d\n", symbol);
  2520. --- 166,172 ----
  2521.     register core *sp;
  2522.     register int found;
  2523.   
  2524. !   ptrdiff_t n;
  2525.   
  2526.   #ifdef    TRACE
  2527.     fprintf(stderr, "Entering get_state, symbol = %d\n", symbol);
  2528. ***************
  2529. *** 220,226 ****
  2530.   
  2531.   
  2532.   
  2533. ! initialize_states()
  2534.   {
  2535.       register int i;
  2536.       register short *start_derives;
  2537. --- 221,227 ----
  2538.   
  2539.   
  2540.   
  2541. ! void initialize_states(void)
  2542.   {
  2543.       register int i;
  2544.       register short *start_derives;
  2545. ***************
  2546. *** 247,253 ****
  2547.   }
  2548.   
  2549.   
  2550. ! new_itemsets()
  2551.   {
  2552.     register int i;
  2553.     register int shiftcount;
  2554. --- 248,254 ----
  2555.   }
  2556.   
  2557.   
  2558. ! void new_itemsets(void)
  2559.   {
  2560.     register int i;
  2561.     register int shiftcount;
  2562. ***************
  2563. *** 274,280 ****
  2564.             ksp = kernel_base[symbol];
  2565.           }
  2566.   
  2567. !           *ksp++ = i + 1;
  2568.             kernel_end[symbol] = ksp;
  2569.       }
  2570.       }
  2571. --- 275,281 ----
  2572.             ksp = kernel_base[symbol];
  2573.           }
  2574.   
  2575. !       *ksp++ = i + 1;
  2576.             kernel_end[symbol] = ksp;
  2577.       }
  2578.       }
  2579. ***************
  2580. *** 285,294 ****
  2581.   
  2582.   
  2583.   core *
  2584. ! new_state(symbol)
  2585. ! int symbol;
  2586.   {
  2587. !   register int n;
  2588.     register core *p;
  2589.     register short *isp1;
  2590.     register short *isp2;
  2591. --- 286,294 ----
  2592.   
  2593.   
  2594.   core *
  2595. ! new_state(int symbol)
  2596.   {
  2597. !   register ptrdiff_t n;
  2598.     register core *p;
  2599.     register short *isp1;
  2600.     register short *isp2;
  2601. ***************
  2602. *** 325,331 ****
  2603.   
  2604.   /* show_cores is used for debugging */
  2605.   
  2606. ! show_cores()
  2607.   {
  2608.       core *p;
  2609.       int i, j, k, n;
  2610. --- 325,331 ----
  2611.   
  2612.   /* show_cores is used for debugging */
  2613.   
  2614. ! void show_cores(void)
  2615.   {
  2616.       core *p;
  2617.       int i, j, k, n;
  2618. ***************
  2619. *** 360,366 ****
  2620.   
  2621.   /* show_ritems is used for debugging */
  2622.   
  2623. ! show_ritems()
  2624.   {
  2625.       int i;
  2626.   
  2627. --- 360,366 ----
  2628.   
  2629.   /* show_ritems is used for debugging */
  2630.   
  2631. ! void show_ritems(void)
  2632.   {
  2633.       int i;
  2634.   
  2635. ***************
  2636. *** 370,376 ****
  2637.   
  2638.   
  2639.   /* show_rrhs is used for debugging */
  2640. ! show_rrhs()
  2641.   {
  2642.       int i;
  2643.   
  2644. --- 370,376 ----
  2645.   
  2646.   
  2647.   /* show_rrhs is used for debugging */
  2648. ! void show_rrhs(void)
  2649.   {
  2650.       int i;
  2651.   
  2652. ***************
  2653. *** 381,387 ****
  2654.   
  2655.   /* show_shifts is used for debugging */
  2656.   
  2657. ! show_shifts()
  2658.   {
  2659.       shifts *p;
  2660.       int i, j, k;
  2661. --- 381,387 ----
  2662.   
  2663.   /* show_shifts is used for debugging */
  2664.   
  2665. ! void show_shifts(void)
  2666.   {
  2667.       shifts *p;
  2668.       int i, j, k;
  2669. ***************
  2670. *** 399,405 ****
  2671.   }
  2672.   
  2673.   
  2674. ! save_shifts()
  2675.   {
  2676.     register shifts *p;
  2677.     register short *sp1;
  2678. --- 399,405 ----
  2679.   }
  2680.   
  2681.   
  2682. ! void save_shifts(void)
  2683.   {
  2684.     register shifts *p;
  2685.     register short *sp1;
  2686. ***************
  2687. *** 433,439 ****
  2688.   
  2689.   
  2690.   
  2691. ! save_reductions()
  2692.   {
  2693.     register short *isp;
  2694.     register short *rp1;
  2695. --- 433,439 ----
  2696.   
  2697.   
  2698.   
  2699. ! void save_reductions(void)
  2700.   {
  2701.     register short *isp;
  2702.     register short *rp1;
  2703. ***************
  2704. *** 483,489 ****
  2705.   }
  2706.   
  2707.   
  2708. ! set_derives()
  2709.   {
  2710.     register int i, k;
  2711.     register int lhs;
  2712. --- 483,489 ----
  2713.   }
  2714.   
  2715.   
  2716. ! void set_derives(void)
  2717.   {
  2718.     register int i, k;
  2719.     register int lhs;
  2720. ***************
  2721. *** 513,519 ****
  2722.   #endif
  2723.   }
  2724.   
  2725. ! free_derives()
  2726.   {
  2727.     FREE(derives[start_symbol]);
  2728.     FREE(derives);
  2729. --- 513,519 ----
  2730.   #endif
  2731.   }
  2732.   
  2733. ! void free_derives(void)
  2734.   {
  2735.     FREE(derives[start_symbol]);
  2736.     FREE(derives);
  2737. ***************
  2738. *** 520,525 ****
  2739. --- 520,526 ----
  2740.   }
  2741.   
  2742.   #ifdef    DEBUG
  2743. + void
  2744.   print_derives()
  2745.   {
  2746.     register int i;
  2747. ***************
  2748. *** 542,548 ****
  2749.   #endif
  2750.   
  2751.   
  2752. ! set_nullable()
  2753.   {
  2754.       register int i, j;
  2755.       register int empty;
  2756. --- 543,549 ----
  2757.   #endif
  2758.   
  2759.   
  2760. ! void set_nullable(void)
  2761.   {
  2762.       register int i, j;
  2763.       register int empty;
  2764. ***************
  2765. *** 591,603 ****
  2766.   }
  2767.   
  2768.   
  2769. ! free_nullable()
  2770.   {
  2771.     FREE(nullable);
  2772.   }
  2773.   
  2774.   
  2775. ! lr0()
  2776.   {
  2777.       set_derives();
  2778.       set_nullable();
  2779. --- 592,604 ----
  2780.   }
  2781.   
  2782.   
  2783. ! void free_nullable(void)
  2784.   {
  2785.     FREE(nullable);
  2786.   }
  2787.   
  2788.   
  2789. ! void lr0(void)
  2790.   {
  2791.       set_derives();
  2792.       set_nullable();
  2793. *** 1.1    1992/06/10 21:55:08
  2794. --- reader.c    1992/03/16 18:57:10
  2795. ***************
  2796. *** 1,6 ****
  2797. ! #include "defs.h"
  2798.   
  2799.   /*  The line size must be a positive integer.  One hundred was chosen    */
  2800.   /*  because few lines in Yacc input grammars exceed 100 characters.    */
  2801.   /*  Note that if a line exceeds LINESIZE characters, the line buffer    */
  2802. --- 1,8 ----
  2803. ! #include <stdlib.h>
  2804. ! #include <string.h>
  2805. ! #include <stddef.h>
  2806. ! #include "byacc.h"
  2807.   
  2808.   /*  The line size must be a positive integer.  One hundred was chosen    */
  2809.   /*  because few lines in Yacc input grammars exceed 100 characters.    */
  2810.   /*  Note that if a line exceeds LINESIZE characters, the line buffer    */
  2811. ***************
  2812. *** 35,43 ****
  2813.   
  2814.   char line_format[] = "#line %d \"%s\"\n";
  2815.   
  2816. ! cachec(c)
  2817. ! int c;
  2818.   {
  2819.       assert(cinc >= 0);
  2820.       if (cinc >= cache_size)
  2821. --- 37,44 ----
  2822.   
  2823.   char line_format[] = "#line %d \"%s\"\n";
  2824.   
  2825. ! void
  2826. ! cachec(int c)
  2827.   {
  2828.       assert(cinc >= 0);
  2829.       if (cinc >= cache_size)
  2830. ***************
  2831. *** 50,57 ****
  2832.       ++cinc;
  2833.   }
  2834.   
  2835. ! get_line()
  2836.   {
  2837.       register FILE *f = input_file;
  2838.       register int c;
  2839. --- 51,58 ----
  2840.       ++cinc;
  2841.   }
  2842.   
  2843. ! void
  2844. ! get_line(void)
  2845.   {
  2846.       register FILE *f = input_file;
  2847.       register int c;
  2848. ***************
  2849. *** 114,128 ****
  2850.       return (p);
  2851.   }
  2852.   
  2853.   skip_comment()
  2854.   {
  2855.       register char *s;
  2856.   
  2857.       int st_lineno = lineno;
  2858. !     char *st_line = dup_line();
  2859. !     char *st_cptr = st_line + (cptr - line);
  2860.   
  2861.       s = cptr + 2;
  2862.       for (;;)
  2863.       {
  2864. --- 115,132 ----
  2865.       return (p);
  2866.   }
  2867.   
  2868. ! void
  2869.   skip_comment()
  2870.   {
  2871.       register char *s;
  2872.   
  2873.       int st_lineno = lineno;
  2874. !     char *st_line;
  2875. !     char *st_cptr;
  2876.   
  2877. + st_line = dup_line();
  2878. + st_cptr = st_line + (cptr - line);
  2879.       s = cptr + 2;
  2880.       for (;;)
  2881.       {
  2882. ***************
  2883. *** 269,276 ****
  2884.       /*NOTREACHED*/
  2885.   }
  2886.   
  2887. ! copy_ident()
  2888.   {
  2889.       register int c;
  2890.       register FILE *f = output_file;
  2891. --- 273,280 ----
  2892.       /*NOTREACHED*/
  2893.   }
  2894.   
  2895. ! void
  2896. ! copy_ident(void)
  2897.   {
  2898.       register int c;
  2899.       register FILE *f = output_file;
  2900. ***************
  2901. *** 298,305 ****
  2902.       }
  2903.   }
  2904.   
  2905. ! copy_text()
  2906.   {
  2907.       register int c;
  2908.       int quote;
  2909. --- 302,309 ----
  2910.       }
  2911.   }
  2912.   
  2913. ! void
  2914. ! copy_text(void)
  2915.   {
  2916.       register int c;
  2917.       int quote;
  2918. ***************
  2919. *** 424,431 ****
  2920.       }
  2921.   }
  2922.   
  2923. ! copy_union()
  2924.   {
  2925.       register int c;
  2926.       int quote;
  2927. --- 428,435 ----
  2928.       }
  2929.   }
  2930.   
  2931. ! void
  2932. ! copy_union(void)
  2933.   {
  2934.       register int c;
  2935.       int quote;
  2936. ***************
  2937. *** 558,565 ****
  2938.   
  2939.   
  2940.   int
  2941. ! hexval(c)
  2942. ! int c;
  2943.   {
  2944.       if (c >= '0' && c <= '9')
  2945.       return (c - '0');
  2946. --- 562,568 ----
  2947.   
  2948.   
  2949.   int
  2950. ! hexval(int c)
  2951.   {
  2952.       if (c >= '0' && c <= '9')
  2953.       return (c - '0');
  2954. ***************
  2955. *** 710,717 ****
  2956.   
  2957.   
  2958.   int
  2959. ! is_reserved(name)
  2960. ! char *name;
  2961.   {
  2962.       char *s;
  2963.   
  2964. --- 713,719 ----
  2965.   
  2966.   
  2967.   int
  2968. ! is_reserved(char *name)
  2969.   {
  2970.       char *s;
  2971.   
  2972. ***************
  2973. *** 811,819 ****
  2974.       return (s);
  2975.   }
  2976.   
  2977. ! declare_tokens(assoc)
  2978. ! int assoc;
  2979.   {
  2980.       register int c;
  2981.       register bucket *bp;
  2982. --- 813,820 ----
  2983.       return (s);
  2984.   }
  2985.   
  2986. ! void
  2987. ! declare_tokens(int assoc)
  2988.   {
  2989.       register int c;
  2990.       register bucket *bp;
  2991. ***************
  2992. *** 873,880 ****
  2993.       }
  2994.   }
  2995.   
  2996. ! declare_types()
  2997.   {
  2998.       register int c;
  2999.       register bucket *bp;
  3000. --- 874,881 ----
  3001.       }
  3002.   }
  3003.   
  3004. ! void
  3005. ! declare_types(void)
  3006.   {
  3007.       register int c;
  3008.       register bucket *bp;
  3009. ***************
  3010. *** 901,907 ****
  3011.       }
  3012.   }
  3013.   
  3014.   declare_start()
  3015.   {
  3016.       register int c;
  3017. --- 902,908 ----
  3018.       }
  3019.   }
  3020.   
  3021. ! void
  3022.   declare_start()
  3023.   {
  3024.       register int c;
  3025. ***************
  3026. *** 919,925 ****
  3027.       goal = bp;
  3028.   }
  3029.   
  3030.   read_declarations()
  3031.   {
  3032.       register int c, k;
  3033. --- 920,926 ----
  3034.       goal = bp;
  3035.   }
  3036.   
  3037. ! void
  3038.   read_declarations()
  3039.   {
  3040.       register int c, k;
  3041. ***************
  3042. *** 968,975 ****
  3043.       }
  3044.   }
  3045.   
  3046. ! initialize_grammar()
  3047.   {
  3048.       nitems = 4;
  3049.       maxitems = 300;
  3050. --- 969,976 ----
  3051.       }
  3052.   }
  3053.   
  3054. ! void
  3055. ! initialize_grammar(void)
  3056.   {
  3057.       nitems = 4;
  3058.       maxitems = 300;
  3059. ***************
  3060. *** 999,1005 ****
  3061.       rassoc[2] = TOKEN;
  3062.   }
  3063.   
  3064.   expand_items()
  3065.   {
  3066.       maxitems += 300;
  3067. --- 1000,1006 ----
  3068.       rassoc[2] = TOKEN;
  3069.   }
  3070.   
  3071. ! void
  3072.   expand_items()
  3073.   {
  3074.       maxitems += 300;
  3075. ***************
  3076. *** 1007,1014 ****
  3077.       if (pitem == 0) no_space();
  3078.   }
  3079.   
  3080. ! expand_rules()
  3081.   {
  3082.       maxrules += 100;
  3083.       plhs = (bucket **) REALLOC(plhs, maxrules*sizeof(bucket *));
  3084. --- 1008,1015 ----
  3085.       if (pitem == 0) no_space();
  3086.   }
  3087.   
  3088. ! void
  3089. ! expand_rules(void)
  3090.   {
  3091.       maxrules += 100;
  3092.       plhs = (bucket **) REALLOC(plhs, maxrules*sizeof(bucket *));
  3093. ***************
  3094. *** 1019,1026 ****
  3095.       if (rassoc == 0) no_space();
  3096.   }
  3097.   
  3098. ! advance_to_start()
  3099.   {
  3100.       register int c;
  3101.       register bucket *bp;
  3102. --- 1020,1027 ----
  3103.       if (rassoc == 0) no_space();
  3104.   }
  3105.   
  3106. ! void
  3107. ! advance_to_start(void)
  3108.   {
  3109.       register int c;
  3110.       register bucket *bp;
  3111. ***************
  3112. *** 1069,1078 ****
  3113.       ++cptr;
  3114.   }
  3115.   
  3116. ! start_rule(bp, s_lineno)
  3117. ! register bucket *bp;
  3118. ! int s_lineno;
  3119.   {
  3120.       if (bp->class == TERM)
  3121.       terminal_lhs(s_lineno);
  3122. --- 1070,1077 ----
  3123.       ++cptr;
  3124.   }
  3125.   
  3126. ! void
  3127. ! start_rule(register bucket * bp,int s_lineno)
  3128.   {
  3129.       if (bp->class == TERM)
  3130.       terminal_lhs(s_lineno);
  3131. ***************
  3132. *** 1084,1091 ****
  3133.       rassoc[nrules] = TOKEN;
  3134.   }
  3135.   
  3136. ! end_rule()
  3137.   {
  3138.       register int i;
  3139.   
  3140. --- 1083,1090 ----
  3141.       rassoc[nrules] = TOKEN;
  3142.   }
  3143.   
  3144. ! void
  3145. ! end_rule(void)
  3146.   {
  3147.       register int i;
  3148.   
  3149. ***************
  3150. *** 1103,1110 ****
  3151.       ++nrules;
  3152.   }
  3153.   
  3154. ! insert_empty_rule()
  3155.   {
  3156.       register bucket *bp, **bpp;
  3157.   
  3158. --- 1102,1109 ----
  3159.       ++nrules;
  3160.   }
  3161.   
  3162. ! void
  3163. ! insert_empty_rule(void)
  3164.   {
  3165.       register bucket *bp, **bpp;
  3166.   
  3167. ***************
  3168. *** 1130,1137 ****
  3169.       rassoc[nrules-1] = TOKEN;
  3170.   }
  3171.   
  3172. ! add_symbol()
  3173.   {
  3174.       register int c;
  3175.       register bucket *bp;
  3176. --- 1129,1136 ----
  3177.       rassoc[nrules-1] = TOKEN;
  3178.   }
  3179.   
  3180. ! void
  3181. ! add_symbol(void)
  3182.   {
  3183.       register int c;
  3184.       register bucket *bp;
  3185. ***************
  3186. *** 1161,1168 ****
  3187.       pitem[nitems-1] = bp;
  3188.   }
  3189.   
  3190. ! copy_action()
  3191.   {
  3192.       register int c;
  3193.       register int i, n;
  3194. --- 1160,1167 ----
  3195.       pitem[nitems-1] = bp;
  3196.   }
  3197.   
  3198. ! void
  3199. ! copy_action(void)
  3200.   {
  3201.       register int c;
  3202.       register int i, n;
  3203. ***************
  3204. *** 1408,1415 ****
  3205.       return (0);
  3206.   }
  3207.   
  3208. ! read_grammar()
  3209.   {
  3210.       register int c;
  3211.   
  3212. --- 1407,1414 ----
  3213.       return (0);
  3214.   }
  3215.   
  3216. ! void
  3217. ! read_grammar(void)
  3218.   {
  3219.       register int c;
  3220.   
  3221. ***************
  3222. *** 1441,1448 ****
  3223.       end_rule();
  3224.   }
  3225.   
  3226. ! free_tags()
  3227.   {
  3228.       register int i;
  3229.   
  3230. --- 1440,1447 ----
  3231.       end_rule();
  3232.   }
  3233.   
  3234. ! void
  3235. ! free_tags(void)
  3236.   {
  3237.       register int i;
  3238.   
  3239. ***************
  3240. *** 1456,1463 ****
  3241.       FREE(tag_table);
  3242.   }
  3243.   
  3244. ! pack_names()
  3245.   {
  3246.       register bucket *bp;
  3247.       register char *p, *s, *t;
  3248. --- 1455,1462 ----
  3249.       FREE(tag_table);
  3250.   }
  3251.   
  3252. ! void
  3253. ! pack_names(void)
  3254.   {
  3255.       register bucket *bp;
  3256.       register char *p, *s, *t;
  3257. ***************
  3258. *** 1481,1488 ****
  3259.       }
  3260.   }
  3261.   
  3262. ! check_symbols()
  3263.   {
  3264.       register bucket *bp;
  3265.   
  3266. --- 1480,1487 ----
  3267.       }
  3268.   }
  3269.   
  3270. ! void
  3271. ! check_symbols(void)
  3272.   {
  3273.       register bucket *bp;
  3274.   
  3275. ***************
  3276. *** 1499,1506 ****
  3277.       }
  3278.   }
  3279.   
  3280. ! pack_symbols()
  3281.   {
  3282.       register bucket *bp;
  3283.       register bucket **v;
  3284. --- 1498,1505 ----
  3285.       }
  3286.   }
  3287.   
  3288. ! void
  3289. ! pack_symbols(void)
  3290.   {
  3291.       register bucket *bp;
  3292.       register bucket **v;
  3293. ***************
  3294. *** 1623,1630 ****
  3295.       FREE(v);
  3296.   }
  3297.   
  3298. ! pack_grammar()
  3299.   {
  3300.       register int i, j;
  3301.       int assoc, prec;
  3302. --- 1622,1629 ----
  3303.       FREE(v);
  3304.   }
  3305.   
  3306. ! void
  3307. ! pack_grammar(void)
  3308.   {
  3309.       register int i, j;
  3310.       int assoc, prec;
  3311. ***************
  3312. *** 1682,1689 ****
  3313.       FREE(pitem);
  3314.   }
  3315.   
  3316. ! print_grammar()
  3317.   {
  3318.       register int i, j, k;
  3319.       int spacing;
  3320. --- 1681,1688 ----
  3321.       FREE(pitem);
  3322.   }
  3323.   
  3324. ! void
  3325. ! print_grammar(void)
  3326.   {
  3327.       register int i, j, k;
  3328.       int spacing;
  3329. ***************
  3330. *** 1718,1725 ****
  3331.       }
  3332.   }
  3333.   
  3334. ! reader()
  3335.   {
  3336.       write_section(banner);
  3337.       create_symbol_table();
  3338. --- 1717,1724 ----
  3339.       }
  3340.   }
  3341.   
  3342. ! void
  3343. ! reader(void)
  3344.   {
  3345.       write_section(banner);
  3346.       create_symbol_table();
  3347. *** 1.1    1992/06/10 21:55:08
  3348. --- verbose.c    1992/03/16 18:55:52
  3349. ***************
  3350. *** 1,9 ****
  3351. ! #include "defs.h"
  3352.   
  3353.   static short *null_rules;
  3354.   
  3355. ! verbose()
  3356.   {
  3357.       register int i;
  3358.   
  3359. --- 1,10 ----
  3360. ! #include <stdlib.h>
  3361. ! #include "byacc.h"
  3362.   
  3363.   static short *null_rules;
  3364.   
  3365. ! void
  3366. ! verbose(void)
  3367.   {
  3368.       register int i;
  3369.   
  3370. ***************
  3371. *** 26,33 ****
  3372.       fprintf(verbose_file, "%d grammar rules, %d states\n", nrules - 2, nstates);
  3373.   }
  3374.   
  3375. ! log_unused()
  3376.   {
  3377.       register int i;
  3378.       register short *p;
  3379. --- 27,34 ----
  3380.       fprintf(verbose_file, "%d grammar rules, %d states\n", nrules - 2, nstates);
  3381.   }
  3382.   
  3383. ! void
  3384. ! log_unused(void)
  3385.   {
  3386.       register int i;
  3387.       register short *p;
  3388. ***************
  3389. *** 46,52 ****
  3390.   }
  3391.   
  3392.   
  3393. ! log_conflicts()
  3394.   {
  3395.       register int i;
  3396.   
  3397. --- 47,54 ----
  3398.   }
  3399.   
  3400.   
  3401. ! void
  3402. ! log_conflicts(void)
  3403.   {
  3404.       register int i;
  3405.   
  3406. ***************
  3407. *** 73,81 ****
  3408.       }
  3409.   }
  3410.   
  3411. ! print_state(state)
  3412. ! int state;
  3413.   {
  3414.       if (state)
  3415.       fprintf(verbose_file, "\n\n");
  3416. --- 75,82 ----
  3417.       }
  3418.   }
  3419.   
  3420. ! void
  3421. ! print_state(int state)
  3422.   {
  3423.       if (state)
  3424.       fprintf(verbose_file, "\n\n");
  3425. ***************
  3426. *** 87,95 ****
  3427.       print_actions(state);
  3428.   }
  3429.   
  3430. ! print_conflicts(state)
  3431. ! int state;
  3432.   {
  3433.       register int symbol;
  3434.       register action *p, *q, *r;
  3435. --- 88,95 ----
  3436.       print_actions(state);
  3437.   }
  3438.   
  3439. ! void
  3440. ! print_conflicts(int state)
  3441.   {
  3442.       register int symbol;
  3443.       register action *p, *q, *r;
  3444. ***************
  3445. *** 145,153 ****
  3446.       }
  3447.   }
  3448.   
  3449. ! print_core(state)
  3450. ! int state;
  3451.   {
  3452.       register int i;
  3453.       register int k;
  3454. --- 145,152 ----
  3455.       }
  3456.   }
  3457.   
  3458. ! void
  3459. ! print_core(int state)
  3460.   {
  3461.       register int i;
  3462.       register int k;
  3463. ***************
  3464. *** 181,189 ****
  3465.       }
  3466.   }
  3467.   
  3468. ! print_nulls(state)
  3469. ! int state;
  3470.   {
  3471.       register action *p;
  3472.       register int i, j, k, nnulls;
  3473. --- 180,187 ----
  3474.       }
  3475.   }
  3476.   
  3477. ! void
  3478. ! print_nulls(int state)
  3479.   {
  3480.       register action *p;
  3481.       register int i, j, k, nnulls;
  3482. ***************
  3483. *** 223,231 ****
  3484.       fprintf(verbose_file, "\n");
  3485.   }
  3486.   
  3487. ! print_actions(stateno)
  3488. ! int stateno;
  3489.   {
  3490.       register action *p;
  3491.       register shifts *sp;
  3492. --- 221,228 ----
  3493.       fprintf(verbose_file, "\n");
  3494.   }
  3495.   
  3496. ! void
  3497. ! print_actions(int stateno)
  3498.   {
  3499.       register action *p;
  3500.       register shifts *sp;
  3501. ***************
  3502. *** 250,258 ****
  3503.       }
  3504.   }
  3505.   
  3506. ! print_shifts(p)
  3507. ! register action *p;
  3508.   {
  3509.       register int count;
  3510.       register action *q;
  3511. --- 247,254 ----
  3512.       }
  3513.   }
  3514.   
  3515. ! void
  3516. ! print_shifts(register action *p)
  3517.   {
  3518.       register int count;
  3519.       register action *q;
  3520. ***************
  3521. *** 275,284 ****
  3522.       }
  3523.   }
  3524.   
  3525. ! print_reductions(p, defred)
  3526. ! register action *p;
  3527. ! register int defred;
  3528.   {
  3529.       register int k, anyreds;
  3530.       register action *q;
  3531. --- 271,278 ----
  3532.       }
  3533.   }
  3534.   
  3535. ! void
  3536. ! print_reductions(register action *p, register int defred)
  3537.   {
  3538.       register int k, anyreds;
  3539.       register action *q;
  3540. ***************
  3541. *** 313,321 ****
  3542.       }
  3543.   }
  3544.   
  3545. ! print_gotos(stateno)
  3546. ! int stateno;
  3547.   {
  3548.       register int i, k;
  3549.       register int as;
  3550. --- 307,314 ----
  3551.       }
  3552.   }
  3553.   
  3554. ! void
  3555. ! print_gotos(int stateno)
  3556.   {
  3557.       register int i, k;
  3558.       register int as;
  3559.