1 /* A Bison parser, made by GNU Bison 2.3. */
3 /* Skeleton implementation for Bison's Yacc-like parsers in C
5 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6 Free Software Foundation, Inc.
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2, or (at your option)
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 Boston, MA 02110-1301, USA. */
23 /* As a special exception, you may create a larger work that contains
24 part or all of the Bison parser skeleton and distribute that work
25 under terms of your choice, so long as that work isn't itself a
26 parser generator using the skeleton or a modified version thereof
27 as a parser skeleton. Alternatively, if you modify or redistribute
28 the parser skeleton itself, you may (at your option) remove this
29 special exception, which will cause the skeleton and the resulting
30 Bison output files to be licensed under the GNU General Public
31 License without this special exception.
33 This special exception was added by the Free Software Foundation in
34 version 2.2 of Bison. */
36 /* C LALR(1) parser skeleton written by Richard Stallman, by
37 simplifying the original so-called "semantic" parser. */
39 /* All symbols defined below should begin with yy or YY, to avoid
40 infringing on user name space. This should be done even for local
41 variables, as they might otherwise be expanded by user macros.
42 There are some unavoidable exceptions within include files to
43 define necessary library symbols; they are noted "INFRINGES ON
44 USER NAME SPACE" below. */
46 /* Identify Bison output. */
50 #define YYBISON_VERSION "2.3"
53 #define YYSKELETON_NAME "yacc.c"
58 /* Using locations. */
59 #define YYLSP_NEEDED 1
66 /* Put the tokens into the symbol table, so that GDB and other debuggers
90 GROBDESCRIPTIONS = 279,
135 DOUBLE_ANGLE_OPEN = 324,
136 DOUBLE_ANGLE_CLOSE = 325,
142 E_BRACKET_OPEN = 331,
144 E_BRACKET_CLOSE = 333,
153 CHORDMODIFIERS = 342,
155 MULTI_MEASURE_REST = 344,
162 EXPECT_NO_MORE_ARGS = 351,
163 BOOK_IDENTIFIER = 352,
164 CHORDMODIFIER_PITCH = 353,
165 CHORD_MODIFIER = 354,
166 CONTEXT_DEF_IDENTIFIER = 355,
168 DURATION_IDENTIFIER = 357,
169 EVENT_IDENTIFIER = 358,
172 LYRIC_MARKUP_IDENTIFIER = 361,
173 MARKUP_HEAD_EMPTY = 362,
174 MARKUP_HEAD_LIST0 = 363,
175 MARKUP_HEAD_MARKUP0 = 364,
176 MARKUP_HEAD_MARKUP0_MARKUP1 = 365,
177 MARKUP_HEAD_SCM0 = 366,
178 MARKUP_HEAD_SCM0_MARKUP1 = 367,
179 MARKUP_HEAD_SCM0_SCM1 = 368,
180 MARKUP_HEAD_SCM0_SCM1_MARKUP2 = 369,
181 MARKUP_HEAD_SCM0_SCM1_MARKUP2_MARKUP3 = 370,
182 MARKUP_HEAD_SCM0_MARKUP1_MARKUP2 = 371,
183 MARKUP_HEAD_SCM0_SCM1_SCM2 = 372,
184 MARKUP_LIST_HEAD_EMPTY = 373,
185 MARKUP_LIST_HEAD_LIST0 = 374,
186 MARKUP_LIST_HEAD_SCM0 = 375,
187 MARKUP_LIST_HEAD_SCM0_LIST1 = 376,
188 MARKUP_LIST_HEAD_SCM0_SCM1_LIST2 = 377,
189 MARKUP_IDENTIFIER = 378,
190 MUSIC_FUNCTION = 379,
191 MUSIC_IDENTIFIER = 380,
192 NOTENAME_PITCH = 381,
193 NUMBER_IDENTIFIER = 382,
194 OUTPUT_DEF_IDENTIFIER = 383,
197 SCM_IDENTIFIER = 386,
199 SCORE_IDENTIFIER = 388,
201 STRING_IDENTIFIER = 390,
202 TONICNAME_PITCH = 391,
208 #define ADDLYRICS 259
212 #define ALTERNATIVE 263
216 #define CHORDMODE 267
221 #define DEFAULTCHILD 272
223 #define DESCRIPTION 274
226 #define FIGUREMODE 277
228 #define GROBDESCRIPTIONS 279
233 #define LYRICMODE 284
238 #define MARKUPLINES 289
254 #define SEQUENTIAL 305
256 #define SIMULTANEOUS 307
260 #define TRANSPOSE 311
265 #define NEWCONTEXT 316
266 #define CHORD_BASS 317
267 #define CHORD_CARET 318
268 #define CHORD_COLON 319
269 #define CHORD_MINUS 320
270 #define CHORD_SLASH 321
271 #define ANGLE_OPEN 322
272 #define ANGLE_CLOSE 323
273 #define DOUBLE_ANGLE_OPEN 324
274 #define DOUBLE_ANGLE_CLOSE 325
275 #define E_BACKSLASH 326
276 #define E_ANGLE_CLOSE 327
279 #define E_EXCLAMATION 330
280 #define E_BRACKET_OPEN 331
282 #define E_BRACKET_CLOSE 333
283 #define E_ANGLE_OPEN 334
287 #define FIGURE_CLOSE 338
288 #define FIGURE_OPEN 339
289 #define FIGURE_SPACE 340
291 #define CHORDMODIFIERS 342
292 #define LYRIC_MARKUP 343
293 #define MULTI_MEASURE_REST 344
295 #define E_UNSIGNED 346
297 #define EXPECT_MARKUP 348
298 #define EXPECT_MUSIC 349
299 #define EXPECT_SCM 350
300 #define EXPECT_NO_MORE_ARGS 351
301 #define BOOK_IDENTIFIER 352
302 #define CHORDMODIFIER_PITCH 353
303 #define CHORD_MODIFIER 354
304 #define CONTEXT_DEF_IDENTIFIER 355
305 #define DRUM_PITCH 356
306 #define DURATION_IDENTIFIER 357
307 #define EVENT_IDENTIFIER 358
309 #define LYRICS_STRING 360
310 #define LYRIC_MARKUP_IDENTIFIER 361
311 #define MARKUP_HEAD_EMPTY 362
312 #define MARKUP_HEAD_LIST0 363
313 #define MARKUP_HEAD_MARKUP0 364
314 #define MARKUP_HEAD_MARKUP0_MARKUP1 365
315 #define MARKUP_HEAD_SCM0 366
316 #define MARKUP_HEAD_SCM0_MARKUP1 367
317 #define MARKUP_HEAD_SCM0_SCM1 368
318 #define MARKUP_HEAD_SCM0_SCM1_MARKUP2 369
319 #define MARKUP_HEAD_SCM0_SCM1_MARKUP2_MARKUP3 370
320 #define MARKUP_HEAD_SCM0_MARKUP1_MARKUP2 371
321 #define MARKUP_HEAD_SCM0_SCM1_SCM2 372
322 #define MARKUP_LIST_HEAD_EMPTY 373
323 #define MARKUP_LIST_HEAD_LIST0 374
324 #define MARKUP_LIST_HEAD_SCM0 375
325 #define MARKUP_LIST_HEAD_SCM0_LIST1 376
326 #define MARKUP_LIST_HEAD_SCM0_SCM1_LIST2 377
327 #define MARKUP_IDENTIFIER 378
328 #define MUSIC_FUNCTION 379
329 #define MUSIC_IDENTIFIER 380
330 #define NOTENAME_PITCH 381
331 #define NUMBER_IDENTIFIER 382
332 #define OUTPUT_DEF_IDENTIFIER 383
335 #define SCM_IDENTIFIER 386
336 #define SCM_TOKEN 387
337 #define SCORE_IDENTIFIER 388
339 #define STRING_IDENTIFIER 390
340 #define TONICNAME_PITCH 391
341 #define UNARY_MINUS 392
346 /* Copy the first part of user declarations. */
347 #line 10 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
351 #define YYERROR_VERBOSE 1
352 #define YYPARSE_PARAM my_lily_parser
353 #define YYLEX_PARAM my_lily_parser
354 #define PARSER ((Lily_parser *) my_lily_parser)
356 #define yyerror PARSER->parser_error
358 /* We use custom location type: Input objects */
359 #define YYLTYPE Input
360 #define YYLLOC_DEFAULT(Current,Rhs,N) \
361 ((Current).set_location ((Rhs)[1], (Rhs)[N]))
364 #line 56 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
370 * The rules for who is protecting what are very shady. Uniformise
373 * There are too many lexical modes?
384 #include "context-def.hh"
385 #include "dimensions.hh"
386 #include "file-path.hh"
388 #include "international.hh"
389 #include "lily-guile.hh"
390 #include "lily-lexer.hh"
391 #include "lily-parser.hh"
396 #include "output-def.hh"
397 #include "paper-book.hh"
398 #include "program-option.hh"
399 #include "scm-hash.hh"
401 #include "text-interface.hh"
406 /* Enabling traces. */
411 /* Enabling verbose error messages. */
412 #ifdef YYERROR_VERBOSE
413 # undef YYERROR_VERBOSE
414 # define YYERROR_VERBOSE 1
416 # define YYERROR_VERBOSE 0
419 /* Enabling the token table. */
420 #ifndef YYTOKEN_TABLE
421 # define YYTOKEN_TABLE 0
424 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
425 typedef union YYSTYPE
426 #line 98 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
429 Output_def *outputdef;
436 /* Line 187 of yacc.c. */
437 #line 438 "out/parser.cc"
439 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
440 # define YYSTYPE_IS_DECLARED 1
441 # define YYSTYPE_IS_TRIVIAL 1
444 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
445 typedef struct YYLTYPE
452 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
453 # define YYLTYPE_IS_DECLARED 1
454 # define YYLTYPE_IS_TRIVIAL 1
458 /* Copy the second part of user declarations. */
459 #line 108 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
462 #define MY_MAKE_MUSIC(x, spot) make_music_with_input (ly_symbol2scm (x), spot)
465 - Don't use lily module, create a new module instead.
466 - delay application of the function
468 #define LOWLEVEL_MAKE_SYNTAX(proc, args) \
469 scm_apply_0 (proc, args)
470 /* Syntactic Sugar. */
471 #define MAKE_SYNTAX(name, location, ...) \
472 LOWLEVEL_MAKE_SYNTAX (ly_lily_module_constant (name), scm_list_n (PARSER->self_scm (), make_input (location), __VA_ARGS__, SCM_UNDEFINED));
474 SCM get_next_unique_context_id ();
475 SCM get_next_unique_lyrics_context_id ();
482 #define _(x) gettext (x)
486 static Music *make_music_with_input (SCM name, Input where);
487 SCM make_music_relative (Pitch start, SCM music, Input loc);
488 SCM run_music_function (Lily_parser *, SCM expr);
489 SCM get_first_context_id (SCM type, Music *m);
490 SCM make_chord_elements (SCM pitch, SCM dur, SCM modification_list);
491 SCM make_chord_step (int step, Rational alter);
492 SCM make_simple_markup (SCM a);
493 bool is_duration (int t);
494 bool is_regular_identifier (SCM id);
495 bool ly_input_procedure_p (SCM x);
496 int yylex (YYSTYPE *s, YYLTYPE *loc, void *v);
497 void set_music_properties (Music *p, SCM a);
501 /* Line 216 of yacc.c. */
502 #line 503 "out/parser.cc"
509 typedef YYTYPE_UINT8 yytype_uint8;
511 typedef unsigned char yytype_uint8;
515 typedef YYTYPE_INT8 yytype_int8;
516 #elif (defined __STDC__ || defined __C99__FUNC__ \
517 || defined __cplusplus || defined _MSC_VER)
518 typedef signed char yytype_int8;
520 typedef short int yytype_int8;
524 typedef YYTYPE_UINT16 yytype_uint16;
526 typedef unsigned short int yytype_uint16;
530 typedef YYTYPE_INT16 yytype_int16;
532 typedef short int yytype_int16;
536 # ifdef __SIZE_TYPE__
537 # define YYSIZE_T __SIZE_TYPE__
538 # elif defined size_t
539 # define YYSIZE_T size_t
540 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
541 || defined __cplusplus || defined _MSC_VER)
542 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
543 # define YYSIZE_T size_t
545 # define YYSIZE_T unsigned int
549 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
554 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
555 # define YY_(msgid) dgettext ("bison-runtime", msgid)
559 # define YY_(msgid) msgid
563 /* Suppress unused-variable warnings by "using" E. */
564 #if ! defined lint || defined __GNUC__
565 # define YYUSE(e) ((void) (e))
567 # define YYUSE(e) /* empty */
570 /* Identity function, used to suppress warnings about constant conditions. */
574 #if (defined __STDC__ || defined __C99__FUNC__ \
575 || defined __cplusplus || defined _MSC_VER)
588 #if ! defined yyoverflow || YYERROR_VERBOSE
590 /* The parser invokes alloca or malloc; define the necessary symbols. */
592 # ifdef YYSTACK_USE_ALLOCA
593 # if YYSTACK_USE_ALLOCA
595 # define YYSTACK_ALLOC __builtin_alloca
596 # elif defined __BUILTIN_VA_ARG_INCR
597 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
599 # define YYSTACK_ALLOC __alloca
600 # elif defined _MSC_VER
601 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
602 # define alloca _alloca
604 # define YYSTACK_ALLOC alloca
605 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
606 || defined __cplusplus || defined _MSC_VER)
607 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
616 # ifdef YYSTACK_ALLOC
617 /* Pacify GCC's `empty if-body' warning. */
618 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
619 # ifndef YYSTACK_ALLOC_MAXIMUM
620 /* The OS might guarantee only one guard page at the bottom of the stack,
621 and a page size can be as small as 4096 bytes. So we cannot safely
622 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
623 to allow for a few compiler-allocated temporary stack slots. */
624 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
627 # define YYSTACK_ALLOC YYMALLOC
628 # define YYSTACK_FREE YYFREE
629 # ifndef YYSTACK_ALLOC_MAXIMUM
630 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
632 # if (defined __cplusplus && ! defined _STDLIB_H \
633 && ! ((defined YYMALLOC || defined malloc) \
634 && (defined YYFREE || defined free)))
635 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
641 # define YYMALLOC malloc
642 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
643 || defined __cplusplus || defined _MSC_VER)
644 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
649 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
650 || defined __cplusplus || defined _MSC_VER)
651 void free (void *); /* INFRINGES ON USER NAME SPACE */
655 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
658 #if (! defined yyoverflow \
659 && (! defined __cplusplus \
660 || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
661 && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
663 /* A type that is properly aligned for any stack member. */
671 /* The size of the maximum gap between one aligned stack and the next. */
672 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
674 /* The size of an array large to enough to hold all stacks, each with
676 # define YYSTACK_BYTES(N) \
677 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
678 + 2 * YYSTACK_GAP_MAXIMUM)
680 /* Copy COUNT objects from FROM to TO. The source and destination do
683 # if defined __GNUC__ && 1 < __GNUC__
684 # define YYCOPY(To, From, Count) \
685 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
687 # define YYCOPY(To, From, Count) \
691 for (yyi = 0; yyi < (Count); yyi++) \
692 (To)[yyi] = (From)[yyi]; \
698 /* Relocate STACK from its old location to the new one. The
699 local variables YYSIZE and YYSTACKSIZE give the old and new number of
700 elements in the stack, and YYPTR gives the new location of the
701 stack. Advance YYPTR to a properly aligned location for the next
703 # define YYSTACK_RELOCATE(Stack) \
706 YYSIZE_T yynewbytes; \
707 YYCOPY (&yyptr->Stack, Stack, yysize); \
708 Stack = &yyptr->Stack; \
709 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
710 yyptr += yynewbytes / sizeof (*yyptr); \
716 /* YYFINAL -- State number of the termination state. */
718 /* YYLAST -- Last index in YYTABLE. */
721 /* YYNTOKENS -- Number of terminals. */
722 #define YYNTOKENS 159
723 /* YYNNTS -- Number of nonterminals. */
725 /* YYNRULES -- Number of rules. */
727 /* YYNRULES -- Number of states. */
728 #define YYNSTATES 589
730 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
732 #define YYMAXUTOK 392
734 #define YYTRANSLATE(YYX) \
735 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
737 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
738 static const yytype_uint8 yytranslate[] =
740 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
741 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
742 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
743 2, 2, 2, 157, 2, 2, 2, 2, 2, 150,
744 148, 149, 154, 138, 151, 137, 143, 155, 2, 2,
745 2, 2, 2, 2, 2, 2, 2, 2, 156, 2,
746 2, 142, 2, 158, 2, 2, 2, 2, 2, 2,
747 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
748 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
749 2, 145, 2, 146, 152, 153, 2, 2, 2, 2,
750 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
751 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
752 2, 2, 2, 140, 144, 141, 147, 2, 2, 2,
753 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
754 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
755 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
756 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
757 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
758 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
759 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
760 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
761 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
762 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
763 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
764 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
765 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
766 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
767 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
768 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
769 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
770 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
771 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
772 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
773 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
774 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
775 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
776 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
777 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
778 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
783 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
785 static const yytype_uint16 yyprhs[] =
787 0, 0, 3, 4, 7, 10, 13, 16, 19, 21,
788 23, 25, 27, 29, 31, 33, 35, 37, 39, 40,
789 43, 48, 50, 52, 56, 58, 60, 62, 64, 66,
790 68, 70, 72, 74, 76, 78, 80, 82, 87, 88,
791 90, 94, 97, 102, 103, 105, 108, 111, 114, 117,
792 120, 123, 126, 129, 132, 137, 138, 140, 143, 146,
793 149, 152, 155, 158, 161, 164, 169, 171, 173, 176,
794 179, 182, 185, 187, 190, 192, 194, 196, 198, 201,
795 205, 208, 211, 214, 219, 225, 231, 234, 237, 238,
796 241, 244, 247, 249, 251, 252, 257, 263, 268, 272,
797 277, 281, 283, 285, 287, 289, 290, 291, 297, 298,
798 301, 303, 305, 307, 309, 311, 313, 317, 321, 325,
799 327, 331, 335, 337, 339, 341, 344, 345, 348, 350,
800 356, 362, 366, 368, 373, 376, 380, 382, 384, 386,
801 388, 390, 392, 394, 396, 398, 400, 402, 406, 409,
802 410, 414, 415, 420, 423, 424, 429, 434, 436, 439,
803 441, 445, 448, 454, 458, 460, 462, 464, 466, 468,
804 470, 472, 474, 476, 478, 481, 483, 487, 493, 497,
805 502, 505, 507, 510, 512, 514, 518, 520, 522, 524,
806 526, 528, 530, 532, 534, 536, 539, 543, 545, 547,
807 551, 555, 556, 559, 565, 568, 570, 572, 577, 580,
808 585, 588, 590, 593, 595, 597, 599, 601, 604, 607,
809 610, 612, 615, 617, 620, 624, 625, 628, 630, 633,
810 635, 637, 640, 643, 645, 647, 649, 651, 653, 655,
811 657, 659, 661, 663, 665, 667, 669, 671, 673, 675,
812 677, 678, 680, 683, 686, 688, 691, 693, 696, 698,
813 701, 704, 706, 709, 712, 714, 716, 718, 720, 722,
814 724, 726, 728, 730, 732, 734, 736, 738, 740, 742,
815 744, 746, 748, 749, 751, 754, 757, 759, 763, 767,
816 769, 773, 774, 777, 779, 782, 784, 786, 788, 790,
817 792, 794, 796, 798, 800, 803, 806, 809, 811, 813,
818 815, 817, 819, 822, 823, 826, 830, 831, 833, 840,
819 843, 846, 849, 851, 853, 856, 858, 860, 863, 868,
820 869, 872, 874, 876, 879, 882, 884, 886, 888, 890,
821 894, 896, 899, 902, 906, 910, 912, 914, 918, 922,
822 925, 927, 929, 931, 933, 936, 939, 941, 943, 945,
823 947, 948, 951, 952, 955, 957, 958, 962, 963, 967,
824 969, 970, 974, 976, 979, 981, 983, 985, 987, 990,
825 994, 995, 998, 1001, 1003, 1006, 1009, 1013, 1018, 1020,
826 1023, 1027, 1029, 1032, 1034, 1036, 1038, 1040, 1041, 1047,
827 1050, 1055, 1059, 1064, 1070, 1072, 1075, 1079, 1082
830 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
831 static const yytype_int16 yyrhs[] =
833 160, 0, -1, -1, 160, 162, -1, 160, 167, -1,
834 160, 1, -1, 160, 26, -1, 38, 134, -1, 165,
835 -1, 171, -1, 173, -1, 175, -1, 193, -1, 286,
836 -1, 284, -1, 178, -1, 132, -1, 131, -1, -1,
837 164, 167, -1, 25, 140, 164, 141, -1, 134, -1,
838 105, -1, 166, 142, 168, -1, 163, -1, 175, -1,
839 171, -1, 173, -1, 178, -1, 169, -1, 184, -1,
840 234, -1, 274, -1, 220, -1, 163, -1, 286, -1,
841 90, -1, 15, 140, 170, 141, -1, -1, 100, -1,
842 170, 24, 163, -1, 170, 216, -1, 9, 140, 172,
843 141, -1, -1, 97, -1, 172, 177, -1, 172, 173,
844 -1, 172, 175, -1, 172, 193, -1, 172, 286, -1,
845 172, 284, -1, 172, 165, -1, 172, 1, -1, 172,
846 161, -1, 10, 140, 174, 141, -1, -1, 97, -1,
847 174, 177, -1, 174, 175, -1, 174, 193, -1, 174,
848 286, -1, 174, 284, -1, 174, 165, -1, 174, 1,
849 -1, 174, 161, -1, 49, 140, 176, 141, -1, 184,
850 -1, 133, -1, 176, 161, -1, 176, 165, -1, 176,
851 178, -1, 176, 1, -1, 178, -1, 181, 141, -1,
852 42, -1, 35, -1, 28, -1, 179, -1, 180, 140,
853 -1, 180, 140, 128, -1, 181, 167, -1, 181, 169,
854 -1, 181, 1, -1, 54, 252, 142, 278, -1, 54,
855 220, 252, 142, 278, -1, 54, 286, 252, 142, 278,
856 -1, 54, 220, -1, 54, 286, -1, -1, 183, 184,
857 -1, 183, 163, -1, 183, 1, -1, 189, -1, 193,
858 -1, -1, 8, 140, 183, 141, -1, 46, 221, 279,
859 184, 185, -1, 50, 140, 183, 141, -1, 140, 183,
860 141, -1, 52, 140, 183, 141, -1, 69, 183, 70,
861 -1, 223, -1, 125, -1, 219, -1, 211, -1, -1,
862 -1, 59, 191, 140, 192, 141, -1, -1, 192, 216,
863 -1, 202, -1, 194, -1, 188, -1, 187, -1, 163,
864 -1, 221, -1, 94, 199, 184, -1, 93, 199, 286,
865 -1, 95, 199, 195, -1, 96, -1, 93, 198, 286,
866 -1, 95, 198, 195, -1, 96, -1, 196, -1, 197,
867 -1, 124, 199, -1, -1, 142, 221, -1, 200, -1,
868 15, 221, 201, 190, 184, -1, 61, 221, 201, 190,
869 184, -1, 55, 254, 184, -1, 186, -1, 56, 245,
870 245, 184, -1, 203, 194, -1, 204, 190, 194, -1,
871 205, -1, 209, -1, 37, -1, 20, -1, 22, -1,
872 12, -1, 29, -1, 21, -1, 23, -1, 13, -1,
873 30, -1, 44, 249, 184, -1, 44, 193, -1, -1,
874 4, 207, 194, -1, -1, 206, 4, 208, 194, -1,
875 194, 206, -1, -1, 31, 221, 210, 184, -1, 11,
876 134, 142, 134, -1, 163, -1, 212, 163, -1, 212,
877 -1, 134, 142, 222, -1, 58, 221, -1, 41, 221,
878 213, 142, 163, -1, 48, 221, 163, -1, 14, -1,
879 45, -1, 6, -1, 17, -1, 18, -1, 7, -1,
880 57, -1, 19, -1, 36, -1, 214, -1, 215, 134,
881 -1, 221, -1, 221, 143, 221, -1, 41, 217, 213,
882 142, 222, -1, 48, 217, 163, -1, 51, 217, 142,
883 222, -1, 58, 217, -1, 218, -1, 40, 218, -1,
884 134, -1, 135, -1, 220, 138, 220, -1, 134, -1,
885 105, -1, 135, -1, 220, -1, 105, -1, 277, -1,
886 163, -1, 286, -1, 90, -1, 266, 233, -1, 89,
887 251, 233, -1, 231, -1, 224, -1, 225, 251, 233,
888 -1, 67, 226, 68, -1, -1, 226, 227, -1, 244,
889 280, 281, 239, 233, -1, 101, 233, -1, 229, -1,
890 124, -1, 228, 94, 198, 227, -1, 228, 198, -1,
891 228, 94, 198, 234, -1, 228, 198, -1, 232, -1,
892 53, 250, -1, 76, -1, 78, -1, 71, -1, 144,
893 -1, 43, 250, -1, 60, 254, -1, 32, 222, -1,
894 81, -1, 32, 16, -1, 182, -1, 27, 16, -1,
895 27, 126, 131, -1, -1, 233, 234, -1, 237, -1,
896 137, 230, -1, 86, -1, 82, -1, 248, 238, -1,
897 248, 237, -1, 235, -1, 91, -1, 145, -1, 146,
898 -1, 147, -1, 148, -1, 149, -1, 75, -1, 77,
899 -1, 74, -1, 72, -1, 79, -1, 236, -1, 103,
900 -1, 256, -1, 246, -1, 247, -1, -1, 142, -1,
901 142, 241, -1, 142, 240, -1, 150, -1, 240, 150,
902 -1, 151, -1, 241, 151, -1, 126, -1, 126, 240,
903 -1, 126, 241, -1, 136, -1, 136, 240, -1, 136,
904 241, -1, 242, -1, 244, -1, 243, -1, 286, -1,
905 220, -1, 90, -1, 152, -1, 138, -1, 137, -1,
906 144, -1, 68, -1, 143, -1, 153, -1, 153, -1,
907 152, -1, 137, -1, 242, -1, 253, -1, -1, 253,
908 -1, 278, 255, -1, 102, 255, -1, 252, -1, 253,
909 154, 278, -1, 253, 154, 104, -1, 104, -1, 92,
910 155, 92, -1, -1, 255, 143, -1, 156, -1, 156,
911 278, -1, 90, -1, 92, -1, 134, -1, 286, -1,
912 137, -1, 138, -1, 157, -1, 85, -1, 257, -1,
913 259, 146, -1, 259, 258, -1, 259, 260, -1, 80,
914 -1, 75, -1, 155, -1, 71, -1, 259, -1, 145,
915 259, -1, -1, 262, 261, -1, 84, 262, 83, -1,
916 -1, 47, -1, 244, 280, 281, 239, 251, 264, -1,
917 101, 251, -1, 130, 251, -1, 267, 251, -1, 265,
918 -1, 268, -1, 263, 251, -1, 282, -1, 105, -1,
919 243, 251, -1, 243, 251, 270, 269, -1, -1, 269,
920 271, -1, 64, -1, 63, -1, 66, 243, -1, 62,
921 243, -1, 270, -1, 272, -1, 99, -1, 273, -1,
922 272, 143, 273, -1, 278, -1, 278, 138, -1, 278,
923 65, -1, 274, 138, 275, -1, 274, 137, 275, -1,
924 275, -1, 276, -1, 276, 154, 276, -1, 276, 155,
925 276, -1, 137, 276, -1, 277, -1, 92, -1, 129,
926 -1, 127, -1, 129, 127, -1, 92, 127, -1, 92,
927 -1, 90, -1, 278, -1, 127, -1, -1, 280, 157,
928 -1, -1, 281, 158, -1, 106, -1, -1, 88, 283,
929 288, -1, -1, 34, 285, 289, -1, 123, -1, -1,
930 33, 287, 288, -1, 289, -1, 295, 296, -1, 296,
931 -1, 290, -1, 291, -1, 293, -1, 295, 291, -1,
932 140, 292, 141, -1, -1, 292, 298, -1, 292, 289,
933 -1, 118, -1, 119, 289, -1, 120, 163, -1, 121,
934 163, 289, -1, 122, 163, 163, 289, -1, 109, -1,
935 112, 163, -1, 114, 163, 163, -1, 294, -1, 295,
936 294, -1, 134, -1, 123, -1, 106, -1, 135, -1,
937 -1, 49, 297, 140, 176, 141, -1, 111, 163, -1,
938 117, 163, 163, 163, -1, 113, 163, 163, -1, 116,
939 163, 298, 298, -1, 115, 163, 163, 298, 298, -1,
940 107, -1, 108, 289, -1, 110, 298, 298, -1, 295,
944 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
945 static const yytype_uint16 yyrline[] =
947 0, 452, 452, 453, 455, 457, 460, 467, 471, 474,
948 480, 486, 493, 498, 502, 506, 523, 524, 529, 533,
949 539, 548, 549, 553, 564, 569, 573, 577, 581, 585,
950 588, 600, 603, 606, 609, 612, 615, 621, 628, 632,
951 636, 647, 655, 665, 674, 679, 684, 690, 696, 701,
952 705, 709, 712, 717, 723, 729, 733, 738, 742, 748,
953 753, 757, 761, 764, 768, 774, 780, 790, 795, 798,
954 801, 813, 824, 837, 846, 851, 856, 865, 872, 876,
955 886, 889, 892, 898, 901, 904, 907, 910, 923, 926,
956 936, 939, 956, 957, 961, 964, 971, 978, 981, 987,
957 990, 996, 997, 998, 999, 1003, 1004, 1004, 1013, 1014,
958 1020, 1021, 1025, 1026, 1030, 1031, 1039, 1045, 1048, 1053,
959 1056, 1059, 1064, 1069, 1070, 1074, 1081, 1082, 1089, 1092,
960 1095, 1099, 1102, 1103, 1109, 1120, 1128, 1129, 1133, 1139,
961 1146, 1151, 1159, 1166, 1172, 1177, 1184, 1192, 1196, 1203,
962 1203, 1212, 1212, 1221, 1224, 1224, 1233, 1240, 1243, 1249,
963 1255, 1259, 1263, 1268, 1275, 1276, 1278, 1279, 1280, 1282,
964 1283, 1284, 1285, 1289, 1290, 1296, 1305, 1312, 1319, 1325,
965 1331, 1339, 1342, 1348, 1351, 1354, 1359, 1362, 1365, 1370,
966 1373, 1376, 1379, 1382, 1385, 1394, 1403, 1408, 1409, 1414,
967 1432, 1439, 1440, 1446, 1472, 1483, 1488, 1501, 1504, 1513,
968 1516, 1522, 1525, 1528, 1533, 1538, 1541, 1555, 1561, 1566,
969 1574, 1577, 1581, 1584, 1588, 1606, 1609, 1616, 1619, 1622,
970 1627, 1632, 1640, 1648, 1652, 1660, 1663, 1666, 1669, 1672,
971 1675, 1678, 1681, 1684, 1687, 1693, 1707, 1710, 1718, 1721,
972 1732, 1733, 1734, 1735, 1739, 1742, 1748, 1751, 1757, 1760,
973 1765, 1777, 1780, 1785, 1794, 1800, 1801, 1805, 1810, 1816,
974 1824, 1827, 1830, 1833, 1836, 1839, 1842, 1848, 1849, 1850,
975 1855, 1861, 1867, 1871, 1878, 1887, 1896, 1899, 1902, 1910,
976 1911, 1917, 1920, 1926, 1929, 1937, 1940, 1943, 1944, 1948,
977 1949, 1950, 1954, 1958, 1969, 1973, 1984, 2007, 2010, 2013,
978 2016, 2022, 2025, 2032, 2035, 2041, 2048, 2049, 2053, 2079,
979 2086, 2099, 2111, 2114, 2119, 2129, 2132, 2138, 2141, 2148,
980 2151, 2157, 2160, 2163, 2166, 2172, 2175, 2178, 2184, 2185,
981 2191, 2194, 2197, 2209, 2212, 2215, 2219, 2222, 2225, 2231,
982 2234, 2239, 2242, 2245, 2248, 2251, 2258, 2261, 2267, 2268,
983 2275, 2276, 2280, 2281, 2289, 2293, 2292, 2302, 2301, 2310,
984 2314, 2313, 2322, 2325, 2328, 2334, 2337, 2340, 2346, 2353,
985 2359, 2360, 2363, 2369, 2372, 2375, 2378, 2381, 2387, 2390,
986 2393, 2399, 2402, 2408, 2411, 2414, 2417, 2420, 2420, 2429,
987 2432, 2435, 2438, 2441, 2444, 2447, 2450, 2456, 2460
991 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
992 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
993 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
994 static const char *const yytname[] =
996 "$end", "error", "$undefined", "PREC_TOP", "\"\\\\addlyrics\"",
997 "PREC_BOT", "\"\\\\accepts\"", "\"\\\\alias\"", "\"\\\\alternative\"",
998 "\"\\\\book\"", "\"\\\\bookpart\"", "\"\\\\change\"",
999 "\"\\\\chordmode\"", "\"\\\\chords\"", "\"\\\\consists\"",
1000 "\"\\\\context\"", "\"\\\\default\"", "\"\\\\defaultchild\"",
1001 "\"\\\\denies\"", "\"\\\\description\"", "\"\\\\drummode\"",
1002 "\"\\\\drums\"", "\"\\\\figuremode\"", "\"\\\\figures\"",
1003 "\"\\\\grobdescriptions\"", "\"\\\\header\"", "\"\\\\invalid\"",
1004 "\"\\\\key\"", "\"\\\\layout\"", "\"\\\\lyricmode\"", "\"\\\\lyrics\"",
1005 "\"\\\\lyricsto\"", "\"\\\\mark\"", "\"\\\\markup\"",
1006 "\"\\\\markuplines\"", "\"\\\\midi\"", "\"\\\\name\"",
1007 "\"\\\\notemode\"", "\"\\\\objectid\"", "\"\\\\octave\"", "\"\\\\once\"",
1008 "\"\\\\override\"", "\"\\\\paper\"", "\"\\\\partial\"",
1009 "\"\\\\relative\"", "\"\\\\remove\"", "\"\\\\repeat\"", "\"\\\\rest\"",
1010 "\"\\\\revert\"", "\"\\\\score\"", "\"\\\\sequential\"", "\"\\\\set\"",
1011 "\"\\\\simultaneous\"", "\"\\\\skip\"", "\"\\\\tempo\"", "\"\\\\times\"",
1012 "\"\\\\transpose\"", "\"\\\\type\"", "\"\\\\unset\"", "\"\\\\with\"",
1013 "\"\\\\time\"", "\"\\\\new\"", "\"/+\"", "\"^\"", "\":\"", "\"-\"",
1014 "\"/\"", "\"<\"", "\">\"", "\"<<\"", "\">>\"", "\"\\\\\"", "\"\\\\>\"",
1015 "\"\\\\C[haracter]\"", "\"\\\\)\"", "\"\\\\!\"", "\"\\\\[\"",
1016 "\"\\\\(\"", "\"\\\\]\"", "\"\\\\<\"", "\"\\\\+\"", "\"\\\\~\"",
1017 "\"__\"", "FIGURE_CLOSE", "FIGURE_OPEN", "\"_\"", "\"--\"",
1018 "CHORDMODIFIERS", "LYRIC_MARKUP", "MULTI_MEASURE_REST", "DIGIT",
1019 "E_UNSIGNED", "UNSIGNED", "EXPECT_MARKUP", "EXPECT_MUSIC", "EXPECT_SCM",
1020 "EXPECT_NO_MORE_ARGS", "BOOK_IDENTIFIER", "CHORDMODIFIER_PITCH",
1021 "CHORD_MODIFIER", "CONTEXT_DEF_IDENTIFIER", "DRUM_PITCH",
1022 "DURATION_IDENTIFIER", "EVENT_IDENTIFIER", "FRACTION", "LYRICS_STRING",
1023 "LYRIC_MARKUP_IDENTIFIER", "MARKUP_HEAD_EMPTY", "MARKUP_HEAD_LIST0",
1024 "MARKUP_HEAD_MARKUP0", "MARKUP_HEAD_MARKUP0_MARKUP1", "MARKUP_HEAD_SCM0",
1025 "MARKUP_HEAD_SCM0_MARKUP1", "MARKUP_HEAD_SCM0_SCM1",
1026 "MARKUP_HEAD_SCM0_SCM1_MARKUP2", "MARKUP_HEAD_SCM0_SCM1_MARKUP2_MARKUP3",
1027 "MARKUP_HEAD_SCM0_MARKUP1_MARKUP2", "MARKUP_HEAD_SCM0_SCM1_SCM2",
1028 "MARKUP_LIST_HEAD_EMPTY", "MARKUP_LIST_HEAD_LIST0",
1029 "MARKUP_LIST_HEAD_SCM0", "MARKUP_LIST_HEAD_SCM0_LIST1",
1030 "MARKUP_LIST_HEAD_SCM0_SCM1_LIST2", "MARKUP_IDENTIFIER",
1031 "MUSIC_FUNCTION", "MUSIC_IDENTIFIER", "NOTENAME_PITCH",
1032 "NUMBER_IDENTIFIER", "OUTPUT_DEF_IDENTIFIER", "REAL", "RESTNAME",
1033 "SCM_IDENTIFIER", "SCM_TOKEN", "SCORE_IDENTIFIER", "STRING",
1034 "STRING_IDENTIFIER", "TONICNAME_PITCH", "'-'", "'+'", "UNARY_MINUS",
1035 "'{'", "'}'", "'='", "'.'", "'|'", "'['", "']'", "'~'", "'('", "')'",
1036 "'''", "','", "'^'", "'_'", "'*'", "'/'", "':'", "'!'", "'?'", "$accept",
1037 "lilypond", "object_id_setting", "toplevel_expression", "embedded_scm",
1038 "lilypond_header_body", "lilypond_header", "assignment_id", "assignment",
1039 "identifier_init", "context_def_spec_block", "context_def_spec_body",
1040 "book_block", "book_body", "bookpart_block", "bookpart_body",
1041 "score_block", "score_body", "paper_block", "output_def",
1042 "output_def_head", "output_def_head_with_mode_switch", "output_def_body",
1043 "tempo_event", "music_list", "music", "alternative_music",
1044 "repeated_music", "sequential_music", "simultaneous_music",
1045 "simple_music", "optional_context_mod", "@1", "context_mod_list",
1046 "composite_music", "grouped_music_list", "function_scm_argument",
1047 "function_arglist_music_last", "function_arglist_nonmusic_last",
1048 "function_arglist_nonmusic", "function_arglist",
1049 "generic_prefix_music_scm", "optional_id", "prefix_composite_music",
1050 "mode_changing_head", "mode_changing_head_with_context",
1051 "relative_music", "new_lyrics", "@2", "@3", "re_rhythmed_music", "@4",
1052 "context_change", "property_path_revved", "property_path",
1053 "property_operation", "context_def_mod", "context_mod",
1054 "context_prop_spec", "simple_music_property_def", "music_property_def",
1055 "string", "simple_string", "scalar", "event_chord", "note_chord_element",
1056 "chord_body", "chord_body_elements", "chord_body_element",
1057 "music_function_identifier_musicless_prefix",
1058 "music_function_chord_body", "music_function_event", "command_element",
1059 "command_event", "post_events", "post_event", "string_number_event",
1060 "direction_less_char", "direction_less_event", "direction_reqd_event",
1061 "octave_check", "sup_quotes", "sub_quotes", "steno_pitch",
1062 "steno_tonic_pitch", "pitch", "pitch_also_in_chords", "gen_text_def",
1063 "script_abbreviation", "script_dir", "absolute_pitch", "duration_length",
1064 "optional_notemode_duration", "steno_duration", "multiplied_duration",
1065 "fraction", "dots", "tremolo_type", "bass_number",
1066 "figured_bass_alteration", "bass_figure", "figured_bass_modification",
1067 "br_bass_figure", "figure_list", "figure_spec", "optional_rest",
1068 "simple_element", "simple_chord_elements", "lyric_element", "new_chord",
1069 "chord_items", "chord_separator", "chord_item", "step_numbers",
1070 "step_number", "number_expression", "number_term", "number_factor",
1071 "bare_number", "bare_unsigned", "unsigned_number", "exclamations",
1072 "questions", "lyric_markup", "@5", "full_markup_list", "@6",
1073 "full_markup", "@7", "markup_top", "markup_list", "markup_composed_list",
1074 "markup_braced_list", "markup_braced_list_body", "markup_command_list",
1075 "markup_head_1_item", "markup_head_1_list", "simple_markup", "@8",
1081 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1083 static const yytype_uint16 yytoknum[] =
1085 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1086 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1087 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1088 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1089 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1090 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1091 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1092 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1093 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1094 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1095 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
1096 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
1097 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
1098 385, 386, 387, 388, 389, 390, 391, 45, 43, 392,
1099 123, 125, 61, 46, 124, 91, 93, 126, 40, 41,
1100 39, 44, 94, 95, 42, 47, 58, 33, 63
1104 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1105 static const yytype_uint16 yyr1[] =
1107 0, 159, 160, 160, 160, 160, 160, 161, 162, 162,
1108 162, 162, 162, 162, 162, 162, 163, 163, 164, 164,
1109 165, 166, 166, 167, 167, 168, 168, 168, 168, 168,
1110 168, 168, 168, 168, 168, 168, 168, 169, 170, 170,
1111 170, 170, 171, 172, 172, 172, 172, 172, 172, 172,
1112 172, 172, 172, 172, 173, 174, 174, 174, 174, 174,
1113 174, 174, 174, 174, 174, 175, 176, 176, 176, 176,
1114 176, 176, 177, 178, 179, 179, 179, 180, 181, 181,
1115 181, 181, 181, 182, 182, 182, 182, 182, 183, 183,
1116 183, 183, 184, 184, 185, 185, 186, 187, 187, 188,
1117 188, 189, 189, 189, 189, 190, 191, 190, 192, 192,
1118 193, 193, 194, 194, 195, 195, 196, 197, 197, 198,
1119 198, 198, 199, 199, 199, 200, 201, 201, 202, 202,
1120 202, 202, 202, 202, 202, 202, 202, 202, 203, 203,
1121 203, 203, 203, 204, 204, 204, 204, 205, 205, 207,
1122 206, 208, 206, 209, 210, 209, 211, 212, 212, 213,
1123 214, 214, 214, 214, 215, 215, 215, 215, 215, 215,
1124 215, 215, 215, 216, 216, 217, 217, 218, 218, 218,
1125 218, 219, 219, 220, 220, 220, 221, 221, 221, 222,
1126 222, 222, 222, 222, 222, 223, 223, 223, 223, 224,
1127 225, 226, 226, 227, 227, 227, 228, 229, 229, 230,
1128 230, 231, 231, 231, 231, 231, 231, 231, 231, 231,
1129 232, 232, 232, 232, 232, 233, 233, 234, 234, 234,
1130 234, 234, 234, 234, 235, 236, 236, 236, 236, 236,
1131 236, 236, 236, 236, 236, 237, 237, 237, 238, 238,
1132 239, 239, 239, 239, 240, 240, 241, 241, 242, 242,
1133 242, 243, 243, 243, 244, 245, 245, 246, 246, 246,
1134 247, 247, 247, 247, 247, 247, 247, 248, 248, 248,
1135 249, 250, 251, 251, 252, 252, 253, 253, 253, 254,
1136 254, 255, 255, 256, 256, 257, 257, 257, 257, 258,
1137 258, 258, 259, 259, 259, 259, 259, 260, 260, 260,
1138 260, 261, 261, 262, 262, 263, 264, 264, 265, 265,
1139 265, 265, 266, 266, 266, 267, 267, 268, 268, 269,
1140 269, 270, 270, 270, 270, 271, 271, 271, 272, 272,
1141 273, 273, 273, 274, 274, 274, 275, 275, 275, 276,
1142 276, 277, 277, 277, 277, 277, 278, 278, 279, 279,
1143 280, 280, 281, 281, 282, 283, 282, 285, 284, 286,
1144 287, 286, 288, 288, 288, 289, 289, 289, 290, 291,
1145 292, 292, 292, 293, 293, 293, 293, 293, 294, 294,
1146 294, 295, 295, 296, 296, 296, 296, 297, 296, 296,
1147 296, 296, 296, 296, 296, 296, 296, 298, 298
1150 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
1151 static const yytype_uint8 yyr2[] =
1153 0, 2, 0, 2, 2, 2, 2, 2, 1, 1,
1154 1, 1, 1, 1, 1, 1, 1, 1, 0, 2,
1155 4, 1, 1, 3, 1, 1, 1, 1, 1, 1,
1156 1, 1, 1, 1, 1, 1, 1, 4, 0, 1,
1157 3, 2, 4, 0, 1, 2, 2, 2, 2, 2,
1158 2, 2, 2, 2, 4, 0, 1, 2, 2, 2,
1159 2, 2, 2, 2, 2, 4, 1, 1, 2, 2,
1160 2, 2, 1, 2, 1, 1, 1, 1, 2, 3,
1161 2, 2, 2, 4, 5, 5, 2, 2, 0, 2,
1162 2, 2, 1, 1, 0, 4, 5, 4, 3, 4,
1163 3, 1, 1, 1, 1, 0, 0, 5, 0, 2,
1164 1, 1, 1, 1, 1, 1, 3, 3, 3, 1,
1165 3, 3, 1, 1, 1, 2, 0, 2, 1, 5,
1166 5, 3, 1, 4, 2, 3, 1, 1, 1, 1,
1167 1, 1, 1, 1, 1, 1, 1, 3, 2, 0,
1168 3, 0, 4, 2, 0, 4, 4, 1, 2, 1,
1169 3, 2, 5, 3, 1, 1, 1, 1, 1, 1,
1170 1, 1, 1, 1, 2, 1, 3, 5, 3, 4,
1171 2, 1, 2, 1, 1, 3, 1, 1, 1, 1,
1172 1, 1, 1, 1, 1, 2, 3, 1, 1, 3,
1173 3, 0, 2, 5, 2, 1, 1, 4, 2, 4,
1174 2, 1, 2, 1, 1, 1, 1, 2, 2, 2,
1175 1, 2, 1, 2, 3, 0, 2, 1, 2, 1,
1176 1, 2, 2, 1, 1, 1, 1, 1, 1, 1,
1177 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1178 0, 1, 2, 2, 1, 2, 1, 2, 1, 2,
1179 2, 1, 2, 2, 1, 1, 1, 1, 1, 1,
1180 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1181 1, 1, 0, 1, 2, 2, 1, 3, 3, 1,
1182 3, 0, 2, 1, 2, 1, 1, 1, 1, 1,
1183 1, 1, 1, 1, 2, 2, 2, 1, 1, 1,
1184 1, 1, 2, 0, 2, 3, 0, 1, 6, 2,
1185 2, 2, 1, 1, 2, 1, 1, 2, 4, 0,
1186 2, 1, 1, 2, 2, 1, 1, 1, 1, 3,
1187 1, 2, 2, 3, 3, 1, 1, 3, 3, 2,
1188 1, 1, 1, 1, 2, 2, 1, 1, 1, 1,
1189 0, 2, 0, 2, 1, 0, 3, 0, 3, 1,
1190 0, 3, 1, 2, 1, 1, 1, 1, 2, 3,
1191 0, 2, 2, 1, 2, 2, 3, 4, 1, 2,
1192 3, 1, 2, 1, 1, 1, 1, 0, 5, 2,
1193 4, 3, 4, 5, 1, 2, 3, 2, 1
1196 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1197 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
1198 means the default is an error. */
1199 static const yytype_uint16 yydefact[] =
1201 2, 0, 1, 5, 0, 0, 141, 145, 0, 139,
1202 143, 140, 144, 0, 6, 76, 142, 146, 0, 370,
1203 367, 75, 138, 74, 0, 0, 0, 0, 0, 0,
1204 0, 0, 88, 22, 369, 0, 17, 16, 21, 88,
1205 3, 24, 8, 0, 4, 9, 10, 11, 15, 77,
1206 0, 0, 132, 113, 112, 12, 111, 128, 110, 0,
1207 105, 136, 137, 14, 13, 43, 55, 187, 186, 188,
1208 126, 18, 154, 0, 0, 258, 148, 280, 0, 0,
1209 0, 88, 88, 0, 289, 0, 261, 264, 266, 265,
1210 0, 126, 0, 0, 0, 0, 122, 123, 124, 125,
1211 0, 0, 78, 82, 0, 73, 80, 81, 149, 153,
1212 134, 106, 0, 44, 0, 56, 0, 0, 105, 0,
1213 0, 397, 395, 404, 0, 388, 0, 0, 0, 0,
1214 0, 0, 0, 0, 383, 0, 0, 0, 0, 394,
1215 393, 396, 380, 371, 372, 375, 376, 377, 391, 0,
1216 374, 368, 0, 254, 256, 259, 260, 0, 0, 0,
1217 0, 0, 0, 0, 0, 0, 0, 0, 0, 201,
1218 215, 213, 214, 220, 313, 365, 282, 282, 326, 364,
1219 102, 282, 216, 222, 147, 92, 93, 104, 181, 103,
1220 101, 198, 282, 197, 211, 282, 360, 282, 322, 225,
1221 282, 323, 325, 357, 356, 359, 358, 0, 67, 0,
1222 66, 0, 0, 0, 131, 262, 263, 0, 105, 91,
1223 100, 90, 89, 0, 0, 0, 98, 0, 243, 242,
1224 240, 241, 244, 230, 229, 36, 234, 351, 246, 353,
1225 352, 183, 184, 279, 235, 236, 237, 238, 239, 278,
1226 277, 293, 34, 23, 29, 26, 27, 25, 28, 30,
1227 33, 31, 233, 245, 227, 0, 247, 32, 345, 346,
1228 350, 35, 79, 38, 0, 151, 0, 135, 52, 0,
1229 42, 53, 51, 46, 47, 45, 72, 48, 50, 49,
1230 63, 54, 64, 62, 58, 57, 59, 61, 60, 127,
1231 0, 20, 19, 155, 0, 405, 0, 408, 0, 399,
1232 389, 0, 0, 0, 0, 0, 384, 385, 0, 0,
1233 0, 378, 392, 373, 255, 257, 0, 223, 0, 221,
1234 194, 190, 192, 189, 219, 191, 193, 182, 0, 175,
1235 291, 217, 286, 281, 291, 0, 0, 212, 86, 0,
1236 87, 180, 218, 0, 0, 0, 225, 283, 319, 320,
1237 225, 327, 362, 324, 195, 321, 94, 71, 65, 68,
1238 69, 70, 97, 99, 290, 133, 0, 117, 116, 114,
1239 118, 115, 355, 354, 206, 0, 0, 228, 349, 294,
1240 0, 274, 269, 272, 271, 275, 273, 270, 276, 268,
1241 232, 231, 248, 249, 267, 0, 0, 0, 0, 39,
1242 0, 150, 0, 108, 7, 129, 0, 407, 406, 401,
1243 390, 0, 0, 0, 386, 0, 379, 382, 0, 381,
1244 0, 224, 157, 159, 0, 0, 285, 0, 284, 178,
1245 0, 0, 0, 0, 200, 225, 202, 0, 205, 360,
1246 315, 302, 295, 296, 297, 0, 303, 311, 314, 298,
1247 366, 196, 199, 0, 332, 331, 0, 329, 361, 250,
1248 279, 226, 0, 96, 130, 0, 0, 0, 119, 210,
1249 185, 344, 343, 347, 348, 166, 169, 164, 167, 168,
1250 171, 0, 172, 0, 165, 0, 170, 0, 0, 37,
1251 173, 0, 41, 152, 0, 0, 0, 402, 400, 387,
1252 156, 158, 0, 176, 292, 288, 287, 179, 0, 83,
1253 0, 204, 0, 208, 362, 312, 310, 308, 307, 299,
1254 300, 304, 309, 301, 305, 306, 334, 333, 328, 251,
1255 363, 282, 88, 0, 0, 0, 40, 0, 0, 161,
1256 0, 174, 107, 109, 398, 403, 177, 84, 85, 0,
1257 250, 337, 335, 330, 336, 338, 340, 253, 252, 316,
1258 0, 120, 209, 121, 0, 163, 160, 207, 225, 0,
1259 342, 341, 317, 318, 95, 0, 203, 339, 162
1262 /* YYDEFGOTO[NTERM-NUM]. */
1263 static const yytype_int16 yydefgoto[] =
1265 -1, 1, 369, 40, 221, 119, 370, 43, 44, 253,
1266 107, 410, 45, 114, 46, 116, 47, 209, 285, 286,
1267 49, 50, 51, 183, 92, 222, 473, 52, 53, 54,
1268 185, 112, 276, 504, 186, 56, 380, 97, 98, 479,
1269 99, 57, 118, 58, 59, 60, 61, 109, 274, 412,
1270 62, 120, 187, 433, 434, 500, 501, 502, 338, 188,
1271 189, 333, 339, 334, 190, 191, 192, 353, 446, 386,
1272 448, 387, 193, 194, 364, 471, 262, 263, 264, 401,
1273 541, 155, 156, 87, 195, 196, 90, 402, 403, 265,
1274 78, 341, 356, 342, 357, 85, 436, 266, 456, 534,
1275 457, 535, 458, 354, 197, 583, 198, 199, 200, 201,
1276 538, 467, 563, 564, 565, 267, 268, 269, 270, 344,
1277 207, 362, 469, 202, 355, 63, 74, 336, 73, 143,
1278 144, 145, 146, 320, 147, 148, 306, 307, 304, 308
1281 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1283 #define YYPACT_NINF -396
1284 static const yytype_int16 yypact[] =
1286 -396, 1355, -396, -396, -53, 5, -396, -396, 166, -396,
1287 -396, -396, -396, 39, -396, -396, -396, -396, 166, -396,
1288 -396, -396, -396, -396, 1803, 166, 56, 102, 123, 57,
1289 -70, 166, -396, -396, -396, 291, -396, -396, -396, -396,
1290 -396, -396, -396, -91, -396, -396, -396, -396, -396, -396,
1291 129, 63, -396, -396, -396, -396, 66, -396, -396, 29,
1292 75, -396, -396, -396, -396, 46, 73, -396, -396, -396,
1293 -35, -396, -396, 1838, 227, 50, -396, -396, 1677, -37,
1294 1551, -396, -396, 1, -396, 1677, 50, -396, -396, -396,
1295 -70, -35, 694, 291, 291, 291, -396, -396, -396, -396,
1296 820, 545, 94, -396, 135, -396, -396, -396, -396, 199,
1297 -396, -396, 29, -396, 1407, -396, 1490, 166, 75, 58,
1298 1677, -396, -396, -396, 227, -396, 407, 55, 55, 55,
1299 55, 55, 55, 55, -396, 227, 55, 55, 55, -396,
1300 -396, -396, -396, -396, -396, -396, -396, -396, -396, 1873,
1301 -396, -396, 243, -396, -396, 131, 136, 159, 16, 266,
1302 193, 166, 229, 166, 166, 229, 160, 166, 57, -396,
1303 -396, -396, -396, -396, -396, -396, 229, 229, -396, -396,
1304 -396, 229, -396, -396, -396, -396, -396, -396, -396, -396,
1305 -396, -396, 229, -396, -396, 229, -396, 229, -396, -396,
1306 229, -396, -396, -396, -396, -396, -396, 1677, -396, 61,
1307 -396, 954, 1088, 204, -396, 131, 136, 1677, 75, -396,
1308 -396, -396, -396, 10, 1677, 83, -396, 105, -396, -396,
1309 -396, -396, -396, -396, -396, -396, -396, 171, -396, -396,
1310 180, -396, -396, 30, -396, -396, -396, -396, -396, -396,
1311 -396, 33, -396, -396, -396, -396, -396, -396, -396, -396,
1312 185, -396, -396, -396, -396, 1767, -396, 69, -396, 74,
1313 -396, -396, -396, 234, 29, -396, 192, -396, -396, 206,
1314 -396, -396, -396, -396, -396, -396, -396, -396, -396, -396,
1315 -396, -396, -396, -396, -396, -396, -396, -396, -396, -396,
1316 1677, -396, -396, -396, 198, -396, 407, -396, 407, -396,
1317 -396, 55, 55, 55, 407, 55, -396, -396, 227, 55,
1318 359, -396, -396, -396, -396, -396, 200, -396, 212, -396,
1319 -396, -396, -396, 185, -396, -396, -396, -396, 55, 208,
1320 -396, -396, -396, 205, -396, 55, 220, -396, -25, 223,
1321 229, -396, -396, 20, 82, 1838, -396, 205, -396, -396,
1322 -396, 312, 209, -396, 1920, -396, 364, -396, -396, -396,
1323 -396, -396, -396, -396, -396, -396, 1677, -396, -396, -396,
1324 -396, -396, -396, -396, -396, 143, 332, -396, -396, -396,
1325 112, -396, -396, -396, -396, -396, -396, -396, -396, 185,
1326 -396, -396, -396, -396, -396, 143, 143, 143, 143, -396,
1327 219, -396, 29, -396, -396, -396, 1551, -396, -396, -396,
1328 -396, 407, 407, 55, -396, 227, -396, -396, 1873, -396,
1329 246, -396, -396, 55, 240, 166, 245, 169, 245, -396,
1330 289, 249, 33, 250, -396, -396, -396, 342, -396, -396,
1331 -396, -396, -396, -396, -396, 86, -396, 178, -396, -396,
1332 -396, 1920, 1920, 260, -396, -396, 260, -396, -396, -100,
1333 275, -396, 274, -396, -396, 232, 232, 232, -396, -396,
1334 -396, -396, -396, -396, -396, -396, -396, -396, -396, -396,
1335 -396, 55, -396, 166, -396, 166, -396, 166, 273, -396,
1336 -396, 283, -396, -396, 272, 67, 407, -396, -396, -396,
1337 -396, -396, 289, -396, -396, -396, -396, -396, 33, -396,
1338 33, 1920, 232, -396, 209, 178, -396, -396, -396, -396,
1339 -396, -396, -396, -396, -396, -396, -396, -396, 341, 50,
1340 -396, 229, -396, 10, 1920, 83, -396, 55, 55, -396,
1341 289, -396, -396, -396, -396, -396, -396, -396, -396, -44,
1342 -100, -396, -396, -396, 276, -396, -18, 131, 136, 383,
1343 1222, -396, -396, -396, 292, -396, -396, -396, -396, 33,
1344 -396, -396, -396, -396, -396, 55, 1920, -396, -396
1347 /* YYPGOTO[NTERM-NUM]. */
1348 static const yytype_int16 yypgoto[] =
1350 -396, -396, 48, -396, -1, -396, 36, -396, -7, -396,
1351 340, -396, 344, -396, -17, -396, -8, 26, 327, 3,
1352 -396, -396, -396, -396, -33, -26, -396, -396, -396, -396,
1353 -396, -77, -396, -396, 37, -43, -97, -396, -396, -337,
1354 316, -396, 358, -396, -396, -396, -396, -396, -396, -396,
1355 -396, -396, -396, -396, -96, -396, -396, -51, 121, 294,
1356 -396, -81, -6, -395, -396, -396, -396, -396, -102, -329,
1357 -396, -396, -396, -396, -321, -92, -396, -396, 194, -396,
1358 -98, -79, -78, 434, -16, -27, 373, -396, -396, -396,
1359 -396, 318, -164, -137, -89, 317, 140, -396, -396, -396,
1360 31, -396, -396, -396, -396, -396, -396, -396, -396, -396,
1361 -396, -50, -396, -396, -87, -396, -101, -225, -148, -74,
1362 -396, 47, -29, -396, -396, 59, -396, 0, -396, 142,
1363 -64, -396, -122, -396, -396, -126, -52, -58, -396, -274
1366 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
1367 positive, shift that token. If negative, reduce the rule which
1368 number is the opposite. If zero, do what YYDEFACT says.
1369 If YYTABLE_NINF, syntax error. */
1370 #define YYTABLE_NINF -1
1371 static const yytype_uint16 yytable[] =
1373 41, 64, 70, 89, 48, 206, 100, 215, 216, 261,
1374 151, 335, 72, 358, 88, 150, 110, 359, 388, 79,
1375 260, 149, 152, 322, 447, 91, 322, 321, 360, 349,
1376 321, 361, 327, 363, 418, 461, 365, 42, 55, 462,
1377 422, 300, 539, 19, 106, 517, 429, 580, 211, 212,
1378 41, 101, 184, 203, 210, 204, 75, 445, 540, 214,
1379 305, 76, 367, 89, 103, 203, 86, 204, 367, 277,
1380 108, 316, 152, 343, 88, 259, 343, 340, 104, 27,
1381 384, 28, 75, 152, 256, 348, 13, 65, 444, 15,
1382 205, 323, 13, 257, 303, 15, 21, 283, 32, 279,
1383 252, 271, 21, 23, 258, 279, 284, 117, 294, 23,
1384 523, 299, 302, 390, 289, 19, 298, 556, 41, 19,
1385 581, 445, 237, 203, 521, 204, 309, 310, 311, 312,
1386 313, 314, 315, 34, 111, 317, 318, 319, 543, 544,
1387 545, 376, 328, 113, 384, 66, 75, 506, 507, 83,
1388 282, 287, 293, 296, 384, 576, 213, 239, 332, 240,
1389 388, 84, 281, 33, 292, 450, 350, 451, 33, 39,
1390 115, 451, 452, 288, 453, 297, 452, 389, 453, 71,
1391 322, 366, 483, 484, 399, 559, 36, 37, 67, 36,
1392 37, 375, 38, 19, 36, 37, 80, 38, 378, 301,
1393 153, 154, 368, 275, 105, 34, 405, 406, 554, 34,
1394 67, 441, 371, 443, 36, 37, 454, 68, 69, 381,
1395 454, 70, 272, 377, 379, 485, 486, 455, 407, 408,
1396 447, 411, 555, 487, 161, 237, 488, 489, 490, 68,
1397 69, 163, 81, 491, 164, 273, 241, 242, 417, 526,
1398 203, 167, 204, 527, 424, 492, 427, 586, 528, 203,
1399 493, 204, 340, 82, 494, 404, 152, 495, 428, 102,
1400 239, 67, 240, 515, 415, 273, 496, 497, 485, 486,
1401 385, 324, 329, 34, 345, 346, 487, 325, 351, 488,
1402 489, 490, 335, 326, 241, 242, 374, 150, 382, 19,
1403 68, 69, 322, 149, 481, 482, 321, 383, 492, 480,
1404 419, 420, 421, 493, 423, 529, 530, 494, 425, 203,
1405 495, 204, 19, 390, 531, 475, 449, 477, 478, 496,
1406 497, 340, 413, 532, 409, 533, 125, 432, 416, 128,
1407 414, 130, 430, 431, 439, 134, 135, 136, 137, 138,
1408 474, 435, 125, 498, 459, 128, 330, 130, 237, 437,
1409 499, 509, 440, 516, 335, 442, 468, 142, 519, 503,
1410 417, 331, 472, 152, 463, 464, 465, 569, 466, 330,
1411 510, 237, 512, 142, 93, 94, 95, 96, 514, 34,
1412 210, 518, 520, 239, 331, 240, 86, 36, 37, 384,
1413 241, 242, 335, 463, 464, 465, 498, 466, 121, 223,
1414 224, 225, 34, 552, 542, 550, 239, 551, 240, 579,
1415 36, 37, 508, 241, 242, 475, 476, 477, 478, 513,
1416 582, 203, 511, 204, 585, 475, 522, 477, 478, 332,
1417 561, 254, 505, 295, 557, 255, 558, 536, 573, 218,
1418 537, 574, 572, 553, 337, 459, 121, 577, 77, 400,
1419 567, 568, 578, 217, 566, 122, 123, 124, 125, 126,
1420 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
1421 137, 138, 139, 347, 438, 352, 525, 547, 562, 548,
1422 546, 549, 587, 140, 141, 560, 524, 460, 0, 142,
1423 426, 0, 0, 0, 0, 566, 0, 0, 371, 570,
1424 0, 332, 0, 122, 123, 124, 125, 126, 127, 128,
1425 129, 130, 131, 132, 133, 0, 0, 0, 0, 0,
1426 139, 0, 449, 0, 0, 0, 0, 0, 0, 381,
1427 0, 140, 141, 571, 379, 0, 432, 575, 0, 332,
1428 0, 0, 0, 0, 4, 5, 157, 6, 7, 0,
1429 227, 0, 0, 0, 0, 9, 10, 11, 12, 0,
1430 0, 0, 158, 15, 16, 17, 18, 159, 19, 0,
1431 21, 0, 22, 0, 588, 160, 161, 23, 162, 24,
1432 0, 25, 0, 163, 26, 27, 164, 28, 165, 166,
1433 29, 30, 0, 167, 0, 168, 31, 0, 0, 0,
1434 0, 0, 169, 0, 32, 0, 170, 228, 0, 229,
1435 230, 171, 231, 172, 232, 0, 173, 233, 0, 174,
1436 0, 234, 0, 175, 176, 235, 236, 237, 0, 0,
1437 0, 0, 0, 0, 0, 0, 177, 0, 238, 0,
1438 178, 179, 0, 0, 0, 0, 0, 0, 0, 0,
1439 0, 0, 0, 0, 0, 0, 0, 0, 34, 35,
1440 180, 75, 239, 0, 240, 181, 36, 37, 0, 241,
1441 242, 86, 243, 0, 0, 39, 0, 0, 0, 182,
1442 244, 245, 246, 247, 248, 219, 0, 249, 250, 0,
1443 0, 251, 0, 0, 0, 157, 6, 7, 0, 8,
1444 0, 0, 0, 0, 9, 10, 11, 12, 0, 0,
1445 0, 158, 0, 16, 17, 18, 159, 0, 0, 0,
1446 0, 22, 0, 0, 160, 161, 0, 162, 24, 0,
1447 25, 0, 163, 0, 27, 164, 28, 165, 166, 29,
1448 30, 0, 167, 0, 168, 31, 0, 0, 0, 0,
1449 0, 169, 0, 32, 220, 170, 0, 0, 0, 0,
1450 171, 0, 172, 0, 0, 173, 0, 0, 174, 0,
1451 0, 0, 175, 176, 0, 0, 0, 0, 0, 0,
1452 0, 0, 0, 0, 0, 177, 0, 0, 0, 178,
1453 179, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1454 0, 0, 0, 0, 0, 0, 0, 0, 35, 180,
1455 75, 219, 0, 0, 181, 36, 37, 0, 0, 0,
1456 86, 157, 6, 7, 39, 8, 0, 0, 182, 0,
1457 9, 10, 11, 12, 0, 0, 0, 158, 0, 16,
1458 17, 18, 159, 0, 0, 0, 0, 22, 0, 0,
1459 160, 161, 0, 162, 24, 0, 25, 0, 163, 0,
1460 27, 164, 28, 165, 166, 29, 30, 0, 167, 0,
1461 168, 31, 0, 0, 0, 0, 0, 169, 0, 32,
1462 0, 170, 0, 0, 0, 0, 171, 0, 172, 0,
1463 0, 173, 0, 0, 174, 0, 0, 0, 175, 176,
1464 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1465 0, 177, 0, 0, 0, 178, 179, 0, 0, 0,
1466 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1467 0, 0, 0, 0, 35, 180, 75, 0, 0, 0,
1468 181, 36, 37, 0, 0, 219, 86, 0, 0, 0,
1469 39, 226, 0, 0, 182, 157, 6, 7, 0, 8,
1470 0, 0, 0, 0, 9, 10, 11, 12, 0, 0,
1471 0, 158, 0, 16, 17, 18, 159, 0, 0, 0,
1472 0, 22, 0, 0, 160, 161, 0, 162, 24, 0,
1473 25, 0, 163, 0, 27, 164, 28, 165, 166, 29,
1474 30, 0, 167, 0, 168, 31, 0, 0, 0, 0,
1475 0, 169, 0, 32, 0, 170, 0, 0, 0, 0,
1476 171, 0, 172, 0, 0, 173, 0, 0, 174, 0,
1477 0, 0, 175, 176, 0, 0, 0, 0, 0, 0,
1478 0, 0, 0, 0, 0, 177, 0, 0, 0, 178,
1479 179, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1480 0, 0, 0, 0, 0, 0, 0, 0, 35, 180,
1481 75, 0, 0, 0, 181, 36, 37, 0, 0, 219,
1482 86, 0, 0, 0, 39, 372, 0, 0, 182, 157,
1483 6, 7, 0, 8, 0, 0, 0, 0, 9, 10,
1484 11, 12, 0, 0, 0, 158, 0, 16, 17, 18,
1485 159, 0, 0, 0, 0, 22, 0, 0, 160, 161,
1486 0, 162, 24, 0, 25, 0, 163, 0, 27, 164,
1487 28, 165, 166, 29, 30, 0, 167, 0, 168, 31,
1488 0, 0, 0, 0, 0, 169, 0, 32, 0, 170,
1489 0, 0, 0, 0, 171, 0, 172, 0, 0, 173,
1490 0, 0, 174, 0, 0, 0, 175, 176, 0, 0,
1491 0, 0, 0, 0, 0, 0, 0, 0, 0, 177,
1492 0, 0, 0, 178, 179, 0, 0, 0, 0, 0,
1493 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1494 0, 0, 35, 180, 75, 0, 0, 0, 181, 36,
1495 37, 0, 0, 219, 86, 0, 0, 0, 39, 373,
1496 0, 0, 182, 157, 6, 7, 0, 8, 0, 0,
1497 0, 0, 9, 10, 11, 12, 0, 0, 0, 158,
1498 0, 16, 17, 18, 159, 0, 0, 0, 0, 22,
1499 0, 0, 160, 161, 0, 162, 24, 0, 25, 0,
1500 163, 0, 27, 164, 28, 165, 166, 29, 30, 0,
1501 167, 0, 168, 31, 0, 0, 0, 0, 0, 169,
1502 0, 32, 0, 170, 0, 0, 0, 0, 171, 0,
1503 172, 0, 0, 173, 0, 0, 174, 0, 0, 0,
1504 175, 176, 0, 0, 0, 0, 0, 0, 0, 0,
1505 0, 0, 0, 177, 0, 0, 0, 178, 179, 0,
1506 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1507 0, 0, 0, 0, 0, 0, 35, 180, 75, 0,
1508 0, 0, 181, 36, 37, 2, 3, 0, 86, 0,
1509 0, 0, 39, 584, 4, 5, 182, 6, 7, 0,
1510 8, 0, 0, 0, 0, 9, 10, 11, 12, 0,
1511 13, 14, 0, 15, 16, 17, 18, 0, 19, 20,
1512 21, 0, 22, 0, 0, 0, 0, 23, 0, 24,
1513 0, 25, 0, 0, 26, 27, 0, 28, 278, 0,
1514 29, 30, 0, 0, 0, 0, 31, 5, 0, 6,
1515 7, 0, 8, 0, 32, 0, 0, 9, 10, 11,
1516 12, 0, 13, 0, 0, 15, 16, 17, 18, 0,
1517 19, 20, 21, 0, 22, 279, 0, 0, 0, 23,
1518 0, 24, 0, 25, 0, 0, 26, 27, 0, 28,
1519 33, 0, 29, 30, 0, 0, 0, 0, 31, 0,
1520 0, 0, 0, 0, 0, 0, 32, 0, 34, 35,
1521 0, 0, 0, 0, 0, 0, 36, 37, 0, 38,
1522 0, 290, 0, 0, 0, 39, 0, 0, 0, 0,
1523 0, 0, 6, 7, 0, 8, 0, 0, 0, 0,
1524 9, 10, 11, 12, 0, 13, 0, 0, 15, 16,
1525 17, 18, 0, 19, 20, 21, 0, 22, 279, 0,
1526 34, 35, 23, 0, 24, 0, 25, 0, 0, 26,
1527 27, 0, 28, 0, 0, 29, 30, 39, 280, 0,
1528 0, 31, 0, 0, 0, 0, 0, 0, 0, 32,
1529 0, 0, 157, 6, 7, 0, 8, 0, 0, 0,
1530 0, 9, 10, 11, 12, 0, 0, 0, 158, 0,
1531 16, 17, 18, 159, 0, 0, 0, 0, 22, 0,
1532 0, 160, 161, 0, 162, 24, 0, 25, 0, 163,
1533 0, 27, 164, 28, 165, 166, 29, 30, 0, 167,
1534 0, 168, 31, 34, 35, 0, 0, 0, 169, 0,
1535 32, 0, 170, 0, 0, 0, 0, 171, 0, 172,
1536 39, 291, 173, 0, 0, 174, 0, 0, 0, 175,
1537 176, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1538 0, 0, 177, 0, 0, 0, 178, 179, 0, 0,
1539 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1540 0, 0, 0, 0, 0, 35, 180, 75, 0, 0,
1541 0, 181, 0, 0, 208, 0, 0, 86, 157, 6,
1542 7, 39, 8, 0, 0, 182, 0, 9, 10, 11,
1543 12, 0, 0, 0, 158, 0, 16, 17, 18, 159,
1544 0, 0, 0, 0, 22, 0, 0, 160, 161, 0,
1545 162, 24, 0, 25, 0, 163, 0, 27, 164, 28,
1546 165, 166, 29, 30, 0, 167, 0, 168, 31, 0,
1547 0, 0, 0, 0, 169, 0, 32, 0, 170, 0,
1548 0, 0, 0, 171, 0, 172, 0, 0, 173, 0,
1549 0, 174, 0, 0, 0, 175, 176, 0, 0, 0,
1550 0, 0, 0, 0, 0, 0, 0, 0, 177, 0,
1551 0, 0, 178, 179, 0, 0, 0, 0, 0, 0,
1552 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1553 19, 35, 180, 75, 0, 0, 0, 181, 0, 0,
1554 0, 0, 0, 86, 0, 6, 7, 39, 8, 0,
1555 0, 182, 0, 9, 10, 11, 12, 0, 0, 0,
1556 0, 0, 16, 17, 18, 391, 0, 0, 0, 228,
1557 22, 229, 230, 0, 231, 0, 232, 24, 0, 25,
1558 0, 0, 0, 27, 0, 28, 0, 392, 29, 30,
1559 0, 0, 0, 0, 31, 0, 0, 0, 0, 0,
1560 238, 0, 32, 0, 0, 0, 0, 0, 0, 0,
1561 0, 0, 0, 0, 0, 0, 0, 121, 0, 0,
1562 34, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1563 0, 241, 242, 0, 393, 394, 0, 0, 0, 0,
1564 395, 396, 244, 245, 246, 247, 248, 0, 0, 397,
1565 398, 0, 121, 251, 0, 0, 0, 35, 0, 75,
1566 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1567 0, 0, 0, 39, 122, 123, 124, 125, 126, 127,
1568 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
1569 138, 139, 0, 0, 0, 0, 0, 0, 0, 0,
1570 0, 0, 140, 141, 0, 0, 0, 0, 142, 122,
1571 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
1572 133, 0, 228, 0, 229, 230, 139, 231, 0, 232,
1573 0, 0, 233, 0, 0, 0, 234, 140, 141, 0,
1574 0, 236, 0, 142, 0, 0, 0, 0, 0, 0,
1575 0, 0, 0, 238, 0, 0, 0, 0, 0, 0,
1576 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1577 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1578 0, 0, 0, 0, 0, 0, 0, 470, 0, 0,
1579 0, 0, 0, 0, 0, 244, 245, 246, 247, 248,
1580 0, 0, 249, 250, 0, 0, 251
1583 static const yytype_int16 yycheck[] =
1585 1, 1, 8, 30, 1, 79, 39, 86, 86, 101,
1586 74, 159, 18, 177, 30, 73, 59, 181, 243, 25,
1587 101, 73, 74, 149, 353, 31, 152, 149, 192, 166,
1588 152, 195, 16, 197, 308, 356, 200, 1, 1, 360,
1589 314, 118, 142, 33, 51, 440, 320, 65, 81, 82,
1590 51, 142, 78, 90, 80, 92, 126, 101, 158, 85,
1591 124, 24, 1, 90, 1, 90, 136, 92, 1, 112,
1592 4, 135, 124, 162, 90, 101, 165, 102, 15, 50,
1593 124, 52, 126, 135, 101, 166, 25, 140, 68, 28,
1594 127, 149, 25, 101, 120, 28, 35, 114, 69, 38,
1595 101, 101, 35, 42, 101, 38, 114, 142, 116, 42,
1596 447, 117, 119, 138, 114, 33, 116, 512, 119, 33,
1597 138, 101, 92, 90, 445, 92, 127, 128, 129, 130,
1598 131, 132, 133, 123, 59, 136, 137, 138, 475, 476,
1599 477, 218, 126, 97, 124, 140, 126, 421, 422, 92,
1600 114, 114, 116, 116, 124, 550, 155, 127, 159, 129,
1601 385, 104, 114, 105, 116, 83, 166, 85, 105, 140,
1602 97, 85, 90, 114, 92, 116, 90, 251, 92, 140,
1603 306, 207, 407, 408, 265, 522, 131, 132, 105, 131,
1604 132, 217, 134, 33, 131, 132, 140, 134, 224, 141,
1605 150, 151, 141, 4, 141, 123, 137, 138, 141, 123,
1606 105, 348, 209, 350, 131, 132, 134, 134, 135, 225,
1607 134, 227, 128, 223, 225, 6, 7, 145, 154, 155,
1608 559, 274, 506, 14, 41, 92, 17, 18, 19, 134,
1609 135, 48, 140, 24, 51, 140, 134, 135, 306, 71,
1610 90, 58, 92, 75, 318, 36, 320, 578, 80, 90,
1611 41, 92, 102, 140, 45, 265, 318, 48, 320, 140,
1612 127, 105, 129, 104, 300, 140, 57, 58, 6, 7,
1613 137, 150, 16, 123, 163, 164, 14, 151, 167, 17,
1614 18, 19, 440, 134, 134, 135, 92, 355, 127, 33,
1615 134, 135, 428, 355, 405, 406, 428, 127, 36, 390,
1616 311, 312, 313, 41, 315, 137, 138, 45, 319, 90,
1617 48, 92, 33, 138, 146, 93, 353, 95, 96, 57,
1618 58, 102, 140, 155, 100, 157, 109, 338, 140, 112,
1619 134, 114, 142, 131, 345, 118, 119, 120, 121, 122,
1620 376, 143, 109, 134, 354, 112, 90, 114, 92, 154,
1621 141, 425, 142, 437, 512, 142, 157, 140, 442, 412,
1622 428, 105, 8, 425, 62, 63, 64, 541, 66, 90,
1623 134, 92, 142, 140, 93, 94, 95, 96, 143, 123,
1624 416, 142, 142, 127, 105, 129, 136, 131, 132, 124,
1625 134, 135, 550, 62, 63, 64, 134, 66, 49, 93,
1626 94, 95, 123, 141, 140, 142, 127, 134, 129, 143,
1627 131, 132, 423, 134, 135, 93, 94, 95, 96, 435,
1628 47, 90, 433, 92, 142, 93, 94, 95, 96, 440,
1629 99, 101, 416, 116, 518, 101, 520, 463, 545, 91,
1630 466, 547, 544, 504, 160, 455, 49, 559, 24, 265,
1631 539, 539, 560, 90, 538, 106, 107, 108, 109, 110,
1632 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
1633 121, 122, 123, 165, 344, 168, 455, 493, 538, 495,
1634 491, 497, 579, 134, 135, 524, 449, 355, -1, 140,
1635 141, -1, -1, -1, -1, 579, -1, -1, 505, 542,
1636 -1, 512, -1, 106, 107, 108, 109, 110, 111, 112,
1637 113, 114, 115, 116, 117, -1, -1, -1, -1, -1,
1638 123, -1, 559, -1, -1, -1, -1, -1, -1, 545,
1639 -1, 134, 135, 543, 545, -1, 547, 548, -1, 550,
1640 -1, -1, -1, -1, 9, 10, 11, 12, 13, -1,
1641 15, -1, -1, -1, -1, 20, 21, 22, 23, -1,
1642 -1, -1, 27, 28, 29, 30, 31, 32, 33, -1,
1643 35, -1, 37, -1, 585, 40, 41, 42, 43, 44,
1644 -1, 46, -1, 48, 49, 50, 51, 52, 53, 54,
1645 55, 56, -1, 58, -1, 60, 61, -1, -1, -1,
1646 -1, -1, 67, -1, 69, -1, 71, 72, -1, 74,
1647 75, 76, 77, 78, 79, -1, 81, 82, -1, 84,
1648 -1, 86, -1, 88, 89, 90, 91, 92, -1, -1,
1649 -1, -1, -1, -1, -1, -1, 101, -1, 103, -1,
1650 105, 106, -1, -1, -1, -1, -1, -1, -1, -1,
1651 -1, -1, -1, -1, -1, -1, -1, -1, 123, 124,
1652 125, 126, 127, -1, 129, 130, 131, 132, -1, 134,
1653 135, 136, 137, -1, -1, 140, -1, -1, -1, 144,
1654 145, 146, 147, 148, 149, 1, -1, 152, 153, -1,
1655 -1, 156, -1, -1, -1, 11, 12, 13, -1, 15,
1656 -1, -1, -1, -1, 20, 21, 22, 23, -1, -1,
1657 -1, 27, -1, 29, 30, 31, 32, -1, -1, -1,
1658 -1, 37, -1, -1, 40, 41, -1, 43, 44, -1,
1659 46, -1, 48, -1, 50, 51, 52, 53, 54, 55,
1660 56, -1, 58, -1, 60, 61, -1, -1, -1, -1,
1661 -1, 67, -1, 69, 70, 71, -1, -1, -1, -1,
1662 76, -1, 78, -1, -1, 81, -1, -1, 84, -1,
1663 -1, -1, 88, 89, -1, -1, -1, -1, -1, -1,
1664 -1, -1, -1, -1, -1, 101, -1, -1, -1, 105,
1665 106, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1666 -1, -1, -1, -1, -1, -1, -1, -1, 124, 125,
1667 126, 1, -1, -1, 130, 131, 132, -1, -1, -1,
1668 136, 11, 12, 13, 140, 15, -1, -1, 144, -1,
1669 20, 21, 22, 23, -1, -1, -1, 27, -1, 29,
1670 30, 31, 32, -1, -1, -1, -1, 37, -1, -1,
1671 40, 41, -1, 43, 44, -1, 46, -1, 48, -1,
1672 50, 51, 52, 53, 54, 55, 56, -1, 58, -1,
1673 60, 61, -1, -1, -1, -1, -1, 67, -1, 69,
1674 -1, 71, -1, -1, -1, -1, 76, -1, 78, -1,
1675 -1, 81, -1, -1, 84, -1, -1, -1, 88, 89,
1676 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1677 -1, 101, -1, -1, -1, 105, 106, -1, -1, -1,
1678 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1679 -1, -1, -1, -1, 124, 125, 126, -1, -1, -1,
1680 130, 131, 132, -1, -1, 1, 136, -1, -1, -1,
1681 140, 141, -1, -1, 144, 11, 12, 13, -1, 15,
1682 -1, -1, -1, -1, 20, 21, 22, 23, -1, -1,
1683 -1, 27, -1, 29, 30, 31, 32, -1, -1, -1,
1684 -1, 37, -1, -1, 40, 41, -1, 43, 44, -1,
1685 46, -1, 48, -1, 50, 51, 52, 53, 54, 55,
1686 56, -1, 58, -1, 60, 61, -1, -1, -1, -1,
1687 -1, 67, -1, 69, -1, 71, -1, -1, -1, -1,
1688 76, -1, 78, -1, -1, 81, -1, -1, 84, -1,
1689 -1, -1, 88, 89, -1, -1, -1, -1, -1, -1,
1690 -1, -1, -1, -1, -1, 101, -1, -1, -1, 105,
1691 106, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1692 -1, -1, -1, -1, -1, -1, -1, -1, 124, 125,
1693 126, -1, -1, -1, 130, 131, 132, -1, -1, 1,
1694 136, -1, -1, -1, 140, 141, -1, -1, 144, 11,
1695 12, 13, -1, 15, -1, -1, -1, -1, 20, 21,
1696 22, 23, -1, -1, -1, 27, -1, 29, 30, 31,
1697 32, -1, -1, -1, -1, 37, -1, -1, 40, 41,
1698 -1, 43, 44, -1, 46, -1, 48, -1, 50, 51,
1699 52, 53, 54, 55, 56, -1, 58, -1, 60, 61,
1700 -1, -1, -1, -1, -1, 67, -1, 69, -1, 71,
1701 -1, -1, -1, -1, 76, -1, 78, -1, -1, 81,
1702 -1, -1, 84, -1, -1, -1, 88, 89, -1, -1,
1703 -1, -1, -1, -1, -1, -1, -1, -1, -1, 101,
1704 -1, -1, -1, 105, 106, -1, -1, -1, -1, -1,
1705 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1706 -1, -1, 124, 125, 126, -1, -1, -1, 130, 131,
1707 132, -1, -1, 1, 136, -1, -1, -1, 140, 141,
1708 -1, -1, 144, 11, 12, 13, -1, 15, -1, -1,
1709 -1, -1, 20, 21, 22, 23, -1, -1, -1, 27,
1710 -1, 29, 30, 31, 32, -1, -1, -1, -1, 37,
1711 -1, -1, 40, 41, -1, 43, 44, -1, 46, -1,
1712 48, -1, 50, 51, 52, 53, 54, 55, 56, -1,
1713 58, -1, 60, 61, -1, -1, -1, -1, -1, 67,
1714 -1, 69, -1, 71, -1, -1, -1, -1, 76, -1,
1715 78, -1, -1, 81, -1, -1, 84, -1, -1, -1,
1716 88, 89, -1, -1, -1, -1, -1, -1, -1, -1,
1717 -1, -1, -1, 101, -1, -1, -1, 105, 106, -1,
1718 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1719 -1, -1, -1, -1, -1, -1, 124, 125, 126, -1,
1720 -1, -1, 130, 131, 132, 0, 1, -1, 136, -1,
1721 -1, -1, 140, 141, 9, 10, 144, 12, 13, -1,
1722 15, -1, -1, -1, -1, 20, 21, 22, 23, -1,
1723 25, 26, -1, 28, 29, 30, 31, -1, 33, 34,
1724 35, -1, 37, -1, -1, -1, -1, 42, -1, 44,
1725 -1, 46, -1, -1, 49, 50, -1, 52, 1, -1,
1726 55, 56, -1, -1, -1, -1, 61, 10, -1, 12,
1727 13, -1, 15, -1, 69, -1, -1, 20, 21, 22,
1728 23, -1, 25, -1, -1, 28, 29, 30, 31, -1,
1729 33, 34, 35, -1, 37, 38, -1, -1, -1, 42,
1730 -1, 44, -1, 46, -1, -1, 49, 50, -1, 52,
1731 105, -1, 55, 56, -1, -1, -1, -1, 61, -1,
1732 -1, -1, -1, -1, -1, -1, 69, -1, 123, 124,
1733 -1, -1, -1, -1, -1, -1, 131, 132, -1, 134,
1734 -1, 1, -1, -1, -1, 140, -1, -1, -1, -1,
1735 -1, -1, 12, 13, -1, 15, -1, -1, -1, -1,
1736 20, 21, 22, 23, -1, 25, -1, -1, 28, 29,
1737 30, 31, -1, 33, 34, 35, -1, 37, 38, -1,
1738 123, 124, 42, -1, 44, -1, 46, -1, -1, 49,
1739 50, -1, 52, -1, -1, 55, 56, 140, 141, -1,
1740 -1, 61, -1, -1, -1, -1, -1, -1, -1, 69,
1741 -1, -1, 11, 12, 13, -1, 15, -1, -1, -1,
1742 -1, 20, 21, 22, 23, -1, -1, -1, 27, -1,
1743 29, 30, 31, 32, -1, -1, -1, -1, 37, -1,
1744 -1, 40, 41, -1, 43, 44, -1, 46, -1, 48,
1745 -1, 50, 51, 52, 53, 54, 55, 56, -1, 58,
1746 -1, 60, 61, 123, 124, -1, -1, -1, 67, -1,
1747 69, -1, 71, -1, -1, -1, -1, 76, -1, 78,
1748 140, 141, 81, -1, -1, 84, -1, -1, -1, 88,
1749 89, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1750 -1, -1, 101, -1, -1, -1, 105, 106, -1, -1,
1751 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1752 -1, -1, -1, -1, -1, 124, 125, 126, -1, -1,
1753 -1, 130, -1, -1, 133, -1, -1, 136, 11, 12,
1754 13, 140, 15, -1, -1, 144, -1, 20, 21, 22,
1755 23, -1, -1, -1, 27, -1, 29, 30, 31, 32,
1756 -1, -1, -1, -1, 37, -1, -1, 40, 41, -1,
1757 43, 44, -1, 46, -1, 48, -1, 50, 51, 52,
1758 53, 54, 55, 56, -1, 58, -1, 60, 61, -1,
1759 -1, -1, -1, -1, 67, -1, 69, -1, 71, -1,
1760 -1, -1, -1, 76, -1, 78, -1, -1, 81, -1,
1761 -1, 84, -1, -1, -1, 88, 89, -1, -1, -1,
1762 -1, -1, -1, -1, -1, -1, -1, -1, 101, -1,
1763 -1, -1, 105, 106, -1, -1, -1, -1, -1, -1,
1764 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1765 33, 124, 125, 126, -1, -1, -1, 130, -1, -1,
1766 -1, -1, -1, 136, -1, 12, 13, 140, 15, -1,
1767 -1, 144, -1, 20, 21, 22, 23, -1, -1, -1,
1768 -1, -1, 29, 30, 31, 68, -1, -1, -1, 72,
1769 37, 74, 75, -1, 77, -1, 79, 44, -1, 46,
1770 -1, -1, -1, 50, -1, 52, -1, 90, 55, 56,
1771 -1, -1, -1, -1, 61, -1, -1, -1, -1, -1,
1772 103, -1, 69, -1, -1, -1, -1, -1, -1, -1,
1773 -1, -1, -1, -1, -1, -1, -1, 49, -1, -1,
1774 123, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1775 -1, 134, 135, -1, 137, 138, -1, -1, -1, -1,
1776 143, 144, 145, 146, 147, 148, 149, -1, -1, 152,
1777 153, -1, 49, 156, -1, -1, -1, 124, -1, 126,
1778 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1779 -1, -1, -1, 140, 106, 107, 108, 109, 110, 111,
1780 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
1781 122, 123, -1, -1, -1, -1, -1, -1, -1, -1,
1782 -1, -1, 134, 135, -1, -1, -1, -1, 140, 106,
1783 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
1784 117, -1, 72, -1, 74, 75, 123, 77, -1, 79,
1785 -1, -1, 82, -1, -1, -1, 86, 134, 135, -1,
1786 -1, 91, -1, 140, -1, -1, -1, -1, -1, -1,
1787 -1, -1, -1, 103, -1, -1, -1, -1, -1, -1,
1788 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1789 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1790 -1, -1, -1, -1, -1, -1, -1, 137, -1, -1,
1791 -1, -1, -1, -1, -1, 145, 146, 147, 148, 149,
1792 -1, -1, 152, 153, -1, -1, 156
1795 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1796 symbol of state STATE-NUM. */
1797 static const yytype_uint16 yystos[] =
1799 0, 160, 0, 1, 9, 10, 12, 13, 15, 20,
1800 21, 22, 23, 25, 26, 28, 29, 30, 31, 33,
1801 34, 35, 37, 42, 44, 46, 49, 50, 52, 55,
1802 56, 61, 69, 105, 123, 124, 131, 132, 134, 140,
1803 162, 163, 165, 166, 167, 171, 173, 175, 178, 179,
1804 180, 181, 186, 187, 188, 193, 194, 200, 202, 203,
1805 204, 205, 209, 284, 286, 140, 140, 105, 134, 135,
1806 221, 140, 221, 287, 285, 126, 193, 242, 249, 221,
1807 140, 140, 140, 92, 104, 254, 136, 242, 243, 244,
1808 245, 221, 183, 93, 94, 95, 96, 196, 197, 199,
1809 183, 142, 140, 1, 15, 141, 167, 169, 4, 206,
1810 194, 59, 190, 97, 172, 97, 174, 142, 201, 164,
1811 210, 49, 106, 107, 108, 109, 110, 111, 112, 113,
1812 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
1813 134, 135, 140, 288, 289, 290, 291, 293, 294, 295,
1814 296, 289, 295, 150, 151, 240, 241, 11, 27, 32,
1815 40, 41, 43, 48, 51, 53, 54, 58, 60, 67,
1816 71, 76, 78, 81, 84, 88, 89, 101, 105, 106,
1817 125, 130, 144, 182, 184, 189, 193, 211, 218, 219,
1818 223, 224, 225, 231, 232, 243, 244, 263, 265, 266,
1819 267, 268, 282, 90, 92, 127, 278, 279, 133, 176,
1820 184, 183, 183, 155, 184, 240, 241, 245, 201, 1,
1821 70, 163, 184, 199, 199, 199, 141, 15, 72, 74,
1822 75, 77, 79, 82, 86, 90, 91, 92, 103, 127,
1823 129, 134, 135, 137, 145, 146, 147, 148, 149, 152,
1824 153, 156, 163, 168, 169, 171, 173, 175, 178, 184,
1825 220, 234, 235, 236, 237, 248, 256, 274, 275, 276,
1826 277, 286, 128, 140, 207, 4, 191, 194, 1, 38,
1827 141, 161, 165, 173, 175, 177, 178, 193, 284, 286,
1828 1, 141, 161, 165, 175, 177, 193, 284, 286, 221,
1829 190, 141, 167, 184, 297, 289, 295, 296, 298, 163,
1830 163, 163, 163, 163, 163, 163, 289, 163, 163, 163,
1831 292, 291, 294, 296, 150, 151, 134, 16, 126, 16,
1832 90, 105, 163, 220, 222, 277, 286, 218, 217, 221,
1833 102, 250, 252, 253, 278, 217, 217, 250, 220, 252,
1834 286, 217, 254, 226, 262, 283, 251, 253, 251, 251,
1835 251, 251, 280, 251, 233, 251, 184, 1, 141, 161,
1836 165, 178, 141, 141, 92, 184, 190, 286, 184, 163,
1837 195, 221, 127, 127, 124, 137, 228, 230, 276, 278,
1838 138, 68, 90, 137, 138, 143, 144, 152, 153, 220,
1839 237, 238, 246, 247, 286, 137, 138, 154, 155, 100,
1840 170, 194, 208, 140, 134, 184, 140, 296, 298, 163,
1841 163, 163, 298, 163, 289, 163, 141, 289, 295, 298,
1842 142, 131, 163, 212, 213, 143, 255, 154, 255, 163,
1843 142, 252, 142, 252, 68, 101, 227, 228, 229, 244,
1844 83, 85, 90, 92, 134, 145, 257, 259, 261, 286,
1845 288, 233, 233, 62, 63, 64, 66, 270, 157, 281,
1846 137, 234, 8, 185, 184, 93, 94, 95, 96, 198,
1847 220, 275, 275, 276, 276, 6, 7, 14, 17, 18,
1848 19, 24, 36, 41, 45, 48, 57, 58, 134, 141,
1849 214, 215, 216, 194, 192, 176, 298, 298, 163, 289,
1850 134, 163, 142, 221, 143, 104, 278, 222, 142, 278,
1851 142, 233, 94, 198, 280, 259, 71, 75, 80, 137,
1852 138, 146, 155, 157, 258, 260, 243, 243, 269, 142,
1853 158, 239, 140, 198, 198, 198, 163, 221, 221, 221,
1854 142, 134, 141, 216, 141, 298, 222, 278, 278, 198,
1855 281, 99, 270, 271, 272, 273, 278, 240, 241, 251,
1856 183, 286, 234, 195, 213, 163, 222, 227, 239, 143,
1857 65, 138, 47, 264, 141, 142, 233, 273, 163
1860 #define yyerrok (yyerrstatus = 0)
1861 #define yyclearin (yychar = YYEMPTY)
1862 #define YYEMPTY (-2)
1865 #define YYACCEPT goto yyacceptlab
1866 #define YYABORT goto yyabortlab
1867 #define YYERROR goto yyerrorlab
1870 /* Like YYERROR except do call yyerror. This remains here temporarily
1871 to ease the transition to the new meaning of YYERROR, for GCC.
1872 Once GCC version 2 has supplanted version 1, this can go. */
1874 #define YYFAIL goto yyerrlab
1876 #define YYRECOVERING() (!!yyerrstatus)
1878 #define YYBACKUP(Token, Value) \
1880 if (yychar == YYEMPTY && yylen == 1) \
1884 yytoken = YYTRANSLATE (yychar); \
1890 yyerror (YY_("syntax error: cannot back up")); \
1897 #define YYERRCODE 256
1900 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
1901 If N is 0, then set CURRENT to the empty location which ends
1902 the previous symbol: RHS[0] (always defined). */
1904 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
1905 #ifndef YYLLOC_DEFAULT
1906 # define YYLLOC_DEFAULT(Current, Rhs, N) \
1910 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
1911 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
1912 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
1913 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
1917 (Current).first_line = (Current).last_line = \
1918 YYRHSLOC (Rhs, 0).last_line; \
1919 (Current).first_column = (Current).last_column = \
1920 YYRHSLOC (Rhs, 0).last_column; \
1926 /* YY_LOCATION_PRINT -- Print the location on the stream.
1927 This macro was not mandated originally: define only if we know
1928 we won't break user code: when these are the locations we know. */
1930 #ifndef YY_LOCATION_PRINT
1931 # if YYLTYPE_IS_TRIVIAL
1932 # define YY_LOCATION_PRINT(File, Loc) \
1933 fprintf (File, "%d.%d-%d.%d", \
1934 (Loc).first_line, (Loc).first_column, \
1935 (Loc).last_line, (Loc).last_column)
1937 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1942 /* YYLEX -- calling `yylex' with the right arguments. */
1945 # define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM)
1947 # define YYLEX yylex (&yylval, &yylloc)
1950 /* Enable debugging if requested. */
1954 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
1955 # define YYFPRINTF fprintf
1958 # define YYDPRINTF(Args) \
1964 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
1968 YYFPRINTF (stderr, "%s ", Title); \
1969 yy_symbol_print (stderr, \
1970 Type, Value, Location); \
1971 YYFPRINTF (stderr, "\n"); \
1976 /*--------------------------------.
1977 | Print this symbol on YYOUTPUT. |
1978 `--------------------------------*/
1981 #if (defined __STDC__ || defined __C99__FUNC__ \
1982 || defined __cplusplus || defined _MSC_VER)
1984 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
1987 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp)
1990 YYSTYPE const * const yyvaluep;
1991 YYLTYPE const * const yylocationp;
1996 YYUSE (yylocationp);
1998 if (yytype < YYNTOKENS)
1999 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2011 /*--------------------------------.
2012 | Print this symbol on YYOUTPUT. |
2013 `--------------------------------*/
2015 #if (defined __STDC__ || defined __C99__FUNC__ \
2016 || defined __cplusplus || defined _MSC_VER)
2018 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp)
2021 yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp)
2024 YYSTYPE const * const yyvaluep;
2025 YYLTYPE const * const yylocationp;
2028 if (yytype < YYNTOKENS)
2029 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
2031 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
2033 YY_LOCATION_PRINT (yyoutput, *yylocationp);
2034 YYFPRINTF (yyoutput, ": ");
2035 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp);
2036 YYFPRINTF (yyoutput, ")");
2039 /*------------------------------------------------------------------.
2040 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
2042 `------------------------------------------------------------------*/
2044 #if (defined __STDC__ || defined __C99__FUNC__ \
2045 || defined __cplusplus || defined _MSC_VER)
2047 yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
2050 yy_stack_print (bottom, top)
2051 yytype_int16 *bottom;
2055 YYFPRINTF (stderr, "Stack now");
2056 for (; bottom <= top; ++bottom)
2057 YYFPRINTF (stderr, " %d", *bottom);
2058 YYFPRINTF (stderr, "\n");
2061 # define YY_STACK_PRINT(Bottom, Top) \
2064 yy_stack_print ((Bottom), (Top)); \
2068 /*------------------------------------------------.
2069 | Report that the YYRULE is going to be reduced. |
2070 `------------------------------------------------*/
2072 #if (defined __STDC__ || defined __C99__FUNC__ \
2073 || defined __cplusplus || defined _MSC_VER)
2075 yy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule)
2078 yy_reduce_print (yyvsp, yylsp, yyrule)
2084 int yynrhs = yyr2[yyrule];
2086 unsigned long int yylno = yyrline[yyrule];
2087 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
2089 /* The symbols being reduced. */
2090 for (yyi = 0; yyi < yynrhs; yyi++)
2092 fprintf (stderr, " $%d = ", yyi + 1);
2093 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
2094 &(yyvsp[(yyi + 1) - (yynrhs)])
2095 , &(yylsp[(yyi + 1) - (yynrhs)]) );
2096 fprintf (stderr, "\n");
2100 # define YY_REDUCE_PRINT(Rule) \
2103 yy_reduce_print (yyvsp, yylsp, Rule); \
2106 /* Nonzero means print parse trace. It is left uninitialized so that
2107 multiple parsers can coexist. */
2109 #else /* !YYDEBUG */
2110 # define YYDPRINTF(Args)
2111 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
2112 # define YY_STACK_PRINT(Bottom, Top)
2113 # define YY_REDUCE_PRINT(Rule)
2114 #endif /* !YYDEBUG */
2117 /* YYINITDEPTH -- initial size of the parser's stacks. */
2119 # define YYINITDEPTH 200
2122 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2123 if the built-in stack extension method is used).
2125 Do not make this value too large; the results are undefined if
2126 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
2127 evaluated with infinite-precision integer arithmetic. */
2130 # define YYMAXDEPTH 10000
2138 # if defined __GLIBC__ && defined _STRING_H
2139 # define yystrlen strlen
2141 /* Return the length of YYSTR. */
2142 #if (defined __STDC__ || defined __C99__FUNC__ \
2143 || defined __cplusplus || defined _MSC_VER)
2145 yystrlen (const char *yystr)
2153 for (yylen = 0; yystr[yylen]; yylen++)
2161 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2162 # define yystpcpy stpcpy
2164 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2166 #if (defined __STDC__ || defined __C99__FUNC__ \
2167 || defined __cplusplus || defined _MSC_VER)
2169 yystpcpy (char *yydest, const char *yysrc)
2172 yystpcpy (yydest, yysrc)
2178 const char *yys = yysrc;
2180 while ((*yyd++ = *yys++) != '\0')
2189 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2190 quotes and backslashes, so that it's suitable for yyerror. The
2191 heuristic is that double-quoting is unnecessary unless the string
2192 contains an apostrophe, a comma, or backslash (other than
2193 backslash-backslash). YYSTR is taken from yytname. If YYRES is
2194 null, do not copy; instead, return the length of what the result
2197 yytnamerr (char *yyres, const char *yystr)
2202 char const *yyp = yystr;
2209 goto do_not_strip_quotes;
2213 goto do_not_strip_quotes;
2226 do_not_strip_quotes: ;
2230 return yystrlen (yystr);
2232 return yystpcpy (yyres, yystr) - yyres;
2236 /* Copy into YYRESULT an error message about the unexpected token
2237 YYCHAR while in state YYSTATE. Return the number of bytes copied,
2238 including the terminating null byte. If YYRESULT is null, do not
2239 copy anything; just return the number of bytes that would be
2240 copied. As a special case, return 0 if an ordinary "syntax error"
2241 message will do. Return YYSIZE_MAXIMUM if overflow occurs during
2242 size calculation. */
2244 yysyntax_error (char *yyresult, int yystate, int yychar)
2246 int yyn = yypact[yystate];
2248 if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
2252 int yytype = YYTRANSLATE (yychar);
2253 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
2254 YYSIZE_T yysize = yysize0;
2256 int yysize_overflow = 0;
2257 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2258 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2262 /* This is so xgettext sees the translatable formats that are
2263 constructed on the fly. */
2264 YY_("syntax error, unexpected %s");
2265 YY_("syntax error, unexpected %s, expecting %s");
2266 YY_("syntax error, unexpected %s, expecting %s or %s");
2267 YY_("syntax error, unexpected %s, expecting %s or %s or %s");
2268 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
2272 static char const yyunexpected[] = "syntax error, unexpected %s";
2273 static char const yyexpecting[] = ", expecting %s";
2274 static char const yyor[] = " or %s";
2275 char yyformat[sizeof yyunexpected
2276 + sizeof yyexpecting - 1
2277 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
2278 * (sizeof yyor - 1))];
2279 char const *yyprefix = yyexpecting;
2281 /* Start YYX at -YYN if negative to avoid negative indexes in
2283 int yyxbegin = yyn < 0 ? -yyn : 0;
2285 /* Stay within bounds of both yycheck and yytname. */
2286 int yychecklim = YYLAST - yyn + 1;
2287 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2290 yyarg[0] = yytname[yytype];
2291 yyfmt = yystpcpy (yyformat, yyunexpected);
2293 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2294 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
2296 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2300 yyformat[sizeof yyunexpected - 1] = '\0';
2303 yyarg[yycount++] = yytname[yyx];
2304 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
2305 yysize_overflow |= (yysize1 < yysize);
2307 yyfmt = yystpcpy (yyfmt, yyprefix);
2311 yyf = YY_(yyformat);
2312 yysize1 = yysize + yystrlen (yyf);
2313 yysize_overflow |= (yysize1 < yysize);
2316 if (yysize_overflow)
2317 return YYSIZE_MAXIMUM;
2321 /* Avoid sprintf, as that infringes on the user's name space.
2322 Don't have undefined behavior even if the translation
2323 produced a string with the wrong number of "%s"s. */
2324 char *yyp = yyresult;
2326 while ((*yyp = *yyf) != '\0')
2328 if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
2330 yyp += yytnamerr (yyp, yyarg[yyi++]);
2343 #endif /* YYERROR_VERBOSE */
2346 /*-----------------------------------------------.
2347 | Release the memory associated to this symbol. |
2348 `-----------------------------------------------*/
2351 #if (defined __STDC__ || defined __C99__FUNC__ \
2352 || defined __cplusplus || defined _MSC_VER)
2354 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp)
2357 yydestruct (yymsg, yytype, yyvaluep, yylocationp)
2361 YYLTYPE *yylocationp;
2365 YYUSE (yylocationp);
2369 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
2380 /* Prevent warnings from -Wmissing-prototypes. */
2382 #ifdef YYPARSE_PARAM
2383 #if defined __STDC__ || defined __cplusplus
2384 int yyparse (void *YYPARSE_PARAM);
2388 #else /* ! YYPARSE_PARAM */
2389 #if defined __STDC__ || defined __cplusplus
2394 #endif /* ! YYPARSE_PARAM */
2405 #ifdef YYPARSE_PARAM
2406 #if (defined __STDC__ || defined __C99__FUNC__ \
2407 || defined __cplusplus || defined _MSC_VER)
2409 yyparse (void *YYPARSE_PARAM)
2412 yyparse (YYPARSE_PARAM)
2413 void *YYPARSE_PARAM;
2415 #else /* ! YYPARSE_PARAM */
2416 #if (defined __STDC__ || defined __C99__FUNC__ \
2417 || defined __cplusplus || defined _MSC_VER)
2427 /* The look-ahead symbol. */
2430 /* The semantic value of the look-ahead symbol. */
2433 /* Number of syntax errors so far. */
2435 /* Location data for the look-ahead symbol. */
2441 /* Number of tokens to shift before error messages enabled. */
2443 /* Look-ahead token as an internal (translated) token number. */
2446 /* Buffer for error messages, and its allocated size. */
2448 char *yymsg = yymsgbuf;
2449 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
2452 /* Three stacks and their tools:
2453 `yyss': related to states,
2454 `yyvs': related to semantic values,
2455 `yyls': related to locations.
2457 Refer to the stacks thru separate pointers, to allow yyoverflow
2458 to reallocate them elsewhere. */
2460 /* The state stack. */
2461 yytype_int16 yyssa[YYINITDEPTH];
2462 yytype_int16 *yyss = yyssa;
2463 yytype_int16 *yyssp;
2465 /* The semantic value stack. */
2466 YYSTYPE yyvsa[YYINITDEPTH];
2467 YYSTYPE *yyvs = yyvsa;
2470 /* The location stack. */
2471 YYLTYPE yylsa[YYINITDEPTH];
2472 YYLTYPE *yyls = yylsa;
2474 /* The locations where the error started and ended. */
2475 YYLTYPE yyerror_range[2];
2477 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
2479 YYSIZE_T yystacksize = YYINITDEPTH;
2481 /* The variables used to return semantic value and location from the
2486 /* The number of symbols on the RHS of the reduced rule.
2487 Keep to zero when no symbol should be popped. */
2490 YYDPRINTF ((stderr, "Starting parse\n"));
2495 yychar = YYEMPTY; /* Cause a token to be read. */
2497 /* Initialize stack pointers.
2498 Waste one element of value and location stack
2499 so that they stay on the same level as the state stack.
2500 The wasted elements are never initialized. */
2505 #if YYLTYPE_IS_TRIVIAL
2506 /* Initialize the default location before parsing starts. */
2507 yylloc.first_line = yylloc.last_line = 1;
2508 yylloc.first_column = yylloc.last_column = 0;
2513 /*------------------------------------------------------------.
2514 | yynewstate -- Push a new state, which is found in yystate. |
2515 `------------------------------------------------------------*/
2517 /* In all cases, when you get here, the value and location stacks
2518 have just been pushed. So pushing a state here evens the stacks. */
2524 if (yyss + yystacksize - 1 <= yyssp)
2526 /* Get the current used size of the three stacks, in elements. */
2527 YYSIZE_T yysize = yyssp - yyss + 1;
2531 /* Give user a chance to reallocate the stack. Use copies of
2532 these so that the &'s don't force the real ones into
2534 YYSTYPE *yyvs1 = yyvs;
2535 yytype_int16 *yyss1 = yyss;
2536 YYLTYPE *yyls1 = yyls;
2538 /* Each stack pointer address is followed by the size of the
2539 data in use in that stack, in bytes. This used to be a
2540 conditional around just the two extra args, but that might
2541 be undefined if yyoverflow is a macro. */
2542 yyoverflow (YY_("memory exhausted"),
2543 &yyss1, yysize * sizeof (*yyssp),
2544 &yyvs1, yysize * sizeof (*yyvsp),
2545 &yyls1, yysize * sizeof (*yylsp),
2551 #else /* no yyoverflow */
2552 # ifndef YYSTACK_RELOCATE
2553 goto yyexhaustedlab;
2555 /* Extend the stack our own way. */
2556 if (YYMAXDEPTH <= yystacksize)
2557 goto yyexhaustedlab;
2559 if (YYMAXDEPTH < yystacksize)
2560 yystacksize = YYMAXDEPTH;
2563 yytype_int16 *yyss1 = yyss;
2564 union yyalloc *yyptr =
2565 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2567 goto yyexhaustedlab;
2568 YYSTACK_RELOCATE (yyss);
2569 YYSTACK_RELOCATE (yyvs);
2570 YYSTACK_RELOCATE (yyls);
2571 # undef YYSTACK_RELOCATE
2573 YYSTACK_FREE (yyss1);
2576 #endif /* no yyoverflow */
2578 yyssp = yyss + yysize - 1;
2579 yyvsp = yyvs + yysize - 1;
2580 yylsp = yyls + yysize - 1;
2582 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
2583 (unsigned long int) yystacksize));
2585 if (yyss + yystacksize - 1 <= yyssp)
2589 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
2598 /* Do appropriate processing given the current state. Read a
2599 look-ahead token if we need one and don't already have one. */
2601 /* First try to decide what to do without reference to look-ahead token. */
2602 yyn = yypact[yystate];
2603 if (yyn == YYPACT_NINF)
2606 /* Not known => get a look-ahead token if don't already have one. */
2608 /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
2609 if (yychar == YYEMPTY)
2611 YYDPRINTF ((stderr, "Reading a token: "));
2615 if (yychar <= YYEOF)
2617 yychar = yytoken = YYEOF;
2618 YYDPRINTF ((stderr, "Now at end of input.\n"));
2622 yytoken = YYTRANSLATE (yychar);
2623 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
2626 /* If the proper action on seeing token YYTOKEN is to reduce or to
2627 detect an error, take that action. */
2629 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
2634 if (yyn == 0 || yyn == YYTABLE_NINF)
2643 /* Count tokens shifted since error; after three, turn off error
2648 /* Shift the look-ahead token. */
2649 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
2651 /* Discard the shifted token unless it is eof. */
2652 if (yychar != YYEOF)
2661 /*-----------------------------------------------------------.
2662 | yydefault -- do the default action for the current state. |
2663 `-----------------------------------------------------------*/
2665 yyn = yydefact[yystate];
2671 /*-----------------------------.
2672 | yyreduce -- Do a reduction. |
2673 `-----------------------------*/
2675 /* yyn is the number of a rule to reduce with. */
2678 /* If YYLEN is nonzero, implement the default value of the action:
2681 Otherwise, the following line sets YYVAL to garbage.
2682 This behavior is undocumented and Bison
2683 users should not rely upon it. Assigning to YYVAL
2684 unconditionally makes the parser a bit smaller, and it avoids a
2685 GCC warning that YYVAL may be used uninitialized. */
2686 yyval = yyvsp[1-yylen];
2688 /* Default location. */
2689 YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
2690 YY_REDUCE_PRINT (yyn);
2694 #line 453 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2700 #line 455 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2706 #line 457 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2708 PARSER->error_level_ = 1;
2713 #line 460 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2715 PARSER->error_level_ = 1;
2720 #line 467 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2721 { (yyval.scm) = (yyvsp[(2) - (2)].scm); ;}
2725 #line 471 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2727 PARSER->lexer_->set_identifier (ly_symbol2scm ("$defaultheader"), (yyvsp[(1) - (1)].scm));
2732 #line 474 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2734 Book *book = (yyvsp[(1) - (1)].book);
2735 SCM proc = PARSER->lexer_->lookup_identifier ("toplevel-book-handler");
2736 scm_call_2 (proc, PARSER->self_scm (), book->self_scm ());
2742 #line 480 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2744 Book *bookpart = (yyvsp[(1) - (1)].book);
2745 SCM proc = PARSER->lexer_->lookup_identifier ("toplevel-bookpart-handler");
2746 scm_call_2 (proc, PARSER->self_scm (), bookpart->self_scm ());
2747 bookpart->unprotect ();
2752 #line 486 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2754 Score *score = (yyvsp[(1) - (1)].score);
2756 SCM proc = PARSER->lexer_->lookup_identifier ("toplevel-score-handler");
2757 scm_call_2 (proc, PARSER->self_scm (), score->self_scm ());
2758 score->unprotect ();
2763 #line 493 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2765 Music *music = unsmob_music ((yyvsp[(1) - (1)].scm));
2766 SCM proc = PARSER->lexer_->lookup_identifier ("toplevel-music-handler");
2767 scm_call_2 (proc, PARSER->self_scm (), music->self_scm ());
2772 #line 498 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2774 SCM proc = PARSER->lexer_->lookup_identifier ("toplevel-text-handler");
2775 scm_call_2 (proc, PARSER->self_scm (), scm_list_1 ((yyvsp[(1) - (1)].scm)));
2780 #line 502 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2782 SCM proc = PARSER->lexer_->lookup_identifier ("toplevel-text-handler");
2783 scm_call_2 (proc, PARSER->self_scm (), (yyvsp[(1) - (1)].scm));
2788 #line 506 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2791 Output_def * od = (yyvsp[(1) - (1)].outputdef);
2793 if ((yyvsp[(1) - (1)].outputdef)->c_variable ("is-paper") == SCM_BOOL_T)
2794 id = ly_symbol2scm ("$defaultpaper");
2795 else if ((yyvsp[(1) - (1)].outputdef)->c_variable ("is-midi") == SCM_BOOL_T)
2796 id = ly_symbol2scm ("$defaultmidi");
2797 else if ((yyvsp[(1) - (1)].outputdef)->c_variable ("is-layout") == SCM_BOOL_T)
2798 id = ly_symbol2scm ("$defaultlayout");
2800 PARSER->lexer_->set_identifier (id, od->self_scm ());
2806 #line 529 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2808 (yyval.scm) = get_header (PARSER);
2809 PARSER->lexer_->add_scope ((yyval.scm));
2814 #line 533 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2821 #line 539 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2823 (yyval.scm) = PARSER->lexer_->remove_scope ();
2828 #line 548 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2829 { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
2833 #line 549 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2834 { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
2838 #line 553 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2840 PARSER->lexer_->set_identifier ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
2843 TODO: devise standard for protection in parser.
2845 The parser stack lives on the C-stack, which means that
2846 all objects can be unprotected as soon as they're here.
2853 #line 564 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2858 #line 569 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2860 (yyval.scm) = (yyvsp[(1) - (1)].score)->self_scm ();
2861 (yyvsp[(1) - (1)].score)->unprotect ();
2866 #line 573 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2868 (yyval.scm) = (yyvsp[(1) - (1)].book)->self_scm ();
2869 (yyvsp[(1) - (1)].book)->unprotect ();
2874 #line 577 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2876 (yyval.scm) = (yyvsp[(1) - (1)].book)->self_scm ();
2877 (yyvsp[(1) - (1)].book)->unprotect ();
2882 #line 581 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2884 (yyval.scm) = (yyvsp[(1) - (1)].outputdef)->self_scm ();
2885 (yyvsp[(1) - (1)].outputdef)->unprotect ();
2890 #line 585 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2892 (yyval.scm) = (yyvsp[(1) - (1)].scm);
2897 #line 588 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2899 /* Hack: Create event-chord around standalone events.
2900 Prevents the identifier from being interpreted as a post-event. */
2901 Music *mus = unsmob_music ((yyvsp[(1) - (1)].scm));
2902 bool is_event = mus &&
2903 (scm_memq (ly_symbol2scm ("event"), mus->get_property ("types"))
2906 (yyval.scm) = (yyvsp[(1) - (1)].scm);
2908 (yyval.scm) = MAKE_SYNTAX ("event-chord", (yyloc), scm_list_1 ((yyvsp[(1) - (1)].scm)));
2913 #line 600 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2915 (yyval.scm) = (yyvsp[(1) - (1)].scm);
2920 #line 603 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2922 (yyval.scm) = (yyvsp[(1) - (1)].scm);
2927 #line 606 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2929 (yyval.scm) = (yyvsp[(1) - (1)].scm);
2934 #line 609 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2936 (yyval.scm) = (yyvsp[(1) - (1)].scm);
2941 #line 612 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2943 (yyval.scm) = (yyvsp[(1) - (1)].scm);
2948 #line 615 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2950 (yyval.scm) = scm_from_int ((yyvsp[(1) - (1)].i));
2955 #line 622 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2957 (yyval.scm) = (yyvsp[(3) - (4)].scm);
2962 #line 628 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2964 (yyval.scm) = Context_def::make_scm ();
2965 unsmob_context_def ((yyval.scm))->origin ()->set_spot ((yyloc));
2970 #line 632 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2972 (yyval.scm) = (yyvsp[(1) - (1)].scm);
2973 unsmob_context_def ((yyval.scm))->origin ()->set_spot ((yyloc));
2978 #line 636 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2980 Context_def*td = unsmob_context_def ((yyval.scm));
2982 for (SCM p = (yyvsp[(3) - (3)].scm); scm_is_pair (p); p = scm_cdr (p)) {
2983 SCM tag = scm_caar (p);
2985 /* TODO: should make new tag "grob-definition" ? */
2986 td->add_context_mod (scm_list_3 (ly_symbol2scm ("assign"),
2987 tag, scm_cons (scm_cdar (p), SCM_EOL)));
2993 #line 647 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
2995 unsmob_context_def ((yyval.scm))->add_context_mod ((yyvsp[(2) - (2)].scm));
3000 #line 655 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3002 (yyval.book) = (yyvsp[(3) - (4)].book);
3008 #line 665 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3010 (yyval.book) = new Book;
3011 init_papers (PARSER);
3012 (yyval.book)->origin ()->set_spot ((yyloc));
3013 (yyval.book)->paper_ = dynamic_cast<Output_def*> (unsmob_output_def (PARSER->lexer_->lookup_identifier ("$defaultpaper"))->clone ());
3014 (yyval.book)->paper_->unprotect ();
3015 push_paper (PARSER, (yyval.book)->paper_);
3016 (yyval.book)->header_ = PARSER->lexer_->lookup_identifier ("$defaultheader");
3021 #line 674 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3023 (yyval.book) = unsmob_book ((yyvsp[(1) - (1)].scm));
3024 (yyval.book)->protect ();
3025 (yyval.book)->origin ()->set_spot ((yyloc));
3030 #line 679 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3032 (yyval.book)->paper_ = (yyvsp[(2) - (2)].outputdef);
3033 (yyvsp[(2) - (2)].outputdef)->unprotect ();
3034 set_paper (PARSER, (yyvsp[(2) - (2)].outputdef));
3039 #line 684 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3041 Book *bookpart = (yyvsp[(2) - (2)].book);
3042 SCM proc = PARSER->lexer_->lookup_identifier ("book-bookpart-handler");
3043 scm_call_2 (proc, (yyval.book)->self_scm (), bookpart->self_scm ());
3044 bookpart->unprotect ();
3049 #line 690 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3051 Score *score = (yyvsp[(2) - (2)].score);
3052 SCM proc = PARSER->lexer_->lookup_identifier ("book-score-handler");
3053 scm_call_2 (proc, (yyval.book)->self_scm (), score->self_scm ());
3054 score->unprotect ();
3059 #line 696 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3061 Music *music = unsmob_music ((yyvsp[(2) - (2)].scm));
3062 SCM proc = PARSER->lexer_->lookup_identifier ("book-music-handler");
3063 scm_call_3 (proc, PARSER->self_scm (), (yyval.book)->self_scm (), music->self_scm ());
3068 #line 701 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3070 SCM proc = PARSER->lexer_->lookup_identifier ("book-text-handler");
3071 scm_call_2 (proc, (yyval.book)->self_scm (), scm_list_1 ((yyvsp[(2) - (2)].scm)));
3076 #line 705 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3078 SCM proc = PARSER->lexer_->lookup_identifier ("book-text-handler");
3079 scm_call_2 (proc, (yyval.book)->self_scm (), (yyvsp[(2) - (2)].scm));
3084 #line 709 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3086 (yyval.book)->header_ = (yyvsp[(2) - (2)].scm);
3091 #line 712 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3093 (yyval.book)->paper_ = 0;
3094 (yyval.book)->scores_ = SCM_EOL;
3095 (yyval.book)->bookparts_ = SCM_EOL;
3100 #line 717 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3102 (yyval.book)->user_key_ = ly_scm2string ((yyvsp[(2) - (2)].scm));
3107 #line 723 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3109 (yyval.book) = (yyvsp[(3) - (4)].book);
3114 #line 729 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3116 (yyval.book) = new Book;
3117 (yyval.book)->origin ()->set_spot ((yyloc));
3122 #line 733 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3124 (yyval.book) = unsmob_book ((yyvsp[(1) - (1)].scm));
3125 (yyval.book)->protect ();
3126 (yyval.book)->origin ()->set_spot ((yyloc));
3131 #line 738 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3133 (yyval.book)->paper_ = (yyvsp[(2) - (2)].outputdef);
3134 (yyvsp[(2) - (2)].outputdef)->unprotect ();
3139 #line 742 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3141 Score *score = (yyvsp[(2) - (2)].score);
3142 SCM proc = PARSER->lexer_->lookup_identifier ("bookpart-score-handler");
3143 scm_call_2 (proc, (yyval.book)->self_scm (), score->self_scm ());
3144 score->unprotect ();
3149 #line 748 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3151 Music *music = unsmob_music ((yyvsp[(2) - (2)].scm));
3152 SCM proc = PARSER->lexer_->lookup_identifier ("bookpart-music-handler");
3153 scm_call_3 (proc, PARSER->self_scm (), (yyval.book)->self_scm (), music->self_scm ());
3158 #line 753 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3160 SCM proc = PARSER->lexer_->lookup_identifier ("bookpart-text-handler");
3161 scm_call_2 (proc, (yyval.book)->self_scm (), scm_list_1 ((yyvsp[(2) - (2)].scm)));
3166 #line 757 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3168 SCM proc = PARSER->lexer_->lookup_identifier ("bookpart-text-handler");
3169 scm_call_2 (proc, (yyval.book)->self_scm (), (yyvsp[(2) - (2)].scm));
3174 #line 761 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3176 (yyval.book)->header_ = (yyvsp[(2) - (2)].scm);
3181 #line 764 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3183 (yyval.book)->paper_ = 0;
3184 (yyval.book)->scores_ = SCM_EOL;
3189 #line 768 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3191 (yyval.book)->user_key_ = ly_scm2string ((yyvsp[(2) - (2)].scm));
3196 #line 774 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3198 (yyval.score) = (yyvsp[(3) - (4)].score);
3203 #line 780 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3205 SCM m = (yyvsp[(1) - (1)].scm);
3206 SCM scorify = ly_lily_module_constant ("scorify-music");
3207 SCM score = scm_call_2 (scorify, m, PARSER->self_scm ());
3209 // pass ownernship to C++ again.
3210 (yyval.score) = unsmob_score (score);
3211 (yyval.score)->protect ();
3212 (yyval.score)->origin ()->set_spot ((yyloc));
3217 #line 790 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3219 (yyval.score) = unsmob_score ((yyvsp[(1) - (1)].scm));
3220 (yyval.score)->protect ();
3221 (yyval.score)->origin ()->set_spot ((yyloc));
3226 #line 795 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3228 (yyval.score)->user_key_ = ly_scm2string ((yyvsp[(2) - (2)].scm));
3233 #line 798 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3235 (yyval.score)->set_header ((yyvsp[(2) - (2)].scm));
3240 #line 801 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3242 if ((yyvsp[(2) - (2)].outputdef)->lookup_variable (ly_symbol2scm ("is-paper")) == SCM_BOOL_T)
3244 PARSER->parser_error ((yylsp[(2) - (2)]), _("\\paper cannot be used in \\score, use \\layout instead"));
3249 (yyval.score)->add_output_def ((yyvsp[(2) - (2)].outputdef));
3251 (yyvsp[(2) - (2)].outputdef)->unprotect ();
3256 #line 813 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3258 (yyval.score)->error_found_ = true;
3263 #line 824 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3265 (yyval.outputdef) = (yyvsp[(1) - (1)].outputdef);
3266 if ((yyval.outputdef)->lookup_variable (ly_symbol2scm ("is-paper")) != SCM_BOOL_T)
3268 PARSER->parser_error ((yylsp[(1) - (1)]), _ ("need \\paper for paper block"));
3269 (yyvsp[(1) - (1)].outputdef)->unprotect ();
3270 (yyval.outputdef) = get_paper (PARSER);
3276 #line 837 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3278 (yyval.outputdef) = (yyvsp[(1) - (2)].outputdef);
3280 PARSER->lexer_->remove_scope ();
3281 PARSER->lexer_->pop_state ();
3286 #line 846 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3288 (yyval.outputdef) = get_paper (PARSER);
3289 (yyval.outputdef)->input_origin_ = (yyloc);
3290 PARSER->lexer_->add_scope ((yyval.outputdef)->scope_);
3295 #line 851 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3297 Output_def *p = get_midi (PARSER);
3298 (yyval.outputdef) = p;
3299 PARSER->lexer_->add_scope (p->scope_);
3304 #line 856 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3306 Output_def *p = get_layout (PARSER);
3308 PARSER->lexer_->add_scope (p->scope_);
3309 (yyval.outputdef) = p;
3314 #line 865 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3316 PARSER->lexer_->push_initial_state ();
3317 (yyval.outputdef) = (yyvsp[(1) - (1)].outputdef);
3322 #line 872 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3324 (yyval.outputdef) = (yyvsp[(1) - (2)].outputdef);
3325 (yyval.outputdef)->input_origin_.set_spot ((yyloc));
3330 #line 876 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3332 (yyvsp[(1) - (3)].outputdef)->unprotect ();
3334 Output_def *o = unsmob_output_def ((yyvsp[(3) - (3)].scm));
3335 o->input_origin_.set_spot ((yyloc));
3336 (yyval.outputdef) = o;
3337 (yyval.outputdef)->protect ();
3338 PARSER->lexer_->remove_scope ();
3339 PARSER->lexer_->add_scope (o->scope_);
3344 #line 886 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3351 #line 889 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3353 assign_context_def ((yyval.outputdef), (yyvsp[(2) - (2)].scm));
3358 #line 892 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3365 #line 898 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3367 (yyval.scm) = MAKE_SYNTAX ("tempo", (yyloc), SCM_BOOL_F, (yyvsp[(2) - (4)].scm), scm_int2num ((yyvsp[(4) - (4)].i)));
3372 #line 901 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3374 (yyval.scm) = MAKE_SYNTAX ("tempo", (yyloc), make_simple_markup((yyvsp[(2) - (5)].scm)), (yyvsp[(3) - (5)].scm), scm_int2num ((yyvsp[(5) - (5)].i)));
3379 #line 904 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3381 (yyval.scm) = MAKE_SYNTAX ("tempo", (yyloc), (yyvsp[(2) - (5)].scm), (yyvsp[(3) - (5)].scm), scm_int2num ((yyvsp[(5) - (5)].i)));
3386 #line 907 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3388 (yyval.scm) = MAKE_SYNTAX ("tempoText", (yyloc), make_simple_markup((yyvsp[(2) - (2)].scm)) );
3393 #line 910 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3395 (yyval.scm) = MAKE_SYNTAX ("tempoText", (yyloc), (yyvsp[(2) - (2)].scm) );
3400 #line 923 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3402 (yyval.scm) = scm_cons (SCM_EOL, SCM_EOL);
3407 #line 926 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3409 SCM s = (yyval.scm);
3410 SCM c = scm_cons ((yyvsp[(2) - (2)].scm), SCM_EOL);
3412 if (scm_is_pair (scm_cdr (s)))
3413 scm_set_cdr_x (scm_cdr (s), c); /* append */
3415 scm_set_car_x (s, c); /* set first cons */
3416 scm_set_cdr_x (s, c); /* remember last cell */
3421 #line 936 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3428 #line 939 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3430 Music *m = MY_MAKE_MUSIC("Music", (yyloc));
3432 m->set_property ("error-found", SCM_BOOL_T);
3433 SCM s = (yyval.scm);
3434 SCM c = scm_cons (m->self_scm (), SCM_EOL);
3435 m->unprotect (); /* UGH */
3437 if (scm_is_pair (scm_cdr (s)))
3438 scm_set_cdr_x (scm_cdr (s), c); /* append */
3440 scm_set_car_x (s, c); /* set first cons */
3441 scm_set_cdr_x (s, c); /* remember last cell */
3446 #line 961 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3448 (yyval.scm) = SCM_EOL;
3453 #line 964 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3455 (yyval.scm) = scm_car ((yyvsp[(3) - (4)].scm));
3460 #line 972 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3462 (yyval.scm) = MAKE_SYNTAX ("repeat", (yyloc), (yyvsp[(2) - (5)].scm), (yyvsp[(3) - (5)].scm), (yyvsp[(4) - (5)].scm), (yyvsp[(5) - (5)].scm));
3467 #line 978 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3469 (yyval.scm) = MAKE_SYNTAX ("sequential-music", (yyloc), scm_car ((yyvsp[(3) - (4)].scm)));
3474 #line 981 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3476 (yyval.scm) = MAKE_SYNTAX ("sequential-music", (yyloc), scm_car ((yyvsp[(2) - (3)].scm)));
3481 #line 987 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3483 (yyval.scm) = MAKE_SYNTAX ("simultaneous-music", (yyloc), scm_car ((yyvsp[(3) - (4)].scm)));
3488 #line 990 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3490 (yyval.scm) = MAKE_SYNTAX ("simultaneous-music", (yyloc), scm_car ((yyvsp[(2) - (3)].scm)));
3495 #line 1003 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3496 { (yyval.scm) = SCM_EOL; ;}
3500 #line 1004 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3501 { PARSER->lexer_->push_initial_state (); ;}
3505 #line 1006 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3507 PARSER->lexer_->pop_state ();
3508 (yyval.scm) = (yyvsp[(4) - (5)].scm);
3513 #line 1013 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3514 { (yyval.scm) = SCM_EOL; ;}
3518 #line 1014 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3520 (yyval.scm) = scm_cons ((yyvsp[(2) - (2)].scm), (yyvsp[(1) - (2)].scm));
3525 #line 1020 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3526 { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
3530 #line 1021 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3531 { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
3535 #line 1025 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3536 { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
3540 #line 1026 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3541 { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
3545 #line 1039 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3547 (yyval.scm) = scm_cons ((yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm));
3552 #line 1045 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3554 (yyval.scm) = scm_cons ((yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm));
3559 #line 1048 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3561 (yyval.scm) = scm_cons ((yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm));
3566 #line 1053 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3568 (yyval.scm) = SCM_EOL;
3573 #line 1056 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3575 (yyval.scm) = scm_cons ((yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm));
3580 #line 1059 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3582 (yyval.scm) = scm_cons ((yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm));
3587 #line 1064 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3589 /* This is for 0-ary functions, so they don't need to
3590 read a lookahead token */
3591 (yyval.scm) = SCM_EOL;
3596 #line 1074 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3598 (yyval.scm) = ly_append2 (scm_list_2 ((yyvsp[(1) - (2)].scm), make_input ((yyloc))), scm_reverse_x ((yyvsp[(2) - (2)].scm), SCM_EOL));
3603 #line 1081 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3604 { (yyval.scm) = SCM_EOL; ;}
3608 #line 1082 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3610 (yyval.scm) = (yyvsp[(2) - (2)].scm);
3615 #line 1089 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3617 (yyval.scm) = run_music_function (PARSER, (yyvsp[(1) - (1)].scm));
3622 #line 1092 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3624 (yyval.scm) = MAKE_SYNTAX ("context-specification", (yyloc), (yyvsp[(2) - (5)].scm), (yyvsp[(3) - (5)].scm), (yyvsp[(5) - (5)].scm), (yyvsp[(4) - (5)].scm), SCM_BOOL_F);
3629 #line 1095 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3631 (yyval.scm) = MAKE_SYNTAX ("context-specification", (yyloc), (yyvsp[(2) - (5)].scm), (yyvsp[(3) - (5)].scm), (yyvsp[(5) - (5)].scm), (yyvsp[(4) - (5)].scm), SCM_BOOL_T);
3636 #line 1099 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3638 (yyval.scm) = MAKE_SYNTAX ("time-scaled-music", (yyloc), (yyvsp[(2) - (3)].scm), (yyvsp[(3) - (3)].scm));
3643 #line 1102 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3644 { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
3648 #line 1103 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3650 Pitch from = *unsmob_pitch ((yyvsp[(2) - (4)].scm));
3651 Pitch to = *unsmob_pitch ((yyvsp[(3) - (4)].scm));
3652 SCM pitch = pitch_interval (from, to).smobbed_copy ();
3653 (yyval.scm) = MAKE_SYNTAX ("transpose-music", (yyloc), pitch, (yyvsp[(4) - (4)].scm));
3658 #line 1109 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3660 if ((yyvsp[(1) - (2)].scm) == ly_symbol2scm ("chords"))
3662 (yyval.scm) = MAKE_SYNTAX ("unrelativable-music", (yyloc), (yyvsp[(2) - (2)].scm));
3666 (yyval.scm) = (yyvsp[(2) - (2)].scm);
3668 PARSER->lexer_->pop_state ();
3673 #line 1120 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3675 (yyval.scm) = MAKE_SYNTAX ("context-specification", (yyloc), (yyvsp[(1) - (3)].scm), SCM_EOL, (yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm), SCM_BOOL_T);
3676 if ((yyvsp[(1) - (3)].scm) == ly_symbol2scm ("ChordNames"))
3678 (yyval.scm) = MAKE_SYNTAX ("unrelativable-music", (yyloc), (yyval.scm));
3680 PARSER->lexer_->pop_state ();
3685 #line 1128 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3686 { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
3690 #line 1129 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3691 { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
3695 #line 1133 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3697 SCM nn = PARSER->lexer_->lookup_identifier ("pitchnames");
3698 PARSER->lexer_->push_note_state (alist_to_hashq (nn));
3700 (yyval.scm) = ly_symbol2scm ("notes");
3705 #line 1140 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3707 SCM nn = PARSER->lexer_->lookup_identifier ("drumPitchNames");
3708 PARSER->lexer_->push_note_state (alist_to_hashq (nn));
3710 (yyval.scm) = ly_symbol2scm ("drums");
3715 #line 1146 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3717 PARSER->lexer_->push_figuredbass_state ();
3719 (yyval.scm) = ly_symbol2scm ("figures");
3724 #line 1151 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3726 SCM nn = PARSER->lexer_->lookup_identifier ("chordmodifiers");
3727 PARSER->lexer_->chordmodifier_tab_ = alist_to_hashq (nn);
3728 nn = PARSER->lexer_->lookup_identifier ("pitchnames");
3729 PARSER->lexer_->push_chord_state (alist_to_hashq (nn));
3730 (yyval.scm) = ly_symbol2scm ("chords");
3736 #line 1160 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3737 { PARSER->lexer_->push_lyric_state ();
3738 (yyval.scm) = ly_symbol2scm ("lyrics");
3743 #line 1166 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3745 SCM nn = PARSER->lexer_->lookup_identifier ("drumPitchNames");
3746 PARSER->lexer_->push_note_state (alist_to_hashq (nn));
3748 (yyval.scm) = ly_symbol2scm ("DrumStaff");
3753 #line 1172 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3755 PARSER->lexer_->push_figuredbass_state ();
3757 (yyval.scm) = ly_symbol2scm ("FiguredBass");
3762 #line 1177 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3764 SCM nn = PARSER->lexer_->lookup_identifier ("chordmodifiers");
3765 PARSER->lexer_->chordmodifier_tab_ = alist_to_hashq (nn);
3766 nn = PARSER->lexer_->lookup_identifier ("pitchnames");
3767 PARSER->lexer_->push_chord_state (alist_to_hashq (nn));
3768 (yyval.scm) = ly_symbol2scm ("ChordNames");
3773 #line 1185 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3774 { PARSER->lexer_->push_lyric_state ();
3775 (yyval.scm) = ly_symbol2scm ("Lyrics");
3780 #line 1192 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3782 Pitch start = *unsmob_pitch ((yyvsp[(2) - (3)].scm));
3783 (yyval.scm) = make_music_relative (start, (yyvsp[(3) - (3)].scm), (yyloc));
3788 #line 1196 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3790 Pitch middle_c (0, 0, 0);
3791 (yyval.scm) = make_music_relative (middle_c, (yyvsp[(2) - (2)].scm), (yyloc));
3796 #line 1203 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3797 { PARSER->lexer_->push_lyric_state (); ;}
3801 #line 1205 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3803 /* Can also use music at the expensive of two S/Rs similar to
3804 \repeat \alternative */
3805 PARSER->lexer_->pop_state ();
3807 (yyval.scm) = scm_cons ((yyvsp[(3) - (3)].scm), SCM_EOL);
3812 #line 1212 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3814 PARSER->lexer_->push_lyric_state ();
3819 #line 1214 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3821 PARSER->lexer_->pop_state ();
3822 (yyval.scm) = scm_cons ((yyvsp[(4) - (4)].scm), (yyvsp[(1) - (4)].scm));
3827 #line 1221 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3829 (yyval.scm) = MAKE_SYNTAX ("add-lyrics", (yyloc), (yyvsp[(1) - (2)].scm), scm_reverse_x ((yyvsp[(2) - (2)].scm), SCM_EOL));
3834 #line 1224 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3836 PARSER->lexer_->push_lyric_state ();
3841 #line 1226 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3843 PARSER->lexer_->pop_state ();
3844 (yyval.scm) = MAKE_SYNTAX ("lyric-combine", (yyloc), (yyvsp[(2) - (4)].scm), (yyvsp[(4) - (4)].scm));
3849 #line 1233 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3851 (yyval.scm) = MAKE_SYNTAX ("context-change", (yyloc), scm_string_to_symbol ((yyvsp[(2) - (4)].scm)), (yyvsp[(4) - (4)].scm));
3856 #line 1240 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3858 (yyval.scm) = scm_cons ((yyvsp[(1) - (1)].scm), SCM_EOL);
3863 #line 1243 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3865 (yyval.scm) = scm_cons ((yyvsp[(2) - (2)].scm), (yyvsp[(1) - (2)].scm));
3870 #line 1249 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3872 (yyval.scm) = scm_reverse_x ((yyvsp[(1) - (1)].scm), SCM_EOL);
3877 #line 1255 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3879 (yyval.scm) = scm_list_3 (ly_symbol2scm ("assign"),
3880 scm_string_to_symbol ((yyvsp[(1) - (3)].scm)), (yyvsp[(3) - (3)].scm));
3885 #line 1259 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3887 (yyval.scm) = scm_list_2 (ly_symbol2scm ("unset"),
3888 scm_string_to_symbol ((yyvsp[(2) - (2)].scm)));
3893 #line 1263 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3895 (yyval.scm) = scm_append (scm_list_2 (scm_list_3 (ly_symbol2scm ("push"),
3896 scm_string_to_symbol ((yyvsp[(2) - (5)].scm)), (yyvsp[(5) - (5)].scm)),
3897 (yyvsp[(3) - (5)].scm)));
3902 #line 1268 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3904 (yyval.scm) = scm_list_3 (ly_symbol2scm ("pop"),
3905 scm_string_to_symbol ((yyvsp[(2) - (3)].scm)), (yyvsp[(3) - (3)].scm));
3910 #line 1275 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3911 { (yyval.scm) = ly_symbol2scm ("consists"); ;}
3915 #line 1276 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3916 { (yyval.scm) = ly_symbol2scm ("remove"); ;}
3920 #line 1278 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3921 { (yyval.scm) = ly_symbol2scm ("accepts"); ;}
3925 #line 1279 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3926 { (yyval.scm) = ly_symbol2scm ("default-child"); ;}
3930 #line 1280 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3931 { (yyval.scm) = ly_symbol2scm ("denies"); ;}
3935 #line 1282 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3936 { (yyval.scm) = ly_symbol2scm ("alias"); ;}
3940 #line 1283 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3941 { (yyval.scm) = ly_symbol2scm ("translator-type"); ;}
3945 #line 1284 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3946 { (yyval.scm) = ly_symbol2scm ("description"); ;}
3950 #line 1285 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3951 { (yyval.scm) = ly_symbol2scm ("context-name"); ;}
3955 #line 1289 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3956 { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
3960 #line 1290 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3962 (yyval.scm) = scm_list_2 ((yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm));
3967 #line 1296 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3969 if (!is_regular_identifier ((yyvsp[(1) - (1)].scm)))
3971 (yyloc).error (_("Grob name should be alphanumeric"));
3974 (yyval.scm) = scm_list_2 (ly_symbol2scm ("Bottom"),
3975 scm_string_to_symbol ((yyvsp[(1) - (1)].scm)));
3980 #line 1305 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3982 (yyval.scm) = scm_list_2 (scm_string_to_symbol ((yyvsp[(1) - (3)].scm)),
3983 scm_string_to_symbol ((yyvsp[(3) - (3)].scm)));
3988 #line 1312 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
3990 (yyval.scm) = scm_append (scm_list_2 (scm_list_n (scm_car ((yyvsp[(2) - (5)].scm)),
3991 ly_symbol2scm ("OverrideProperty"),
3992 scm_cadr ((yyvsp[(2) - (5)].scm)),
3993 (yyvsp[(5) - (5)].scm), SCM_UNDEFINED),
3994 (yyvsp[(3) - (5)].scm)));
3999 #line 1319 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4001 (yyval.scm) = scm_list_4 (scm_car ((yyvsp[(2) - (3)].scm)),
4002 ly_symbol2scm ("RevertProperty"),
4003 scm_cadr ((yyvsp[(2) - (3)].scm)),
4004 (yyvsp[(3) - (3)].scm));
4009 #line 1325 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4011 (yyval.scm) = scm_list_4 (scm_car ((yyvsp[(2) - (4)].scm)),
4012 ly_symbol2scm ("PropertySet"),
4013 scm_cadr ((yyvsp[(2) - (4)].scm)),
4014 (yyvsp[(4) - (4)].scm));
4019 #line 1331 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4021 (yyval.scm) = scm_list_3 (scm_car ((yyvsp[(2) - (2)].scm)),
4022 ly_symbol2scm ("PropertyUnset"),
4023 scm_cadr ((yyvsp[(2) - (2)].scm)));
4028 #line 1339 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4030 (yyval.scm) = LOWLEVEL_MAKE_SYNTAX (ly_lily_module_constant ("property-operation"), scm_cons (PARSER->self_scm (), scm_cons2 (make_input ((yyloc)), SCM_BOOL_F, (yyvsp[(1) - (1)].scm))));
4035 #line 1342 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4037 (yyval.scm) = LOWLEVEL_MAKE_SYNTAX (ly_lily_module_constant ("property-operation"), scm_cons (PARSER->self_scm (), scm_cons2 (make_input ((yyloc)), SCM_BOOL_T, (yyvsp[(2) - (2)].scm))));
4042 #line 1348 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4044 (yyval.scm) = (yyvsp[(1) - (1)].scm);
4049 #line 1351 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4051 (yyval.scm) = (yyvsp[(1) - (1)].scm);
4056 #line 1354 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4058 (yyval.scm) = scm_string_append (scm_list_2 ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm)));
4063 #line 1359 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4065 (yyval.scm) = (yyvsp[(1) - (1)].scm);
4070 #line 1362 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4072 (yyval.scm) = (yyvsp[(1) - (1)].scm);
4077 #line 1365 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4079 (yyval.scm) = (yyvsp[(1) - (1)].scm);
4084 #line 1370 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4086 (yyval.scm) = (yyvsp[(1) - (1)].scm);
4091 #line 1373 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4093 (yyval.scm) = (yyvsp[(1) - (1)].scm);
4098 #line 1376 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4100 (yyval.scm) = (yyvsp[(1) - (1)].scm);
4105 #line 1379 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4107 (yyval.scm) = (yyvsp[(1) - (1)].scm);
4112 #line 1382 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4114 (yyval.scm) = (yyvsp[(1) - (1)].scm);
4119 #line 1385 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4121 (yyval.scm) = scm_from_int ((yyvsp[(1) - (1)].i));
4126 #line 1394 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4128 SCM elts = ly_append2 ((yyvsp[(1) - (2)].scm), scm_reverse_x ((yyvsp[(2) - (2)].scm), SCM_EOL));
4131 /* why is this giving wrong start location? -ns
4133 i.set_location ((yylsp[(1) - (2)]), (yylsp[(2) - (2)]));
4134 (yyval.scm) = MAKE_SYNTAX ("event-chord", i, elts);
4139 #line 1403 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4142 i.set_location ((yylsp[(1) - (3)]), (yylsp[(3) - (3)]));
4143 (yyval.scm) = MAKE_SYNTAX ("multi-measure-rest", i, (yyvsp[(2) - (3)].scm), (yyvsp[(3) - (3)].scm));
4148 #line 1415 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4150 Music *m = unsmob_music ((yyvsp[(1) - (3)].scm));
4151 SCM dur = unsmob_duration ((yyvsp[(2) - (3)].scm))->smobbed_copy ();
4152 SCM es = m->get_property ("elements");
4153 SCM postevs = scm_reverse_x ((yyvsp[(3) - (3)].scm), SCM_EOL);
4155 for (SCM s = es; scm_is_pair (s); s = scm_cdr (s))
4156 unsmob_music (scm_car (s))->set_property ("duration", dur);
4157 es = ly_append2 (es, postevs);
4159 m-> set_property ("elements", es);
4160 m->set_spot ((yyloc));
4161 (yyval.scm) = m->self_scm ();
4166 #line 1433 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4168 (yyval.scm) = MAKE_SYNTAX ("event-chord", (yyloc), scm_reverse_x ((yyvsp[(2) - (3)].scm), SCM_EOL));
4173 #line 1439 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4174 { (yyval.scm) = SCM_EOL; ;}
4178 #line 1440 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4180 (yyval.scm) = scm_cons ((yyvsp[(2) - (2)].scm), (yyvsp[(1) - (2)].scm));
4185 #line 1447 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4187 int q = (yyvsp[(3) - (5)].i);
4188 int ex = (yyvsp[(2) - (5)].i);
4189 SCM check = (yyvsp[(4) - (5)].scm);
4190 SCM post = (yyvsp[(5) - (5)].scm);
4192 Music *n = MY_MAKE_MUSIC ("NoteEvent", (yyloc));
4193 n->set_property ("pitch", (yyvsp[(1) - (5)].scm));
4195 n->set_property ("cautionary", SCM_BOOL_T);
4196 if (ex % 2 || q % 2)
4197 n->set_property ("force-accidental", SCM_BOOL_T);
4199 if (scm_is_pair (post)) {
4200 SCM arts = scm_reverse_x (post, SCM_EOL);
4201 n->set_property ("articulations", arts);
4203 if (scm_is_number (check))
4205 int q = scm_to_int (check);
4206 n->set_property ("absolute-octave", scm_from_int (q-1));
4209 (yyval.scm) = n->unprotect ();
4214 #line 1472 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4216 Music *n = MY_MAKE_MUSIC ("NoteEvent", (yyloc));
4217 n->set_property ("duration", (yyvsp[(2) - (2)].scm));
4218 n->set_property ("drum-type", (yyvsp[(1) - (2)].scm));
4220 if (scm_is_pair ((yyvsp[(2) - (2)].scm))) {
4221 SCM arts = scm_reverse_x ((yyvsp[(2) - (2)].scm), SCM_EOL);
4222 n->set_property ("articulations", arts);
4224 (yyval.scm) = n->unprotect ();
4229 #line 1483 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4231 (yyval.scm) = run_music_function (PARSER, (yyvsp[(1) - (1)].scm));
4236 #line 1488 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4238 SCM sig = scm_object_property (yylval.scm, ly_symbol2scm ("music-function-signature"));
4239 if (scm_is_pair (sig) && to_boolean (scm_memq (ly_music_p_proc, scm_cdr (scm_reverse (sig)))))
4241 PARSER->parser_error ((yyloc), "Music function applied to event may not have a Music argument, except as the last argument.");
4247 #line 1501 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4249 (yyval.scm) = ly_append2 (scm_list_2 ((yyvsp[(1) - (4)].scm), make_input ((yyloc))), scm_reverse_x ((yyvsp[(3) - (4)].scm), scm_list_1 ((yyvsp[(4) - (4)].scm))));
4254 #line 1504 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4256 (yyval.scm) = ly_append2 (scm_list_2 ((yyvsp[(1) - (2)].scm), make_input ((yyloc))), scm_reverse_x ((yyvsp[(2) - (2)].scm), SCM_EOL));
4261 #line 1513 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4263 (yyval.scm) = ly_append2 (scm_list_2 ((yyvsp[(1) - (4)].scm), make_input ((yyloc))), scm_reverse_x ((yyvsp[(3) - (4)].scm), scm_list_1 ((yyvsp[(4) - (4)].scm))));
4268 #line 1516 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4270 (yyval.scm) = ly_append2 (scm_list_2 ((yyvsp[(1) - (2)].scm), make_input ((yyloc))), scm_reverse_x ((yyvsp[(2) - (2)].scm), SCM_EOL));
4275 #line 1522 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4277 (yyval.scm) = (yyvsp[(1) - (1)].scm);
4282 #line 1525 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4284 (yyval.scm) = MAKE_SYNTAX ("skip-music", (yyloc), (yyvsp[(2) - (2)].scm));
4289 #line 1528 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4291 Music *m = MY_MAKE_MUSIC ("LigatureEvent", (yyloc));
4292 m->set_property ("span-direction", scm_from_int (START));
4293 (yyval.scm) = m->unprotect();
4298 #line 1533 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4300 Music *m = MY_MAKE_MUSIC ("LigatureEvent", (yyloc));
4301 m->set_property ("span-direction", scm_from_int (STOP));
4302 (yyval.scm) = m->unprotect ();
4307 #line 1538 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4309 (yyval.scm) = MAKE_SYNTAX ("voice-separator", (yyloc), SCM_UNDEFINED);
4314 #line 1541 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4316 SCM pipe = PARSER->lexer_->lookup_identifier ("pipeSymbol");
4318 Music *m = unsmob_music (pipe);
4322 m->set_spot ((yyloc));
4323 (yyval.scm) = m->unprotect ();
4326 (yyval.scm) = MAKE_SYNTAX ("bar-check", (yyloc), SCM_UNDEFINED);
4332 #line 1555 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4334 Moment m = - unsmob_duration ((yyvsp[(2) - (2)].scm))->get_length ();
4335 (yyval.scm) = MAKE_SYNTAX ("property-operation", (yyloc), SCM_BOOL_F, ly_symbol2scm ("Timing"), ly_symbol2scm ("PropertySet"), ly_symbol2scm ("measurePosition"), m.smobbed_copy ());
4336 (yyval.scm) = MAKE_SYNTAX ("context-specification", (yyloc), ly_symbol2scm ("Score"), SCM_BOOL_F, (yyval.scm), SCM_EOL, SCM_BOOL_F);
4341 #line 1561 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4343 SCM proc = ly_lily_module_constant ("make-time-signature-set");
4345 (yyval.scm) = scm_apply_2 (proc, scm_car ((yyvsp[(2) - (2)].scm)), scm_cdr ((yyvsp[(2) - (2)].scm)), SCM_EOL);
4350 #line 1566 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4352 SCM proc = ly_lily_module_constant ("make-mark-set");
4354 (yyval.scm) = scm_call_1 (proc, (yyvsp[(2) - (2)].scm));
4359 #line 1574 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4361 (yyval.scm) = MY_MAKE_MUSIC ("PesOrFlexaEvent", (yyloc))->unprotect ();
4366 #line 1577 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4368 Music *m = MY_MAKE_MUSIC ("MarkEvent", (yyloc));
4369 (yyval.scm) = m->unprotect ();
4374 #line 1581 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4376 (yyval.scm) = (yyvsp[(1) - (1)].scm);
4381 #line 1584 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4383 Music *key = MY_MAKE_MUSIC ("KeyChangeEvent", (yyloc));
4384 (yyval.scm) = key->unprotect ();
4389 #line 1588 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4392 Music *key = MY_MAKE_MUSIC ("KeyChangeEvent", (yyloc));
4393 if (scm_ilength ((yyvsp[(3) - (3)].scm)) > 0)
4395 key->set_property ("pitch-alist", (yyvsp[(3) - (3)].scm));
4396 key->set_property ("tonic", Pitch (0, 0, 0).smobbed_copy ());
4397 key->transpose (* unsmob_pitch ((yyvsp[(2) - (3)].scm)));
4399 PARSER->parser_error ((yylsp[(3) - (3)]), _ ("second argument must be pitch list"));
4402 (yyval.scm) = key->unprotect ();
4407 #line 1606 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4409 (yyval.scm) = SCM_EOL;
4414 #line 1609 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4416 unsmob_music ((yyvsp[(2) - (2)].scm))->set_spot ((yylsp[(2) - (2)]));
4417 (yyval.scm) = scm_cons ((yyvsp[(2) - (2)].scm), (yyval.scm));
4422 #line 1616 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4424 (yyval.scm) = (yyvsp[(1) - (1)].scm);
4429 #line 1619 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4431 (yyval.scm) = run_music_function (PARSER, (yyvsp[(2) - (2)].scm));
4436 #line 1622 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4438 if (!PARSER->lexer_->is_lyric_state ())
4439 PARSER->parser_error ((yylsp[(1) - (1)]), _ ("have to be in Lyric mode for lyrics"));
4440 (yyval.scm) = MY_MAKE_MUSIC ("HyphenEvent", (yyloc))->unprotect ();
4445 #line 1627 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4447 if (!PARSER->lexer_->is_lyric_state ())
4448 PARSER->parser_error ((yylsp[(1) - (1)]), _ ("have to be in Lyric mode for lyrics"));
4449 (yyval.scm) = MY_MAKE_MUSIC ("ExtenderEvent", (yyloc))->unprotect ();
4454 #line 1632 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4456 if ((yyvsp[(1) - (2)].i))
4458 Music *m = unsmob_music ((yyvsp[(2) - (2)].scm));
4459 m->set_property ("direction", scm_from_int ((yyvsp[(1) - (2)].i)));
4461 (yyval.scm) = (yyvsp[(2) - (2)].scm);
4466 #line 1640 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4468 if ((yyvsp[(1) - (2)].i))
4470 Music *m = unsmob_music ((yyvsp[(2) - (2)].scm));
4471 m->set_property ("direction", scm_from_int ((yyvsp[(1) - (2)].i)));
4473 (yyval.scm) = (yyvsp[(2) - (2)].scm);
4478 #line 1652 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4480 Music *s = MY_MAKE_MUSIC ("StringNumberEvent", (yyloc));
4481 s->set_property ("string-number", scm_from_int ((yyvsp[(1) - (1)].i)));
4482 (yyval.scm) = s->unprotect ();
4487 #line 1660 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4489 (yyval.scm) = ly_symbol2scm ("bracketOpenSymbol");
4494 #line 1663 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4496 (yyval.scm) = ly_symbol2scm ("bracketCloseSymbol");
4501 #line 1666 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4503 (yyval.scm) = ly_symbol2scm ("tildeSymbol");
4508 #line 1669 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4510 (yyval.scm) = ly_symbol2scm ("parenthesisOpenSymbol");
4515 #line 1672 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4517 (yyval.scm) = ly_symbol2scm ("parenthesisCloseSymbol");
4522 #line 1675 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4524 (yyval.scm) = ly_symbol2scm ("escapedExclamationSymbol");
4529 #line 1678 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4531 (yyval.scm) = ly_symbol2scm ("escapedParenthesisOpenSymbol");
4536 #line 1681 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4538 (yyval.scm) = ly_symbol2scm ("escapedParenthesisCloseSymbol");
4543 #line 1684 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4545 (yyval.scm) = ly_symbol2scm ("escapedBiggerSymbol");
4550 #line 1687 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4552 (yyval.scm) = ly_symbol2scm ("escapedSmallerSymbol");
4557 #line 1693 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4559 SCM predefd = PARSER->lexer_->lookup_identifier_symbol ((yyvsp[(1) - (1)].scm));
4561 if (unsmob_music (predefd))
4563 m = unsmob_music (predefd)->clone ();
4564 m->set_spot ((yyloc));
4568 m = MY_MAKE_MUSIC ("Music", (yyloc));
4570 (yyval.scm) = m->unprotect ();
4575 #line 1707 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4577 (yyval.scm) = (yyvsp[(1) - (1)].scm);
4582 #line 1710 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4584 Music *a = MY_MAKE_MUSIC ("TremoloEvent", (yyloc));
4585 a->set_property ("tremolo-type", scm_from_int ((yyvsp[(1) - (1)].i)));
4586 (yyval.scm) = a->unprotect ();
4591 #line 1718 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4593 (yyval.scm) = (yyvsp[(1) - (1)].scm);
4598 #line 1721 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4600 SCM s = PARSER->lexer_->lookup_identifier ("dash" + ly_scm2string ((yyvsp[(1) - (1)].scm)));
4601 Music *a = MY_MAKE_MUSIC ("ArticulationEvent", (yyloc));
4602 if (scm_is_string (s))
4603 a->set_property ("articulation-type", s);
4604 else PARSER->parser_error ((yylsp[(1) - (1)]), _ ("expecting string as script definition"));
4605 (yyval.scm) = a->unprotect ();
4610 #line 1732 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4611 { (yyval.scm) = SCM_EOL; ;}
4615 #line 1733 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4616 { (yyval.scm) = scm_from_int (0); ;}
4620 #line 1734 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4621 { (yyval.scm) = scm_from_int (-(yyvsp[(2) - (2)].i)); ;}
4625 #line 1735 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4626 { (yyval.scm) = scm_from_int ((yyvsp[(2) - (2)].i)); ;}
4630 #line 1739 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4637 #line 1742 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4644 #line 1748 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4651 #line 1751 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4658 #line 1757 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4660 (yyval.scm) = (yyvsp[(1) - (1)].scm);
4665 #line 1760 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4667 Pitch p = *unsmob_pitch ((yyvsp[(1) - (2)].scm));
4668 p = p.transposed (Pitch ((yyvsp[(2) - (2)].i),0,0));
4669 (yyval.scm) = p.smobbed_copy ();
4674 #line 1765 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4676 Pitch p =* unsmob_pitch ((yyvsp[(1) - (2)].scm));
4677 p = p.transposed (Pitch (-(yyvsp[(2) - (2)].i),0,0));
4678 (yyval.scm) = p.smobbed_copy ();
4683 #line 1777 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4685 (yyval.scm) = (yyvsp[(1) - (1)].scm);
4690 #line 1780 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4692 Pitch p = *unsmob_pitch ((yyvsp[(1) - (2)].scm));
4693 p = p.transposed (Pitch ((yyvsp[(2) - (2)].i),0,0));
4694 (yyval.scm) = p.smobbed_copy ();
4699 #line 1785 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4701 Pitch p = *unsmob_pitch ((yyvsp[(1) - (2)].scm));
4703 p = p.transposed (Pitch (-(yyvsp[(2) - (2)].i),0,0));
4704 (yyval.scm) = p.smobbed_copy ();
4709 #line 1794 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4711 (yyval.scm) = (yyvsp[(1) - (1)].scm);
4716 #line 1805 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4718 Music *t = MY_MAKE_MUSIC ("TextScriptEvent", (yyloc));
4719 t->set_property ("text", (yyvsp[(1) - (1)].scm));
4720 (yyval.scm) = t->unprotect ();
4725 #line 1810 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4727 Music *t = MY_MAKE_MUSIC ("TextScriptEvent", (yyloc));
4728 t->set_property ("text",
4729 make_simple_markup ((yyvsp[(1) - (1)].scm)));
4730 (yyval.scm) = t->unprotect ();
4735 #line 1816 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4737 Music *t = MY_MAKE_MUSIC ("FingeringEvent", (yyloc));
4738 t->set_property ("digit", scm_from_int ((yyvsp[(1) - (1)].i)));
4739 (yyval.scm) = t->unprotect ();
4744 #line 1824 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4746 (yyval.scm) = scm_from_locale_string ("Hat");
4751 #line 1827 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4753 (yyval.scm) = scm_from_locale_string ("Plus");
4758 #line 1830 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4760 (yyval.scm) = scm_from_locale_string ("Dash");
4765 #line 1833 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4767 (yyval.scm) = scm_from_locale_string ("Bar");
4772 #line 1836 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4774 (yyval.scm) = scm_from_locale_string ("Larger");
4779 #line 1839 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4781 (yyval.scm) = scm_from_locale_string ("Dot");
4786 #line 1842 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4788 (yyval.scm) = scm_from_locale_string ("Underscore");
4793 #line 1848 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4794 { (yyval.i) = DOWN; ;}
4798 #line 1849 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4799 { (yyval.i) = UP; ;}
4803 #line 1850 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4804 { (yyval.i) = CENTER; ;}
4808 #line 1855 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4810 (yyval.scm) = (yyvsp[(1) - (1)].scm);
4815 #line 1861 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4817 (yyval.scm) = (yyvsp[(1) - (1)].scm);
4822 #line 1867 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4824 Duration dd = PARSER->default_duration_;
4825 (yyval.scm) = dd.smobbed_copy ();
4830 #line 1871 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4832 (yyval.scm) = (yyvsp[(1) - (1)].scm);
4833 PARSER->default_duration_ = *unsmob_duration ((yyval.scm));
4838 #line 1878 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4841 if (!is_duration ((yyvsp[(1) - (2)].i)))
4842 PARSER->parser_error ((yylsp[(1) - (2)]), _f ("not a duration: %d", (yyvsp[(1) - (2)].i)));
4844 len = intlog2 ((yyvsp[(1) - (2)].i));
4846 (yyval.scm) = Duration (len, (yyvsp[(2) - (2)].i)).smobbed_copy ();
4851 #line 1887 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4853 Duration *d = unsmob_duration ((yyvsp[(1) - (2)].scm));
4854 Duration k (d->duration_log (), d->dot_count () + (yyvsp[(2) - (2)].i));
4856 (yyval.scm) = (yyvsp[(1) - (2)].scm);
4861 #line 1896 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4863 (yyval.scm) = (yyvsp[(1) - (1)].scm);
4868 #line 1899 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4870 (yyval.scm) = unsmob_duration ((yyval.scm))->compressed ( (yyvsp[(3) - (3)].i)) .smobbed_copy ();
4875 #line 1902 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4877 Rational m (scm_to_int (scm_car ((yyvsp[(3) - (3)].scm))), scm_to_int (scm_cdr ((yyvsp[(3) - (3)].scm))));
4879 (yyval.scm) = unsmob_duration ((yyval.scm))->compressed (m).smobbed_copy ();
4884 #line 1910 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4885 { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
4889 #line 1911 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4891 (yyval.scm) = scm_cons (scm_from_int ((yyvsp[(1) - (3)].i)), scm_from_int ((yyvsp[(3) - (3)].i)));
4896 #line 1917 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4903 #line 1920 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4910 #line 1926 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4917 #line 1929 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4919 if (!is_duration ((yyvsp[(2) - (2)].i)))
4920 PARSER->parser_error ((yylsp[(2) - (2)]), _f ("not a duration: %d", (yyvsp[(2) - (2)].i)));
4921 (yyval.i) = (yyvsp[(2) - (2)].i);
4926 #line 1937 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4928 (yyval.scm) = scm_from_int ((yyvsp[(1) - (1)].i));
4933 #line 1940 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4935 (yyval.scm) = scm_from_int ((yyvsp[(1) - (1)].i));
4940 #line 1943 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4941 { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
4945 #line 1944 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4946 { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
4950 #line 1948 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4951 { (yyval.scm) = ly_rational2scm (FLAT_ALTERATION); ;}
4955 #line 1949 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4956 { (yyval.scm) = ly_rational2scm (SHARP_ALTERATION); ;}
4960 #line 1950 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4961 { (yyval.scm) = scm_from_int (0); ;}
4965 #line 1954 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4967 Music *bfr = MY_MAKE_MUSIC ("BassFigureEvent", (yyloc));
4968 (yyval.scm) = bfr->unprotect ();
4973 #line 1958 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4975 Music *bfr = MY_MAKE_MUSIC ("BassFigureEvent", (yyloc));
4976 (yyval.scm) = bfr->self_scm ();
4978 if (scm_is_number ((yyvsp[(1) - (1)].scm)))
4979 bfr->set_property ("figure", (yyvsp[(1) - (1)].scm));
4980 else if (Text_interface::is_markup ((yyvsp[(1) - (1)].scm)))
4981 bfr->set_property ("text", (yyvsp[(1) - (1)].scm));
4988 #line 1969 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4990 (yyval.scm) = (yyvsp[(1) - (2)].scm);
4991 unsmob_music ((yyvsp[(1) - (2)].scm))->set_property ("bracket-stop", SCM_BOOL_T);
4996 #line 1973 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
4998 Music *m = unsmob_music ((yyvsp[(1) - (2)].scm));
4999 if (scm_to_double ((yyvsp[(2) - (2)].scm))) {
5000 SCM salter = m->get_property ("alteration");
5001 SCM alter = scm_is_number (salter) ? salter : scm_from_int (0);
5002 m->set_property ("alteration",
5003 scm_sum (alter, (yyvsp[(2) - (2)].scm)));
5005 m->set_property ("alteration", scm_from_int (0));
5011 #line 1984 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5013 Music *m = unsmob_music ((yyvsp[(1) - (2)].scm));
5014 if ((yyvsp[(2) - (2)].scm) == ly_symbol2scm ("plus"))
5016 m->set_property ("augmented", SCM_BOOL_T);
5018 else if ((yyvsp[(2) - (2)].scm) == ly_symbol2scm ("slash"))
5020 m->set_property ("diminished", SCM_BOOL_T);
5022 else if ((yyvsp[(2) - (2)].scm) == ly_symbol2scm ("exclamation"))
5024 m->set_property ("no-continuation", SCM_BOOL_T);
5026 else if ((yyvsp[(2) - (2)].scm) == ly_symbol2scm ("backslash"))
5028 m->set_property ("augmented-slash", SCM_BOOL_T);
5034 #line 2007 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5036 (yyval.scm) = ly_symbol2scm ("plus");
5041 #line 2010 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5043 (yyval.scm) = ly_symbol2scm ("exclamation");
5048 #line 2013 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5050 (yyval.scm) = ly_symbol2scm ("slash");
5055 #line 2016 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5057 (yyval.scm) = ly_symbol2scm ("backslash");
5062 #line 2022 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5064 (yyval.scm) = (yyvsp[(1) - (1)].scm);
5069 #line 2025 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5071 (yyval.scm) = (yyvsp[(2) - (2)].scm);
5072 unsmob_music ((yyval.scm))->set_property ("bracket-start", SCM_BOOL_T);
5077 #line 2032 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5079 (yyval.scm) = SCM_EOL;
5084 #line 2035 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5086 (yyval.scm) = scm_cons ((yyvsp[(2) - (2)].scm), (yyvsp[(1) - (2)].scm));
5091 #line 2041 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5093 (yyval.scm) = scm_reverse_x ((yyvsp[(2) - (3)].scm), SCM_EOL);
5098 #line 2048 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5103 #line 2049 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5108 #line 2053 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5110 if (!PARSER->lexer_->is_note_state ())
5111 PARSER->parser_error ((yylsp[(1) - (6)]), _ ("have to be in Note mode for notes"));
5114 if ((yyvsp[(6) - (6)].i))
5115 n = MY_MAKE_MUSIC ("RestEvent", (yyloc));
5117 n = MY_MAKE_MUSIC ("NoteEvent", (yyloc));
5119 n->set_property ("pitch", (yyvsp[(1) - (6)].scm));
5120 n->set_property ("duration", (yyvsp[(5) - (6)].scm));
5122 if (scm_is_number ((yyvsp[(4) - (6)].scm)))
5124 int q = scm_to_int ((yyvsp[(4) - (6)].scm));
5125 n->set_property ("absolute-octave", scm_from_int (q-1));
5128 if ((yyvsp[(3) - (6)].i) % 2)
5129 n->set_property ("cautionary", SCM_BOOL_T);
5130 if ((yyvsp[(2) - (6)].i) % 2 || (yyvsp[(3) - (6)].i) % 2)
5131 n->set_property ("force-accidental", SCM_BOOL_T);
5133 (yyval.scm) = n->unprotect ();
5138 #line 2079 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5140 Music *n = MY_MAKE_MUSIC ("NoteEvent", (yyloc));
5141 n->set_property ("duration", (yyvsp[(2) - (2)].scm));
5142 n->set_property ("drum-type", (yyvsp[(1) - (2)].scm));
5144 (yyval.scm) = n->unprotect ();
5149 #line 2086 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5152 if (ly_scm2string ((yyvsp[(1) - (2)].scm)) == "s") {
5154 ev = MY_MAKE_MUSIC ("SkipEvent", (yyloc));
5157 ev = MY_MAKE_MUSIC ("RestEvent", (yyloc));
5160 ev->set_property ("duration", (yyvsp[(2) - (2)].scm));
5161 (yyval.scm) = ev->unprotect ();
5166 #line 2099 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5168 if (!PARSER->lexer_->is_lyric_state ())
5169 PARSER->parser_error ((yylsp[(1) - (2)]), _ ("have to be in Lyric mode for lyrics"));
5171 Music *levent = MY_MAKE_MUSIC ("LyricEvent", (yyloc));
5172 levent->set_property ("text", (yyvsp[(1) - (2)].scm));
5173 levent->set_property ("duration",(yyvsp[(2) - (2)].scm));
5174 (yyval.scm)= levent->unprotect ();
5179 #line 2111 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5181 (yyval.scm) = scm_list_1 ((yyvsp[(1) - (1)].scm));
5186 #line 2114 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5188 if (!PARSER->lexer_->is_chord_state ())
5189 PARSER->parser_error ((yylsp[(1) - (1)]), _ ("have to be in Chord mode for chords"));
5190 (yyval.scm) = (yyvsp[(1) - (1)].scm);
5195 #line 2119 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5197 for (SCM s = (yyvsp[(1) - (2)].scm); scm_is_pair (s); s = scm_cdr (s))
5199 unsmob_music (scm_car (s))->set_property ("duration", (yyvsp[(2) - (2)].scm));
5201 (yyval.scm) = (yyvsp[(1) - (2)].scm);
5206 #line 2129 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5208 (yyval.scm) = (yyvsp[(1) - (1)].scm);
5213 #line 2132 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5215 (yyval.scm) = (yyvsp[(1) - (1)].scm);
5220 #line 2138 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5222 (yyval.scm) = make_chord_elements ((yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm), SCM_EOL);
5227 #line 2141 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5229 SCM its = scm_reverse_x ((yyvsp[(4) - (4)].scm), SCM_EOL);
5230 (yyval.scm) = make_chord_elements ((yyvsp[(1) - (4)].scm), (yyvsp[(2) - (4)].scm), scm_cons ((yyvsp[(3) - (4)].scm), its));
5235 #line 2148 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5237 (yyval.scm) = SCM_EOL;
5242 #line 2151 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5244 (yyval.scm) = scm_cons ((yyvsp[(2) - (2)].scm), (yyval.scm));
5249 #line 2157 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5251 (yyval.scm) = ly_symbol2scm ("chord-colon");
5256 #line 2160 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5258 (yyval.scm) = ly_symbol2scm ("chord-caret");
5263 #line 2163 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5265 (yyval.scm) = scm_list_2 (ly_symbol2scm ("chord-slash"), (yyvsp[(2) - (2)].scm));
5270 #line 2166 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5272 (yyval.scm) = scm_list_2 (ly_symbol2scm ("chord-bass"), (yyvsp[(2) - (2)].scm));
5277 #line 2172 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5279 (yyval.scm) = (yyvsp[(1) - (1)].scm);
5284 #line 2175 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5286 (yyval.scm) = scm_reverse_x ((yyvsp[(1) - (1)].scm), SCM_EOL);
5291 #line 2178 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5293 (yyval.scm) = (yyvsp[(1) - (1)].scm);
5298 #line 2184 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5299 { (yyval.scm) = scm_cons ((yyvsp[(1) - (1)].scm), SCM_EOL); ;}
5303 #line 2185 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5305 (yyval.scm) = scm_cons ((yyvsp[(3) - (3)].scm), (yyval.scm));
5310 #line 2191 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5312 (yyval.scm) = make_chord_step ((yyvsp[(1) - (1)].i), 0);
5317 #line 2194 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5319 (yyval.scm) = make_chord_step ((yyvsp[(1) - (2)].i), SHARP_ALTERATION);
5324 #line 2197 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5326 (yyval.scm) = make_chord_step ((yyvsp[(1) - (2)].i), FLAT_ALTERATION);
5331 #line 2209 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5333 (yyval.scm) = scm_sum ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
5338 #line 2212 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5340 (yyval.scm) = scm_difference ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
5345 #line 2219 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5347 (yyval.scm) = (yyvsp[(1) - (1)].scm);
5352 #line 2222 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5354 (yyval.scm) = scm_product ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
5359 #line 2225 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5361 (yyval.scm) = scm_divide ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
5366 #line 2231 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5367 { /* %prec UNARY_MINUS */
5368 (yyval.scm) = scm_difference ((yyvsp[(2) - (2)].scm), SCM_UNDEFINED);
5373 #line 2239 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5375 (yyval.scm) = scm_from_int ((yyvsp[(1) - (1)].i));
5380 #line 2242 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5382 (yyval.scm) = (yyvsp[(1) - (1)].scm);
5387 #line 2245 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5389 (yyval.scm) = (yyvsp[(1) - (1)].scm);
5394 #line 2248 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5396 (yyval.scm) = scm_from_double (scm_to_double ((yyvsp[(1) - (2)].scm)) *scm_to_double ((yyvsp[(2) - (2)].scm)));
5401 #line 2251 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5403 (yyval.scm) = scm_from_double ((yyvsp[(1) - (2)].i) *scm_to_double ((yyvsp[(2) - (2)].scm)));
5408 #line 2258 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5410 (yyval.i) = (yyvsp[(1) - (1)].i);
5415 #line 2261 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5417 (yyval.i) = (yyvsp[(1) - (1)].i);
5422 #line 2267 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5423 { (yyval.scm) = scm_from_int ((yyvsp[(1) - (1)].i)); ;}
5427 #line 2268 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5429 (yyval.scm) = (yyvsp[(1) - (1)].scm);
5434 #line 2275 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5439 #line 2276 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5444 #line 2280 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5449 #line 2281 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5454 #line 2289 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5456 (yyval.scm) = (yyvsp[(1) - (1)].scm);
5461 #line 2293 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5462 { PARSER->lexer_->push_markup_state (); ;}
5466 #line 2294 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5468 (yyval.scm) = (yyvsp[(3) - (3)].scm);
5469 PARSER->lexer_->pop_state ();
5474 #line 2302 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5475 { PARSER->lexer_->push_markup_state (); ;}
5479 #line 2303 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5481 (yyval.scm) = (yyvsp[(3) - (3)].scm);
5482 PARSER->lexer_->pop_state ();
5487 #line 2310 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5489 (yyval.scm) = (yyvsp[(1) - (1)].scm);
5494 #line 2314 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5495 { PARSER->lexer_->push_markup_state (); ;}
5499 #line 2315 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5501 (yyval.scm) = (yyvsp[(3) - (3)].scm);
5502 PARSER->lexer_->pop_state ();
5507 #line 2322 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5509 (yyval.scm) = scm_list_2 (ly_lily_module_constant ("line-markup"), (yyvsp[(1) - (1)].scm));
5514 #line 2325 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5516 (yyval.scm) = scm_car (scm_call_2 (ly_lily_module_constant ("map-markup-command-list"), (yyvsp[(1) - (2)].scm), scm_list_1 ((yyvsp[(2) - (2)].scm))));
5521 #line 2328 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5523 (yyval.scm) = (yyvsp[(1) - (1)].scm);
5528 #line 2334 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5530 (yyval.scm) = (yyvsp[(1) - (1)].scm);
5535 #line 2337 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5537 (yyval.scm) = (yyvsp[(1) - (1)].scm);
5542 #line 2340 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5544 (yyval.scm) = scm_list_1 ((yyvsp[(1) - (1)].scm));
5549 #line 2346 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5551 (yyval.scm) = scm_call_2 (ly_lily_module_constant ("map-markup-command-list"), (yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm));
5557 #line 2353 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5559 (yyval.scm) = scm_reverse_x ((yyvsp[(2) - (3)].scm), SCM_EOL);
5564 #line 2359 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5565 { (yyval.scm) = SCM_EOL; ;}
5569 #line 2360 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5571 (yyval.scm) = scm_cons ((yyvsp[(2) - (2)].scm), (yyvsp[(1) - (2)].scm));
5576 #line 2363 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5578 (yyval.scm) = scm_append_x (scm_list_2 (scm_reverse_x ((yyvsp[(2) - (2)].scm), SCM_EOL), (yyvsp[(1) - (2)].scm)));
5583 #line 2369 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5585 (yyval.scm) = scm_list_1 ((yyvsp[(1) - (1)].scm));
5590 #line 2372 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5592 (yyval.scm) = scm_list_2 ((yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm));
5597 #line 2375 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5599 (yyval.scm) = scm_list_2 ((yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm));
5604 #line 2378 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5606 (yyval.scm) = scm_list_3 ((yyvsp[(1) - (3)].scm), (yyvsp[(2) - (3)].scm), (yyvsp[(3) - (3)].scm));
5611 #line 2381 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5613 (yyval.scm) = scm_list_4 ((yyvsp[(1) - (4)].scm), (yyvsp[(2) - (4)].scm), (yyvsp[(3) - (4)].scm), (yyvsp[(4) - (4)].scm));
5618 #line 2387 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5620 (yyval.scm) = scm_list_1 ((yyvsp[(1) - (1)].scm));
5625 #line 2390 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5627 (yyval.scm) = scm_list_2 ((yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm));
5632 #line 2393 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5634 (yyval.scm) = scm_list_3 ((yyvsp[(1) - (3)].scm), (yyvsp[(2) - (3)].scm), (yyvsp[(3) - (3)].scm));
5639 #line 2399 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5641 (yyval.scm) = scm_list_1 ((yyvsp[(1) - (1)].scm));
5646 #line 2402 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5648 (yyval.scm) = scm_cons ((yyvsp[(2) - (2)].scm), (yyvsp[(1) - (2)].scm));
5653 #line 2408 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5655 (yyval.scm) = make_simple_markup ((yyvsp[(1) - (1)].scm));
5660 #line 2411 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5662 (yyval.scm) = (yyvsp[(1) - (1)].scm);
5667 #line 2414 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5669 (yyval.scm) = (yyvsp[(1) - (1)].scm);
5674 #line 2417 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5676 (yyval.scm) = (yyvsp[(1) - (1)].scm);
5681 #line 2420 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5683 SCM nn = PARSER->lexer_->lookup_identifier ("pitchnames");
5684 PARSER->lexer_->push_note_state (alist_to_hashq (nn));
5689 #line 2423 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5691 Score * sc = (yyvsp[(4) - (5)].score);
5692 (yyval.scm) = scm_list_2 (ly_lily_module_constant ("score-markup"), sc->self_scm ());
5694 PARSER->lexer_->pop_state ();
5699 #line 2429 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5701 (yyval.scm) = scm_list_2 ((yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm));
5706 #line 2432 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5708 (yyval.scm) = scm_list_4 ((yyvsp[(1) - (4)].scm), (yyvsp[(2) - (4)].scm), (yyvsp[(3) - (4)].scm), (yyvsp[(4) - (4)].scm));
5713 #line 2435 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5715 (yyval.scm) = scm_list_3 ((yyvsp[(1) - (3)].scm), (yyvsp[(2) - (3)].scm), (yyvsp[(3) - (3)].scm));
5720 #line 2438 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5722 (yyval.scm) = scm_list_4 ((yyvsp[(1) - (4)].scm), (yyvsp[(2) - (4)].scm), (yyvsp[(3) - (4)].scm), (yyvsp[(4) - (4)].scm));
5727 #line 2441 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5729 (yyval.scm) = scm_list_5 ((yyvsp[(1) - (5)].scm), (yyvsp[(2) - (5)].scm), (yyvsp[(3) - (5)].scm), (yyvsp[(4) - (5)].scm), (yyvsp[(5) - (5)].scm));
5734 #line 2444 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5736 (yyval.scm) = scm_list_1 ((yyvsp[(1) - (1)].scm));
5741 #line 2447 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5743 (yyval.scm) = scm_list_2 ((yyvsp[(1) - (2)].scm),(yyvsp[(2) - (2)].scm));
5748 #line 2450 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5750 (yyval.scm) = scm_list_3 ((yyvsp[(1) - (3)].scm), (yyvsp[(2) - (3)].scm), (yyvsp[(3) - (3)].scm));
5755 #line 2456 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5757 SCM mapper = ly_lily_module_constant ("map-markup-command-list");
5758 (yyval.scm) = scm_car (scm_call_2 (mapper, (yyvsp[(1) - (2)].scm), scm_list_1 ((yyvsp[(2) - (2)].scm))));
5763 #line 2460 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5765 (yyval.scm) = (yyvsp[(1) - (1)].scm);
5770 /* Line 1267 of yacc.c. */
5771 #line 5772 "out/parser.cc"
5774 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
5778 YY_STACK_PRINT (yyss, yyssp);
5783 /* Now `shift' the result of the reduction. Determine what state
5784 that goes to, based on the state we popped back to and the rule
5785 number reduced by. */
5789 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
5790 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
5791 yystate = yytable[yystate];
5793 yystate = yydefgoto[yyn - YYNTOKENS];
5798 /*------------------------------------.
5799 | yyerrlab -- here on detecting error |
5800 `------------------------------------*/
5802 /* If not already recovering from an error, report this error. */
5806 #if ! YYERROR_VERBOSE
5807 yyerror (YY_("syntax error"));
5810 YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
5811 if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
5813 YYSIZE_T yyalloc = 2 * yysize;
5814 if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
5815 yyalloc = YYSTACK_ALLOC_MAXIMUM;
5816 if (yymsg != yymsgbuf)
5817 YYSTACK_FREE (yymsg);
5818 yymsg = (char *) YYSTACK_ALLOC (yyalloc);
5820 yymsg_alloc = yyalloc;
5824 yymsg_alloc = sizeof yymsgbuf;
5828 if (0 < yysize && yysize <= yymsg_alloc)
5830 (void) yysyntax_error (yymsg, yystate, yychar);
5835 yyerror (YY_("syntax error"));
5837 goto yyexhaustedlab;
5843 yyerror_range[0] = yylloc;
5845 if (yyerrstatus == 3)
5847 /* If just tried and failed to reuse look-ahead token after an
5848 error, discard it. */
5850 if (yychar <= YYEOF)
5852 /* Return failure if at end of input. */
5853 if (yychar == YYEOF)
5858 yydestruct ("Error: discarding",
5859 yytoken, &yylval, &yylloc);
5864 /* Else will try to reuse look-ahead token after shifting the error
5869 /*---------------------------------------------------.
5870 | yyerrorlab -- error raised explicitly by YYERROR. |
5871 `---------------------------------------------------*/
5874 /* Pacify compilers like GCC when the user code never invokes
5875 YYERROR and the label yyerrorlab therefore never appears in user
5877 if (/*CONSTCOND*/ 0)
5880 yyerror_range[0] = yylsp[1-yylen];
5881 /* Do not reclaim the symbols of the rule which action triggered
5885 YY_STACK_PRINT (yyss, yyssp);
5890 /*-------------------------------------------------------------.
5891 | yyerrlab1 -- common code for both syntax error and YYERROR. |
5892 `-------------------------------------------------------------*/
5894 yyerrstatus = 3; /* Each real token shifted decrements this. */
5898 yyn = yypact[yystate];
5899 if (yyn != YYPACT_NINF)
5902 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
5910 /* Pop the current state because it cannot handle the error token. */
5914 yyerror_range[0] = *yylsp;
5915 yydestruct ("Error: popping",
5916 yystos[yystate], yyvsp, yylsp);
5919 YY_STACK_PRINT (yyss, yyssp);
5927 yyerror_range[1] = yylloc;
5928 /* Using YYLLOC is tempting, but would change the location of
5929 the look-ahead. YYLOC is available though. */
5930 YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2);
5933 /* Shift the error token. */
5934 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
5940 /*-------------------------------------.
5941 | yyacceptlab -- YYACCEPT comes here. |
5942 `-------------------------------------*/
5947 /*-----------------------------------.
5948 | yyabortlab -- YYABORT comes here. |
5949 `-----------------------------------*/
5955 /*-------------------------------------------------.
5956 | yyexhaustedlab -- memory exhaustion comes here. |
5957 `-------------------------------------------------*/
5959 yyerror (YY_("memory exhausted"));
5965 if (yychar != YYEOF && yychar != YYEMPTY)
5966 yydestruct ("Cleanup: discarding lookahead",
5967 yytoken, &yylval, &yylloc);
5968 /* Do not reclaim the symbols of the rule which action triggered
5969 this YYABORT or YYACCEPT. */
5971 YY_STACK_PRINT (yyss, yyssp);
5972 while (yyssp != yyss)
5974 yydestruct ("Cleanup: popping",
5975 yystos[*yyssp], yyvsp, yylsp);
5980 YYSTACK_FREE (yyss);
5983 if (yymsg != yymsgbuf)
5984 YYSTACK_FREE (yymsg);
5986 /* Make sure YYID is used. */
5987 return YYID (yyresult);
5991 #line 2465 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
5995 Lily_parser::set_yydebug (bool x)
6001 Lily_parser::do_yyparse ()
6003 yyparse ((void*)this);
6012 It is a little strange to have this function in this file, but
6013 otherwise, we have to import music classes into the lexer.
6017 Lily_lexer::try_special_identifiers (SCM *destination, SCM sid)
6019 if (scm_is_string (sid)) {
6021 return STRING_IDENTIFIER;
6022 } else if (unsmob_book (sid)) {
6023 Book *book = unsmob_book (sid)->clone ();
6024 *destination = book->self_scm ();
6027 return BOOK_IDENTIFIER;
6028 } else if (scm_is_number (sid)) {
6030 return NUMBER_IDENTIFIER;
6031 } else if (unsmob_context_def (sid)) {
6032 Context_def *def= unsmob_context_def (sid)->clone ();
6034 *destination = def->self_scm ();
6037 return CONTEXT_DEF_IDENTIFIER;
6038 } else if (unsmob_score (sid)) {
6039 Score *score = new Score (*unsmob_score (sid));
6040 *destination = score->self_scm ();
6042 score->unprotect ();
6043 return SCORE_IDENTIFIER;
6044 } else if (Music *mus = unsmob_music (sid)) {
6045 mus = mus->clone ();
6046 *destination = mus->self_scm ();
6047 unsmob_music (*destination)->
6048 set_property ("origin", make_input (last_input_));
6050 bool is_event = scm_memq (ly_symbol2scm ("event"), mus->get_property ("types"))
6054 return is_event ? EVENT_IDENTIFIER : MUSIC_IDENTIFIER;
6055 } else if (unsmob_duration (sid)) {
6056 *destination = unsmob_duration (sid)->smobbed_copy ();
6057 return DURATION_IDENTIFIER;
6058 } else if (unsmob_output_def (sid)) {
6059 Output_def *p = unsmob_output_def (sid);
6062 *destination = p->self_scm ();
6064 return OUTPUT_DEF_IDENTIFIER;
6065 } else if (Text_interface::is_markup (sid)) {
6067 if (is_lyric_state ())
6068 return LYRIC_MARKUP_IDENTIFIER;
6069 return MARKUP_IDENTIFIER;
6076 get_next_unique_context_id ()
6078 return scm_from_locale_string ("$uniqueContextId");
6083 get_next_unique_lyrics_context_id ()
6085 static int new_context_count;
6087 snprintf (s, sizeof (s)-1, "uniqueContext%d", new_context_count++);
6088 return scm_from_locale_string (s);
6093 run_music_function (Lily_parser *parser, SCM expr)
6095 SCM func = scm_car (expr);
6096 Input *loc = unsmob_input (scm_cadr (expr));
6097 SCM args = scm_cddr (expr);
6098 SCM sig = scm_object_property (func, ly_symbol2scm ("music-function-signature"));
6100 SCM type_check_proc = ly_lily_module_constant ("type-check-list");
6102 if (!to_boolean (scm_call_3 (type_check_proc, scm_cadr (expr), sig, args)))
6104 parser->error_level_ = 1;
6105 return LOWLEVEL_MAKE_SYNTAX (ly_lily_module_constant ("void-music"), scm_list_2 (parser->self_scm (), make_input (*loc)));
6108 SCM syntax_args = scm_list_4 (parser->self_scm (), make_input (*loc), func, args);
6109 return LOWLEVEL_MAKE_SYNTAX (ly_lily_module_constant ("music-function"), syntax_args);
6113 is_regular_identifier (SCM id)
6115 string str = ly_scm2string (id);
6116 char const *s = str.c_str ();
6125 v = v && isalnum (*s);
6132 make_music_with_input (SCM name, Input where)
6134 Music *m = make_music_by_name (name);
6135 m->set_spot (where);
6140 get_first_context_id (SCM type, Music *m)
6142 SCM id = m->get_property ("context-id");
6143 if (SCM_BOOL_T == scm_equal_p (m->get_property ("context-type"), type)
6144 && scm_is_string (m->get_property ("context-id"))
6145 && scm_c_string_length (id) > 0)
6153 make_simple_markup (SCM a)
6161 return t && t == 1 << intlog2 (t);
6165 set_music_properties (Music *p, SCM a)
6167 for (SCM k = a; scm_is_pair (k); k = scm_cdr (k))
6168 p->set_property (scm_caar (k), scm_cdar (k));
6173 make_chord_step (int step, Rational alter)
6176 alter += FLAT_ALTERATION;
6180 Pitch m ((step -1) / 7, (step - 1) % 7, alter);
6181 return m.smobbed_copy ();
6186 make_chord_elements (SCM pitch, SCM dur, SCM modification_list)
6188 SCM chord_ctor = ly_lily_module_constant ("construct-chord-elements");
6189 return scm_call_3 (chord_ctor, pitch, dur, modification_list);
6193 /* Todo: actually also use apply iso. call too ... */
6195 ly_input_procedure_p (SCM x)
6197 return ly_is_procedure (x)
6198 || (scm_is_pair (x) && ly_is_procedure (scm_car (x)));
6202 make_music_relative (Pitch start, SCM music, Input loc)
6204 Music *relative = MY_MAKE_MUSIC ("RelativeOctaveMusic", loc);
6205 relative->set_property ("element", music);
6207 Music *m = unsmob_music (music);
6208 Pitch last = m->to_relative_octave (start);
6209 if (lily_1_8_relative)
6210 m->set_property ("last-pitch", last.smobbed_copy ());
6211 return relative->unprotect ();
6215 yylex (YYSTYPE *s, YYLTYPE *loc, void *v)
6217 Lily_parser *pars = (Lily_parser*) v;
6218 Lily_lexer *lex = pars->lexer_;
6220 lex->lexval = (void*) s;
6222 lex->prepare_for_next_token ();
6223 return lex->yylex ();