Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
parser.tab.cc File Reference
#include "absl/strings/match.h"
#include "absl/strings/str_format.h"
#include "ortools/flatzinc/parser_util.h"
#include "ortools/flatzinc/parser_util.cc"
#include <limits.h>

Go to the source code of this file.

Classes

union  yyalloc
 
struct  yypcontext_t
 

Macros

#define YYBISON   30802
 
#define YYBISON_VERSION   "3.8.2"
 
#define YYSKELETON_NAME   "yacc.c"
 
#define YYPURE   2
 
#define YYPUSH   0
 
#define YYPULL   1
 
#define YYSTYPE   ORFZ_STYPE
 Tells flex to use the LexerInfo class to communicate with the bison parser.
 
#define yyparse   orfz_parse
 
#define yylex   orfz_lex
 
#define yyerror   orfz_error
 
#define yydebug   orfz_debug
 
#define yynerrs   orfz_nerrs
 
#define YY_CAST(Type, Val)
 
#define YY_REINTERPRET_CAST(Type, Val)
 
#define YY_NULLPTR   ((void*)0)
 
#define ORFZ_DEBUG   0
 
#define OR_TOOLS_FLATZINC_FLATZINC_TAB_HH_
 
#define YYLEX_PARAM   scanner
 Defines the parameter to the orfz_lex() call from the orfz_parse() method.
 
#define ORFZ_TOKENTYPE
 
#define YYPTRDIFF_T   long
 
#define YYPTRDIFF_MAXIMUM   LONG_MAX
 
#define YYSIZE_T   unsigned
 
#define YYSIZE_MAXIMUM
 
#define YYSIZEOF(X)
 
#define YY_(Msgid)
 
#define YY_ATTRIBUTE_PURE
 
#define YY_ATTRIBUTE_UNUSED
 
#define YY_USE(E)
 
#define YY_INITIAL_VALUE(Value)
 
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
 
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
 
#define YY_IGNORE_USELESS_CAST_BEGIN
 
#define YY_IGNORE_USELESS_CAST_END
 
#define YY_ASSERT(E)
 
#define YYSTACK_ALLOC   YYMALLOC
 
#define YYSTACK_FREE   YYFREE
 
#define YYSTACK_ALLOC_MAXIMUM   YYSIZE_MAXIMUM
 
#define YYMALLOC   malloc
 
#define YYFREE   free
 
#define YYSTACK_GAP_MAXIMUM   (YYSIZEOF(union yyalloc) - 1)
 
#define YYSTACK_BYTES(N)
 
#define YYCOPY_NEEDED   1
 
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
 
#define YYFINAL   3
 
#define YYLAST   264
 
#define YYNTOKENS   32
 
#define YYNNTS   32
 
#define YYNRULES   98
 
#define YYNSTATES   225
 
#define YYMAXUTOK   276
 
#define YYTRANSLATE(YYX)
 
#define YY_ACCESSING_SYMBOL(State)
 
#define YYPACT_NINF   (-184)
 
#define yypact_value_is_default(Yyn)
 
#define YYTABLE_NINF   (-19)
 
#define yytable_value_is_error(Yyn)
 
#define yyerrok   (yyerrstatus = 0)
 
#define yyclearin   (yychar = ORFZ_EMPTY)
 
#define YYACCEPT   goto yyacceptlab
 
#define YYABORT   goto yyabortlab
 
#define YYERROR   goto yyerrorlab
 
#define YYNOMEM   goto yyexhaustedlab
 
#define YYRECOVERING()
 
#define YYBACKUP(Token, Value)
 
#define YYERRCODE   ORFZ_UNDEF
 
#define YYDPRINTF(Args)
 
#define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
 
#define YY_STACK_PRINT(Bottom, Top)
 
#define YY_REDUCE_PRINT(Rule)
 
#define YYINITDEPTH   200
 
#define YYMAXDEPTH   10000
 
#define YYCASE_(N, S)
 
#define YYPOPSTACK(N)
 

Typedefs

typedef operations_research::fz::LexerInfo YYSTYPE
 Tells flex to use the LexerInfo class to communicate with the bison parser.
 
typedef enum orfz_tokentype orfz_token_kind_t
 
typedef enum yysymbol_kind_t yysymbol_kind_t
 
typedef signed char yytype_int8
 
typedef short yytype_int16
 
typedef unsigned char yytype_uint8
 
typedef unsigned short yytype_uint16
 
typedef yytype_uint8 yy_state_t
 
typedef int yy_state_fast_t
 

Enumerations

enum  orfz_tokentype {
  ORFZ_EMPTY = -2 , ORFZ_EOF = 0 , ORFZ_error = 256 , ORFZ_UNDEF = 257 ,
  ARRAY = 258 , TOKEN_BOOL = 259 , CONSTRAINT = 260 , TOKEN_FLOAT = 261 ,
  TOKEN_INT = 262 , MAXIMIZE = 263 , MINIMIZE = 264 , OF = 265 ,
  PREDICATE = 266 , SATISFY = 267 , SET = 268 , SOLVE = 269 ,
  VAR = 270 , DOTDOT = 271 , COLONCOLON = 272 , IVALUE = 273 ,
  SVALUE = 274 , IDENTIFIER = 275 , DVALUE = 276
}
 
