]>
git.saurik.com Git - bison.git/blob - src/getargs.h
d0fa12f20dcb8279f4379b9ef885239ead92333c
   1 /* Parse command line arguments for bison. 
   2    Copyright (C) 1984, 1986, 1989, 1992, 2000, 2001, 2002, 2003, 2004, 2005, 2006 
   3    Free Software Foundation, Inc. 
   5    This file is part of Bison, the GNU Compiler Compiler. 
   7    Bison is free software; you can redistribute it and/or modify it 
   8    under the terms of the GNU General Public License as published by 
   9    the Free Software Foundation; either version 2, or (at your option) 
  12    Bison is distributed in the hope that it will be useful, but 
  13    WITHOUT ANY WARRANTY; without even the implied warranty of 
  14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
  15    General Public License for more details. 
  17    You should have received a copy of the GNU General Public License 
  18    along with Bison; see the file COPYING.  If not, write to the Free 
  19    Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 
  25 /* flags set by % directives */ 
  28 extern char const *skeleton
; 
  31 extern char const *include
; 
  33 extern bool debug_flag
;                 /* for -t */ 
  34 extern bool defines_flag
;               /* for -d */ 
  35 extern bool graph_flag
;                 /* for -g */ 
  36 extern bool locations_flag
; 
  37 extern bool no_lines_flag
;              /* for -l */ 
  38 extern bool no_parser_flag
;             /* for -n */ 
  39 extern bool token_table_flag
;           /* for -k */ 
  40 extern bool yacc_flag
;                  /* for -y */ 
  42 extern bool error_verbose
; 
  45 /* GLR_PARSER is true if the input file says to use the GLR 
  46    (Generalized LR) parser, and to output some additional information 
  47    used by the GLR algorithm.  */ 
  49 extern bool glr_parser
; 
  51 /* PURE_PARSER is true if should generate a parser that is all pure 
  54 extern bool pure_parser
; 
  56 /* PUSH_PARSER is true if should generate a parser that is capable of being 
  57    called asynchronously.  Is must be pure and reentrant.  */ 
  59 extern bool push_parser
; 
  61 /* NONDETERMINISTIC_PARSER is true iff conflicts are accepted.  This 
  62    is used by the GLR parser, and might be used in BackTracking 
  65 extern bool nondeterministic_parser
; 
  75     report_states           
= 1 << 0, 
  76     report_itemsets         
= 1 << 1, 
  77     report_lookahead_tokens 
= 1 << 2, 
  78     report_solved_conflicts 
= 1 << 3, 
  81 /** What appears in the *.output file.  */ 
  82 extern int report_flag
; 
  89     trace_none      
= 0,       /**< No traces. */ 
  90     trace_scan      
= 1 << 0,  /**< Grammar scanner traces. */ 
  91     trace_parse     
= 1 << 1,  /**< Grammar parser traces. */ 
  92     trace_resource  
= 1 << 2,  /**< Memory allocation. */ 
  93     trace_sets      
= 1 << 3,  /**< Grammar sets: firsts, nullable etc. */ 
  94     trace_bitsets   
= 1 << 4,  /**< Use of bitsets. */ 
  95     trace_tools     
= 1 << 5,  /**< m4 invocation. */ 
  96     trace_automaton 
= 1 << 6,  /**< Construction of the automaton. */ 
  97     trace_grammar   
= 1 << 7,  /**< Reading, reducing the grammar. */ 
  98     trace_time      
= 1 << 8,  /**< Time consumption. */ 
  99     trace_skeleton  
= 1 << 9,  /**< Skeleton postprocessing. */ 
 100     trace_m4        
= 1 << 10, /**< M4 traces. */ 
 101     trace_all       
= ~0       /**< All of the above.  */ 
 103 /** What debug items bison displays during its run.  */ 
 104 extern int trace_flag
; 
 112     warnings_none             
= 0,      /**< Issue no warnings.  */ 
 113     warnings_error            
= 1 << 0, /**< Warnings are treated as errors.  */ 
 114     warnings_yacc             
= 1 << 1, /**< POSIXME.  */ 
 115     warnings_all              
= ~warnings_error 
/**< All above warnings.  */ 
 117 /** What warnings are issued.  */ 
 118 extern int warnings_flag
; 
 121 /** Process the command line arguments. 
 123  *  \param argc   size of \a argv 
 124  *  \param argv   list of arguments. 
 126 void getargs (int argc
, char *argv
[]); 
 128 #endif /* !GETARGS_H_ */