52 #define YYBISON_VERSION "3.8.2"
55 #define YYSKELETON_NAME "yacc.c"
68 #define yyparse patterns_yyparse
69 #define yylex patterns_yylex
70 #define yyerror patterns_yyerror
71 #define yydebug patterns_yydebug
72 #define yynerrs patterns_yynerrs
73 #define yylval patterns_yylval
74 #define yychar patterns_yychar
80 #include "pips_config.h"
89 #include "resources.h"
100 #define TOKEN_NEWGEN_DOMAIN (-1)
101 #define ARGUMENT_NEWGEN_DOMAIN (-1)
102 #define gen_TOKEN_cons(t,l) gen_cons(t,l)
103 #define gen_ARGUMENT_cons(a,l) gen_cons(a,l)
107 #line 108 "patterns.c"
111 # define YY_CAST(Type, Val) static_cast<Type> (Val)
112 # define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
114 # define YY_CAST(Type, Val) ((Type) (Val))
115 # define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
119 # if defined __cplusplus
120 # if 201103L <= __cplusplus
121 # define YY_NULLPTR nullptr
123 # define YY_NULLPTR 0
126 # define YY_NULLPTR ((void*)0)
229 #ifndef __PTRDIFF_MAX__
231 # if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
242 #ifdef __INT_LEAST8_MAX__
244 #elif defined YY_STDINT_H
250 #ifdef __INT_LEAST16_MAX__
252 #elif defined YY_STDINT_H
264 # undef UINT_LEAST8_MAX
265 # undef UINT_LEAST16_MAX
266 # define UINT_LEAST8_MAX 255
267 # define UINT_LEAST16_MAX 65535
270 #if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
272 #elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
273 && UINT_LEAST8_MAX <= INT_MAX)
275 #elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
281 #if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
283 #elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
284 && UINT_LEAST16_MAX <= INT_MAX)
286 #elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
293 # if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
294 # define YYPTRDIFF_T __PTRDIFF_TYPE__
295 # define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
296 # elif defined PTRDIFF_MAX
300 # define YYPTRDIFF_T ptrdiff_t
301 # define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
303 # define YYPTRDIFF_T long
304 # define YYPTRDIFF_MAXIMUM LONG_MAX
309 # ifdef __SIZE_TYPE__
310 # define YYSIZE_T __SIZE_TYPE__
311 # elif defined size_t
312 # define YYSIZE_T size_t
313 # elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
315 # define YYSIZE_T size_t
317 # define YYSIZE_T unsigned
321 #define YYSIZE_MAXIMUM \
322 YY_CAST (YYPTRDIFF_T, \
323 (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \
324 ? YYPTRDIFF_MAXIMUM \
325 : YY_CAST (YYSIZE_T, -1)))
327 #define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
337 # if defined YYENABLE_NLS && YYENABLE_NLS
339 # include <libintl.h>
340 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
344 # define YY_(Msgid) Msgid
349 #ifndef YY_ATTRIBUTE_PURE
350 # if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
351 # define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
353 # define YY_ATTRIBUTE_PURE
357 #ifndef YY_ATTRIBUTE_UNUSED
358 # if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
359 # define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
361 # define YY_ATTRIBUTE_UNUSED
366 #if ! defined lint || defined __GNUC__
367 # define YY_USE(E) ((void) (E))
373 #if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
374 # if __GNUC__ * 100 + __GNUC_MINOR__ < 407
375 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
376 _Pragma ("GCC diagnostic push") \
377 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
379 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
380 _Pragma ("GCC diagnostic push") \
381 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
382 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
384 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
385 _Pragma ("GCC diagnostic pop")
387 # define YY_INITIAL_VALUE(Value) Value
389 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
390 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
391 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
393 #ifndef YY_INITIAL_VALUE
394 # define YY_INITIAL_VALUE(Value)
397 #if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
398 # define YY_IGNORE_USELESS_CAST_BEGIN \
399 _Pragma ("GCC diagnostic push") \
400 _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
401 # define YY_IGNORE_USELESS_CAST_END \
402 _Pragma ("GCC diagnostic pop")
404 #ifndef YY_IGNORE_USELESS_CAST_BEGIN
405 # define YY_IGNORE_USELESS_CAST_BEGIN
406 # define YY_IGNORE_USELESS_CAST_END
410 #define YY_ASSERT(E) ((void) (0 && (E)))
412 #if !defined yyoverflow
416 # ifdef YYSTACK_USE_ALLOCA
417 # if YYSTACK_USE_ALLOCA
419 # define YYSTACK_ALLOC __builtin_alloca
420 # elif defined __BUILTIN_VA_ARG_INCR
423 # define YYSTACK_ALLOC __alloca
424 # elif defined _MSC_VER
426 # define alloca _alloca
428 # define YYSTACK_ALLOC alloca
429 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
432 # ifndef EXIT_SUCCESS
433 # define EXIT_SUCCESS 0
440 # ifdef YYSTACK_ALLOC
442 # define YYSTACK_FREE(Ptr) do { ; } while (0)
443 # ifndef YYSTACK_ALLOC_MAXIMUM
448 # define YYSTACK_ALLOC_MAXIMUM 4032
451 # define YYSTACK_ALLOC YYMALLOC
452 # define YYSTACK_FREE YYFREE
453 # ifndef YYSTACK_ALLOC_MAXIMUM
454 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
456 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
457 && ! ((defined YYMALLOC || defined malloc) \
458 && (defined YYFREE || defined free)))
460 # ifndef EXIT_SUCCESS
461 # define EXIT_SUCCESS 0
465 # define YYMALLOC malloc
466 # if ! defined malloc && ! defined EXIT_SUCCESS
472 # if ! defined free && ! defined EXIT_SUCCESS
479 #if (! defined yyoverflow \
480 && (! defined __cplusplus \
481 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
491 # define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
495 # define YYSTACK_BYTES(N) \
496 ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
497 + YYSTACK_GAP_MAXIMUM)
499 # define YYCOPY_NEEDED 1
506 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
509 YYPTRDIFF_T yynewbytes; \
510 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
511 Stack = &yyptr->Stack_alloc; \
512 yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
513 yyptr += yynewbytes / YYSIZEOF (*yyptr); \
519 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
523 # if defined __GNUC__ && 1 < __GNUC__
524 # define YYCOPY(Dst, Src, Count) \
525 __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
527 # define YYCOPY(Dst, Src, Count) \
531 for (yyi = 0; yyi < (Count); yyi++) \
532 (Dst)[yyi] = (Src)[yyi]; \
554 #define YYMAXUTOK 310
559 #define YYTRANSLATE(YYX) \
560 (0 <= (YYX) && (YYX) <= YYMAXUTOK \
561 ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \
568 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
569 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
570 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
571 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
572 2, 2, 2, 2, 59, 2, 2, 2, 2, 2,
573 2, 2, 2, 2, 2, 2, 2, 2, 58, 60,
574 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
575 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
576 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
577 2, 61, 2, 62, 2, 2, 2, 2, 2, 2,
578 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
579 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
580 2, 2, 2, 56, 2, 57, 2, 2, 2, 2,
581 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
582 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
583 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
584 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
585 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
586 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
587 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
588 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
589 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
590 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
591 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
592 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
593 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
594 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
595 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
596 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
597 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
598 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
606 0, 150, 150, 154, 155, 159, 160, 161, 165, 172,
607 173, 176, 184, 190, 191, 194, 195, 196, 197, 198,
608 199, 200, 201, 202, 205, 208, 211, 212, 213, 214,
609 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
610 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
611 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
612 245, 246, 247, 248, 249, 250, 253, 254, 258, 259,
613 262, 263, 266, 270, 271
618 #define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
627 static const char *
const yytname[] =
629 "\"end of file\"",
"error",
"\"invalid token\"",
"UNKNOWN_TOK",
630 "REFERENCE_TOK",
"QI_REF_TOK",
"HI_REF_TOK",
"SI_REF_TOK",
"DI_REF_TOK",
631 "SF_REF_TOK",
"DF_REF_TOK",
"SC_REF_TOK",
"DC_REF_TOK",
"LOG_REF_TOK",
632 "CONSTANT_TOK",
"ASSIGN_OPERATOR_TOK",
"PLUS_OPERATOR_TOK",
633 "MINUS_OPERATOR_TOK",
"UNARY_MINUS_OPERATOR_TOK",
634 "MULTIPLY_OPERATOR_TOK",
"MULADD_OPERATOR_TOK",
"DIVIDE_OPERATOR_TOK",
635 "INVERSE_OPERATOR_TOK",
"POWER_OPERATOR_TOK",
"MODULO_OPERATOR_TOK",
636 "MIN_OPERATOR_TOK",
"COS_OPERATOR_TOK",
"SIN_OPERATOR_TOK",
637 "MIN0_OPERATOR_TOK",
"AMIN1_OPERATOR_TOK",
"DMIN1_OPERATOR_TOK",
638 "MAX_OPERATOR_TOK",
"MAX0_OPERATOR_TOK",
"AMAX1_OPERATOR_TOK",
639 "DMAX1_OPERATOR_TOK",
"ABS_OPERATOR_TOK",
"IABS_OPERATOR_TOK",
640 "DABS_OPERATOR_TOK",
"CABS_OPERATOR_TOK",
"AND_OPERATOR_TOK",
641 "OR_OPERATOR_TOK",
"NOT_OPERATOR_TOK",
"NON_EQUAL_OPERATOR_TOK",
642 "EQUIV_OPERATOR_TOK",
"NON_EQUIV_OPERATOR_TOK",
"TRUE_OPERATOR_TOK",
643 "FALSE_OPERATOR_TOK",
"GREATER_OR_EQUAL_OPERATOR_TOK",
644 "GREATER_THAN_OPERATOR_TOK",
"LESS_OR_EQUAL_OPERATOR_TOK",
645 "LESS_THAN_OPERATOR_TOK",
"EQUAL_OPERATOR_TOK",
"PHI_TOK",
"INTEGER_TOK",
646 "FLOAT_TOK",
"IDENTIFIER_TOK",
"'{'",
"'}'",
"':'",
"','",
"';'",
"'['",
647 "']'",
"$accept",
"definitions",
"definitions_list",
"definition",
648 "operation",
"opcodes_list",
"opcode",
"pattern",
"types_list",
"type",
649 "tokens_list",
"token",
"merge_arguments",
"arguments_list",
"argument",
660 #define YYPACT_NINF (-56)
662 #define yypact_value_is_default(Yyn) \
663 ((Yyn) == YYPACT_NINF)
665 #define YYTABLE_NINF (-1)
667 #define yytable_value_is_error(Yyn) \
674 -56, 8, -46, -56, -55, -56, -56, -56, -56, -56,
675 -4, 5, -53, -56, -56, -56, -56, -56, -56, -56,
676 -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
677 -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
678 -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
679 -56, -56, -56, 1, -4, 2, 4, -56, -56, 7,
680 3, -56, 11, 44, -56, 6, -56, -56, 9, -56,
681 -56, -56, -56, -56, -56, -56, -56, -56, 10, 44,
682 7, 13, 14, -56, -56, 12, 15, 17, -56, 18,
683 19, 16, 20, 21, -56, -52, -56, 26, -56
691 4, 0, 2, 1, 0, 3, 5, 6, 7, 10,
692 25, 0, 0, 26, 27, 28, 29, 30, 31, 32,
693 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
694 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
695 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
696 63, 64, 65, 67, 25, 0, 0, 8, 9, 71,
697 0, 24, 0, 14, 70, 66, 69, 12, 0, 15,
698 16, 17, 18, 19, 20, 21, 22, 23, 0, 14,
699 71, 0, 0, 13, 68, 0, 0, 0, 11, 0,
700 0, 0, 0, 0, 74, 0, 72, 0, 73
706 -56, -56, -56, -56, -56, -56, -56, -56, -6, -56,
707 27, -56, -56, -56, 0, -56, -56
713 0, 1, 2, 5, 6, 12, 58, 7, 78, 79,
714 53, 54, 60, 65, 66, 8, 95
722 13, 9, 56, 10, 57, 96, 11, 97, 3, 4,
723 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
724 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
725 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
726 44, 45, 46, 47, 48, 49, 50, 51, 52, 69,
727 70, 71, 72, 73, 74, 75, 76, 77, 55, 59,
728 64, 62, 63, 67, 68, 80, 85, 86, 81, 82,
729 89, 87, 91, 83, 94, 88, 93, 90, 92, 98,
735 4, 56, 55, 58, 57, 57, 61, 59, 0, 55,
736 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
737 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
738 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
739 44, 45, 46, 47, 48, 49, 50, 51, 52, 5,
740 6, 7, 8, 9, 10, 11, 12, 13, 53, 58,
741 53, 59, 58, 60, 53, 59, 53, 53, 59, 59,
742 53, 59, 53, 79, 53, 60, 56, 59, 62, 53,
750 0, 64, 65, 0, 55, 66, 67, 70, 78, 56,
751 58, 61, 68, 4, 14, 15, 16, 17, 18, 19,
752 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
753 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
754 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
755 50, 51, 52, 73, 74, 53, 55, 57, 69, 58,
756 75, 73, 59, 58, 53, 76, 77, 60, 53, 5,
757 6, 7, 8, 9, 10, 11, 12, 13, 71, 72,
758 59, 59, 59, 71, 77, 53, 53, 59, 60, 53,
759 59, 53, 62, 56, 53, 79, 57, 59, 53
765 0, 63, 64, 65, 65, 66, 66, 66, 67, 68,
766 68, 69, 70, 71, 71, 72, 72, 72, 72, 72,
767 72, 72, 72, 72, 73, 73, 74, 74, 74, 74,
768 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
769 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
770 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
771 74, 74, 74, 74, 74, 74, 75, 75, 76, 76,
778 0, 2, 1, 2, 0, 1, 1, 1, 4, 2,
779 0, 6, 5, 2, 0, 1, 1, 1, 1, 1,
780 1, 1, 1, 1, 2, 0, 1, 1, 1, 1,
781 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
782 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
783 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
784 1, 1, 1, 1, 1, 1, 2, 0, 3, 1,
791 #define yyerrok (yyerrstatus = 0)
792 #define yyclearin (yychar = YYEMPTY)
794 #define YYACCEPT goto yyacceptlab
795 #define YYABORT goto yyabortlab
796 #define YYERROR goto yyerrorlab
797 #define YYNOMEM goto yyexhaustedlab
800 #define YYRECOVERING() (!!yyerrstatus)
802 #define YYBACKUP(Token, Value) \
804 if (yychar == YYEMPTY) \
808 YYPOPSTACK (yylen); \
814 yyerror (YY_("syntax error: cannot back up")); \
821 #define YYERRCODE YYUNDEF
829 # define YYFPRINTF fprintf
832 # define YYDPRINTF(Args) \
841 # define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \
845 YYFPRINTF (stderr, "%s ", Title); \
846 yy_symbol_print (stderr, \
848 YYFPRINTF (stderr, "\n"); \
861 FILE *yyoutput = yyo;
895 for (; yybottom <= yytop; yybottom++)
897 int yybot = *yybottom;
903 # define YY_STACK_PRINT(Bottom, Top) \
906 yy_stack_print ((Bottom), (Top)); \
919 int yynrhs =
yyr2[yyrule];
921 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %d):\n",
924 for (yyi = 0; yyi < yynrhs; yyi++)
929 &yyvsp[(yyi + 1) - (yynrhs)]);
934 # define YY_REDUCE_PRINT(Rule) \
937 yy_reduce_print (yyssp, yyvsp, Rule); \
944 # define YYDPRINTF(Args) ((void) 0)
945 # define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
946 # define YY_STACK_PRINT(Bottom, Top)
947 # define YY_REDUCE_PRINT(Rule)
953 # define YYINITDEPTH 200
964 # define YYMAXDEPTH 10000
1011 int yyerrstatus = 0;
1040 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
1046 YYDPRINTF ((stderr,
"Starting parse\n"));
1066 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
1073 if (yyss + yystacksize - 1 <= yyssp)
1074 #if !defined yyoverflow && !defined YYSTACK_RELOCATE
1081 # if defined yyoverflow
1093 yyoverflow (
YY_(
"memory exhausted"),
1094 &yyss1, yysize *
YYSIZEOF (*yyssp),
1095 &yyvs1, yysize *
YYSIZEOF (*yyvsp),
1117 # undef YYSTACK_RELOCATE
1123 yyssp = yyss + yysize - 1;
1124 yyvsp = yyvs + yysize - 1;
1127 YYDPRINTF ((stderr,
"Stack size increased to %ld\n",
1128 YY_CAST (
long, yystacksize)));
1131 if (yyss + yystacksize - 1 <= yyssp)
1160 YYDPRINTF ((stderr,
"Reading a token\n"));
1168 YYDPRINTF ((stderr,
"Now at end of input.\n"));
1242 yyval = yyvsp[1-yylen];
1254 #line 1255 "patterns.c"
1260 #line 1261 "patterns.c"
1266 #line 1267 "patterns.c"
1276 #line 1277 "patterns.c"
1282 insert_pattern((yyvsp[-4].strVal), (yyvsp[-2].tokenList), (yyvsp[-1].argsList));
1284 #line 1285 "patterns.c"
1290 #line 1291 "patterns.c"
1296 #line 1297 "patterns.c"
1302 #line 1303 "patterns.c"
1308 #line 1309 "patterns.c"
1314 #line 1315 "patterns.c"
1320 #line 1321 "patterns.c"
1326 #line 1327 "patterns.c"
1332 #line 1333 "patterns.c"
1338 #line 1339 "patterns.c"
1344 #line 1345 "patterns.c"
1350 #line 1351 "patterns.c"
1358 #line 1359 "patterns.c"
1364 #line 1365 "patterns.c"
1370 #line 1371 "patterns.c"
1376 #line 1377 "patterns.c"
1382 #line 1383 "patterns.c"
1388 #line 1389 "patterns.c"
1394 #line 1395 "patterns.c"
1400 #line 1401 "patterns.c"
1406 #line 1407 "patterns.c"
1412 #line 1413 "patterns.c"
1418 #line 1419 "patterns.c"
1424 #line 1425 "patterns.c"
1430 #line 1431 "patterns.c"
1436 #line 1437 "patterns.c"
1442 #line 1443 "patterns.c"
1448 #line 1449 "patterns.c"
1454 #line 1455 "patterns.c"
1460 #line 1461 "patterns.c"
1466 #line 1467 "patterns.c"
1472 #line 1473 "patterns.c"
1478 #line 1479 "patterns.c"
1484 #line 1485 "patterns.c"
1490 #line 1491 "patterns.c"
1496 #line 1497 "patterns.c"
1502 #line 1503 "patterns.c"
1508 #line 1509 "patterns.c"
1514 #line 1515 "patterns.c"
1520 #line 1521 "patterns.c"
1526 #line 1527 "patterns.c"
1532 #line 1533 "patterns.c"
1538 #line 1539 "patterns.c"
1544 #line 1545 "patterns.c"
1550 #line 1551 "patterns.c"
1556 #line 1557 "patterns.c"
1562 #line 1563 "patterns.c"
1568 #line 1569 "patterns.c"
1574 #line 1575 "patterns.c"
1580 #line 1581 "patterns.c"
1586 #line 1587 "patterns.c"
1592 #line 1593 "patterns.c"
1598 #line 1599 "patterns.c"
1604 #line 1605 "patterns.c"
1609 { (yyval.
argsList) = (yyvsp[0].argsList); }
1610 #line 1611 "patterns.c"
1616 #line 1617 "patterns.c"
1622 #line 1623 "patterns.c"
1628 #line 1629 "patterns.c"
1634 #line 1635 "patterns.c"
1640 #line 1641 "patterns.c"
1645 {
insert_transformation( (yyvsp[-14].strVal), (yyvsp[-12].iVal), (yyvsp[-10].iVal), (yyvsp[-8].iVal), (yyvsp[-6].iVal), (yyvsp[-4].iVal), (yyvsp[-1].mappingsList)); }
1646 #line 1647 "patterns.c"
1652 #line 1653 "patterns.c"
1658 #line 1659 "patterns.c"
1662 #line 1663 "patterns.c"
1689 const int yyi =
yypgoto[yylhs] + *yyssp;
1690 yystate = (0 <= yyi && yyi <=
YYLAST &&
yycheck[yyi] == *yyssp
1712 if (yyerrstatus == 3)
1841 while (yyssp != yyss)
patternArg make_patternArg_static(intptr_t _field_)
patternArg make_patternArg_dynamic(void)
size_t sac_lineno
patterns.c
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
#define YYMAXDEPTH
YYMAXDEPTH – maximum size the stacks can grow to (effective only if the built-in stack extension meth...
static const yytype_int8 yytranslate[]
YYTRANSLATE[TOKEN-NUM] – Symbol number corresponding to TOKEN-NUM as returned by yylex.
yysymbol_kind_t
Symbol kind.
@ YYSYMBOL_HI_REF_TOK
QI_REF_TOK
@ YYSYMBOL_GREATER_OR_EQUAL_OPERATOR_TOK
FALSE_OPERATOR_TOK
@ YYSYMBOL_ASSIGN_OPERATOR_TOK
CONSTANT_TOK
@ YYSYMBOL_FALSE_OPERATOR_TOK
TRUE_OPERATOR_TOK
@ YYSYMBOL_MIN_OPERATOR_TOK
MODULO_OPERATOR_TOK
@ YYSYMBOL_NON_EQUAL_OPERATOR_TOK
NOT_OPERATOR_TOK
@ YYSYMBOL_DC_REF_TOK
SC_REF_TOK
@ YYSYMBOL_INVERSE_OPERATOR_TOK
DIVIDE_OPERATOR_TOK
@ YYSYMBOL_MAX0_OPERATOR_TOK
MAX_OPERATOR_TOK
@ YYSYMBOL_IABS_OPERATOR_TOK
ABS_OPERATOR_TOK
@ YYSYMBOL_TRUE_OPERATOR_TOK
NON_EQUIV_OPERATOR_TOK
@ YYSYMBOL_ABS_OPERATOR_TOK
DMAX1_OPERATOR_TOK
@ YYSYMBOL_SIN_OPERATOR_TOK
COS_OPERATOR_TOK
@ YYSYMBOL_FLOAT_TOK
INTEGER_TOK
@ YYSYMBOL_arguments_list
merge_arguments
@ YYSYMBOL_YYerror
"end of file"
@ YYSYMBOL_CABS_OPERATOR_TOK
DABS_OPERATOR_TOK
@ YYSYMBOL_operation
definition
@ YYSYMBOL_type
types_list
@ YYSYMBOL_LESS_OR_EQUAL_OPERATOR_TOK
GREATER_THAN_OPERATOR_TOK
@ YYSYMBOL_UNARY_MINUS_OPERATOR_TOK
MINUS_OPERATOR_TOK
@ YYSYMBOL_CONSTANT_TOK
LOG_REF_TOK
@ YYSYMBOL_NOT_OPERATOR_TOK
OR_OPERATOR_TOK
@ YYSYMBOL_EQUIV_OPERATOR_TOK
NON_EQUAL_OPERATOR_TOK
@ YYSYMBOL_MAX_OPERATOR_TOK
DMIN1_OPERATOR_TOK
@ YYSYMBOL_transformation
argument
@ YYSYMBOL_EQUAL_OPERATOR_TOK
LESS_THAN_OPERATOR_TOK
@ YYSYMBOL_MINUS_OPERATOR_TOK
PLUS_OPERATOR_TOK
@ YYSYMBOL_AND_OPERATOR_TOK
CABS_OPERATOR_TOK
@ YYSYMBOL_LESS_THAN_OPERATOR_TOK
LESS_OR_EQUAL_OPERATOR_TOK
@ YYSYMBOL_opcode
opcodes_list
@ YYSYMBOL_mappings
transformation
@ YYSYMBOL_DF_REF_TOK
SF_REF_TOK
@ YYSYMBOL_definitions_list
definitions
@ YYSYMBOL_SI_REF_TOK
HI_REF_TOK
@ YYSYMBOL_OR_OPERATOR_TOK
AND_OPERATOR_TOK
@ YYSYMBOL_definition
definitions_list
@ YYSYMBOL_SF_REF_TOK
DI_REF_TOK
@ YYSYMBOL_token
tokens_list
@ YYSYMBOL_COS_OPERATOR_TOK
MIN_OPERATOR_TOK
@ YYSYMBOL_SC_REF_TOK
DF_REF_TOK
@ YYSYMBOL_opcodes_list
operation
@ YYSYMBOL_AMIN1_OPERATOR_TOK
MIN0_OPERATOR_TOK
@ YYSYMBOL_IDENTIFIER_TOK
FLOAT_TOK
@ YYSYMBOL_POWER_OPERATOR_TOK
INVERSE_OPERATOR_TOK
@ YYSYMBOL_56_
IDENTIFIER_TOK
@ YYSYMBOL_AMAX1_OPERATOR_TOK
MAX0_OPERATOR_TOK
@ YYSYMBOL_PLUS_OPERATOR_TOK
ASSIGN_OPERATOR_TOK
@ YYSYMBOL_DMAX1_OPERATOR_TOK
AMAX1_OPERATOR_TOK
@ YYSYMBOL_types_list
pattern
@ YYSYMBOL_definitions
$accept
@ YYSYMBOL_tokens_list
type
@ YYSYMBOL_MULADD_OPERATOR_TOK
MULTIPLY_OPERATOR_TOK
@ YYSYMBOL_INTEGER_TOK
PHI_TOK
@ YYSYMBOL_REFERENCE_TOK
UNKNOWN_TOK
@ YYSYMBOL_MULTIPLY_OPERATOR_TOK
UNARY_MINUS_OPERATOR_TOK
@ YYSYMBOL_MIN0_OPERATOR_TOK
SIN_OPERATOR_TOK
@ YYSYMBOL_argument
arguments_list
@ YYSYMBOL_PHI_TOK
EQUAL_OPERATOR_TOK
@ YYSYMBOL_NON_EQUIV_OPERATOR_TOK
EQUIV_OPERATOR_TOK
@ YYSYMBOL_GREATER_THAN_OPERATOR_TOK
GREATER_OR_EQUAL_OPERATOR_TOK
@ YYSYMBOL_MODULO_OPERATOR_TOK
POWER_OPERATOR_TOK
@ YYSYMBOL_QI_REF_TOK
REFERENCE_TOK
@ YYSYMBOL_DMIN1_OPERATOR_TOK
AMIN1_OPERATOR_TOK
@ YYSYMBOL_DIVIDE_OPERATOR_TOK
MULADD_OPERATOR_TOK
@ YYSYMBOL_LOG_REF_TOK
DC_REF_TOK
@ YYSYMBOL_DI_REF_TOK
SI_REF_TOK
@ YYSYMBOL_merge_arguments
token
@ YYSYMBOL_DABS_OPERATOR_TOK
IABS_OPERATOR_TOK
@ YYSYMBOL_UNKNOWN_TOK
"invalid token"
static size_t opcode_argc
First part of user prologue.
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
static const yytype_int8 yydefact[]
YYDEFACT[STATE-NUM] – Default reduction number in state STATE-NUM.
#define YYNSTATES
YYNSTATES – Number of states.
#define YY_IGNORE_USELESS_CAST_END
#define YYSTACK_BYTES(N)
The size of an array large to enough to hold all stacks, each with N elements.
static const yytype_int8 yycheck[]
#define YY_REDUCE_PRINT(Rule)
#define YY_CAST(Type, Val)
static void yydestruct(const char *yymsg, yysymbol_kind_t yykind, YYSTYPE *yyvaluep)
-------------------------------------------—.
static const yytype_int8 yypact[]
YYPACT[STATE-NUM] – Index in YYTABLE of the portion describing STATE-NUM.
#define YYFINAL
!YYCOPY_NEEDED
#define YY_ACCESSING_SYMBOL(State)
Accessing symbol of state STATE.
#define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
void patterns_yyerror(const char *s)
#define YYNTOKENS
YYNTOKENS – Number of terminals.
unsigned char yytype_uint8
Work around bug in HP-UX 11.23, which defines these macros incorrectly for preprocessor constants.
#define YY_STACK_PRINT(Bottom, Top)
#define YY_IGNORE_USELESS_CAST_BEGIN
static const yytype_int8 yyr2[]
YYR2[RULE-NUM] – Number of symbols on the right-hand side of rule RULE-NUM.
static const yytype_int8 yytable[]
YYTABLE[YYPACT[STATE-NUM]] – What to do in state STATE-NUM.
#define yytable_value_is_error(Yyn)
#define YYTRANSLATE(YYX)
YYTRANSLATE(TOKEN-NUM) – Symbol number corresponding to TOKEN-NUM as returned by yylex,...
static const yytype_int8 yystos[]
YYSTOS[STATE-NUM] – The symbol kind of the accessing symbol of state STATE-NUM.
#define YY_ATTRIBUTE_UNUSED
static const yytype_int8 yypgoto[]
YYPGOTO[NTERM-NUM].
static const yytype_int8 yyr1[]
YYR1[RULE-NUM] – Symbol kind of the left-hand side of rule RULE-NUM.
int patterns_yywrap(void)
int yy_state_fast_t
State numbers in computations.
unsigned short yytype_uint16
static const yytype_int8 yydefgoto[]
YYDEFGOTO[NTERM-NUM].
#define YYLAST
YYLAST – Last index in YYTABLE.
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
Relocate STACK from its old location to the new one.
#define yypact_value_is_default(Yyn)
#define YYINITDEPTH
!YYDEBUG
signed char yytype_int8
On compilers that do not define PTRDIFF_MAX etc., make sure <limits.h> and (if available) <stdint....
#define YYSTACK_ALLOC
The parser invokes alloca or malloc; define the necessary symbols.
yytype_int8 yy_state_t
Stored state numbers (used for stacks).
#define YYDPRINTF(Args)
Enable debugging if requested.
#define YY_USE(E)
Suppress unused-variable warnings by "using" E.
@ ASSIGN_OPERATOR_TOK
CONSTANT_TOK
@ AMIN1_OPERATOR_TOK
MIN0_OPERATOR_TOK
@ REFERENCE_TOK
UNKNOWN_TOK
@ MAX_OPERATOR_TOK
DMIN1_OPERATOR_TOK
@ MIN_OPERATOR_TOK
MODULO_OPERATOR_TOK
@ DIVIDE_OPERATOR_TOK
MULADD_OPERATOR_TOK
@ MULTIPLY_OPERATOR_TOK
UNARY_MINUS_OPERATOR_TOK
@ POWER_OPERATOR_TOK
INVERSE_OPERATOR_TOK
@ PHI_TOK
EQUAL_OPERATOR_TOK
@ MULADD_OPERATOR_TOK
MULTIPLY_OPERATOR_TOK
@ CONSTANT_TOK
LOG_REF_TOK
@ NON_EQUIV_OPERATOR_TOK
EQUIV_OPERATOR_TOK
@ AMAX1_OPERATOR_TOK
MAX0_OPERATOR_TOK
@ ABS_OPERATOR_TOK
DMAX1_OPERATOR_TOK
@ PLUS_OPERATOR_TOK
ASSIGN_OPERATOR_TOK
@ DMAX1_OPERATOR_TOK
AMAX1_OPERATOR_TOK
@ INVERSE_OPERATOR_TOK
DIVIDE_OPERATOR_TOK
@ IABS_OPERATOR_TOK
ABS_OPERATOR_TOK
@ NON_EQUAL_OPERATOR_TOK
NOT_OPERATOR_TOK
@ FALSE_OPERATOR_TOK
TRUE_OPERATOR_TOK
@ TRUE_OPERATOR_TOK
NON_EQUIV_OPERATOR_TOK
@ GREATER_THAN_OPERATOR_TOK
GREATER_OR_EQUAL_OPERATOR_TOK
@ QI_REF_TOK
REFERENCE_TOK
@ GREATER_OR_EQUAL_OPERATOR_TOK
FALSE_OPERATOR_TOK
@ COS_OPERATOR_TOK
MIN_OPERATOR_TOK
@ LESS_THAN_OPERATOR_TOK
LESS_OR_EQUAL_OPERATOR_TOK
@ LESS_OR_EQUAL_OPERATOR_TOK
GREATER_THAN_OPERATOR_TOK
@ AND_OPERATOR_TOK
CABS_OPERATOR_TOK
@ MINUS_OPERATOR_TOK
PLUS_OPERATOR_TOK
@ EQUAL_OPERATOR_TOK
LESS_THAN_OPERATOR_TOK
@ DABS_OPERATOR_TOK
IABS_OPERATOR_TOK
@ UNARY_MINUS_OPERATOR_TOK
MINUS_OPERATOR_TOK
@ EQUIV_OPERATOR_TOK
NON_EQUAL_OPERATOR_TOK
@ NOT_OPERATOR_TOK
OR_OPERATOR_TOK
@ MODULO_OPERATOR_TOK
POWER_OPERATOR_TOK
@ CABS_OPERATOR_TOK
DABS_OPERATOR_TOK
@ DMIN1_OPERATOR_TOK
AMIN1_OPERATOR_TOK
@ MAX0_OPERATOR_TOK
MAX_OPERATOR_TOK
@ SIN_OPERATOR_TOK
COS_OPERATOR_TOK
@ OR_OPERATOR_TOK
AND_OPERATOR_TOK
@ MIN0_OPERATOR_TOK
SIN_OPERATOR_TOK
static const char * yysymbol_name(yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED
The user-facing name of the symbol whose (internal) number is YYSYMBOL.
static void yy_symbol_print(FILE *yyo, yysymbol_kind_t yykind, YYSTYPE const *const yyvaluep)
-----------------------—.
static const yytype_int16 yyrline[]
YYRLINE[YYN] – Source line where rule number YYN was defined.
static void yy_symbol_value_print(FILE *yyo, yysymbol_kind_t yykind, YYSTYPE const *const yyvaluep)
-------------------------------—.
static void yy_reduce_print(yy_state_t *yyssp, YYSTYPE *yyvsp, int yyrule)
--------------------------------------------—.
static const char *const yytname[]
YYTNAME[SYMBOL-NUM] – String name of the symbol SYMBOL-NUM.
static void yy_stack_print(yy_state_t *yybottom, yy_state_t *yytop)
--------------------------------------------------------------—.
#define YYFPRINTF
Enable debugging if requested.
#define YYEMPTY
Token kinds.
yysymbol_kind_t
!YY_GENREAD_Y_TAB_H_INCLUDED
int yy_state_fast_t
State numbers in computations.
signed char yytype_int8
On compilers that do not define PTRDIFF_MAX etc., make sure <limits.h> and (if available) <stdint....
yytype_int8 yy_state_t
Stored state numbers (used for stacks).
#define NIL
The empty list (nil in Lisp)
size_t gen_length(const list l)
#define CONS(_t_, _i_, _l_)
List element cell constructor (insert an element at the beginning of a list)
#define pips_assert(what, predicate)
common macros, two flavors depending on NDEBUG
#define pips_internal_error
opcode generate_opcode(string name, list types, float cost)
auto-guess vector size
void insert_transformation(char *, int, int, int, int, int, list)
vectransform.c
void insert_opcodeClass(char *, int, list)
void insert_pattern(char *, list, list)
#define int_least8_t
7.18.1.2.
INFRINGES ON USER NAME SPACE.