52#define YYBISON_VERSION "3.8.2"
55#define YYSKELETON_NAME "yacc.c"
68#define yyparse embedparse
70#define yyerror embederror
71#define yydebug embeddebug
72#define yynerrs embednerrs
73#define yylval embedlval
74#define yychar embedchar
75#define yylloc embedlloc
78#line 1 "src/ugbc.embed.y"
107 len_rep = strlen(rep);
112 len_with = strlen(with);
116 for (count = 0; tmp = strstr(ins, rep); ++count) {
120 tmp = result =
malloc(strlen(orig) + (len_with - len_rep) * count + 1);
131 ins = strstr(orig, rep);
132 len_front = ins - orig;
133 tmp = strncpy(tmp, orig, len_front) + len_front;
134 tmp =
strcopy(tmp, with) + len_with;
135 orig += len_front + len_rep;
141#define configure_get_value_single( hardware, parameter, name, field ) \
142 if ( !valued && strcmp( p1, #hardware ) == 0 && strcmp( p3, #parameter ) == 0 && strcmp( p5, #name ) == 0 ) { \
143 value = ((struct _Environment *)_environment)->configureParameters.hardware.parameter.field; \
147#define configure_get_value( hardware, parameter ) \
148 configure_get_value_single( hardware, parameter, value, value ) \
149 configure_get_value_single( hardware, parameter, static, statically ) \
150 configure_get_value_single( hardware, parameter, dynamic, dynamically )
153#line 154 "src-generated/ugbc.embed.tab.c"
157# define YY_CAST(Type, Val) static_cast<Type> (Val)
158# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
160# define YY_CAST(Type, Val) ((Type) (Val))
161# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
165# if defined __cplusplus
166# if 201103L <= __cplusplus
167# define YY_NULLPTR nullptr
172# define YY_NULLPTR ((void*)0)
283#ifndef __PTRDIFF_MAX__
285# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
296#ifdef __INT_LEAST8_MAX__
298#elif defined YY_STDINT_H
304#ifdef __INT_LEAST16_MAX__
306#elif defined YY_STDINT_H
318# undef UINT_LEAST8_MAX
319# undef UINT_LEAST16_MAX
320# define UINT_LEAST8_MAX 255
321# define UINT_LEAST16_MAX 65535
324#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
326#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
327 && UINT_LEAST8_MAX <= INT_MAX)
329#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
335#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
337#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
338 && UINT_LEAST16_MAX <= INT_MAX)
340#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
347# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
348# define YYPTRDIFF_T __PTRDIFF_TYPE__
349# define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
350# elif defined PTRDIFF_MAX
354# define YYPTRDIFF_T ptrdiff_t
355# define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
357# define YYPTRDIFF_T long
358# define YYPTRDIFF_MAXIMUM LONG_MAX
364# define YYSIZE_T __SIZE_TYPE__
366# define YYSIZE_T size_t
367# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
369# define YYSIZE_T size_t
371# define YYSIZE_T unsigned
375#define YYSIZE_MAXIMUM \
376 YY_CAST (YYPTRDIFF_T, \
377 (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \
378 ? YYPTRDIFF_MAXIMUM \
379 : YY_CAST (YYSIZE_T, -1)))
381#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
391# if defined YYENABLE_NLS && YYENABLE_NLS
394# define YY_(Msgid) dgettext ("bison-runtime", Msgid)
398# define YY_(Msgid) Msgid
403#ifndef YY_ATTRIBUTE_PURE
404# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
405# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
407# define YY_ATTRIBUTE_PURE
411#ifndef YY_ATTRIBUTE_UNUSED
412# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
413# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
415# define YY_ATTRIBUTE_UNUSED
420#if ! defined lint || defined __GNUC__
421# define YY_USE(E) ((void) (E))
427#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
428# if __GNUC__ * 100 + __GNUC_MINOR__ < 407
429# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
430 _Pragma ("GCC diagnostic push") \
431 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
433# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
434 _Pragma ("GCC diagnostic push") \
435 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
436 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
438# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
439 _Pragma ("GCC diagnostic pop")
441# define YY_INITIAL_VALUE(Value) Value
443#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
444# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
445# define YY_IGNORE_MAYBE_UNINITIALIZED_END
447#ifndef YY_INITIAL_VALUE
448# define YY_INITIAL_VALUE(Value)
451#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
452# define YY_IGNORE_USELESS_CAST_BEGIN \
453 _Pragma ("GCC diagnostic push") \
454 _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
455# define YY_IGNORE_USELESS_CAST_END \
456 _Pragma ("GCC diagnostic pop")
458#ifndef YY_IGNORE_USELESS_CAST_BEGIN
459# define YY_IGNORE_USELESS_CAST_BEGIN
460# define YY_IGNORE_USELESS_CAST_END
464#define YY_ASSERT(E) ((void) (0 && (E)))
470# ifdef YYSTACK_USE_ALLOCA
471# if YYSTACK_USE_ALLOCA
473# define YYSTACK_ALLOC __builtin_alloca
474# elif defined __BUILTIN_VA_ARG_INCR
477# define YYSTACK_ALLOC __alloca
478# elif defined _MSC_VER
480# define alloca _alloca
482# define YYSTACK_ALLOC alloca
483# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
487# define EXIT_SUCCESS 0
496# define YYSTACK_FREE(Ptr) do { ; } while (0)
497# ifndef YYSTACK_ALLOC_MAXIMUM
502# define YYSTACK_ALLOC_MAXIMUM 4032
505# define YYSTACK_ALLOC YYMALLOC
506# define YYSTACK_FREE YYFREE
507# ifndef YYSTACK_ALLOC_MAXIMUM
508# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
510# if (defined __cplusplus && ! defined EXIT_SUCCESS \
511 && ! ((defined YYMALLOC || defined malloc) \
512 && (defined YYFREE || defined free)))
515# define EXIT_SUCCESS 0
519# define YYMALLOC malloc
520# if ! defined malloc && ! defined EXIT_SUCCESS
526# if ! defined free && ! defined EXIT_SUCCESS
533#if (! defined yyoverflow \
534 && (! defined __cplusplus \
535 || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
536 && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
547# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
551# define YYSTACK_BYTES(N) \
552 ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE) \
553 + YYSIZEOF (YYLTYPE)) \
554 + 2 * YYSTACK_GAP_MAXIMUM)
556# define YYCOPY_NEEDED 1
563# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
566 YYPTRDIFF_T yynewbytes; \
567 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
568 Stack = &yyptr->Stack_alloc; \
569 yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
570 yyptr += yynewbytes / YYSIZEOF (*yyptr); \
576#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
580# if defined __GNUC__ && 1 < __GNUC__
581# define YYCOPY(Dst, Src, Count) \
582 __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
584# define YYCOPY(Dst, Src, Count) \
588 for (yyi = 0; yyi < (Count); yyi++) \
589 (Dst)[yyi] = (Src)[yyi]; \
616#define YYTRANSLATE(YYX) \
617 (0 <= (YYX) && (YYX) <= YYMAXUTOK \
618 ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \
625 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
626 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
627 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
628 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
629 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
630 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
631 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
632 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
633 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
634 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
635 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
636 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
637 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
638 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
639 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
640 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
641 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
642 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
643 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
644 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
645 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
646 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
647 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
648 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
649 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
650 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
651 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
652 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
653 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
654 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
655 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
656 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
657 65, 66, 67, 68, 69, 70, 71, 72, 73, 74
664 0, 110, 110, 113, 116, 119, 122, 125, 128, 131,
665 134, 137, 140, 143, 146, 151, 159, 167, 175, 183,
666 191, 199, 207, 215, 223, 231, 239, 247, 255, 263,
667 271, 279, 287, 295, 303, 311, 319, 327, 335, 343,
668 351, 359, 369, 372, 376, 380, 384, 388, 392, 396,
669 400, 407, 411, 415, 419, 423, 427, 445, 591, 693,
670 703, 704, 705, 708, 715, 716, 717, 720, 731, 739,
671 749, 759, 764, 784, 816, 845, 844, 863, 876, 888,
677#define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
686static const char *
const yytname[] =
688 "\"end of file\"",
"error",
"\"invalid token\"",
"OP",
"CP",
"OP_AT",
689 "OP_EQUAL",
"OP_DISEQUAL",
"OP_AND",
"OP_OR",
"OP_NOT",
"OP_POINT",
690 "OP_LT",
"OP_LTE",
"OP_GT",
"OP_GTE",
"OP_COMMA",
"OP_TAB",
"OP_PIPE",
691 "IF",
"ELSE",
"ELSEIF",
"ENDIF",
"EMIT",
"AS",
"NewLine",
"ATARI",
692 "ATARIXL",
"C128",
"C128Z",
"C64",
"C64REU",
"GB",
"VIC20",
"ZX",
693 "COLECO",
"SC3000",
"SG1000",
"MSX",
"MSX1",
"DRAGON",
"DRAGON32",
694 "DRAGON64",
"PC1403",
"PC128OP",
"MO5",
"CPC",
"COCO",
"VZ200",
"COCO1",
695 "COCO2",
"COCO3",
"MACRO",
"ENDMACRO",
"INLINE",
"BIN",
"PRG",
"XEX",
696 "K7O",
"K7N",
"K7",
"TAP",
"ROM",
"D64",
"DSK",
"ATR",
"REU",
"TO8",
697 "PCCGA",
"SDDRIVE",
"Identifier",
"Content",
"Value",
"Integer",
698 "String",
"$accept",
"output",
"target",
"const_expr",
"const_factor",
699 "macro_parameter",
"macro_parameters",
"macro_value",
"macro_values",
706 return yytname[yysymbol];
710#define YYPACT_NINF (-63)
712#define yypact_value_is_default(Yyn) \
713 ((Yyn) == YYPACT_NINF)
715#define YYTABLE_NINF (-1)
717#define yytable_value_is_error(Yyn) \
724 -2, 52, -63, -21, 6, -3, -14, -3, -63, -62,
725 -61, -63, -60, -63, -63, -3, -3, -63, -63, -63,
726 -63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
727 -63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
728 -63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
729 -63, -63, -63, -63, -63, -63, -63, 0, -63, -63,
730 -63, -63, 86, -3, -63, -10, -63, -63, 9, -63,
731 -54, -3, -3, -3, -3, -3, -3, -3, -3, -63,
732 -53, -52, -51, -50, -63, 10, -63, -63, -63, -63,
733 -63, -63, -63, -63, -9, -63, -63, 33, -63, -63,
734 34, -63, -19, 7, 11, -51, -50, -63, 56, -63,
743 81, 0, 78, 82, 0, 0, 68, 0, 71, 0,
744 0, 77, 0, 83, 1, 0, 0, 15, 16, 17,
745 18, 19, 20, 21, 22, 23, 25, 26, 27, 29,
746 34, 35, 36, 28, 37, 39, 40, 30, 41, 31,
747 32, 33, 2, 3, 4, 5, 6, 7, 8, 9,
748 10, 11, 12, 14, 38, 24, 13, 58, 51, 53,
749 52, 67, 42, 0, 70, 0, 75, 79, 0, 55,
750 0, 0, 0, 0, 0, 0, 0, 0, 0, 69,
751 0, 0, 60, 64, 54, 57, 45, 46, 43, 44,
752 47, 48, 49, 50, 0, 74, 59, 61, 76, 63,
753 65, 80, 0, 0, 0, 60, 64, 56, 0, 73,
760 -63, -63, -63, 5, 13, -63, -29, -63, -23, -63,
767 0, 59, 60, 61, 62, 97, 98, 100, 101, 3,
776 15, 80, 103, 1, 13, 63, 14, 16, 65, 66,
777 67, 70, 64, 84, 81, 104, 85, 94, 95, 96,
778 68, 102, 99, 17, 18, 19, 20, 21, 22, 69,
779 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
780 33, 34, 35, 36, 37, 38, 39, 40, 41, 105,
781 106, 107, 42, 43, 44, 45, 46, 47, 48, 49,
782 50, 51, 52, 53, 54, 55, 56, 57, 79, 2,
783 58, 5, 6, 7, 8, 9, 110, 108, 88, 89,
784 112, 109, 113, 111, 86, 87, 0, 0, 90, 91,
785 92, 93, 71, 72, 73, 74, 0, 0, 75, 76,
786 77, 78, 0, 0, 10, 11, 12
791 3, 11, 11, 5, 25, 19, 0, 10, 70, 70,
792 70, 11, 7, 4, 24, 24, 70, 70, 70, 70,
793 15, 11, 72, 26, 27, 28, 29, 30, 31, 16,
794 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
795 43, 44, 45, 46, 47, 48, 49, 50, 51, 16,
796 16, 70, 55, 56, 57, 58, 59, 60, 61, 62,
797 63, 64, 65, 66, 67, 68, 69, 70, 63, 71,
798 73, 19, 20, 21, 22, 23, 105, 70, 73, 74,
799 24, 70, 70, 106, 71, 72, -1, -1, 75, 76,
800 77, 78, 6, 7, 8, 9, -1, -1, 12, 13,
801 14, 15, -1, -1, 52, 53, 54
808 0, 5, 71, 84, 87, 19, 20, 21, 22, 23,
809 52, 53, 54, 25, 0, 3, 10, 26, 27, 28,
810 29, 30, 31, 33, 34, 35, 36, 37, 38, 39,
811 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
812 50, 51, 55, 56, 57, 58, 59, 60, 61, 62,
813 63, 64, 65, 66, 67, 68, 69, 70, 73, 76,
814 77, 78, 79, 19, 78, 70, 70, 70, 78, 79,
815 11, 6, 7, 8, 9, 12, 13, 14, 15, 78,
816 11, 24, 85, 86, 4, 70, 79, 79, 78, 78,
817 79, 79, 79, 79, 70, 70, 70, 80, 81, 72,
818 82, 83, 11, 11, 24, 16, 16, 70, 70, 70,
825 0, 75, 76, 76, 76, 76, 76, 76, 76, 76,
826 76, 76, 76, 76, 76, 77, 77, 77, 77, 77,
827 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
828 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
829 77, 77, 78, 78, 78, 78, 78, 78, 78, 78,
830 78, 79, 79, 79, 79, 79, 79, 79, 79, 80,
831 81, 81, 81, 82, 83, 83, 83, 84, 84, 84,
832 84, 84, 84, 84, 84, 85, 84, 84, 84, 86,
839 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
840 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
841 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
842 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
843 1, 1, 1, 3, 3, 3, 3, 3, 3, 3,
844 3, 1, 1, 1, 3, 2, 5, 3, 1, 1,
845 0, 1, 3, 1, 0, 1, 3, 3, 2, 4,
846 3, 2, 9, 7, 5, 0, 5, 2, 1, 0,
853#define yyerrok (yyerrstatus = 0)
854#define yyclearin (yychar = YYEMPTY)
856#define YYACCEPT goto yyacceptlab
857#define YYABORT goto yyabortlab
858#define YYERROR goto yyerrorlab
859#define YYNOMEM goto yyexhaustedlab
862#define YYRECOVERING() (!!yyerrstatus)
864#define YYBACKUP(Token, Value) \
866 if (yychar == YYEMPTY) \
870 YYPOPSTACK (yylen); \
876 yyerror (_environment, YY_("syntax error: cannot back up")); \
883#define YYERRCODE YYUNDEF
889#ifndef YYLLOC_DEFAULT
890# define YYLLOC_DEFAULT(Current, Rhs, N) \
894 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
895 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
896 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
897 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
901 (Current).first_line = (Current).last_line = \
902 YYRHSLOC (Rhs, 0).last_line; \
903 (Current).first_column = (Current).last_column = \
904 YYRHSLOC (Rhs, 0).last_column; \
909#define YYRHSLOC(Rhs, K) ((Rhs)[K])
917# define YYFPRINTF fprintf
920# define YYDPRINTF(Args) \
931# ifndef YYLOCATION_PRINT
933# if defined YY_LOCATION_PRINT
937# define YYLOCATION_PRINT(File, Loc) YY_LOCATION_PRINT(File, *(Loc))
939# elif defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
945yy_location_print_ (FILE *yyo,
YYLTYPE const *
const yylocp)
963 else if (0 <= end_col && yylocp->
first_column < end_col)
969# define YYLOCATION_PRINT yy_location_print_
973# define YY_LOCATION_PRINT(File, Loc) YYLOCATION_PRINT(File, &(Loc))
977# define YYLOCATION_PRINT(File, Loc) ((void) 0)
980# define YY_LOCATION_PRINT YYLOCATION_PRINT
986# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \
990 YYFPRINTF (stderr, "%s ", Title); \
991 yy_symbol_print (stderr, \
992 Kind, Value, Location, _environment); \
993 YYFPRINTF (stderr, "\n"); \
1003yy_symbol_value_print (FILE *yyo,
1006 FILE *yyoutput = yyo;
1023yy_symbol_print (FILE *yyo,
1027 yykind <
YYNTOKENS ?
"token" :
"nterm", yysymbol_name (yykind));
1031 yy_symbol_value_print (yyo, yykind, yyvaluep, yylocationp, _environment);
1044 for (; yybottom <= yytop; yybottom++)
1046 int yybot = *yybottom;
1052# define YY_STACK_PRINT(Bottom, Top) \
1055 yy_stack_print ((Bottom), (Top)); \
1065 int yyrule,
void * _environment)
1067 int yylno = yyrline[yyrule];
1068 int yynrhs = yyr2[yyrule];
1070 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %d):\n",
1073 for (yyi = 0; yyi < yynrhs; yyi++)
1076 yy_symbol_print (stderr,
1078 &yyvsp[(yyi + 1) - (yynrhs)],
1079 &(yylsp[(yyi + 1) - (yynrhs)]), _environment);
1084# define YY_REDUCE_PRINT(Rule) \
1087 yy_reduce_print (yyssp, yyvsp, yylsp, Rule, _environment); \
1094# define YYDPRINTF(Args) ((void) 0)
1095# define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
1096# define YY_STACK_PRINT(Bottom, Top)
1097# define YY_REDUCE_PRINT(Rule)
1103# define YYINITDEPTH 200
1114# define YYMAXDEPTH 10000
1138 int yyn = yypact[+*yyctx->
yyssp];
1144 int yyxbegin = yyn < 0 ? -yyn : 0;
1146 int yychecklim =
YYLAST - yyn + 1;
1149 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1155 else if (yycount == yyargn)
1161 if (yyarg && yycount == 0 && 0 < yyargn)
1170# if defined __GLIBC__ && defined _STRING_H
1171# define yystrlen(S) (YY_CAST (YYPTRDIFF_T, strlen (S)))
1175yystrlen (
const char *yystr)
1178 for (yylen = 0; yystr[yylen]; yylen++)
1186# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1187# define yystpcpy stpcpy
1192yystpcpy (
char *yydest,
const char *yysrc)
1195 const char *yys = yysrc;
1197 while ((*yyd++ = *yys++) !=
'\0')
1214yytnamerr (
char *yyres,
const char *yystr)
1219 char const *yyp = yystr;
1225 goto do_not_strip_quotes;
1229 goto do_not_strip_quotes;
1245 do_not_strip_quotes: ;
1249 return yystpcpy (yyres, yystr) - yyres;
1251 return yystrlen (yystr);
1289 yyarg[yycount] = yyctx->
yytoken;
1291 yyn = yypcontext_expected_tokens (yyctx,
1292 yyarg ? yyarg + 1 : yyarg, yyargn - 1);
1310yysyntax_error (
YYPTRDIFF_T *yymsg_alloc,
char **yymsg,
1313 enum { YYARGS_MAX = 5 };
1323 int yycount = yy_syntax_error_arguments (yyctx, yyarg, YYARGS_MAX);
1329#define YYCASE_(N, S) \
1335 YYCASE_(1,
YY_(
"syntax error, unexpected %s"));
1336 YYCASE_(2,
YY_(
"syntax error, unexpected %s, expecting %s"));
1337 YYCASE_(3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
1338 YYCASE_(4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
1339 YYCASE_(5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
1345 yysize = yystrlen (yyformat) - 2 * yycount + 1;
1348 for (yyi = 0; yyi < yycount; ++yyi)
1351 = yysize + yytnamerr (
YY_NULLPTR, yytname[yyarg[yyi]]);
1359 if (*yymsg_alloc < yysize)
1361 *yymsg_alloc = 2 * yysize;
1362 if (! (yysize <= *yymsg_alloc
1374 while ((*yyp = *yyformat) !=
'\0')
1375 if (*yyp ==
'%' && yyformat[1] ==
's' && yyi < yycount)
1377 yyp += yytnamerr (yyp, yytname[yyarg[yyi++]]);
1395yydestruct (
const char *yymsg,
1418# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
1437 int yyerrstatus = 0;
1475 char *yymsg = yymsgbuf;
1478#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
1484 YYDPRINTF ((stderr,
"Starting parse\n"));
1505 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
1512 if (yyss + yystacksize - 1 <= yyssp)
1513#if !defined yyoverflow && !defined YYSTACK_RELOCATE
1520# if defined yyoverflow
1533 yyoverflow (
YY_(
"memory exhausted"),
1534 &yyss1, yysize *
YYSIZEOF (*yyssp),
1535 &yyvs1, yysize *
YYSIZEOF (*yyvsp),
1536 &yyls1, yysize *
YYSIZEOF (*yylsp),
1560# undef YYSTACK_RELOCATE
1566 yyssp = yyss + yysize - 1;
1567 yyvsp = yyvs + yysize - 1;
1568 yylsp = yyls + yysize - 1;
1571 YYDPRINTF ((stderr,
"Stack size increased to %ld\n",
1572 YY_CAST (
long, yystacksize)));
1575 if (yyss + yystacksize - 1 <= yyssp)
1595 yyn = yypact[yystate];
1604 YYDPRINTF ((stderr,
"Reading a token\n"));
1612 YYDPRINTF ((stderr,
"Now at end of input.\n"));
1622 yyerror_range[1] =
yylloc;
1634 if (yyn < 0 ||
YYLAST < yyn || yycheck[yyn] != yytoken)
1667 yyn = yydefact[yystate];
1688 yyval = yyvsp[1-yylen];
1692 yyerror_range[1] = yyloc;
1697#line 110 "src/ugbc.embed.y"
1701#line 1702 "src-generated/ugbc.embed.tab.c"
1705#line 113 "src/ugbc.embed.y"
1709#line 1710 "src-generated/ugbc.embed.tab.c"
1713#line 116 "src/ugbc.embed.y"
1717#line 1718 "src-generated/ugbc.embed.tab.c"
1721#line 119 "src/ugbc.embed.y"
1725#line 1726 "src-generated/ugbc.embed.tab.c"
1729#line 122 "src/ugbc.embed.y"
1733#line 1734 "src-generated/ugbc.embed.tab.c"
1737#line 125 "src/ugbc.embed.y"
1741#line 1742 "src-generated/ugbc.embed.tab.c"
1745#line 128 "src/ugbc.embed.y"
1749#line 1750 "src-generated/ugbc.embed.tab.c"
1753#line 131 "src/ugbc.embed.y"
1757#line 1758 "src-generated/ugbc.embed.tab.c"
1761#line 134 "src/ugbc.embed.y"
1765#line 1766 "src-generated/ugbc.embed.tab.c"
1769#line 137 "src/ugbc.embed.y"
1773#line 1774 "src-generated/ugbc.embed.tab.c"
1777#line 140 "src/ugbc.embed.y"
1781#line 1782 "src-generated/ugbc.embed.tab.c"
1785#line 143 "src/ugbc.embed.y"
1789#line 1790 "src-generated/ugbc.embed.tab.c"
1793#line 146 "src/ugbc.embed.y"
1797#line 1798 "src-generated/ugbc.embed.tab.c"
1801#line 151 "src/ugbc.embed.y"
1809#line 1810 "src-generated/ugbc.embed.tab.c"
1813#line 159 "src/ugbc.embed.y"
1821#line 1822 "src-generated/ugbc.embed.tab.c"
1825#line 167 "src/ugbc.embed.y"
1833#line 1834 "src-generated/ugbc.embed.tab.c"
1837#line 175 "src/ugbc.embed.y"
1845#line 1846 "src-generated/ugbc.embed.tab.c"
1849#line 183 "src/ugbc.embed.y"
1857#line 1858 "src-generated/ugbc.embed.tab.c"
1861#line 191 "src/ugbc.embed.y"
1869#line 1870 "src-generated/ugbc.embed.tab.c"
1873#line 199 "src/ugbc.embed.y"
1881#line 1882 "src-generated/ugbc.embed.tab.c"
1885#line 207 "src/ugbc.embed.y"
1893#line 1894 "src-generated/ugbc.embed.tab.c"
1897#line 215 "src/ugbc.embed.y"
1905#line 1906 "src-generated/ugbc.embed.tab.c"
1909#line 223 "src/ugbc.embed.y"
1917#line 1918 "src-generated/ugbc.embed.tab.c"
1921#line 231 "src/ugbc.embed.y"
1929#line 1930 "src-generated/ugbc.embed.tab.c"
1933#line 239 "src/ugbc.embed.y"
1941#line 1942 "src-generated/ugbc.embed.tab.c"
1945#line 247 "src/ugbc.embed.y"
1953#line 1954 "src-generated/ugbc.embed.tab.c"
1957#line 255 "src/ugbc.embed.y"
1965#line 1966 "src-generated/ugbc.embed.tab.c"
1969#line 263 "src/ugbc.embed.y"
1977#line 1978 "src-generated/ugbc.embed.tab.c"
1981#line 271 "src/ugbc.embed.y"
1983 #if defined(__coco__) || defined(__cocob__)
1989#line 1990 "src-generated/ugbc.embed.tab.c"
1993#line 279 "src/ugbc.embed.y"
1995 #if defined(__coco__) || defined(__cocob__)
2001#line 2002 "src-generated/ugbc.embed.tab.c"
2005#line 287 "src/ugbc.embed.y"
2007 #if defined(__coco__) || defined(__cocob__)
2013#line 2014 "src-generated/ugbc.embed.tab.c"
2017#line 295 "src/ugbc.embed.y"
2019 #if defined(__coco3__) || defined(__coco3b__)
2025#line 2026 "src-generated/ugbc.embed.tab.c"
2029#line 303 "src/ugbc.embed.y"
2031 #if defined(__d32__) || defined(__d64__) || defined(__d32b__) || defined(__d64b__)
2037#line 2038 "src-generated/ugbc.embed.tab.c"
2041#line 311 "src/ugbc.embed.y"
2043 #if defined(__d32__) || defined(__d32b__)
2049#line 2050 "src-generated/ugbc.embed.tab.c"
2053#line 319 "src/ugbc.embed.y"
2055 #if defined(__d64__) || defined(__d64b__)
2061#line 2062 "src-generated/ugbc.embed.tab.c"
2065#line 327 "src/ugbc.embed.y"
2073#line 2074 "src-generated/ugbc.embed.tab.c"
2077#line 335 "src/ugbc.embed.y"
2085#line 2086 "src-generated/ugbc.embed.tab.c"
2089#line 343 "src/ugbc.embed.y"
2097#line 2098 "src-generated/ugbc.embed.tab.c"
2101#line 351 "src/ugbc.embed.y"
2109#line 2110 "src-generated/ugbc.embed.tab.c"
2113#line 359 "src/ugbc.embed.y"
2121#line 2122 "src-generated/ugbc.embed.tab.c"
2125#line 369 "src/ugbc.embed.y"
2129#line 2130 "src-generated/ugbc.embed.tab.c"
2133#line 372 "src/ugbc.embed.y"
2136 (yyval.
integer) = ( (yyvsp[-2].integer) && (yyvsp[0].integer) );
2138#line 2139 "src-generated/ugbc.embed.tab.c"
2142#line 376 "src/ugbc.embed.y"
2145 (yyval.
integer) = ( (yyvsp[-2].integer) || (yyvsp[0].integer) );
2147#line 2148 "src-generated/ugbc.embed.tab.c"
2151#line 380 "src/ugbc.embed.y"
2154 (yyval.
integer) = ( (yyvsp[-2].integer) == (yyvsp[0].integer) );
2156#line 2157 "src-generated/ugbc.embed.tab.c"
2160#line 384 "src/ugbc.embed.y"
2163 (yyval.
integer) = ( (yyvsp[-2].integer) != (yyvsp[0].integer) );
2165#line 2166 "src-generated/ugbc.embed.tab.c"
2169#line 388 "src/ugbc.embed.y"
2172 (yyval.
integer) = ( (yyvsp[-2].integer) < (yyvsp[0].integer) );
2174#line 2175 "src-generated/ugbc.embed.tab.c"
2178#line 392 "src/ugbc.embed.y"
2181 (yyval.
integer) = ( (yyvsp[-2].integer) <= (yyvsp[0].integer) );
2183#line 2184 "src-generated/ugbc.embed.tab.c"
2187#line 396 "src/ugbc.embed.y"
2190 (yyval.
integer) = ( (yyvsp[-2].integer) > (yyvsp[0].integer) );
2192#line 2193 "src-generated/ugbc.embed.tab.c"
2196#line 400 "src/ugbc.embed.y"
2199 (yyval.
integer) = ( (yyvsp[-2].integer) >= (yyvsp[0].integer) );
2201#line 2202 "src-generated/ugbc.embed.tab.c"
2205#line 407 "src/ugbc.embed.y"
2208 (yyval.
integer) = (yyvsp[0].integer);
2210#line 2211 "src-generated/ugbc.embed.tab.c"
2214#line 411 "src/ugbc.embed.y"
2217 (yyval.
integer) = (yyvsp[0].integer);
2219#line 2220 "src-generated/ugbc.embed.tab.c"
2223#line 415 "src/ugbc.embed.y"
2226 (yyval.
integer) = (yyvsp[0].integer);
2228#line 2229 "src-generated/ugbc.embed.tab.c"
2232#line 419 "src/ugbc.embed.y"
2235 (yyval.
integer) = (yyvsp[-1].integer);
2237#line 2238 "src-generated/ugbc.embed.tab.c"
2241#line 423 "src/ugbc.embed.y"
2244 (yyval.
integer) = ( ! (yyvsp[0].integer) );
2246#line 2247 "src-generated/ugbc.embed.tab.c"
2250#line 427 "src/ugbc.embed.y"
2255 char * p1 = (yyvsp[-4].
string);
2256 char * p3 = (yyvsp[-2].
string);
2257 char * p5 = (yyvsp[0].
string);
2269#line 2270 "src-generated/ugbc.embed.tab.c"
2273#line 445 "src/ugbc.embed.y"
2275 if ( strcmp( (yyvsp[-2].
string),
"vestigialConfig" ) == 0 ) {
2276 if ( strcmp( (yyvsp[0].
string),
"screenModeUnique" ) == 0 ) {
2278 }
else if ( strcmp( (yyvsp[0].
string),
"doubleBufferSelected" ) == 0 ) {
2279 (yyval.
integer) = ((
struct _Environment *)_environment)->vestigialConfig.doubleBufferSelected;
2280 }
else if ( strcmp( (yyvsp[0].
string),
"doubleBuffer" ) == 0 ) {
2281 (yyval.
integer) = ( ((
struct _Environment *)_environment)->vestigialConfig.doubleBuffer ) || ( ((
struct _Environment *)_environment)->doubleBufferEnabled );
2282 }
else if ( strcmp( (yyvsp[0].
string),
"palettePreserve" ) == 0 ) {
2284 }
else if ( strcmp( (yyvsp[0].
string),
"rchack_acme_1172" ) == 0 ) {
2285 (yyval.
integer) = ((
struct _Environment *)_environment)->vestigialConfig.rchack_acme_1172;
2286 }
else if ( strcmp( (yyvsp[0].
string),
"rchack_cocon_1163" ) == 0 ) {
2287 (yyval.
integer) = ((
struct _Environment *)_environment)->vestigialConfig.rchack_cocon_1163;
2288 }
else if ( strcmp( (yyvsp[0].
string),
"rchack_pick_the_star_1163" ) == 0 ) {
2289 (yyval.
integer) = ((
struct _Environment *)_environment)->vestigialConfig.rchack_pick_the_star_1163;
2290 }
else if ( strcmp( (yyvsp[0].
string),
"rchack_4gravity_1163" ) == 0 ) {
2291 (yyval.
integer) = ((
struct _Environment *)_environment)->vestigialConfig.rchack_4gravity_1163;
2292 }
else if ( strcmp( (yyvsp[0].
string),
"rchack_4gravity_1164" ) == 0 ) {
2293 (yyval.
integer) = ((
struct _Environment *)_environment)->vestigialConfig.rchack_4gravity_1164;
2294 }
else if ( strcmp( (yyvsp[0].
string),
"clsImplicit" ) == 0 ) {
2299 }
else if ( strcmp( (yyvsp[-2].
string),
"bankAccessOptimization" ) == 0 ) {
2300 if ( strcmp( (yyvsp[0].
string),
"read1" ) == 0 ) {
2302 }
else if ( strcmp( (yyvsp[0].
string),
"read2" ) == 0 ) {
2304 }
else if ( strcmp( (yyvsp[0].
string),
"read4" ) == 0 ) {
2306 }
else if ( strcmp( (yyvsp[0].
string),
"readn" ) == 0 ) {
2308 }
else if ( strcmp( (yyvsp[0].
string),
"write1" ) == 0 ) {
2310 }
else if ( strcmp( (yyvsp[0].
string),
"write2" ) == 0 ) {
2312 }
else if ( strcmp( (yyvsp[0].
string),
"write4" ) == 0 ) {
2314 }
else if ( strcmp( (yyvsp[0].
string),
"writen" ) == 0 ) {
2319 }
else if ( strcmp( (yyvsp[-2].
string),
"fontConfig" ) == 0 ) {
2320 if ( strcmp( (yyvsp[0].
string),
"schema" ) == 0 ) {
2325 }
else if ( strcmp( (yyvsp[-2].
string),
"numberConfig" ) == 0 ) {
2326 if ( strcmp( (yyvsp[0].
string),
"maxBytes" ) == 0 ) {
2328 }
else if ( strcmp( (yyvsp[0].
string),
"maxDigits" ) == 0 ) {
2333 }
else if ( strcmp( (yyvsp[-2].
string),
"joystickConfig" ) == 0 ) {
2334 if ( strcmp( (yyvsp[0].
string),
"retries" ) == 0 ) {
2336 }
else if ( strcmp( (yyvsp[0].
string),
"values" ) == 0 ) {
2338 }
else if ( strcmp( (yyvsp[0].
string),
"sync" ) == 0 ) {
2343 }
else if ( strcmp( (yyvsp[-2].
string),
"keyboardConfig" ) == 0 ) {
2344 if ( strcmp( (yyvsp[0].
string),
"latency" ) == 0 ) {
2346 }
else if ( strcmp( (yyvsp[0].
string),
"delay" ) == 0 ) {
2348 }
else if ( strcmp( (yyvsp[0].
string),
"release" ) == 0 ) {
2350 }
else if ( strcmp( (yyvsp[0].
string),
"sync" ) == 0 ) {
2355 }
else if ( strcmp( (yyvsp[-2].
string),
"multiplexingSpriteConfig" ) == 0 ) {
2356 if ( strcmp( (yyvsp[0].
string),
"async" ) == 0 ) {
2361 }
else if ( strcmp( (yyvsp[-2].
string),
"descriptors" ) == 0 ) {
2363 if ( strcmp( (yyvsp[0].
string),
"firstFree" ) == 0 ) {
2371 }
else if ( strcmp( (yyvsp[-2].
string),
"deployed" ) == 0 ) {
2372 if ( strcmp( (yyvsp[0].
string),
"dload" ) == 0 ) {
2374 }
else if ( strcmp( (yyvsp[0].
string),
"dsave" ) == 0 ) {
2376 }
else if ( strcmp( (yyvsp[0].
string),
"dcommon" ) == 0 ) {
2378 }
else if ( strcmp( (yyvsp[0].
string),
"msprites" ) == 0 ) {
2380 }
else if ( strcmp( (yyvsp[0].
string),
"flash" ) == 0 ) {
2382 }
else if ( strcmp( (yyvsp[0].
string),
"timer" ) == 0 ) {
2384 }
else if ( strcmp( (yyvsp[0].
string),
"music" ) == 0 ) {
2386 }
else if ( strcmp( (yyvsp[0].
string),
"sidstartup" ) == 0 ) {
2388 }
else if ( strcmp( (yyvsp[0].
string),
"sidplayer" ) == 0 ) {
2390 }
else if ( strcmp( (yyvsp[0].
string),
"pokeystartup" ) == 0 ) {
2392 }
else if ( strcmp( (yyvsp[0].
string),
"ay8910startup" ) == 0 ) {
2394 }
else if ( strcmp( (yyvsp[0].
string),
"sn76489startup" ) == 0 ) {
2396 }
else if ( strcmp( (yyvsp[0].
string),
"sn76489mstartup" ) == 0 ) {
2398 }
else if ( strcmp( (yyvsp[0].
string),
"sn76489zstartup" ) == 0 ) {
2400 }
else if ( strcmp( (yyvsp[0].
string),
"keyboard" ) == 0 ) {
2402 }
else if ( strcmp( (yyvsp[0].
string),
"scancode" ) == 0 ) {
2404 }
else if ( strcmp( (yyvsp[0].
string),
"serial" ) == 0 ) {
2406 }
else if ( strcmp( (yyvsp[0].
string),
"fade" ) == 0 ) {
2408 }
else if ( strcmp( (yyvsp[0].
string),
"joystick" ) == 0 ) {
2410 }
else if ( strcmp( (yyvsp[0].
string),
"fp" ) == 0 ) {
2420#line 2421 "src-generated/ugbc.embed.tab.c"
2424#line 591 "src/ugbc.embed.y"
2428 if ( strcmp( (yyvsp[0].
string),
"expansionBanks" ) == 0 ) {
2430 }
else if ( strcmp( (yyvsp[0].
string),
"tenLinerRulesEnforced" ) == 0 ) {
2432 }
else if ( strcmp( (yyvsp[0].
string),
"currentMode" ) == 0 ) {
2434 }
else if ( strcmp( (yyvsp[0].
string),
"outputFileType" ) == 0 ) {
2436 }
else if ( strcmp( (yyvsp[0].
string),
"residentDetectionEnabled" ) == 0 ) {
2438 }
else if ( strcmp( (yyvsp[0].
string),
"keyboardFullSupport" ) == 0 ) {
2440 }
else if ( strcmp( (yyvsp[0].
string),
"transparencyUsed" ) == 0 ) {
2442 }
else if ( strcmp( (yyvsp[0].
string),
"transparencyCoarse" ) == 0 ) {
2444 }
else if ( strcmp( (yyvsp[0].
string),
"printSafe" ) == 0 ) {
2446 }
else if ( strcmp( (yyvsp[0].
string),
"putImageSafe" ) == 0 ) {
2448 }
else if ( strcmp( (yyvsp[0].
string),
"getImageSafe" ) == 0 ) {
2450 }
else if ( strcmp( (yyvsp[0].
string),
"stackStartAddress" ) == 0 ) {
2452 }
else if ( strcmp( (yyvsp[0].
string),
"stackSize" ) == 0 ) {
2454 }
else if ( strcmp( (yyvsp[0].
string),
"dynamicConsole" ) == 0 ) {
2456 }
else if ( strcmp( (yyvsp[0].
string),
"horizontalScrollOff" ) == 0 ) {
2458 }
else if ( strcmp( (yyvsp[0].
string),
"descriptors" ) == 0 ) {
2464 }
else if ( strcmp( (yyvsp[0].
string),
"dataSegment" ) == 0 ) {
2471 }
else if ( strcmp( (yyvsp[0].
string),
"lmarginAtariBasicEnabled" ) == 0 ) {
2477 }
else if ( strcmp( (yyvsp[0].
string),
"optionClip" ) == 0 ) {
2483 }
else if ( strcmp( (yyvsp[0].
string),
"sysCallUsed" ) == 0 ) {
2489 }
else if ( strcmp( (yyvsp[0].
string),
"enableRle" ) == 0 ) {
2495 }
else if ( strcmp( (yyvsp[0].
string),
"verticalOverlapRequired" ) == 0 ) {
2501 }
else if ( strcmp( (yyvsp[0].
string),
"horizontalOverlapRequired" ) == 0 ) {
2507 }
else if ( strcmp( (yyvsp[0].
string),
"clsSlow" ) == 0 ) {
2509 }
else if ( strcmp( (yyvsp[0].
string),
"scaleX" ) == 0 ) {
2511 }
else if ( strcmp( (yyvsp[0].
string),
"scaleY" ) == 0 ) {
2513 }
else if ( strcmp( (yyvsp[0].
string),
"offsetX" ) == 0 ) {
2515 }
else if ( strcmp( (yyvsp[0].
string),
"offsetY" ) == 0 ) {
2517 }
else if ( strcmp( (yyvsp[0].
string),
"copperList" ) == 0 ) {
2524#line 2525 "src-generated/ugbc.embed.tab.c"
2528#line 693 "src/ugbc.embed.y"
2531 if ( currentMacro ) {
2538#line 2539 "src-generated/ugbc.embed.tab.c"
2542#line 708 "src/ugbc.embed.y"
2549#line 2550 "src-generated/ugbc.embed.tab.c"
2553#line 720 "src/ugbc.embed.y"
2558 if ( (yyvsp[0].integer) ) {
2565#line 2566 "src-generated/ugbc.embed.tab.c"
2569#line 731 "src/ugbc.embed.y"
2578#line 2579 "src-generated/ugbc.embed.tab.c"
2582#line 739 "src/ugbc.embed.y"
2586 if ( (yyvsp[0].integer) ) {
2593#line 2594 "src-generated/ugbc.embed.tab.c"
2597#line 749 "src/ugbc.embed.y"
2601 if ( (yyvsp[0].integer) ) {
2608#line 2609 "src-generated/ugbc.embed.tab.c"
2612#line 759 "src/ugbc.embed.y"
2618#line 2619 "src-generated/ugbc.embed.tab.c"
2622#line 764 "src/ugbc.embed.y"
2626 for( i=0; i<((
struct _Environment *)_environment)->embedResult.current; ++i ) {\
2634 char * p1 = (yyvsp[-6].
string);
2635 char * p3 = (yyvsp[-4].
string);
2636 char * p5 = (yyvsp[-2].
string);
2643#line 2644 "src-generated/ugbc.embed.tab.c"
2647#line 784 "src/ugbc.embed.y"
2650 if ( strcmp( (yyvsp[-4].
string),
"joystickConfig" ) == 0 ) {
2651 if ( strcmp( (yyvsp[-2].
string),
"retries" ) == 0 ) {
2653 }
else if ( strcmp( (yyvsp[-2].
string),
"values" ) == 0 ) {
2656 }
else if ( strcmp( (yyvsp[-4].
string),
"keyboardConfig" ) == 0 ) {
2657 if ( strcmp( (yyvsp[-2].
string),
"latency" ) == 0 ) {
2659 }
else if ( strcmp( (yyvsp[-2].
string),
"delay" ) == 0 ) {
2661 }
else if ( strcmp( (yyvsp[-2].
string),
"release" ) == 0 ) {
2664 }
else if ( strcmp( (yyvsp[-4].
string),
"numberConfig" ) == 0 ) {
2665 if ( strcmp( (yyvsp[-2].
string),
"maxBytes" ) == 0 ) {
2667 }
else if ( strcmp( (yyvsp[-2].
string),
"maxDigits" ) == 0 ) {
2670 }
else if ( strcmp( (yyvsp[-4].
string),
"descriptors" ) == 0 ) {
2672 if ( strcmp( (yyvsp[-2].
string),
"firstFree" ) == 0 ) {
2680#line 2681 "src-generated/ugbc.embed.tab.c"
2684#line 816 "src/ugbc.embed.y"
2686 if ( strcmp( (yyvsp[-2].
string),
"frameBufferStart" ) == 0 ) {
2688 }
else if ( strcmp( (yyvsp[-2].
string),
"frameBufferStart2" ) == 0 ) {
2690 }
else if ( strcmp( (yyvsp[-2].
string),
"waitSpriteUpdateFlag" ) == 0 ) {
2696 }
else if ( strcmp( (yyvsp[-2].
string),
"horizontalScrollOff" ) == 0 ) {
2698 }
else if ( strcmp( (yyvsp[-2].
string),
"scaleX" ) == 0 ) {
2700 }
else if ( strcmp( (yyvsp[-2].
string),
"stackSize" ) == 0 ) {
2702 }
else if ( strcmp( (yyvsp[-2].
string),
"stackStartAddress" ) == 0 ) {
2704 }
else if ( strcmp( (yyvsp[-2].
string),
"scaleY" ) == 0 ) {
2706 }
else if ( strcmp( (yyvsp[-2].
string),
"offsetX" ) == 0 ) {
2708 }
else if ( strcmp( (yyvsp[-2].
string),
"offsetY" ) == 0 ) {
2713#line 2714 "src-generated/ugbc.embed.tab.c"
2717#line 845 "src/ugbc.embed.y"
2721 for( i=0; i<((
struct _Environment *)_environment)->embedResult.current; ++i ) {
2731 currentMacro->
name = strdup( (yyvsp[0].
string) );
2734#line 2735 "src-generated/ugbc.embed.tab.c"
2738#line 860 "src/ugbc.embed.y"
2742#line 2743 "src-generated/ugbc.embed.tab.c"
2746#line 864 "src/ugbc.embed.y"
2751 if ( currentMacro ) {
2753 currentMacro->
next = macro;
2759#line 2760 "src-generated/ugbc.embed.tab.c"
2763#line 876 "src/ugbc.embed.y"
2768 if ( currentMacro ) {
2769 currentMacro->
lines[currentMacro->
lineCount++] = strdup( (yyvsp[0].
string) );
2776#line 2777 "src-generated/ugbc.embed.tab.c"
2780#line 888 "src/ugbc.embed.y"
2790 if ( strcmp( macro->
name, (yyvsp[0].
string) ) == 0 ) {
2793 macro = macro->
next;
2802#line 2803 "src-generated/ugbc.embed.tab.c"
2806#line 908 "src/ugbc.embed.y"
2817 for( j=0; j<currentMacro->lineCount; ++j ) {
2818 char * line = currentMacro->lines[j];
2820 for( k=0; k<currentMacro->parameterCount; ++k ) {
2821 char * nextLine =
str_replace( line, currentMacro->parameters[k], ((
struct _Environment *)_environment)->embedResult.values[k] );
2826 char * nextLine =
str_replace( line,
"label", label );
2836#line 2837 "src-generated/ugbc.embed.tab.c"
2840#line 937 "src/ugbc.embed.y"
2844#line 2845 "src-generated/ugbc.embed.tab.c"
2848#line 2849 "src-generated/ugbc.embed.tab.c"
2875 const int yylhs = yyr1[yyn] -
YYNTOKENS;
2876 const int yyi = yypgoto[yylhs] + *yyssp;
2877 yystate = (0 <= yyi && yyi <=
YYLAST && yycheck[yyi] == *yyssp
2879 : yydefgoto[yylhs]);
2898 = {yyssp, yytoken, &
yylloc};
2899 char const *yymsgp =
YY_(
"syntax error");
2900 int yysyntax_error_status;
2901 yysyntax_error_status = yysyntax_error (&yymsg_alloc, &yymsg, &yyctx);
2902 if (yysyntax_error_status == 0)
2904 else if (yysyntax_error_status == -1)
2906 if (yymsg != yymsgbuf)
2912 yysyntax_error_status
2913 = yysyntax_error (&yymsg_alloc, &yymsg, &yyctx);
2919 yymsg_alloc =
sizeof yymsgbuf;
2923 yyerror (_environment, yymsgp);
2924 if (yysyntax_error_status ==
YYENOMEM)
2929 yyerror_range[1] =
yylloc;
2930 if (yyerrstatus == 3)
2943 yydestruct (
"Error: discarding",
2982 yyn = yypact[yystate];
2998 yyerror_range[1] = *yylsp;
2999 yydestruct (
"Error: popping",
3010 yyerror_range[2] =
yylloc;
3041 yyerror (_environment,
YY_(
"memory exhausted"));
3055 yydestruct (
"Cleanup: discarding lookahead",
3062 while (yyssp != yyss)
3064 yydestruct (
"Cleanup: popping",
3072 if (yymsg != yymsgbuf)
3077#line 946 "src/ugbc.embed.y"
3083 printf(
"*** ERROR2: %s at %d column %d (%d)\n", s, 0, (
embedcolno+1), (
yyposno+1));
void vars_emit_constant_integer(Environment *_environment, char *_name, int _value)
int assemblyLineIsAComment(char *_buffer)
int count_screen_mode_selected(Environment *_environment)
char * values[MAX_TEMPORARY_STORAGE]
char * lines[MAX_TEMPORARY_STORAGE]
int excluded[MAX_NESTED_ARRAYS]
Structure of compilation environment.
JoystickConfig joystickConfig
DataSegment * dataSegment
int verticalOverlapRequired
NumberConfig numberConfig
MultiplexingSpriteConfig multiplexingSpriteConfig
KeyboardConfig keyboardConfig
TileDescriptors * descriptors
int horizontalOverlapRequired
int lmarginAtariBasicEnabled
char * parameters[MAX_TEMPORARY_STORAGE]
char * lines[MAX_TEMPORARY_STORAGE]
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
@ YYSYMBOL_macro_parameters
@ YYSYMBOL_macro_parameter
int embederror(Environment *, const char *)
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
#define YY_IGNORE_USELESS_CAST_END
#define YYLLOC_DEFAULT(Current, Rhs, N)
#define YY_REDUCE_PRINT(Rule)
#define YY_CAST(Type, Val)
#define YY_ACCESSING_SYMBOL(State)
#define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
unsigned char yytype_uint8
#define YY_STACK_PRINT(Bottom, Top)
#define YYSTACK_ALLOC_MAXIMUM
#define YY_IGNORE_USELESS_CAST_BEGIN
#define configure_get_value(hardware, parameter)
#define yytable_value_is_error(Yyn)
#define YY_ATTRIBUTE_UNUSED
unsigned short yytype_uint16
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
#define yypact_value_is_default(Yyn)
char * str_replace(char *orig, char *rep, char *with)
@ OUTPUT_FILE_TYPE_K7_NEW
@ OUTPUT_FILE_TYPE_K7_ORIGINAL
@ OUTPUT_FILE_TYPE_SDDRIVE
#define MAX_TEMPORARY_STORAGE
#define CRITICAL_MACRO_UNDEFINED(m)
#define CRITICAL_MACRO_TOO_MUCH_LINES(m)
#define CRITICAL_MACRO_TOO_MUCH_PARAMETERS(m, p)
#define CRITICAL_MACRO_TOO_MUCH_VALUES(m, v)
#define CRITICAL_MACRO_MISMATCH_PARAMETER_VALUES(m)
struct _Environment Environment
Structure of compilation environment.
char * strcopy(char *_dest, char *_source)