home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / OS2-YACC.ZIP / Y1.H < prev    next >
C/C++ Source or Header  |  1989-09-29  |  3KB  |  77 lines

  1. /*
  2.   HEADER: CUG     nnn.nn;
  3.   TITLE:     YACC - Yet Another Compilier-Compilier
  4.   VERSION:     1.0 for IBM-PC
  5.   DATE:      JAN 28, 1985
  6.   DESCRIPTION:     LALR(1) Parser Generator. From UNIX
  7.   KEYWORDS:     Parser Generator Compilier-Compilier YACC
  8.   SYSTEM:     IBM-PC and Compatiables
  9.   FILENAME:      Y1.H
  10.   WARNINGS:     This program is not for the casual user. It will
  11.          be useful primarily to expert developers.
  12.   CRC:         N/A
  13.   SEE-ALSO:     LEX and PREP
  14.   AUTHORS:     Scott Guthery 11100 leafwood lane Austin, TX 78750
  15.   COMPILERS:     DESMET-C
  16.   REFERENCES:     UNIX Systems Manuals
  17. */
  18.  
  19. /********************************************************************************/
  20. /*                              *************                                   */
  21. /*                              *  Y 1 . H  *                                   */
  22. /*                              *************                                   */
  23. /*                                                                              */
  24. /*  This file contains the external declarations needed to hook Yacc modules    */
  25. /* which were originally in Y1.C to their impure data in Y1IMP.1C. Also does    */
  26. /* the include of the original data/external file DTXTRN.H.                     */
  27. /*                                                                              */
  28. /********************************************************************************/
  29.  
  30. # include <stdlib.h>
  31.  
  32. # include "dtxtrn.h"
  33.  
  34. /* lookahead computations */
  35.  
  36. extern int tbitset;  /* size of lookahead sets */
  37. extern int nlset; /* next lookahead set index */
  38. extern struct looksets clset;  /* temporary storage for lookahead computations */
  39.  
  40. /* other storage areas */
  41.  
  42. extern int fatfl;               /* if on, error is fatal */
  43. extern int nerrors;             /* number of errors */
  44.  
  45. /* storage for information about the nonterminals */
  46.  
  47. extern int **pres[ ];           /* vector of pointers to productions yielding each nonterminal */
  48. extern struct looksets *pfirst[ ]; /* vector of pointers to first sets for each nonterminal */
  49. extern int pempty[ ];           /* vector of nonterminals nontrivially deriving e */
  50.  
  51. /* accumulators for statistics information */
  52.  
  53. extern struct wset *zzcwp;
  54. extern int * zzmemsz;
  55.  
  56. void aryfil( int *, int, int );
  57. void cempty( void );
  58. void error( char *, ... );
  59. void summary(void);
  60. char *chcopy( char *, char * );
  61. void closure( int );
  62. int setunion( register int *, register int * );
  63. void cpfir( void );
  64. struct looksets *flset( struct looksets * );
  65. void cpres( void );
  66. void stagen( void );
  67. void others( void );
  68. void main( int, char ** );
  69. int unix_getc( FILE * );
  70. void uungetc( char, FILE * );
  71. void prlook( struct looksets * );
  72. char *symnam( int );
  73. void putitem( int *, struct looksets * );
  74. int state( int );
  75. char *writem( int * );
  76.  
  77.