52 #define YYBISON_VERSION "3.8.2"
55 #define YYSKELETON_NAME "yacc.c"
68 #define yyparse genread_parse
69 #define yylex genread_lex
70 #define yyerror genread_error
71 #define yydebug genread_debug
72 #define yynerrs genread_nerrs
73 #define yylval genread_lval
74 #define yychar genread_char
113 #define YYERROR_VERBOSE 1
116 extern void yyerror(
const char*);
126 #define YYMAXDEPTH 100000
167 # define YY_CAST(Type, Val) static_cast<Type> (Val)
168 # define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
170 # define YY_CAST(Type, Val) ((Type) (Val))
171 # define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
175 # if defined __cplusplus
176 # if 201103L <= __cplusplus
177 # define YY_NULLPTR nullptr
179 # define YY_NULLPTR 0
182 # define YY_NULLPTR ((void*)0)
188 #ifndef YY_GENREAD_Y_TAB_H_INCLUDED
189 # define YY_GENREAD_Y_TAB_H_INCLUDED
195 extern int genread_debug;
238 #define CHUNK_BEGIN 258
239 #define VECTOR_BEGIN 259
240 #define ARROW_BEGIN 260
241 #define READ_BOOL 261
242 #define TABULATED_BEGIN 262
248 #define SHARED_POINTER 268
249 #define READ_EXTERNAL 269
252 #define READ_NULL 272
253 #define READ_LIST_UNDEFINED 273
254 #define READ_SET_UNDEFINED 274
255 #define READ_ARRAY_UNDEFINED 275
256 #define READ_STRING 276
257 #define READ_UNIT 277
258 #define READ_CHAR 278
260 #define READ_FLOAT 280
263 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
280 # define YYSTYPE_IS_TRIVIAL 1
281 # define YYSTYPE_IS_DECLARED 1
352 #ifndef __PTRDIFF_MAX__
354 # if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
365 #ifdef __INT_LEAST8_MAX__
367 #elif defined YY_STDINT_H
373 #ifdef __INT_LEAST16_MAX__
375 #elif defined YY_STDINT_H
387 # undef UINT_LEAST8_MAX
388 # undef UINT_LEAST16_MAX
389 # define UINT_LEAST8_MAX 255
390 # define UINT_LEAST16_MAX 65535
393 #if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
395 #elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
396 && UINT_LEAST8_MAX <= INT_MAX)
398 #elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
404 #if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
406 #elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
407 && UINT_LEAST16_MAX <= INT_MAX)
409 #elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
416 # if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
417 # define YYPTRDIFF_T __PTRDIFF_TYPE__
418 # define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
419 # elif defined PTRDIFF_MAX
423 # define YYPTRDIFF_T ptrdiff_t
424 # define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
426 # define YYPTRDIFF_T long
427 # define YYPTRDIFF_MAXIMUM LONG_MAX
432 # ifdef __SIZE_TYPE__
433 # define YYSIZE_T __SIZE_TYPE__
434 # elif defined size_t
435 # define YYSIZE_T size_t
436 # elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
438 # define YYSIZE_T size_t
440 # define YYSIZE_T unsigned
444 #define YYSIZE_MAXIMUM \
445 YY_CAST (YYPTRDIFF_T, \
446 (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \
447 ? YYPTRDIFF_MAXIMUM \
448 : YY_CAST (YYSIZE_T, -1)))
450 #define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
460 # if defined YYENABLE_NLS && YYENABLE_NLS
462 # include <libintl.h>
463 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
467 # define YY_(Msgid) Msgid
472 #ifndef YY_ATTRIBUTE_PURE
473 # if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
474 # define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
476 # define YY_ATTRIBUTE_PURE
480 #ifndef YY_ATTRIBUTE_UNUSED
481 # if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
482 # define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
484 # define YY_ATTRIBUTE_UNUSED
489 #if ! defined lint || defined __GNUC__
490 # define YY_USE(E) ((void) (E))
496 #if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
497 # if __GNUC__ * 100 + __GNUC_MINOR__ < 407
498 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
499 _Pragma ("GCC diagnostic push") \
500 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
502 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
503 _Pragma ("GCC diagnostic push") \
504 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
505 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
507 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
508 _Pragma ("GCC diagnostic pop")
510 # define YY_INITIAL_VALUE(Value) Value
512 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
513 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
514 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
516 #ifndef YY_INITIAL_VALUE
517 # define YY_INITIAL_VALUE(Value)
520 #if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
521 # define YY_IGNORE_USELESS_CAST_BEGIN \
522 _Pragma ("GCC diagnostic push") \
523 _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
524 # define YY_IGNORE_USELESS_CAST_END \
525 _Pragma ("GCC diagnostic pop")
527 #ifndef YY_IGNORE_USELESS_CAST_BEGIN
528 # define YY_IGNORE_USELESS_CAST_BEGIN
529 # define YY_IGNORE_USELESS_CAST_END
533 #define YY_ASSERT(E) ((void) (0 && (E)))
535 #if !defined yyoverflow
539 # ifdef YYSTACK_USE_ALLOCA
540 # if YYSTACK_USE_ALLOCA
542 # define YYSTACK_ALLOC __builtin_alloca
543 # elif defined __BUILTIN_VA_ARG_INCR
546 # define YYSTACK_ALLOC __alloca
547 # elif defined _MSC_VER
549 # define alloca _alloca
551 # define YYSTACK_ALLOC alloca
552 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
555 # ifndef EXIT_SUCCESS
556 # define EXIT_SUCCESS 0
563 # ifdef YYSTACK_ALLOC
565 # define YYSTACK_FREE(Ptr) do { ; } while (0)
566 # ifndef YYSTACK_ALLOC_MAXIMUM
571 # define YYSTACK_ALLOC_MAXIMUM 4032
574 # define YYSTACK_ALLOC YYMALLOC
575 # define YYSTACK_FREE YYFREE
576 # ifndef YYSTACK_ALLOC_MAXIMUM
577 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
579 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
580 && ! ((defined YYMALLOC || defined malloc) \
581 && (defined YYFREE || defined free)))
583 # ifndef EXIT_SUCCESS
584 # define EXIT_SUCCESS 0
588 # define YYMALLOC malloc
589 # if ! defined malloc && ! defined EXIT_SUCCESS
595 # if ! defined free && ! defined EXIT_SUCCESS
602 #if (! defined yyoverflow \
603 && (! defined __cplusplus \
604 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
614 # define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
618 # define YYSTACK_BYTES(N) \
619 ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
620 + YYSTACK_GAP_MAXIMUM)
622 # define YYCOPY_NEEDED 1
629 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
632 YYPTRDIFF_T yynewbytes; \
633 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
634 Stack = &yyptr->Stack_alloc; \
635 yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
636 yyptr += yynewbytes / YYSIZEOF (*yyptr); \
642 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
646 # if defined __GNUC__ && 1 < __GNUC__
647 # define YYCOPY(Dst, Src, Count) \
648 __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
650 # define YYCOPY(Dst, Src, Count) \
654 for (yyi = 0; yyi < (Count); yyi++) \
655 (Dst)[yyi] = (Src)[yyi]; \
677 #define YYMAXUTOK 280
682 #define YYTRANSLATE(YYX) \
683 (0 <= (YYX) && (YYX) <= YYMAXUTOK \
684 ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \
691 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
692 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
693 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
694 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
695 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
696 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
697 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
698 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
699 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
700 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
701 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
702 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
703 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
704 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
705 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
706 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
707 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
708 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
709 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
710 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
711 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
712 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
713 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
714 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
715 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
716 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
717 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
718 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
726 0, 130, 130, 149, 164, 168, 177, 176, 211, 212,
727 215, 223, 224, 229, 230, 234, 249, 252, 255, 258,
728 259, 260, 261, 262, 276, 277, 301, 316, 317, 325,
729 326, 327, 328, 329, 330, 331, 332, 333, 334, 337,
735 #define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
744 static const char *
const yytname[] =
746 "\"end of file\"",
"error",
"\"invalid token\"",
"CHUNK_BEGIN",
747 "VECTOR_BEGIN",
"ARROW_BEGIN",
"READ_BOOL",
"TABULATED_BEGIN",
"LP",
748 "RP",
"LC",
"RC",
"LB",
"SHARED_POINTER",
"READ_EXTERNAL",
"READ_DEF",
749 "READ_REF",
"READ_NULL",
"READ_LIST_UNDEFINED",
"READ_SET_UNDEFINED",
750 "READ_ARRAY_UNDEFINED",
"READ_STRING",
"READ_UNIT",
"READ_CHAR",
751 "READ_INT",
"READ_FLOAT",
"$accept",
"Read",
"Nb_of_shared_pointers",
752 "Contents",
"Chunk",
"$@1",
"Shared_chunk",
"Type",
"Datas",
"Datas2",
753 "Datas3",
"Sparse_Datas",
"Data",
"Basis",
"Int",
"String",
YY_NULLPTR
763 #define YYPACT_NINF (-35)
765 #define yypact_value_is_default(Yyn) \
766 ((Yyn) == YYPACT_NINF)
768 #define YYTABLE_NINF (-1)
770 #define yytable_value_is_error(Yyn) \
777 -15, -35, 11, -2, -35, -35, -15, -15, -35, -35,
778 9, -35, -35, -35, -15, 44, -35, -15, -35, -15,
779 -35, -35, -15, -15, -15, 1, -15, -35, -35, -35,
780 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
781 -35, -35, 66, -35, 88, -35, -35, -35, -35, -1,
782 110, -6, -35, -35, -35, 132, -35, -35, -35, -35,
791 0, 39, 0, 9, 3, 1, 0, 0, 2, 4,
792 0, 14, 10, 8, 0, 9, 6, 0, 12, 0,
793 12, 5, 0, 0, 0, 9, 0, 38, 20, 22,
794 24, 40, 29, 31, 33, 27, 13, 19, 32, 34,
795 16, 18, 9, 30, 9, 12, 28, 35, 36, 0,
796 9, 0, 26, 11, 21, 9, 37, 7, 15, 25,
803 -35, -35, -35, -35, 5, -35, -35, -10, -18, -35,
804 -35, -35, -14, -35, 0, -34
810 0, 2, 3, 8, 35, 40, 10, 11, 42, 15,
811 50, 51, 53, 37, 38, 39
819 4, 36, 44, 59, 16, 6, 12, 13, 9, 1,
820 7, 5, 14, 7, 12, 56, 49, 41, 1, 43,
821 31, 0, 45, 46, 47, 0, 12, 55, 0, 0,
822 48, 0, 0, 0, 0, 0, 58, 0, 0, 0,
823 0, 0, 0, 0, 0, 0, 62, 0, 17, 18,
824 19, 60, 20, 21, 22, 0, 7, 23, 24, 25,
825 26, 27, 28, 29, 30, 31, 32, 33, 1, 34,
826 17, 18, 19, 0, 20, 52, 22, 0, 7, 23,
827 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
828 1, 34, 17, 18, 19, 0, 20, 54, 22, 0,
829 7, 23, 24, 25, 26, 27, 28, 29, 30, 31,
830 32, 33, 1, 34, 17, 18, 19, 0, 20, 57,
831 22, 0, 7, 23, 24, 25, 26, 27, 28, 29,
832 30, 31, 32, 33, 1, 34, 17, 18, 19, 0,
833 20, 0, 22, 61, 7, 23, 24, 25, 26, 27,
834 28, 29, 30, 31, 32, 33, 1, 34, 17, 18,
835 19, 0, 20, 0, 22, 0, 7, 23, 24, 25,
836 26, 27, 28, 29, 30, 31, 32, 33, 1, 34
841 0, 15, 20, 9, 14, 7, 6, 7, 3, 24,
842 12, 0, 3, 12, 14, 49, 26, 17, 24, 19,
843 21, -1, 22, 23, 24, -1, 26, 45, -1, -1,
844 25, -1, -1, -1, -1, -1, 50, -1, -1, -1,
845 -1, -1, -1, -1, -1, -1, 60, -1, 4, 5,
846 6, 51, 8, 9, 10, -1, 12, 13, 14, 15,
847 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
848 4, 5, 6, -1, 8, 9, 10, -1, 12, 13,
849 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
850 24, 25, 4, 5, 6, -1, 8, 9, 10, -1,
851 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
852 22, 23, 24, 25, 4, 5, 6, -1, 8, 9,
853 10, -1, 12, 13, 14, 15, 16, 17, 18, 19,
854 20, 21, 22, 23, 24, 25, 4, 5, 6, -1,
855 8, -1, 10, 11, 12, 13, 14, 15, 16, 17,
856 18, 19, 20, 21, 22, 23, 24, 25, 4, 5,
857 6, -1, 8, -1, 10, -1, 12, 13, 14, 15,
858 16, 17, 18, 19, 20, 21, 22, 23, 24, 25
865 0, 24, 27, 28, 40, 0, 7, 12, 29, 30,
866 32, 33, 40, 40, 3, 35, 33, 4, 5, 6,
867 8, 9, 10, 13, 14, 15, 16, 17, 18, 19,
868 20, 21, 22, 23, 25, 30, 38, 39, 40, 41,
869 31, 40, 34, 40, 34, 40, 40, 40, 30, 33,
870 36, 37, 9, 38, 9, 34, 41, 9, 38, 9,
877 0, 26, 27, 28, 29, 29, 31, 30, 32, 32,
878 33, 34, 34, 35, 35, 36, 36, 37, 37, 38,
879 38, 38, 38, 38, 38, 38, 38, 38, 38, 39,
880 39, 39, 39, 39, 39, 39, 39, 39, 39, 40,
887 0, 2, 2, 1, 1, 4, 0, 6, 2, 0,
888 1, 2, 0, 2, 0, 2, 0, 3, 0, 1,
889 1, 3, 1, 4, 1, 4, 3, 1, 2, 1,
890 2, 1, 1, 1, 1, 2, 2, 3, 1, 1,
897 #define yyerrok (yyerrstatus = 0)
898 #define yyclearin (yychar = YYEMPTY)
900 #define YYACCEPT goto yyacceptlab
901 #define YYABORT goto yyabortlab
902 #define YYERROR goto yyerrorlab
903 #define YYNOMEM goto yyexhaustedlab
906 #define YYRECOVERING() (!!yyerrstatus)
908 #define YYBACKUP(Token, Value) \
910 if (yychar == YYEMPTY) \
914 YYPOPSTACK (yylen); \
920 yyerror (YY_("syntax error: cannot back up")); \
927 #define YYERRCODE YYUNDEF
935 # define YYFPRINTF fprintf
938 # define YYDPRINTF(Args) \
947 # define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \
951 YYFPRINTF (stderr, "%s ", Title); \
952 yy_symbol_print (stderr, \
954 YYFPRINTF (stderr, "\n"); \
967 FILE *yyoutput = yyo;
1001 for (; yybottom <= yytop; yybottom++)
1003 int yybot = *yybottom;
1009 # define YY_STACK_PRINT(Bottom, Top) \
1012 yy_stack_print ((Bottom), (Top)); \
1025 int yynrhs =
yyr2[yyrule];
1027 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %d):\n",
1030 for (yyi = 0; yyi < yynrhs; yyi++)
1035 &yyvsp[(yyi + 1) - (yynrhs)]);
1040 # define YY_REDUCE_PRINT(Rule) \
1043 yy_reduce_print (yyssp, yyvsp, Rule); \
1050 # define YYDPRINTF(Args) ((void) 0)
1051 # define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
1052 # define YY_STACK_PRINT(Bottom, Top)
1053 # define YY_REDUCE_PRINT(Rule)
1059 # define YYINITDEPTH 200
1070 # define YYMAXDEPTH 10000
1117 int yyerrstatus = 0;
1146 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
1152 YYDPRINTF ((stderr,
"Starting parse\n"));
1172 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
1179 if (yyss + yystacksize - 1 <= yyssp)
1180 #if !defined yyoverflow && !defined YYSTACK_RELOCATE
1187 # if defined yyoverflow
1199 yyoverflow (
YY_(
"memory exhausted"),
1200 &yyss1, yysize *
YYSIZEOF (*yyssp),
1201 &yyvs1, yysize *
YYSIZEOF (*yyvsp),
1223 # undef YYSTACK_RELOCATE
1229 yyssp = yyss + yysize - 1;
1230 yyvsp = yyvs + yysize - 1;
1233 YYDPRINTF ((stderr,
"Stack size increased to %ld\n",
1234 YY_CAST (
long, yystacksize)));
1237 if (yyss + yystacksize - 1 <= yyssp)
1266 YYDPRINTF ((stderr,
"Reading a token\n"));
1274 YYDPRINTF ((stderr,
"Now at end of input.\n"));
1348 yyval = yyvsp[1-yylen];
1371 #line 1372 "y.tab.c"
1388 #line 1389 "y.tab.c"
1394 (yyval.
chunkp) = (yyvsp[0].chunkp);
1396 #line 1397 "y.tab.c"
1403 (yyval.
chunkp)->i = (yyvsp[-2].val);
1405 #line 1406 "y.tab.c"
1414 if ((yyvsp[-2].val))
1423 x->i = (yyvsp[0].
val);
1434 #line 1435 "y.tab.c"
1445 #line 1446 "y.tab.c"
1450 { (yyval.
val) = (yyvsp[0].val); }
1451 #line 1452 "y.tab.c"
1456 { (yyval.
val) = 0; }
1457 #line 1458 "y.tab.c"
1465 #line 1466 "y.tab.c"
1471 #line 1472 "y.tab.c"
1477 #line 1478 "y.tab.c"
1483 #line 1484 "y.tab.c"
1489 #line 1490 "y.tab.c"
1501 &s,
"wrong index: %d not in [0,%d)", (
int) i, (
int) size);
1505 *(
current+i) = (yyvsp[0].chunk);
1508 #line 1509 "y.tab.c"
1514 #line 1515 "y.tab.c"
1522 #line 1523 "y.tab.c"
1528 #line 1529 "y.tab.c"
1533 { (yyval.
chunk) = (yyvsp[0].chunk); }
1534 #line 1535 "y.tab.c"
1540 #line 1541 "y.tab.c"
1546 #line 1547 "y.tab.c"
1552 #line 1553 "y.tab.c"
1560 switch( (yyvsp[-2].val) ) {
1567 }}, (yyvsp[-1].
consp) ) ;
1570 #line 1571 "y.tab.c"
1576 #line 1577 "y.tab.c"
1588 for( i=0 ; i != (yyvsp[-2].
val) ; i++ ) {
1591 for(
cp=(yyvsp[-1].consp) ;
cp!=NULL ;
cp=
cp->cdr ) {
1593 int index =
INT(
CAR(pair));
1595 assert(index>=0 && index<(yyvsp[-2].val));
1602 (yyval.
chunk).p = kp ;
1604 #line 1605 "y.tab.c"
1619 hash_put( h, (
char *)k, (
char *)v ) ;
1622 (yyval.
chunk).h = h ;
1624 #line 1625 "y.tab.c"
1629 { (yyval.
chunk).p = (yyvsp[0].chunkp) ; }
1630 #line 1631 "y.tab.c"
1640 #line 1641 "y.tab.c"
1645 { (yyval.
chunk).u = 1; }
1646 #line 1647 "y.tab.c"
1651 { (yyval.
chunk).b = (yyvsp[0].val); }
1652 #line 1653 "y.tab.c"
1657 { (yyval.
chunk).c = (yyvsp[0].c); }
1658 #line 1659 "y.tab.c"
1663 { (yyval.
chunk).i = (yyvsp[0].val); }
1664 #line 1665 "y.tab.c"
1669 { (yyval.
chunk).
f = (yyvsp[0].d); }
1670 #line 1671 "y.tab.c"
1675 { (yyval.
chunk) = *(yyvsp[0].chunkp) ; }
1676 #line 1677 "y.tab.c"
1682 #line 1683 "y.tab.c"
1688 #line 1689 "y.tab.c"
1694 #line 1695 "y.tab.c"
1700 #line 1701 "y.tab.c"
1705 { (yyval.
val) = (yyvsp[0].val); }
1706 #line 1707 "y.tab.c"
1713 obj->
s = (yyvsp[0].
s);
1716 #line 1717 "y.tab.c"
1720 #line 1721 "y.tab.c"
1747 const int yyi =
yypgoto[yylhs] + *yyssp;
1748 yystate = (0 <= yyi && yyi <=
YYLAST &&
yycheck[yyi] == *yyssp
1770 if (yyerrstatus == 3)
1899 while (yyssp != yyss)
1931 fprintf(stderr,
"%s before ", s);
1938 fatal(
"Incorrect object written by GEN_WRITE\n", (
char *) NULL);
1956 fatal(
"gen_read: undefined external %s\n", bp->
name ) ;
1959 if( dp->
ex.
read == NULL ) {
1960 user(
"gen_read: uninitialized external %s\n", bp->
name ) ;
1964 fatal(
"read_external: white space expected\n", (
char *)NULL ) ;
1994 string id = (gc+2)->s;
2017 user(
"make_ref: forward references to %s prohibited\n", st->
s) ;
char * alloc(int size)
ALLOC is an "iron-clad" version of malloc(3).
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 gen_chunk_undefined_p(c)
union gen_chunk gen_chunk
A gen_chunk is used to store every object.
#define gen_chunk_undefined
int gen_type_translation_old_to_actual(int n)
forwards conversion
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
#define YYMAXDEPTH
This constant should be adapted to the particular need of the application.
static stack current_chunk_index
static const yytype_int8 yytranslate[]
YYTRANSLATE[TOKEN-NUM] – Symbol number corresponding to TOKEN-NUM as returned by yylex.
yysymbol_kind_t
!YY_GENREAD_Y_TAB_H_INCLUDED
@ YYSYMBOL_READ_DEF
READ_EXTERNAL
@ YYSYMBOL_ARROW_BEGIN
VECTOR_BEGIN
@ YYSYMBOL_CHUNK_BEGIN
"invalid token"
@ YYSYMBOL_Sparse_Datas
Datas3
@ YYSYMBOL_READ_EXTERNAL
SHARED_POINTER
@ YYSYMBOL_YYerror
"end of file"
@ YYSYMBOL_READ_BOOL
ARROW_BEGIN
@ YYSYMBOL_Nb_of_shared_pointers
Read
@ YYSYMBOL_READ_CHAR
READ_UNIT
@ YYSYMBOL_Data
Sparse_Datas
@ YYSYMBOL_READ_REF
READ_DEF
@ YYSYMBOL_READ_ARRAY_UNDEFINED
READ_SET_UNDEFINED
@ YYSYMBOL_READ_LIST_UNDEFINED
READ_NULL
@ YYSYMBOL_Contents
Nb_of_shared_pointers
@ YYSYMBOL_READ_NULL
READ_REF
@ YYSYMBOL_READ_INT
READ_CHAR
@ YYSYMBOL_READ_STRING
READ_ARRAY_UNDEFINED
@ YYSYMBOL_READ_FLOAT
READ_INT
@ YYSYMBOL_READ_SET_UNDEFINED
READ_LIST_UNDEFINED
@ YYSYMBOL_TABULATED_BEGIN
READ_BOOL
@ YYSYMBOL_READ_UNIT
READ_STRING
@ YYSYMBOL_LP
TABULATED_BEGIN
@ YYSYMBOL_YYACCEPT
READ_FLOAT
@ YYSYMBOL_Type
Shared_chunk
@ YYSYMBOL_SHARED_POINTER
LB
@ YYSYMBOL_Shared_chunk
$@1
@ YYSYMBOL_VECTOR_BEGIN
CHUNK_BEGIN
#define READ_ARRAY_UNDEFINED
static stack current_chunk
static stack current_chunk_size
#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[]
static size_t shared_number
The SHARED_TABLE maps a shared pointer number to its gen_chunk pointer value.
#define YY_REDUCE_PRINT(Rule)
#define YY_CAST(Type, Val)
static void yydestruct(const char *yymsg, yysymbol_kind_t yykind, YYSTYPE *yyvaluep)
YYMAXDEPTH – maximum size the stacks can grow to (effective only if the built-in stack extension meth...
#define READ_SET_UNDEFINED
static const yytype_int16 yypact[]
YYPACT[STATE-NUM] – Index in YYTABLE of the portion describing STATE-NUM.
#define YYFINAL
!YYCOPY_NEEDED
static void * read_external(int)
READ_EXTERNAL reads external types on stdin.
#define YY_ACCESSING_SYMBOL(State)
Accessing symbol of state STATE.
#define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
#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 gen_chunk * make_def(gen_chunk *)
MAKE_DEF defines the object CHUNK of name STRING to be in the tabulation table INT.
#define READ_LIST_UNDEFINED
#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)
static gen_chunk * chunk_for_domain(int)
#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 gen_chunk * make_ref(int, gen_chunk *)
MAKE_REF references the object of hash name STRING in the tabulation table INT.
static const yytype_int8 yypgoto[]
YYPGOTO[NTERM-NUM].
int warn_on_ref_without_def_in_read_tabulated
User selectable options.
static const yytype_int8 yyr1[]
YYR1[RULE-NUM] – Symbol kind of the left-hand side of rule RULE-NUM.
enum yytokentype yytoken_kind_t
int yy_state_fast_t
State numbers in computations.
int newgen_allow_forward_ref
The GEN_TABULATED_NAMES hash table maps ids to index in the table of the tabulated domains.
static gen_chunk ** shared_table
unsigned short yytype_uint16
static const yytype_int8 yydefgoto[]
YYDEFGOTO[NTERM-NUM].
#define YYEMPTY
Token kinds.
#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
void newgen_lexer_position(FILE *)
First part of user prologue.
signed char yytype_int8
On compilers that do not define PTRDIFF_MAX etc., make sure <limits.h> and (if available) <stdint....
static size_t shared_size
#define YYSTACK_ALLOC
The parser invokes alloca or malloc; define the necessary symbols.
gen_chunk * Read_chunk
Where the root will be.
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.
struct gen_binding Domains[MAX_DOMAIN]
in build.c
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)
#define CAR(pcons)
Get the value of the first element of a list.
void gen_free_list(list l)
free the spine of the list
#define CDR(pcons)
Get the list less its first element.
#define MAPL(_map_list_cp, _code, _l)
Apply some code on the addresses of all the elements of a list.
#define list_undefined
Undefined list definition :-)
hash_table hash_table_make(hash_key_type key_type, size_t size)
void hash_put(hash_table htp, const void *key, const void *val)
This functions stores a couple (key,val) in the hash table pointed to by htp.
#define message_assert(msg, ex)
#define check_domain(dom)
gen_chunk * gen_do_enter_tabulated(int, char *, gen_chunk *, bool)
#define MAX_DOMAIN
MAX_DOMAIN is the maximum number of entries in the DOMAINS table.
void user(char *,...)
External routines.
gen_chunk * gen_enter_tabulated(int, char *, gen_chunk *, bool)
ENTER_TABULATED_DEF enters a new definition (previous refs are allowed if ALLOW_REF) in the INDEX tab...
void * gen_find_tabulated(const char *, int)
set set_make(set_type)
Create an empty set of any type but hash_private.
set set_add_element(set, const set, const void *)
void * stack_head(const stack)
returns the item on top of stack s
int stack_size(const stack)
observers
void stack_push(void *, stack)
stack use
void stack_free(stack *)
type, bucket_size, policy
stack stack_make(int, int, int)
allocation
void * stack_pop(stack)
POPs one item from stack s.
#define array_undefined
ARRAY.
int f(int off1, int off2, int n, float r[n], float a[n], float b[n])
Pvecteur cp
pointeur sur l'egalite ou l'inegalite courante
int fprintf()
test sc_min : ce test s'appelle par : programme fichier1.data fichier2.data ...
#define int_least8_t
7.18.1.2.
The structure used to build lists in NewGen.
gen_tabulated_p tabulated
number of chunks to hold this data.
A DOMAIN union describes the structure of a user type.
void *(* read)(FILE *, int(*)(void))
A gen_chunk is used to store every object.
INFRINGES ON USER NAME SPACE.