52 #define YYBISON_VERSION "3.8.2"
55 #define YYSKELETON_NAME "yacc.c"
68 #define yyparse genspec_parse
69 #define yylex genspec_lex
70 #define yyerror genspec_error
71 #define yydebug genspec_debug
72 #define yynerrs genspec_nerrs
73 #define yylval genspec_lval
74 #define yychar genspec_char
108 #define YYERROR_VERBOSE 1
126 user( error_msg, (
char *)NULL ) ;
129 user( error_msg, (
char *)NULL ) ;
139 # define YY_CAST(Type, Val) static_cast<Type> (Val)
140 # define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
142 # define YY_CAST(Type, Val) ((Type) (Val))
143 # define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
147 # if defined __cplusplus
148 # if 201103L <= __cplusplus
149 # define YY_NULLPTR nullptr
151 # define YY_NULLPTR 0
154 # define YY_NULLPTR ((void*)0)
160 #ifndef YY_GENSPEC_Y_TAB_H_INCLUDED
161 # define YY_GENSPEC_Y_TAB_H_INCLUDED
167 extern int genspec_debug;
209 #define SEMI_COLUMN 260
220 #define GRAM_EXTERNAL 271
221 #define GRAM_IMPORT 272
222 #define TABULATED 273
223 #define PERSISTANT 274
225 #define GRAM_FILE 276
229 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
245 # define YYSTYPE_IS_TRIVIAL 1
246 # define YYSTYPE_IS_DECLARED 1
316 #ifndef __PTRDIFF_MAX__
318 # if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
329 #ifdef __INT_LEAST8_MAX__
331 #elif defined YY_STDINT_H
337 #ifdef __INT_LEAST16_MAX__
339 #elif defined YY_STDINT_H
351 # undef UINT_LEAST8_MAX
352 # undef UINT_LEAST16_MAX
353 # define UINT_LEAST8_MAX 255
354 # define UINT_LEAST16_MAX 65535
357 #if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
359 #elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
360 && UINT_LEAST8_MAX <= INT_MAX)
362 #elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
368 #if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
370 #elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
371 && UINT_LEAST16_MAX <= INT_MAX)
373 #elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
380 # if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
381 # define YYPTRDIFF_T __PTRDIFF_TYPE__
382 # define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
383 # elif defined PTRDIFF_MAX
387 # define YYPTRDIFF_T ptrdiff_t
388 # define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
390 # define YYPTRDIFF_T long
391 # define YYPTRDIFF_MAXIMUM LONG_MAX
396 # ifdef __SIZE_TYPE__
397 # define YYSIZE_T __SIZE_TYPE__
398 # elif defined size_t
399 # define YYSIZE_T size_t
400 # elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
402 # define YYSIZE_T size_t
404 # define YYSIZE_T unsigned
408 #define YYSIZE_MAXIMUM \
409 YY_CAST (YYPTRDIFF_T, \
410 (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \
411 ? YYPTRDIFF_MAXIMUM \
412 : YY_CAST (YYSIZE_T, -1)))
414 #define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
424 # if defined YYENABLE_NLS && YYENABLE_NLS
426 # include <libintl.h>
427 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
431 # define YY_(Msgid) Msgid
436 #ifndef YY_ATTRIBUTE_PURE
437 # if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
438 # define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
440 # define YY_ATTRIBUTE_PURE
444 #ifndef YY_ATTRIBUTE_UNUSED
445 # if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
446 # define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
448 # define YY_ATTRIBUTE_UNUSED
453 #if ! defined lint || defined __GNUC__
454 # define YY_USE(E) ((void) (E))
460 #if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
461 # if __GNUC__ * 100 + __GNUC_MINOR__ < 407
462 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
463 _Pragma ("GCC diagnostic push") \
464 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
466 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
467 _Pragma ("GCC diagnostic push") \
468 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
469 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
471 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
472 _Pragma ("GCC diagnostic pop")
474 # define YY_INITIAL_VALUE(Value) Value
476 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
477 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
478 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
480 #ifndef YY_INITIAL_VALUE
481 # define YY_INITIAL_VALUE(Value)
484 #if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
485 # define YY_IGNORE_USELESS_CAST_BEGIN \
486 _Pragma ("GCC diagnostic push") \
487 _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
488 # define YY_IGNORE_USELESS_CAST_END \
489 _Pragma ("GCC diagnostic pop")
491 #ifndef YY_IGNORE_USELESS_CAST_BEGIN
492 # define YY_IGNORE_USELESS_CAST_BEGIN
493 # define YY_IGNORE_USELESS_CAST_END
497 #define YY_ASSERT(E) ((void) (0 && (E)))
499 #if !defined yyoverflow
503 # ifdef YYSTACK_USE_ALLOCA
504 # if YYSTACK_USE_ALLOCA
506 # define YYSTACK_ALLOC __builtin_alloca
507 # elif defined __BUILTIN_VA_ARG_INCR
510 # define YYSTACK_ALLOC __alloca
511 # elif defined _MSC_VER
513 # define alloca _alloca
515 # define YYSTACK_ALLOC alloca
516 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
519 # ifndef EXIT_SUCCESS
520 # define EXIT_SUCCESS 0
527 # ifdef YYSTACK_ALLOC
529 # define YYSTACK_FREE(Ptr) do { ; } while (0)
530 # ifndef YYSTACK_ALLOC_MAXIMUM
535 # define YYSTACK_ALLOC_MAXIMUM 4032
538 # define YYSTACK_ALLOC YYMALLOC
539 # define YYSTACK_FREE YYFREE
540 # ifndef YYSTACK_ALLOC_MAXIMUM
541 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
543 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
544 && ! ((defined YYMALLOC || defined malloc) \
545 && (defined YYFREE || defined free)))
547 # ifndef EXIT_SUCCESS
548 # define EXIT_SUCCESS 0
552 # define YYMALLOC malloc
553 # if ! defined malloc && ! defined EXIT_SUCCESS
559 # if ! defined free && ! defined EXIT_SUCCESS
566 #if (! defined yyoverflow \
567 && (! defined __cplusplus \
568 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
578 # define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
582 # define YYSTACK_BYTES(N) \
583 ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
584 + YYSTACK_GAP_MAXIMUM)
586 # define YYCOPY_NEEDED 1
593 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
596 YYPTRDIFF_T yynewbytes; \
597 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
598 Stack = &yyptr->Stack_alloc; \
599 yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
600 yyptr += yynewbytes / YYSIZEOF (*yyptr); \
606 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
610 # if defined __GNUC__ && 1 < __GNUC__
611 # define YYCOPY(Dst, Src, Count) \
612 __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
614 # define YYCOPY(Dst, Src, Count) \
618 for (yyi = 0; yyi < (Count); yyi++) \
619 (Dst)[yyi] = (Src)[yyi]; \
641 #define YYMAXUTOK 277
646 #define YYTRANSLATE(YYX) \
647 (0 <= (YYX) && (YYX) <= YYMAXUTOK \
648 ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \
655 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
656 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
657 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
658 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
659 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
660 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
661 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
662 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
663 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
664 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
665 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
666 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
667 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
668 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
669 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
670 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
671 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
672 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
673 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
674 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
675 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
676 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
677 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
678 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
679 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
680 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
681 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
682 15, 16, 17, 18, 19, 20, 21, 22
689 0, 99, 99, 99, 106, 118, 121, 131, 134, 140,
690 141, 145, 152, 153, 156, 182, 214, 217, 223, 230,
691 245, 248, 251, 259, 270, 277, 284, 290, 296, 302,
697 #define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
706 static const char *
const yytname[] =
708 "\"end of file\"",
"error",
"\"invalid token\"",
"COMMA",
"COLUMN",
709 "SEMI_COLUMN",
"AND",
"OR",
"ARROW",
"STAR",
"LB",
"RB",
"LR",
"RR",
710 "EQUAL",
"FROM",
"GRAM_EXTERNAL",
"GRAM_IMPORT",
"TABULATED",
711 "PERSISTANT",
"IDENT",
"GRAM_FILE",
"GRAM_INT",
"$accept",
712 "Specification",
"$@1",
"Externals",
"Imports",
"File",
"Definitions",
713 "Definition",
"Tabulated",
"Domain",
"Simple",
"Persistant",
"Basis",
714 "Constructed",
"Namelist",
"Dimensions",
"Int",
"Name",
YY_NULLPTR
724 #define YYPACT_NINF (-33)
726 #define yypact_value_is_default(Yyn) \
727 ((Yyn) == YYPACT_NINF)
729 #define YYTABLE_NINF (-14)
731 #define yytable_value_is_error(Yyn) \
738 -33, 9, -33, -33, 1, 0, 6, -33, 8, 0,
739 -1, 3, 20, -33, -33, 0, -33, 21, -33, 13,
740 -33, -11, 0, -33, 23, 5, 0, 16, 27, -33,
741 12, 12, 12, -33, -7, 28, -33, 0, 5, 5,
742 -33, -33, 11, 22, -33, 0, -33, -33, -33, -33,
743 25, -33, -33, 24, -33
751 2, 0, 7, 1, 5, 0, 10, 33, 0, 0,
752 3, 0, 0, 12, 9, 0, 8, 0, 4, 0,
753 6, 21, 0, 20, 0, 27, 0, 0, 29, 11,
754 21, 21, 21, 14, 16, 22, 15, 0, 27, 27,
755 26, 17, 0, 0, 18, 0, 28, 24, 25, 32,
762 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
763 -16, -33, -33, -32, 2, -15, -33, -5
769 0, 1, 2, 6, 4, 17, 10, 14, 15, 24,
770 25, 26, 34, 33, 27, 44, 50, 28
778 8, 22, 41, 42, 12, 43, 47, 48, 23, 3,
779 19, 30, 31, 32, 38, 39, 40, 13, 5, -13,
780 7, 35, 9, 11, 16, 18, 20, 21, 29, 36,
781 37, 23, 45, 49, 42, 51, 53, 0, 54, 46,
787 5, 12, 9, 10, 9, 12, 38, 39, 19, 0,
788 15, 6, 7, 8, 30, 31, 32, 18, 17, 20,
789 20, 26, 16, 15, 21, 5, 5, 14, 5, 13,
790 3, 19, 4, 22, 10, 13, 11, -1, 53, 37,
798 0, 24, 25, 0, 27, 17, 26, 20, 40, 16,
799 29, 15, 40, 18, 30, 31, 21, 28, 5, 40,
800 5, 14, 12, 19, 32, 33, 34, 37, 40, 5,
801 6, 7, 8, 36, 35, 40, 13, 3, 33, 33,
802 33, 9, 10, 12, 38, 4, 37, 36, 36, 22,
809 0, 23, 25, 24, 26, 26, 27, 27, 28, 29,
810 29, 30, 31, 31, 32, 32, 33, 33, 33, 33,
811 34, 34, 35, 35, 36, 36, 36, 36, 37, 37,
818 0, 2, 0, 4, 4, 0, 6, 0, 1, 2,
819 0, 5, 1, 0, 2, 3, 2, 3, 3, 4,
820 1, 0, 1, 3, 3, 3, 2, 0, 3, 1,
827 #define yyerrok (yyerrstatus = 0)
828 #define yyclearin (yychar = YYEMPTY)
830 #define YYACCEPT goto yyacceptlab
831 #define YYABORT goto yyabortlab
832 #define YYERROR goto yyerrorlab
833 #define YYNOMEM goto yyexhaustedlab
836 #define YYRECOVERING() (!!yyerrstatus)
838 #define YYBACKUP(Token, Value) \
840 if (yychar == YYEMPTY) \
844 YYPOPSTACK (yylen); \
850 yyerror (YY_("syntax error: cannot back up")); \
857 #define YYERRCODE YYUNDEF
865 # define YYFPRINTF fprintf
868 # define YYDPRINTF(Args) \
877 # define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \
881 YYFPRINTF (stderr, "%s ", Title); \
882 yy_symbol_print (stderr, \
884 YYFPRINTF (stderr, "\n"); \
897 FILE *yyoutput = yyo;
931 for (; yybottom <= yytop; yybottom++)
933 int yybot = *yybottom;
939 # define YY_STACK_PRINT(Bottom, Top) \
942 yy_stack_print ((Bottom), (Top)); \
955 int yynrhs =
yyr2[yyrule];
957 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %d):\n",
960 for (yyi = 0; yyi < yynrhs; yyi++)
965 &yyvsp[(yyi + 1) - (yynrhs)]);
970 # define YY_REDUCE_PRINT(Rule) \
973 yy_reduce_print (yyssp, yyvsp, Rule); \
980 # define YYDPRINTF(Args) ((void) 0)
981 # define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
982 # define YY_STACK_PRINT(Bottom, Top)
983 # define YY_REDUCE_PRINT(Rule)
989 # define YYINITDEPTH 200
1000 # define YYMAXDEPTH 10000
1047 int yyerrstatus = 0;
1076 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
1082 YYDPRINTF ((stderr,
"Starting parse\n"));
1102 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
1109 if (yyss + yystacksize - 1 <= yyssp)
1110 #if !defined yyoverflow && !defined YYSTACK_RELOCATE
1117 # if defined yyoverflow
1129 yyoverflow (
YY_(
"memory exhausted"),
1130 &yyss1, yysize *
YYSIZEOF (*yyssp),
1131 &yyvs1, yysize *
YYSIZEOF (*yyvsp),
1153 # undef YYSTACK_RELOCATE
1159 yyssp = yyss + yysize - 1;
1160 yyvsp = yyvs + yysize - 1;
1163 YYDPRINTF ((stderr,
"Stack size increased to %ld\n",
1164 YY_CAST (
long, yystacksize)));
1167 if (yyss + yystacksize - 1 <= yyssp)
1196 YYDPRINTF ((stderr,
"Reading a token\n"));
1204 YYDPRINTF ((stderr,
"Now at end of input.\n"));
1278 yyval = yyvsp[1-yylen];
1287 #line 1288 "y.tab.c"
1296 #line 1297 "y.tab.c"
1307 dp->
ex.
read = (
void *(*)(FILE*,
int(*)(void))) NULL;
1308 dp->
ex.
write = (void (*)(FILE*,
void*)) NULL;
1309 dp->
ex.
copy = (
void*(*)(
void*)) NULL;
1310 dp->
ex.
free = (void (*)(
void*)) NULL;
1313 #line 1314 "y.tab.c"
1328 #line 1329 "y.tab.c"
1334 (yyval.
name) = (yyvsp[0].name) ;
1336 #line 1337 "y.tab.c"
1345 #line 1346 "y.tab.c"
1350 { (yyval.
val) = 1; }
1351 #line 1352 "y.tab.c"
1356 { (yyval.
val) = 0 ; }
1357 #line 1358 "y.tab.c"
1366 if( (yyvsp[0].domainlist) == NULL && (yyvsp[-1].
domain)->ba.type !=
BASIS_DT )
1369 struct domainlist *dlp ;
1372 dlp = (
struct domainlist *)
1373 alloc(
sizeof(
struct domainlist ));
1374 dlp->domain = (yyvsp[-1].
domain) ;
1379 (yyval.
domain)->co.components = dlp ;
1383 (yyval.
domain)->co.first = 0 ;
1388 #line 1389 "y.tab.c"
1397 struct domainlist *dlp =
1398 (
struct domainlist *)
alloc(
sizeof(
struct domainlist )) ;
1405 (yyval.
domain)->co.components = dlp ;
1409 for( ; (yyvsp[-1].
namelist) != NULL ; (yyvsp[-1].
namelist) = (yyvsp[-1].namelist)->cdr, dlp = dlp->cdr ) {
1414 ((yyvsp[-1].
namelist)->cdr == NULL) ?
1416 (
struct domainlist *)
alloc(
sizeof(
struct domainlist ));
1418 dlp->domain->ba.constructor = (yyvsp[-1].
namelist)->name ;
1423 #line 1424 "y.tab.c"
1429 ((yyval.
domain) = (yyvsp[0].
domain))->ba.persistant = (yyvsp[-1].
val) ;
1431 #line 1432 "y.tab.c"
1438 (yyval.
domain)->li.persistant = (yyvsp[-2].
val) ;
1439 (yyval.
domain)->li.constructor = (yyvsp[-1].
domain)->ba.constructor ;
1440 (yyval.
domain)->li.element = (yyvsp[-1].
domain)->ba.constructand ;
1442 #line 1443 "y.tab.c"
1449 (yyval.
domain)->ar.persistant = (yyvsp[-2].
val) ;
1450 (yyval.
domain)->ar.constructor = (yyvsp[-1].
domain)->ba.constructor ;
1451 (yyval.
domain)->ar.element = (yyvsp[-1].
domain)->ba.constructand ;
1454 #line 1455 "y.tab.c"
1460 char *below = (
char *)(yyvsp[-2].
domain)->ba.constructand ;
1463 (yyval.
domain)->se.persistant = (yyvsp[-3].
val) ;
1464 (yyval.
domain)->se.constructor = (yyvsp[-2].
domain)->ba.constructor ;
1465 (yyval.
domain)->se.element = (yyvsp[-2].
domain)->ba.constructand ;
1466 (yyval.
domain)->se.what =
1467 (strcmp( below,
"string" ) == 0) ?
set_string :
1468 (strcmp( below,
"int" ) == 0) ?
set_int :
1471 #line 1472 "y.tab.c"
1479 #line 1480 "y.tab.c"
1485 #line 1486 "y.tab.c"
1494 (yyval.
domain)->ba.constructor = (yyvsp[0].
name) ;
1498 #line 1499 "y.tab.c"
1507 (yyval.
domain)->ba.constructor = (yyvsp[-2].
name) ;
1511 #line 1512 "y.tab.c"
1518 (yyval.
domainlist) = (
struct domainlist *)
alloc(
sizeof(
struct domainlist ));
1520 (yyval.
domainlist)->cdr = (yyvsp[0].domainlist) ;
1523 #line 1524 "y.tab.c"
1530 (yyval.
domainlist) = (
struct domainlist *)
alloc(
sizeof(
struct domainlist ));
1532 (yyval.
domainlist)->cdr = (yyvsp[0].domainlist) ;
1535 #line 1536 "y.tab.c"
1541 (yyval.
domainlist) = (
struct domainlist *)
alloc(
sizeof(
struct domainlist ));
1546 #line 1547 "y.tab.c"
1554 #line 1555 "y.tab.c"
1561 (yyval.
namelist) = (
struct namelist *)
alloc(
sizeof(
struct namelist )) ;
1563 (yyval.
namelist)->cdr = (yyvsp[0].namelist) ;
1565 #line 1566 "y.tab.c"
1572 (yyval.
namelist) = (
struct namelist *)
alloc(
sizeof(
struct namelist )) ;
1576 #line 1577 "y.tab.c"
1583 (yyval.
intlist) = (
struct intlist *)
alloc(
sizeof(
struct intlist )) ;
1584 (yyval.
intlist)->val = (yyvsp[-2].val) ;
1585 (yyval.
intlist)->cdr = (yyvsp[0].intlist) ;
1587 #line 1588 "y.tab.c"
1594 (yyval.
intlist) = (
struct intlist *)
alloc(
sizeof(
struct intlist )) ;
1595 (yyval.
intlist)->val = (yyvsp[-1].val) ;
1598 #line 1599 "y.tab.c"
1603 {(yyval.
val) = (yyvsp[0].val);}
1604 #line 1605 "y.tab.c"
1613 #line 1614 "y.tab.c"
1617 #line 1618 "y.tab.c"
1644 const int yyi =
yypgoto[yylhs] + *yyssp;
1645 yystate = (0 <= yyi && yyi <=
YYLAST &&
yycheck[yyi] == *yyssp
1667 if (yyerrstatus == 3)
1796 while (yyssp != yyss)
1819 user(
"%s before ", s ) ;
char * alloc(int size)
ALLOC is an "iron-clad" version of malloc(3).
struct gen_binding * new_binding(char *name, union domain *val)
NEW_BINDING introduces a new pair (NAME, VAL) in the Domains table.
int Current_op
Used to check, while parsing specs, that a constructed domain use only one operator type.
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.
int Read_spec_mode
extern int Current_first ;
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).
void update_op(int op, char *error_msg)
UPDATE_OP checks whether the just read OPerator is compatible with the current one.
#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...
int Number_imports
To manage imported domains:
static const yytype_int8 yytranslate[]
YYTRANSLATE[TOKEN-NUM] – Symbol number corresponding to TOKEN-NUM as returned by yylex.
yysymbol_kind_t
!YY_GENSPEC_Y_TAB_H_INCLUDED
@ YYSYMBOL_Dimensions
Namelist
@ YYSYMBOL_Constructed
Basis
@ YYSYMBOL_TABULATED
GRAM_IMPORT
@ YYSYMBOL_Definitions
File
@ YYSYMBOL_Domain
Tabulated
@ YYSYMBOL_25_1
Specification
@ YYSYMBOL_YYerror
"end of file"
@ YYSYMBOL_Specification
$accept
@ YYSYMBOL_AND
SEMI_COLUMN
@ YYSYMBOL_Persistant
Simple
@ YYSYMBOL_Imports
Externals
@ YYSYMBOL_Tabulated
Definition
@ YYSYMBOL_Definition
Definitions
@ YYSYMBOL_Basis
Persistant
@ YYSYMBOL_GRAM_IMPORT
GRAM_EXTERNAL
@ YYSYMBOL_COMMA
"invalid token"
@ YYSYMBOL_Namelist
Constructed
@ YYSYMBOL_YYACCEPT
GRAM_INT
@ YYSYMBOL_GRAM_EXTERNAL
FROM
@ YYSYMBOL_GRAM_FILE
IDENT
@ YYSYMBOL_SEMI_COLUMN
COLUMN
@ YYSYMBOL_PERSISTANT
TABULATED
@ YYSYMBOL_GRAM_INT
GRAM_FILE
@ YYSYMBOL_IDENT
PERSISTANT
#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.
struct gen_binding Domains[MAX_DOMAIN]
in build.c
#define YYFINAL
!YYCOPY_NEEDED
#define YY_ACCESSING_SYMBOL(State)
Accessing symbol of state STATE.
#define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
void genspec_error(const char *)
Syntax error routines called by yacc.
#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.
int check_not_keyword(char *)
CHECK_NOT_KEYWORD checks if S isn't a reserved word.
#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.
enum yytokentype yytoken_kind_t
int yy_state_fast_t
State numbers in computations.
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
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.
gen_tabulated_p gen_init_tabulated(int)
#define MAX_DOMAIN
MAX_DOMAIN is the maximum number of entries in the DOMAINS table.
void user(char *,...)
External routines.
#define UNIT_TYPE_NAME
The UNIT_TYPE_NAME is the used to type expressions which only perform side-effects.
int fprintf()
test sc_min : ce test s'appelle par : programme fichier1.data fichier2.data ...
#define int_least8_t
7.18.1.2.
gen_tabulated_p tabulated
number of chunks to hold this data.
struct namelist * namelist
struct domainlist * domainlist
A DOMAIN union describes the structure of a user type.
void *(* read)(FILE *, int(*)(void))
void(* write)(FILE *, void *)
INFRINGES ON USER NAME SPACE.