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