this repo has no description
1/* A Bison parser, made by GNU Bison 3.7.6. */
2
3/* Bison interface for Yacc-like parsers in C
4
5 Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 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 <https://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/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
35 especially those whose name start with YY_ or yy_. They are
36 private implementation details that can be changed or removed. */
37
38#ifndef YY_MZN_YY_USERS_DEKKER1_CODE_GITHUB_COM_MINIZINC_LIBMINIZINC_BYTE_BUILD_INCLUDE_MINIZINC_PARSER_TAB_HH_INCLUDED
39# define YY_MZN_YY_USERS_DEKKER1_CODE_GITHUB_COM_MINIZINC_LIBMINIZINC_BYTE_BUILD_INCLUDE_MINIZINC_PARSER_TAB_HH_INCLUDED
40/* Debug traces. */
41#ifndef YYDEBUG
42# define YYDEBUG 0
43#endif
44#if YYDEBUG
45extern int mzn_yydebug;
46#endif
47
48/* Token kinds. */
49#ifndef YYTOKENTYPE
50# define YYTOKENTYPE
51 enum yytokentype
52 {
53 YYEMPTY = -2,
54 END = 0, /* "end of file" */
55 YYerror = 256, /* error */
56 YYUNDEF = 257, /* "invalid token" */
57 MZN_INTEGER_LITERAL = 258, /* "integer literal" */
58 MZN_BOOL_LITERAL = 259, /* "bool literal" */
59 MZN_FLOAT_LITERAL = 260, /* "float literal" */
60 MZN_IDENTIFIER = 261, /* "identifier" */
61 MZN_QUOTED_IDENTIFIER = 262, /* "quoted identifier" */
62 MZN_STRING_LITERAL = 263, /* "string literal" */
63 MZN_STRING_QUOTE_START = 264, /* "interpolated string start" */
64 MZN_STRING_QUOTE_MID = 265, /* "interpolated string middle" */
65 MZN_STRING_QUOTE_END = 266, /* "interpolated string end" */
66 MZN_TI_IDENTIFIER = 267, /* "type-inst identifier" */
67 MZN_TI_ENUM_IDENTIFIER = 268, /* "type-inst enum identifier" */
68 MZN_DOC_COMMENT = 269, /* "documentation comment" */
69 MZN_DOC_FILE_COMMENT = 270, /* "file-level documentation comment" */
70 MZN_VAR = 271, /* "var" */
71 MZN_PAR = 272, /* "par" */
72 MZN_ABSENT = 273, /* "<>" */
73 MZN_ANN = 274, /* "ann" */
74 MZN_ANNOTATION = 275, /* "annotation" */
75 MZN_ANY = 276, /* "any" */
76 MZN_ARRAY = 277, /* "array" */
77 MZN_BOOL = 278, /* "bool" */
78 MZN_CASE = 279, /* "case" */
79 MZN_CONSTRAINT = 280, /* "constraint" */
80 MZN_DEFAULT = 281, /* "default" */
81 MZN_ELSE = 282, /* "else" */
82 MZN_ELSEIF = 283, /* "elseif" */
83 MZN_ENDIF = 284, /* "endif" */
84 MZN_ENUM = 285, /* "enum" */
85 MZN_FLOAT = 286, /* "float" */
86 MZN_FUNCTION = 287, /* "function" */
87 MZN_IF = 288, /* "if" */
88 MZN_INCLUDE = 289, /* "include" */
89 MZN_INFINITY = 290, /* "infinity" */
90 MZN_INT = 291, /* "int" */
91 MZN_LET = 292, /* "let" */
92 MZN_LIST = 293, /* "list" */
93 MZN_MAXIMIZE = 294, /* "maximize" */
94 MZN_MINIMIZE = 295, /* "minimize" */
95 MZN_OF = 296, /* "of" */
96 MZN_OPT = 297, /* "opt" */
97 MZN_SATISFY = 298, /* "satisfy" */
98 MZN_OUTPUT = 299, /* "output" */
99 MZN_PREDICATE = 300, /* "predicate" */
100 MZN_RECORD = 301, /* "record" */
101 MZN_SET = 302, /* "set" */
102 MZN_SOLVE = 303, /* "solve" */
103 MZN_STRING = 304, /* "string" */
104 MZN_TEST = 305, /* "test" */
105 MZN_THEN = 306, /* "then" */
106 MZN_TUPLE = 307, /* "tuple" */
107 MZN_TYPE = 308, /* "type" */
108 MZN_UNDERSCORE = 309, /* "_" */
109 MZN_VARIANT_RECORD = 310, /* "variant_record" */
110 MZN_WHERE = 311, /* "where" */
111 MZN_LEFT_BRACKET = 312, /* "[" */
112 MZN_LEFT_2D_BRACKET = 313, /* "[|" */
113 MZN_RIGHT_BRACKET = 314, /* "]" */
114 MZN_RIGHT_2D_BRACKET = 315, /* "|]" */
115 FLATZINC_IDENTIFIER = 316, /* FLATZINC_IDENTIFIER */
116 MZN_INVALID_INTEGER_LITERAL = 317, /* "invalid integer literal" */
117 MZN_INVALID_FLOAT_LITERAL = 318, /* "invalid float literal" */
118 MZN_UNTERMINATED_STRING = 319, /* "unterminated string" */
119 MZN_END_OF_LINE_IN_STRING = 320, /* "end of line inside string literal" */
120 MZN_INVALID_NULL = 321, /* "null character" */
121 MZN_EQUIV = 322, /* "<->" */
122 MZN_IMPL = 323, /* "->" */
123 MZN_RIMPL = 324, /* "<-" */
124 MZN_OR = 325, /* "\\/" */
125 MZN_XOR = 326, /* "xor" */
126 MZN_AND = 327, /* "/\\" */
127 MZN_LE = 328, /* "<" */
128 MZN_GR = 329, /* ">" */
129 MZN_LQ = 330, /* "<=" */
130 MZN_GQ = 331, /* ">=" */
131 MZN_EQ = 332, /* "=" */
132 MZN_NQ = 333, /* "!=" */
133 MZN_WEAK_EQ = 334, /* "~=" */
134 MZN_IN = 335, /* "in" */
135 MZN_SUBSET = 336, /* "subset" */
136 MZN_SUPERSET = 337, /* "superset" */
137 MZN_UNION = 338, /* "union" */
138 MZN_DIFF = 339, /* "diff" */
139 MZN_SYMDIFF = 340, /* "symdiff" */
140 MZN_DOTDOT = 341, /* ".." */
141 MZN_PLUS = 342, /* "+" */
142 MZN_MINUS = 343, /* "-" */
143 MZN_WEAK_PLUS = 344, /* "~+" */
144 MZN_WEAK_MINUS = 345, /* "~-" */
145 MZN_MULT = 346, /* "*" */
146 MZN_DIV = 347, /* "/" */
147 MZN_IDIV = 348, /* "div" */
148 MZN_MOD = 349, /* "mod" */
149 MZN_INTERSECT = 350, /* "intersect" */
150 MZN_WEAK_MULT = 351, /* "~*" */
151 MZN_POW = 352, /* "^" */
152 MZN_NOT = 353, /* "not" */
153 MZN_PLUSPLUS = 354, /* "++" */
154 MZN_COLONCOLON = 355, /* "::" */
155 PREC_ANNO = 356, /* PREC_ANNO */
156 MZN_EQUIV_QUOTED = 357, /* "'<->'" */
157 MZN_IMPL_QUOTED = 358, /* "'->'" */
158 MZN_RIMPL_QUOTED = 359, /* "'<-'" */
159 MZN_OR_QUOTED = 360, /* "'\\/'" */
160 MZN_XOR_QUOTED = 361, /* "'xor'" */
161 MZN_AND_QUOTED = 362, /* "'/\\'" */
162 MZN_LE_QUOTED = 363, /* "'<'" */
163 MZN_GR_QUOTED = 364, /* "'>'" */
164 MZN_LQ_QUOTED = 365, /* "'<='" */
165 MZN_GQ_QUOTED = 366, /* "'>='" */
166 MZN_EQ_QUOTED = 367, /* "'='" */
167 MZN_NQ_QUOTED = 368, /* "'!='" */
168 MZN_IN_QUOTED = 369, /* "'in'" */
169 MZN_SUBSET_QUOTED = 370, /* "'subset'" */
170 MZN_SUPERSET_QUOTED = 371, /* "'superset'" */
171 MZN_UNION_QUOTED = 372, /* "'union'" */
172 MZN_DIFF_QUOTED = 373, /* "'diff'" */
173 MZN_SYMDIFF_QUOTED = 374, /* "'symdiff'" */
174 MZN_DOTDOT_QUOTED = 375, /* "'..'" */
175 MZN_PLUS_QUOTED = 376, /* "'+'" */
176 MZN_MINUS_QUOTED = 377, /* "'-'" */
177 MZN_MULT_QUOTED = 378, /* "'*'" */
178 MZN_DIV_QUOTED = 379, /* "'/'" */
179 MZN_IDIV_QUOTED = 380, /* "'div'" */
180 MZN_MOD_QUOTED = 381, /* "'mod'" */
181 MZN_INTERSECT_QUOTED = 382, /* "'intersect'" */
182 MZN_POW_QUOTED = 383, /* "'^'" */
183 MZN_NOT_QUOTED = 384, /* "'not'" */
184 MZN_COLONCOLON_QUOTED = 385, /* "'::'" */
185 MZN_PLUSPLUS_QUOTED = 386 /* "'++'" */
186 };
187 typedef enum yytokentype yytoken_kind_t;
188#endif
189
190/* Value type. */
191#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
192union YYSTYPE
193{
194 long long int iValue; char* sValue; bool bValue; double dValue;
195 MiniZinc::Item* item;
196 MiniZinc::VarDecl* vardeclexpr;
197 std::vector<MiniZinc::VarDecl*>* vardeclexpr_v;
198 MiniZinc::TypeInst* tiexpr;
199 std::vector<MiniZinc::TypeInst*>* tiexpr_v;
200 MiniZinc::Expression* expression;
201 std::vector<MiniZinc::Expression*>* expression_v;
202 std::vector<std::vector<MiniZinc::Expression*> >* expression_vv;
203 std::vector<std::vector<std::vector<MiniZinc::Expression*> > >* expression_vvv;
204 MiniZinc::Generator* generator;
205 std::vector<MiniZinc::Generator>* generator_v;
206 std::vector<std::string>* string_v;
207 std::vector<std::pair<MiniZinc::Expression*,MiniZinc::Expression*> >* expression_p;
208 MiniZinc::Generators* generators;
209
210
211
212};
213typedef union YYSTYPE YYSTYPE;
214# define YYSTYPE_IS_TRIVIAL 1
215# define YYSTYPE_IS_DECLARED 1
216#endif
217
218/* Location type. */
219#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
220typedef struct YYLTYPE YYLTYPE;
221struct YYLTYPE
222{
223 int first_line;
224 int first_column;
225 int last_line;
226 int last_column;
227};
228# define YYLTYPE_IS_DECLARED 1
229# define YYLTYPE_IS_TRIVIAL 1
230#endif
231
232
233
234int mzn_yyparse (void *parm);
235
236#endif /* !YY_MZN_YY_USERS_DEKKER1_CODE_GITHUB_COM_MINIZINC_LIBMINIZINC_BYTE_BUILD_INCLUDE_MINIZINC_PARSER_TAB_HH_INCLUDED */