50#define YYBISON_VERSION "2.3"
53#define YYSKELETON_NAME "yacc.c"
62#define yyparse nseelparse
64#define yyerror nseelerror
65#define yylval nseellval
66#define yychar nseelchar
67#define yydebug nseeldebug
68#define yynerrs nseelnerrs
69#define yylloc nseellloc
104#define IDENTIFIER 259
110#define TOKEN_EQ_EXACT 265
112#define TOKEN_NE_EXACT 267
113#define TOKEN_LOGICAL_AND 268
114#define TOKEN_LOGICAL_OR 269
115#define TOKEN_ADD_OP 270
116#define TOKEN_SUB_OP 271
117#define TOKEN_MOD_OP 272
118#define TOKEN_OR_OP 273
119#define TOKEN_AND_OP 274
120#define TOKEN_XOR_OP 275
121#define TOKEN_DIV_OP 276
122#define TOKEN_MUL_OP 277
123#define TOKEN_POW_OP 278
124#define STRING_LITERAL 279
125#define STRING_IDENTIFIER 280
144#define scanner context->scanner
155#ifdef YYERROR_VERBOSE
156# undef YYERROR_VERBOSE
157# define YYERROR_VERBOSE 1
159# define YYERROR_VERBOSE 0
164# define YYTOKEN_TABLE 0
167#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
169# define yystype YYSTYPE
170# define YYSTYPE_IS_DECLARED 1
171# define YYSTYPE_IS_TRIVIAL 1
174#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
182# define yyltype YYLTYPE
183# define YYLTYPE_IS_DECLARED 1
184# define YYLTYPE_IS_TRIVIAL 1
206#elif (defined __STDC__ || defined __C99__FUNC__ \
207 || defined __cplusplus || defined _MSC_VER)
227# define YYSIZE_T __SIZE_TYPE__
229# define YYSIZE_T size_t
230# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
231 || defined __cplusplus || defined _MSC_VER)
233# define YYSIZE_T size_t
235# define YYSIZE_T unsigned int
239#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
242# if defined YYENABLE_NLS && YYENABLE_NLS
245# define YY_(msgid) dgettext ("bison-runtime", msgid)
249# define YY_(msgid) msgid
254#if ! defined lint || defined __GNUC__
255# define YYUSE(e) ((void) (e))
264#if (defined __STDC__ || defined __C99__FUNC__ \
265 || defined __cplusplus || defined _MSC_VER)
278#if ! defined yyoverflow || YYERROR_VERBOSE
282# ifdef YYSTACK_USE_ALLOCA
283# if YYSTACK_USE_ALLOCA
285# define YYSTACK_ALLOC __builtin_alloca
286# elif defined __BUILTIN_VA_ARG_INCR
289# define YYSTACK_ALLOC __alloca
290# elif defined _MSC_VER
292# define alloca _alloca
294# define YYSTACK_ALLOC alloca
295# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
296 || defined __cplusplus || defined _MSC_VER)
308# define YYSTACK_FREE(Ptr) do { ; } while (YYID (0))
309# ifndef YYSTACK_ALLOC_MAXIMUM
314# define YYSTACK_ALLOC_MAXIMUM 4032
317# define YYSTACK_ALLOC YYMALLOC
318# define YYSTACK_FREE YYFREE
319# ifndef YYSTACK_ALLOC_MAXIMUM
320# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
322# if (defined __cplusplus && ! defined _STDLIB_H \
323 && ! ((defined YYMALLOC || defined malloc) \
324 && (defined YYFREE || defined free)))
331# define YYMALLOC malloc
332# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
333 || defined __cplusplus || defined _MSC_VER)
339# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
340 || defined __cplusplus || defined _MSC_VER)
348#if (! defined yyoverflow \
349 && (! defined __cplusplus \
350 || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
351 && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
362# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
366# define YYSTACK_BYTES(N) \
367 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
368 + 2 * YYSTACK_GAP_MAXIMUM)
373# if defined __GNUC__ && 1 < __GNUC__
374# define YYCOPY(To, From, Count) \
375 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
377# define YYCOPY(To, From, Count) \
381 for (yyi = 0; yyi < (Count); yyi++) \
382 (To)[yyi] = (From)[yyi]; \
393# define YYSTACK_RELOCATE(Stack) \
396 YYSIZE_T yynewbytes; \
397 YYCOPY (&yyptr->Stack, Stack, yysize); \
398 Stack = &yyptr->Stack; \
399 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
400 yyptr += yynewbytes / sizeof (*yyptr); \
424#define YYTRANSLATE(YYX) \
425 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
430 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
431 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
432 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
433 2, 2, 2, 34, 2, 2, 2, 36, 39, 2,
434 27, 28, 38, 32, 26, 33, 2, 37, 2, 2,
435 2, 2, 2, 2, 2, 2, 2, 2, 45, 46,
436 42, 31, 43, 44, 2, 2, 2, 2, 2, 2,
437 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
438 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
439 2, 29, 2, 30, 35, 2, 2, 2, 2, 2,
440 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
441 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
442 2, 2, 2, 2, 40, 2, 41, 2, 2, 2,
443 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
444 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
445 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
446 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
447 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
448 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
449 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
450 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
451 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
452 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
453 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
454 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
455 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
456 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
457 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
466 0, 0, 3, 5, 9, 11, 14, 16, 20, 28,
467 33, 37, 44, 53, 57, 62, 64, 66, 68, 70,
468 72, 76, 80, 84, 88, 92, 96, 100, 104, 108,
469 112, 116, 120, 122, 125, 128, 131, 133, 137, 139,
470 143, 147, 151, 153, 157, 159, 163, 165, 169, 171,
471 175, 177, 181, 185, 189, 191, 195, 199, 203, 207,
472 211, 215, 219, 223, 225, 229, 233, 235, 241, 246,
479 65, 0, -1, 64, -1, 64, 26, 48, -1, 24,
480 -1, 24, 49, -1, 4, -1, 27, 64, 28, -1,
481 4, 27, 64, 28, 27, 64, 28, -1, 4, 27,
482 64, 28, -1, 4, 27, 28, -1, 4, 27, 64,
483 26, 64, 28, -1, 4, 27, 64, 26, 64, 26,
484 48, 28, -1, 51, 29, 30, -1, 51, 29, 64,
485 30, -1, 3, -1, 25, -1, 49, -1, 50, -1,
486 51, -1, 50, 31, 63, -1, 50, 15, 63, -1,
487 50, 16, 63, -1, 50, 17, 63, -1, 50, 18,
488 63, -1, 50, 19, 63, -1, 50, 20, 63, -1,
489 50, 21, 63, -1, 50, 22, 63, -1, 50, 23,
490 63, -1, 25, 31, 63, -1, 25, 15, 63, -1,
491 52, -1, 32, 53, -1, 33, 53, -1, 34, 53,
492 -1, 53, -1, 54, 35, 53, -1, 54, -1, 55,
493 36, 54, -1, 55, 5, 54, -1, 55, 6, 54,
494 -1, 55, -1, 56, 37, 55, -1, 56, -1, 57,
495 38, 56, -1, 57, -1, 58, 33, 57, -1, 58,
496 -1, 59, 32, 58, -1, 59, -1, 60, 39, 59,
497 -1, 60, 40, 59, -1, 60, 41, 59, -1, 60,
498 -1, 61, 42, 60, -1, 61, 43, 60, -1, 61,
499 7, 60, -1, 61, 8, 60, -1, 61, 9, 60,
500 -1, 61, 10, 60, -1, 61, 11, 60, -1, 61,
501 12, 60, -1, 61, -1, 62, 13, 61, -1, 62,
502 14, 61, -1, 62, -1, 62, 44, 63, 45, 63,
503 -1, 62, 44, 45, 63, -1, 62, 44, 63, -1,
504 63, -1, 64, 46, 63, -1, 64, 46, -1, 64,
511 0, 40, 40, 41, 48, 49, 57, 67, 71, 83,
512 93, 103, 114, 126, 130, 137, 138, 139, 143, 148,
513 149, 153, 157, 161, 165, 169, 173, 177, 181, 185,
514 189, 193, 200, 201, 205, 209, 216, 217, 224, 225,
515 229, 233, 240, 241, 249, 250, 258, 259, 266, 267,
516 274, 275, 279, 283, 290, 291, 295, 299, 303, 307,
517 311, 315, 319, 326, 327, 331, 338, 339, 343, 347,
522#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
525static const char *
const yytname[] =
527 "$end",
"error",
"$undefined",
"VALUE",
"IDENTIFIER",
"TOKEN_SHL",
528 "TOKEN_SHR",
"TOKEN_LTE",
"TOKEN_GTE",
"TOKEN_EQ",
"TOKEN_EQ_EXACT",
529 "TOKEN_NE",
"TOKEN_NE_EXACT",
"TOKEN_LOGICAL_AND",
"TOKEN_LOGICAL_OR",
530 "TOKEN_ADD_OP",
"TOKEN_SUB_OP",
"TOKEN_MOD_OP",
"TOKEN_OR_OP",
531 "TOKEN_AND_OP",
"TOKEN_XOR_OP",
"TOKEN_DIV_OP",
"TOKEN_MUL_OP",
532 "TOKEN_POW_OP",
"STRING_LITERAL",
"STRING_IDENTIFIER",
"','",
"'('",
533 "')'",
"'['",
"']'",
"'='",
"'+'",
"'-'",
"'!'",
"'^'",
"'%'",
"'/'",
534 "'*'",
"'&'",
"'|'",
"'~'",
"'<'",
"'>'",
"'?'",
"':'",
"';'",
"$accept",
535 "more_params",
"string",
"assignable_value",
"rvalue",
"assignment",
536 "unary_expr",
"pow_expr",
"mod_expr",
"div_expr",
"mul_expr",
"sub_expr",
537 "add_expr",
"andor_expr",
"cmp_expr",
"logical_and_or_expr",
538 "if_else_expr",
"expression",
"program", 0
547 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
548 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
549 275, 276, 277, 278, 279, 280, 44, 40, 41, 91,
550 93, 61, 43, 45, 33, 94, 37, 47, 42, 38,
551 124, 126, 60, 62, 63, 58, 59
558 0, 47, 48, 48, 49, 49, 50, 50, 50, 50,
559 50, 50, 50, 50, 50, 51, 51, 51, 51, 52,
560 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
561 52, 52, 53, 53, 53, 53, 54, 54, 55, 55,
562 55, 55, 56, 56, 57, 57, 58, 58, 59, 59,
563 60, 60, 60, 60, 61, 61, 61, 61, 61, 61,
564 61, 61, 61, 62, 62, 62, 63, 63, 63, 63,
571 0, 2, 1, 3, 1, 2, 1, 3, 7, 4,
572 3, 6, 8, 3, 4, 1, 1, 1, 1, 1,
573 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
574 3, 3, 1, 2, 2, 2, 1, 3, 1, 3,
575 3, 3, 1, 3, 1, 3, 1, 3, 1, 3,
576 1, 3, 3, 3, 1, 3, 3, 3, 3, 3,
577 3, 3, 3, 1, 3, 3, 1, 5, 4, 3,
586 0, 15, 6, 4, 16, 0, 0, 0, 0, 17,
587 18, 19, 32, 36, 38, 42, 44, 46, 48, 50,
588 54, 63, 66, 70, 73, 0, 0, 5, 0, 0,
589 0, 33, 34, 35, 0, 0, 0, 0, 0, 0,
590 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
591 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
592 0, 0, 0, 0, 0, 0, 0, 72, 1, 10,
593 0, 31, 30, 7, 21, 22, 23, 24, 25, 26,
594 27, 28, 29, 20, 13, 0, 37, 40, 41, 39,
595 43, 45, 47, 49, 51, 52, 53, 57, 58, 59,
596 60, 61, 62, 55, 56, 64, 65, 0, 69, 71,
597 0, 9, 14, 68, 0, 0, 0, 67, 0, 11,
604 -1, 121, 9, 10, 11, 12, 13, 14, 15, 16,
605 17, 18, 19, 20, 21, 22, 23, 122, 25
610#define YYPACT_NINF -38
613 70, -38, -21, 12, -11, 70, 70, 70, 70, -38,
614 102, 6, -38, -38, 50, 19, 4, 8, 14, 25,
615 51, 22, 40, -38, 47, 96, 34, -38, 70, 70,
616 43, -38, -38, -38, 70, 70, 70, 70, 70, 70,
617 70, 70, 70, 70, 45, 70, 70, 70, 70, 70,
618 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
619 70, 70, 70, 70, 70, 70, 18, 70, -38, -38,
620 55, -38, -38, -38, -38, -38, -38, -38, -38, -38,
621 -38, -38, -38, -38, -38, 30, -38, 50, 50, 50,
622 19, 4, 8, 14, 25, 25, 25, 51, 51, 51,
623 51, 51, 51, 51, 51, 22, 22, 70, 53, -38,
624 70, 72, -38, -38, 70, 60, 70, -38, 70, -38,
625 54, 77, -23, -38, -38, 70, -38
631 -38, -10, 111, -38, -38, -38, 11, 61, 79, 76,
632 80, 75, 58, 78, -37, -38, -27, 0, -38
639#define YYTABLE_NINF -1
642 24, 71, 72, 125, 28, 30, 26, 74, 75, 76,
643 77, 78, 79, 80, 81, 82, 83, 31, 32, 33,
644 29, 1, 2, 67, 46, 47, 70, 105, 106, 56,
645 57, 58, 59, 60, 61, 44, 3, 1, 2, 108,
646 109, 49, 3, 4, 85, 5, 50, 51, 1, 2,
647 6, 7, 8, 64, 65, 48, 86, 52, 3, 4,
648 112, 5, 69, 107, 62, 63, 6, 7, 8, 3,
649 4, 73, 5, 1, 2, 84, 67, 6, 7, 8,
650 113, 110, 123, 111, 66, 45, 118, 117, 119, 67,
651 53, 54, 55, 67, 3, 4, 68, 5, 114, 116,
652 67, 67, 6, 7, 8, 124, 67, 87, 88, 89,
653 115, 94, 95, 96, 27, 126, 120, 34, 35, 36,
654 37, 38, 39, 40, 41, 42, 91, 93, 90, 0,
655 0, 92, 0, 43, 97, 98, 99, 100, 101, 102,
661 0, 28, 29, 26, 15, 5, 27, 34, 35, 36,
662 37, 38, 39, 40, 41, 42, 43, 6, 7, 8,
663 31, 3, 4, 46, 5, 6, 26, 64, 65, 7,
664 8, 9, 10, 11, 12, 29, 24, 3, 4, 66,
665 67, 37, 24, 25, 44, 27, 38, 33, 3, 4,
666 32, 33, 34, 13, 14, 36, 45, 32, 24, 25,
667 30, 27, 28, 45, 42, 43, 32, 33, 34, 24,
668 25, 28, 27, 3, 4, 30, 46, 32, 33, 34,
669 107, 26, 28, 28, 44, 35, 26, 114, 28, 46,
670 39, 40, 41, 46, 24, 25, 0, 27, 45, 27,
671 46, 46, 32, 33, 34, 28, 46, 46, 47, 48,
672 110, 53, 54, 55, 3, 125, 116, 15, 16, 17,
673 18, 19, 20, 21, 22, 23, 50, 52, 49, -1,
674 -1, 51, -1, 31, 56, 57, 58, 59, 60, 61,
682 0, 3, 4, 24, 25, 27, 32, 33, 34, 49,
683 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
684 60, 61, 62, 63, 64, 65, 27, 49, 15, 31,
685 64, 53, 53, 53, 15, 16, 17, 18, 19, 20,
686 21, 22, 23, 31, 29, 35, 5, 6, 36, 37,
687 38, 33, 32, 39, 40, 41, 7, 8, 9, 10,
688 11, 12, 42, 43, 13, 14, 44, 46, 0, 28,
689 64, 63, 63, 28, 63, 63, 63, 63, 63, 63,
690 63, 63, 63, 63, 30, 64, 53, 54, 54, 54,
691 55, 56, 57, 58, 59, 59, 59, 60, 60, 60,
692 60, 60, 60, 60, 60, 61, 61, 45, 63, 63,
693 26, 28, 30, 63, 45, 64, 27, 63, 26, 28,
694 64, 48, 64, 28, 28, 26, 48
697#define yyerrok (yyerrstatus = 0)
698#define yyclearin (yychar = YYEMPTY)
702#define YYACCEPT goto yyacceptlab
703#define YYABORT goto yyabortlab
704#define YYERROR goto yyerrorlab
711#define YYFAIL goto yyerrlab
713#define YYRECOVERING() (!!yyerrstatus)
715#define YYBACKUP(Token, Value) \
717 if (yychar == YYEMPTY && yylen == 1) \
721 yytoken = YYTRANSLATE (yychar); \
727 yyerror (&yylloc, context, YY_("syntax error: cannot back up")); \
741#define YYRHSLOC(Rhs, K) ((Rhs)[K])
742#ifndef YYLLOC_DEFAULT
743# define YYLLOC_DEFAULT(Current, Rhs, N) \
747 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
748 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
749 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
750 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
754 (Current).first_line = (Current).last_line = \
755 YYRHSLOC (Rhs, 0).last_line; \
756 (Current).first_column = (Current).last_column = \
757 YYRHSLOC (Rhs, 0).last_column; \
767#ifndef YY_LOCATION_PRINT
768# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
769# define YY_LOCATION_PRINT(File, Loc) \
770 fprintf (File, "%d.%d-%d.%d", \
771 (Loc).first_line, (Loc).first_column, \
772 (Loc).last_line, (Loc).last_column)
774# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
782# define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM)
784# define YYLEX yylex (&yylval, &yylloc, scanner)
792# define YYFPRINTF fprintf
795# define YYDPRINTF(Args) \
801# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
805 YYFPRINTF (stderr, "%s ", Title); \
806 yy_symbol_print (stderr, \
807 Type, Value, Location, context); \
808 YYFPRINTF (stderr, "\n"); \
818#if (defined __STDC__ || defined __C99__FUNC__ \
819 || defined __cplusplus || defined _MSC_VER)
821yy_symbol_value_print (FILE *yyoutput,
int yytype,
YYSTYPE const *
const yyvaluep,
YYLTYPE const *
const yylocationp,
compileContext* context)
824yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, context)
827 YYSTYPE const *
const yyvaluep;
828 YYLTYPE const *
const yylocationp;
838 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
854#if (defined __STDC__ || defined __C99__FUNC__ \
855 || defined __cplusplus || defined _MSC_VER)
860yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp, context)
863 YYSTYPE const *
const yyvaluep;
864 YYLTYPE const *
const yylocationp;
869 YYFPRINTF (yyoutput,
"token %s (", yytname[yytype]);
871 YYFPRINTF (yyoutput,
"nterm %s (", yytname[yytype]);
874 YYFPRINTF (yyoutput,
": ");
875 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, context);
876 YYFPRINTF (yyoutput,
")");
884#if (defined __STDC__ || defined __C99__FUNC__ \
885 || defined __cplusplus || defined _MSC_VER)
890yy_stack_print (bottom, top)
895 YYFPRINTF (stderr,
"Stack now");
896 for (; bottom <= top; ++bottom)
897 YYFPRINTF (stderr,
" %d", *bottom);
898 YYFPRINTF (stderr,
"\n");
901# define YY_STACK_PRINT(Bottom, Top) \
904 yy_stack_print ((Bottom), (Top)); \
912#if (defined __STDC__ || defined __C99__FUNC__ \
913 || defined __cplusplus || defined _MSC_VER)
918yy_reduce_print (yyvsp, yylsp, yyrule, context)
925 int yynrhs =
yyr2[yyrule];
927 unsigned long int yylno = yyrline[yyrule];
928 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %lu):\n",
931 for (yyi = 0; yyi < yynrhs; yyi++)
933 fprintf (stderr,
" $%d = ", yyi + 1);
934 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
935 &(yyvsp[(yyi + 1) - (yynrhs)])
936 , &(yylsp[(yyi + 1) - (yynrhs)]) , context);
937 fprintf (stderr,
"\n");
941# define YY_REDUCE_PRINT(Rule) \
944 yy_reduce_print (yyvsp, yylsp, Rule, context); \
951# define YYDPRINTF(Args)
952# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
953# define YY_STACK_PRINT(Bottom, Top)
954# define YY_REDUCE_PRINT(Rule)
960# define YYINITDEPTH 200
971# define YYMAXDEPTH 10000
979# if defined __GLIBC__ && defined _STRING_H
980# define yystrlen strlen
983#if (defined __STDC__ || defined __C99__FUNC__ \
984 || defined __cplusplus || defined _MSC_VER)
986yystrlen (
const char *yystr)
994 for (yylen = 0; yystr[yylen]; yylen++)
1002# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1003# define yystpcpy stpcpy
1007#if (defined __STDC__ || defined __C99__FUNC__ \
1008 || defined __cplusplus || defined _MSC_VER)
1010yystpcpy (
char *yydest,
const char *yysrc)
1013yystpcpy (yydest, yysrc)
1019 const char *yys = yysrc;
1021 while ((*yyd++ = *yys++) !=
'\0')
1038yytnamerr (
char *yyres,
const char *yystr)
1043 char const *yyp = yystr;
1050 goto do_not_strip_quotes;
1054 goto do_not_strip_quotes;
1067 do_not_strip_quotes: ;
1071 return yystrlen (yystr);
1073 return yystpcpy (yyres, yystr) - yyres;
1085yysyntax_error (
char *yyresult,
int yystate,
int yychar)
1087 int yyn =
yypact[yystate];
1094 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
1097 int yysize_overflow = 0;
1098 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1099 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1105 YY_(
"syntax error, unexpected %s");
1106 YY_(
"syntax error, unexpected %s, expecting %s");
1107 YY_(
"syntax error, unexpected %s, expecting %s or %s");
1108 YY_(
"syntax error, unexpected %s, expecting %s or %s or %s");
1109 YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s");
1113 static char const yyunexpected[] =
"syntax error, unexpected %s";
1114 static char const yyexpecting[] =
", expecting %s";
1115 static char const yyor[] =
" or %s";
1116 char yyformat[
sizeof yyunexpected
1117 +
sizeof yyexpecting - 1
1118 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
1119 * (
sizeof yyor - 1))];
1120 char const *yyprefix = yyexpecting;
1124 int yyxbegin = yyn < 0 ? -yyn : 0;
1127 int yychecklim =
YYLAST - yyn + 1;
1131 yyarg[0] = yytname[yytype];
1132 yyfmt = yystpcpy (yyformat, yyunexpected);
1134 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1137 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1141 yyformat[
sizeof yyunexpected - 1] =
'\0';
1144 yyarg[yycount++] = yytname[yyx];
1145 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
1146 yysize_overflow |= (yysize1 < yysize);
1148 yyfmt = yystpcpy (yyfmt, yyprefix);
1152 yyf =
YY_(yyformat);
1153 yysize1 = yysize + yystrlen (yyf);
1154 yysize_overflow |= (yysize1 < yysize);
1157 if (yysize_overflow)
1165 char *yyp = yyresult;
1167 while ((*yyp = *yyf) !=
'\0')
1169 if (*yyp ==
'%' && yyf[1] ==
's' && yyi < yycount)
1171 yyp += yytnamerr (yyp, yyarg[yyi++]);
1192#if (defined __STDC__ || defined __C99__FUNC__ \
1193 || defined __cplusplus || defined _MSC_VER)
1207 YYUSE (yylocationp);
1219 #define yydestruct(a,b,c,d,e)
1233#if defined __STDC__ || defined __cplusplus
1234int yyparse (
void *YYPARSE_PARAM);
1239#if defined __STDC__ || defined __cplusplus
1256#if (defined __STDC__ || defined __C99__FUNC__ \
1257 || defined __cplusplus || defined _MSC_VER)
1263 void *YYPARSE_PARAM;
1266#if (defined __STDC__ || defined __C99__FUNC__ \
1267 || defined __cplusplus || defined _MSC_VER)
1298 char *yymsg = yymsgbuf;
1299 YYSIZE_T yymsg_alloc =
sizeof yymsgbuf;
1327#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
1340 YYDPRINTF ((stderr,
"Starting parse\n"));
1355#if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
1374 if (yyss + yystacksize - 1 <= yyssp)
1377 YYSIZE_T yysize = yyssp - yyss + 1;
1392 yyoverflow (
YY_(
"memory exhausted"),
1393 &yyss1, yysize *
sizeof (*yyssp),
1394 &yyvs1, yysize *
sizeof (*yyvsp),
1395 &yyls1, yysize *
sizeof (*yylsp),
1402# ifndef YYSTACK_RELOCATE
1403 goto yyexhaustedlab;
1407 goto yyexhaustedlab;
1417 goto yyexhaustedlab;
1421# undef YYSTACK_RELOCATE
1428 yyssp =
yyss + yysize - 1;
1429 yyvsp =
yyvs + yysize - 1;
1430 yylsp =
yyls + yysize - 1;
1432 YYDPRINTF ((stderr,
"Stack size increased to %lu\n",
1433 (
unsigned long int) yystacksize));
1435 if (
yyss + yystacksize - 1 <= yyssp)
1439 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
1461 YYDPRINTF ((stderr,
"Reading a token: "));
1468 YYDPRINTF ((stderr,
"Now at end of input.\n"));
1536 yyval = yyvsp[1-yylen];
1554 (yyval) = (yyvsp[(1) - (2)]);
1572 (yyval) = (yyvsp[(2) - (3)]);
1582 if (err == -1)
yyerror(&yylsp[-2], context,
"");
1583 else if (err == 0)
yyerror(&yylsp[-6], context,
"");
1584 else yyerror(&yylsp[-3], context,
"");
1597 if (err == 0)
yyerror(&yylsp[-3], context,
"");
1598 else yyerror(&yylsp[0], context,
"");
1610 if (err == 0)
yyerror(&yylsp[-2], context,
"");
1611 else yyerror(&yylsp[0], context,
"");
1623 if (err == 0)
yyerror(&yylsp[-5], context,
"");
1624 else if (err == 2)
yyerror(&yylsp[0], context,
"");
1625 else yyerror(&yylsp[-2], context,
"");
1637 if (err == 0)
yyerror(&yylsp[-7], context,
"");
1638 else if (err==2)
yyerror(&yylsp[0], context,
"");
1639 else if (err==4)
yyerror(&yylsp[-4], context,
"");
1640 else yyerror(&yylsp[-2], context,
"");
1754 (yyval) = (yyvsp[(2) - (2)]);
1922 (yyval) =
nseel_createIfElse(context, (yyvsp[(1) - (5)]), (yyvsp[(3) - (5)]), (yyvsp[(5) - (5)]));
1950 (yyval) = (yyvsp[(1) - (2)]);
1957 if ((yylsp[(1) - (1)]).first_line) { }
1958 context->
result = (yyvsp[(1) - (1)]);
1983 if (0 <= yystate && yystate <=
YYLAST &&
yycheck[yystate] == *yyssp)
1999#if ! YYERROR_VERBOSE
2009 if (yymsg != yymsgbuf)
2017 yymsg_alloc =
sizeof yymsgbuf;
2021 if (0 < yysize && yysize <= yymsg_alloc)
2023 (
void) yysyntax_error (yymsg, yystate,
yychar);
2030 goto yyexhaustedlab;
2036 yyerror_range[0] =
yylloc;
2038 if (yyerrstatus == 3)
2073 yyerror_range[0] = yylsp[1-yylen];
2107 yyerror_range[0] = *yylsp;
2109 yystos[yystate], yyvsp, yylsp, context);
2120 yyerror_range[1] =
yylloc;
2167 while (yyssp != yyss)
2170 yystos[*yyssp], yyvsp, yylsp, context);
2178 if (yymsg != yymsgbuf)
2182 return YYID (yyresult);
register unsigned i
Definition inflate.c:1575
#define YYSTYPE
Definition ns-eel-int.h:99
struct _compileContext compileContext
@ FN_NE_EXACT
Definition ns-eel-int.h:68
@ FN_GT
Definition ns-eel-int.h:62
@ FN_GTE
Definition ns-eel-int.h:64
@ FN_ADD
Definition ns-eel-int.h:49
@ FN_SHR
Definition ns-eel-int.h:58
@ FN_POW_OP
Definition ns-eel-int.h:85
@ FN_DIVIDE
Definition ns-eel-int.h:45
@ FN_MOD_OP
Definition ns-eel-int.h:79
@ FN_EQ
Definition ns-eel-int.h:65
@ FN_LT
Definition ns-eel-int.h:61
@ FN_OR_OP
Definition ns-eel-int.h:80
@ FN_UMINUS
Definition ns-eel-int.h:53
@ FN_NE
Definition ns-eel-int.h:67
@ FN_MOD
Definition ns-eel-int.h:59
@ FN_SUB
Definition ns-eel-int.h:50
@ FN_LOGICAL_AND
Definition ns-eel-int.h:69
@ FN_XOR
Definition ns-eel-int.h:56
@ FN_MUL_OP
Definition ns-eel-int.h:84
@ FN_MULTIPLY
Definition ns-eel-int.h:44
@ FN_DIV_OP
Definition ns-eel-int.h:83
@ FN_XOR_OP
Definition ns-eel-int.h:82
@ FN_SUB_OP
Definition ns-eel-int.h:78
@ FN_AND_OP
Definition ns-eel-int.h:81
@ FN_LOGICAL_OR
Definition ns-eel-int.h:70
@ FN_ADD_OP
Definition ns-eel-int.h:77
@ FN_SHL
Definition ns-eel-int.h:57
@ FN_JOIN_STATEMENTS
Definition ns-eel-int.h:46
@ FN_AND
Definition ns-eel-int.h:51
@ FN_NOT
Definition ns-eel-int.h:54
@ FN_EQ_EXACT
Definition ns-eel-int.h:66
@ FN_OR
Definition ns-eel-int.h:52
@ FN_LTE
Definition ns-eel-int.h:63
@ FN_POW
Definition ns-eel-int.h:60
@ FN_ASSIGN
Definition ns-eel-int.h:75
opcodeRec * nseel_setCompiledFunctionCallParameters(compileContext *ctx, opcodeRec *fn, opcodeRec *code1, opcodeRec *code2, opcodeRec *code3, opcodeRec *postCode, int *errOut)
Definition nseel-compiler.c:1359
opcodeRec * nseel_createMemoryAccess(compileContext *ctx, opcodeRec *code1, opcodeRec *code2)
Definition nseel-compiler.c:1459
opcodeRec * nseel_createSimpleCompiledFunction(compileContext *ctx, int fn, int np, opcodeRec *code1, opcodeRec *code2)
Definition nseel-compiler.c:1472
opcodeRec * nseel_createMoreParametersOpcode(compileContext *ctx, opcodeRec *code1, opcodeRec *code2)
Definition nseel-compiler.c:1429
opcodeRec * nseel_createCompiledValue(compileContext *ctx, EEL_F value)
Definition nseel-compiler.c:897
opcodeRec * nseel_createIfElse(compileContext *ctx, opcodeRec *code1, opcodeRec *code2, opcodeRec *code3)
Definition nseel-compiler.c:1441
opcodeRec * nseel_createFunctionByName(compileContext *ctx, const char *name, int np, opcodeRec *code1, opcodeRec *code2, opcodeRec *code3)
Definition nseel-compiler.c:5676
opcodeRec * nseel_resolve_named_symbol(compileContext *ctx, opcodeRec *rec, int parmcnt, int *errOut)
Definition nseel-compiler.c:946
opcodeRec * nseel_eelMakeOpcodeFromStringSegments(compileContext *ctx, struct eelStringSegmentRec *rec)
Definition nseel-compiler.c:1419
opcodeRec * result
Definition ns-eel-int.h:192
int last_line
Definition y.tab.h:109
int first_column
Definition y.tab.h:108
int first_line
Definition y.tab.h:107
int last_column
Definition y.tab.h:110
Definition eel_import.h:27
struct eelStringSegmentRec * _next
Definition eel_import.h:28
YYSTYPE yyvs
Definition y.tab.c:357
YYLTYPE yyls
Definition y.tab.c:358
yytype_int16 yyss
Definition y.tab.c:356
#define void
Definition unzip.h:396
unsigned short int yytype_uint16
Definition y.tab.c:216
#define TOKEN_EQ_EXACT
Definition y.tab.c:110
#define YYID(n)
Definition y.tab.c:262
static const yytype_uint8 yyr1[]
Definition y.tab.c:556
#define yylloc
Definition y.tab.c:69
#define YYLEX
Definition y.tab.c:784
#define YYMAXDEPTH
Definition y.tab.c:971
yytokentype
Definition y.tab.c:76
#define yydestruct(a, b, c, d, e)
#define YYSTACK_FREE
Definition y.tab.c:318
#define YY_SYMBOL_PRINT(Title, Type, Value, Location)
Definition y.tab.c:952
#define TOKEN_ADD_OP
Definition y.tab.c:115
#define TOKEN_XOR_OP
Definition y.tab.c:120
#define yychar
Definition y.tab.c:66
#define STRING_LITERAL
Definition y.tab.c:124
#define TOKEN_NE_EXACT
Definition y.tab.c:112
static const yytype_uint8 yytranslate[]
Definition y.tab.c:428
#define YYEOF
Definition y.tab.c:700
#define YYABORT
Definition y.tab.c:703
#define YYSTACK_BYTES(N)
Definition y.tab.c:366
static const yytype_int8 yycheck[]
Definition y.tab.c:659
#define IDENTIFIER
Definition y.tab.c:104
#define YYLLOC_DEFAULT(Current, Rhs, N)
Definition y.tab.c:743
#define YY_REDUCE_PRINT(Rule)
Definition y.tab.c:954
#define TOKEN_LOGICAL_OR
Definition y.tab.c:114
#define YYTABLE_NINF
Definition y.tab.c:639
#define TOKEN_DIV_OP
Definition y.tab.c:121
#define YY_LOCATION_PRINT(File, Loc)
Definition y.tab.c:769
#define TOKEN_OR_OP
Definition y.tab.c:118
static const yytype_int8 yypact[]
Definition y.tab.c:611
#define TOKEN_AND_OP
Definition y.tab.c:119
#define TOKEN_SUB_OP
Definition y.tab.c:116
#define YYPACT_NINF
Definition y.tab.c:610
#define YYFINAL
Definition y.tab.c:407
#define STRING_IDENTIFIER
Definition y.tab.c:125
#define TOKEN_GTE
Definition y.tab.c:108
#define yylval
Definition y.tab.c:65
#define YYNTOKENS
Definition y.tab.c:412
#define TOKEN_LOGICAL_AND
Definition y.tab.c:113
unsigned char yytype_uint8
Definition y.tab.c:201
#define YY_STACK_PRINT(Bottom, Top)
Definition y.tab.c:953
#define TOKEN_SHL
Definition y.tab.c:105
#define YYSIZE_T
Definition y.tab.c:235
#define YYSTACK_ALLOC_MAXIMUM
Definition y.tab.c:320
#define yydebug
Definition y.tab.c:67
#define yynerrs
Definition y.tab.c:68
#define VALUE
Definition y.tab.c:103
#define yyparse
Definition y.tab.c:62
#define TOKEN_LTE
Definition y.tab.c:107
static const yytype_uint8 yyr2[]
Definition y.tab.c:569
#define YYACCEPT
Definition y.tab.c:702
#define YYTRANSLATE(YYX)
Definition y.tab.c:424
#define YYSIZE_MAXIMUM
Definition y.tab.c:239
static const yytype_int8 yypgoto[]
Definition y.tab.c:629
static const yytype_uint8 yystos[]
Definition y.tab.c:680
#define YYSTACK_RELOCATE(Stack)
Definition y.tab.c:393
#define TOKEN_MOD_OP
Definition y.tab.c:117
#define YYTERROR
Definition y.tab.c:733
#define YYUSE(e)
Definition y.tab.c:255
static const yytype_int8 yydefgoto[]
Definition y.tab.c:602
#define TOKEN_POW_OP
Definition y.tab.c:123
short int yytype_int16
Definition y.tab.c:222
#define TOKEN_EQ
Definition y.tab.c:109
#define YYEMPTY
Definition y.tab.c:699
#define YYLAST
Definition y.tab.c:409
#define YYINITDEPTH
Definition y.tab.c:960
static const yytype_uint8 yytable[]
Definition y.tab.c:640
#define YYERROR
Definition y.tab.c:704
#define YY_(x)
Definition y.tab.c:145
#define YYSTACK_ALLOC
Definition y.tab.c:317
#define TOKEN_MUL_OP
Definition y.tab.c:122
#define YYDPRINTF(Args)
Definition y.tab.c:951
static const yytype_uint8 yydefact[]
Definition y.tab.c:584
#define TOKEN_NE
Definition y.tab.c:111
#define yyerror
Definition y.tab.c:64
short int yytype_int8
Definition y.tab.c:210
#define TOKEN_SHR
Definition y.tab.c:106