52 #define YYBISON_VERSION "3.8.2"
55 #define YYSKELETON_NAME "yacc.c"
68 #define yyparse step_lexerparse
69 #define yylex step_lexerlex
70 #define yyerror step_lexererror
71 #define yydebug step_lexerdebug
72 #define yynerrs step_lexernerrs
73 #define yylval step_lexerlval
74 #define yychar step_lexerchar
77 #line 1 "step_bison_parser.y"
80 #include "pips_config.h"
83 extern int step_lexer_scan_string(
char*);
84 extern int step_parse();
111 #line 112 "step_bison_parser.c"
115 # define YY_CAST(Type, Val) static_cast<Type> (Val)
116 # define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
118 # define YY_CAST(Type, Val) ((Type) (Val))
119 # define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
123 # if defined __cplusplus
124 # if 201103L <= __cplusplus
125 # define YY_NULLPTR nullptr
127 # define YY_NULLPTR 0
130 # define YY_NULLPTR ((void*)0)
218 #ifndef __PTRDIFF_MAX__
220 # if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
231 #ifdef __INT_LEAST8_MAX__
233 #elif defined YY_STDINT_H
239 #ifdef __INT_LEAST16_MAX__
241 #elif defined YY_STDINT_H
253 # undef UINT_LEAST8_MAX
254 # undef UINT_LEAST16_MAX
255 # define UINT_LEAST8_MAX 255
256 # define UINT_LEAST16_MAX 65535
259 #if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
261 #elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
262 && UINT_LEAST8_MAX <= INT_MAX)
264 #elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
270 #if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
272 #elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
273 && UINT_LEAST16_MAX <= INT_MAX)
275 #elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
282 # if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
283 # define YYPTRDIFF_T __PTRDIFF_TYPE__
284 # define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
285 # elif defined PTRDIFF_MAX
289 # define YYPTRDIFF_T ptrdiff_t
290 # define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
292 # define YYPTRDIFF_T long
293 # define YYPTRDIFF_MAXIMUM LONG_MAX
298 # ifdef __SIZE_TYPE__
299 # define YYSIZE_T __SIZE_TYPE__
300 # elif defined size_t
301 # define YYSIZE_T size_t
302 # elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
304 # define YYSIZE_T size_t
306 # define YYSIZE_T unsigned
310 #define YYSIZE_MAXIMUM \
311 YY_CAST (YYPTRDIFF_T, \
312 (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \
313 ? YYPTRDIFF_MAXIMUM \
314 : YY_CAST (YYSIZE_T, -1)))
316 #define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
326 # if defined YYENABLE_NLS && YYENABLE_NLS
328 # include <libintl.h>
329 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
333 # define YY_(Msgid) Msgid
338 #ifndef YY_ATTRIBUTE_PURE
339 # if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
340 # define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
342 # define YY_ATTRIBUTE_PURE
346 #ifndef YY_ATTRIBUTE_UNUSED
347 # if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
348 # define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
350 # define YY_ATTRIBUTE_UNUSED
355 #if ! defined lint || defined __GNUC__
356 # define YY_USE(E) ((void) (E))
362 #if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
363 # if __GNUC__ * 100 + __GNUC_MINOR__ < 407
364 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
365 _Pragma ("GCC diagnostic push") \
366 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
368 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
369 _Pragma ("GCC diagnostic push") \
370 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
371 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
373 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
374 _Pragma ("GCC diagnostic pop")
376 # define YY_INITIAL_VALUE(Value) Value
378 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
379 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
380 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
382 #ifndef YY_INITIAL_VALUE
383 # define YY_INITIAL_VALUE(Value)
386 #if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
387 # define YY_IGNORE_USELESS_CAST_BEGIN \
388 _Pragma ("GCC diagnostic push") \
389 _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
390 # define YY_IGNORE_USELESS_CAST_END \
391 _Pragma ("GCC diagnostic pop")
393 #ifndef YY_IGNORE_USELESS_CAST_BEGIN
394 # define YY_IGNORE_USELESS_CAST_BEGIN
395 # define YY_IGNORE_USELESS_CAST_END
399 #define YY_ASSERT(E) ((void) (0 && (E)))
401 #if !defined yyoverflow
405 # ifdef YYSTACK_USE_ALLOCA
406 # if YYSTACK_USE_ALLOCA
408 # define YYSTACK_ALLOC __builtin_alloca
409 # elif defined __BUILTIN_VA_ARG_INCR
412 # define YYSTACK_ALLOC __alloca
413 # elif defined _MSC_VER
415 # define alloca _alloca
417 # define YYSTACK_ALLOC alloca
418 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
421 # ifndef EXIT_SUCCESS
422 # define EXIT_SUCCESS 0
429 # ifdef YYSTACK_ALLOC
431 # define YYSTACK_FREE(Ptr) do { ; } while (0)
432 # ifndef YYSTACK_ALLOC_MAXIMUM
437 # define YYSTACK_ALLOC_MAXIMUM 4032
440 # define YYSTACK_ALLOC YYMALLOC
441 # define YYSTACK_FREE YYFREE
442 # ifndef YYSTACK_ALLOC_MAXIMUM
443 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
445 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
446 && ! ((defined YYMALLOC || defined malloc) \
447 && (defined YYFREE || defined free)))
449 # ifndef EXIT_SUCCESS
450 # define EXIT_SUCCESS 0
454 # define YYMALLOC malloc
455 # if ! defined malloc && ! defined EXIT_SUCCESS
461 # if ! defined free && ! defined EXIT_SUCCESS
468 #if (! defined yyoverflow \
469 && (! defined __cplusplus \
470 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
480 # define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
484 # define YYSTACK_BYTES(N) \
485 ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
486 + YYSTACK_GAP_MAXIMUM)
488 # define YYCOPY_NEEDED 1
495 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
498 YYPTRDIFF_T yynewbytes; \
499 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
500 Stack = &yyptr->Stack_alloc; \
501 yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
502 yyptr += yynewbytes / YYSIZEOF (*yyptr); \
508 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
512 # if defined __GNUC__ && 1 < __GNUC__
513 # define YYCOPY(Dst, Src, Count) \
514 __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
516 # define YYCOPY(Dst, Src, Count) \
520 for (yyi = 0; yyi < (Count); yyi++) \
521 (Dst)[yyi] = (Src)[yyi]; \
540 #define YYNSTATES 105
543 #define YYMAXUTOK 285
548 #define YYTRANSLATE(YYX) \
549 (0 <= (YYX) && (YYX) <= YYMAXUTOK \
550 ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \
557 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
558 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
559 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
560 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
561 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
562 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
563 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
564 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
565 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
566 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
567 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
568 2, 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, 2, 2, 2, 2, 2, 2,
573 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
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, 2, 2, 2, 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, 2, 2, 2, 2, 2, 2, 2,
581 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
582 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
583 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
584 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
585 25, 26, 27, 28, 29, 30
592 0, 72, 72, 75, 74, 80, 79, 86, 89, 90,
593 95, 94, 99, 98, 103, 102, 106, 108, 110, 115,
594 114, 119, 121, 123, 125, 127, 131, 132, 135, 138,
595 141, 144, 147, 153, 154, 157, 160, 163, 166, 171,
596 172, 176, 177, 180, 183, 186, 189, 192, 195, 200,
597 200, 207, 206, 215, 214, 222, 222, 230, 229, 238,
598 237, 246, 248, 245, 256, 255, 262, 266, 273, 277
603 #define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
614 "\"end of file\"",
"error",
"\"invalid token\"",
"TK_EOL",
"TK_ERROR",
615 "TK_LPAREN",
"TK_RPAREN",
"TK_COLON",
"TK_COMMA",
"TK_IDENT",
616 "TK_COMMENT",
"TK_OPERATOR",
"TK_RAW",
"TK_OMP_PRAGMA",
617 "TK_OMP_PARALLEL",
"TK_OMP_LOOP",
"TK_OMP_END",
"TK_OMP_BARRIER",
618 "TK_OMP_MASTER",
"TK_OMP_SINGLE",
"TK_OMP_THREADPRIVATE",
619 "TK_OMP_SHARED",
"TK_OMP_PRIVATE",
"TK_OMP_NOWAIT",
"TK_OMP_REDUCTION",
620 "TK_OMP_DEFAULT",
"TK_OMP_COPYIN",
"TK_OMP_FIRSTPRIVATE",
621 "TK_OMP_SCHEDULE",
"TK_STEP_PRAGMA",
"TK_STEP_TRANSFORMATION",
"$accept",
622 "pragma",
"$@1",
"$@2",
"step_transformation",
"omp_comment",
623 "omp_directive",
"@3",
"@4",
"@5",
"@6",
"omp_parallel_clauses",
624 "omp_loop_clauses",
"omp_end_loop_clauses",
"omp_parallel_loop_clauses",
625 "omp_shared",
"$@7",
"omp_private",
"$@8",
"omp_copyin",
"$@9",
626 "omp_threadprivate_listvar",
"$@10",
"omp_firstprivate",
"$@11",
627 "omp_schedule",
"$@12",
"omp_reduction",
"$@13",
"$@14",
"omp_default",
628 "$@15",
"string_list",
"ident_list",
YY_NULLPTR
638 #define YYPACT_NINF (-76)
640 #define yypact_value_is_default(Yyn) \
641 ((Yyn) == YYPACT_NINF)
643 #define YYTABLE_NINF (-41)
645 #define yytable_value_is_error(Yyn) \
652 -10, -76, -76, -76, 13, 21, -2, -76, 14, -76,
653 47, -76, -76, -76, -76, 20, -76, 39, -76, -76,
654 -76, 28, 22, -76, -76, -76, -76, 43, -76, -76,
655 23, 29, -76, 36, -76, -76, 49, -76, -4, -76,
656 -76, -76, -76, -76, -76, -76, -76, -76, -76, -76,
657 -76, -76, -76, -76, -76, -76, -76, 24, 46, -76,
658 -76, -76, -76, -76, -76, -76, 70, 71, 72, 73,
659 74, 75, 76, -76, 3, 46, 46, 77, 78, 46,
660 46, 80, -76, 81, 4, 25, -76, 79, 61, 62,
661 -76, 65, -76, -76, -76, 84, -76, -76, -76, -76,
670 0, 2, 3, 5, 0, 0, 0, 1, 10, 12,
671 0, 18, 16, 17, 19, 8, 7, 0, 14, 26,
672 33, 21, 33, 24, 25, 55, 9, 0, 6, 41,
673 11, 13, 23, 0, 22, 20, 0, 4, 15, 49,
674 51, 61, 64, 53, 57, 27, 28, 29, 30, 31,
675 32, 38, 59, 34, 35, 37, 36, 38, 0, 42,
676 43, 44, 45, 47, 46, 48, 0, 0, 0, 0,
677 0, 0, 0, 68, 0, 0, 0, 0, 0, 0,
678 0, 0, 56, 0, 0, 0, 62, 0, 0, 0,
679 66, 0, 69, 50, 52, 0, 65, 54, 58, 60,
686 -76, -76, -76, -76, -76, -76, -76, -76, -76, -76,
687 -76, -76, 60, -76, -76, 45, -76, -24, -76, 48,
688 -76, -76, -76, -23, -76, 55, -76, -22, -76, -76,
695 0, 4, 5, 6, 17, 27, 15, 19, 20, 29,
696 25, 30, 31, 34, 38, 45, 66, 53, 67, 47,
697 70, 35, 36, 54, 71, 55, 72, 56, 68, 95,
706 84, 85, 1, 2, 88, 89, 46, 48, 49, 82,
707 93, 83, 83, 7, 60, 62, 64, 39, 40, 3,
708 41, 42, 43, 44, 52, -39, 103, -40, 16, 18,
709 26, 94, -39, 83, -40, 8, 9, 10, 11, 12,
710 13, 14, 28, 32, 39, 40, 37, 41, 42, 43,
711 44, 40, 51, 41, 58, 73, 44, 52, 40, 57,
712 41, 21, 22, 44, 52, 23, 24, 97, 98, 83,
713 83, 99, 104, 100, 83, 75, 76, 77, 78, 79,
714 80, 81, 33, 59, 0, 96, 61, 87, 86, 90,
720 75, 76, 12, 13, 79, 80, 30, 30, 30, 6,
721 6, 8, 8, 0, 38, 38, 38, 21, 22, 29,
722 24, 25, 26, 27, 28, 3, 101, 3, 30, 15,
723 10, 6, 10, 8, 10, 14, 15, 16, 17, 18,
724 19, 20, 3, 15, 21, 22, 3, 24, 25, 26,
725 27, 22, 23, 24, 5, 9, 27, 28, 22, 23,
726 24, 14, 15, 27, 28, 18, 19, 6, 6, 8,
727 8, 6, 6, 8, 8, 5, 5, 5, 5, 5,
728 5, 5, 22, 38, -1, 6, 38, 9, 11, 9,
736 0, 12, 13, 29, 32, 33, 34, 0, 14, 15,
737 16, 17, 18, 19, 20, 37, 30, 35, 15, 38,
738 39, 14, 15, 18, 19, 41, 10, 36, 3, 40,
739 42, 43, 15, 43, 44, 52, 53, 3, 45, 21,
740 22, 24, 25, 26, 27, 46, 48, 50, 54, 58,
741 61, 23, 28, 48, 54, 56, 58, 23, 5, 46,
742 48, 50, 54, 56, 58, 61, 47, 49, 59, 62,
743 51, 55, 57, 9, 64, 5, 5, 5, 5, 5,
744 5, 5, 6, 8, 64, 64, 11, 9, 64, 64,
745 9, 63, 9, 6, 6, 60, 6, 6, 6, 6,
752 0, 31, 32, 33, 32, 34, 32, 35, 36, 36,
753 38, 37, 39, 37, 40, 37, 37, 37, 37, 41,
754 37, 37, 37, 37, 37, 37, 42, 42, 42, 42,
755 42, 42, 42, 43, 43, 43, 43, 43, 43, 44,
756 44, 45, 45, 45, 45, 45, 45, 45, 45, 47,
757 46, 49, 48, 51, 50, 53, 52, 55, 54, 57,
758 56, 59, 60, 58, 62, 61, 63, 63, 64, 64
764 0, 2, 1, 0, 5, 0, 4, 1, 0, 1,
765 0, 3, 0, 3, 0, 4, 1, 1, 1, 0,
766 3, 2, 3, 3, 2, 2, 0, 2, 2, 2,
767 2, 2, 2, 0, 2, 2, 2, 2, 2, 0,
768 2, 0, 2, 2, 2, 2, 2, 2, 2, 0,
769 5, 0, 5, 0, 5, 0, 4, 0, 5, 0,
770 5, 0, 0, 8, 0, 5, 1, 3, 1, 3
776 #define yyerrok (yyerrstatus = 0)
777 #define yyclearin (yychar = YYEMPTY)
779 #define YYACCEPT goto yyacceptlab
780 #define YYABORT goto yyabortlab
781 #define YYERROR goto yyerrorlab
782 #define YYNOMEM goto yyexhaustedlab
785 #define YYRECOVERING() (!!yyerrstatus)
787 #define YYBACKUP(Token, Value) \
789 if (yychar == YYEMPTY) \
793 YYPOPSTACK (yylen); \
799 yyerror (YY_("syntax error: cannot back up")); \
806 #define YYERRCODE YYUNDEF
814 # define YYFPRINTF fprintf
817 # define YYDPRINTF(Args) \
826 # define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \
830 YYFPRINTF (stderr, "%s ", Title); \
831 yy_symbol_print (stderr, \
833 YYFPRINTF (stderr, "\n"); \
846 FILE *yyoutput = yyo;
880 for (; yybottom <= yytop; yybottom++)
882 int yybot = *yybottom;
888 # define YY_STACK_PRINT(Bottom, Top) \
891 yy_stack_print ((Bottom), (Top)); \
904 int yynrhs =
yyr2[yyrule];
906 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %d):\n",
909 for (yyi = 0; yyi < yynrhs; yyi++)
914 &yyvsp[(yyi + 1) - (yynrhs)]);
919 # define YY_REDUCE_PRINT(Rule) \
922 yy_reduce_print (yyssp, yyvsp, Rule); \
929 # define YYDPRINTF(Args) ((void) 0)
930 # define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
931 # define YY_STACK_PRINT(Bottom, Top)
932 # define YY_REDUCE_PRINT(Rule)
938 # define YYINITDEPTH 200
949 # define YYMAXDEPTH 10000
1025 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
1031 YYDPRINTF ((stderr,
"Starting parse\n"));
1051 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
1058 if (yyss + yystacksize - 1 <= yyssp)
1059 #if !defined yyoverflow && !defined YYSTACK_RELOCATE
1066 # if defined yyoverflow
1078 yyoverflow (
YY_(
"memory exhausted"),
1079 &yyss1, yysize *
YYSIZEOF (*yyssp),
1080 &yyvs1, yysize *
YYSIZEOF (*yyvsp),
1102 # undef YYSTACK_RELOCATE
1108 yyssp = yyss + yysize - 1;
1109 yyvsp = yyvs + yysize - 1;
1112 YYDPRINTF ((stderr,
"Stack size increased to %ld\n",
1113 YY_CAST (
long, yystacksize)));
1116 if (yyss + yystacksize - 1 <= yyssp)
1145 YYDPRINTF ((stderr,
"Reading a token\n"));
1153 YYDPRINTF ((stderr,
"Now at end of input.\n"));
1227 yyval = yyvsp[1-yylen];
1234 #line 72 "step_bison_parser.y"
1236 #line 1237 "step_bison_parser.c"
1240 #line 75 "step_bison_parser.y"
1242 #line 1243 "step_bison_parser.c"
1246 #line 77 "step_bison_parser.y"
1248 #line 1249 "step_bison_parser.c"
1252 #line 80 "step_bison_parser.y"
1254 #line 1255 "step_bison_parser.c"
1258 #line 82 "step_bison_parser.y"
1260 #line 1261 "step_bison_parser.c"
1264 #line 86 "step_bison_parser.y"
1266 #line 1267 "step_bison_parser.c"
1270 #line 90 "step_bison_parser.y"
1271 {
pips_debug(1,
"COMMENT : %s\n", (yyvsp[0].
string));}
1272 #line 1273 "step_bison_parser.c"
1276 #line 95 "step_bison_parser.y"
1278 #line 1279 "step_bison_parser.c"
1282 #line 97 "step_bison_parser.y"
1284 #line 1285 "step_bison_parser.c"
1288 #line 99 "step_bison_parser.y"
1290 #line 1291 "step_bison_parser.c"
1294 #line 101 "step_bison_parser.y"
1296 #line 1297 "step_bison_parser.c"
1300 #line 103 "step_bison_parser.y"
1302 #line 1303 "step_bison_parser.c"
1306 #line 105 "step_bison_parser.y"
1308 #line 1309 "step_bison_parser.c"
1312 #line 107 "step_bison_parser.y"
1314 #line 1315 "step_bison_parser.c"
1318 #line 109 "step_bison_parser.y"
1320 #line 1321 "step_bison_parser.c"
1324 #line 111 "step_bison_parser.y"
1328 #line 1329 "step_bison_parser.c"
1332 #line 115 "step_bison_parser.y"
1334 #line 1335 "step_bison_parser.c"
1338 #line 117 "step_bison_parser.y"
1341 #line 1342 "step_bison_parser.c"
1345 #line 120 "step_bison_parser.y"
1347 #line 1348 "step_bison_parser.c"
1351 #line 122 "step_bison_parser.y"
1353 #line 1354 "step_bison_parser.c"
1357 #line 124 "step_bison_parser.y"
1359 #line 1360 "step_bison_parser.c"
1363 #line 126 "step_bison_parser.y"
1365 #line 1366 "step_bison_parser.c"
1369 #line 128 "step_bison_parser.y"
1371 #line 1372 "step_bison_parser.c"
1375 #line 131 "step_bison_parser.y"
1377 #line 1378 "step_bison_parser.c"
1381 #line 133 "step_bison_parser.y"
1384 #line 1385 "step_bison_parser.c"
1388 #line 136 "step_bison_parser.y"
1391 #line 1392 "step_bison_parser.c"
1395 #line 139 "step_bison_parser.y"
1398 #line 1399 "step_bison_parser.c"
1402 #line 142 "step_bison_parser.y"
1405 #line 1406 "step_bison_parser.c"
1409 #line 145 "step_bison_parser.y"
1412 #line 1413 "step_bison_parser.c"
1416 #line 148 "step_bison_parser.y"
1418 (yyval.
liste) = (yyvsp[-1].liste); }
1419 #line 1420 "step_bison_parser.c"
1423 #line 153 "step_bison_parser.y"
1425 #line 1426 "step_bison_parser.c"
1429 #line 155 "step_bison_parser.y"
1432 #line 1433 "step_bison_parser.c"
1436 #line 158 "step_bison_parser.y"
1439 #line 1440 "step_bison_parser.c"
1443 #line 161 "step_bison_parser.y"
1446 #line 1447 "step_bison_parser.c"
1450 #line 164 "step_bison_parser.y"
1453 #line 1454 "step_bison_parser.c"
1457 #line 167 "step_bison_parser.y"
1460 #line 1461 "step_bison_parser.c"
1464 #line 171 "step_bison_parser.y"
1466 #line 1467 "step_bison_parser.c"
1470 #line 172 "step_bison_parser.y"
1473 #line 1474 "step_bison_parser.c"
1477 #line 176 "step_bison_parser.y"
1479 #line 1480 "step_bison_parser.c"
1483 #line 178 "step_bison_parser.y"
1486 #line 1487 "step_bison_parser.c"
1490 #line 181 "step_bison_parser.y"
1493 #line 1494 "step_bison_parser.c"
1497 #line 184 "step_bison_parser.y"
1500 #line 1501 "step_bison_parser.c"
1504 #line 187 "step_bison_parser.y"
1507 #line 1508 "step_bison_parser.c"
1511 #line 190 "step_bison_parser.y"
1514 #line 1515 "step_bison_parser.c"
1518 #line 193 "step_bison_parser.y"
1521 #line 1522 "step_bison_parser.c"
1525 #line 196 "step_bison_parser.y"
1527 (yyval.
liste) = (yyvsp[-1].liste); }
1528 #line 1529 "step_bison_parser.c"
1532 #line 200 "step_bison_parser.y"
1534 #line 1535 "step_bison_parser.c"
1538 #line 201 "step_bison_parser.y"
1541 #line 1542 "step_bison_parser.c"
1545 #line 207 "step_bison_parser.y"
1547 #line 1548 "step_bison_parser.c"
1551 #line 209 "step_bison_parser.y"
1554 #line 1555 "step_bison_parser.c"
1558 #line 215 "step_bison_parser.y"
1560 #line 1561 "step_bison_parser.c"
1564 #line 217 "step_bison_parser.y"
1567 #line 1568 "step_bison_parser.c"
1571 #line 222 "step_bison_parser.y"
1573 #line 1574 "step_bison_parser.c"
1577 #line 224 "step_bison_parser.y"
1580 #line 1581 "step_bison_parser.c"
1584 #line 230 "step_bison_parser.y"
1586 #line 1587 "step_bison_parser.c"
1590 #line 232 "step_bison_parser.y"
1593 #line 1594 "step_bison_parser.c"
1597 #line 238 "step_bison_parser.y"
1599 #line 1600 "step_bison_parser.c"
1603 #line 240 "step_bison_parser.y"
1606 #line 1607 "step_bison_parser.c"
1610 #line 246 "step_bison_parser.y"
1612 #line 1613 "step_bison_parser.c"
1616 #line 248 "step_bison_parser.y"
1617 {
pips_debug(2,
"OPERATOR %d\n", (yyvsp[0].integer)); }
1618 #line 1619 "step_bison_parser.c"
1622 #line 250 "step_bison_parser.y"
1625 #line 1626 "step_bison_parser.c"
1629 #line 256 "step_bison_parser.y"
1631 #line 1632 "step_bison_parser.c"
1635 #line 258 "step_bison_parser.y"
1636 {
pips_debug(2,
"DEFAULT %s end\n", (yyvsp[-1].
string)); }
1637 #line 1638 "step_bison_parser.c"
1641 #line 263 "step_bison_parser.y"
1642 {
pips_debug(2,
"first string %s\n", (yyvsp[0].
string));
1645 #line 1646 "step_bison_parser.c"
1649 #line 267 "step_bison_parser.y"
1650 {
pips_debug(2,
"next IDENT %s\n", (yyvsp[0].
string));
1653 #line 1654 "step_bison_parser.c"
1657 #line 274 "step_bison_parser.y"
1658 {
pips_debug(2,
"first IDENT %s\n", (yyvsp[0].
string));
1661 #line 1662 "step_bison_parser.c"
1665 #line 278 "step_bison_parser.y"
1666 {
pips_debug(2,
"next IDENT %s\n", (yyvsp[0].
string));
1669 #line 1670 "step_bison_parser.c"
1673 #line 1674 "step_bison_parser.c"
1700 const int yyi =
yypgoto[yylhs] + *yyssp;
1701 yystate = (0 <= yyi && yyi <=
YYLAST &&
yycheck[yyi] == *yyssp
1723 if (yyerrstatus == 3)
1852 while (yyssp != yyss)
1866 #line 283 "step_bison_parser.y"
1905 if(pragma_str[strlen(pragma_str)-1]!=
'\n')
1910 pips_debug(1,
"############### PARSER BEGIN ################\nwith :\n%s\non stmt : %p\n", pragma_str,
stmt);
1914 step_lexer_scan_string(pragma_str);
1917 pips_debug(1,
"############### PARSER END ################\n");
step_clause make_step_clause_schedule(list _field_)
void extend_map_entity_int(map_entity_int f, entity k, intptr_t v)
step_clause make_step_clause_private(list _field_)
step_clause make_step_clause_reduction(map_entity_int _field_)
step_clause make_step_clause_shared(list _field_)
step_clause make_step_clause_firstprivate(list _field_)
step_clause make_step_clause_nowait(void)
step_clause make_step_clause_copyin(list _field_)
step_clause make_step_clause_threadprivate(list _field_)
bool bound_map_entity_int_p(map_entity_int f, entity k)
map_entity_int make_map_entity_int(void)
#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).
list gen_nreverse(list cp)
reverse a list in place
#define NIL
The empty list (nil in Lisp)
#define CONS(_t_, _i_, _l_)
List element cell constructor (insert an element at the beginning of a list)
list gen_nconc(list cp1, list cp2)
physically concatenates CP1 and CP2 but do not duplicates the elements
void gen_free_list(list l)
free the spine of the list
#define FOREACH(_fe_CASTER, _fe_item, _fe_list)
Apply/map an instruction block on all the elements of a list.
#define pips_debug
these macros use the GNU extensions that allow variadic macros, including with an empty list.
#define pips_user_warning
#define pips_assert(what, predicate)
common macros, two flavors depending on NDEBUG
string concatenate(const char *,...)
Return the concatenation of the given strings.
#define entity_undefined_p(x)
#define int_least8_t
7.18.1.2.
void step_directive_print(step_directive d)
int step_lexerparse(void)
static const char * yysymbol_name(yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED
The user-facing name of the symbol whose (internal) number is YYSYMBOL.
#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_TK_OMP_PRAGMA
TK_RAW
@ YYSYMBOL_TK_OPERATOR
TK_COMMENT
@ YYSYMBOL_omp_schedule
$@11
@ YYSYMBOL_TK_OMP_MASTER
TK_OMP_BARRIER
@ YYSYMBOL_TK_ERROR
TK_EOL
@ YYSYMBOL_TK_OMP_COPYIN
TK_OMP_DEFAULT
@ YYSYMBOL_TK_OMP_END
TK_OMP_LOOP
@ YYSYMBOL_TK_OMP_SINGLE
TK_OMP_MASTER
@ YYSYMBOL_TK_STEP_TRANSFORMATION
TK_STEP_PRAGMA
@ YYSYMBOL_62_15
omp_default
@ YYSYMBOL_omp_loop_clauses
omp_parallel_clauses
@ YYSYMBOL_TK_COLON
TK_RPAREN
@ YYSYMBOL_YYerror
"end of file"
@ YYSYMBOL_38_3
omp_directive
@ YYSYMBOL_omp_reduction
$@12
@ YYSYMBOL_TK_OMP_SHARED
TK_OMP_THREADPRIVATE
@ YYSYMBOL_49_8
omp_private
@ YYSYMBOL_TK_RPAREN
TK_LPAREN
@ YYSYMBOL_omp_directive
omp_comment
@ YYSYMBOL_TK_OMP_REDUCTION
TK_OMP_NOWAIT
@ YYSYMBOL_string_list
$@15
@ YYSYMBOL_ident_list
string_list
@ YYSYMBOL_omp_firstprivate
$@10
@ YYSYMBOL_57_12
omp_schedule
@ YYSYMBOL_TK_EOL
"invalid token"
@ YYSYMBOL_TK_RAW
TK_OPERATOR
@ YYSYMBOL_59_13
omp_reduction
@ YYSYMBOL_47_7
omp_shared
@ YYSYMBOL_omp_default
$@14
@ YYSYMBOL_omp_comment
step_transformation
@ YYSYMBOL_TK_OMP_SCHEDULE
TK_OMP_FIRSTPRIVATE
@ YYSYMBOL_TK_OMP_PRIVATE
TK_OMP_SHARED
@ YYSYMBOL_TK_STEP_PRAGMA
TK_OMP_SCHEDULE
@ YYSYMBOL_omp_end_loop_clauses
omp_loop_clauses
@ YYSYMBOL_TK_OMP_LOOP
TK_OMP_PARALLEL
@ YYSYMBOL_YYACCEPT
TK_STEP_TRANSFORMATION
@ YYSYMBOL_omp_private
$@7
@ YYSYMBOL_55_11
omp_firstprivate
@ YYSYMBOL_TK_OMP_BARRIER
TK_OMP_END
@ YYSYMBOL_51_9
omp_copyin
@ YYSYMBOL_omp_shared
omp_parallel_loop_clauses
@ YYSYMBOL_TK_OMP_PARALLEL
TK_OMP_PRAGMA
@ YYSYMBOL_omp_parallel_loop_clauses
omp_end_loop_clauses
@ YYSYMBOL_TK_COMMENT
TK_IDENT
@ YYSYMBOL_TK_COMMA
TK_COLON
@ YYSYMBOL_TK_OMP_FIRSTPRIVATE
TK_OMP_COPYIN
@ YYSYMBOL_TK_OMP_THREADPRIVATE
TK_OMP_SINGLE
@ YYSYMBOL_TK_LPAREN
TK_ERROR
@ YYSYMBOL_TK_OMP_DEFAULT
TK_OMP_REDUCTION
@ YYSYMBOL_TK_IDENT
TK_COMMA
@ YYSYMBOL_TK_OMP_NOWAIT
TK_OMP_PRIVATE
@ YYSYMBOL_step_transformation
$@2
@ YYSYMBOL_53_10
omp_threadprivate_listvar
@ YYSYMBOL_omp_parallel_clauses
@6
@ YYSYMBOL_omp_threadprivate_listvar
$@9
static void yy_symbol_print(FILE *yyo, yysymbol_kind_t yykind, YYSTYPE const *const yyvaluep)
-----------------------—.
#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.
static string pragma_str_original
#define YY_IGNORE_USELESS_CAST_END
static const yytype_int16 yyrline[]
YYRLINE[YYN] – Source line where rule number YYN was defined.
#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)
-------------------------------------------—.
void remove_old_pragma(void)
void step_bison_parse(pragma pgm, statement stmt)
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)
static cons * step_add_to_ident_list(string name, cons *list)
#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)
static void yy_symbol_value_print(FILE *yyo, yysymbol_kind_t yykind, YYSTYPE const *const yyvaluep)
-------------------------------—.
#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.
void set_current_transform(int transform)
First part of user prologue.
static void yy_reduce_print(yy_state_t *yyssp, YYSTYPE *yyvsp, int yyrule)
--------------------------------------------—.
#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 step_directive concat_drt_clauses(step_directive drt, cons *liste_clauses)
static const char *const yytname[]
YYTNAME[SYMBOL-NUM] – String name of the symbol SYMBOL-NUM.
static step_clause step_handle_reduction_clause(cons *ident_liste, int op)
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 yy_state_fast_t
State numbers in computations.
void step_lexererror(const char *s)
step_bison_parser.c
unsigned short yytype_uint16
static const yytype_int8 yydefgoto[]
YYDEFGOTO[NTERM-NUM].
#define YYLAST
YYLAST – Last index in YYTABLE.
entity entity_from_user_name(string name)
#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....
static void yy_stack_print(yy_state_t *yybottom, yy_state_t *yytop)
--------------------------------------------------------------—.
#define YYFPRINTF
Enable debugging if requested.
#define YYSTACK_ALLOC
The parser invokes alloca or malloc; define the necessary symbols.
yytype_int8 yy_state_t
Stored state numbers (used for stacks).
step_directive begin_omp_construct(int type, string s)
#define YY_USE(E)
Suppress unused-variable warnings by "using" E.
step_directive end_omp_construct(int type)
#define step_directive_clauses(x)
#define STEP_CLAUSE(x)
STEP_CLAUSE.
The structure used to build lists in NewGen.
step_directive step_directive
INFRINGES ON USER NAME SPACE.