    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