1    | /***************************************
2    |   $Header: /home/amb/cxref/RCS/parse-yy.h 1.9 1996/06/11 18:12:41 amb Exp $
3    | 
4    |   C Cross Referencing & Documentation tool. Version 1.2.
5    | 
6    |   The function protypes that are missing from the lex and yacc output.
7    |   ******************/ /******************
8    |   Written by Andrew M. Bishop
9    | 
10   |   This file Copyright 1995,96 Andrew M. Bishop
11   |   It may be distributed under the GNU Public License, version 2, or
12   |   any higher version.  See section COPYING of the GNU Public license
13   |   for conditions under which this file may be redistributed.
14   |   ***************************************/
15   | 
16   | #ifndef PARSE_YY_H
17   | #define PARSE_YY_H   /*+ To stop multiple inclusions. +*/
18   | 
19   | #include <stdio.h>
20   | #include <stdlib.h>
21   | 
22   | /*+ Debugging output or not?
23   | 
24   |   YYDEBUG=0 : No debugging at all, smaller, faster code.
25   | 
26   |   YYDEBUG=1 : Debugging output only when parsing fails.
27   | 
28   |   YYDEBUG=2 : Debugging output for each symbol from lex().
29   | 
30   |   YYDEBUG=3 : Full yacc debugging output, state transitions etc.
31   | +*/
32   | #define YYDEBUG 0
33   | 
34   | /* Only the #define for YYDEBUG above is user editable,
35   |    those below are for fixing up yacc/lex only. */
36   | 
37   | /*+ Semantic type is a char* +*/
38   | #define YYSTYPE char*
39   | 
40   | /*+ use prototypes in function declarations +*/
41   | #define YY_USE_PROTOS
42   | 
43   | /*+ the "const" storage-class-modifier is valid +*/
44   | #define YY_USE_CONST
45   | 
46   | #if YYDEBUG
47   | 
48   | /*+ Turn the debugging output on and off. +*/
49   | extern int yydebug;
50   | 
51   | /*+ Define verbose errors in Bison generated file +*/
52   | #define YYERROR_VERBOSE 1
53   | 
54   | /*+ This is needed in the Bison generated code. +*/
55   | #define xmalloc malloc
56   | 
57   | /*+ Print the semantic value +*/
58   | #define YYPRINT(file,type,value)  printf(" '%s'",value)
59   | 
60   | #endif
61   | 
62   | /* Extern variables */
63   | 
64   | /*+ The name of the current file. +*/
65   | extern char* parse_file;
66   | 
67   | /*+ The current line number in the file. +*/
68   | extern int parse_line;
69   | 
70   | /*+ For communication between the lex and yacc code. +*/
71   | extern YYSTYPE yylval;
72   | 
73   | /*+ For communication between the lex and yacc code. +*/
74   | extern FILE *yyin;
75   | 
76   | /* Global functions */
77   | 
78   | int yylex(void);
79   | 
80   | int yyparse(void);
81   | void yyrestart (FILE *input_file);
82   | 
83   | /* yywrap() function */
84   | 
85   | #ifndef yywrap
86   | 
87   | /*+ Needed in lex but does nothing. +*/
88   | #define yywrap() 1
89   | 
90   | #endif
91   | 
92   | #endif