Initial revision
This commit is contained in:
86
util/LLgen/src/extern.h
Normal file
86
util/LLgen/src/extern.h
Normal file
@@ -0,0 +1,86 @@
|
||||
/*
|
||||
* (c) copyright 1983 by the Vrije Universiteit, Amsterdam, The Netherlands.
|
||||
*
|
||||
* This product is part of the Amsterdam Compiler Kit.
|
||||
*
|
||||
* Permission to use, sell, duplicate or disclose this software must be
|
||||
* obtained in writing. Requests for such permissions may be sent to
|
||||
*
|
||||
* Dr. Andrew S. Tanenbaum
|
||||
* Wiskundig Seminarium
|
||||
* Vrije Universiteit
|
||||
* Postbox 7161
|
||||
* 1007 MC Amsterdam
|
||||
* The Netherlands
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* L L G E N
|
||||
*
|
||||
* An Extended LL(1) Parser Generator
|
||||
*
|
||||
* Author : Ceriel J.H. Jacobs
|
||||
*/
|
||||
|
||||
/*
|
||||
* extern.h $Header$
|
||||
* Miscellanious constants and
|
||||
* some variables that are visible in more than one file
|
||||
*/
|
||||
|
||||
/*
|
||||
* options for the identifier search routine
|
||||
*/
|
||||
# define JUSTLOOKING 0
|
||||
# define ENTERING 1
|
||||
# define BOTH 2
|
||||
|
||||
/*
|
||||
* Now for some declarations
|
||||
*/
|
||||
|
||||
extern char ltext[]; /* input buffer */
|
||||
extern int nnonterms; /* number of nonterminals */
|
||||
extern int nterminals; /* number of terminals */
|
||||
extern p_start start; /* will contain startsymbols */
|
||||
extern int linecount; /* line number */
|
||||
extern int assval; /* to create difference between literals
|
||||
* and other terminals
|
||||
*/
|
||||
extern t_nont nonterms[]; /* the nonterminal array */
|
||||
extern p_nont maxnt; /* is filled up until here */
|
||||
extern int order[]; /* order of nonterminals in the grammar,
|
||||
* important because actions are copied to
|
||||
* a temporary file in the order in which they
|
||||
* were read
|
||||
*/
|
||||
extern int *maxorder; /* will contain &order[nnonterms] */
|
||||
extern t_entry h_entry[]; /* terminal and nonterminal entrys,
|
||||
* first NTERMINAL entrys reserved
|
||||
* for terminals
|
||||
*/
|
||||
extern p_entry max_t_ent; /* will contain &h_entry[nterminals] */
|
||||
# define min_nt_ent &h_entry[NTERMINALS]
|
||||
extern string pentry[]; /* pointers to various allocated things */
|
||||
extern string e_noopen; /* Error message string used often */
|
||||
extern int verbose; /* Level of verbosity */
|
||||
extern string lexical; /* name of lexical analyser */
|
||||
extern int ntneeded; /* ntneeded = 1 if nonterminals are included
|
||||
* in the sets.
|
||||
*/
|
||||
extern int ntprint; /* ntprint = 1 if they must be printed too in
|
||||
* the LL.output file (-x option)
|
||||
*/
|
||||
# ifndef NDEBUG
|
||||
extern int debug;
|
||||
# endif not NDEBUG
|
||||
extern p_file files,pfile; /* pointers to file structure.
|
||||
* "files" points to the start of the
|
||||
* list */
|
||||
extern string LLgenid; /* LLgen identification string */
|
||||
extern t_token lextoken; /* the current token */
|
||||
extern int nerrors;
|
||||
extern int fflag; /* Enable compiler to generate jump tables
|
||||
* for switches?
|
||||
*/
|
||||
Reference in New Issue
Block a user