enum  yysymbol_kind_t {
  YYSYMBOL_YYEMPTY = -2 , YYSYMBOL_YYEOF = 0 , YYSYMBOL_YYerror = 1 , YYSYMBOL_YYUNDEF = 2 ,
  YYSYMBOL_ARRAY = 3 , YYSYMBOL_TOKEN_BOOL = 4 , YYSYMBOL_CONSTRAINT = 5 , YYSYMBOL_TOKEN_FLOAT = 6 ,
  YYSYMBOL_TOKEN_INT = 7 , YYSYMBOL_MAXIMIZE = 8 , YYSYMBOL_MINIMIZE = 9 , YYSYMBOL_OF = 10 ,
  YYSYMBOL_PREDICATE = 11 , YYSYMBOL_SATISFY = 12 , YYSYMBOL_SET = 13 , YYSYMBOL_SOLVE = 14 ,
  YYSYMBOL_VAR = 15 , YYSYMBOL_DOTDOT = 16 , YYSYMBOL_COLONCOLON = 17 , YYSYMBOL_IVALUE = 18 ,
  YYSYMBOL_SVALUE = 19 , YYSYMBOL_IDENTIFIER = 20 , YYSYMBOL_DVALUE = 21 , YYSYMBOL_22_ = 22 ,
  YYSYMBOL_23_ = 23 , YYSYMBOL_24_ = 24 , YYSYMBOL_25_ = 25 , YYSYMBOL_26_ = 26 ,
  YYSYMBOL_27_ = 27 , YYSYMBOL_28_ = 28 , YYSYMBOL_29_ = 29 , YYSYMBOL_30_ = 30 ,
  YYSYMBOL_31_ = 31 , YYSYMBOL_YYACCEPT = 32 , YYSYMBOL_model = 33 , YYSYMBOL_predicates = 34 ,
  YYSYMBOL_predicate = 35 , YYSYMBOL_predicate_arguments = 36 , YYSYMBOL_predicate_argument = 37 , YYSYMBOL_predicate_array_argument = 38 ,
  YYSYMBOL_predicate_ints = 39 , YYSYMBOL_variable_or_constant_declarations , YYSYMBOL_variable_or_constant_declaration , YYSYMBOL_optional_var_or_value = 42 ,
  YYSYMBOL_optional_var_or_value_array = 43 , YYSYMBOL_var_or_value_array = 44 , YYSYMBOL_var_or_value = 45 , YYSYMBOL_int_domain = 46 ,
  YYSYMBOL_set_domain = 47 , YYSYMBOL_float_domain = 48 , YYSYMBOL_domain = 49 , YYSYMBOL_integers = 50 ,
  YYSYMBOL_integer = 51 , YYSYMBOL_floats = 52 , YYSYMBOL_float = 53 , YYSYMBOL_const_literal = 54 ,
  YYSYMBOL_const_literals = 55 , YYSYMBOL_constraints = 56 , YYSYMBOL_constraint = 57 , YYSYMBOL_arguments = 58 ,
  YYSYMBOL_argument = 59 , YYSYMBOL_annotations = 60 , YYSYMBOL_annotation_arguments = 61 , YYSYMBOL_annotation = 62 ,
  YYSYMBOL_solve = 63
}
 
enum  { YYENOMEM = -2 }
 

Functions

int orfz_parse (operations_research::fz::ParserContext *context, operations_research::fz::Model *model, bool *ok, void *scanner)
 
void * malloc (YYSIZE_T)
 
void free (void *)
 
static const char * yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED
 
static int yypcontext_expected_tokens (const yypcontext_t *yyctx, yysymbol_kind_t yyarg[], int yyargn)
 
static YYPTRDIFF_T yystrlen (const char *yystr)
 
static char * yystpcpy (char *yydest, const char *yysrc)
 
static YYPTRDIFF_T yytnamerr (char *yyres, const char *yystr)
 
static int yy_syntax_error_arguments (const yypcontext_t *yyctx, yysymbol_kind_t yyarg[], int yyargn)
 
static int yysyntax_error (YYPTRDIFF_T *yymsg_alloc, char **yymsg, const yypcontext_t *yyctx)
 
static void yydestruct (const char *yymsg, yysymbol_kind_t yykind, YYSTYPE *yyvaluep, operations_research::fz::ParserContext *context, operations_research::fz::Model *model, bool *ok, void *scanner)
 
int yyparse (operations_research::fz::ParserContext *context, operations_research::fz::Model *model, bool *ok, void *scanner)
 

Variables

static const yytype_int8 yytranslate []
 
static const char *const yytname []
 
static const yytype_int16 yypact []
 
static const yytype_int8 yydefact []
 
static const yytype_int16 yypgoto []
 
static const yytype_uint8 yydefgoto []
 
static const yytype_int16 yytable []
 
static const yytype_int16 yycheck []
 
static const yytype_int8 yystos []
 
static const yytype_int8 yyr1 []
 
static const yytype_int8 yyr2 []
 

Macro Definition Documentation

◆ OR_TOOLS_FLATZINC_FLATZINC_TAB_HH_

#define OR_TOOLS_FLATZINC_FLATZINC_TAB_HH_

Definition at line 115 of file parser.tab.cc.

◆ ORFZ_DEBUG

#define ORFZ_DEBUG   0

Definition at line 105 of file parser.tab.cc.

