1 /* A Bison parser, made by GNU Bison 3.3.2.  */
2 
3 /* Bison interface for Yacc-like parsers in C
4 
5    Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
6    Inc.
7 
8    This program is free software: you can redistribute it and/or modify
9    it under the terms of the GNU General Public License as published by
10    the Free Software Foundation, either version 3 of the License, or
11    (at your option) any later version.
12 
13    This program is distributed in the hope that it will be useful,
14    but WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16    GNU General Public License for more details.
17 
18    You should have received a copy of the GNU General Public License
19    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
20 
21 /* As a special exception, you may create a larger work that contains
22    part or all of the Bison parser skeleton and distribute that work
23    under terms of your choice, so long as that work isn't itself a
24    parser generator using the skeleton or a modified version thereof
25    as a parser skeleton.  Alternatively, if you modify or redistribute
26    the parser skeleton itself, you may (at your option) remove this
27    special exception, which will cause the skeleton and the resulting
28    Bison output files to be licensed under the GNU General Public
29    License without this special exception.
30 
31    This special exception was added by the Free Software Foundation in
32    version 2.2 of Bison.  */
33 
34 /* Undocumented macros, especially those whose name start with YY_,
35    are private implementation details.  Do not rely on them.  */
36 
37 #ifndef YY_YY_PARSER_H_INCLUDED
38 # define YY_YY_PARSER_H_INCLUDED
39 /* Debug traces.  */
40 #ifndef YYDEBUG
41 # define YYDEBUG 0
42 #endif
43 #if YYDEBUG
44 extern int yydebug;
45 #endif
46 
47 /* Token type.  */
48 #ifndef YYTOKENTYPE
49 # define YYTOKENTYPE
50   enum yytokentype
51   {
52     TOK_PACKAGE = 258,
53     TOK_VERSION = 259,
54     TOK_OPTION = 260,
55     TOK_DEFGROUP = 261,
56     TOK_GROUPOPTION = 262,
57     TOK_DEFMODE = 263,
58     TOK_MODEOPTION = 264,
59     TOK_YES = 265,
60     TOK_NO = 266,
61     TOK_ON = 267,
62     TOK_OFF = 268,
63     TOK_FLAG = 269,
64     TOK_PURPOSE = 270,
65     TOK_DESCRIPTION = 271,
66     TOK_USAGE = 272,
67     TOK_DEFAULT = 273,
68     TOK_GROUP = 274,
69     TOK_GROUPDESC = 275,
70     TOK_MODE = 276,
71     TOK_MODEDESC = 277,
72     TOK_MULTIPLE = 278,
73     TOK_ARGOPTIONAL = 279,
74     TOK_TYPESTR = 280,
75     TOK_SECTION = 281,
76     TOK_DETAILS = 282,
77     TOK_SECTIONDESC = 283,
78     TOK_TEXT = 284,
79     TOK_VERSIONTEXT = 285,
80     TOK_ARGS = 286,
81     TOK_VALUES = 287,
82     TOK_HIDDEN = 288,
83     TOK_DEPENDON = 289,
84     TOK_STRING = 290,
85     TOK_CHAR = 291,
86     TOK_ARGTYPE = 292,
87     TOK_SIZE = 293
88   };
89 #endif
90 /* Tokens.  */
91 #define TOK_PACKAGE 258
92 #define TOK_VERSION 259
93 #define TOK_OPTION 260
94 #define TOK_DEFGROUP 261
95 #define TOK_GROUPOPTION 262
96 #define TOK_DEFMODE 263
97 #define TOK_MODEOPTION 264
98 #define TOK_YES 265
99 #define TOK_NO 266
100 #define TOK_ON 267
101 #define TOK_OFF 268
102 #define TOK_FLAG 269
103 #define TOK_PURPOSE 270
104 #define TOK_DESCRIPTION 271
105 #define TOK_USAGE 272
106 #define TOK_DEFAULT 273
107 #define TOK_GROUP 274
108 #define TOK_GROUPDESC 275
109 #define TOK_MODE 276
110 #define TOK_MODEDESC 277
111 #define TOK_MULTIPLE 278
112 #define TOK_ARGOPTIONAL 279
113 #define TOK_TYPESTR 280
114 #define TOK_SECTION 281
115 #define TOK_DETAILS 282
116 #define TOK_SECTIONDESC 283
117 #define TOK_TEXT 284
118 #define TOK_VERSIONTEXT 285
119 #define TOK_ARGS 286
120 #define TOK_VALUES 287
121 #define TOK_HIDDEN 288
122 #define TOK_DEPENDON 289
123 #define TOK_STRING 290
124 #define TOK_CHAR 291
125 #define TOK_ARGTYPE 292
126 #define TOK_SIZE 293
127 
128 /* Value type.  */
129 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
130 
131 union YYSTYPE
132 {
133 #line 150 "../../src/parser.yy" /* yacc.c:1921  */
134 
135     char   *str;
136     char    chr;
137     int	    argtype;
138     int	    boolean;
139     class AcceptedValues *ValueList;
140     struct gengetopt_option *gengetopt_option;
141     struct multiple_size *multiple_size;
142 
143 #line 144 "parser.h" /* yacc.c:1921  */
144 };
145 
146 typedef union YYSTYPE YYSTYPE;
147 # define YYSTYPE_IS_TRIVIAL 1
148 # define YYSTYPE_IS_DECLARED 1
149 #endif
150 
151 /* Location type.  */
152 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
153 typedef struct YYLTYPE YYLTYPE;
154 struct YYLTYPE
155 {
156   int first_line;
157   int first_column;
158   int last_line;
159   int last_column;
160 };
161 # define YYLTYPE_IS_DECLARED 1
162 # define YYLTYPE_IS_TRIVIAL 1
163 #endif
164 
165 
166 extern YYSTYPE yylval;
167 extern YYLTYPE yylloc;
168 int yyparse (void);
169 
170 #endif /* !YY_YY_PARSER_H_INCLUDED  */
171