◆ ORFZ_TOKENTYPE

#define ORFZ_TOKENTYPE

Definition at line 132 of file parser.tab.cc.

◆ YY_

#define YY_ ( Msgid)
Value:
Msgid

Definition at line 380 of file parser.tab.cc.

◆ YY_ACCESSING_SYMBOL

#define YY_ACCESSING_SYMBOL ( State)
Value:
yysymbol_kind_t
#define YY_CAST(Type, Val)
Definition parser.tab.cc:80
static const yytype_int8 yystos[]

Accessing symbol of state STATE.

Definition at line 622 of file parser.tab.cc.

◆ YY_ASSERT

#define YY_ASSERT ( E)
Value:
((void)(0 && (E)))

Definition at line 442 of file parser.tab.cc.

◆ YY_ATTRIBUTE_PURE

#define YY_ATTRIBUTE_PURE

Definition at line 388 of file parser.tab.cc.

◆ YY_ATTRIBUTE_UNUSED

#define YY_ATTRIBUTE_UNUSED

Definition at line 396 of file parser.tab.cc.

◆ YY_CAST

#define YY_CAST ( Type,
Val )
Value:
((Type)(Val))

Definition at line 80 of file parser.tab.cc.

◆ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN

#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN

Definition at line 424 of file parser.tab.cc.

◆ YY_IGNORE_MAYBE_UNINITIALIZED_END

#define YY_IGNORE_MAYBE_UNINITIALIZED_END

Definition at line 425 of file parser.tab.cc.

◆ YY_IGNORE_USELESS_CAST_BEGIN

#define YY_IGNORE_USELESS_CAST_BEGIN

Definition at line 438 of file parser.tab.cc.

◆ YY_IGNORE_USELESS_CAST_END

#define YY_IGNORE_USELESS_CAST_END

Definition at line 439 of file parser.tab.cc.

◆ YY_INITIAL_VALUE

#define YY_INITIAL_VALUE ( Value)
Value:
Value

Definition at line 421 of file parser.tab.cc.

◆ YY_NULLPTR

#define YY_NULLPTR   ((void*)0)

Definition at line 92 of file parser.tab.cc.

◆ YY_REDUCE_PRINT

#define YY_REDUCE_PRINT ( Rule)

Definition at line 980 of file parser.tab.cc.

◆ YY_REINTERPRET_CAST

#define YY_REINTERPRET_CAST ( Type,
Val )
Value:
((Type)(Val))

Definition at line 81 of file parser.tab.cc.

◆ YY_STACK_PRINT

#define YY_STACK_PRINT ( Bottom,
Top )

Definition at line 979 of file parser.tab.cc.

◆ YY_SYMBOL_PRINT

#define YY_SYMBOL_PRINT ( Title,
Kind,
Value,
Location )

Definition at line 978 of file parser.tab.cc.

◆ YY_USE

#define YY_USE ( E)
Value:
((void)(E))

Definition at line 402 of file parser.tab.cc.

◆ YYABORT

#define YYABORT   goto yyabortlab

Definition at line 843 of file parser.tab.cc.

◆ YYACCEPT

#define YYACCEPT   goto yyacceptlab

Definition at line 842 of file parser.tab.cc.

◆ YYBACKUP

#define YYBACKUP ( Token,
Value )
Value:
do \
if (yychar == ORFZ_EMPTY) { \
yychar = (Token); \
yylval = (Value); \
YYPOPSTACK(yylen); \
yystate = *yyssp; \
goto yybackup; \
} else { \
yyerror(context, model, ok, scanner, \
YY_("syntax error: cannot back up")); \
} \
while (0)
GRBmodel * model
GurobiMPCallbackContext * context
#define YY_(Msgid)
@ ORFZ_EMPTY
#define YYERROR
#define yylval
Definition parser.yy.cc:781

Definition at line 849 of file parser.tab.cc.

◆ YYBISON

#define YYBISON   30802

Definition at line 49 of file parser.tab.cc.

◆ YYBISON_VERSION

#define YYBISON_VERSION   "3.8.2"

Definition at line 52 of file parser.tab.cc.

◆ YYCASE_

#define YYCASE_ ( N,
S )
Value:
case N: \
yyformat = S; \
break

◆ yyclearin

#define yyclearin   (yychar = ORFZ_EMPTY)

Definition at line 840 of file parser.tab.cc.

◆ YYCOPY_NEEDED

#define YYCOPY_NEEDED   1

Definition at line 532 of file parser.tab.cc.

◆ yydebug

#define yydebug   orfz_debug

Definition at line 72 of file parser.tab.cc.

◆ YYDPRINTF

#define YYDPRINTF ( Args)
Value:
((void)0)

Definition at line 977 of file parser.tab.cc.

◆ YYERRCODE

#define YYERRCODE   ORFZ_UNDEF

Definition at line 866 of file parser.tab.cc.

◆ yyerrok

#define yyerrok   (yyerrstatus = 0)

Definition at line 839 of file parser.tab.cc.

◆ YYERROR

#define YYERROR   goto yyerrorlab

Definition at line 844 of file parser.tab.cc.

◆ yyerror

#define yyerror   orfz_error

Definition at line 71 of file parser.tab.cc.

◆ YYFINAL

#define YYFINAL   3

Definition at line 568 of file parser.tab.cc.

◆ YYFREE

#define YYFREE   free

Definition at line 506 of file parser.tab.cc.

◆ YYINITDEPTH

#define YYINITDEPTH   200

Definition at line 985 of file parser.tab.cc.

◆ YYLAST

#define YYLAST   264

Definition at line 570 of file parser.tab.cc.

◆ yylex

#define yylex   orfz_lex

Definition at line 70 of file parser.tab.cc.

◆ YYLEX_PARAM

#define YYLEX_PARAM   scanner

Defines the parameter to the orfz_lex() call from the orfz_parse() method.

Definition at line 124 of file parser.tab.cc.

◆ YYMALLOC

#define YYMALLOC   malloc

Definition at line 500 of file parser.tab.cc.

◆ YYMAXDEPTH

#define YYMAXDEPTH   10000

Definition at line 996 of file parser.tab.cc.

◆ YYMAXUTOK

#define YYMAXUTOK   276

Definition at line 582 of file parser.tab.cc.

◆ yynerrs

#define yynerrs   orfz_nerrs

Definition at line 73 of file parser.tab.cc.

◆ YYNNTS

#define YYNNTS   32

Definition at line 575 of file parser.tab.cc.

◆ YYNOMEM

#define YYNOMEM   goto yyexhaustedlab

Definition at line 845 of file parser.tab.cc.

◆ YYNRULES

#define YYNRULES   98

Definition at line 577 of file parser.tab.cc.

◆ YYNSTATES

#define YYNSTATES   225

Definition at line 579 of file parser.tab.cc.

◆ YYNTOKENS

#define YYNTOKENS   32

Definition at line 573 of file parser.tab.cc.

◆ YYPACT_NINF

#define YYPACT_NINF   (-184)

Definition at line 702 of file parser.tab.cc.

◆ yypact_value_is_default

#define yypact_value_is_default ( Yyn)
Value:
((Yyn) == YYPACT_NINF)
#define YYPACT_NINF

Definition at line 704 of file parser.tab.cc.

◆ yyparse

#define yyparse   orfz_parse

Definition at line 69 of file parser.tab.cc.

◆ YYPOPSTACK

#define YYPOPSTACK ( N)
Value:
(yyvsp -= (N), yyssp -= (N))

◆ YYPTRDIFF_MAXIMUM

#define YYPTRDIFF_MAXIMUM   LONG_MAX

Definition at line 342 of file parser.tab.cc.

◆ YYPTRDIFF_T

#define YYPTRDIFF_T   long

Definition at line 341 of file parser.tab.cc.

◆ YYPULL

#define YYPULL   1

Definition at line 64 of file parser.tab.cc.

◆ YYPURE

#define YYPURE   2

Definition at line 58 of file parser.tab.cc.

◆ YYPUSH

#define YYPUSH   0

Definition at line 61 of file parser.tab.cc.

◆ YYRECOVERING

#define YYRECOVERING ( )
Value:
(!!yyerrstatus)

Definition at line 847 of file parser.tab.cc.

◆ YYSIZE_MAXIMUM

#define YYSIZE_MAXIMUM
Value:
: YY_CAST(YYSIZE_T, -1)))
#define YYPTRDIFF_MAXIMUM
#define YYSIZE_T
#define YYPTRDIFF_T

Definition at line 359 of file parser.tab.cc.

◆ YYSIZE_T

#define YYSIZE_T   unsigned

Definition at line 355 of file parser.tab.cc.

◆ YYSIZEOF

#define YYSIZEOF ( X)
Value:
YY_CAST(YYPTRDIFF_T, sizeof(X))

Definition at line 364 of file parser.tab.cc.

◆ YYSKELETON_NAME

#define YYSKELETON_NAME   "yacc.c"

Definition at line 55 of file parser.tab.cc.

◆ YYSTACK_ALLOC

#define YYSTACK_ALLOC   YYMALLOC

Definition at line 486 of file parser.tab.cc.

◆ YYSTACK_ALLOC_MAXIMUM

#define YYSTACK_ALLOC_MAXIMUM   YYSIZE_MAXIMUM

Definition at line 489 of file parser.tab.cc.

◆ YYSTACK_BYTES

#define YYSTACK_BYTES ( N)
Value:
yytype_uint8 yy_state_t
#define YYSIZEOF(X)
#define YYSTACK_GAP_MAXIMUM

Definition at line 529 of file parser.tab.cc.

◆ YYSTACK_FREE

#define YYSTACK_FREE   YYFREE

Definition at line 487 of file parser.tab.cc.

◆ YYSTACK_GAP_MAXIMUM

#define YYSTACK_GAP_MAXIMUM   (YYSIZEOF(union yyalloc) - 1)

Definition at line 525 of file parser.tab.cc.

◆ YYSTACK_RELOCATE

#define YYSTACK_RELOCATE ( Stack_alloc,
Stack )
Value:
do { \
YYPTRDIFF_T yynewbytes; \
YYCOPY(&yyptr->Stack_alloc, Stack, yysize); \
Stack = &yyptr->Stack_alloc; \
yynewbytes = yystacksize * YYSIZEOF(*Stack) + YYSTACK_GAP_MAXIMUM; \
yyptr += yynewbytes / YYSIZEOF(*yyptr); \
} while (0)

Definition at line 539 of file parser.tab.cc.

◆ YYSTYPE

Tells flex to use the LexerInfo class to communicate with the bison parser.

Definition at line 67 of file parser.tab.cc.

◆ YYTABLE_NINF

#define YYTABLE_NINF   (-19)

Definition at line 706 of file parser.tab.cc.

◆ yytable_value_is_error

#define yytable_value_is_error ( Yyn)
Value:
0

Definition at line 708 of file parser.tab.cc.

◆ YYTRANSLATE

#define YYTRANSLATE ( YYX)
Value:
(0 <= (YYX) && (YYX) <= YYMAXUTOK \
static const yytype_int8 yytranslate[]
@ YYSYMBOL_YYUNDEF
#define YYMAXUTOK

Definition at line 586 of file parser.tab.cc.

Typedef Documentation

◆ orfz_token_kind_t

Definition at line 158 of file parser.tab.cc.

◆ yy_state_fast_t

typedef int yy_state_fast_t

Definition at line 370 of file parser.tab.cc.

◆ yy_state_t

Definition at line 367 of file parser.tab.cc.

◆ YYSTYPE

Tells flex to use the LexerInfo class to communicate with the bison parser.

Definition at line 121 of file parser.tab.cc.

◆ yysymbol_kind_t

Definition at line 236 of file parser.tab.cc.

◆ yytype_int16

typedef short yytype_int16

Definition at line 293 of file parser.tab.cc.

◆ yytype_int8

typedef signed char yytype_int8

Definition at line 285 of file parser.tab.cc.

◆ yytype_uint16

typedef unsigned short yytype_uint16

Definition at line 325 of file parser.tab.cc.

◆ yytype_uint8

typedef unsigned char yytype_uint8

Definition at line 314 of file parser.tab.cc.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
YYENOMEM 

Definition at line 837 of file parser.tab.cc.

◆ orfz_tokentype

Enumerator
ORFZ_EMPTY 
ORFZ_EOF 
ORFZ_error 
ORFZ_UNDEF 
ARRAY 
TOKEN_BOOL 
CONSTRAINT 
TOKEN_FLOAT 
TOKEN_INT 
MAXIMIZE 
MINIMIZE 
OF 
PREDICATE 
SATISFY 
SET 
SOLVE 
VAR 
DOTDOT 
COLONCOLON 
IVALUE 
SVALUE 
IDENTIFIER 
DVALUE 

Definition at line 133 of file parser.tab.cc.

◆ yysymbol_kind_t

Enumerator
YYSYMBOL_YYEMPTY 
YYSYMBOL_YYEOF 
YYSYMBOL_YYerror 
YYSYMBOL_YYUNDEF 
YYSYMBOL_ARRAY 
YYSYMBOL_TOKEN_BOOL 
YYSYMBOL_CONSTRAINT 
YYSYMBOL_TOKEN_FLOAT 
YYSYMBOL_TOKEN_INT 
YYSYMBOL_MAXIMIZE 
YYSYMBOL_MINIMIZE 
YYSYMBOL_OF 
YYSYMBOL_PREDICATE 
YYSYMBOL_SATISFY 
YYSYMBOL_SET 
YYSYMBOL_SOLVE 
YYSYMBOL_VAR 
YYSYMBOL_DOTDOT 
YYSYMBOL_COLONCOLON 
YYSYMBOL_IVALUE 
YYSYMBOL_SVALUE 
YYSYMBOL_IDENTIFIER 
YYSYMBOL_DVALUE 
YYSYMBOL_22_ 
YYSYMBOL_23_ 
YYSYMBOL_24_ 
YYSYMBOL_25_ 
YYSYMBOL_26_ 
YYSYMBOL_27_ 
YYSYMBOL_28_ 
YYSYMBOL_29_ 
YYSYMBOL_30_ 
YYSYMBOL_31_ 
YYSYMBOL_YYACCEPT 
YYSYMBOL_model 
YYSYMBOL_predicates 
YYSYMBOL_predicate 
YYSYMBOL_predicate_arguments 
YYSYMBOL_predicate_argument 
YYSYMBOL_predicate_array_argument 
YYSYMBOL_predicate_ints 
YYSYMBOL_variable_or_constant_declarations 
YYSYMBOL_variable_or_constant_declaration 
YYSYMBOL_optional_var_or_value 
YYSYMBOL_optional_var_or_value_array 
YYSYMBOL_var_or_value_array 
YYSYMBOL_var_or_value 
YYSYMBOL_int_domain 
YYSYMBOL_set_domain 
YYSYMBOL_float_domain 
YYSYMBOL_domain 
YYSYMBOL_integers 
YYSYMBOL_integer 
YYSYMBOL_floats 
YYSYMBOL_float 
YYSYMBOL_const_literal 
YYSYMBOL_const_literals 
YYSYMBOL_constraints 
YYSYMBOL_constraint 
YYSYMBOL_arguments 
YYSYMBOL_argument 
YYSYMBOL_annotations 
YYSYMBOL_annotation_arguments 
YYSYMBOL_annotation 
YYSYMBOL_solve 

Definition at line 167 of file parser.tab.cc.

Function Documentation

◆ free()

void free ( void * )

◆ malloc()

void * malloc ( YYSIZE_T )

◆ orfz_parse()

int orfz_parse ( operations_research::fz::ParserContext * context,
operations_research::fz::Model * model,
bool * ok,
void * scanner )

◆ yy_syntax_error_arguments()

static int yy_syntax_error_arguments ( const yypcontext_t * yyctx,
yysymbol_kind_t yyarg[],
int yyargn )
static

Definition at line 1113 of file parser.tab.cc.

◆ yydestruct()

static void yydestruct ( const char * yymsg,
yysymbol_kind_t yykind,
YYSTYPE * yyvaluep,
operations_research::fz::ParserContext * context,
operations_research::fz::Model * model,
bool * ok,
void * scanner )
static

Definition at line 1237 of file parser.tab.cc.

◆ yyparse()

int yyparse ( operations_research::fz::ParserContext * context,
operations_research::fz::Model * model,
bool * ok,
void * scanner )

Declaration of a (named) constant: we simply register it in the parser's context, and don't store it in the model.

Todo
(user): Check that the assignment is included in the domain.

Declaration of a (named) constant array. See rule right above.

Todo
(user): CHECK all values within domain.

Declaration of a (named) constant array. See rule right above.

Declaration of a (named) constant array. See rule right above.

Todo
(user): CHECK all values within domain.

Declaration of a (named) constant array. See rule right above.

Declaration of a (named) constant array: See rule above.

Todo
(user): check that all assignments are included in the domain.

Declaration of a variable. If it's unassigned or assigned to a constant, we'll create a new var stored in the model. If it's assigned to another variable x then we simply adjust that existing variable x according to the current (re-)declaration.

We also register the variable in the parser's context, and add some output to the model if needed.

Declaration of a "variable array": these is exactly like N simple variable declarations, where the identifier for declaration #i is IDENTIFIER[i] (1-based index).

Assigned to an float constant.

CHECK(domain.Contains(value));

Assigned to an integer constant.

Register the variable array on the context.

We parse the annotations to build an output object if needed. It's a bit more convoluted than the simple variable output.

We have found an output annotation.

Let's build the vector of bounds.

We add the output information.

A reference to an existing integer constant or variable.

A given element of an existing constant array or variable array.

Definition at line 1259 of file parser.tab.cc.

◆ yypcontext_expected_tokens()

static int yypcontext_expected_tokens ( const yypcontext_t * yyctx,
yysymbol_kind_t yyarg[],
int yyargn )
static

Definition at line 1011 of file parser.tab.cc.

◆ yystpcpy()

static char * yystpcpy ( char * yydest,
const char * yysrc )
static

Definition at line 1059 of file parser.tab.cc.

◆ yystrlen()

static YYPTRDIFF_T yystrlen ( const char * yystr)
static

Definition at line 1045 of file parser.tab.cc.

◆ yysymbol_name()

static const char * yysymbol_name ( yysymbol_kind_t yysymbol)
static

Definition at line 697 of file parser.tab.cc.

◆ yysyntax_error()

static int yysyntax_error ( YYPTRDIFF_T * yymsg_alloc,
char ** yymsg,
const yypcontext_t * yyctx )
static

Definition at line 1162 of file parser.tab.cc.

◆ yytnamerr()

static YYPTRDIFF_T yytnamerr ( char * yyres,
const char * yystr )
static

Definition at line 1078 of file parser.tab.cc.

Variable Documentation

◆ yycheck

const yytype_int16 yycheck[]
static
Initial value:
= {
7, 51, 58, 79, 76, 77, 113, 17, 1, 16, 3, 4, 5, 6, 7, 71,
0, 200, 11, 29, 13, 14, 15, 3, 4, 18, 6, 7, 21, 7, 5, 4,
215, 13, 7, 15, 43, 30, 18, 14, 18, 21, 149, 25, 20, 18, 28, 18,
98, 20, 30, 3, 4, 17, 6, 7, 22, 30, 130, 17, 31, 13, 18, 15,
20, 29, 18, 17, 118, 21, 17, 29, 28, 129, 4, 23, 6, 7, 30, 29,
17, 157, 29, 13, 4, 15, 6, 7, 18, 24, 25, 21, 29, 13, 4, 15,
6, 7, 18, 25, 30, 21, 28, 13, 18, 19, 20, 21, 18, 22, 30, 21,
18, 27, 20, 21, 30, 18, 19, 20, 30, 23, 25, 27, 30, 27, 27, 28,
31, 185, 186, 187, 139, 189, 18, 10, 20, 21, 18, 25, 20, 21, 8, 9,
28, 31, 12, 25, 28, 199, 22, 17, 159, 31, 161, 18, 19, 20, 20, 21,
18, 25, 20, 21, 27, 25, 28, 31, 28, 25, 25, 25, 28, 28, 28, 18,
26, 20, 24, 25, 20, 21, 16, 16, 26, 21, 18, 18, 27, 27, 20, 20,
27, 16, 22, 22, 16, 66, 24, 20, 25, 18, 26, 25, 23, 20, 18, 18,
26, 16, 20, 16, 28, 16, 28, 28, 7, 18, 10, 16, 10, 27, 18, 18,
18, 27, 108, 26, 28, 18, 18, 18, 18, 17, 202, 28, 132, 218, -1, 18,
140, 26, 20, 26, 26, 20, 20, 28, 28, 26, 26, 20, 20, 20, 27, 27,
27, 27, 56, 140, -1, 27, -1, 28, 140}

Definition at line 784 of file parser.tab.cc.

◆ yydefact

const yytype_int8 yydefact[]
static
Initial value:
= {
5, 0, 0, 1, 0, 0, 0, 71, 4, 0, 3, 0, 38, 46, 39, 0, 0, 0, 0,
0, 0, 48, 49, 50, 0, 0, 0, 0, 0, 0, 0, 0, 53, 54, 0, 52, 17, 0,
0, 85, 0, 0, 0, 0, 0, 8, 0, 0, 42, 43, 0, 0, 0, 40, 47, 0, 0,
41, 85, 0, 0, 70, 2, 0, 0, 6, 0, 0, 0, 0, 0, 85, 0, 51, 0, 0,
0, 0, 96, 0, 16, 0, 0, 13, 0, 7, 9, 0, 44, 45, 28, 55, 0, 75, 77,
80, 76, 0, 0, 0, 74, 98, 97, 89, 90, 91, 0, 84, 0, 0, 0, 10, 0, 0,
25, 61, 66, 65, 0, 19, 0, 0, 34, 36, 35, 83, 0, 33, 0, 85, 0, 0, 0,
0, 95, 0, 87, 15, 14, 0, 0, 27, 0, 0, 64, 0, 78, 0, 0, 0, 82, 79,
72, 73, 88, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 62, 0, 63, 81, 0, 32,
92, 93, 86, 0, 0, 0, 0, 0, 0, 67, 37, 0, 11, 0, 85, 85, 85, 12, 85,
0, 0, 0, 31, 0, 0, 0, 0, 26, 0, 0, 0, 0, 21, 0, 69, 0, 59, 58,
23, 0, 57, 30, 0, 20, 0, 24, 0, 0, 22, 29, 68, 0, 56, 60}

Definition at line 736 of file parser.tab.cc.

◆ yydefgoto

const yytype_uint8 yydefgoto[]
static
Initial value:
= {
0, 1, 2, 6, 44, 45, 82, 83, 7, 20, 114, 198, 126, 127, 21, 22,
23, 46, 34, 35, 210, 211, 119, 206, 25, 40, 99, 100, 60, 135, 136, 41}

Definition at line 757 of file parser.tab.cc.

◆ yypact

const yytype_int16 yypact[]
static
Initial value:
= {
-184, 16, 7, -184, 34, 24, 87, 20, -184, 52, -184, 96,
-184, -184, -184, 125, 90, 166, 167, 157, 128, -184, -184, -184,
150, 25, 48, 168, 27, 158, 169, 164, -184, 161, 97, -184,
-184, 170, 171, -184, 172, 173, 162, 90, 174, 175, 176, 177,
-184, -184, 180, 157, 179, -184, -184, 183, 157, -184, -184, 181,
134, -184, -184, 22, 182, -184, 48, 185, 188, 189, 114, -184,
184, -184, -10, 86, 86, 86, -184, 137, 178, 193, 186, -184,
190, -184, -184, 187, -184, -184, 36, -184, 94, 195, -184, 165,
-184, 116, 157, 65, -184, -184, -184, 197, -184, 98, 99, -184,
209, 199, 208, -184, 210, 142, -184, 203, 194, -184, 29, -184,
204, 205, -184, 198, -184, -184, 18, -184, 122, -184, 86, 206,
137, 211, -184, 74, -184, -184, -184, 70, 80, -184, 212, 213,
-184, 136, -184, 200, 214, 142, -184, -184, 216, -184, -184, 154,
207, 137, -184, 90, 201, 90, 215, 217, 218, -184, 219, -184,
-184, 220, -184, -184, -184, -184, 223, 222, 224, 225, 226, 231,
-184, -184, 232, -184, 233, -184, -184, -184, -184, -184, 42, 50,
53, 63, 227, 228, 229, 230, -184, 44, 94, 138, 120, -184,
140, -184, 144, 234, -184, -184, 145, -184, -184, 146, -184, 94,
-184, 221, 160, -184, -184, -184, 235, -184, -184}

Definition at line 712 of file parser.tab.cc.

◆ yypgoto

const yytype_int16 yypgoto[]
static
Initial value:
= {
-184, -184, -184, -184, 131, -184, -184, 118, -184, -184, -184,
-184, 32, -107, 100, 119, 124, -7, -50, 202, -184, 19,
-183, -184, -184, -184, -184, -72, -56, 104, -76, -184}

Definition at line 751 of file parser.tab.cc.

◆ yyr1

const yytype_int8 yyr1[]
static
Initial value:
= {
0, 32, 33, 34, 34, 34, 35, 36, 36, 37, 37, 37, 37, 38, 38, 39, 39,
40, 40, 41, 41, 41, 41, 41, 41, 41, 41, 42, 42, 43, 43, 43, 44, 44,
45, 45, 45, 45, 46, 46, 46, 46, 47, 47, 47, 47, 48, 48, 49, 49, 49,
50, 50, 51, 51, 51, 52, 52, 53, 53, 53, 54, 54, 54, 54, 54, 54, 54,
55, 55, 56, 56, 57, 58, 58, 59, 59, 59, 59, 59, 59, 59, 59, 59, 60,
60, 61, 61, 62, 62, 62, 62, 62, 62, 62, 62, 63, 63, 63}

Definition at line 820 of file parser.tab.cc.

◆ yyr2

const yytype_int8 yyr2[]
static
Initial value:
= {
0, 2, 5, 3, 3, 0, 5, 3, 1, 3, 4, 8, 9, 1, 3, 3, 1, 3, 0, 6,
15, 14, 15, 14, 15, 6, 13, 2, 0, 4, 3, 0, 3, 1, 1, 1, 1, 4, 1, 1,
3, 3, 3, 3, 5, 5, 1, 3, 1, 1, 1, 3, 1, 1, 1, 4, 3, 1, 1, 1,
4, 1, 3, 3, 2, 1, 1, 4, 3, 1, 3, 0, 6, 3, 1, 1, 1, 1, 3, 3,
1, 4, 3, 2, 3, 0, 3, 1, 3, 1, 1, 1, 4, 4, 3, 2, 3, 4, 4}

Definition at line 830 of file parser.tab.cc.

◆ yystos

const yytype_int8 yystos[]
static
Initial value:
= {
0, 33, 34, 0, 1, 11, 35, 40, 22, 20, 22, 3, 4, 6, 7, 13, 15, 18, 21,
30, 41, 46, 47, 48, 49, 56, 23, 27, 10, 49, 16, 16, 18, 20, 50, 51, 22, 26,
5, 14, 57, 63, 3, 15, 36, 37, 49, 18, 4, 7, 18, 30, 26, 18, 21, 27, 25,
31, 20, 20, 60, 22, 22, 27, 49, 24, 25, 26, 16, 16, 50, 20, 18, 51, 60, 23,
8, 9, 12, 17, 7, 18, 38, 39, 26, 36, 20, 18, 18, 31, 60, 28, 29, 18, 19,
20, 21, 27, 30, 58, 59, 59, 59, 18, 19, 20, 27, 62, 25, 16, 28, 20, 28, 29,
42, 18, 20, 21, 30, 54, 16, 27, 18, 20, 21, 28, 44, 45, 50, 24, 25, 16, 23,
27, 28, 61, 62, 39, 18, 10, 10, 45, 16, 27, 31, 50, 18, 18, 27, 25, 28, 31,
60, 59, 18, 61, 18, 25, 28, 15, 49, 15, 46, 47, 48, 18, 18, 31, 28, 18, 45,
24, 28, 62, 49, 26, 49, 26, 26, 26, 28, 28, 26, 20, 26, 20, 20, 20, 20, 20,
60, 60, 60, 60, 29, 29, 29, 29, 43, 27, 27, 27, 27, 28, 50, 54, 55, 20, 21,
28, 52, 53, 28, 44, 28, 25, 28, 27, 25, 28, 28, 54, 18, 53, 28}

Definition at line 805 of file parser.tab.cc.

◆ yytable

const yytype_int16 yytable[]
static
Initial value:
= {
24, 70, 74, 107, 101, 102, 141, 79, 4, 29, -18, -18, -18, -18, -18,
90, 3, 205, 5, 92, -18, -18, -18, 11, 12, -18, 13, 14, -18, 80,
38, 48, 221, 15, 49, 16, 64, -18, 17, 39, 81, 18, 170, 149, 9,
50, 150, 32, 128, 33, 19, 42, 12, 79, 13, 14, 8, 51, 153, 79,
144, 15, 32, 43, 33, 113, 17, 79, 145, 18, 79, 194, 203, 152, 12,
26, 13, 14, 19, 195, 79, 173, 196, 15, 12, 159, 13, 14, 17, 129,
130, 18, 197, 15, 12, 161, 13, 14, 17, 157, 19, 18, 158, 15, 93,
94, 95, 96, 17, 10, 19, 18, 115, 97, 116, 117, 98, 103, 104, 105,
19, 132, 56, 27, 118, 133, 106, 134, 57, 190, 191, 192, 160, 193, 122,
28, 123, 124, 122, 56, 123, 124, 76, 77, 125, 89, 78, 56, 212, 204,
36, 79, 174, 151, 176, 103, 104, 105, 207, 208, 122, 56, 123, 124, 106,
56, 209, 167, 214, 215, 218, 149, 216, 219, 220, 32, 37, 33, 171, 157,
207, 208, 30, 31, 52, 54, 47, 53, 55, 63, 58, 59, 121, 68, 61,
62, 69, 85, 65, 71, 66, 72, 67, 108, 75, 86, 87, 88, 84, 109,
111, 120, 91, 131, 110, 112, 80, 138, 139, 142, 140, 143, 146, 147, 154,
148, 137, 175, 168, 156, 165, 166, 169, 79, 213, 172, 155, 223, 0, 222,
162, 177, 183, 178, 179, 185, 186, 180, 181, 182, 184, 187, 188, 189, 199,
200, 201, 202, 73, 163, 0, 217, 0, 224, 164}

Definition at line 764 of file parser.tab.cc.

◆ yytname

const char* const yytname[]
static

Definition at line 631 of file parser.tab.cc.

◆ yytranslate

const yytype_int8 yytranslate[]
static
Initial value:
= {
0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
23, 24, 2, 2, 25, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 26, 22,
2, 29, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 27, 2, 28, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 30, 2, 31, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21}

Definition at line 593 of file parser.tab.cc.