]> git.donarmstrong.com Git - lilypond.git/blob - lily/out/parser.cc
b84e63d987558264a4d219f08ed03a0513b2a820
[lilypond.git] / lily / out / parser.cc
1 /* A Bison parser, made by GNU Bison 2.3.  */
2
3 /* Skeleton implementation for Bison's Yacc-like parsers in C
4
5    Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6    Free Software Foundation, Inc.
7
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)
11    any later version.
12
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.
17
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.  */
22
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.
32
33    This special exception was added by the Free Software Foundation in
34    version 2.2 of Bison.  */
35
36 /* C LALR(1) parser skeleton written by Richard Stallman, by
37    simplifying the original so-called "semantic" parser.  */
38
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.  */
45
46 /* Identify Bison output.  */
47 #define YYBISON 1
48
49 /* Bison version.  */
50 #define YYBISON_VERSION "2.3"
51
52 /* Skeleton name.  */
53 #define YYSKELETON_NAME "yacc.c"
54
55 /* Pure parsers.  */
56 #define YYPURE 1
57
58 /* Using locations.  */
59 #define YYLSP_NEEDED 1
60
61
62
63 /* Tokens.  */
64 #ifndef YYTOKENTYPE
65 # define YYTOKENTYPE
66    /* Put the tokens into the symbol table, so that GDB and other debuggers
67       know about them.  */
68    enum yytokentype {
69      PREC_BOT = 258,
70      REPEAT = 259,
71      ALTERNATIVE = 260,
72      COMPOSITE = 261,
73      ADDLYRICS = 262,
74      DEFAULT = 263,
75      FUNCTION_ARGLIST = 264,
76      DURATION_IDENTIFIER = 265,
77      REAL = 266,
78      UNSIGNED = 267,
79      TONICNAME_PITCH = 268,
80      NOTENAME_PITCH = 269,
81      PITCH_IDENTIFIER = 270,
82      NUMBER_IDENTIFIER = 271,
83      PREC_TOP = 272,
84      ACCEPTS = 273,
85      ALIAS = 274,
86      BOOK = 275,
87      BOOKPART = 276,
88      CHANGE = 277,
89      CHORDMODE = 278,
90      CHORDS = 279,
91      CONSISTS = 280,
92      CONTEXT = 281,
93      DEFAULTCHILD = 282,
94      DENIES = 283,
95      DESCRIPTION = 284,
96      DRUMMODE = 285,
97      DRUMS = 286,
98      FIGUREMODE = 287,
99      FIGURES = 288,
100      HEADER = 289,
101      INVALID = 290,
102      LAYOUT = 291,
103      LYRICMODE = 292,
104      LYRICS = 293,
105      LYRICSTO = 294,
106      MARKUP = 295,
107      MARKUPLIST = 296,
108      MIDI = 297,
109      NAME = 298,
110      NOTEMODE = 299,
111      OVERRIDE = 300,
112      PAPER = 301,
113      REMOVE = 302,
114      REST = 303,
115      REVERT = 304,
116      SCORE = 305,
117      SEQUENTIAL = 306,
118      SET = 307,
119      SIMULTANEOUS = 308,
120      TEMPO = 309,
121      TYPE = 310,
122      UNSET = 311,
123      WITH = 312,
124      NEWCONTEXT = 313,
125      CHORD_BASS = 314,
126      CHORD_CARET = 315,
127      CHORD_COLON = 316,
128      CHORD_MINUS = 317,
129      CHORD_SLASH = 318,
130      ANGLE_OPEN = 319,
131      ANGLE_CLOSE = 320,
132      DOUBLE_ANGLE_OPEN = 321,
133      DOUBLE_ANGLE_CLOSE = 322,
134      E_BACKSLASH = 323,
135      E_ANGLE_CLOSE = 324,
136      E_CHAR = 325,
137      E_CLOSE = 326,
138      E_EXCLAMATION = 327,
139      E_BRACKET_OPEN = 328,
140      E_OPEN = 329,
141      E_BRACKET_CLOSE = 330,
142      E_ANGLE_OPEN = 331,
143      E_PLUS = 332,
144      E_TILDE = 333,
145      EXTENDER = 334,
146      FIGURE_CLOSE = 335,
147      FIGURE_OPEN = 336,
148      FIGURE_SPACE = 337,
149      HYPHEN = 338,
150      CHORDMODIFIERS = 339,
151      LYRIC_MARKUP = 340,
152      MULTI_MEASURE_REST = 341,
153      E_UNSIGNED = 342,
154      EXPECT_MARKUP = 343,
155      EXPECT_PITCH = 344,
156      EXPECT_DURATION = 345,
157      EXPECT_SCM = 346,
158      BACKUP = 347,
159      REPARSE = 348,
160      EXPECT_MARKUP_LIST = 349,
161      EXPECT_OPTIONAL = 350,
162      EXPECT_NO_MORE_ARGS = 351,
163      EMBEDDED_LILY = 352,
164      BOOK_IDENTIFIER = 353,
165      CHORDMODIFIER_PITCH = 354,
166      CHORD_MODIFIER = 355,
167      CHORD_REPETITION = 356,
168      CONTEXT_DEF_IDENTIFIER = 357,
169      CONTEXT_MOD_IDENTIFIER = 358,
170      DRUM_PITCH = 359,
171      EVENT_IDENTIFIER = 360,
172      EVENT_FUNCTION = 361,
173      FRACTION = 362,
174      LYRICS_STRING = 363,
175      LYRIC_ELEMENT = 364,
176      LYRIC_MARKUP_IDENTIFIER = 365,
177      MARKUP_FUNCTION = 366,
178      MARKUP_LIST_FUNCTION = 367,
179      MARKUP_IDENTIFIER = 368,
180      MARKUPLIST_IDENTIFIER = 369,
181      MUSIC_FUNCTION = 370,
182      MUSIC_IDENTIFIER = 371,
183      OUTPUT_DEF_IDENTIFIER = 372,
184      RESTNAME = 373,
185      SCM_FUNCTION = 374,
186      SCM_IDENTIFIER = 375,
187      SCM_TOKEN = 376,
188      SCORE_IDENTIFIER = 377,
189      STRING = 378,
190      STRING_IDENTIFIER = 379,
191      UNARY_MINUS = 380
192    };
193 #endif
194 /* Tokens.  */
195 #define PREC_BOT 258
196 #define REPEAT 259
197 #define ALTERNATIVE 260
198 #define COMPOSITE 261
199 #define ADDLYRICS 262
200 #define DEFAULT 263
201 #define FUNCTION_ARGLIST 264
202 #define DURATION_IDENTIFIER 265
203 #define REAL 266
204 #define UNSIGNED 267
205 #define TONICNAME_PITCH 268
206 #define NOTENAME_PITCH 269
207 #define PITCH_IDENTIFIER 270
208 #define NUMBER_IDENTIFIER 271
209 #define PREC_TOP 272
210 #define ACCEPTS 273
211 #define ALIAS 274
212 #define BOOK 275
213 #define BOOKPART 276
214 #define CHANGE 277
215 #define CHORDMODE 278
216 #define CHORDS 279
217 #define CONSISTS 280
218 #define CONTEXT 281
219 #define DEFAULTCHILD 282
220 #define DENIES 283
221 #define DESCRIPTION 284
222 #define DRUMMODE 285
223 #define DRUMS 286
224 #define FIGUREMODE 287
225 #define FIGURES 288
226 #define HEADER 289
227 #define INVALID 290
228 #define LAYOUT 291
229 #define LYRICMODE 292
230 #define LYRICS 293
231 #define LYRICSTO 294
232 #define MARKUP 295
233 #define MARKUPLIST 296
234 #define MIDI 297
235 #define NAME 298
236 #define NOTEMODE 299
237 #define OVERRIDE 300
238 #define PAPER 301
239 #define REMOVE 302
240 #define REST 303
241 #define REVERT 304
242 #define SCORE 305
243 #define SEQUENTIAL 306
244 #define SET 307
245 #define SIMULTANEOUS 308
246 #define TEMPO 309
247 #define TYPE 310
248 #define UNSET 311
249 #define WITH 312
250 #define NEWCONTEXT 313
251 #define CHORD_BASS 314
252 #define CHORD_CARET 315
253 #define CHORD_COLON 316
254 #define CHORD_MINUS 317
255 #define CHORD_SLASH 318
256 #define ANGLE_OPEN 319
257 #define ANGLE_CLOSE 320
258 #define DOUBLE_ANGLE_OPEN 321
259 #define DOUBLE_ANGLE_CLOSE 322
260 #define E_BACKSLASH 323
261 #define E_ANGLE_CLOSE 324
262 #define E_CHAR 325
263 #define E_CLOSE 326
264 #define E_EXCLAMATION 327
265 #define E_BRACKET_OPEN 328
266 #define E_OPEN 329
267 #define E_BRACKET_CLOSE 330
268 #define E_ANGLE_OPEN 331
269 #define E_PLUS 332
270 #define E_TILDE 333
271 #define EXTENDER 334
272 #define FIGURE_CLOSE 335
273 #define FIGURE_OPEN 336
274 #define FIGURE_SPACE 337
275 #define HYPHEN 338
276 #define CHORDMODIFIERS 339
277 #define LYRIC_MARKUP 340
278 #define MULTI_MEASURE_REST 341
279 #define E_UNSIGNED 342
280 #define EXPECT_MARKUP 343
281 #define EXPECT_PITCH 344
282 #define EXPECT_DURATION 345
283 #define EXPECT_SCM 346
284 #define BACKUP 347
285 #define REPARSE 348
286 #define EXPECT_MARKUP_LIST 349
287 #define EXPECT_OPTIONAL 350
288 #define EXPECT_NO_MORE_ARGS 351
289 #define EMBEDDED_LILY 352
290 #define BOOK_IDENTIFIER 353
291 #define CHORDMODIFIER_PITCH 354
292 #define CHORD_MODIFIER 355
293 #define CHORD_REPETITION 356
294 #define CONTEXT_DEF_IDENTIFIER 357
295 #define CONTEXT_MOD_IDENTIFIER 358
296 #define DRUM_PITCH 359
297 #define EVENT_IDENTIFIER 360
298 #define EVENT_FUNCTION 361
299 #define FRACTION 362
300 #define LYRICS_STRING 363
301 #define LYRIC_ELEMENT 364
302 #define LYRIC_MARKUP_IDENTIFIER 365
303 #define MARKUP_FUNCTION 366
304 #define MARKUP_LIST_FUNCTION 367
305 #define MARKUP_IDENTIFIER 368
306 #define MARKUPLIST_IDENTIFIER 369
307 #define MUSIC_FUNCTION 370
308 #define MUSIC_IDENTIFIER 371
309 #define OUTPUT_DEF_IDENTIFIER 372
310 #define RESTNAME 373
311 #define SCM_FUNCTION 374
312 #define SCM_IDENTIFIER 375
313 #define SCM_TOKEN 376
314 #define SCORE_IDENTIFIER 377
315 #define STRING 378
316 #define STRING_IDENTIFIER 379
317 #define UNARY_MINUS 380
318
319
320
321
322 /* Copy the first part of user declarations.  */
323 #line 30 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
324
325
326 #define yyerror Lily_parser::parser_error
327
328 /* We use custom location type: Input objects */
329 #define YYLTYPE Input
330 #define YYLLOC_DEFAULT(Current,Rhs,N) \
331         ((Current).set_location ((Rhs)[1], (Rhs)[N]))
332
333
334 #line 108 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
335  // -*-Fundamental-*-
336
337 /*
338 FIXME:
339
340    * The rules for who is protecting what are very shady.  Uniformise
341      this.
342
343    * There are too many lexical modes?
344 */
345
346 #include "config.hh"
347
348 #include <cctype>
349 #include <cstdlib>
350 #include <cstdio>
351 using namespace std;
352
353 #include "book.hh"
354 #include "context-def.hh"
355 #include "context-mod.hh"
356 #include "dimensions.hh"
357 #include "file-path.hh"
358 #include "input.hh"
359 #include "international.hh"
360 #include "lily-guile.hh"
361 #include "lily-lexer.hh"
362 #include "lily-parser.hh"
363 #include "main.hh"
364 #include "misc.hh"
365 #include "music.hh"
366 #include "output-def.hh"
367 #include "paper-book.hh"
368 #include "scm-hash.hh"
369 #include "score.hh"
370 #include "text-interface.hh"
371 #include "warn.hh"
372
373 void
374 Lily_parser::parser_error (Input const *i, Lily_parser *parser, string s)
375 {
376         parser->parser_error (*i, s);
377 }
378
379 #define MYBACKUP(Token, Value, Location)                                \
380 do                                                                      \
381         if (yychar == YYEMPTY)                                          \
382         {                                                               \
383                 if (Token)                                              \
384                         parser->lexer_->push_extra_token (Token, Value); \
385                 parser->lexer_->push_extra_token (BACKUP);              \
386         } else {                                                        \
387                 parser->parser_error                                    \
388                         (Location, _("Too much lookahead"));            \
389         }                                                               \
390 while (0)
391
392
393 #define MYREPARSE(Location, Pred, Token, Value)                         \
394 do                                                                      \
395         if (yychar == YYEMPTY)                                          \
396         {                                                               \
397                 parser->lexer_->push_extra_token (Token, Value);        \
398                 parser->lexer_->push_extra_token (REPARSE,              \
399                                                   Pred);                \
400         } else {                                                        \
401                 parser->parser_error                                    \
402                         (Location, _("Too much lookahead"));            \
403         }                                                               \
404 while (0)
405
406
407
408 /* Enabling traces.  */
409 #ifndef YYDEBUG
410 # define YYDEBUG 1
411 #endif
412
413 /* Enabling verbose error messages.  */
414 #ifdef YYERROR_VERBOSE
415 # undef YYERROR_VERBOSE
416 # define YYERROR_VERBOSE 1
417 #else
418 # define YYERROR_VERBOSE 1
419 #endif
420
421 /* Enabling the token table.  */
422 #ifndef YYTOKEN_TABLE
423 # define YYTOKEN_TABLE 0
424 #endif
425
426 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
427 typedef union YYSTYPE
428 #line 182 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
429 {
430         Book *book;
431         Output_def *outputdef;
432         SCM scm;
433         std::string *string;
434         Score *score;
435         int i;
436 }
437 /* Line 187 of yacc.c.  */
438 #line 439 "out/parser.cc"
439         YYSTYPE;
440 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
441 # define YYSTYPE_IS_DECLARED 1
442 # define YYSTYPE_IS_TRIVIAL 1
443 #endif
444
445 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
446 typedef struct YYLTYPE
447 {
448   int first_line;
449   int first_column;
450   int last_line;
451   int last_column;
452 } YYLTYPE;
453 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
454 # define YYLTYPE_IS_DECLARED 1
455 # define YYLTYPE_IS_TRIVIAL 1
456 #endif
457
458
459 /* Copy the second part of user declarations.  */
460 #line 191 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
461
462
463 #define MY_MAKE_MUSIC(x, spot)  make_music_with_input (ly_symbol2scm (x), spot)
464
465 /* ES TODO:
466 - Don't use lily module, create a new module instead.
467 - delay application of the function
468 */
469 #define LOWLEVEL_MAKE_SYNTAX(proc, args)        \
470   scm_apply_0 (proc, args)
471 /* Syntactic Sugar. */
472 #define MAKE_SYNTAX(name, location, ...)        \
473   LOWLEVEL_MAKE_SYNTAX (ly_lily_module_constant (name), scm_list_n (parser->self_scm (), make_input (location) , ##__VA_ARGS__, SCM_UNDEFINED))
474 #define START_MAKE_SYNTAX(name, ...)                                    \
475         scm_list_n (ly_lily_module_constant (name) , ##__VA_ARGS__, SCM_UNDEFINED)
476 #define FINISH_MAKE_SYNTAX(start, location, ...)                        \
477         LOWLEVEL_MAKE_SYNTAX (scm_car (start), scm_cons2 (parser->self_scm (), make_input (location), scm_append_x (scm_list_2 (scm_cdr (start), scm_list_n (__VA_ARGS__, SCM_UNDEFINED)))))
478
479 SCM get_next_unique_context_id ();
480 SCM get_next_unique_lyrics_context_id ();
481
482 #undef _
483 #if !HAVE_GETTEXT
484 #define _(x) x
485 #else
486 #include <libintl.h>
487 #define _(x) gettext (x)
488 #endif
489
490
491 static Music *make_music_with_input (SCM name, Input where);
492 SCM check_scheme_arg (Lily_parser *parser, Input loc,
493                       SCM arg, SCM args, SCM pred);
494 SCM loc_on_music (Input loc, SCM arg);
495 SCM make_chord_elements (Input loc, SCM pitch, SCM dur, SCM modification_list);
496 SCM make_chord_step (int step, Rational alter);
497 SCM make_simple_markup (SCM a);
498 bool is_duration (int t);
499 bool is_regular_identifier (SCM id);
500 int yylex (YYSTYPE *s, YYLTYPE *loc, Lily_parser *parser);
501 void set_music_properties (Music *p, SCM a);
502
503
504
505 /* Line 216 of yacc.c.  */
506 #line 507 "out/parser.cc"
507
508 #ifdef short
509 # undef short
510 #endif
511
512 #ifdef YYTYPE_UINT8
513 typedef YYTYPE_UINT8 yytype_uint8;
514 #else
515 typedef unsigned char yytype_uint8;
516 #endif
517
518 #ifdef YYTYPE_INT8
519 typedef YYTYPE_INT8 yytype_int8;
520 #elif (defined __STDC__ || defined __C99__FUNC__ \
521      || defined __cplusplus || defined _MSC_VER)
522 typedef signed char yytype_int8;
523 #else
524 typedef short int yytype_int8;
525 #endif
526
527 #ifdef YYTYPE_UINT16
528 typedef YYTYPE_UINT16 yytype_uint16;
529 #else
530 typedef unsigned short int yytype_uint16;
531 #endif
532
533 #ifdef YYTYPE_INT16
534 typedef YYTYPE_INT16 yytype_int16;
535 #else
536 typedef short int yytype_int16;
537 #endif
538
539 #ifndef YYSIZE_T
540 # ifdef __SIZE_TYPE__
541 #  define YYSIZE_T __SIZE_TYPE__
542 # elif defined size_t
543 #  define YYSIZE_T size_t
544 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
545      || defined __cplusplus || defined _MSC_VER)
546 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
547 #  define YYSIZE_T size_t
548 # else
549 #  define YYSIZE_T unsigned int
550 # endif
551 #endif
552
553 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
554
555 #ifndef YY_
556 # if YYENABLE_NLS
557 #  if ENABLE_NLS
558 #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
559 #   define YY_(msgid) dgettext ("bison-runtime", msgid)
560 #  endif
561 # endif
562 # ifndef YY_
563 #  define YY_(msgid) msgid
564 # endif
565 #endif
566
567 /* Suppress unused-variable warnings by "using" E.  */
568 #if ! defined lint || defined __GNUC__
569 # define YYUSE(e) ((void) (e))
570 #else
571 # define YYUSE(e) /* empty */
572 #endif
573
574 /* Identity function, used to suppress warnings about constant conditions.  */
575 #ifndef lint
576 # define YYID(n) (n)
577 #else
578 #if (defined __STDC__ || defined __C99__FUNC__ \
579      || defined __cplusplus || defined _MSC_VER)
580 static int
581 YYID (int i)
582 #else
583 static int
584 YYID (i)
585     int i;
586 #endif
587 {
588   return i;
589 }
590 #endif
591
592 #if ! defined yyoverflow || YYERROR_VERBOSE
593
594 /* The parser invokes alloca or malloc; define the necessary symbols.  */
595
596 # ifdef YYSTACK_USE_ALLOCA
597 #  if YYSTACK_USE_ALLOCA
598 #   ifdef __GNUC__
599 #    define YYSTACK_ALLOC __builtin_alloca
600 #   elif defined __BUILTIN_VA_ARG_INCR
601 #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
602 #   elif defined _AIX
603 #    define YYSTACK_ALLOC __alloca
604 #   elif defined _MSC_VER
605 #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
606 #    define alloca _alloca
607 #   else
608 #    define YYSTACK_ALLOC alloca
609 #    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
610      || defined __cplusplus || defined _MSC_VER)
611 #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
612 #     ifndef _STDLIB_H
613 #      define _STDLIB_H 1
614 #     endif
615 #    endif
616 #   endif
617 #  endif
618 # endif
619
620 # ifdef YYSTACK_ALLOC
621    /* Pacify GCC's `empty if-body' warning.  */
622 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
623 #  ifndef YYSTACK_ALLOC_MAXIMUM
624     /* The OS might guarantee only one guard page at the bottom of the stack,
625        and a page size can be as small as 4096 bytes.  So we cannot safely
626        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
627        to allow for a few compiler-allocated temporary stack slots.  */
628 #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
629 #  endif
630 # else
631 #  define YYSTACK_ALLOC YYMALLOC
632 #  define YYSTACK_FREE YYFREE
633 #  ifndef YYSTACK_ALLOC_MAXIMUM
634 #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
635 #  endif
636 #  if (defined __cplusplus && ! defined _STDLIB_H \
637        && ! ((defined YYMALLOC || defined malloc) \
638              && (defined YYFREE || defined free)))
639 #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
640 #   ifndef _STDLIB_H
641 #    define _STDLIB_H 1
642 #   endif
643 #  endif
644 #  ifndef YYMALLOC
645 #   define YYMALLOC malloc
646 #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
647      || defined __cplusplus || defined _MSC_VER)
648 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
649 #   endif
650 #  endif
651 #  ifndef YYFREE
652 #   define YYFREE free
653 #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
654      || defined __cplusplus || defined _MSC_VER)
655 void free (void *); /* INFRINGES ON USER NAME SPACE */
656 #   endif
657 #  endif
658 # endif
659 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
660
661
662 #if (! defined yyoverflow \
663      && (! defined __cplusplus \
664          || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
665              && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
666
667 /* A type that is properly aligned for any stack member.  */
668 union yyalloc
669 {
670   yytype_int16 yyss;
671   YYSTYPE yyvs;
672     YYLTYPE yyls;
673 };
674
675 /* The size of the maximum gap between one aligned stack and the next.  */
676 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
677
678 /* The size of an array large to enough to hold all stacks, each with
679    N elements.  */
680 # define YYSTACK_BYTES(N) \
681      ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
682       + 2 * YYSTACK_GAP_MAXIMUM)
683
684 /* Copy COUNT objects from FROM to TO.  The source and destination do
685    not overlap.  */
686 # ifndef YYCOPY
687 #  if defined __GNUC__ && 1 < __GNUC__
688 #   define YYCOPY(To, From, Count) \
689       __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
690 #  else
691 #   define YYCOPY(To, From, Count)              \
692       do                                        \
693         {                                       \
694           YYSIZE_T yyi;                         \
695           for (yyi = 0; yyi < (Count); yyi++)   \
696             (To)[yyi] = (From)[yyi];            \
697         }                                       \
698       while (YYID (0))
699 #  endif
700 # endif
701
702 /* Relocate STACK from its old location to the new one.  The
703    local variables YYSIZE and YYSTACKSIZE give the old and new number of
704    elements in the stack, and YYPTR gives the new location of the
705    stack.  Advance YYPTR to a properly aligned location for the next
706    stack.  */
707 # define YYSTACK_RELOCATE(Stack)                                        \
708     do                                                                  \
709       {                                                                 \
710         YYSIZE_T yynewbytes;                                            \
711         YYCOPY (&yyptr->Stack, Stack, yysize);                          \
712         Stack = &yyptr->Stack;                                          \
713         yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
714         yyptr += yynewbytes / sizeof (*yyptr);                          \
715       }                                                                 \
716     while (YYID (0))
717
718 #endif
719
720 /* YYFINAL -- State number of the termination state.  */
721 #define YYFINAL  5
722 /* YYLAST -- Last index in YYTABLE.  */
723 #define YYLAST   4878
724
725 /* YYNTOKENS -- Number of terminals.  */
726 #define YYNTOKENS  147
727 /* YYNNTS -- Number of nonterminals.  */
728 #define YYNNTS  186
729 /* YYNRULES -- Number of rules.  */
730 #define YYNRULES  529
731 /* YYNRULES -- Number of states.  */
732 #define YYNSTATES  784
733
734 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
735 #define YYUNDEFTOK  2
736 #define YYMAXUTOK   380
737
738 #define YYTRANSLATE(YYX)                                                \
739   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
740
741 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
742 static const yytype_uint8 yytranslate[] =
743 {
744        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
745        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
746        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
747        2,     2,     2,   145,     2,     2,     2,     2,     2,   142,
748      140,   141,   144,   128,   143,   127,   133,    17,     2,     2,
749        2,     2,     2,     2,     2,     2,     2,     2,    10,     2,
750        2,   132,     2,   146,     2,     2,     2,     2,     2,     2,
751        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
752        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
753        2,   137,     2,   138,   135,   136,     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,   130,   134,   131,   139,     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,     2,     2,     2,     2,
766        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
767        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
768        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
769        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
770        5,     6,     7,     8,     9,    11,    12,    13,    14,    15,
771       16,    18,    19,    20,    21,    22,    23,    24,    25,    26,
772       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
773       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
774       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
775       57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
776       67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
777       77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
778       87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
779       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
780      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
781      117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
782      129
783 };
784
785 #if YYDEBUG
786 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
787    YYRHS.  */
788 static const yytype_uint16 yyprhs[] =
789 {
790        0,     0,     3,     5,     6,    10,    11,    14,    17,    20,
791       23,    24,    27,    29,    31,    33,    35,    37,    39,    41,
792       43,    45,    47,    49,    51,    53,    55,    57,    59,    61,
793       63,    65,    67,    69,    71,    73,    75,    77,    80,    81,
794       83,    87,    89,    92,    93,    96,   101,   103,   105,   109,
795      114,   116,   118,   120,   122,   124,   126,   128,   130,   132,
796      134,   136,   138,   140,   142,   144,   149,   151,   153,   155,
797      156,   158,   161,   164,   167,   172,   173,   175,   178,   181,
798      184,   187,   190,   193,   194,   198,   201,   204,   209,   210,
799      212,   215,   218,   221,   224,   227,   228,   232,   235,   238,
800      243,   245,   247,   248,   252,   255,   258,   260,   263,   265,
801      267,   269,   271,   273,   274,   280,   283,   287,   290,   291,
802      295,   298,   303,   309,   312,   313,   316,   319,   323,   325,
803      327,   329,   331,   333,   335,   337,   339,   341,   346,   353,
804      356,   358,   361,   365,   367,   369,   371,   372,   378,   381,
805      383,   386,   387,   389,   390,   393,   396,   399,   401,   403,
806      405,   408,   410,   412,   414,   416,   418,   420,   424,   428,
807      432,   437,   442,   447,   452,   458,   464,   470,   472,   477,
808      482,   484,   489,   494,   496,   498,   500,   502,   507,   512,
809      517,   522,   527,   532,   537,   543,   549,   555,   560,   565,
810      570,   574,   578,   580,   582,   584,   588,   592,   596,   600,
811      602,   604,   608,   612,   617,   622,   627,   631,   633,   635,
812      637,   641,   645,   650,   655,   660,   664,   668,   672,   674,
813      677,   681,   685,   687,   690,   694,   698,   700,   702,   704,
814      706,   708,   711,   713,   717,   721,   726,   731,   736,   739,
815      740,   743,   745,   747,   749,   752,   757,   762,   765,   769,
816      771,   773,   775,   777,   779,   781,   783,   785,   787,   788,
817      792,   793,   798,   801,   802,   807,   812,   814,   817,   819,
818      823,   826,   832,   836,   838,   840,   842,   844,   846,   848,
819      850,   852,   854,   856,   859,   862,   864,   868,   874,   878,
820      883,   886,   888,   890,   892,   896,   898,   900,   902,   904,
821      906,   908,   910,   912,   914,   916,   918,   921,   924,   928,
822      932,   934,   936,   940,   944,   945,   948,   954,   957,   959,
823      961,   963,   966,   969,   971,   973,   975,   977,   979,   981,
824      983,   984,   987,   989,   992,   994,   996,   999,  1002,  1004,
825     1007,  1010,  1012,  1015,  1017,  1019,  1021,  1023,  1025,  1027,
826     1029,  1031,  1033,  1035,  1037,  1039,  1041,  1043,  1045,  1047,
827     1049,  1050,  1052,  1055,  1058,  1060,  1063,  1065,  1068,  1070,
828     1073,  1076,  1078,  1081,  1084,  1086,  1088,  1090,  1092,  1094,
829     1096,  1098,  1100,  1102,  1104,  1106,  1108,  1110,  1112,  1114,
830     1116,  1118,  1120,  1121,  1123,  1125,  1128,  1131,  1133,  1137,
831     1141,  1142,  1145,  1147,  1150,  1152,  1154,  1156,  1158,  1160,
832     1162,  1164,  1166,  1169,  1172,  1175,  1177,  1179,  1181,  1183,
833     1185,  1188,  1189,  1192,  1196,  1197,  1199,  1206,  1209,  1212,
834     1214,  1217,  1219,  1221,  1223,  1227,  1231,  1235,  1239,  1242,
835     1247,  1248,  1251,  1253,  1255,  1258,  1261,  1263,  1265,  1267,
836     1269,  1273,  1275,  1278,  1281,  1283,  1287,  1291,  1295,  1297,
837     1299,  1303,  1307,  1310,  1312,  1314,  1317,  1320,  1322,  1324,
838     1326,  1328,  1330,  1332,  1333,  1336,  1337,  1340,  1342,  1343,
839     1347,  1349,  1350,  1354,  1356,  1357,  1361,  1363,  1366,  1368,
840     1369,  1373,  1375,  1377,  1379,  1381,  1384,  1387,  1391,  1392,
841     1395,  1398,  1401,  1405,  1409,  1411,  1413,  1417,  1421,  1423,
842     1426,  1428,  1430,  1432,  1434,  1435,  1441,  1444,  1447,  1450
843 };
844
845 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
846 static const yytype_int16 yyrhs[] =
847 {
848      148,     0,    -1,   150,    -1,    -1,    99,   149,   158,    -1,
849       -1,   150,   151,    -1,   150,   162,    -1,   150,     1,    -1,
850      150,    37,    -1,    -1,   152,   160,    -1,   168,    -1,   171,
851       -1,   174,    -1,   200,    -1,   316,    -1,   314,    -1,   178,
852       -1,   123,    -1,   122,    -1,   153,    -1,   125,    -1,   126,
853       -1,   316,    -1,   314,    -1,   196,    -1,   174,    -1,   164,
854       -1,   168,    -1,   171,    -1,   178,    -1,   153,    -1,   157,
855       -1,   154,    -1,   157,    -1,   190,    -1,   121,   211,    -1,
856       -1,   163,    -1,   189,   189,   186,    -1,     1,    -1,    37,
857      158,    -1,    -1,   159,   162,    -1,    36,   130,   159,   131,
858       -1,   125,    -1,   110,    -1,   161,   132,   163,    -1,   161,
859      237,   132,   163,    -1,   155,    -1,   174,    -1,   168,    -1,
860      171,    -1,   178,    -1,   164,    -1,   191,    -1,   259,    -1,
861      303,    -1,   109,    -1,   244,    -1,   155,    -1,   316,    -1,
862      314,    -1,   196,    -1,    28,   130,   167,   131,    -1,   155,
863       -1,   200,    -1,   165,    -1,    -1,   104,    -1,   167,   240,
864       -1,   167,   196,    -1,   167,   166,    -1,    22,   130,   169,
865      131,    -1,    -1,   100,    -1,   169,   177,    -1,   169,   171,
866       -1,   169,   174,    -1,   169,   200,    -1,   169,   316,    -1,
867      169,   314,    -1,    -1,   169,   170,   160,    -1,   169,   155,
868       -1,   169,     1,    -1,    23,   130,   172,   131,    -1,    -1,
869      100,    -1,   172,   177,    -1,   172,   174,    -1,   172,   200,
870       -1,   172,   316,    -1,   172,   314,    -1,    -1,   172,   173,
871      160,    -1,   172,   155,    -1,   172,     1,    -1,    52,   130,
872      175,   131,    -1,   188,    -1,   124,    -1,    -1,   175,   176,
873      160,    -1,   175,   178,    -1,   175,     1,    -1,   178,    -1,
874      183,   131,    -1,    48,    -1,    44,    -1,    38,    -1,   179,
875       -1,   190,    -1,    -1,    28,   182,   130,   167,   131,    -1,
876      180,   130,    -1,   180,   130,   119,    -1,   183,   162,    -1,
877       -1,   183,   184,   181,    -1,   183,     1,    -1,    56,   279,
878      132,   302,    -1,    56,   247,   279,   132,   302,    -1,    56,
879      246,    -1,    -1,   186,   189,    -1,   186,     1,    -1,   130,
880      186,   131,    -1,   190,    -1,   295,    -1,   188,    -1,   155,
881       -1,   195,    -1,   200,    -1,   195,    -1,   200,    -1,   295,
882       -1,     4,   245,   309,   188,    -1,     4,   245,   309,   188,
883        5,   187,    -1,    53,   187,    -1,   187,    -1,    55,   187,
884       -1,    68,   186,    69,    -1,   248,    -1,   243,    -1,   235,
885       -1,    -1,    59,   197,   130,   199,   131,    -1,    59,   105,
886       -1,   105,    -1,    59,   219,    -1,    -1,   196,    -1,    -1,
887      199,   240,    -1,   199,   105,    -1,   199,   166,    -1,   225,
888       -1,   202,    -1,   202,    -1,   226,   201,    -1,   227,    -1,
889      118,    -1,   203,    -1,   194,    -1,   193,    -1,   212,    -1,
890       97,    91,   204,    -1,    97,    92,   204,    -1,    97,    93,
891      204,    -1,    97,    91,   211,   271,    -1,    97,    92,   215,
892      276,    -1,    97,    93,   215,   109,    -1,    97,    93,   215,
893      259,    -1,    97,    93,   215,   127,    13,    -1,    97,    93,
894      215,   127,    12,    -1,    97,    93,   215,   127,    18,    -1,
895      205,    -1,    97,    93,   211,   220,    -1,    97,    93,   215,
896      307,    -1,   205,    -1,    97,    93,   211,   156,    -1,    97,
897       93,   215,   306,    -1,   212,    -1,   210,    -1,   216,    -1,
898      210,    -1,    97,    93,   208,   220,    -1,    97,    93,   209,
899      259,    -1,    97,    93,   208,   293,    -1,    97,    93,   209,
900       13,    -1,    97,    93,   209,    12,    -1,    97,    93,   209,
901       18,    -1,    97,    93,   209,   109,    -1,    97,    93,   209,
902      127,    13,    -1,    97,    93,   209,   127,    12,    -1,    97,
903       93,   209,   127,    18,    -1,    97,    91,   208,   271,    -1,
904       97,    92,   209,   276,    -1,    97,    93,   210,    94,    -1,
905      210,    95,   220,    -1,   210,    95,   306,    -1,   212,    -1,
906      207,    -1,   222,    -1,    93,   217,   156,    -1,    93,   218,
907      306,    -1,    93,   218,   109,    -1,    93,   218,   259,    -1,
908      214,    -1,   213,    -1,    93,   217,   293,    -1,   213,    95,
909      294,    -1,    93,   218,   127,    13,    -1,    93,   218,   127,
910       12,    -1,    93,   218,   127,    18,    -1,   214,    95,   306,
911       -1,   216,    -1,   206,    -1,   222,    -1,    93,   217,   220,
912       -1,    93,   218,   306,    -1,    93,   218,   127,    13,    -1,
913       93,   218,   127,    12,    -1,    93,   218,   127,    18,    -1,
914       93,   218,   259,    -1,    93,   218,   109,    -1,    93,   217,
915      293,    -1,   208,    -1,   210,    94,    -1,    97,    91,   217,
916       -1,    97,    92,   217,    -1,   209,    -1,   210,    94,    -1,
917       97,    91,   218,    -1,    97,    92,   218,    -1,   153,    -1,
918      221,    -1,   154,    -1,   221,    -1,   201,    -1,   121,   215,
919       -1,    98,    -1,    91,   217,   271,    -1,    92,   218,   276,
920       -1,    97,    91,   204,     8,    -1,    97,    92,   204,     8,
921       -1,    97,    93,   204,     8,    -1,   117,   211,    -1,    -1,
922      132,   245,    -1,   223,    -1,   192,    -1,   233,    -1,   226,
923      188,    -1,    28,   245,   224,   198,    -1,    60,   245,   224,
924      198,    -1,   228,   203,    -1,   229,   198,   203,    -1,    46,
925       -1,    32,    -1,    34,    -1,    25,    -1,    39,    -1,    33,
926       -1,    35,    -1,    26,    -1,    40,    -1,    -1,     7,   231,
927      200,    -1,    -1,   230,     7,   232,   200,    -1,   200,   230,
928       -1,    -1,    41,   245,   234,   188,    -1,    24,   125,   132,
929      125,    -1,   219,    -1,   236,   219,    -1,   236,    -1,   125,
930      132,   246,    -1,    58,   245,    -1,    47,   245,   237,   132,
931      246,    -1,    51,   245,   155,    -1,    27,    -1,    49,    -1,
932       20,    -1,    29,    -1,    30,    -1,    21,    -1,    57,    -1,
933       31,    -1,    45,    -1,   238,    -1,   239,   125,    -1,   239,
934      155,    -1,   245,    -1,   245,   133,   245,    -1,    47,   241,
935      237,   132,   246,    -1,    51,   241,   155,    -1,    54,   241,
936      132,   246,    -1,    58,   241,    -1,   242,    -1,   125,    -1,
937      126,    -1,   244,   128,   244,    -1,   125,    -1,   110,    -1,
938      126,    -1,   156,    -1,   306,    -1,   109,    -1,   293,    -1,
939      220,    -1,   306,    -1,   109,    -1,   293,    -1,   291,   258,
940       -1,   292,   258,    -1,   103,   278,   258,    -1,    88,   278,
941      258,    -1,   256,    -1,   249,    -1,   250,   278,   258,    -1,
942       66,   251,    67,    -1,    -1,   251,   252,    -1,   270,   310,
943      311,   265,   258,    -1,   106,   258,    -1,   253,    -1,   223,
944       -1,   118,    -1,   117,   215,    -1,   108,   215,    -1,   257,
945       -1,    75,    -1,    77,    -1,    70,    -1,   134,    -1,    80,
946       -1,   185,    -1,    -1,   258,   260,    -1,   263,    -1,   275,
947      254,    -1,    85,    -1,    81,    -1,   275,   264,    -1,   275,
948      263,    -1,   261,    -1,   135,   273,    -1,   136,   273,    -1,
949      259,    -1,   127,   273,    -1,    89,    -1,   137,    -1,   138,
950       -1,   139,    -1,   140,    -1,   141,    -1,    74,    -1,    76,
951       -1,    73,    -1,    71,    -1,    78,    -1,   262,    -1,   107,
952       -1,   282,    -1,   255,    -1,   272,    -1,   274,    -1,    -1,
953      132,    -1,   132,   267,    -1,   132,   266,    -1,   142,    -1,
954      266,   142,    -1,   143,    -1,   267,   143,    -1,    15,    -1,
955       15,   266,    -1,    15,   267,    -1,    14,    -1,    14,   266,
956       -1,    14,   267,    -1,   268,    -1,    16,    -1,   270,    -1,
957      269,    -1,   316,    -1,   245,    -1,    13,    -1,   135,    -1,
958      128,    -1,   127,    -1,   134,    -1,    67,    -1,   133,    -1,
959      136,    -1,   136,    -1,   135,    -1,   127,    -1,   280,    -1,
960       -1,   280,    -1,   277,    -1,   308,   281,    -1,    11,   281,
961       -1,   279,    -1,   280,   144,   308,    -1,   280,   144,   109,
962       -1,    -1,   281,   133,    -1,    10,    -1,    10,   308,    -1,
963       13,    -1,   125,    -1,   316,    -1,   127,    -1,   128,    -1,
964      145,    -1,    84,    -1,   283,    -1,   285,   138,    -1,   285,
965      284,    -1,   285,   286,    -1,    79,    -1,    74,    -1,    17,
966       -1,    70,    -1,   285,    -1,   137,   285,    -1,    -1,   288,
967      287,    -1,    83,   288,    82,    -1,    -1,    50,    -1,   270,
968      310,   311,   265,   277,   290,    -1,   106,   278,    -1,   120,
969      278,    -1,   296,    -1,   289,   278,    -1,   312,    -1,   110,
970       -1,   293,    -1,   293,   280,   258,    -1,   293,   260,   258,
971       -1,   111,   278,   258,    -1,   293,   278,   258,    -1,   269,
972      278,    -1,   269,   278,   298,   297,    -1,    -1,   297,   299,
973       -1,    63,    -1,    62,    -1,    65,   269,    -1,    61,   269,
974       -1,   298,    -1,   300,    -1,   102,    -1,   301,    -1,   300,
975      133,   301,    -1,   308,    -1,   308,   128,    -1,   308,    64,
976       -1,   308,    -1,   308,   139,   308,    -1,   303,   128,   304,
977       -1,   303,   127,   304,    -1,   304,    -1,   305,    -1,   305,
978      144,   305,    -1,   305,    17,   305,    -1,   127,   305,    -1,
979      306,    -1,   307,    -1,    13,    18,    -1,    12,    18,    -1,
980       13,    -1,    12,    -1,    18,    -1,    13,    -1,    13,    -1,
981       18,    -1,    -1,   310,   145,    -1,    -1,   311,   146,    -1,
982      112,    -1,    -1,    87,   313,   318,    -1,   116,    -1,    -1,
983       43,   315,   321,    -1,   115,    -1,    -1,    42,   317,   318,
984       -1,   321,    -1,   329,   330,    -1,   330,    -1,    -1,   153,
985      320,    94,    -1,   116,    -1,   322,    -1,   323,    -1,   325,
986       -1,   319,   116,    -1,   329,   323,    -1,   130,   324,   131,
987       -1,    -1,   324,   332,    -1,   324,   321,    -1,   114,   327,
988       -1,    96,   327,   321,    -1,    93,   327,   219,    -1,    98,
989       -1,   326,    -1,    90,   327,   332,    -1,   113,    90,   327,
990       -1,   328,    -1,   329,   328,    -1,   125,    -1,   115,    -1,
991      112,    -1,   126,    -1,    -1,    52,   331,   130,   175,   131,
992       -1,   113,   326,    -1,   319,   115,    -1,   329,   330,    -1,
993      330,    -1
994 };
995
996 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
997 static const yytype_uint16 yyrline[] =
998 {
999        0,   564,   564,   565,   565,   574,   575,   577,   579,   582,
1000      589,   589,   594,   600,   606,   613,   618,   622,   626,   643,
1001      647,   651,   652,   653,   654,   655,   656,   657,   662,   663,
1002      668,   673,   683,   684,   688,   689,   690,   694,   702,   705,
1003      706,   714,   717,   723,   725,   731,   740,   741,   745,   748,
1004      760,   765,   769,   773,   777,   781,   784,   787,   790,   793,
1005      796,   799,   802,   805,   808,   814,   821,   822,   826,   842,
1006      846,   850,   853,   860,   872,   883,   893,   899,   904,   910,
1007      916,   921,   925,   930,   929,   933,   934,   942,   949,   954,
1008      960,   964,   970,   975,   979,   984,   983,   989,   990,   997,
1009     1003,  1013,  1019,  1018,  1024,  1036,  1047,  1060,  1069,  1074,
1010     1079,  1088,  1100,  1105,  1104,  1114,  1118,  1128,  1132,  1131,
1011     1147,  1153,  1156,  1159,  1168,  1171,  1175,  1185,  1191,  1192,
1012     1196,  1197,  1211,  1221,  1225,  1226,  1227,  1231,  1235,  1242,
1013     1245,  1251,  1254,  1260,  1261,  1262,  1266,  1266,  1271,  1275,
1014     1279,  1291,  1294,  1301,  1304,  1307,  1312,  1319,  1320,  1325,
1015     1326,  1333,  1334,  1335,  1339,  1340,  1348,  1349,  1353,  1357,
1016     1365,  1368,  1371,  1375,  1379,  1395,  1401,  1410,  1411,  1415,
1017     1422,  1423,  1427,  1434,  1435,  1439,  1440,  1444,  1454,  1464,
1018     1481,  1492,  1503,  1513,  1523,  1543,  1553,  1562,  1566,  1570,
1019     1575,  1580,  1588,  1589,  1593,  1594,  1599,  1604,  1609,  1614,
1020     1615,  1619,  1650,  1659,  1676,  1682,  1687,  1694,  1695,  1699,
1021     1700,  1705,  1710,  1726,  1732,  1738,  1743,  1748,  1756,  1757,
1022     1758,  1762,  1769,  1770,  1771,  1775,  1782,  1783,  1787,  1788,
1023     1789,  1793,  1800,  1803,  1806,  1809,  1812,  1815,  1821,  1829,
1024     1830,  1836,  1837,  1838,  1839,  1846,  1853,  1863,  1874,  1889,
1025     1895,  1902,  1907,  1915,  1922,  1928,  1933,  1940,  1947,  1947,
1026     1956,  1956,  1965,  1968,  1968,  1977,  1984,  1987,  1993,  1999,
1027     2003,  2007,  2012,  2019,  2020,  2022,  2023,  2024,  2026,  2027,
1028     2028,  2029,  2033,  2034,  2037,  2054,  2063,  2070,  2077,  2083,
1029     2089,  2097,  2103,  2106,  2109,  2114,  2117,  2120,  2126,  2127,
1030     2128,  2129,  2133,  2134,  2135,  2136,  2141,  2155,  2164,  2170,
1031     2176,  2177,  2182,  2200,  2207,  2208,  2215,  2241,  2251,  2268,
1032     2269,  2278,  2285,  2292,  2295,  2300,  2305,  2308,  2325,  2328,
1033     2335,  2338,  2345,  2348,  2355,  2360,  2365,  2373,  2381,  2382,
1034     2387,  2395,  2396,  2402,  2410,  2413,  2416,  2419,  2422,  2425,
1035     2428,  2431,  2434,  2437,  2443,  2457,  2460,  2465,  2469,  2472,
1036     2483,  2484,  2485,  2486,  2490,  2493,  2499,  2502,  2508,  2511,
1037     2516,  2528,  2531,  2536,  2545,  2548,  2552,  2553,  2557,  2562,
1038     2571,  2579,  2582,  2585,  2588,  2591,  2594,  2597,  2603,  2604,
1039     2605,  2609,  2615,  2618,  2626,  2634,  2643,  2653,  2656,  2659,
1040     2667,  2670,  2676,  2679,  2687,  2688,  2689,  2693,  2694,  2695,
1041     2699,  2703,  2714,  2718,  2729,  2752,  2755,  2758,  2761,  2767,
1042     2770,  2777,  2780,  2786,  2793,  2794,  2798,  2830,  2837,  2853,
1043     2858,  2868,  2871,  2877,  2878,  2884,  2890,  2900,  2909,  2912,
1044     2919,  2922,  2928,  2931,  2934,  2937,  2943,  2946,  2949,  2955,
1045     2956,  2962,  2965,  2968,  2974,  2977,  2989,  2992,  2995,  2999,
1046     3002,  3005,  3011,  3014,  3019,  3020,  3023,  3029,  3030,  3031,
1047     3035,  3041,  3042,  3046,  3047,  3051,  3052,  3060,  3064,  3063,
1048     3072,  3076,  3075,  3084,  3088,  3087,  3096,  3099,  3102,  3109,
1049     3108,  3123,  3126,  3129,  3132,  3135,  3142,  3149,  3155,  3156,
1050     3159,  3165,  3171,  3174,  3177,  3183,  3184,  3190,  3196,  3199,
1051     3205,  3208,  3211,  3214,  3217,  3217,  3226,  3229,  3236,  3240
1052 };
1053 #endif
1054
1055 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1056 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1057    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
1058 static const char *const yytname[] =
1059 {
1060   "$end", "error", "$undefined", "PREC_BOT", "\"\\\\repeat\"",
1061   "\"\\\\alternative\"", "COMPOSITE", "\"\\\\addlyrics\"",
1062   "\"\\\\default\"", "FUNCTION_ARGLIST", "':'", "DURATION_IDENTIFIER",
1063   "REAL", "UNSIGNED", "TONICNAME_PITCH", "NOTENAME_PITCH",
1064   "PITCH_IDENTIFIER", "'/'", "NUMBER_IDENTIFIER", "PREC_TOP",
1065   "\"\\\\accepts\"", "\"\\\\alias\"", "\"\\\\book\"", "\"\\\\bookpart\"",
1066   "\"\\\\change\"", "\"\\\\chordmode\"", "\"\\\\chords\"",
1067   "\"\\\\consists\"", "\"\\\\context\"", "\"\\\\defaultchild\"",
1068   "\"\\\\denies\"", "\"\\\\description\"", "\"\\\\drummode\"",
1069   "\"\\\\drums\"", "\"\\\\figuremode\"", "\"\\\\figures\"",
1070   "\"\\\\header\"", "\"\\\\version-error\"", "\"\\\\layout\"",
1071   "\"\\\\lyricmode\"", "\"\\\\lyrics\"", "\"\\\\lyricsto\"",
1072   "\"\\\\markup\"", "\"\\\\markuplist\"", "\"\\\\midi\"", "\"\\\\name\"",
1073   "\"\\\\notemode\"", "\"\\\\override\"", "\"\\\\paper\"",
1074   "\"\\\\remove\"", "\"\\\\rest\"", "\"\\\\revert\"", "\"\\\\score\"",
1075   "\"\\\\sequential\"", "\"\\\\set\"", "\"\\\\simultaneous\"",
1076   "\"\\\\tempo\"", "\"\\\\type\"", "\"\\\\unset\"", "\"\\\\with\"",
1077   "\"\\\\new\"", "\"/+\"", "\"^\"", "\":\"", "\"-\"", "\"/\"", "\"<\"",
1078   "\">\"", "\"<<\"", "\">>\"", "\"\\\\\"", "\"\\\\>\"",
1079   "\"\\\\C[haracter]\"", "\"\\\\)\"", "\"\\\\!\"", "\"\\\\[\"",
1080   "\"\\\\(\"", "\"\\\\]\"", "\"\\\\<\"", "\"\\\\+\"", "\"\\\\~\"",
1081   "\"__\"", "FIGURE_CLOSE", "FIGURE_OPEN", "\"_\"", "\"--\"",
1082   "CHORDMODIFIERS", "LYRIC_MARKUP", "MULTI_MEASURE_REST", "E_UNSIGNED",
1083   "\"markup?\"", "\"ly:pitch?\"", "\"ly:duration?\"", "\"scheme?\"",
1084   "\"(backed-up?)\"", "\"(reparsed?)\"", "\"markup-list?\"",
1085   "\"optional?\"", "EXPECT_NO_MORE_ARGS", "\"#{\"", "BOOK_IDENTIFIER",
1086   "CHORDMODIFIER_PITCH", "CHORD_MODIFIER", "CHORD_REPETITION",
1087   "CONTEXT_DEF_IDENTIFIER", "CONTEXT_MOD_IDENTIFIER", "DRUM_PITCH",
1088   "EVENT_IDENTIFIER", "EVENT_FUNCTION", "FRACTION", "LYRICS_STRING",
1089   "LYRIC_ELEMENT", "LYRIC_MARKUP_IDENTIFIER", "MARKUP_FUNCTION",
1090   "MARKUP_LIST_FUNCTION", "MARKUP_IDENTIFIER", "MARKUPLIST_IDENTIFIER",
1091   "MUSIC_FUNCTION", "MUSIC_IDENTIFIER", "OUTPUT_DEF_IDENTIFIER",
1092   "RESTNAME", "SCM_FUNCTION", "SCM_IDENTIFIER", "SCM_TOKEN",
1093   "SCORE_IDENTIFIER", "STRING", "STRING_IDENTIFIER", "'-'", "'+'",
1094   "UNARY_MINUS", "'{'", "'}'", "'='", "'.'", "'|'", "'^'", "'_'", "'['",
1095   "']'", "'~'", "'('", "')'", "'''", "','", "'*'", "'!'", "'?'", "$accept",
1096   "start_symbol", "@1", "lilypond", "toplevel_expression", "@2",
1097   "embedded_scm_bare", "embedded_scm_bare_arg", "embedded_scm",
1098   "embedded_scm_arg", "scm_function_call", "embedded_lilypond",
1099   "lilypond_header_body", "lilypond_header", "assignment_id", "assignment",
1100   "identifier_init", "context_def_spec_block", "context_mod_arg",
1101   "context_mod_embedded", "context_def_spec_body", "book_block",
1102   "book_body", "@3", "bookpart_block", "bookpart_body", "@4",
1103   "score_block", "score_body", "@5", "paper_block", "output_def",
1104   "output_def_head", "output_def_head_with_mode_switch",
1105   "music_or_context_def", "@6", "output_def_body", "@7", "tempo_event",
1106   "music_list", "braced_music_list", "music", "music_embedded",
1107   "music_arg", "music_assign", "repeated_music", "sequential_music",
1108   "simultaneous_music", "simple_music", "context_modification", "@8",
1109   "optional_context_mod", "context_mod_list", "composite_music",
1110   "closed_music", "music_bare", "grouped_music_list",
1111   "function_arglist_skip", "function_arglist_nonbackup_common",
1112   "function_arglist_closed_nonbackup", "function_arglist_nonbackup",
1113   "function_arglist_keep", "function_arglist_closed_keep",
1114   "function_arglist_backup", "function_arglist", "function_arglist_common",
1115   "function_arglist_common_lyric", "function_arglist_common_minus",
1116   "function_arglist_closed", "function_arglist_closed_common",
1117   "function_arglist_optional", "function_arglist_closed_optional",
1118   "embedded_scm_closed", "embedded_scm_arg_closed",
1119   "scm_function_call_closed", "function_arglist_bare",
1120   "music_function_call", "optional_id", "complex_music",
1121   "complex_music_prefix", "mode_changed_music", "mode_changing_head",
1122   "mode_changing_head_with_context", "new_lyrics", "@9", "@10",
1123   "re_rhythmed_music", "@11", "context_change", "property_path_revved",
1124   "property_path", "property_operation", "context_def_mod", "context_mod",
1125   "context_prop_spec", "simple_music_property_def", "music_property_def",
1126   "string", "simple_string", "scalar", "scalar_closed", "event_chord",
1127   "note_chord_element", "chord_body", "chord_body_elements",
1128   "chord_body_element", "music_function_chord_body",
1129   "music_function_event", "event_function_event", "command_element",
1130   "command_event", "post_events", "post_event_nofinger", "post_event",
1131   "string_number_event", "direction_less_char", "direction_less_event",
1132   "direction_reqd_event", "octave_check", "sup_quotes", "sub_quotes",
1133   "steno_pitch", "steno_tonic_pitch", "pitch", "pitch_also_in_chords",
1134   "gen_text_def", "fingering", "script_abbreviation", "script_dir",
1135   "duration_length", "maybe_notemode_duration",
1136   "optional_notemode_duration", "steno_duration", "multiplied_duration",
1137   "dots", "tremolo_type", "bass_number", "figured_bass_alteration",
1138   "bass_figure", "figured_bass_modification", "br_bass_figure",
1139   "figure_list", "figure_spec", "optional_rest", "simple_element",
1140   "simple_chord_elements", "lyric_element", "lyric_element_arg",
1141   "lyric_element_music", "new_chord", "chord_items", "chord_separator",
1142   "chord_item", "step_numbers", "step_number", "tempo_range",
1143   "number_expression", "number_term", "number_factor", "bare_number",
1144   "bare_number_closed", "bare_unsigned", "unsigned_number", "exclamations",
1145   "questions", "lyric_markup", "@12", "full_markup_list", "@13",
1146   "full_markup", "@14", "markup_top", "markup_scm", "@15", "markup_list",
1147   "markup_composed_list", "markup_braced_list", "markup_braced_list_body",
1148   "markup_command_list", "markup_command_basic_arguments",
1149   "markup_command_list_arguments", "markup_head_1_item",
1150   "markup_head_1_list", "simple_markup", "@16", "markup", 0
1151 };
1152 #endif
1153
1154 # ifdef YYPRINT
1155 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1156    token YYLEX-NUM.  */
1157 static const yytype_uint16 yytoknum[] =
1158 {
1159        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1160       58,   265,   266,   267,   268,   269,   270,    47,   271,   272,
1161      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
1162      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
1163      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
1164      303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
1165      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
1166      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
1167      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
1168      343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
1169      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
1170      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
1171      373,   374,   375,   376,   377,   378,   379,    45,    43,   380,
1172      123,   125,    61,    46,   124,    94,    95,    91,    93,   126,
1173       40,    41,    39,    44,    42,    33,    63
1174 };
1175 # endif
1176
1177 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1178 static const yytype_uint16 yyr1[] =
1179 {
1180        0,   147,   148,   149,   148,   150,   150,   150,   150,   150,
1181      152,   151,   151,   151,   151,   151,   151,   151,   151,   153,
1182      153,   154,   154,   154,   154,   154,   154,   154,   154,   154,
1183      154,   154,   155,   155,   156,   156,   156,   157,   158,   158,
1184      158,   158,   158,   159,   159,   160,   161,   161,   162,   162,
1185      162,   163,   163,   163,   163,   163,   163,   163,   163,   163,
1186      163,   163,   163,   163,   163,   164,   165,   165,   166,   167,
1187      167,   167,   167,   167,   168,   169,   169,   169,   169,   169,
1188      169,   169,   169,   170,   169,   169,   169,   171,   172,   172,
1189      172,   172,   172,   172,   172,   173,   172,   172,   172,   174,
1190      175,   175,   176,   175,   175,   175,   177,   178,   179,   179,
1191      179,   180,   181,   182,   181,   183,   183,   183,   184,   183,
1192      183,   185,   185,   185,   186,   186,   186,   187,   188,   188,
1193      189,   189,   190,   190,   191,   191,   191,   192,   192,   193,
1194      193,   194,   194,   195,   195,   195,   197,   196,   196,   196,
1195      196,   198,   198,   199,   199,   199,   199,   200,   200,   201,
1196      201,   202,   202,   202,   203,   203,   204,   204,   204,   204,
1197      205,   205,   205,   205,   205,   205,   205,   206,   206,   206,
1198      207,   207,   207,   208,   208,   209,   209,   210,   210,   210,
1199      210,   210,   210,   210,   210,   210,   210,   210,   210,   210,
1200      210,   210,   211,   211,   212,   212,   212,   212,   212,   212,
1201      212,   213,   213,   214,   214,   214,   214,   215,   215,   216,
1202      216,   216,   216,   216,   216,   216,   216,   216,   217,   217,
1203      217,   217,   218,   218,   218,   218,   219,   219,   220,   220,
1204      220,   221,   222,   222,   222,   222,   222,   222,   223,   224,
1205      224,   225,   225,   225,   225,   226,   226,   227,   227,   228,
1206      228,   228,   228,   228,   229,   229,   229,   229,   231,   230,
1207      232,   230,   233,   234,   233,   235,   236,   236,   237,   238,
1208      238,   238,   238,   239,   239,   239,   239,   239,   239,   239,
1209      239,   239,   240,   240,   240,   241,   241,   242,   242,   242,
1210      242,   243,   244,   244,   244,   245,   245,   245,   246,   246,
1211      246,   246,   247,   247,   247,   247,   248,   248,   248,   248,
1212      248,   248,   249,   250,   251,   251,   252,   252,   252,   253,
1213      253,   254,   255,   256,   256,   256,   256,   256,   257,   257,
1214      258,   258,   259,   259,   259,   259,   259,   259,   259,   259,
1215      259,   260,   260,   261,   262,   262,   262,   262,   262,   262,
1216      262,   262,   262,   262,   263,   263,   263,   263,   264,   264,
1217      265,   265,   265,   265,   266,   266,   267,   267,   268,   268,
1218      268,   269,   269,   269,   270,   270,   271,   271,   272,   272,
1219      273,   274,   274,   274,   274,   274,   274,   274,   275,   275,
1220      275,   276,   277,   277,   278,   279,   279,   280,   280,   280,
1221      281,   281,   282,   282,   283,   283,   283,   284,   284,   284,
1222      285,   285,   285,   285,   285,   286,   286,   286,   286,   287,
1223      287,   288,   288,   289,   290,   290,   291,   291,   291,   292,
1224      292,   293,   293,   294,   294,   294,   294,   295,   296,   296,
1225      297,   297,   298,   298,   298,   298,   299,   299,   299,   300,
1226      300,   301,   301,   301,   302,   302,   303,   303,   303,   304,
1227      304,   304,   305,   305,   306,   306,   306,   307,   307,   307,
1228      308,   309,   309,   310,   310,   311,   311,   312,   313,   312,
1229      314,   315,   314,   316,   317,   316,   318,   318,   318,   320,
1230      319,   321,   321,   321,   321,   321,   322,   323,   324,   324,
1231      324,   325,   326,   326,   326,   327,   327,   328,   329,   329,
1232      330,   330,   330,   330,   331,   330,   330,   330,   332,   332
1233 };
1234
1235 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
1236 static const yytype_uint8 yyr2[] =
1237 {
1238        0,     2,     1,     0,     3,     0,     2,     2,     2,     2,
1239        0,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1240        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1241        1,     1,     1,     1,     1,     1,     1,     2,     0,     1,
1242        3,     1,     2,     0,     2,     4,     1,     1,     3,     4,
1243        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1244        1,     1,     1,     1,     1,     4,     1,     1,     1,     0,
1245        1,     2,     2,     2,     4,     0,     1,     2,     2,     2,
1246        2,     2,     2,     0,     3,     2,     2,     4,     0,     1,
1247        2,     2,     2,     2,     2,     0,     3,     2,     2,     4,
1248        1,     1,     0,     3,     2,     2,     1,     2,     1,     1,
1249        1,     1,     1,     0,     5,     2,     3,     2,     0,     3,
1250        2,     4,     5,     2,     0,     2,     2,     3,     1,     1,
1251        1,     1,     1,     1,     1,     1,     1,     4,     6,     2,
1252        1,     2,     3,     1,     1,     1,     0,     5,     2,     1,
1253        2,     0,     1,     0,     2,     2,     2,     1,     1,     1,
1254        2,     1,     1,     1,     1,     1,     1,     3,     3,     3,
1255        4,     4,     4,     4,     5,     5,     5,     1,     4,     4,
1256        1,     4,     4,     1,     1,     1,     1,     4,     4,     4,
1257        4,     4,     4,     4,     5,     5,     5,     4,     4,     4,
1258        3,     3,     1,     1,     1,     3,     3,     3,     3,     1,
1259        1,     3,     3,     4,     4,     4,     3,     1,     1,     1,
1260        3,     3,     4,     4,     4,     3,     3,     3,     1,     2,
1261        3,     3,     1,     2,     3,     3,     1,     1,     1,     1,
1262        1,     2,     1,     3,     3,     4,     4,     4,     2,     0,
1263        2,     1,     1,     1,     2,     4,     4,     2,     3,     1,
1264        1,     1,     1,     1,     1,     1,     1,     1,     0,     3,
1265        0,     4,     2,     0,     4,     4,     1,     2,     1,     3,
1266        2,     5,     3,     1,     1,     1,     1,     1,     1,     1,
1267        1,     1,     1,     2,     2,     1,     3,     5,     3,     4,
1268        2,     1,     1,     1,     3,     1,     1,     1,     1,     1,
1269        1,     1,     1,     1,     1,     1,     2,     2,     3,     3,
1270        1,     1,     3,     3,     0,     2,     5,     2,     1,     1,
1271        1,     2,     2,     1,     1,     1,     1,     1,     1,     1,
1272        0,     2,     1,     2,     1,     1,     2,     2,     1,     2,
1273        2,     1,     2,     1,     1,     1,     1,     1,     1,     1,
1274        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1275        0,     1,     2,     2,     1,     2,     1,     2,     1,     2,
1276        2,     1,     2,     2,     1,     1,     1,     1,     1,     1,
1277        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1278        1,     1,     0,     1,     1,     2,     2,     1,     3,     3,
1279        0,     2,     1,     2,     1,     1,     1,     1,     1,     1,
1280        1,     1,     2,     2,     2,     1,     1,     1,     1,     1,
1281        2,     0,     2,     3,     0,     1,     6,     2,     2,     1,
1282        2,     1,     1,     1,     3,     3,     3,     3,     2,     4,
1283        0,     2,     1,     1,     2,     2,     1,     1,     1,     1,
1284        3,     1,     2,     2,     1,     3,     3,     3,     1,     1,
1285        3,     3,     2,     1,     1,     2,     2,     1,     1,     1,
1286        1,     1,     1,     0,     2,     0,     2,     1,     0,     3,
1287        1,     0,     3,     1,     0,     3,     1,     2,     1,     0,
1288        3,     1,     1,     1,     1,     2,     2,     3,     0,     2,
1289        2,     2,     3,     3,     1,     1,     3,     3,     1,     2,
1290        1,     1,     1,     1,     0,     5,     2,     2,     2,     1
1291 };
1292
1293 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1294    STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
1295    means the default is an error.  */
1296 static const yytype_uint16 yydefact[] =
1297 {
1298        5,     3,     0,     0,     0,     1,     8,     0,     0,     0,
1299      262,   266,     0,   260,   264,   261,   265,     9,   110,   263,
1300      267,     0,   494,   491,   109,   259,   108,     0,     0,     0,
1301        0,   124,    47,   493,   490,     0,   162,     0,    20,    19,
1302       46,   124,     6,     0,    32,    50,    33,     0,     7,    12,
1303       13,    14,    18,   111,     0,     0,   140,   252,   165,   164,
1304       15,   158,   163,   251,   157,     0,   161,     0,   151,   253,
1305       17,    16,    41,   412,   478,   477,   381,   378,   385,   479,
1306        0,     0,     0,     0,     0,     0,     0,     0,   146,   324,
1307      336,   362,   361,   359,   334,   360,   335,   363,   338,   345,
1308      431,   344,   488,   402,   353,   402,   149,   402,   365,     0,
1309       59,   442,   487,   402,   302,   303,   400,   337,   399,   398,
1310      354,   355,   356,   357,   358,   131,     4,    39,    55,    52,
1311       53,    51,    54,   339,   130,     0,   128,    56,   132,    64,
1312      133,   145,   301,   144,    60,   143,   321,   402,   367,   320,
1313      333,    57,   348,   364,   342,   384,   402,   483,     0,   366,
1314      402,   340,   340,   402,   129,   439,    58,   468,   469,   473,
1315      474,   441,    63,    62,   306,   305,   307,     0,    75,    88,
1316      249,   273,     0,     0,     0,   139,   141,   249,     0,     0,
1317        0,     0,     0,   242,   180,   203,   248,   202,   210,   209,
1318      204,    37,     0,     0,    11,     0,     0,   236,   276,   237,
1319      278,     0,   115,   120,   107,   117,     0,   268,   272,   254,
1320      132,   133,   129,   257,   152,     0,   480,   413,   476,   475,
1321      374,   376,   382,   383,   379,   380,     0,    69,    42,     0,
1322      295,     0,     0,   410,   477,   310,     0,    22,    23,    21,
1323       34,   308,    35,    28,    29,    30,    27,    31,    36,    26,
1324      240,   158,   312,   239,     0,   123,     0,     0,   311,   309,
1325      410,    25,    24,   300,   148,     0,   150,     0,     0,     0,
1326      404,   340,   407,   403,   340,   437,     0,     0,   177,   218,
1327      332,   217,   219,   438,     0,   472,   390,   349,   350,   131,
1328      124,     0,   340,   448,   485,   395,     0,   393,   392,   396,
1329      394,   391,   397,   389,   343,   347,   346,   368,   369,   388,
1330      440,   316,   317,   340,     0,     0,     0,     0,   481,   482,
1331        0,    76,     0,    89,     0,     0,   151,     0,   524,   522,
1332        0,     0,   521,   501,   520,   523,   508,   499,   495,     0,
1333      496,   502,   503,   504,   518,     0,   498,     0,     0,   492,
1334        0,   101,     0,   100,   151,   126,   142,   125,     0,   228,
1335      184,   183,     0,     0,   232,   186,   185,     0,     0,     0,
1336      184,     0,     0,   204,     0,     0,     0,     0,     0,   127,
1337       43,   241,    61,    48,   134,   135,   136,   277,     0,   116,
1338      113,   119,   112,     0,   270,   258,   375,   377,     0,    70,
1339        0,     0,     0,   298,     0,   406,     0,   180,   160,     0,
1340        0,   405,   153,   323,   340,   330,   329,   325,   328,   483,
1341      414,   433,   420,   415,     0,   421,   429,   432,   416,   489,
1342      319,     0,   318,     0,     0,     0,     0,   304,   322,     0,
1343      453,   452,     0,   450,   484,   370,   331,   400,   351,   341,
1344      447,   467,   466,   471,   470,   137,    86,    74,    85,     0,
1345       78,    79,    77,   106,    80,    82,    81,    98,    87,    97,
1346        0,    91,    90,    92,    94,    93,   250,   255,   274,     0,
1347        0,     0,     0,   514,   526,     0,   515,   511,     0,     0,
1348      527,   505,     0,   506,   519,   497,   105,    99,     0,   104,
1349      256,     0,     0,     0,   229,     0,   387,   386,   243,     0,
1350        0,   233,   244,   401,     0,     0,     0,     0,   229,    34,
1351      205,   211,   207,   400,   208,   206,     0,     0,     0,   202,
1352        0,     0,   166,     0,     0,     0,     0,     0,   402,   443,
1353      212,   216,     0,    49,     0,   269,     0,   275,   285,   288,
1354      283,   286,   287,   290,   291,     0,   284,     0,   289,     0,
1355        0,    65,    66,    68,    73,    72,    67,   292,     0,    71,
1356        0,   296,   310,   299,   311,   309,   411,     0,     0,   121,
1357      464,     0,   327,   485,   430,   427,   428,   426,   425,   417,
1358      418,   422,   419,   423,   424,   409,   408,   238,   159,   220,
1359        0,   227,   226,   400,   225,   221,     0,     0,   455,   454,
1360      449,   371,   486,   402,   352,     0,    84,    96,     0,   517,
1361        0,     0,     0,   507,   510,     0,   529,   509,   500,   103,
1362        0,   228,   183,   230,     0,   184,   231,     0,     0,     0,
1363      184,   200,   201,     0,     0,   184,   234,   232,   235,   211,
1364      207,   400,   208,   206,     0,   214,   213,   215,     0,     0,
1365        0,   245,   170,     0,   246,   171,     0,   247,   181,   172,
1366      400,   173,   182,   340,   340,   340,    45,    44,    69,   271,
1367        0,     0,   280,     0,   293,   294,   297,     0,     0,   122,
1368        0,   155,   147,   156,   154,   370,   223,   222,   224,   178,
1369      478,   477,   179,   458,   456,   451,   457,   459,   461,   373,
1370      372,   434,   138,     0,   513,   512,     0,   516,   528,     0,
1371        0,     0,   197,   198,     0,     0,   187,   189,   191,   190,
1372      192,   193,   400,   188,   199,     0,     0,   214,   213,   215,
1373        0,     0,   167,   168,   169,   175,   174,   176,   446,   445,
1374      444,     0,     0,   282,   279,   474,   465,   340,     0,   463,
1375      462,   435,   436,   525,   184,   186,   195,   194,   196,   114,
1376        0,   326,   460,   281
1377 };
1378
1379 /* YYDEFGOTO[NTERM-NUM].  */
1380 static const yytype_int16 yydefgoto[] =
1381 {
1382       -1,     2,     4,     3,    42,    43,    44,   529,   299,   251,
1383       46,   126,   552,   204,    47,    48,   127,   253,   573,   574,
1384      410,   254,   332,   469,   255,   334,   480,   256,   362,   508,
1385      472,   257,    53,    54,   401,   554,    55,   216,   133,   188,
1386       56,   134,   367,   136,   137,    57,    58,    59,   220,   259,
1387      275,   225,   591,   221,   260,    61,    62,   752,   417,   289,
1388      195,   369,   374,   380,   201,   642,   198,   199,   391,   376,
1389      643,   656,   208,   609,   263,   383,    63,   336,    64,    65,
1390       66,    67,    68,   218,   403,   556,    69,   337,   141,   210,
1391      211,   577,   578,   579,   239,   142,   143,   144,   240,   265,
1392      266,   145,   146,   147,   277,   427,   428,   314,   148,   149,
1393      150,   321,   458,   459,   152,   153,   154,   316,   623,   232,
1394      233,   155,   156,   157,   732,   317,   297,   318,   158,   733,
1395      280,   281,   282,   283,   415,   159,   435,   603,   436,   604,
1396      437,   278,   160,   772,   161,   162,   163,   550,   222,   165,
1397      620,   453,   715,   716,   717,   589,   166,   167,   168,   169,
1398      170,   270,   330,   304,   455,   171,   279,   271,   183,   272,
1399      182,   348,   502,   499,   350,   351,   352,   498,   353,   496,
1400      497,   354,   355,   356,   489,   637
1401 };
1402
1403 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1404    STATE-NUM.  */
1405 #define YYPACT_NINF -542
1406 static const yytype_int16 yypact[] =
1407 {
1408       12,  -542,   128,  4145,   877,  -542,  -542,    54,    17,    48,
1409     -542,  -542,    54,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
1410     -542,    54,  -542,  -542,  -542,  -542,  -542,    64,    75,    75,
1411       54,  -542,  -542,  -542,  -542,   480,  -542,   480,  -542,  -542,
1412     -542,  -542,  -542,   135,  -542,  -542,  -542,   292,  -542,  -542,
1413     -542,  -542,  -542,  -542,   139,  1505,  -542,  -542,  -542,  -542,
1414      136,  -542,  -542,  -542,  -542,  3928,  -542,   209,    22,  -542,
1415     -542,  -542,  -542,   161,   211,   254,    92,    92,  -542,  -542,
1416      151,    23,   877,    54,    54,    54,  2972,    54,   168,  -542,
1417     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
1418     -542,  -542,  -542,   107,  -542,   107,  -542,   107,  -542,   600,
1419     -542,  -542,  -542,   107,  -542,  -542,   308,  -542,   266,   266,
1420     -542,  -542,  -542,  -542,  -542,   293,  -542,  -542,  -542,  -542,
1421     -542,  -542,  -542,  -542,  -542,  3710,  -542,  -542,   299,  -542,
1422       89,  -542,  -542,  -542,   179,  -542,  -542,   107,  -542,  -542,
1423     -542,  -542,  -542,  -542,  -542,  -542,   107,  -542,  1567,  -542,
1424      107,  -542,  -542,   107,   317,  -542,   245,  -542,    73,  -542,
1425     -542,  -542,  -542,  -542,  -542,  -542,  -542,   118,   219,   224,
1426      213,  -542,  1260,   411,  3821,  -542,  -542,   213,  1281,   626,
1427      706,   733,   163,  -542,  -542,  -542,  -542,  -542,   246,   255,
1428     -542,  -542,  1393,   253,  -542,   600,  1041,  -542,  -542,  -542,
1429      485,   222,   271,  -542,  -542,  -542,  4035,  -542,   378,  -542,
1430     -542,   136,  -542,  -542,  -542,   209,  -542,  -542,  -542,  -542,
1431     -542,  -542,   252,   257,   252,   257,   265,   316,  -542,   485,
1432      303,   581,   313,  -542,    59,   148,   766,  -542,  -542,  -542,
1433     1751,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
1434     -542,  1792,  -542,  -542,  3928,  -542,   107,   314,   202,   291,
1435     -542,  -542,  -542,  -542,  -542,   295,  -542,   633,   210,  1260,
1436     -542,  -542,  -542,   306,  -542,  -542,   733,   656,  -542,  -542,
1437     -542,  -542,  -542,  -542,   112,  -542,  -542,  -542,  -542,  -542,
1438     -542,   279,  -542,   675,   312,  -542,   600,  -542,  -542,  -542,
1439     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
1440     -542,  1525,  1525,  -542,   112,   112,   112,   112,  -542,  -542,
1441     3928,  -542,  4191,  -542,  4291,    54,    22,  3928,  -542,  -542,
1442      405,   433,  -542,  -542,  -542,  -542,  -542,  -542,  -542,   212,
1443     -542,  -542,  -542,  -542,  -542,  1362,  -542,   370,   352,  -542,
1444      -14,  -542,   122,  -542,    22,  -542,  -542,  -542,   685,  -542,
1445      323,  -542,   802,   744,  -542,   335,  -542,   107,   733,   748,
1446     1638,  3218,  2448,  1884,   777,   928,   951,   200,   308,  -542,
1447     -542,  -542,  -542,  -542,  -542,   136,  -542,  -542,  1041,  -542,
1448       54,  -542,  -542,   755,  -542,  -542,  -542,  -542,   344,  -542,
1449     4336,   343,    54,  -542,  3095,   346,   774,  1905,  -542,   351,
1450      161,   346,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
1451     -542,  -542,  -542,  -542,   156,  -542,   158,  -542,  -542,  -542,
1452     1525,    45,  1525,  4642,  2528,   951,  1169,  -542,  1525,   477,
1453     -542,  -542,   477,  -542,  -542,   -17,  -542,   266,  -542,  -542,
1454     1525,  -542,  -542,  -542,  -542,   488,  -542,  -542,  -542,   135,
1455     -542,  -542,  -542,  -542,   136,  -542,  -542,  -542,  -542,  -542,
1456      135,  -542,  -542,   136,  -542,  -542,  -542,  -542,  -542,   374,
1457      433,   433,   433,  -542,  -542,   433,  -542,  -542,   730,   406,
1458     -542,  -542,   390,  -542,  -542,  -542,  -542,  -542,   135,  -542,
1459     -542,  1040,  1043,  1114,  -542,  4601,  -542,  -542,  -542,  1167,
1460     1167,  -542,  -542,   306,  3341,  2602,  1226,  1226,  2641,  -542,
1461     -542,  -542,  -542,   440,  -542,  -542,   791,   499,   802,   505,
1462      805,   508,  -542,   107,   815,   509,  3464,  2680,   107,  2834,
1463     -542,  -542,   632,  -542,   400,  -542,   755,  -542,  -542,  -542,
1464     -542,  -542,  -542,  -542,  -542,    54,  -542,    54,  -542,    54,
1465      388,  -542,  -542,  -542,  -542,  -542,   136,  -542,   684,  -542,
1466     3095,  -542,  -542,  -542,  -542,  -542,  -542,   951,   161,  -542,
1467      393,  4487,  1525,   312,   158,  -542,  -542,  -542,  -542,  -542,
1468     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
1469     1208,  -542,  -542,   452,  -542,  -542,  4748,  2754,  -542,  -542,
1470      196,    92,  -542,   107,  -542,    75,  -542,  -542,  3821,  -542,
1471      485,   411,   915,  -542,  -542,  1362,  -542,  -542,  -542,  -542,
1472      847,   802,   505,  -542,   107,   173,  -542,   917,  4642,  2793,
1473     1712,  -542,  -542,   931,   802,   188,  -542,   107,  -542,  1985,
1474     2065,   464,  2086,  2166,   942,  -542,  -542,  -542,   777,   928,
1475      951,  -542,  -542,   951,  -542,  -542,   951,  -542,  -542,  -542,
1476      533,  -542,  -542,  -542,  -542,   306,  -542,  -542,   316,  -542,
1477      485,   581,  -542,  3095,  -542,  -542,  -542,  3587,  2680,  -542,
1478      161,  -542,  -542,  -542,  -542,   -17,  -542,  -542,  -542,  -542,
1479     -542,  -542,  -542,  -542,  -542,  -542,   403,  -542,    27,   252,
1480      257,   494,  -542,   149,  -542,  -542,   915,  -542,  -542,  1040,
1481     1043,  1114,  -542,  -542,  1262,  1114,  -542,  -542,  -542,  -542,
1482     -542,  -542,   592,  -542,  -542,  1167,  1167,  2246,  2267,  2347,
1483     1226,  1226,  -542,  -542,  -542,  -542,  -542,  -542,  1525,  1525,
1484     1525,  4443,   415,  -542,  -542,  2427,  -542,  -542,   161,  -542,
1485     -542,  -542,  -542,  -542,   460,   460,  -542,  -542,  -542,  -542,
1486     3095,  1525,  -542,  -542
1487 };
1488
1489 /* YYPGOTO[NTERM-NUM].  */
1490 static const yytype_int16 yypgoto[] =
1491 {
1492     -542,  -542,  -542,  -542,  -542,  -542,   -37,   -16,    -3,  -276,
1493      -58,   481,  -542,  -374,  -542,   -24,  -135,    18,  -542,   -29,
1494     -123,    69,  -542,  -542,    44,  -542,  -542,    94,   -59,  -542,
1495      240,     4,  -542,  -542,  -542,  -542,  -542,  -542,  -542,    13,
1496        9,   -42,    90,   -84,  -542,  -542,  -542,  -542,    25,     1,
1497     -542,  -227,  -542,     0,  -214,   -68,    11,   301,    -5,  -542,
1498     -542,    41,   103,    -1,    -2,   -26,  -542,  -542,    95,     3,
1499     -164,  -134,   -71,   -66,   -28,   -22,   304,   389,  -542,   -52,
1500     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
1501     -204,  -542,  -542,    -7,   134,  -542,  -542,   288,    32,  -306,
1502     -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,  -542,
1503     -542,  -146,    10,    43,  -542,  -542,   445,  -542,   -91,   -53,
1504      -51,  -542,  -308,  -232,  -287,  -542,   -45,  -542,  -542,  -297,
1505        2,   -46,   -40,  -302,   348,  -542,  -542,  -542,   186,  -542,
1506     -542,  -542,  -542,  -542,  -542,  -542,   -65,  -542,    39,  -542,
1507     -542,     6,  -542,  -542,  -128,    34,  -542,   114,   -61,   -74,
1508     -541,   -67,  -542,   223,    58,  -542,  -542,    99,  -542,    37,
1509     -542,   375,  -117,  -542,  -141,  -542,  -267,  -542,  -542,   315,
1510      146,  -292,  -147,  -271,  -542,    26
1511 };
1512
1513 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1514    positive, shift that token.  If negative, reduce the rule which
1515    number is the opposite.  If zero, do what YYDEFACT says.
1516    If YYTABLE_NINF, syntax error.  */
1517 #define YYTABLE_NINF -481
1518 static const yytype_int16 yytable[] =
1519 {
1520       45,   125,   258,    60,   140,   139,   227,    52,   132,   197,
1521      207,   197,   269,   200,   151,   200,   322,   276,   261,   209,
1522      262,   268,   128,   219,   234,   372,   235,   381,   252,   138,
1523      194,   215,   194,   196,   264,   411,   360,   185,   186,   177,
1524       71,   173,   359,   164,   180,   429,   267,    50,   130,   249,
1525      418,   207,    45,   181,   202,   295,   377,   382,   226,   284,
1526      209,   285,   187,   504,   516,   349,   358,   293,   504,   224,
1527      250,   393,    49,   129,   298,   523,   712,   229,   223,   125,
1528      522,    88,   140,   139,   505,   518,   132,   292,   503,  -135,
1529      326,   769,   151,   503,   135,   626,   217,    51,   131,   357,
1530      128,   302,    70,   172,   288,   530,   627,   138,   583,   487,
1531      303,     1,   291,   180,   320,   621,   346,   323,   243,   173,
1532      226,   164,   443,   506,    74,    75,   130,   106,     5,   622,
1533       79,   328,   402,   174,   639,   440,   329,   510,   442,   397,
1534      517,   618,   363,   217,   619,   347,   347,   178,   175,   176,
1535      506,   129,   444,   237,   605,   770,   448,   765,  -102,  -314,
1536       18,  -314,   349,   371,   174,   371,    24,   200,   292,   430,
1537       26,   203,   135,   207,   226,   595,   131,   460,   179,   175,
1538      176,   172,   209,   292,  -186,  -102,  -186,    18,   370,   375,
1539      313,  -480,  -480,    24,   184,   319,   261,    26,    22,  -186,
1540      288,  -186,   207,   392,   290,    41,   395,   139,   291,   226,
1541      132,   209,   264,  -315,   524,  -315,   151,   327,   241,   242,
1542      197,   273,   219,   430,   128,   300,   419,   636,   596,   228,
1543      516,   394,   597,   295,   230,   231,   405,   598,   413,   294,
1544      432,   523,   347,   173,   525,   396,   675,   685,   530,   291,
1545      130,   672,    22,   507,   384,   385,   386,   449,   450,   451,
1546      371,   452,    28,   553,    29,   463,   464,   514,   515,   212,
1547      678,    33,   229,   274,   696,   129,   236,    31,   592,   296,
1548      773,   433,   521,   515,   292,   599,   600,   102,   465,   205,
1549       38,    39,   431,   -61,   432,   488,   601,   258,   713,  -134,
1550      131,   288,  -313,   602,  -313,   172,   517,   301,   535,   291,
1551      111,   548,   112,   446,   551,   438,   531,  -136,   347,   331,
1552       74,    75,   549,   252,   333,    33,    79,   500,   501,   468,
1553      258,   479,   474,   516,   483,   433,   473,   224,   473,    41,
1554      585,   387,   523,   504,   249,   335,   516,   434,   646,   584,
1555      388,   635,   371,   590,   398,   523,   252,   634,   539,   542,
1556      539,   636,   200,   646,   728,   224,   509,   486,   503,   476,
1557      615,   485,   324,   325,   606,   608,   470,   249,   611,   194,
1558      288,   349,   538,   390,   546,   404,   658,   764,   291,   291,
1559      399,   610,   534,   658,   406,   392,   418,   408,   395,   139,
1560      407,   456,   132,   555,   114,   115,   249,   572,   151,   517,
1561      576,   575,   624,   205,    38,    39,   128,   514,   515,   539,
1562      409,   678,   517,   394,   206,   422,   471,   607,   481,   521,
1563      515,   475,   180,   484,   504,   173,   412,   396,   461,   462,
1564      258,   652,   130,   616,   581,   414,   420,   608,   291,   651,
1565      441,   663,   665,   666,   614,   728,   261,   454,   667,   659,
1566      490,   347,   258,   610,   706,   707,   252,   129,   501,   557,
1567      708,   438,   264,   682,   783,   580,   747,   748,   249,   586,
1568      543,   547,   749,   588,   360,   726,   762,   249,   252,   200,
1569      725,    76,   131,   625,   542,   490,   258,   172,   491,   607,
1570      638,   492,   683,   493,   628,   500,   585,   671,   250,   249,
1571      370,   645,   650,  -166,   358,   584,   674,   677,   655,   375,
1572      693,   590,   252,   495,   357,   341,   491,   343,   687,   492,
1573      688,   493,   700,    38,    39,   662,   768,   758,   759,   760,
1574      617,   346,   608,   249,   771,   755,   756,   780,   608,    45,
1575      709,   757,   641,   718,   648,   515,   689,   681,   610,   724,
1576      654,   539,   703,   238,   610,   761,   646,   641,   719,   723,
1577      720,   189,   190,   191,   482,   695,   364,   192,   193,   249,
1578      608,   426,   736,   737,   704,   697,   363,   646,   572,   447,
1579      291,   576,   684,   207,   347,   347,   610,   690,   347,   691,
1580      607,   692,   209,   315,   776,   777,   205,    38,    39,   258,
1581      778,   249,   658,   258,   767,   644,   649,   658,   421,   585,
1582      594,   781,   699,   657,   682,   721,   714,   681,   584,   261,
1583      657,   709,   607,   766,   722,   252,   629,   630,   631,   252,
1584      782,   632,   539,   542,   539,   264,   200,   539,    77,    78,
1585      539,   705,   593,   207,   439,   494,   249,     0,   727,   743,
1586      249,     0,   209,   194,   288,     0,   538,     0,   546,     0,
1587        0,   616,   291,   291,   697,     0,   291,     0,     0,   291,
1588        0,   250,   698,     0,     0,   537,   541,   545,   763,   347,
1589        0,   189,   190,   286,     0,     0,   258,   287,   193,     0,
1590      423,   718,    37,    38,    39,     0,   585,   200,   681,   542,
1591        0,     0,   200,     0,     0,   584,     0,   189,   190,   191,
1592      542,     0,   252,   368,   193,     0,     0,   509,   370,   645,
1593      650,     0,     0,   774,   775,     0,   449,   450,   451,   424,
1594      452,     0,    32,   249,   655,   375,   545,   384,   385,   445,
1595       35,   425,     0,    37,    38,    39,     0,    40,   572,     7,
1596        0,   576,   575,   686,   543,   547,     0,     0,   617,     0,
1597      641,   698,   648,     0,     0,   654,   511,   512,   513,     0,
1598       10,    11,   338,    12,     0,     0,   654,    13,    14,    15,
1599       16,   641,     0,     0,    19,    20,    21,   189,   190,   286,
1600        0,    25,     0,   373,   193,    37,    38,    39,    28,   694,
1601       29,     0,   537,   541,   545,    30,    76,    77,    78,     0,
1602      537,   541,     0,    31,   189,   190,   378,   537,   541,     0,
1603      379,   193,     0,   644,   649,   519,   520,   513,   644,   526,
1604      527,   513,   339,   340,   341,   342,   343,     0,     0,   657,
1605        0,     0,    38,    39,   657,   344,   345,   189,   190,   378,
1606      346,   633,     0,   416,   193,   384,   385,   587,   189,   190,
1607      191,     0,    35,    36,   536,   193,     0,   -38,    72,     0,
1608        0,     7,   668,   669,   670,    41,     0,    73,   545,    74,
1609       75,    76,    77,    78,     0,    79,   668,   669,   673,     8,
1610        9,    80,    10,    11,     0,    81,   668,   669,   676,    13,
1611       14,    15,    16,     0,    82,    18,    19,    20,    21,    22,
1612       23,    24,     0,    25,    83,    26,     0,     0,    84,    27,
1613       28,    85,    29,    86,     0,    87,    88,    30,   729,   730,
1614      731,     0,     0,    89,     0,    31,     0,    90,    91,     0,
1615       92,    93,    94,    95,    96,    97,     0,    98,    99,     0,
1616      100,     0,   101,     0,   102,   103,   104,   338,     0,     0,
1617      753,   754,     0,     0,   754,     0,     0,   754,     0,     0,
1618      105,     0,   106,   107,   108,   109,   110,   111,     0,   112,
1619        0,     0,    33,    34,    35,    36,     0,   113,    37,    38,
1620       39,     0,   114,   115,   116,     0,     0,    41,   734,   735,
1621      731,   117,   118,   119,   120,   121,   122,   123,   124,   189,
1622      190,   378,   745,   746,   731,   540,   193,   339,   340,     0,
1623      342,   753,   754,   750,   751,   731,   753,    38,    39,     0,
1624      344,   345,   189,   190,   378,     7,     0,   753,   544,   193,
1625        0,    73,   753,    74,    75,    76,    77,    78,     0,    79,
1626        0,     0,     0,     8,     9,    80,    10,    11,     0,    81,
1627        0,     0,     0,    13,    14,    15,    16,     0,     0,    18,
1628       19,    20,    21,    22,    23,    24,     0,    25,    83,    26,
1629        0,     0,    84,    27,    28,    85,    29,    86,     0,    87,
1630       88,    30,     0,     0,     0,     0,     0,    89,     0,    31,
1631        0,    90,    91,     0,    92,    93,    94,    95,    96,    97,
1632        0,    98,    99,     0,   100,     0,   101,     0,   102,   103,
1633      104,   189,   190,   191,   189,   190,   378,   640,   193,     0,
1634      640,   193,     0,     0,   105,     0,   106,   107,   108,   109,
1635      110,   111,     0,   112,     0,     0,    33,    34,    35,    36,
1636        0,   113,    37,    38,    39,     0,   114,   115,   116,   -40,
1637      365,    41,     0,     7,     0,   117,   118,   119,   120,   121,
1638      122,   123,   124,    76,    77,    78,     0,     0,     0,     0,
1639        0,     0,     0,    80,    10,    11,     0,    12,     0,     0,
1640        0,    13,    14,    15,    16,   189,   190,   378,    19,    20,
1641       21,   647,   193,     0,     0,    25,    83,     0,     0,     0,
1642       84,     0,    28,    85,    29,    86,     0,    87,     0,    30,
1643        0,     0,     0,    10,    11,    89,    12,    31,     0,    90,
1644       13,    14,    15,    16,    94,     0,    96,    19,    20,    98,
1645        0,     0,   100,     0,    25,     0,   102,   103,   189,   190,
1646      378,    28,     0,    29,   653,   193,     0,     0,    30,     0,
1647        0,     0,   105,     0,     0,   107,    31,     0,     0,   111,
1648        0,   112,   365,     0,     0,     7,    35,    36,     0,   113,
1649       37,    38,    39,     0,     0,    76,    77,    78,     0,    41,
1650        0,     0,     0,   117,     0,    80,    10,    11,     0,    12,
1651        0,     0,   338,    13,    14,    15,    16,   189,   190,   378,
1652       19,    20,    21,   664,   193,     0,    36,    25,    83,     0,
1653        0,     0,    84,     0,    28,    85,    29,    86,    41,    87,
1654        0,    30,     0,     0,     0,     0,     0,    89,     0,    31,
1655      366,    90,     0,   189,   190,   191,    94,     0,    96,   647,
1656      193,    98,     0,     0,   100,     0,     0,     0,   102,   103,
1657        0,     0,   339,   340,   341,   342,   343,     0,     0,     0,
1658        0,     0,    38,    39,   105,   344,   345,   107,     0,     0,
1659      346,   111,     0,   112,   365,     0,     0,     7,    35,    36,
1660        0,   113,    37,    38,    39,     0,     0,    76,    77,    78,
1661        0,    41,     0,     0,   338,   117,     0,    80,    10,    11,
1662        0,    12,     0,     0,     0,    13,    14,    15,    16,     0,
1663        0,     0,    19,    20,    21,     0,     0,     0,     0,    25,
1664       83,     0,     0,     0,    84,     0,    28,    85,    29,    86,
1665        0,    87,     0,    30,     0,     0,     0,     0,     0,    89,
1666        0,    31,     0,    90,     0,     0,     0,     0,    94,     0,
1667       96,     0,     0,    98,   339,   340,   100,   342,     0,     0,
1668      102,   103,     0,     0,    38,    39,     0,   344,   345,     0,
1669        0,     0,   346,     0,     0,     0,   105,     0,     0,   107,
1670        0,     0,     0,   111,     0,   112,   213,     0,     0,  -118,
1671       35,    36,     0,   113,    37,    38,    39,     0,     0,  -118,
1672     -118,  -118,     0,    41,   389,     0,     0,   117,     0,  -118,
1673     -118,  -118,     0,  -118,     0,    73,     0,  -118,  -118,  -118,
1674     -118,     0,     0,     0,  -118,  -118,  -118,     0,     0,     0,
1675        0,  -118,  -118,     0,     0,     0,  -118,     0,  -118,  -118,
1676     -118,  -118,     0,  -118,     0,  -118,     0,     0,     0,     0,
1677        0,  -118,     0,  -118,     0,  -118,     0,    73,     0,     0,
1678     -118,     0,  -118,     0,     0,  -118,     0,     0,  -118,     0,
1679        0,     0,     0,  -118,     0,     0,    91,     0,    92,    93,
1680        0,    95,     0,    97,     0,     0,    99,     0,  -118,    22,
1681      101,  -118,     0,     0,   104,    32,     0,     0,     0,     0,
1682        0,     0,  -118,  -118,     0,  -118,    37,    38,    39,     0,
1683       40,     0,   108,   109,   305,  -118,   214,     0,    91,  -118,
1684       92,    93,     0,    95,     0,    97,     0,     0,  -186,  -186,
1685     -186,  -186,   457,     0,     0,     0,  -186,     0,     0,     0,
1686      118,   119,   120,   121,   122,   123,   124,     0,     0,     0,
1687        0,     0,     0,     0,   108,   109,     0,   174,     0,     0,
1688        0,     0,    33,     0,   306,     0,     0,     0,     0,     0,
1689        0,     0,   175,   176,   307,   308,     0,     0,     0,     0,
1690      309,   310,   311,   312,   120,   121,   122,   123,   124,  -186,
1691        0,  -186,  -186,     0,  -186,     0,  -186,     0,     0,  -186,
1692        0,     0,  -186,  -186,  -186,  -186,     0,  -186,     0,     0,
1693     -186,     0,   528,   515,     0,     0,     0,     0,     0,     0,
1694        0,     0,     0,     0,     0,  -186,  -186,  -186,     0,     0,
1695        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1696        0,  -238,  -238,  -238,  -238,  -186,     0,     0,     0,  -238,
1697        0,     0,     0,  -186,  -186,  -186,  -186,  -186,  -186,  -186,
1698        0,     0,     0,  -186,     0,  -186,  -186,     0,  -186,     0,
1699     -186,     0,     0,  -186,     0,     0,     0,  -186,     0,     0,
1700        0,  -186,  -159,  -159,  -159,  -159,   744,   515,     0,     0,
1701     -159,     0,     0,     0,     0,     0,     0,     0,     0,  -186,
1702     -186,  -186,  -238,     0,  -238,  -238,     0,  -238,     0,  -238,
1703        0,     0,  -238,     0,     0,     0,  -238,     0,     0,  -186,
1704     -238,     0,     0,     0,     0,     0,     0,  -186,  -186,  -186,
1705     -186,  -186,  -186,  -186,     0,     0,     0,     0,  -238,  -238,
1706     -238,     0,     0,  -159,     0,  -159,  -159,     0,  -159,     0,
1707     -159,     0,     0,  -159,     0,     0,     0,  -159,  -238,     0,
1708        0,  -159,     0,     0,     0,     0,  -238,  -238,  -238,  -238,
1709     -238,  -238,  -238,     0,  -219,  -219,  -219,  -219,     0,  -159,
1710     -159,  -159,  -219,     0,     0,     0,     0,     0,     0,     0,
1711        0,     0,     0,     0,     0,  -177,  -177,  -177,  -177,  -159,
1712        0,     0,     0,  -177,     0,     0,     0,  -159,  -159,  -159,
1713     -159,  -159,  -159,  -159,     0,     0,     0,     0,     0,     0,
1714        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1715        0,     0,     0,     0,     0,  -219,     0,  -219,  -219,     0,
1716     -219,     0,  -219,     0,     0,  -219,     0,     0,     0,  -219,
1717        0,     0,     0,  -219,     0,     0,  -177,     0,  -177,  -177,
1718        0,  -177,     0,  -177,     0,     0,  -177,     0,     0,     0,
1719     -177,  -219,  -219,  -219,  -177,  -227,  -227,  -227,  -227,     0,
1720        0,     0,     0,  -227,     0,     0,     0,     0,     0,     0,
1721        0,  -219,  -177,  -177,  -177,     0,     0,     0,     0,  -219,
1722     -219,  -219,  -219,  -219,  -219,  -219,     0,     0,     0,     0,
1723        0,     0,  -177,     0,     0,     0,     0,     0,     0,     0,
1724     -177,  -177,  -177,  -177,  -177,  -177,  -177,     0,     0,     0,
1725        0,     0,     0,     0,     0,     0,  -227,     0,  -227,  -227,
1726        0,  -227,     0,  -227,     0,     0,  -227,     0,     0,     0,
1727     -227,     0,     0,     0,  -227,  -226,  -226,  -226,  -226,     0,
1728        0,     0,     0,  -226,     0,     0,     0,     0,     0,     0,
1729        0,     0,  -227,  -227,  -227,     0,  -225,  -225,  -225,  -225,
1730        0,     0,     0,     0,  -225,     0,     0,     0,     0,     0,
1731        0,     0,  -227,     0,     0,     0,     0,     0,     0,     0,
1732     -227,  -227,  -227,  -227,  -227,  -227,  -227,     0,     0,     0,
1733        0,     0,     0,     0,     0,     0,  -226,     0,  -226,  -226,
1734        0,  -226,     0,  -226,     0,     0,  -226,     0,     0,     0,
1735     -226,     0,     0,     0,  -226,     0,     0,  -225,     0,  -225,
1736     -225,     0,  -225,     0,  -225,     0,     0,  -225,     0,     0,
1737        0,  -225,  -226,  -226,  -226,  -225,  -221,  -221,  -221,  -221,
1738        0,     0,     0,     0,  -221,     0,     0,     0,     0,     0,
1739        0,     0,  -226,  -225,  -225,  -225,     0,     0,     0,     0,
1740     -226,  -226,  -226,  -226,  -226,  -226,  -226,     0,     0,     0,
1741        0,     0,     0,  -225,     0,     0,     0,     0,     0,     0,
1742        0,  -225,  -225,  -225,  -225,  -225,  -225,  -225,     0,     0,
1743        0,     0,     0,     0,     0,     0,     0,  -221,     0,  -221,
1744     -221,     0,  -221,     0,  -221,     0,     0,  -221,     0,     0,
1745        0,  -221,     0,     0,     0,  -221,  -223,  -223,  -223,  -223,
1746        0,     0,     0,     0,  -223,     0,     0,     0,     0,     0,
1747        0,     0,     0,  -221,  -221,  -221,     0,  -222,  -222,  -222,
1748     -222,     0,     0,     0,     0,  -222,     0,     0,     0,     0,
1749        0,     0,     0,  -221,     0,     0,     0,     0,     0,     0,
1750        0,  -221,  -221,  -221,  -221,  -221,  -221,  -221,     0,     0,
1751        0,     0,     0,     0,     0,     0,     0,  -223,     0,  -223,
1752     -223,     0,  -223,     0,  -223,     0,     0,  -223,     0,     0,
1753        0,  -223,     0,     0,     0,  -223,     0,     0,  -222,     0,
1754     -222,  -222,     0,  -222,     0,  -222,     0,     0,  -222,     0,
1755        0,     0,  -222,  -223,  -223,  -223,  -222,  -224,  -224,  -224,
1756     -224,     0,     0,     0,     0,  -224,     0,     0,     0,     0,
1757        0,     0,     0,  -223,  -222,  -222,  -222,     0,     0,     0,
1758        0,  -223,  -223,  -223,  -223,  -223,  -223,  -223,     0,     0,
1759        0,     0,     0,     0,  -222,     0,     0,     0,     0,     0,
1760        0,     0,  -222,  -222,  -222,  -222,  -222,  -222,  -222,     0,
1761        0,     0,     0,     0,     0,     0,     0,     0,  -224,     0,
1762     -224,  -224,     0,  -224,     0,  -224,     0,     0,  -224,     0,
1763        0,     0,  -224,     0,     0,     0,  -224,  -179,  -179,  -179,
1764     -179,     0,     0,     0,     0,  -179,     0,     0,     0,     0,
1765        0,     0,     0,     0,  -224,  -224,  -224,     0,    73,     0,
1766       74,    75,     0,     0,     0,     0,    79,     0,     0,     0,
1767        0,     0,     0,     0,  -224,     0,     0,     0,     0,     0,
1768        0,     0,  -224,  -224,  -224,  -224,  -224,  -224,  -224,     0,
1769        0,     0,     0,     0,     0,     0,     0,     0,  -179,     0,
1770     -179,  -179,     0,  -179,     0,  -179,     0,     0,  -179,     0,
1771        0,     0,  -179,     0,     0,     0,  -179,     0,     0,    91,
1772        0,    92,    93,     0,    95,     0,    97,     0,     0,    99,
1773        0,     0,     0,   101,  -179,  -179,  -179,   104,    73,     0,
1774       74,    75,     0,     0,     0,     0,    79,     0,     0,     0,
1775        0,     0,     0,     0,  -179,   108,   109,   532,     0,     0,
1776        0,     0,  -179,  -179,  -179,  -179,  -179,  -179,  -179,     0,
1777        0,     0,     0,     0,     0,   533,     0,     0,     0,     0,
1778        0,     0,     0,   118,   119,   120,   121,   122,   123,   124,
1779        0,     0,     0,     0,     0,     0,     0,     0,     0,    91,
1780        0,    92,    93,     0,    95,     0,    97,     0,     0,    99,
1781        0,     0,    73,   101,    74,    75,     0,   104,     0,     0,
1782       79,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1783        0,     0,     0,     0,     0,   108,   109,   612,     0,     0,
1784        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1785        0,  -233,     0,  -233,  -233,   613,     0,     0,     0,  -233,
1786        0,     0,     0,   118,   119,   120,   121,   122,   123,   124,
1787        0,     0,     0,    91,     0,    92,    93,     0,    95,     0,
1788       97,     0,     0,    99,     0,     0,     0,   101,     0,     0,
1789       73,   104,    74,    75,     0,     0,     0,     0,    79,     0,
1790        0,     0,     0,     0,     0,     0,     0,     0,     0,   108,
1791      109,   660,  -233,     0,  -233,  -233,     0,  -233,     0,  -233,
1792        0,     0,  -233,     0,     0,     0,  -233,     0,     0,   661,
1793     -233,     0,     0,     0,     0,     0,     0,   118,   119,   120,
1794      121,   122,   123,   124,     0,     0,     0,     0,  -233,  -233,
1795     -233,    91,     0,    92,    93,     0,    95,     0,    97,     0,
1796        0,    99,     0,     0,    73,   101,   710,   711,  -233,   104,
1797        0,     0,    79,     0,     0,     0,  -233,  -233,  -233,  -233,
1798     -233,  -233,  -233,     0,     0,     0,     0,   108,   109,   679,
1799        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1800        0,     0,     0,    73,     0,   738,   739,   680,     0,     0,
1801        0,   740,     0,     0,     0,   118,   119,   120,   121,   122,
1802      123,   124,     0,     0,     0,    91,     0,    92,    93,     0,
1803       95,     0,    97,     0,     0,    99,     0,     0,     0,   101,
1804        0,     0,     0,   104,    73,   243,     0,   226,     0,     0,
1805        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1806        0,   108,   109,   679,    91,     0,    92,    93,     0,    95,
1807        0,    97,     0,     0,    99,     0,     0,     0,   101,     0,
1808        0,   680,   104,     0,     0,     0,     0,     0,     0,   118,
1809      119,   120,   121,   122,   123,   124,     0,     0,     0,     0,
1810      108,   109,   741,     0,     0,    91,     0,    92,    93,     0,
1811       95,     0,    97,     0,     0,    99,     0,     0,     0,   101,
1812      742,     0,     0,   104,     0,     0,     0,     0,   118,   119,
1813      120,   121,   122,   123,   124,     0,     0,     0,     0,     0,
1814        0,   108,   109,     0,     0,     0,     0,     0,     0,     0,
1815        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1816        0,   457,     0,     0,     0,     0,     0,     0,     0,   118,
1817      119,   120,   121,   122,   123,   124,     7,     0,     0,     0,
1818        0,     0,     0,   243,    74,   244,    76,    77,    78,     0,
1819       79,     0,     0,     0,     8,     9,    80,    10,    11,     0,
1820       81,     0,     0,     0,    13,    14,    15,    16,     0,     0,
1821       18,    19,    20,    21,    22,    23,    24,     0,    25,    83,
1822       26,     0,     0,    84,    27,    28,    85,    29,    86,     0,
1823       87,    88,    30,     0,     0,     0,     0,     0,    89,     0,
1824       31,     0,    90,     0,     0,     0,     0,    94,     0,    96,
1825        0,     0,    98,     0,     0,   100,     0,     0,     0,   102,
1826      103,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1827        0,     0,     0,     0,     0,   105,     0,   106,   107,     0,
1828        0,   245,   111,     0,   112,     0,     0,    33,    34,    35,
1829       36,     0,   113,   246,    38,    39,     0,   247,   248,     7,
1830        0,     0,    41,     0,     0,     0,   117,    74,    75,    76,
1831       77,    78,     0,    79,     0,     0,     0,     8,     9,    80,
1832       10,    11,     0,    81,     0,     0,     0,    13,    14,    15,
1833       16,     0,     0,    18,    19,    20,    21,    22,    23,    24,
1834        0,    25,    83,    26,     0,     0,    84,    27,    28,    85,
1835       29,    86,     0,    87,    88,    30,     0,     0,     0,     0,
1836        0,    89,     0,    31,     0,    90,     0,     0,     0,     0,
1837       94,     0,    96,     0,     0,    98,     0,     0,   100,     0,
1838        0,     0,   102,   103,     0,     0,     0,     0,     0,     0,
1839        0,     0,     0,     0,     0,     0,     0,     0,   105,     0,
1840      106,   107,     0,     0,   582,   111,     0,   112,     0,     0,
1841       33,    34,    35,    36,     0,   113,    37,    38,    39,     0,
1842      247,   248,     7,     0,     0,    41,     0,     0,     0,   117,
1843        0,     0,    76,    77,    78,     0,     0,     0,     0,     0,
1844        8,     9,    80,    10,    11,     0,    81,     0,     0,     0,
1845       13,    14,    15,    16,     0,     0,    18,    19,    20,    21,
1846       22,    23,    24,     0,    25,    83,    26,     0,     0,    84,
1847       27,    28,    85,    29,    86,     0,    87,    88,    30,     0,
1848        0,     0,     0,     0,    89,     0,    31,     0,    90,     0,
1849        0,     0,     0,    94,     0,    96,     0,     0,    98,     0,
1850        0,   100,     0,     0,     0,   102,   103,     0,     0,     0,
1851        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1852        0,   105,     0,   106,   107,     0,     0,     0,   111,     0,
1853      112,     0,     0,    33,    34,    35,    36,     0,   113,    37,
1854       38,    39,     0,   247,   248,     7,     0,     0,    41,     0,
1855        0,     0,   117,     0,     0,    76,    77,    78,     0,     0,
1856        0,     0,     0,     8,     9,    80,    10,    11,     0,    81,
1857        0,     0,     0,    13,    14,    15,    16,     0,     0,    18,
1858       19,    20,    21,    22,    23,    24,     0,    25,    83,    26,
1859        0,     0,    84,    27,    28,    85,    29,    86,     0,    87,
1860       88,    30,     0,     0,     0,     0,     0,    89,     0,    31,
1861        0,    90,     0,     0,     0,     0,    94,     0,    96,     0,
1862        0,    98,     0,     0,   100,     0,     0,     0,   102,   103,
1863        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1864        0,     0,     0,     0,   105,     0,   106,   107,     0,     0,
1865        0,   111,     0,   112,     0,     0,    33,    34,    35,    36,
1866        0,   113,   246,    38,    39,     0,   247,   248,     7,     0,
1867        0,    41,     0,     0,     0,   117,     0,     0,    76,    77,
1868       78,     0,     0,     0,     0,     0,     8,     9,    80,    10,
1869       11,     0,    81,     0,     0,     0,    13,    14,    15,    16,
1870        0,     0,    18,    19,    20,    21,    22,    23,    24,     0,
1871       25,    83,    26,     0,     0,    84,    27,    28,    85,    29,
1872       86,     0,    87,    88,    30,     0,     0,     0,     0,     0,
1873       89,     0,    31,     0,    90,     0,     0,     0,     0,    94,
1874        0,    96,     0,     0,    98,     0,     0,   100,     0,     0,
1875        0,     0,   103,     0,     0,     0,     0,     0,     0,     0,
1876        0,     0,     0,     0,     0,     0,     0,   105,     0,   106,
1877      107,     0,     0,     0,     0,     0,     0,     0,     0,    33,
1878       34,    35,    36,     0,   113,    37,    38,    39,     0,   247,
1879      248,     7,     0,     0,    41,     0,     0,     0,   117,     0,
1880        0,    76,    77,    78,     0,     0,     0,     0,     0,     8,
1881        9,    80,    10,    11,     0,    81,     0,     0,     0,    13,
1882       14,    15,    16,     0,     0,    18,    19,    20,    21,    22,
1883       23,    24,     0,    25,    83,    26,     0,     0,    84,    27,
1884       28,    85,    29,    86,     0,    87,    88,    30,     0,     0,
1885        0,     0,     0,    89,     0,    31,     0,    90,     0,     0,
1886        0,     0,    94,     0,    96,     0,     0,    98,     0,     0,
1887      100,     0,     0,     0,     0,   103,     0,     0,     0,     0,
1888        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1889      105,     0,   106,   107,     0,     0,     0,     0,     0,     0,
1890        0,     0,    33,    34,    35,    36,     0,   113,   246,    38,
1891       39,     0,   247,   248,     7,     0,     0,    41,     0,     0,
1892        0,   117,     0,     0,    76,    77,    78,     0,     0,     0,
1893        0,     0,     0,     0,    80,    10,    11,     0,    12,     0,
1894        0,     0,    13,    14,    15,    16,     0,     0,     0,    19,
1895       20,    21,     0,     0,     0,     0,    25,    83,     0,     0,
1896        0,    84,     0,    28,    85,    29,    86,     0,    87,     0,
1897       30,     0,     0,     0,     0,     0,    89,     0,    31,     0,
1898       90,     0,     0,     0,     0,    94,     0,    96,     0,     0,
1899       98,     0,     0,   100,     0,     0,     0,   102,   103,     0,
1900        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1901        0,     0,     0,   105,     0,     0,   107,     0,     0,     0,
1902      111,     0,   112,     0,     0,     7,     0,    35,    36,     0,
1903      113,    37,    38,    39,     0,    76,    77,    78,     0,     0,
1904       41,     0,     0,     0,   117,    80,    10,    11,     0,    12,
1905        0,     0,     0,    13,    14,    15,    16,     0,     0,     0,
1906       19,    20,    21,     0,     0,     0,     0,    25,    83,     0,
1907        0,     0,    84,     0,    28,    85,    29,    86,     0,    87,
1908        0,    30,     0,     0,     0,     0,     0,    89,     0,    31,
1909        0,    90,     0,     0,     0,     0,    94,     0,    96,     0,
1910        0,    98,     0,     0,   100,     0,     0,     0,   102,   103,
1911        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1912        0,     0,     0,     0,   105,     0,     0,   107,     0,     0,
1913        0,   111,     7,   112,     0,     0,     0,     0,    35,    36,
1914        0,   113,    76,    77,    78,   361,     0,     0,     0,     0,
1915        0,    41,    80,    10,    11,   117,    12,     0,     0,     0,
1916       13,    14,    15,    16,     0,     0,     0,    19,    20,    21,
1917        0,     0,     0,     0,    25,    83,     0,     0,     0,    84,
1918        0,    28,    85,    29,    86,     0,    87,     0,    30,     0,
1919        0,     0,     0,     0,    89,     0,    31,     0,    90,     0,
1920        0,     0,     0,    94,     0,    96,     0,     0,    98,     0,
1921        0,   100,     0,     0,     0,   102,   103,     0,     0,     0,
1922        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1923        0,   105,     0,     0,   107,     0,     0,     0,   111,     7,
1924      112,     0,     0,     0,     0,    35,    36,     0,   113,    76,
1925       77,    78,     0,     0,     0,     0,     0,     0,    41,    80,
1926       10,    11,   117,   400,     0,     0,     0,    13,    14,    15,
1927       16,     0,     0,     0,    19,    20,    21,     0,     0,     0,
1928        0,    25,    83,     0,     0,     0,    84,     0,    28,    85,
1929       29,    86,     0,    87,     0,    30,     0,     0,     0,     0,
1930        0,    89,     0,    31,     0,    90,     0,     0,     0,     0,
1931       94,     0,    96,     0,     0,    98,     0,     0,   100,     0,
1932        0,     0,     0,   103,     0,     0,     0,     0,     0,     0,
1933        0,     0,     0,     0,     0,     0,     0,     0,   105,     0,
1934        0,   107,     0,     0,     0,    -2,     6,     0,     0,     7,
1935        0,     0,    35,    36,     0,   113,     0,     0,     0,     0,
1936        0,     0,     0,     0,     0,    41,     0,     8,     9,   117,
1937       10,    11,     0,    12,     0,     0,     0,    13,    14,    15,
1938       16,   -10,    17,    18,    19,    20,    21,    22,    23,    24,
1939        0,    25,   466,    26,     0,     7,     0,    27,    28,     0,
1940       29,     0,     0,     0,     0,    30,     0,     0,     0,     0,
1941        0,     0,     0,    31,     9,     0,    10,    11,     0,    12,
1942        0,     0,     0,    13,    14,    15,    16,   -83,     0,    18,
1943       19,    20,    21,    22,    23,    24,     0,    25,     0,    26,
1944        0,     0,     0,    27,    28,     0,    29,     0,     0,     0,
1945        0,    30,     0,     0,     0,    32,     0,     0,     0,    31,
1946       33,    34,    35,    36,     0,     0,    37,    38,    39,     0,
1947       40,     0,     0,     0,     0,    41,     0,     0,     0,     0,
1948        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1949        0,     0,   477,     0,     0,     7,     0,     0,     0,     0,
1950        0,     0,     0,     0,     0,     0,    33,    34,    35,    36,
1951        0,     0,    37,    38,    39,     0,    10,    11,     0,    12,
1952        0,    41,   467,    13,    14,    15,    16,   -95,     0,    18,
1953       19,    20,    21,    22,    23,    24,     0,    25,     0,    26,
1954        7,     0,     0,    27,    28,     0,    29,     0,     0,     0,
1955        0,    30,     0,     0,     0,     0,   558,   559,     0,    31,
1956        0,    10,    11,   560,    12,   561,   562,   563,    13,    14,
1957       15,    16,     0,     0,     0,    19,    20,    21,     0,     0,
1958        0,   564,    25,   565,     0,   566,     0,   567,     0,    28,
1959        0,    29,     0,   568,   569,    88,    30,     0,     0,     0,
1960        0,     0,     0,     0,    31,     0,    33,    34,    35,    36,
1961        0,     0,    37,    38,    39,     0,     0,     0,     0,     0,
1962        0,    41,   478,     0,     0,     0,     0,     0,     0,     0,
1963        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1964        0,   106,     0,     0,     0,     0,     0,     7,     0,     0,
1965        0,     0,     0,    35,    36,     0,     0,    37,    38,    39,
1966        0,   570,     0,   558,   559,     0,    41,   571,    10,    11,
1967      560,    12,   561,   562,   563,    13,    14,    15,    16,     0,
1968        0,     0,    19,    20,    21,     0,     0,     0,   564,    25,
1969      565,     7,   566,     0,   567,     0,    28,     0,    29,     0,
1970      568,   569,    88,    30,     0,     0,     0,   558,   559,     0,
1971        0,    31,    10,    11,   560,    12,   561,   562,   563,    13,
1972       14,    15,    16,     0,     0,     0,    19,    20,    21,     0,
1973        0,     0,   564,    25,   565,     0,   566,     0,   567,     0,
1974       28,     0,    29,     0,   568,   569,     0,    30,   106,     0,
1975        0,     0,     0,     0,     0,    31,     0,     0,     0,     0,
1976       35,    36,     0,     0,    37,    38,    39,     0,   570,     0,
1977        0,     0,     0,    41,   779,     0,     0,     0,     0,     0,
1978        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1979        0,     0,   701,     0,     0,     0,     0,     0,     0,     0,
1980        0,     0,     0,     0,    35,    36,     0,     0,    37,    38,
1981       39,     0,   570,    74,    75,     0,     0,    41,   702,    79,
1982        0,     0,     0,     8,     9,     0,    10,    11,     0,    81,
1983        0,     0,     0,    13,    14,    15,    16,     0,     0,    18,
1984       19,    20,     0,    22,    23,    24,     0,    25,     0,    26,
1985        0,     0,     0,    27,    28,     0,    29,     0,     0,     0,
1986       88,    30,     0,     0,     8,     9,     0,    10,    11,    31,
1987       81,     0,     0,     0,    13,    14,    15,    16,     0,     0,
1988       18,    19,    20,     0,    22,    23,    24,     0,    25,     0,
1989       26,     0,     0,     0,    27,    28,     0,    29,     0,     0,
1990        0,    88,    30,     0,     0,     0,   106,     0,     0,     0,
1991       31,     0,     0,     0,     0,     0,    33,    34,     0,    36,
1992        0,     0,   205,    38,    39,     0,   247,   248,     0,   102,
1993        0,    41,     0,     0,     0,     0,     0,     0,     0,     0,
1994        0,     0,     0,     0,     0,     0,     0,   106,     0,     0,
1995        0,     0,   111,     0,   112,     0,     0,    33,    34,     0,
1996       36,     0,     0,   205,    38,    39,     0,   247,   248,     0,
1997        8,     9,    41,    10,    11,     0,    81,     0,     0,     0,
1998       13,    14,    15,    16,     0,     0,    18,    19,    20,     0,
1999       22,    23,    24,     0,    25,     0,    26,     0,     0,     0,
2000       27,    28,     0,    29,     0,     0,     0,    88,    30,     0,
2001        0,     0,     0,     0,     0,     0,    31,     0,     0,     0,
2002        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2003        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2004        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2005        0,     0,     0,   106,     0,     0,     0,     0,     0,     0,
2006        0,     0,     0,    33,    34,     0,    36,     0,     0,   205,
2007       38,    39,     0,   247,   248,     0,     0,     0,    41
2008 };
2009
2010 static const yytype_int16 yycheck[] =
2011 {
2012        3,     4,    86,     3,     4,     4,    73,     3,     4,    35,
2013       47,    37,    86,    35,     4,    37,   162,    88,    86,    47,
2014       86,    86,     4,    65,    77,   189,    77,   191,    86,     4,
2015       35,    55,    37,    35,    86,   239,   183,    28,    29,     7,
2016        3,     4,   183,     4,    12,   277,    86,     3,     4,    86,
2017      264,    88,    55,    21,    41,   116,   190,   191,    13,   105,
2018       88,   107,    30,   355,   372,   182,   183,   113,   360,    68,
2019       86,   206,     3,     4,   119,   377,   617,    18,    67,    82,
2020      377,    59,    82,    82,   355,   372,    82,   109,   355,     0,
2021       17,    64,    82,   360,     4,   469,     7,     3,     4,   113,
2022       82,   147,     3,     4,   109,   381,   480,    82,   414,   336,
2023      156,    99,   109,    81,   160,   132,   130,   163,    11,    82,
2024       13,    82,   286,     1,    12,    13,    82,   105,     0,   146,
2025       18,    13,   216,   110,   508,   281,    18,   364,   284,   210,
2026      372,   449,   184,     7,   452,   182,   183,   130,   125,   126,
2027        1,    82,   286,   130,   109,   128,   302,   698,    36,    11,
2028       38,    13,   279,   189,   110,   191,    44,   189,   190,    13,
2029       48,    36,    82,   210,    13,    17,    82,   323,   130,   125,
2030      126,    82,   210,   205,    11,    36,    13,    38,   189,   190,
2031      158,   132,   133,    44,   130,   158,   264,    48,    42,    11,
2032      205,    13,   239,   206,   109,   130,   206,   206,   205,    13,
2033      206,   239,   264,    11,   378,    13,   206,   144,    84,    85,
2034      246,    87,   264,    13,   206,   135,   266,   498,    70,    18,
2035      538,   206,    74,   294,   142,   143,   225,    79,   241,   127,
2036       84,   543,   279,   206,   378,   206,   543,   549,   524,   246,
2037      206,   538,    42,   131,    91,    92,    93,    61,    62,    63,
2038      286,    65,    53,   398,    55,   326,   327,    94,    95,   130,
2039      546,   115,    18,   105,   580,   206,   125,    68,   424,    13,
2040      131,   125,    94,    95,   306,   127,   128,    87,   330,   121,
2041      122,   123,    82,     0,    84,   337,   138,   381,   102,     0,
2042      206,   306,    11,   145,    13,   206,   538,   128,   382,   306,
2043      110,   111,   112,   300,   388,   278,   381,     0,   355,   100,
2044       12,    13,   387,   381,   100,   115,    18,   115,   116,   332,
2045      414,   334,   332,   641,   334,   125,   332,   336,   334,   130,
2046      414,    95,   644,   635,   381,   132,   654,   137,   512,   414,
2047       95,   498,   378,   420,   132,   657,   414,   498,   384,   385,
2048      386,   632,   384,   527,   635,   364,   362,   335,   635,   332,
2049      444,   334,   127,   128,   441,   443,   332,   414,   443,   384,
2050      385,   498,   384,   130,   386,     7,   520,   693,   385,   386,
2051      119,   443,   382,   527,   142,   398,   610,   132,   398,   398,
2052      143,   306,   398,   403,   125,   126,   443,   410,   398,   641,
2053      410,   410,   457,   121,   122,   123,   398,    94,    95,   445,
2054      104,   697,   654,   398,   132,   130,   332,   443,   334,    94,
2055       95,   332,   400,   334,   726,   398,   133,   398,   324,   325,
2056      524,   515,   398,   445,   412,   132,   132,   515,   445,   515,
2057      144,   525,    12,    13,   444,   726,   524,   145,    18,   524,
2058       90,   498,   546,   515,    12,    13,   524,   398,   116,   125,
2059       18,   434,   524,   547,   780,   132,    12,    13,   515,   133,
2060      385,   386,    18,   132,   631,   632,   690,   524,   546,   511,
2061      631,    14,   398,     5,   520,    90,   580,   398,    93,   515,
2062       94,    96,   548,    98,   130,   115,   580,     8,   524,   546,
2063      511,   512,   513,     8,   631,   580,     8,     8,   519,   520,
2064      132,   588,   580,    90,   113,   114,    93,   116,   552,    96,
2065      130,    98,   139,   122,   123,   525,   133,   683,   684,   685,
2066      445,   130,   610,   580,    50,    12,    13,   132,   616,   552,
2067      616,    18,   511,   620,   513,    95,   556,   547,   610,   630,
2068      519,   587,   591,    82,   616,   688,   730,   526,   621,   628,
2069      621,    91,    92,    93,   334,   578,   187,    97,    98,   616,
2070      648,   277,   648,   648,   591,   587,   628,   751,   591,   301,
2071      587,   591,   549,   630,   631,   632,   648,   565,   635,   567,
2072      616,   569,   630,   158,    12,    13,   121,   122,   123,   693,
2073       18,   648,   746,   697,   705,   512,   513,   751,   270,   693,
2074      434,   767,   588,   520,   698,   623,   620,   617,   693,   697,
2075      527,   697,   648,   700,   625,   693,   490,   491,   492,   697,
2076      768,   495,   668,   669,   670,   697,   668,   673,    15,    16,
2077      676,   593,   429,   690,   279,   340,   693,    -1,   632,   649,
2078      697,    -1,   690,   668,   669,    -1,   668,    -1,   670,    -1,
2079       -1,   673,   669,   670,   676,    -1,   673,    -1,    -1,   676,
2080       -1,   697,   587,    -1,    -1,   384,   385,   386,   691,   726,
2081       -1,    91,    92,    93,    -1,    -1,   780,    97,    98,    -1,
2082       67,   768,   121,   122,   123,    -1,   780,   729,   698,   735,
2083       -1,    -1,   734,    -1,    -1,   780,    -1,    91,    92,    93,
2084      746,    -1,   780,    97,    98,    -1,    -1,   723,   729,   730,
2085      731,    -1,    -1,   734,   735,    -1,    61,    62,    63,   106,
2086       65,    -1,   110,   780,   745,   746,   445,    91,    92,    93,
2087      117,   118,    -1,   121,   122,   123,    -1,   125,   761,     4,
2088       -1,   761,   761,   131,   669,   670,    -1,    -1,   673,    -1,
2089      729,   676,   731,    -1,    -1,   734,    91,    92,    93,    -1,
2090       25,    26,    52,    28,    -1,    -1,   745,    32,    33,    34,
2091       35,   750,    -1,    -1,    39,    40,    41,    91,    92,    93,
2092       -1,    46,    -1,    97,    98,   121,   122,   123,    53,   125,
2093       55,    -1,   511,   512,   513,    60,    14,    15,    16,    -1,
2094      519,   520,    -1,    68,    91,    92,    93,   526,   527,    -1,
2095       97,    98,    -1,   730,   731,    91,    92,    93,   735,    91,
2096       92,    93,   112,   113,   114,   115,   116,    -1,    -1,   746,
2097       -1,    -1,   122,   123,   751,   125,   126,    91,    92,    93,
2098      130,   131,    -1,    97,    98,    91,    92,    93,    91,    92,
2099       93,    -1,   117,   118,    97,    98,    -1,     0,     1,    -1,
2100       -1,     4,    91,    92,    93,   130,    -1,    10,   587,    12,
2101       13,    14,    15,    16,    -1,    18,    91,    92,    93,    22,
2102       23,    24,    25,    26,    -1,    28,    91,    92,    93,    32,
2103       33,    34,    35,    -1,    37,    38,    39,    40,    41,    42,
2104       43,    44,    -1,    46,    47,    48,    -1,    -1,    51,    52,
2105       53,    54,    55,    56,    -1,    58,    59,    60,    91,    92,
2106       93,    -1,    -1,    66,    -1,    68,    -1,    70,    71,    -1,
2107       73,    74,    75,    76,    77,    78,    -1,    80,    81,    -1,
2108       83,    -1,    85,    -1,    87,    88,    89,    52,    -1,    -1,
2109      669,   670,    -1,    -1,   673,    -1,    -1,   676,    -1,    -1,
2110      103,    -1,   105,   106,   107,   108,   109,   110,    -1,   112,
2111       -1,    -1,   115,   116,   117,   118,    -1,   120,   121,   122,
2112      123,    -1,   125,   126,   127,    -1,    -1,   130,    91,    92,
2113       93,   134,   135,   136,   137,   138,   139,   140,   141,    91,
2114       92,    93,    91,    92,    93,    97,    98,   112,   113,    -1,
2115      115,   730,   731,    91,    92,    93,   735,   122,   123,    -1,
2116      125,   126,    91,    92,    93,     4,    -1,   746,    97,    98,
2117       -1,    10,   751,    12,    13,    14,    15,    16,    -1,    18,
2118       -1,    -1,    -1,    22,    23,    24,    25,    26,    -1,    28,
2119       -1,    -1,    -1,    32,    33,    34,    35,    -1,    -1,    38,
2120       39,    40,    41,    42,    43,    44,    -1,    46,    47,    48,
2121       -1,    -1,    51,    52,    53,    54,    55,    56,    -1,    58,
2122       59,    60,    -1,    -1,    -1,    -1,    -1,    66,    -1,    68,
2123       -1,    70,    71,    -1,    73,    74,    75,    76,    77,    78,
2124       -1,    80,    81,    -1,    83,    -1,    85,    -1,    87,    88,
2125       89,    91,    92,    93,    91,    92,    93,    97,    98,    -1,
2126       97,    98,    -1,    -1,   103,    -1,   105,   106,   107,   108,
2127      109,   110,    -1,   112,    -1,    -1,   115,   116,   117,   118,
2128       -1,   120,   121,   122,   123,    -1,   125,   126,   127,     0,
2129        1,   130,    -1,     4,    -1,   134,   135,   136,   137,   138,
2130      139,   140,   141,    14,    15,    16,    -1,    -1,    -1,    -1,
2131       -1,    -1,    -1,    24,    25,    26,    -1,    28,    -1,    -1,
2132       -1,    32,    33,    34,    35,    91,    92,    93,    39,    40,
2133       41,    97,    98,    -1,    -1,    46,    47,    -1,    -1,    -1,
2134       51,    -1,    53,    54,    55,    56,    -1,    58,    -1,    60,
2135       -1,    -1,    -1,    25,    26,    66,    28,    68,    -1,    70,
2136       32,    33,    34,    35,    75,    -1,    77,    39,    40,    80,
2137       -1,    -1,    83,    -1,    46,    -1,    87,    88,    91,    92,
2138       93,    53,    -1,    55,    97,    98,    -1,    -1,    60,    -1,
2139       -1,    -1,   103,    -1,    -1,   106,    68,    -1,    -1,   110,
2140       -1,   112,     1,    -1,    -1,     4,   117,   118,    -1,   120,
2141      121,   122,   123,    -1,    -1,    14,    15,    16,    -1,   130,
2142       -1,    -1,    -1,   134,    -1,    24,    25,    26,    -1,    28,
2143       -1,    -1,    52,    32,    33,    34,    35,    91,    92,    93,
2144       39,    40,    41,    97,    98,    -1,   118,    46,    47,    -1,
2145       -1,    -1,    51,    -1,    53,    54,    55,    56,   130,    58,
2146       -1,    60,    -1,    -1,    -1,    -1,    -1,    66,    -1,    68,
2147       69,    70,    -1,    91,    92,    93,    75,    -1,    77,    97,
2148       98,    80,    -1,    -1,    83,    -1,    -1,    -1,    87,    88,
2149       -1,    -1,   112,   113,   114,   115,   116,    -1,    -1,    -1,
2150       -1,    -1,   122,   123,   103,   125,   126,   106,    -1,    -1,
2151      130,   110,    -1,   112,     1,    -1,    -1,     4,   117,   118,
2152       -1,   120,   121,   122,   123,    -1,    -1,    14,    15,    16,
2153       -1,   130,    -1,    -1,    52,   134,    -1,    24,    25,    26,
2154       -1,    28,    -1,    -1,    -1,    32,    33,    34,    35,    -1,
2155       -1,    -1,    39,    40,    41,    -1,    -1,    -1,    -1,    46,
2156       47,    -1,    -1,    -1,    51,    -1,    53,    54,    55,    56,
2157       -1,    58,    -1,    60,    -1,    -1,    -1,    -1,    -1,    66,
2158       -1,    68,    -1,    70,    -1,    -1,    -1,    -1,    75,    -1,
2159       77,    -1,    -1,    80,   112,   113,    83,   115,    -1,    -1,
2160       87,    88,    -1,    -1,   122,   123,    -1,   125,   126,    -1,
2161       -1,    -1,   130,    -1,    -1,    -1,   103,    -1,    -1,   106,
2162       -1,    -1,    -1,   110,    -1,   112,     1,    -1,    -1,     4,
2163      117,   118,    -1,   120,   121,   122,   123,    -1,    -1,    14,
2164       15,    16,    -1,   130,   131,    -1,    -1,   134,    -1,    24,
2165       25,    26,    -1,    28,    -1,    10,    -1,    32,    33,    34,
2166       35,    -1,    -1,    -1,    39,    40,    41,    -1,    -1,    -1,
2167       -1,    46,    47,    -1,    -1,    -1,    51,    -1,    53,    54,
2168       55,    56,    -1,    58,    -1,    60,    -1,    -1,    -1,    -1,
2169       -1,    66,    -1,    68,    -1,    70,    -1,    10,    -1,    -1,
2170       75,    -1,    77,    -1,    -1,    80,    -1,    -1,    83,    -1,
2171       -1,    -1,    -1,    88,    -1,    -1,    71,    -1,    73,    74,
2172       -1,    76,    -1,    78,    -1,    -1,    81,    -1,   103,    42,
2173       85,   106,    -1,    -1,    89,   110,    -1,    -1,    -1,    -1,
2174       -1,    -1,   117,   118,    -1,   120,   121,   122,   123,    -1,
2175      125,    -1,   107,   108,    67,   130,   131,    -1,    71,   134,
2176       73,    74,    -1,    76,    -1,    78,    -1,    -1,    10,    11,
2177       12,    13,   127,    -1,    -1,    -1,    18,    -1,    -1,    -1,
2178      135,   136,   137,   138,   139,   140,   141,    -1,    -1,    -1,
2179       -1,    -1,    -1,    -1,   107,   108,    -1,   110,    -1,    -1,
2180       -1,    -1,   115,    -1,   117,    -1,    -1,    -1,    -1,    -1,
2181       -1,    -1,   125,   126,   127,   128,    -1,    -1,    -1,    -1,
2182      133,   134,   135,   136,   137,   138,   139,   140,   141,    71,
2183       -1,    73,    74,    -1,    76,    -1,    78,    -1,    -1,    81,
2184       -1,    -1,    10,    85,    12,    13,    -1,    89,    -1,    -1,
2185       18,    -1,    94,    95,    -1,    -1,    -1,    -1,    -1,    -1,
2186       -1,    -1,    -1,    -1,    -1,   107,   108,   109,    -1,    -1,
2187       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2188       -1,    10,    11,    12,    13,   127,    -1,    -1,    -1,    18,
2189       -1,    -1,    -1,   135,   136,   137,   138,   139,   140,   141,
2190       -1,    -1,    -1,    71,    -1,    73,    74,    -1,    76,    -1,
2191       78,    -1,    -1,    81,    -1,    -1,    -1,    85,    -1,    -1,
2192       -1,    89,    10,    11,    12,    13,    94,    95,    -1,    -1,
2193       18,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   107,
2194      108,   109,    71,    -1,    73,    74,    -1,    76,    -1,    78,
2195       -1,    -1,    81,    -1,    -1,    -1,    85,    -1,    -1,   127,
2196       89,    -1,    -1,    -1,    -1,    -1,    -1,   135,   136,   137,
2197      138,   139,   140,   141,    -1,    -1,    -1,    -1,   107,   108,
2198      109,    -1,    -1,    71,    -1,    73,    74,    -1,    76,    -1,
2199       78,    -1,    -1,    81,    -1,    -1,    -1,    85,   127,    -1,
2200       -1,    89,    -1,    -1,    -1,    -1,   135,   136,   137,   138,
2201      139,   140,   141,    -1,    10,    11,    12,    13,    -1,   107,
2202      108,   109,    18,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2203       -1,    -1,    -1,    -1,    -1,    10,    11,    12,    13,   127,
2204       -1,    -1,    -1,    18,    -1,    -1,    -1,   135,   136,   137,
2205      138,   139,   140,   141,    -1,    -1,    -1,    -1,    -1,    -1,
2206       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2207       -1,    -1,    -1,    -1,    -1,    71,    -1,    73,    74,    -1,
2208       76,    -1,    78,    -1,    -1,    81,    -1,    -1,    -1,    85,
2209       -1,    -1,    -1,    89,    -1,    -1,    71,    -1,    73,    74,
2210       -1,    76,    -1,    78,    -1,    -1,    81,    -1,    -1,    -1,
2211       85,   107,   108,   109,    89,    10,    11,    12,    13,    -1,
2212       -1,    -1,    -1,    18,    -1,    -1,    -1,    -1,    -1,    -1,
2213       -1,   127,   107,   108,   109,    -1,    -1,    -1,    -1,   135,
2214      136,   137,   138,   139,   140,   141,    -1,    -1,    -1,    -1,
2215       -1,    -1,   127,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2216      135,   136,   137,   138,   139,   140,   141,    -1,    -1,    -1,
2217       -1,    -1,    -1,    -1,    -1,    -1,    71,    -1,    73,    74,
2218       -1,    76,    -1,    78,    -1,    -1,    81,    -1,    -1,    -1,
2219       85,    -1,    -1,    -1,    89,    10,    11,    12,    13,    -1,
2220       -1,    -1,    -1,    18,    -1,    -1,    -1,    -1,    -1,    -1,
2221       -1,    -1,   107,   108,   109,    -1,    10,    11,    12,    13,
2222       -1,    -1,    -1,    -1,    18,    -1,    -1,    -1,    -1,    -1,
2223       -1,    -1,   127,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2224      135,   136,   137,   138,   139,   140,   141,    -1,    -1,    -1,
2225       -1,    -1,    -1,    -1,    -1,    -1,    71,    -1,    73,    74,
2226       -1,    76,    -1,    78,    -1,    -1,    81,    -1,    -1,    -1,
2227       85,    -1,    -1,    -1,    89,    -1,    -1,    71,    -1,    73,
2228       74,    -1,    76,    -1,    78,    -1,    -1,    81,    -1,    -1,
2229       -1,    85,   107,   108,   109,    89,    10,    11,    12,    13,
2230       -1,    -1,    -1,    -1,    18,    -1,    -1,    -1,    -1,    -1,
2231       -1,    -1,   127,   107,   108,   109,    -1,    -1,    -1,    -1,
2232      135,   136,   137,   138,   139,   140,   141,    -1,    -1,    -1,
2233       -1,    -1,    -1,   127,    -1,    -1,    -1,    -1,    -1,    -1,
2234       -1,   135,   136,   137,   138,   139,   140,   141,    -1,    -1,
2235       -1,    -1,    -1,    -1,    -1,    -1,    -1,    71,    -1,    73,
2236       74,    -1,    76,    -1,    78,    -1,    -1,    81,    -1,    -1,
2237       -1,    85,    -1,    -1,    -1,    89,    10,    11,    12,    13,
2238       -1,    -1,    -1,    -1,    18,    -1,    -1,    -1,    -1,    -1,
2239       -1,    -1,    -1,   107,   108,   109,    -1,    10,    11,    12,
2240       13,    -1,    -1,    -1,    -1,    18,    -1,    -1,    -1,    -1,
2241       -1,    -1,    -1,   127,    -1,    -1,    -1,    -1,    -1,    -1,
2242       -1,   135,   136,   137,   138,   139,   140,   141,    -1,    -1,
2243       -1,    -1,    -1,    -1,    -1,    -1,    -1,    71,    -1,    73,
2244       74,    -1,    76,    -1,    78,    -1,    -1,    81,    -1,    -1,
2245       -1,    85,    -1,    -1,    -1,    89,    -1,    -1,    71,    -1,
2246       73,    74,    -1,    76,    -1,    78,    -1,    -1,    81,    -1,
2247       -1,    -1,    85,   107,   108,   109,    89,    10,    11,    12,
2248       13,    -1,    -1,    -1,    -1,    18,    -1,    -1,    -1,    -1,
2249       -1,    -1,    -1,   127,   107,   108,   109,    -1,    -1,    -1,
2250       -1,   135,   136,   137,   138,   139,   140,   141,    -1,    -1,
2251       -1,    -1,    -1,    -1,   127,    -1,    -1,    -1,    -1,    -1,
2252       -1,    -1,   135,   136,   137,   138,   139,   140,   141,    -1,
2253       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    71,    -1,
2254       73,    74,    -1,    76,    -1,    78,    -1,    -1,    81,    -1,
2255       -1,    -1,    85,    -1,    -1,    -1,    89,    10,    11,    12,
2256       13,    -1,    -1,    -1,    -1,    18,    -1,    -1,    -1,    -1,
2257       -1,    -1,    -1,    -1,   107,   108,   109,    -1,    10,    -1,
2258       12,    13,    -1,    -1,    -1,    -1,    18,    -1,    -1,    -1,
2259       -1,    -1,    -1,    -1,   127,    -1,    -1,    -1,    -1,    -1,
2260       -1,    -1,   135,   136,   137,   138,   139,   140,   141,    -1,
2261       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    71,    -1,
2262       73,    74,    -1,    76,    -1,    78,    -1,    -1,    81,    -1,
2263       -1,    -1,    85,    -1,    -1,    -1,    89,    -1,    -1,    71,
2264       -1,    73,    74,    -1,    76,    -1,    78,    -1,    -1,    81,
2265       -1,    -1,    -1,    85,   107,   108,   109,    89,    10,    -1,
2266       12,    13,    -1,    -1,    -1,    -1,    18,    -1,    -1,    -1,
2267       -1,    -1,    -1,    -1,   127,   107,   108,   109,    -1,    -1,
2268       -1,    -1,   135,   136,   137,   138,   139,   140,   141,    -1,
2269       -1,    -1,    -1,    -1,    -1,   127,    -1,    -1,    -1,    -1,
2270       -1,    -1,    -1,   135,   136,   137,   138,   139,   140,   141,
2271       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    71,
2272       -1,    73,    74,    -1,    76,    -1,    78,    -1,    -1,    81,
2273       -1,    -1,    10,    85,    12,    13,    -1,    89,    -1,    -1,
2274       18,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2275       -1,    -1,    -1,    -1,    -1,   107,   108,   109,    -1,    -1,
2276       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2277       -1,    10,    -1,    12,    13,   127,    -1,    -1,    -1,    18,
2278       -1,    -1,    -1,   135,   136,   137,   138,   139,   140,   141,
2279       -1,    -1,    -1,    71,    -1,    73,    74,    -1,    76,    -1,
2280       78,    -1,    -1,    81,    -1,    -1,    -1,    85,    -1,    -1,
2281       10,    89,    12,    13,    -1,    -1,    -1,    -1,    18,    -1,
2282       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   107,
2283      108,   109,    71,    -1,    73,    74,    -1,    76,    -1,    78,
2284       -1,    -1,    81,    -1,    -1,    -1,    85,    -1,    -1,   127,
2285       89,    -1,    -1,    -1,    -1,    -1,    -1,   135,   136,   137,
2286      138,   139,   140,   141,    -1,    -1,    -1,    -1,   107,   108,
2287      109,    71,    -1,    73,    74,    -1,    76,    -1,    78,    -1,
2288       -1,    81,    -1,    -1,    10,    85,    12,    13,   127,    89,
2289       -1,    -1,    18,    -1,    -1,    -1,   135,   136,   137,   138,
2290      139,   140,   141,    -1,    -1,    -1,    -1,   107,   108,   109,
2291       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2292       -1,    -1,    -1,    10,    -1,    12,    13,   127,    -1,    -1,
2293       -1,    18,    -1,    -1,    -1,   135,   136,   137,   138,   139,
2294      140,   141,    -1,    -1,    -1,    71,    -1,    73,    74,    -1,
2295       76,    -1,    78,    -1,    -1,    81,    -1,    -1,    -1,    85,
2296       -1,    -1,    -1,    89,    10,    11,    -1,    13,    -1,    -1,
2297       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2298       -1,   107,   108,   109,    71,    -1,    73,    74,    -1,    76,
2299       -1,    78,    -1,    -1,    81,    -1,    -1,    -1,    85,    -1,
2300       -1,   127,    89,    -1,    -1,    -1,    -1,    -1,    -1,   135,
2301      136,   137,   138,   139,   140,   141,    -1,    -1,    -1,    -1,
2302      107,   108,   109,    -1,    -1,    71,    -1,    73,    74,    -1,
2303       76,    -1,    78,    -1,    -1,    81,    -1,    -1,    -1,    85,
2304      127,    -1,    -1,    89,    -1,    -1,    -1,    -1,   135,   136,
2305      137,   138,   139,   140,   141,    -1,    -1,    -1,    -1,    -1,
2306       -1,   107,   108,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2307       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2308       -1,   127,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   135,
2309      136,   137,   138,   139,   140,   141,     4,    -1,    -1,    -1,
2310       -1,    -1,    -1,    11,    12,    13,    14,    15,    16,    -1,
2311       18,    -1,    -1,    -1,    22,    23,    24,    25,    26,    -1,
2312       28,    -1,    -1,    -1,    32,    33,    34,    35,    -1,    -1,
2313       38,    39,    40,    41,    42,    43,    44,    -1,    46,    47,
2314       48,    -1,    -1,    51,    52,    53,    54,    55,    56,    -1,
2315       58,    59,    60,    -1,    -1,    -1,    -1,    -1,    66,    -1,
2316       68,    -1,    70,    -1,    -1,    -1,    -1,    75,    -1,    77,
2317       -1,    -1,    80,    -1,    -1,    83,    -1,    -1,    -1,    87,
2318       88,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2319       -1,    -1,    -1,    -1,    -1,   103,    -1,   105,   106,    -1,
2320       -1,   109,   110,    -1,   112,    -1,    -1,   115,   116,   117,
2321      118,    -1,   120,   121,   122,   123,    -1,   125,   126,     4,
2322       -1,    -1,   130,    -1,    -1,    -1,   134,    12,    13,    14,
2323       15,    16,    -1,    18,    -1,    -1,    -1,    22,    23,    24,
2324       25,    26,    -1,    28,    -1,    -1,    -1,    32,    33,    34,
2325       35,    -1,    -1,    38,    39,    40,    41,    42,    43,    44,
2326       -1,    46,    47,    48,    -1,    -1,    51,    52,    53,    54,
2327       55,    56,    -1,    58,    59,    60,    -1,    -1,    -1,    -1,
2328       -1,    66,    -1,    68,    -1,    70,    -1,    -1,    -1,    -1,
2329       75,    -1,    77,    -1,    -1,    80,    -1,    -1,    83,    -1,
2330       -1,    -1,    87,    88,    -1,    -1,    -1,    -1,    -1,    -1,
2331       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,    -1,
2332      105,   106,    -1,    -1,   109,   110,    -1,   112,    -1,    -1,
2333      115,   116,   117,   118,    -1,   120,   121,   122,   123,    -1,
2334      125,   126,     4,    -1,    -1,   130,    -1,    -1,    -1,   134,
2335       -1,    -1,    14,    15,    16,    -1,    -1,    -1,    -1,    -1,
2336       22,    23,    24,    25,    26,    -1,    28,    -1,    -1,    -1,
2337       32,    33,    34,    35,    -1,    -1,    38,    39,    40,    41,
2338       42,    43,    44,    -1,    46,    47,    48,    -1,    -1,    51,
2339       52,    53,    54,    55,    56,    -1,    58,    59,    60,    -1,
2340       -1,    -1,    -1,    -1,    66,    -1,    68,    -1,    70,    -1,
2341       -1,    -1,    -1,    75,    -1,    77,    -1,    -1,    80,    -1,
2342       -1,    83,    -1,    -1,    -1,    87,    88,    -1,    -1,    -1,
2343       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2344       -1,   103,    -1,   105,   106,    -1,    -1,    -1,   110,    -1,
2345      112,    -1,    -1,   115,   116,   117,   118,    -1,   120,   121,
2346      122,   123,    -1,   125,   126,     4,    -1,    -1,   130,    -1,
2347       -1,    -1,   134,    -1,    -1,    14,    15,    16,    -1,    -1,
2348       -1,    -1,    -1,    22,    23,    24,    25,    26,    -1,    28,
2349       -1,    -1,    -1,    32,    33,    34,    35,    -1,    -1,    38,
2350       39,    40,    41,    42,    43,    44,    -1,    46,    47,    48,
2351       -1,    -1,    51,    52,    53,    54,    55,    56,    -1,    58,
2352       59,    60,    -1,    -1,    -1,    -1,    -1,    66,    -1,    68,
2353       -1,    70,    -1,    -1,    -1,    -1,    75,    -1,    77,    -1,
2354       -1,    80,    -1,    -1,    83,    -1,    -1,    -1,    87,    88,
2355       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2356       -1,    -1,    -1,    -1,   103,    -1,   105,   106,    -1,    -1,
2357       -1,   110,    -1,   112,    -1,    -1,   115,   116,   117,   118,
2358       -1,   120,   121,   122,   123,    -1,   125,   126,     4,    -1,
2359       -1,   130,    -1,    -1,    -1,   134,    -1,    -1,    14,    15,
2360       16,    -1,    -1,    -1,    -1,    -1,    22,    23,    24,    25,
2361       26,    -1,    28,    -1,    -1,    -1,    32,    33,    34,    35,
2362       -1,    -1,    38,    39,    40,    41,    42,    43,    44,    -1,
2363       46,    47,    48,    -1,    -1,    51,    52,    53,    54,    55,
2364       56,    -1,    58,    59,    60,    -1,    -1,    -1,    -1,    -1,
2365       66,    -1,    68,    -1,    70,    -1,    -1,    -1,    -1,    75,
2366       -1,    77,    -1,    -1,    80,    -1,    -1,    83,    -1,    -1,
2367       -1,    -1,    88,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2368       -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,    -1,   105,
2369      106,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   115,
2370      116,   117,   118,    -1,   120,   121,   122,   123,    -1,   125,
2371      126,     4,    -1,    -1,   130,    -1,    -1,    -1,   134,    -1,
2372       -1,    14,    15,    16,    -1,    -1,    -1,    -1,    -1,    22,
2373       23,    24,    25,    26,    -1,    28,    -1,    -1,    -1,    32,
2374       33,    34,    35,    -1,    -1,    38,    39,    40,    41,    42,
2375       43,    44,    -1,    46,    47,    48,    -1,    -1,    51,    52,
2376       53,    54,    55,    56,    -1,    58,    59,    60,    -1,    -1,
2377       -1,    -1,    -1,    66,    -1,    68,    -1,    70,    -1,    -1,
2378       -1,    -1,    75,    -1,    77,    -1,    -1,    80,    -1,    -1,
2379       83,    -1,    -1,    -1,    -1,    88,    -1,    -1,    -1,    -1,
2380       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2381      103,    -1,   105,   106,    -1,    -1,    -1,    -1,    -1,    -1,
2382       -1,    -1,   115,   116,   117,   118,    -1,   120,   121,   122,
2383      123,    -1,   125,   126,     4,    -1,    -1,   130,    -1,    -1,
2384       -1,   134,    -1,    -1,    14,    15,    16,    -1,    -1,    -1,
2385       -1,    -1,    -1,    -1,    24,    25,    26,    -1,    28,    -1,
2386       -1,    -1,    32,    33,    34,    35,    -1,    -1,    -1,    39,
2387       40,    41,    -1,    -1,    -1,    -1,    46,    47,    -1,    -1,
2388       -1,    51,    -1,    53,    54,    55,    56,    -1,    58,    -1,
2389       60,    -1,    -1,    -1,    -1,    -1,    66,    -1,    68,    -1,
2390       70,    -1,    -1,    -1,    -1,    75,    -1,    77,    -1,    -1,
2391       80,    -1,    -1,    83,    -1,    -1,    -1,    87,    88,    -1,
2392       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2393       -1,    -1,    -1,   103,    -1,    -1,   106,    -1,    -1,    -1,
2394      110,    -1,   112,    -1,    -1,     4,    -1,   117,   118,    -1,
2395      120,   121,   122,   123,    -1,    14,    15,    16,    -1,    -1,
2396      130,    -1,    -1,    -1,   134,    24,    25,    26,    -1,    28,
2397       -1,    -1,    -1,    32,    33,    34,    35,    -1,    -1,    -1,
2398       39,    40,    41,    -1,    -1,    -1,    -1,    46,    47,    -1,
2399       -1,    -1,    51,    -1,    53,    54,    55,    56,    -1,    58,
2400       -1,    60,    -1,    -1,    -1,    -1,    -1,    66,    -1,    68,
2401       -1,    70,    -1,    -1,    -1,    -1,    75,    -1,    77,    -1,
2402       -1,    80,    -1,    -1,    83,    -1,    -1,    -1,    87,    88,
2403       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2404       -1,    -1,    -1,    -1,   103,    -1,    -1,   106,    -1,    -1,
2405       -1,   110,     4,   112,    -1,    -1,    -1,    -1,   117,   118,
2406       -1,   120,    14,    15,    16,   124,    -1,    -1,    -1,    -1,
2407       -1,   130,    24,    25,    26,   134,    28,    -1,    -1,    -1,
2408       32,    33,    34,    35,    -1,    -1,    -1,    39,    40,    41,
2409       -1,    -1,    -1,    -1,    46,    47,    -1,    -1,    -1,    51,
2410       -1,    53,    54,    55,    56,    -1,    58,    -1,    60,    -1,
2411       -1,    -1,    -1,    -1,    66,    -1,    68,    -1,    70,    -1,
2412       -1,    -1,    -1,    75,    -1,    77,    -1,    -1,    80,    -1,
2413       -1,    83,    -1,    -1,    -1,    87,    88,    -1,    -1,    -1,
2414       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2415       -1,   103,    -1,    -1,   106,    -1,    -1,    -1,   110,     4,
2416      112,    -1,    -1,    -1,    -1,   117,   118,    -1,   120,    14,
2417       15,    16,    -1,    -1,    -1,    -1,    -1,    -1,   130,    24,
2418       25,    26,   134,    28,    -1,    -1,    -1,    32,    33,    34,
2419       35,    -1,    -1,    -1,    39,    40,    41,    -1,    -1,    -1,
2420       -1,    46,    47,    -1,    -1,    -1,    51,    -1,    53,    54,
2421       55,    56,    -1,    58,    -1,    60,    -1,    -1,    -1,    -1,
2422       -1,    66,    -1,    68,    -1,    70,    -1,    -1,    -1,    -1,
2423       75,    -1,    77,    -1,    -1,    80,    -1,    -1,    83,    -1,
2424       -1,    -1,    -1,    88,    -1,    -1,    -1,    -1,    -1,    -1,
2425       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,    -1,
2426       -1,   106,    -1,    -1,    -1,     0,     1,    -1,    -1,     4,
2427       -1,    -1,   117,   118,    -1,   120,    -1,    -1,    -1,    -1,
2428       -1,    -1,    -1,    -1,    -1,   130,    -1,    22,    23,   134,
2429       25,    26,    -1,    28,    -1,    -1,    -1,    32,    33,    34,
2430       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
2431       -1,    46,     1,    48,    -1,     4,    -1,    52,    53,    -1,
2432       55,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,
2433       -1,    -1,    -1,    68,    23,    -1,    25,    26,    -1,    28,
2434       -1,    -1,    -1,    32,    33,    34,    35,    36,    -1,    38,
2435       39,    40,    41,    42,    43,    44,    -1,    46,    -1,    48,
2436       -1,    -1,    -1,    52,    53,    -1,    55,    -1,    -1,    -1,
2437       -1,    60,    -1,    -1,    -1,   110,    -1,    -1,    -1,    68,
2438      115,   116,   117,   118,    -1,    -1,   121,   122,   123,    -1,
2439      125,    -1,    -1,    -1,    -1,   130,    -1,    -1,    -1,    -1,
2440       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2441       -1,    -1,     1,    -1,    -1,     4,    -1,    -1,    -1,    -1,
2442       -1,    -1,    -1,    -1,    -1,    -1,   115,   116,   117,   118,
2443       -1,    -1,   121,   122,   123,    -1,    25,    26,    -1,    28,
2444       -1,   130,   131,    32,    33,    34,    35,    36,    -1,    38,
2445       39,    40,    41,    42,    43,    44,    -1,    46,    -1,    48,
2446        4,    -1,    -1,    52,    53,    -1,    55,    -1,    -1,    -1,
2447       -1,    60,    -1,    -1,    -1,    -1,    20,    21,    -1,    68,
2448       -1,    25,    26,    27,    28,    29,    30,    31,    32,    33,
2449       34,    35,    -1,    -1,    -1,    39,    40,    41,    -1,    -1,
2450       -1,    45,    46,    47,    -1,    49,    -1,    51,    -1,    53,
2451       -1,    55,    -1,    57,    58,    59,    60,    -1,    -1,    -1,
2452       -1,    -1,    -1,    -1,    68,    -1,   115,   116,   117,   118,
2453       -1,    -1,   121,   122,   123,    -1,    -1,    -1,    -1,    -1,
2454       -1,   130,   131,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2455       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2456       -1,   105,    -1,    -1,    -1,    -1,    -1,     4,    -1,    -1,
2457       -1,    -1,    -1,   117,   118,    -1,    -1,   121,   122,   123,
2458       -1,   125,    -1,    20,    21,    -1,   130,   131,    25,    26,
2459       27,    28,    29,    30,    31,    32,    33,    34,    35,    -1,
2460       -1,    -1,    39,    40,    41,    -1,    -1,    -1,    45,    46,
2461       47,     4,    49,    -1,    51,    -1,    53,    -1,    55,    -1,
2462       57,    58,    59,    60,    -1,    -1,    -1,    20,    21,    -1,
2463       -1,    68,    25,    26,    27,    28,    29,    30,    31,    32,
2464       33,    34,    35,    -1,    -1,    -1,    39,    40,    41,    -1,
2465       -1,    -1,    45,    46,    47,    -1,    49,    -1,    51,    -1,
2466       53,    -1,    55,    -1,    57,    58,    -1,    60,   105,    -1,
2467       -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,    -1,
2468      117,   118,    -1,    -1,   121,   122,   123,    -1,   125,    -1,
2469       -1,    -1,    -1,   130,   131,    -1,    -1,    -1,    -1,    -1,
2470       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2471       -1,    -1,   105,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2472       -1,    -1,    -1,    -1,   117,   118,    -1,    -1,   121,   122,
2473      123,    -1,   125,    12,    13,    -1,    -1,   130,   131,    18,
2474       -1,    -1,    -1,    22,    23,    -1,    25,    26,    -1,    28,
2475       -1,    -1,    -1,    32,    33,    34,    35,    -1,    -1,    38,
2476       39,    40,    -1,    42,    43,    44,    -1,    46,    -1,    48,
2477       -1,    -1,    -1,    52,    53,    -1,    55,    -1,    -1,    -1,
2478       59,    60,    -1,    -1,    22,    23,    -1,    25,    26,    68,
2479       28,    -1,    -1,    -1,    32,    33,    34,    35,    -1,    -1,
2480       38,    39,    40,    -1,    42,    43,    44,    -1,    46,    -1,
2481       48,    -1,    -1,    -1,    52,    53,    -1,    55,    -1,    -1,
2482       -1,    59,    60,    -1,    -1,    -1,   105,    -1,    -1,    -1,
2483       68,    -1,    -1,    -1,    -1,    -1,   115,   116,    -1,   118,
2484       -1,    -1,   121,   122,   123,    -1,   125,   126,    -1,    87,
2485       -1,   130,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2486       -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,    -1,    -1,
2487       -1,    -1,   110,    -1,   112,    -1,    -1,   115,   116,    -1,
2488      118,    -1,    -1,   121,   122,   123,    -1,   125,   126,    -1,
2489       22,    23,   130,    25,    26,    -1,    28,    -1,    -1,    -1,
2490       32,    33,    34,    35,    -1,    -1,    38,    39,    40,    -1,
2491       42,    43,    44,    -1,    46,    -1,    48,    -1,    -1,    -1,
2492       52,    53,    -1,    55,    -1,    -1,    -1,    59,    60,    -1,
2493       -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,
2494       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2495       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2496       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2497       -1,    -1,    -1,   105,    -1,    -1,    -1,    -1,    -1,    -1,
2498       -1,    -1,    -1,   115,   116,    -1,   118,    -1,    -1,   121,
2499      122,   123,    -1,   125,   126,    -1,    -1,    -1,   130
2500 };
2501
2502 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2503    symbol of state STATE-NUM.  */
2504 static const yytype_uint16 yystos[] =
2505 {
2506        0,    99,   148,   150,   149,     0,     1,     4,    22,    23,
2507       25,    26,    28,    32,    33,    34,    35,    37,    38,    39,
2508       40,    41,    42,    43,    44,    46,    48,    52,    53,    55,
2509       60,    68,   110,   115,   116,   117,   118,   121,   122,   123,
2510      125,   130,   151,   152,   153,   155,   157,   161,   162,   168,
2511      171,   174,   178,   179,   180,   183,   187,   192,   193,   194,
2512      200,   202,   203,   223,   225,   226,   227,   228,   229,   233,
2513      314,   316,     1,    10,    12,    13,    14,    15,    16,    18,
2514       24,    28,    37,    47,    51,    54,    56,    58,    59,    66,
2515       70,    71,    73,    74,    75,    76,    77,    78,    80,    81,
2516       83,    85,    87,    88,    89,   103,   105,   106,   107,   108,
2517      109,   110,   112,   120,   125,   126,   127,   134,   135,   136,
2518      137,   138,   139,   140,   141,   155,   158,   163,   164,   168,
2519      171,   174,   178,   185,   188,   189,   190,   191,   195,   196,
2520      200,   235,   242,   243,   244,   248,   249,   250,   255,   256,
2521      257,   259,   261,   262,   263,   268,   269,   270,   275,   282,
2522      289,   291,   292,   293,   295,   296,   303,   304,   305,   306,
2523      307,   312,   314,   316,   110,   125,   126,   245,   130,   130,
2524      245,   245,   317,   315,   130,   187,   187,   245,   186,    91,
2525       92,    93,    97,    98,   205,   207,   211,   212,   213,   214,
2526      222,   211,   186,    36,   160,   121,   132,   153,   219,   221,
2527      236,   237,   130,     1,   131,   162,   184,     7,   230,   188,
2528      195,   200,   295,   203,   196,   198,    13,   308,    18,    18,
2529      142,   143,   266,   267,   266,   267,   125,   130,   158,   241,
2530      245,   241,   241,    11,    13,   109,   121,   125,   126,   153,
2531      154,   156,   157,   164,   168,   171,   174,   178,   190,   196,
2532      201,   202,   220,   221,   226,   246,   247,   279,   293,   306,
2533      308,   314,   316,   241,   105,   197,   219,   251,   288,   313,
2534      277,   278,   279,   280,   278,   278,    93,    97,   205,   206,
2535      215,   216,   222,   278,   127,   305,    13,   273,   273,   155,
2536      189,   128,   278,   278,   310,    67,   117,   127,   128,   133,
2537      134,   135,   136,   245,   254,   263,   264,   272,   274,   316,
2538      278,   258,   258,   278,   127,   128,    17,   144,    13,    18,
2539      309,   100,   169,   100,   172,   132,   224,   234,    52,   112,
2540      113,   114,   115,   116,   125,   126,   130,   153,   318,   319,
2541      321,   322,   323,   325,   328,   329,   330,   113,   319,   321,
2542      329,   124,   175,   188,   224,     1,    69,   189,    97,   208,
2543      210,   212,   217,    97,   209,   210,   216,   218,    93,    97,
2544      210,   217,   218,   222,    91,    92,    93,    95,    95,   131,
2545      130,   215,   155,   163,   195,   200,   295,   219,   132,   119,
2546       28,   181,   190,   231,     7,   203,   142,   143,   132,   104,
2547      167,   237,   133,   155,   132,   281,    97,   205,   201,   279,
2548      132,   281,   130,    67,   106,   118,   223,   252,   253,   270,
2549       13,    82,    84,   125,   137,   283,   285,   287,   316,   318,
2550      258,   144,   258,   217,   218,    93,   186,   244,   258,    61,
2551       62,    63,    65,   298,   145,   311,   215,   127,   259,   260,
2552      258,   304,   304,   305,   305,   188,     1,   131,   155,   170,
2553      171,   174,   177,   178,   200,   314,   316,     1,   131,   155,
2554      173,   174,   177,   200,   314,   316,   245,   198,   188,   331,
2555       90,    93,    96,    98,   326,    90,   326,   327,   324,   320,
2556      115,   116,   319,   323,   328,   330,     1,   131,   176,   178,
2557      198,    91,    92,    93,    94,    95,   269,   270,   271,    91,
2558       92,    94,   276,   280,   217,   218,    91,    92,    94,   154,
2559      156,   293,   109,   127,   259,   306,    97,   204,   211,   212,
2560       97,   204,   212,   215,    97,   204,   211,   215,   111,   293,
2561      294,   306,   159,   163,   182,   200,   232,   125,    20,    21,
2562       27,    29,    30,    31,    45,    47,    49,    51,    57,    58,
2563      125,   131,   155,   165,   166,   196,   200,   238,   239,   240,
2564      132,   245,   109,   246,   293,   306,   133,    93,   132,   302,
2565      308,   199,   258,   310,   285,    17,    70,    74,    79,   127,
2566      128,   138,   145,   284,   286,   109,   308,   154,   202,   220,
2567      226,   293,   109,   127,   259,   306,   211,   215,   269,   269,
2568      297,   132,   146,   265,   273,     5,   160,   160,   130,   327,
2569      327,   327,   327,   131,   321,   329,   330,   332,    94,   160,
2570       97,   208,   212,   217,   209,   210,   217,    97,   208,   209,
2571      210,   220,   306,    97,   208,   210,   218,   209,   218,   293,
2572      109,   127,   259,   306,    97,    12,    13,    18,    91,    92,
2573       93,     8,   271,    93,     8,   276,    93,     8,   156,   109,
2574      127,   259,   306,   278,   260,   280,   131,   162,   130,   200,
2575      245,   245,   245,   132,   125,   155,   246,   211,   215,   302,
2576      139,   105,   131,   166,   240,   311,    12,    13,    18,   220,
2577       12,    13,   307,   102,   298,   299,   300,   301,   308,   266,
2578      267,   277,   187,   175,   219,   321,   329,   332,   330,    91,
2579       92,    93,   271,   276,    91,    92,   220,   293,    12,    13,
2580       18,   109,   127,   259,    94,    91,    92,    12,    13,    18,
2581       91,    92,   204,   204,   204,    12,    13,    18,   258,   258,
2582      258,   167,   237,   155,   246,   307,   308,   265,   133,    64,
2583      128,    50,   290,   131,   210,   210,    12,    13,    18,   131,
2584      132,   258,   301,   246
2585 };
2586
2587 #define yyerrok         (yyerrstatus = 0)
2588 #define yyclearin       (yychar = YYEMPTY)
2589 #define YYEMPTY         (-2)
2590 #define YYEOF           0
2591
2592 #define YYACCEPT        goto yyacceptlab
2593 #define YYABORT         goto yyabortlab
2594 #define YYERROR         goto yyerrorlab
2595
2596
2597 /* Like YYERROR except do call yyerror.  This remains here temporarily
2598    to ease the transition to the new meaning of YYERROR, for GCC.
2599    Once GCC version 2 has supplanted version 1, this can go.  */
2600
2601 #define YYFAIL          goto yyerrlab
2602
2603 #define YYRECOVERING()  (!!yyerrstatus)
2604
2605 #define YYBACKUP(Token, Value)                                  \
2606 do                                                              \
2607   if (yychar == YYEMPTY && yylen == 1)                          \
2608     {                                                           \
2609       yychar = (Token);                                         \
2610       yylval = (Value);                                         \
2611       yytoken = YYTRANSLATE (yychar);                           \
2612       YYPOPSTACK (1);                                           \
2613       goto yybackup;                                            \
2614     }                                                           \
2615   else                                                          \
2616     {                                                           \
2617       yyerror (&yylloc, parser, YY_("syntax error: cannot back up")); \
2618       YYERROR;                                                  \
2619     }                                                           \
2620 while (YYID (0))
2621
2622
2623 #define YYTERROR        1
2624 #define YYERRCODE       256
2625
2626
2627 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2628    If N is 0, then set CURRENT to the empty location which ends
2629    the previous symbol: RHS[0] (always defined).  */
2630
2631 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2632 #ifndef YYLLOC_DEFAULT
2633 # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2634     do                                                                  \
2635       if (YYID (N))                                                    \
2636         {                                                               \
2637           (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2638           (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
2639           (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
2640           (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
2641         }                                                               \
2642       else                                                              \
2643         {                                                               \
2644           (Current).first_line   = (Current).last_line   =              \
2645             YYRHSLOC (Rhs, 0).last_line;                                \
2646           (Current).first_column = (Current).last_column =              \
2647             YYRHSLOC (Rhs, 0).last_column;                              \
2648         }                                                               \
2649     while (YYID (0))
2650 #endif
2651
2652
2653 /* YY_LOCATION_PRINT -- Print the location on the stream.
2654    This macro was not mandated originally: define only if we know
2655    we won't break user code: when these are the locations we know.  */
2656
2657 #ifndef YY_LOCATION_PRINT
2658 # if YYLTYPE_IS_TRIVIAL
2659 #  define YY_LOCATION_PRINT(File, Loc)                  \
2660      fprintf (File, "%d.%d-%d.%d",                      \
2661               (Loc).first_line, (Loc).first_column,     \
2662               (Loc).last_line,  (Loc).last_column)
2663 # else
2664 #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2665 # endif
2666 #endif
2667
2668
2669 /* YYLEX -- calling `yylex' with the right arguments.  */
2670
2671 #ifdef YYLEX_PARAM
2672 # define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM)
2673 #else
2674 # define YYLEX yylex (&yylval, &yylloc, parser)
2675 #endif
2676
2677 /* Enable debugging if requested.  */
2678 #if YYDEBUG
2679
2680 # ifndef YYFPRINTF
2681 #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
2682 #  define YYFPRINTF fprintf
2683 # endif
2684
2685 # define YYDPRINTF(Args)                        \
2686 do {                                            \
2687   if (yydebug)                                  \
2688     YYFPRINTF Args;                             \
2689 } while (YYID (0))
2690
2691 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
2692 do {                                                                      \
2693   if (yydebug)                                                            \
2694     {                                                                     \
2695       YYFPRINTF (stderr, "%s ", Title);                                   \
2696       yy_symbol_print (stderr,                                            \
2697                   Type, Value, Location, parser); \
2698       YYFPRINTF (stderr, "\n");                                           \
2699     }                                                                     \
2700 } while (YYID (0))
2701
2702
2703 /*--------------------------------.
2704 | Print this symbol on YYOUTPUT.  |
2705 `--------------------------------*/
2706
2707 /*ARGSUSED*/
2708 #if (defined __STDC__ || defined __C99__FUNC__ \
2709      || defined __cplusplus || defined _MSC_VER)
2710 static void
2711 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, Lily_parser *parser)
2712 #else
2713 static void
2714 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, parser)
2715     FILE *yyoutput;
2716     int yytype;
2717     YYSTYPE const * const yyvaluep;
2718     YYLTYPE const * const yylocationp;
2719     Lily_parser *parser;
2720 #endif
2721 {
2722   if (!yyvaluep)
2723     return;
2724   YYUSE (yylocationp);
2725   YYUSE (parser);
2726 # ifdef YYPRINT
2727   if (yytype < YYNTOKENS)
2728     YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2729 # else
2730   YYUSE (yyoutput);
2731 # endif
2732   switch (yytype)
2733     {
2734       default:
2735         break;
2736     }
2737 }
2738
2739
2740 /*--------------------------------.
2741 | Print this symbol on YYOUTPUT.  |
2742 `--------------------------------*/
2743
2744 #if (defined __STDC__ || defined __C99__FUNC__ \
2745      || defined __cplusplus || defined _MSC_VER)
2746 static void
2747 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, Lily_parser *parser)
2748 #else
2749 static void
2750 yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp, parser)
2751     FILE *yyoutput;
2752     int yytype;
2753     YYSTYPE const * const yyvaluep;
2754     YYLTYPE const * const yylocationp;
2755     Lily_parser *parser;
2756 #endif
2757 {
2758   if (yytype < YYNTOKENS)
2759     YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
2760   else
2761     YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
2762
2763   YY_LOCATION_PRINT (yyoutput, *yylocationp);
2764   YYFPRINTF (yyoutput, ": ");
2765   yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, parser);
2766   YYFPRINTF (yyoutput, ")");
2767 }
2768
2769 /*------------------------------------------------------------------.
2770 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
2771 | TOP (included).                                                   |
2772 `------------------------------------------------------------------*/
2773
2774 #if (defined __STDC__ || defined __C99__FUNC__ \
2775      || defined __cplusplus || defined _MSC_VER)
2776 static void
2777 yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
2778 #else
2779 static void
2780 yy_stack_print (bottom, top)
2781     yytype_int16 *bottom;
2782     yytype_int16 *top;
2783 #endif
2784 {
2785   YYFPRINTF (stderr, "Stack now");
2786   for (; bottom <= top; ++bottom)
2787     YYFPRINTF (stderr, " %d", *bottom);
2788   YYFPRINTF (stderr, "\n");
2789 }
2790
2791 # define YY_STACK_PRINT(Bottom, Top)                            \
2792 do {                                                            \
2793   if (yydebug)                                                  \
2794     yy_stack_print ((Bottom), (Top));                           \
2795 } while (YYID (0))
2796
2797
2798 /*------------------------------------------------.
2799 | Report that the YYRULE is going to be reduced.  |
2800 `------------------------------------------------*/
2801
2802 #if (defined __STDC__ || defined __C99__FUNC__ \
2803      || defined __cplusplus || defined _MSC_VER)
2804 static void
2805 yy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, Lily_parser *parser)
2806 #else
2807 static void
2808 yy_reduce_print (yyvsp, yylsp, yyrule, parser)
2809     YYSTYPE *yyvsp;
2810     YYLTYPE *yylsp;
2811     int yyrule;
2812     Lily_parser *parser;
2813 #endif
2814 {
2815   int yynrhs = yyr2[yyrule];
2816   int yyi;
2817   unsigned long int yylno = yyrline[yyrule];
2818   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
2819              yyrule - 1, yylno);
2820   /* The symbols being reduced.  */
2821   for (yyi = 0; yyi < yynrhs; yyi++)
2822     {
2823       fprintf (stderr, "   $%d = ", yyi + 1);
2824       yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
2825                        &(yyvsp[(yyi + 1) - (yynrhs)])
2826                        , &(yylsp[(yyi + 1) - (yynrhs)])                , parser);
2827       fprintf (stderr, "\n");
2828     }
2829 }
2830
2831 # define YY_REDUCE_PRINT(Rule)          \
2832 do {                                    \
2833   if (yydebug)                          \
2834     yy_reduce_print (yyvsp, yylsp, Rule, parser); \
2835 } while (YYID (0))
2836
2837 /* Nonzero means print parse trace.  It is left uninitialized so that
2838    multiple parsers can coexist.  */
2839 int yydebug;
2840 #else /* !YYDEBUG */
2841 # define YYDPRINTF(Args)
2842 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
2843 # define YY_STACK_PRINT(Bottom, Top)
2844 # define YY_REDUCE_PRINT(Rule)
2845 #endif /* !YYDEBUG */
2846
2847
2848 /* YYINITDEPTH -- initial size of the parser's stacks.  */
2849 #ifndef YYINITDEPTH
2850 # define YYINITDEPTH 200
2851 #endif
2852
2853 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2854    if the built-in stack extension method is used).
2855
2856    Do not make this value too large; the results are undefined if
2857    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
2858    evaluated with infinite-precision integer arithmetic.  */
2859
2860 #ifndef YYMAXDEPTH
2861 # define YYMAXDEPTH 10000
2862 #endif
2863
2864 \f
2865
2866 #if YYERROR_VERBOSE
2867
2868 # ifndef yystrlen
2869 #  if defined __GLIBC__ && defined _STRING_H
2870 #   define yystrlen strlen
2871 #  else
2872 /* Return the length of YYSTR.  */
2873 #if (defined __STDC__ || defined __C99__FUNC__ \
2874      || defined __cplusplus || defined _MSC_VER)
2875 static YYSIZE_T
2876 yystrlen (const char *yystr)
2877 #else
2878 static YYSIZE_T
2879 yystrlen (yystr)
2880     const char *yystr;
2881 #endif
2882 {
2883   YYSIZE_T yylen;
2884   for (yylen = 0; yystr[yylen]; yylen++)
2885     continue;
2886   return yylen;
2887 }
2888 #  endif
2889 # endif
2890
2891 # ifndef yystpcpy
2892 #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2893 #   define yystpcpy stpcpy
2894 #  else
2895 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2896    YYDEST.  */
2897 #if (defined __STDC__ || defined __C99__FUNC__ \
2898      || defined __cplusplus || defined _MSC_VER)
2899 static char *
2900 yystpcpy (char *yydest, const char *yysrc)
2901 #else
2902 static char *
2903 yystpcpy (yydest, yysrc)
2904     char *yydest;
2905     const char *yysrc;
2906 #endif
2907 {
2908   char *yyd = yydest;
2909   const char *yys = yysrc;
2910
2911   while ((*yyd++ = *yys++) != '\0')
2912     continue;
2913
2914   return yyd - 1;
2915 }
2916 #  endif
2917 # endif
2918
2919 # ifndef yytnamerr
2920 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2921    quotes and backslashes, so that it's suitable for yyerror.  The
2922    heuristic is that double-quoting is unnecessary unless the string
2923    contains an apostrophe, a comma, or backslash (other than
2924    backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
2925    null, do not copy; instead, return the length of what the result
2926    would have been.  */
2927 static YYSIZE_T
2928 yytnamerr (char *yyres, const char *yystr)
2929 {
2930   if (*yystr == '"')
2931     {
2932       YYSIZE_T yyn = 0;
2933       char const *yyp = yystr;
2934
2935       for (;;)
2936         switch (*++yyp)
2937           {
2938           case '\'':
2939           case ',':
2940             goto do_not_strip_quotes;
2941
2942           case '\\':
2943             if (*++yyp != '\\')
2944               goto do_not_strip_quotes;
2945             /* Fall through.  */
2946           default:
2947             if (yyres)
2948               yyres[yyn] = *yyp;
2949             yyn++;
2950             break;
2951
2952           case '"':
2953             if (yyres)
2954               yyres[yyn] = '\0';
2955             return yyn;
2956           }
2957     do_not_strip_quotes: ;
2958     }
2959
2960   if (! yyres)
2961     return yystrlen (yystr);
2962
2963   return yystpcpy (yyres, yystr) - yyres;
2964 }
2965 # endif
2966
2967 /* Copy into YYRESULT an error message about the unexpected token
2968    YYCHAR while in state YYSTATE.  Return the number of bytes copied,
2969    including the terminating null byte.  If YYRESULT is null, do not
2970    copy anything; just return the number of bytes that would be
2971    copied.  As a special case, return 0 if an ordinary "syntax error"
2972    message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
2973    size calculation.  */
2974 static YYSIZE_T
2975 yysyntax_error (char *yyresult, int yystate, int yychar)
2976 {
2977   int yyn = yypact[yystate];
2978
2979   if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
2980     return 0;
2981   else
2982     {
2983       int yytype = YYTRANSLATE (yychar);
2984       YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
2985       YYSIZE_T yysize = yysize0;
2986       YYSIZE_T yysize1;
2987       int yysize_overflow = 0;
2988       enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2989       char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2990       int yyx;
2991
2992 # if 0
2993       /* This is so xgettext sees the translatable formats that are
2994          constructed on the fly.  */
2995       YY_("syntax error, unexpected %s");
2996       YY_("syntax error, unexpected %s, expecting %s");
2997       YY_("syntax error, unexpected %s, expecting %s or %s");
2998       YY_("syntax error, unexpected %s, expecting %s or %s or %s");
2999       YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
3000 # endif
3001       char *yyfmt;
3002       char const *yyf;
3003       static char const yyunexpected[] = "syntax error, unexpected %s";
3004       static char const yyexpecting[] = ", expecting %s";
3005       static char const yyor[] = " or %s";
3006       char yyformat[sizeof yyunexpected
3007                     + sizeof yyexpecting - 1
3008                     + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
3009                        * (sizeof yyor - 1))];
3010       char const *yyprefix = yyexpecting;
3011
3012       /* Start YYX at -YYN if negative to avoid negative indexes in
3013          YYCHECK.  */
3014       int yyxbegin = yyn < 0 ? -yyn : 0;
3015
3016       /* Stay within bounds of both yycheck and yytname.  */
3017       int yychecklim = YYLAST - yyn + 1;
3018       int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
3019       int yycount = 1;
3020
3021       yyarg[0] = yytname[yytype];
3022       yyfmt = yystpcpy (yyformat, yyunexpected);
3023
3024       for (yyx = yyxbegin; yyx < yyxend; ++yyx)
3025         if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
3026           {
3027             if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
3028               {
3029                 yycount = 1;
3030                 yysize = yysize0;
3031                 yyformat[sizeof yyunexpected - 1] = '\0';
3032                 break;
3033               }
3034             yyarg[yycount++] = yytname[yyx];
3035             yysize1 = yysize + yytnamerr (0, yytname[yyx]);
3036             yysize_overflow |= (yysize1 < yysize);
3037             yysize = yysize1;
3038             yyfmt = yystpcpy (yyfmt, yyprefix);
3039             yyprefix = yyor;
3040           }
3041
3042       yyf = YY_(yyformat);
3043       yysize1 = yysize + yystrlen (yyf);
3044       yysize_overflow |= (yysize1 < yysize);
3045       yysize = yysize1;
3046
3047       if (yysize_overflow)
3048         return YYSIZE_MAXIMUM;
3049
3050       if (yyresult)
3051         {
3052           /* Avoid sprintf, as that infringes on the user's name space.
3053              Don't have undefined behavior even if the translation
3054              produced a string with the wrong number of "%s"s.  */
3055           char *yyp = yyresult;
3056           int yyi = 0;
3057           while ((*yyp = *yyf) != '\0')
3058             {
3059               if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
3060                 {
3061                   yyp += yytnamerr (yyp, yyarg[yyi++]);
3062                   yyf += 2;
3063                 }
3064               else
3065                 {
3066                   yyp++;
3067                   yyf++;
3068                 }
3069             }
3070         }
3071       return yysize;
3072     }
3073 }
3074 #endif /* YYERROR_VERBOSE */
3075 \f
3076
3077 /*-----------------------------------------------.
3078 | Release the memory associated to this symbol.  |
3079 `-----------------------------------------------*/
3080
3081 /*ARGSUSED*/
3082 #if (defined __STDC__ || defined __C99__FUNC__ \
3083      || defined __cplusplus || defined _MSC_VER)
3084 static void
3085 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, Lily_parser *parser)
3086 #else
3087 static void
3088 yydestruct (yymsg, yytype, yyvaluep, yylocationp, parser)
3089     const char *yymsg;
3090     int yytype;
3091     YYSTYPE *yyvaluep;
3092     YYLTYPE *yylocationp;
3093     Lily_parser *parser;
3094 #endif
3095 {
3096   YYUSE (yyvaluep);
3097   YYUSE (yylocationp);
3098   YYUSE (parser);
3099
3100   if (!yymsg)
3101     yymsg = "Deleting";
3102   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
3103
3104   switch (yytype)
3105     {
3106
3107       default:
3108         break;
3109     }
3110 }
3111 \f
3112
3113 /* Prevent warnings from -Wmissing-prototypes.  */
3114
3115 #ifdef YYPARSE_PARAM
3116 #if defined __STDC__ || defined __cplusplus
3117 int yyparse (void *YYPARSE_PARAM);
3118 #else
3119 int yyparse ();
3120 #endif
3121 #else /* ! YYPARSE_PARAM */
3122 #if defined __STDC__ || defined __cplusplus
3123 int yyparse (Lily_parser *parser);
3124 #else
3125 int yyparse ();
3126 #endif
3127 #endif /* ! YYPARSE_PARAM */
3128
3129
3130
3131
3132
3133
3134 /*----------.
3135 | yyparse.  |
3136 `----------*/
3137
3138 #ifdef YYPARSE_PARAM
3139 #if (defined __STDC__ || defined __C99__FUNC__ \
3140      || defined __cplusplus || defined _MSC_VER)
3141 int
3142 yyparse (void *YYPARSE_PARAM)
3143 #else
3144 int
3145 yyparse (YYPARSE_PARAM)
3146     void *YYPARSE_PARAM;
3147 #endif
3148 #else /* ! YYPARSE_PARAM */
3149 #if (defined __STDC__ || defined __C99__FUNC__ \
3150      || defined __cplusplus || defined _MSC_VER)
3151 int
3152 yyparse (Lily_parser *parser)
3153 #else
3154 int
3155 yyparse (parser)
3156     Lily_parser *parser;
3157 #endif
3158 #endif
3159 {
3160   /* The look-ahead symbol.  */
3161 int yychar;
3162
3163 /* The semantic value of the look-ahead symbol.  */
3164 YYSTYPE yylval;
3165
3166 /* Number of syntax errors so far.  */
3167 int yynerrs;
3168 /* Location data for the look-ahead symbol.  */
3169 YYLTYPE yylloc;
3170
3171   int yystate;
3172   int yyn;
3173   int yyresult;
3174   /* Number of tokens to shift before error messages enabled.  */
3175   int yyerrstatus;
3176   /* Look-ahead token as an internal (translated) token number.  */
3177   int yytoken = 0;
3178 #if YYERROR_VERBOSE
3179   /* Buffer for error messages, and its allocated size.  */
3180   char yymsgbuf[128];
3181   char *yymsg = yymsgbuf;
3182   YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
3183 #endif
3184
3185   /* Three stacks and their tools:
3186      `yyss': related to states,
3187      `yyvs': related to semantic values,
3188      `yyls': related to locations.
3189
3190      Refer to the stacks thru separate pointers, to allow yyoverflow
3191      to reallocate them elsewhere.  */
3192
3193   /* The state stack.  */
3194   yytype_int16 yyssa[YYINITDEPTH];
3195   yytype_int16 *yyss = yyssa;
3196   yytype_int16 *yyssp;
3197
3198   /* The semantic value stack.  */
3199   YYSTYPE yyvsa[YYINITDEPTH];
3200   YYSTYPE *yyvs = yyvsa;
3201   YYSTYPE *yyvsp;
3202
3203   /* The location stack.  */
3204   YYLTYPE yylsa[YYINITDEPTH];
3205   YYLTYPE *yyls = yylsa;
3206   YYLTYPE *yylsp;
3207   /* The locations where the error started and ended.  */
3208   YYLTYPE yyerror_range[2];
3209
3210 #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
3211
3212   YYSIZE_T yystacksize = YYINITDEPTH;
3213
3214   /* The variables used to return semantic value and location from the
3215      action routines.  */
3216   YYSTYPE yyval;
3217   YYLTYPE yyloc;
3218
3219   /* The number of symbols on the RHS of the reduced rule.
3220      Keep to zero when no symbol should be popped.  */
3221   int yylen = 0;
3222
3223   YYDPRINTF ((stderr, "Starting parse\n"));
3224
3225   yystate = 0;
3226   yyerrstatus = 0;
3227   yynerrs = 0;
3228   yychar = YYEMPTY;             /* Cause a token to be read.  */
3229
3230   /* Initialize stack pointers.
3231      Waste one element of value and location stack
3232      so that they stay on the same level as the state stack.
3233      The wasted elements are never initialized.  */
3234
3235   yyssp = yyss;
3236   yyvsp = yyvs;
3237   yylsp = yyls;
3238 #if YYLTYPE_IS_TRIVIAL
3239   /* Initialize the default location before parsing starts.  */
3240   yylloc.first_line   = yylloc.last_line   = 1;
3241   yylloc.first_column = yylloc.last_column = 0;
3242 #endif
3243
3244   goto yysetstate;
3245
3246 /*------------------------------------------------------------.
3247 | yynewstate -- Push a new state, which is found in yystate.  |
3248 `------------------------------------------------------------*/
3249  yynewstate:
3250   /* In all cases, when you get here, the value and location stacks
3251      have just been pushed.  So pushing a state here evens the stacks.  */
3252   yyssp++;
3253
3254  yysetstate:
3255   *yyssp = yystate;
3256
3257   if (yyss + yystacksize - 1 <= yyssp)
3258     {
3259       /* Get the current used size of the three stacks, in elements.  */
3260       YYSIZE_T yysize = yyssp - yyss + 1;
3261
3262 #ifdef yyoverflow
3263       {
3264         /* Give user a chance to reallocate the stack.  Use copies of
3265            these so that the &'s don't force the real ones into
3266            memory.  */
3267         YYSTYPE *yyvs1 = yyvs;
3268         yytype_int16 *yyss1 = yyss;
3269         YYLTYPE *yyls1 = yyls;
3270
3271         /* Each stack pointer address is followed by the size of the
3272            data in use in that stack, in bytes.  This used to be a
3273            conditional around just the two extra args, but that might
3274            be undefined if yyoverflow is a macro.  */
3275         yyoverflow (YY_("memory exhausted"),
3276                     &yyss1, yysize * sizeof (*yyssp),
3277                     &yyvs1, yysize * sizeof (*yyvsp),
3278                     &yyls1, yysize * sizeof (*yylsp),
3279                     &yystacksize);
3280         yyls = yyls1;
3281         yyss = yyss1;
3282         yyvs = yyvs1;
3283       }
3284 #else /* no yyoverflow */
3285 # ifndef YYSTACK_RELOCATE
3286       goto yyexhaustedlab;
3287 # else
3288       /* Extend the stack our own way.  */
3289       if (YYMAXDEPTH <= yystacksize)
3290         goto yyexhaustedlab;
3291       yystacksize *= 2;
3292       if (YYMAXDEPTH < yystacksize)
3293         yystacksize = YYMAXDEPTH;
3294
3295       {
3296         yytype_int16 *yyss1 = yyss;
3297         union yyalloc *yyptr =
3298           (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
3299         if (! yyptr)
3300           goto yyexhaustedlab;
3301         YYSTACK_RELOCATE (yyss);
3302         YYSTACK_RELOCATE (yyvs);
3303         YYSTACK_RELOCATE (yyls);
3304 #  undef YYSTACK_RELOCATE
3305         if (yyss1 != yyssa)
3306           YYSTACK_FREE (yyss1);
3307       }
3308 # endif
3309 #endif /* no yyoverflow */
3310
3311       yyssp = yyss + yysize - 1;
3312       yyvsp = yyvs + yysize - 1;
3313       yylsp = yyls + yysize - 1;
3314
3315       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
3316                   (unsigned long int) yystacksize));
3317
3318       if (yyss + yystacksize - 1 <= yyssp)
3319         YYABORT;
3320     }
3321
3322   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
3323
3324   goto yybackup;
3325
3326 /*-----------.
3327 | yybackup.  |
3328 `-----------*/
3329 yybackup:
3330
3331   /* Do appropriate processing given the current state.  Read a
3332      look-ahead token if we need one and don't already have one.  */
3333
3334   /* First try to decide what to do without reference to look-ahead token.  */
3335   yyn = yypact[yystate];
3336   if (yyn == YYPACT_NINF)
3337     goto yydefault;
3338
3339   /* Not known => get a look-ahead token if don't already have one.  */
3340
3341   /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
3342   if (yychar == YYEMPTY)
3343     {
3344       YYDPRINTF ((stderr, "Reading a token: "));
3345       yychar = YYLEX;
3346     }
3347
3348   if (yychar <= YYEOF)
3349     {
3350       yychar = yytoken = YYEOF;
3351       YYDPRINTF ((stderr, "Now at end of input.\n"));
3352     }
3353   else
3354     {
3355       yytoken = YYTRANSLATE (yychar);
3356       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
3357     }
3358
3359   /* If the proper action on seeing token YYTOKEN is to reduce or to
3360      detect an error, take that action.  */
3361   yyn += yytoken;
3362   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
3363     goto yydefault;
3364   yyn = yytable[yyn];
3365   if (yyn <= 0)
3366     {
3367       if (yyn == 0 || yyn == YYTABLE_NINF)
3368         goto yyerrlab;
3369       yyn = -yyn;
3370       goto yyreduce;
3371     }
3372
3373   if (yyn == YYFINAL)
3374     YYACCEPT;
3375
3376   /* Count tokens shifted since error; after three, turn off error
3377      status.  */
3378   if (yyerrstatus)
3379     yyerrstatus--;
3380
3381   /* Shift the look-ahead token.  */
3382   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
3383
3384   /* Discard the shifted token unless it is eof.  */
3385   if (yychar != YYEOF)
3386     yychar = YYEMPTY;
3387
3388   yystate = yyn;
3389   *++yyvsp = yylval;
3390   *++yylsp = yylloc;
3391   goto yynewstate;
3392
3393
3394 /*-----------------------------------------------------------.
3395 | yydefault -- do the default action for the current state.  |
3396 `-----------------------------------------------------------*/
3397 yydefault:
3398   yyn = yydefact[yystate];
3399   if (yyn == 0)
3400     goto yyerrlab;
3401   goto yyreduce;
3402
3403
3404 /*-----------------------------.
3405 | yyreduce -- Do a reduction.  |
3406 `-----------------------------*/
3407 yyreduce:
3408   /* yyn is the number of a rule to reduce with.  */
3409   yylen = yyr2[yyn];
3410
3411   /* If YYLEN is nonzero, implement the default value of the action:
3412      `$$ = $1'.
3413
3414      Otherwise, the following line sets YYVAL to garbage.
3415      This behavior is undocumented and Bison
3416      users should not rely upon it.  Assigning to YYVAL
3417      unconditionally makes the parser a bit smaller, and it avoids a
3418      GCC warning that YYVAL may be used uninitialized.  */
3419   yyval = yyvsp[1-yylen];
3420
3421   /* Default location.  */
3422   YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
3423   YY_REDUCE_PRINT (yyn);
3424   switch (yyn)
3425     {
3426         case 3:
3427 #line 565 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3428     {
3429                 SCM nn = parser->lexer_->lookup_identifier ("pitchnames");
3430                 parser->lexer_->push_note_state (nn);
3431         ;}
3432     break;
3433
3434   case 4:
3435 #line 568 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3436     {
3437                 parser->lexer_->pop_state ();
3438                 parser->lexer_->set_identifier (ly_symbol2scm ("parseStringResult"), (yyvsp[(3) - (3)].scm));
3439         ;}
3440     break;
3441
3442   case 5:
3443 #line 574 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3444     { ;}
3445     break;
3446
3447   case 6:
3448 #line 575 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3449     {
3450         ;}
3451     break;
3452
3453   case 7:
3454 #line 577 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3455     {
3456         ;}
3457     break;
3458
3459   case 8:
3460 #line 579 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3461     {
3462                 parser->error_level_ = 1;
3463         ;}
3464     break;
3465
3466   case 9:
3467 #line 582 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3468     {
3469                 parser->error_level_ = 1;
3470         ;}
3471     break;
3472
3473   case 10:
3474 #line 589 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3475     {
3476                 parser->lexer_->add_scope (get_header (parser));
3477         ;}
3478     break;
3479
3480   case 11:
3481 #line 591 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3482     {
3483                 parser->lexer_->set_identifier (ly_symbol2scm ("$defaultheader"), (yyvsp[(2) - (2)].scm));
3484         ;}
3485     break;
3486
3487   case 12:
3488 #line 594 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3489     {
3490                 Book *book = (yyvsp[(1) - (1)].book);
3491                 SCM proc = parser->lexer_->lookup_identifier ("toplevel-book-handler");
3492                 scm_call_2 (proc, parser->self_scm (), book->self_scm ());
3493                 book->unprotect ();
3494         ;}
3495     break;
3496
3497   case 13:
3498 #line 600 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3499     {
3500                 Book *bookpart = (yyvsp[(1) - (1)].book);
3501                 SCM proc = parser->lexer_->lookup_identifier ("toplevel-bookpart-handler");
3502                 scm_call_2 (proc, parser->self_scm (), bookpart->self_scm ());
3503                 bookpart->unprotect ();
3504         ;}
3505     break;
3506
3507   case 14:
3508 #line 606 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3509     {
3510                 Score *score = (yyvsp[(1) - (1)].score);
3511
3512                 SCM proc = parser->lexer_->lookup_identifier ("toplevel-score-handler");
3513                 scm_call_2 (proc, parser->self_scm (), score->self_scm ());
3514                 score->unprotect ();
3515         ;}
3516     break;
3517
3518   case 15:
3519 #line 613 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3520     {
3521                 Music *music = unsmob_music ((yyvsp[(1) - (1)].scm));
3522                 SCM proc = parser->lexer_->lookup_identifier ("toplevel-music-handler");
3523                 scm_call_2 (proc, parser->self_scm (), music->self_scm ());
3524         ;}
3525     break;
3526
3527   case 16:
3528 #line 618 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3529     {
3530                 SCM proc = parser->lexer_->lookup_identifier ("toplevel-text-handler");
3531                 scm_call_2 (proc, parser->self_scm (), scm_list_1 ((yyvsp[(1) - (1)].scm)));
3532         ;}
3533     break;
3534
3535   case 17:
3536 #line 622 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3537     {
3538                 SCM proc = parser->lexer_->lookup_identifier ("toplevel-text-handler");
3539                 scm_call_2 (proc, parser->self_scm (), (yyvsp[(1) - (1)].scm));
3540         ;}
3541     break;
3542
3543   case 18:
3544 #line 626 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3545     {
3546                 SCM id = SCM_EOL;
3547                 Output_def * od = (yyvsp[(1) - (1)].outputdef);
3548
3549                 if ((yyvsp[(1) - (1)].outputdef)->c_variable ("is-paper") == SCM_BOOL_T)
3550                         id = ly_symbol2scm ("$defaultpaper");
3551                 else if ((yyvsp[(1) - (1)].outputdef)->c_variable ("is-midi") == SCM_BOOL_T)
3552                         id = ly_symbol2scm ("$defaultmidi");
3553                 else if ((yyvsp[(1) - (1)].outputdef)->c_variable ("is-layout") == SCM_BOOL_T)
3554                         id = ly_symbol2scm ("$defaultlayout");
3555
3556                 parser->lexer_->set_identifier (id, od->self_scm ());
3557                 od->unprotect();
3558         ;}
3559     break;
3560
3561   case 19:
3562 #line 644 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3563     {
3564                 (yyval.scm) = parser->lexer_->eval_scm_token ((yyvsp[(1) - (1)].scm));
3565         ;}
3566     break;
3567
3568   case 27:
3569 #line 658 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3570     {
3571                 (yyval.scm) = (yyvsp[(1) - (1)].score)->self_scm ();
3572                 (yyvsp[(1) - (1)].score)->unprotect ();
3573         ;}
3574     break;
3575
3576   case 29:
3577 #line 664 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3578     {
3579                 (yyval.scm) = (yyvsp[(1) - (1)].book)->self_scm ();
3580                 (yyvsp[(1) - (1)].book)->unprotect ();
3581         ;}
3582     break;
3583
3584   case 30:
3585 #line 669 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3586     {
3587                 (yyval.scm) = (yyvsp[(1) - (1)].book)->self_scm ();
3588                 (yyvsp[(1) - (1)].book)->unprotect ();
3589         ;}
3590     break;
3591
3592   case 31:
3593 #line 674 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3594     {
3595                 (yyval.scm) = (yyvsp[(1) - (1)].outputdef)->self_scm ();
3596                 (yyvsp[(1) - (1)].outputdef)->unprotect ();
3597         ;}
3598     break;
3599
3600   case 37:
3601 #line 694 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3602     {
3603                 (yyval.scm) = MAKE_SYNTAX ("music-function", (yyloc),
3604                                          (yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm));
3605         ;}
3606     break;
3607
3608   case 38:
3609 #line 702 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3610     {
3611                 (yyval.scm) = MAKE_SYNTAX ("void-music", (yyloc));
3612         ;}
3613     break;
3614
3615   case 40:
3616 #line 706 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3617     {
3618                 (yyvsp[(3) - (3)].scm) = scm_reverse_x ((yyvsp[(3) - (3)].scm), SCM_EOL);
3619                 if (unsmob_music ((yyvsp[(2) - (3)].scm)))
3620                         (yyvsp[(3) - (3)].scm) = scm_cons ((yyvsp[(2) - (3)].scm), (yyvsp[(3) - (3)].scm));
3621                 if (unsmob_music ((yyvsp[(1) - (3)].scm)))
3622                         (yyvsp[(3) - (3)].scm) = scm_cons ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
3623                 (yyval.scm) = MAKE_SYNTAX ("sequential-music", (yyloc), (yyvsp[(3) - (3)].scm));
3624         ;}
3625     break;
3626
3627   case 41:
3628 #line 714 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3629     {
3630                 parser->error_level_ = 1;
3631         ;}
3632     break;
3633
3634   case 42:
3635 #line 717 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3636     {
3637                 parser->error_level_ = 1;
3638         ;}
3639     break;
3640
3641   case 44:
3642 #line 725 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3643     {
3644
3645         ;}
3646     break;
3647
3648   case 45:
3649 #line 731 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3650     {
3651                 (yyval.scm) = parser->lexer_->remove_scope ();
3652         ;}
3653     break;
3654
3655   case 46:
3656 #line 740 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3657     { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
3658     break;
3659
3660   case 47:
3661 #line 741 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3662     { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
3663     break;
3664
3665   case 48:
3666 #line 745 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3667     {
3668                 parser->lexer_->set_identifier ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
3669         ;}
3670     break;
3671
3672   case 49:
3673 #line 748 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3674     {
3675                 SCM path = scm_cons (scm_string_to_symbol ((yyvsp[(1) - (4)].scm)), (yyvsp[(2) - (4)].scm));
3676                 parser->lexer_->set_identifier (path, (yyvsp[(4) - (4)].scm));
3677         ;
3678 /*
3679  TODO: devise standard for protection in parser.
3680
3681   The parser stack lives on the C-stack, which means that
3682 all objects can be unprotected as soon as they're here.
3683
3684 */
3685         ;}
3686     break;
3687
3688   case 50:
3689 #line 760 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3690     { ;}
3691     break;
3692
3693   case 51:
3694 #line 765 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3695     {
3696                 (yyval.scm) = (yyvsp[(1) - (1)].score)->self_scm ();
3697                 (yyvsp[(1) - (1)].score)->unprotect ();
3698         ;}
3699     break;
3700
3701   case 52:
3702 #line 769 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3703     {
3704                 (yyval.scm) = (yyvsp[(1) - (1)].book)->self_scm ();
3705                 (yyvsp[(1) - (1)].book)->unprotect ();
3706         ;}
3707     break;
3708
3709   case 53:
3710 #line 773 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3711     {
3712                 (yyval.scm) = (yyvsp[(1) - (1)].book)->self_scm ();
3713                 (yyvsp[(1) - (1)].book)->unprotect ();
3714         ;}
3715     break;
3716
3717   case 54:
3718 #line 777 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3719     {
3720                 (yyval.scm) = (yyvsp[(1) - (1)].outputdef)->self_scm ();
3721                 (yyvsp[(1) - (1)].outputdef)->unprotect ();
3722         ;}
3723     break;
3724
3725   case 55:
3726 #line 781 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3727     {
3728                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
3729         ;}
3730     break;
3731
3732   case 56:
3733 #line 784 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3734     {
3735                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
3736         ;}
3737     break;
3738
3739   case 57:
3740 #line 787 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3741     {
3742                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
3743         ;}
3744     break;
3745
3746   case 58:
3747 #line 790 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3748     {
3749                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
3750         ;}
3751     break;
3752
3753   case 59:
3754 #line 793 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3755     {
3756                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
3757         ;}
3758     break;
3759
3760   case 60:
3761 #line 796 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3762     {
3763                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
3764         ;}
3765     break;
3766
3767   case 61:
3768 #line 799 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3769     {
3770                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
3771         ;}
3772     break;
3773
3774   case 62:
3775 #line 802 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3776     {
3777                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
3778         ;}
3779     break;
3780
3781   case 63:
3782 #line 805 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3783     {
3784                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
3785         ;}
3786     break;
3787
3788   case 64:
3789 #line 808 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3790     {
3791                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
3792         ;}
3793     break;
3794
3795   case 65:
3796 #line 815 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3797     {
3798                 (yyval.scm) = (yyvsp[(3) - (4)].scm);
3799         ;}
3800     break;
3801
3802   case 68:
3803 #line 827 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3804     {
3805                 if (unsmob_music ((yyvsp[(1) - (1)].scm))) {
3806                         SCM proc = parser->lexer_->lookup_identifier ("context-mod-music-handler");
3807                         (yyvsp[(1) - (1)].scm) = scm_call_2 (proc, parser->self_scm (), (yyvsp[(1) - (1)].scm));
3808                 }
3809                 if (unsmob_context_mod ((yyvsp[(1) - (1)].scm)))
3810                         (yyval.scm) = (yyvsp[(1) - (1)].scm);
3811                 else {
3812                         parser->parser_error ((yylsp[(1) - (1)]), _ ("not a context mod"));
3813                 }
3814         ;}
3815     break;
3816
3817   case 69:
3818 #line 842 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3819     {
3820                 (yyval.scm) = Context_def::make_scm ();
3821                 unsmob_context_def ((yyval.scm))->origin ()->set_spot ((yyloc));
3822         ;}
3823     break;
3824
3825   case 70:
3826 #line 846 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3827     {
3828                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
3829                 unsmob_context_def ((yyval.scm))->origin ()->set_spot ((yyloc));
3830         ;}
3831     break;
3832
3833   case 71:
3834 #line 850 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3835     {
3836                 unsmob_context_def ((yyval.scm))->add_context_mod ((yyvsp[(2) - (2)].scm));
3837         ;}
3838     break;
3839
3840   case 72:
3841 #line 853 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3842     {
3843                 Context_def *td = unsmob_context_def ((yyval.scm));
3844                 SCM new_mods = unsmob_context_mod ((yyvsp[(2) - (2)].scm))->get_mods ();
3845                 for (SCM m = new_mods; scm_is_pair (m); m = scm_cdr (m)) {
3846                     td->add_context_mod (scm_car (m));
3847                 }
3848         ;}
3849     break;
3850
3851   case 73:
3852 #line 860 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3853     {
3854                 Context_def *td = unsmob_context_def ((yyval.scm));
3855                 SCM new_mods = unsmob_context_mod ((yyvsp[(2) - (2)].scm))->get_mods ();
3856                 for (SCM m = new_mods; scm_is_pair (m); m = scm_cdr (m)) {
3857                     td->add_context_mod (scm_car (m));
3858                 }
3859         ;}
3860     break;
3861
3862   case 74:
3863 #line 872 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3864     {
3865                 (yyval.book) = (yyvsp[(3) - (4)].book);
3866                 pop_paper (parser);
3867                 parser->lexer_->set_identifier (ly_symbol2scm ("$current-book"), SCM_BOOL_F);
3868         ;}
3869     break;
3870
3871   case 75:
3872 #line 883 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3873     {
3874                 (yyval.book) = new Book;
3875                 init_papers (parser);
3876                 (yyval.book)->origin ()->set_spot ((yyloc));
3877                 (yyval.book)->paper_ = dynamic_cast<Output_def*> (unsmob_output_def (parser->lexer_->lookup_identifier ("$defaultpaper"))->clone ());
3878                 (yyval.book)->paper_->unprotect ();
3879                 push_paper (parser, (yyval.book)->paper_);
3880                 (yyval.book)->header_ = get_header (parser);
3881                 parser->lexer_->set_identifier (ly_symbol2scm ("$current-book"), (yyval.book)->self_scm ());
3882         ;}
3883     break;
3884
3885   case 76:
3886 #line 893 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3887     {
3888                 (yyval.book) = unsmob_book ((yyvsp[(1) - (1)].scm));
3889                 (yyval.book)->protect ();
3890                 (yyval.book)->origin ()->set_spot ((yyloc));
3891                 parser->lexer_->set_identifier (ly_symbol2scm ("$current-book"), (yyvsp[(1) - (1)].scm));
3892         ;}
3893     break;
3894
3895   case 77:
3896 #line 899 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3897     {
3898                 (yyval.book)->paper_ = (yyvsp[(2) - (2)].outputdef);
3899                 (yyvsp[(2) - (2)].outputdef)->unprotect ();
3900                 set_paper (parser, (yyvsp[(2) - (2)].outputdef));
3901         ;}
3902     break;
3903
3904   case 78:
3905 #line 904 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3906     {
3907                 Book *bookpart = (yyvsp[(2) - (2)].book);
3908                 SCM proc = parser->lexer_->lookup_identifier ("book-bookpart-handler");
3909                 scm_call_2 (proc, (yyval.book)->self_scm (), bookpart->self_scm ());
3910                 bookpart->unprotect ();
3911         ;}
3912     break;
3913
3914   case 79:
3915 #line 910 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3916     {
3917                 Score *score = (yyvsp[(2) - (2)].score);
3918                 SCM proc = parser->lexer_->lookup_identifier ("book-score-handler");
3919                 scm_call_2 (proc, (yyval.book)->self_scm (), score->self_scm ());
3920                 score->unprotect ();
3921         ;}
3922     break;
3923
3924   case 80:
3925 #line 916 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3926     {
3927                 Music *music = unsmob_music ((yyvsp[(2) - (2)].scm));
3928                 SCM proc = parser->lexer_->lookup_identifier ("book-music-handler");
3929                 scm_call_3 (proc, parser->self_scm (), (yyval.book)->self_scm (), music->self_scm ());
3930         ;}
3931     break;
3932
3933   case 81:
3934 #line 921 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3935     {
3936                 SCM proc = parser->lexer_->lookup_identifier ("book-text-handler");
3937                 scm_call_2 (proc, (yyval.book)->self_scm (), scm_list_1 ((yyvsp[(2) - (2)].scm)));
3938         ;}
3939     break;
3940
3941   case 82:
3942 #line 925 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3943     {
3944                 SCM proc = parser->lexer_->lookup_identifier ("book-text-handler");
3945                 scm_call_2 (proc, (yyval.book)->self_scm (), (yyvsp[(2) - (2)].scm));
3946         ;}
3947     break;
3948
3949   case 83:
3950 #line 930 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3951     {
3952                 parser->lexer_->add_scope ((yyvsp[(1) - (1)].book)->header_);
3953         ;}
3954     break;
3955
3956   case 85:
3957 #line 933 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3958     { ;}
3959     break;
3960
3961   case 86:
3962 #line 934 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3963     {
3964                 (yyval.book)->paper_ = 0;
3965                 (yyval.book)->scores_ = SCM_EOL;
3966                 (yyval.book)->bookparts_ = SCM_EOL;
3967         ;}
3968     break;
3969
3970   case 87:
3971 #line 942 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3972     {
3973                 (yyval.book) = (yyvsp[(3) - (4)].book);
3974                 parser->lexer_->set_identifier (ly_symbol2scm ("$current-bookpart"), SCM_BOOL_F);
3975         ;}
3976     break;
3977
3978   case 88:
3979 #line 949 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3980     {
3981                 (yyval.book) = new Book;
3982                 (yyval.book)->origin ()->set_spot ((yyloc));
3983                 parser->lexer_->set_identifier (ly_symbol2scm ("$current-bookpart"), (yyval.book)->self_scm ());
3984         ;}
3985     break;
3986
3987   case 89:
3988 #line 954 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3989     {
3990                 (yyval.book) = unsmob_book ((yyvsp[(1) - (1)].scm));
3991                 (yyval.book)->protect ();
3992                 (yyval.book)->origin ()->set_spot ((yyloc));
3993                 parser->lexer_->set_identifier (ly_symbol2scm ("$current-bookpart"), (yyvsp[(1) - (1)].scm));
3994         ;}
3995     break;
3996
3997   case 90:
3998 #line 960 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
3999     {
4000                 (yyval.book)->paper_ = (yyvsp[(2) - (2)].outputdef);
4001                 (yyvsp[(2) - (2)].outputdef)->unprotect ();
4002         ;}
4003     break;
4004
4005   case 91:
4006 #line 964 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4007     {
4008                 Score *score = (yyvsp[(2) - (2)].score);
4009                 SCM proc = parser->lexer_->lookup_identifier ("bookpart-score-handler");
4010                 scm_call_2 (proc, (yyval.book)->self_scm (), score->self_scm ());
4011                 score->unprotect ();
4012         ;}
4013     break;
4014
4015   case 92:
4016 #line 970 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4017     {
4018                 Music *music = unsmob_music ((yyvsp[(2) - (2)].scm));
4019                 SCM proc = parser->lexer_->lookup_identifier ("bookpart-music-handler");
4020                 scm_call_3 (proc, parser->self_scm (), (yyval.book)->self_scm (), music->self_scm ());
4021         ;}
4022     break;
4023
4024   case 93:
4025 #line 975 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4026     {
4027                 SCM proc = parser->lexer_->lookup_identifier ("bookpart-text-handler");
4028                 scm_call_2 (proc, (yyval.book)->self_scm (), scm_list_1 ((yyvsp[(2) - (2)].scm)));
4029         ;}
4030     break;
4031
4032   case 94:
4033 #line 979 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4034     {
4035                 SCM proc = parser->lexer_->lookup_identifier ("bookpart-text-handler");
4036                 scm_call_2 (proc, (yyval.book)->self_scm (), (yyvsp[(2) - (2)].scm));
4037         ;}
4038     break;
4039
4040   case 95:
4041 #line 984 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4042     {
4043                 if (!ly_is_module ((yyvsp[(1) - (1)].book)->header_))
4044                         (yyvsp[(1) - (1)].book)->header_ = ly_make_module (false);
4045                 parser->lexer_->add_scope ((yyvsp[(1) - (1)].book)->header_);
4046         ;}
4047     break;
4048
4049   case 97:
4050 #line 989 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4051     { ;}
4052     break;
4053
4054   case 98:
4055 #line 990 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4056     {
4057                 (yyval.book)->paper_ = 0;
4058                 (yyval.book)->scores_ = SCM_EOL;
4059         ;}
4060     break;
4061
4062   case 99:
4063 #line 997 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4064     {
4065                 (yyval.score) = (yyvsp[(3) - (4)].score);
4066         ;}
4067     break;
4068
4069   case 100:
4070 #line 1003 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4071     {
4072                 SCM m = (yyvsp[(1) - (1)].scm);
4073                 SCM scorify = ly_lily_module_constant ("scorify-music");
4074                 SCM score = scm_call_2 (scorify, m, parser->self_scm ());
4075
4076                 // pass ownernship to C++ again.
4077                 (yyval.score) = unsmob_score (score);
4078                 (yyval.score)->protect ();
4079                 (yyval.score)->origin ()->set_spot ((yyloc));
4080         ;}
4081     break;
4082
4083   case 101:
4084 #line 1013 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4085     {
4086                 (yyval.score) = unsmob_score ((yyvsp[(1) - (1)].scm));
4087                 (yyval.score)->protect ();
4088                 (yyval.score)->origin ()->set_spot ((yyloc));
4089         ;}
4090     break;
4091
4092   case 102:
4093 #line 1019 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4094     {
4095                 if (!ly_is_module ((yyvsp[(1) - (1)].score)->get_header ()))
4096                         (yyvsp[(1) - (1)].score)->set_header (ly_make_module (false));
4097                 parser->lexer_->add_scope ((yyvsp[(1) - (1)].score)->get_header ());
4098         ;}
4099     break;
4100
4101   case 104:
4102 #line 1024 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4103     {
4104                 if ((yyvsp[(2) - (2)].outputdef)->lookup_variable (ly_symbol2scm ("is-paper")) == SCM_BOOL_T)
4105                 {
4106                         parser->parser_error ((yylsp[(2) - (2)]), _("\\paper cannot be used in \\score, use \\layout instead"));
4107
4108                 }
4109                 else
4110                 {
4111                         (yyval.score)->add_output_def ((yyvsp[(2) - (2)].outputdef));
4112                 }
4113                 (yyvsp[(2) - (2)].outputdef)->unprotect ();
4114         ;}
4115     break;
4116
4117   case 105:
4118 #line 1036 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4119     {
4120                 (yyval.score)->error_found_ = true;
4121         ;}
4122     break;
4123
4124   case 106:
4125 #line 1047 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4126     {
4127                 (yyval.outputdef) = (yyvsp[(1) - (1)].outputdef);
4128                 if ((yyval.outputdef)->lookup_variable (ly_symbol2scm ("is-paper")) != SCM_BOOL_T)
4129                 {
4130                         parser->parser_error ((yylsp[(1) - (1)]), _ ("need \\paper for paper block"));
4131                         (yyvsp[(1) - (1)].outputdef)->unprotect ();
4132                         (yyval.outputdef) = get_paper (parser);
4133                 }
4134         ;}
4135     break;
4136
4137   case 107:
4138 #line 1060 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4139     {
4140                 (yyval.outputdef) = (yyvsp[(1) - (2)].outputdef);
4141
4142                 parser->lexer_->remove_scope ();
4143                 parser->lexer_->pop_state ();
4144         ;}
4145     break;
4146
4147   case 108:
4148 #line 1069 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4149     {
4150                 (yyval.outputdef) = get_paper (parser);
4151                 (yyval.outputdef)->input_origin_ = (yyloc);
4152                 parser->lexer_->add_scope ((yyval.outputdef)->scope_);
4153         ;}
4154     break;
4155
4156   case 109:
4157 #line 1074 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4158     {
4159                 Output_def *p = get_midi (parser);
4160                 (yyval.outputdef) = p;
4161                 parser->lexer_->add_scope (p->scope_);
4162         ;}
4163     break;
4164
4165   case 110:
4166 #line 1079 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4167     {
4168                 Output_def *p = get_layout (parser);
4169
4170                 parser->lexer_->add_scope (p->scope_);
4171                 (yyval.outputdef) = p;
4172         ;}
4173     break;
4174
4175   case 111:
4176 #line 1088 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4177     {
4178                 parser->lexer_->push_initial_state ();
4179                 (yyval.outputdef) = (yyvsp[(1) - (1)].outputdef);
4180         ;}
4181     break;
4182
4183   case 112:
4184 #line 1101 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4185     {
4186                 parser->lexer_->pop_state ();
4187         ;}
4188     break;
4189
4190   case 113:
4191 #line 1105 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4192     {
4193                 parser->lexer_->pop_state ();
4194         ;}
4195     break;
4196
4197   case 114:
4198 #line 1108 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4199     {
4200                 (yyval.scm) = (yyvsp[(4) - (5)].scm);
4201         ;}
4202     break;
4203
4204   case 115:
4205 #line 1114 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4206     {
4207                 (yyval.outputdef) = (yyvsp[(1) - (2)].outputdef);
4208                 (yyval.outputdef)->input_origin_.set_spot ((yyloc));
4209         ;}
4210     break;
4211
4212   case 116:
4213 #line 1118 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4214     {
4215                 (yyvsp[(1) - (3)].outputdef)->unprotect ();
4216
4217                 Output_def *o = unsmob_output_def ((yyvsp[(3) - (3)].scm));
4218                 o->input_origin_.set_spot ((yyloc));
4219                 (yyval.outputdef) = o;
4220                 (yyval.outputdef)->protect ();
4221                 parser->lexer_->remove_scope ();
4222                 parser->lexer_->add_scope (o->scope_);
4223         ;}
4224     break;
4225
4226   case 117:
4227 #line 1128 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4228     {
4229
4230         ;}
4231     break;
4232
4233   case 118:
4234 #line 1132 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4235     {
4236                 SCM nn = parser->lexer_->lookup_identifier ("pitchnames");
4237                 parser->lexer_->push_note_state (nn);
4238         ;}
4239     break;
4240
4241   case 119:
4242 #line 1136 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4243     {
4244                 if (unsmob_context_def ((yyvsp[(3) - (3)].scm)))
4245                         assign_context_def ((yyval.outputdef), (yyvsp[(3) - (3)].scm));
4246                 else {
4247
4248                         SCM proc = parser->lexer_->lookup_identifier
4249                                      ("output-def-music-handler");
4250                         scm_call_3 (proc, parser->self_scm (),
4251                                     (yyvsp[(1) - (3)].outputdef)->self_scm (), (yyvsp[(3) - (3)].scm));
4252                 }
4253         ;}
4254     break;
4255
4256   case 120:
4257 #line 1147 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4258     {
4259
4260         ;}
4261     break;
4262
4263   case 121:
4264 #line 1153 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4265     {
4266                 (yyval.scm) = MAKE_SYNTAX ("tempo", (yyloc), SCM_EOL, (yyvsp[(2) - (4)].scm), (yyvsp[(4) - (4)].scm));
4267         ;}
4268     break;
4269
4270   case 122:
4271 #line 1156 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4272     {
4273                 (yyval.scm) = MAKE_SYNTAX ("tempo", (yyloc), (yyvsp[(2) - (5)].scm), (yyvsp[(3) - (5)].scm), (yyvsp[(5) - (5)].scm));
4274         ;}
4275     break;
4276
4277   case 123:
4278 #line 1159 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4279     {
4280                 (yyval.scm) = MAKE_SYNTAX ("tempo", (yyloc), (yyvsp[(2) - (2)].scm));
4281         ;}
4282     break;
4283
4284   case 124:
4285 #line 1168 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4286     {
4287                 (yyval.scm) = SCM_EOL;
4288         ;}
4289     break;
4290
4291   case 125:
4292 #line 1171 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4293     {
4294                 if (unsmob_music ((yyvsp[(2) - (2)].scm)))
4295                         (yyval.scm) = scm_cons ((yyvsp[(2) - (2)].scm), (yyvsp[(1) - (2)].scm));
4296         ;}
4297     break;
4298
4299   case 126:
4300 #line 1175 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4301     {
4302                 Music *m = MY_MAKE_MUSIC("Music", (yyloc));
4303                 // ugh. code dup
4304                 m->set_property ("error-found", SCM_BOOL_T);
4305                 (yyval.scm) = scm_cons (m->self_scm (), (yyvsp[(1) - (2)].scm));
4306                 m->unprotect (); /* UGH */
4307         ;}
4308     break;
4309
4310   case 127:
4311 #line 1186 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4312     {
4313                 (yyval.scm) = scm_reverse_x ((yyvsp[(2) - (3)].scm), SCM_EOL);
4314         ;}
4315     break;
4316
4317   case 131:
4318 #line 1198 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4319     {
4320                 if (unsmob_music ((yyvsp[(1) - (1)].scm))
4321                     || scm_is_eq ((yyvsp[(1) - (1)].scm), SCM_UNSPECIFIED))
4322                         (yyval.scm) = (yyvsp[(1) - (1)].scm);
4323                 else
4324                 {
4325                         (yyloc).warning (_ ("Ignoring non-music expression"));
4326                         (yyval.scm) = SCM_UNSPECIFIED;
4327                 }
4328         ;}
4329     break;
4330
4331   case 132:
4332 #line 1212 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4333     {
4334                 if (unsmob_pitch ((yyvsp[(1) - (1)].scm))) {
4335                         Music *n = MY_MAKE_MUSIC ("NoteEvent", (yylsp[(1) - (1)]));
4336                         n->set_property ("pitch", (yyvsp[(1) - (1)].scm));
4337                         n->set_property ("duration",
4338                                          parser->default_duration_.smobbed_copy ());
4339                         (yyval.scm) = n->unprotect ();
4340                 }
4341         ;}
4342     break;
4343
4344   case 137:
4345 #line 1232 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4346     {
4347                 (yyval.scm) = MAKE_SYNTAX ("repeat", (yyloc), (yyvsp[(2) - (4)].scm), (yyvsp[(3) - (4)].scm), (yyvsp[(4) - (4)].scm), SCM_EOL);
4348         ;}
4349     break;
4350
4351   case 138:
4352 #line 1236 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4353     {
4354                 (yyval.scm) = MAKE_SYNTAX ("repeat", (yyloc), (yyvsp[(2) - (6)].scm), (yyvsp[(3) - (6)].scm), (yyvsp[(4) - (6)].scm), (yyvsp[(6) - (6)].scm));
4355         ;}
4356     break;
4357
4358   case 139:
4359 #line 1242 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4360     {
4361                 (yyval.scm) = MAKE_SYNTAX ("sequential-music", (yyloc), (yyvsp[(2) - (2)].scm));
4362         ;}
4363     break;
4364
4365   case 140:
4366 #line 1245 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4367     {
4368                 (yyval.scm) = MAKE_SYNTAX ("sequential-music", (yyloc), (yyvsp[(1) - (1)].scm));
4369         ;}
4370     break;
4371
4372   case 141:
4373 #line 1251 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4374     {
4375                 (yyval.scm) = MAKE_SYNTAX ("simultaneous-music", (yyloc), (yyvsp[(2) - (2)].scm));
4376         ;}
4377     break;
4378
4379   case 142:
4380 #line 1254 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4381     {
4382                 (yyval.scm) = MAKE_SYNTAX ("simultaneous-music", (yyloc), scm_reverse_x ((yyvsp[(2) - (3)].scm), SCM_EOL));
4383         ;}
4384     break;
4385
4386   case 146:
4387 #line 1266 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4388     { parser->lexer_->push_initial_state (); ;}
4389     break;
4390
4391   case 147:
4392 #line 1267 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4393     {
4394                 parser->lexer_->pop_state ();
4395                 (yyval.scm) = (yyvsp[(4) - (5)].scm);
4396         ;}
4397     break;
4398
4399   case 148:
4400 #line 1272 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4401     {
4402                 (yyval.scm) = (yyvsp[(2) - (2)].scm);
4403         ;}
4404     break;
4405
4406   case 149:
4407 #line 1276 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4408     {
4409                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
4410         ;}
4411     break;
4412
4413   case 150:
4414 #line 1280 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4415     {
4416                 if (unsmob_context_mod ((yyvsp[(2) - (2)].scm)))
4417                         (yyval.scm) = (yyvsp[(2) - (2)].scm);
4418                 else {
4419                         parser->parser_error ((yylsp[(2) - (2)]), _ ("not a context mod"));
4420                         (yyval.scm) = Context_mod ().smobbed_copy ();
4421                 }
4422         ;}
4423     break;
4424
4425   case 151:
4426 #line 1291 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4427     {
4428             (yyval.scm) = SCM_EOL;
4429         ;}
4430     break;
4431
4432   case 152:
4433 #line 1295 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4434     {
4435               (yyval.scm) = (yyvsp[(1) - (1)].scm);
4436         ;}
4437     break;
4438
4439   case 153:
4440 #line 1301 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4441     {
4442             (yyval.scm) = Context_mod ().smobbed_copy ();
4443         ;}
4444     break;
4445
4446   case 154:
4447 #line 1304 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4448     {
4449                  unsmob_context_mod ((yyvsp[(1) - (2)].scm))->add_context_mod ((yyvsp[(2) - (2)].scm));
4450         ;}
4451     break;
4452
4453   case 155:
4454 #line 1307 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4455     {
4456                  Context_mod *md = unsmob_context_mod ((yyvsp[(2) - (2)].scm));
4457                  if (md)
4458                      unsmob_context_mod ((yyvsp[(1) - (2)].scm))->add_context_mods (md->get_mods ());
4459         ;}
4460     break;
4461
4462   case 156:
4463 #line 1312 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4464     {
4465                 unsmob_context_mod ((yyvsp[(1) - (2)].scm))->add_context_mods
4466                         (unsmob_context_mod ((yyvsp[(2) - (2)].scm))->get_mods ());
4467         ;}
4468     break;
4469
4470   case 160:
4471 #line 1327 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4472     {
4473                 (yyval.scm) = FINISH_MAKE_SYNTAX ((yyvsp[(1) - (2)].scm), (yyloc), (yyvsp[(2) - (2)].scm));
4474         ;}
4475     break;
4476
4477   case 164:
4478 #line 1339 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4479     { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
4480     break;
4481
4482   case 165:
4483 #line 1340 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4484     { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
4485     break;
4486
4487   case 167:
4488 #line 1350 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4489     {
4490                 (yyval.scm) = scm_cons ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
4491         ;}
4492     break;
4493
4494   case 168:
4495 #line 1354 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4496     {
4497                 (yyval.scm) = scm_cons ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
4498         ;}
4499     break;
4500
4501   case 169:
4502 #line 1358 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4503     {
4504                 (yyval.scm) = scm_cons ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
4505         ;}
4506     break;
4507
4508   case 170:
4509 #line 1365 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4510     {
4511                 (yyval.scm) = scm_cons ((yyvsp[(4) - (4)].scm), (yyvsp[(3) - (4)].scm));
4512         ;}
4513     break;
4514
4515   case 171:
4516 #line 1368 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4517     {
4518                 (yyval.scm) = scm_cons ((yyvsp[(4) - (4)].scm), (yyvsp[(3) - (4)].scm));
4519         ;}
4520     break;
4521
4522   case 172:
4523 #line 1372 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4524     {
4525                 (yyval.scm) = check_scheme_arg (parser, (yylsp[(4) - (4)]), (yyvsp[(4) - (4)].scm), (yyvsp[(3) - (4)].scm), (yyvsp[(2) - (4)].scm));
4526         ;}
4527     break;
4528
4529   case 173:
4530 #line 1376 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4531     {
4532                 (yyval.scm) = check_scheme_arg (parser, (yylsp[(4) - (4)]), (yyvsp[(4) - (4)].scm), (yyvsp[(3) - (4)].scm), (yyvsp[(2) - (4)].scm));
4533         ;}
4534     break;
4535
4536   case 174:
4537 #line 1380 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4538     {
4539                 SCM n = scm_difference ((yyvsp[(5) - (5)].scm), SCM_UNDEFINED);
4540                 if (scm_is_true (scm_call_1 ((yyvsp[(2) - (5)].scm), n)))
4541                         (yyval.scm) = scm_cons (n, (yyvsp[(3) - (5)].scm));
4542                 else {
4543                         Music *t = MY_MAKE_MUSIC ("FingeringEvent", (yylsp[(5) - (5)]));
4544                         t->set_property ("digit", (yyvsp[(5) - (5)].scm));
4545                         (yyval.scm) = t->unprotect ();
4546                         if (scm_is_true (scm_call_1 ((yyvsp[(2) - (5)].scm), (yyval.scm))))
4547                                 (yyval.scm) = scm_cons ((yyval.scm), (yyvsp[(3) - (5)].scm));
4548                         else
4549                                 (yyval.scm) = check_scheme_arg (parser, (yylsp[(4) - (5)]), n, (yyvsp[(3) - (5)].scm), (yyvsp[(2) - (5)].scm));
4550                 }
4551                 
4552         ;}
4553     break;
4554
4555   case 175:
4556 #line 1396 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4557     {
4558                 (yyval.scm) = check_scheme_arg (parser, (yylsp[(4) - (5)]),
4559                                        scm_difference ((yyvsp[(5) - (5)].scm), SCM_UNDEFINED),
4560                                        (yyvsp[(3) - (5)].scm), (yyvsp[(2) - (5)].scm));
4561         ;}
4562     break;
4563
4564   case 176:
4565 #line 1402 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4566     {
4567                 (yyval.scm) = check_scheme_arg (parser, (yylsp[(4) - (5)]),
4568                                        scm_difference ((yyvsp[(5) - (5)].scm), SCM_UNDEFINED),
4569                                        (yyvsp[(3) - (5)].scm), (yyvsp[(2) - (5)].scm));
4570         ;}
4571     break;
4572
4573   case 178:
4574 #line 1412 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4575     {
4576                 (yyval.scm) = check_scheme_arg (parser, (yylsp[(4) - (4)]), (yyvsp[(4) - (4)].scm), (yyvsp[(3) - (4)].scm), (yyvsp[(2) - (4)].scm));
4577         ;}
4578     break;
4579
4580   case 179:
4581 #line 1416 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4582     {
4583                 (yyval.scm) = check_scheme_arg (parser, (yylsp[(4) - (4)]), (yyvsp[(4) - (4)].scm), (yyvsp[(3) - (4)].scm), (yyvsp[(2) - (4)].scm));
4584         ;}
4585     break;
4586
4587   case 181:
4588 #line 1424 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4589     {
4590                 (yyval.scm) = check_scheme_arg (parser, (yylsp[(4) - (4)]), (yyvsp[(4) - (4)].scm), (yyvsp[(3) - (4)].scm), (yyvsp[(2) - (4)].scm));
4591         ;}
4592     break;
4593
4594   case 182:
4595 #line 1428 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4596     {
4597                 (yyval.scm) = check_scheme_arg (parser, (yylsp[(4) - (4)]), (yyvsp[(4) - (4)].scm), (yyvsp[(3) - (4)].scm), (yyvsp[(2) - (4)].scm));
4598         ;}
4599     break;
4600
4601   case 187:
4602 #line 1445 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4603     {
4604                 if (scm_is_true (scm_call_1 ((yyvsp[(2) - (4)].scm), (yyvsp[(4) - (4)].scm))))
4605                 {
4606                         (yyval.scm) = scm_cons ((yyvsp[(4) - (4)].scm), (yyvsp[(3) - (4)].scm));
4607                 } else {
4608                         (yyval.scm) = scm_cons (loc_on_music ((yylsp[(3) - (4)]), (yyvsp[(1) - (4)].scm)), (yyvsp[(3) - (4)].scm));
4609                         MYBACKUP (SCM_IDENTIFIER, (yyvsp[(4) - (4)].scm), (yylsp[(4) - (4)]));
4610                 }
4611         ;}
4612     break;
4613
4614   case 188:
4615 #line 1455 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4616     {
4617                 if (scm_is_true (scm_call_1 ((yyvsp[(2) - (4)].scm), (yyvsp[(4) - (4)].scm))))
4618                 {
4619                         (yyval.scm) = scm_cons ((yyvsp[(4) - (4)].scm), (yyvsp[(3) - (4)].scm));
4620                 } else {
4621                         (yyval.scm) = scm_cons (loc_on_music ((yylsp[(3) - (4)]), (yyvsp[(1) - (4)].scm)), (yyvsp[(3) - (4)].scm));
4622                         MYBACKUP (EVENT_IDENTIFIER, (yyvsp[(4) - (4)].scm), (yylsp[(4) - (4)]));
4623                 }
4624         ;}
4625     break;
4626
4627   case 189:
4628 #line 1465 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4629     {
4630                 // There is no point interpreting a lyrics string as
4631                 // an event, since we don't allow music possibly
4632                 // followed by durations or postevent into closed
4633                 // music, and we only accept closed music in optional
4634                 // arguments at the moment.  If this changes, more
4635                 // complex schemes might become interesting here as
4636                 // well: see how we do this at the mandatory argument
4637                 // point.
4638                 if (scm_is_true (scm_call_1 ((yyvsp[(2) - (4)].scm), (yyvsp[(4) - (4)].scm))))
4639                         (yyval.scm) = scm_cons ((yyvsp[(4) - (4)].scm), (yyvsp[(3) - (4)].scm));
4640                 else {
4641                         (yyval.scm) = scm_cons (loc_on_music ((yylsp[(3) - (4)]), (yyvsp[(1) - (4)].scm)), (yyvsp[(3) - (4)].scm));
4642                         MYBACKUP (LYRICS_STRING, (yyvsp[(4) - (4)].scm), (yylsp[(4) - (4)]));
4643                 }
4644         ;}
4645     break;
4646
4647   case 190:
4648 #line 1482 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4649     {
4650                 if (scm_is_true (scm_call_1 ((yyvsp[(2) - (4)].scm), (yyvsp[(4) - (4)].scm))))
4651                 {
4652                         (yyval.scm) = (yyvsp[(3) - (4)].scm);
4653                         MYREPARSE ((yylsp[(4) - (4)]), (yyvsp[(2) - (4)].scm), UNSIGNED, (yyvsp[(4) - (4)].scm));
4654                 } else {
4655                         (yyval.scm) = scm_cons (loc_on_music ((yylsp[(3) - (4)]), (yyvsp[(1) - (4)].scm)), (yyvsp[(3) - (4)].scm));
4656                         MYBACKUP (UNSIGNED, (yyvsp[(4) - (4)].scm), (yylsp[(4) - (4)]));
4657                 }
4658         ;}
4659     break;
4660
4661   case 191:
4662 #line 1493 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4663     {
4664                 if (scm_is_true (scm_call_1 ((yyvsp[(2) - (4)].scm), (yyvsp[(4) - (4)].scm))))
4665                 {
4666                         (yyval.scm) = (yyvsp[(3) - (4)].scm);
4667                         MYREPARSE ((yylsp[(4) - (4)]), (yyvsp[(2) - (4)].scm), REAL, (yyvsp[(4) - (4)].scm));
4668                 } else {
4669                         (yyval.scm) = scm_cons (loc_on_music ((yylsp[(3) - (4)]), (yyvsp[(1) - (4)].scm)), (yyvsp[(3) - (4)].scm));
4670                         MYBACKUP (REAL, (yyvsp[(4) - (4)].scm), (yylsp[(4) - (4)]));
4671                 }
4672         ;}
4673     break;
4674
4675   case 192:
4676 #line 1504 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4677     {
4678                 if (scm_is_true (scm_call_1 ((yyvsp[(2) - (4)].scm), (yyvsp[(4) - (4)].scm))))
4679                 {
4680                         (yyval.scm) = scm_cons ((yyvsp[(4) - (4)].scm), (yyvsp[(3) - (4)].scm));
4681                 } else {
4682                         (yyval.scm) = scm_cons (loc_on_music ((yylsp[(3) - (4)]), (yyvsp[(1) - (4)].scm)), (yyvsp[(3) - (4)].scm));
4683                         MYBACKUP (NUMBER_IDENTIFIER, (yyvsp[(4) - (4)].scm), (yylsp[(4) - (4)]));
4684                 }
4685         ;}
4686     break;
4687
4688   case 193:
4689 #line 1514 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4690     {
4691                 if (scm_is_true (scm_call_1 ((yyvsp[(2) - (4)].scm), (yyvsp[(4) - (4)].scm))))
4692                 {
4693                         (yyval.scm) = scm_cons ((yyvsp[(4) - (4)].scm), (yyvsp[(3) - (4)].scm));
4694                 } else {
4695                         (yyval.scm) = scm_cons (loc_on_music ((yylsp[(3) - (4)]), (yyvsp[(1) - (4)].scm)), (yyvsp[(3) - (4)].scm));
4696                         MYBACKUP (FRACTION, (yyvsp[(4) - (4)].scm), (yylsp[(4) - (4)]));
4697                 }
4698         ;}
4699     break;
4700
4701   case 194:
4702 #line 1524 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4703     {
4704                 SCM n = scm_difference ((yyvsp[(5) - (5)].scm), SCM_UNDEFINED);
4705                 if (scm_is_true (scm_call_1 ((yyvsp[(2) - (5)].scm), n))) {
4706                         (yyval.scm) = (yyvsp[(3) - (5)].scm);
4707                         MYREPARSE ((yylsp[(5) - (5)]), (yyvsp[(2) - (5)].scm), REAL, n);
4708                 } else {
4709                         Music *t = MY_MAKE_MUSIC ("FingeringEvent", (yylsp[(5) - (5)]));
4710                         t->set_property ("digit", (yyvsp[(5) - (5)].scm));
4711                         (yyval.scm) = t->unprotect ();
4712                         if (scm_is_true (scm_call_1 ((yyvsp[(2) - (5)].scm), (yyval.scm))))
4713                                 (yyval.scm) = scm_cons ((yyval.scm), (yyvsp[(3) - (5)].scm));
4714                         else {
4715                                 (yyval.scm) = scm_cons (loc_on_music ((yylsp[(3) - (5)]), (yyvsp[(1) - (5)].scm)), (yyvsp[(3) - (5)].scm));
4716                                 MYBACKUP (UNSIGNED, (yyvsp[(5) - (5)].scm), (yylsp[(5) - (5)]));
4717                                 parser->lexer_->push_extra_token ('-');
4718                         }
4719                 }
4720                 
4721         ;}
4722     break;
4723
4724   case 195:
4725 #line 1544 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4726     {
4727                 SCM n = scm_difference ((yyvsp[(5) - (5)].scm), SCM_UNDEFINED);
4728                 if (scm_is_true (scm_call_1 ((yyvsp[(2) - (5)].scm), n))) {
4729                         MYREPARSE ((yylsp[(5) - (5)]), (yyvsp[(2) - (5)].scm), REAL, n);
4730                         (yyval.scm) = (yyvsp[(3) - (5)].scm);
4731                 } else {
4732                         MYBACKUP (REAL, n, (yylsp[(5) - (5)]));
4733                 }
4734         ;}
4735     break;
4736
4737   case 196:
4738 #line 1554 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4739     {
4740                 SCM n = scm_difference ((yyvsp[(5) - (5)].scm), SCM_UNDEFINED);
4741                 if (scm_is_true (scm_call_1 ((yyvsp[(2) - (5)].scm), n))) {
4742                         (yyval.scm) = scm_cons (n, (yyvsp[(3) - (5)].scm));
4743                 } else {
4744                         MYBACKUP (NUMBER_IDENTIFIER, n, (yylsp[(5) - (5)]));
4745                 }
4746         ;}
4747     break;
4748
4749   case 197:
4750 #line 1563 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4751     {
4752                 (yyval.scm) = scm_cons ((yyvsp[(4) - (4)].scm), (yyvsp[(3) - (4)].scm));
4753         ;}
4754     break;
4755
4756   case 198:
4757 #line 1567 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4758     {
4759                 (yyval.scm) = scm_cons ((yyvsp[(4) - (4)].scm), (yyvsp[(3) - (4)].scm));
4760         ;}
4761     break;
4762
4763   case 199:
4764 #line 1571 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4765     {
4766                 (yyval.scm) = scm_cons ((yyvsp[(1) - (4)].scm), (yyvsp[(3) - (4)].scm));
4767                 MYBACKUP(0, SCM_UNDEFINED, (yylsp[(3) - (4)]));
4768         ;}
4769     break;
4770
4771   case 200:
4772 #line 1576 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4773     {
4774                 (yyval.scm) = check_scheme_arg (parser, (yylsp[(3) - (3)]),
4775                                        (yyvsp[(3) - (3)].scm), (yyvsp[(1) - (3)].scm), (yyvsp[(2) - (3)].scm));
4776         ;}
4777     break;
4778
4779   case 201:
4780 #line 1581 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4781     {
4782                 (yyval.scm) = check_scheme_arg (parser, (yylsp[(3) - (3)]),
4783                                        (yyvsp[(3) - (3)].scm), (yyvsp[(1) - (3)].scm), (yyvsp[(2) - (3)].scm));
4784         ;}
4785     break;
4786
4787   case 205:
4788 #line 1595 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4789     {
4790                 (yyval.scm) = check_scheme_arg (parser, (yylsp[(3) - (3)]),
4791                                        (yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm), (yyvsp[(1) - (3)].scm));
4792         ;}
4793     break;
4794
4795   case 206:
4796 #line 1600 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4797     {
4798                 (yyval.scm) = check_scheme_arg (parser, (yylsp[(3) - (3)]),
4799                                        (yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm), (yyvsp[(1) - (3)].scm));
4800         ;}
4801     break;
4802
4803   case 207:
4804 #line 1605 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4805     {
4806                 (yyval.scm) = check_scheme_arg (parser, (yylsp[(3) - (3)]),
4807                                        (yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm), (yyvsp[(1) - (3)].scm));
4808         ;}
4809     break;
4810
4811   case 208:
4812 #line 1610 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4813     {
4814                 (yyval.scm) = check_scheme_arg (parser, (yylsp[(3) - (3)]),
4815                                        (yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm), (yyvsp[(1) - (3)].scm));
4816         ;}
4817     break;
4818
4819   case 211:
4820 #line 1620 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4821     {
4822                 // We check how the predicate thinks about a lyrics
4823                 // event or about a markup.  If it accepts neither, we
4824                 // backup the original token.  Otherwise we commit to
4825                 // taking the token.  Depending on what the predicate
4826                 // is willing to accept, we interpret as a string, as
4827                 // a lyric event, or ambiguously (meaning that if
4828                 // something looking like a duration or post event
4829                 // follows, we take the event, otherwise the string).
4830                 SCM lyric_event = MAKE_SYNTAX ("lyric-event", (yylsp[(3) - (3)]), (yyvsp[(3) - (3)].scm),
4831                                                parser->default_duration_.smobbed_copy ());
4832                 if (scm_is_true (scm_call_1 ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm))))
4833                         if (scm_is_true (scm_call_1 ((yyvsp[(1) - (3)].scm), lyric_event)))
4834                         {
4835                                 (yyval.scm) = (yyvsp[(2) - (3)].scm);
4836                                 MYREPARSE ((yylsp[(3) - (3)]), (yyvsp[(1) - (3)].scm), LYRICS_STRING, (yyvsp[(3) - (3)].scm));
4837                         } else {
4838                                 (yyval.scm) = scm_cons ((yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm));
4839                         }
4840                 else if (scm_is_true (scm_call_1 ((yyvsp[(1) - (3)].scm), lyric_event)))
4841                 {
4842                         (yyval.scm) = (yyvsp[(2) - (3)].scm);
4843                         MYREPARSE ((yylsp[(3) - (3)]), (yyvsp[(1) - (3)].scm), LYRIC_ELEMENT, (yyvsp[(3) - (3)].scm));
4844                 } else {
4845                         // This is going to flag a syntax error, we
4846                         // know the predicate to be false.
4847                         check_scheme_arg (parser, (yylsp[(3) - (3)]),
4848                                           (yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm), (yyvsp[(1) - (3)].scm));
4849                 }
4850         ;}
4851     break;
4852
4853   case 212:
4854 #line 1651 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4855     {
4856                 // This should never be false
4857                 (yyval.scm) = check_scheme_arg (parser, (yylsp[(3) - (3)]),
4858                                        (yyvsp[(3) - (3)].scm), (yyvsp[(1) - (3)].scm), (yyvsp[(2) - (3)].scm));
4859         ;}
4860     break;
4861
4862   case 213:
4863 #line 1660 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4864     {
4865                 SCM n = scm_difference ((yyvsp[(4) - (4)].scm), SCM_UNDEFINED);
4866                 if (scm_is_true (scm_call_1 ((yyvsp[(1) - (4)].scm), n))) {
4867                         (yyval.scm) = (yyvsp[(2) - (4)].scm);
4868                         MYREPARSE ((yylsp[(4) - (4)]), (yyvsp[(1) - (4)].scm), REAL, n);
4869                 } else {
4870                         Music *t = MY_MAKE_MUSIC ("FingeringEvent", (yylsp[(4) - (4)]));
4871                         t->set_property ("digit", (yyvsp[(4) - (4)].scm));
4872                         (yyval.scm) = t->unprotect ();
4873                         if (scm_is_true (scm_call_1 ((yyvsp[(1) - (4)].scm), (yyval.scm))))
4874                                 (yyval.scm) = scm_cons ((yyval.scm), (yyvsp[(2) - (4)].scm));
4875                         else
4876                                 (yyval.scm) = check_scheme_arg (parser, (yylsp[(3) - (4)]), n, (yyvsp[(2) - (4)].scm), (yyvsp[(1) - (4)].scm));
4877                 }
4878                 
4879         ;}
4880     break;
4881
4882   case 214:
4883 #line 1677 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4884     {
4885                 (yyval.scm) = (yyvsp[(2) - (4)].scm);
4886                 SCM n = scm_difference ((yyvsp[(4) - (4)].scm), SCM_UNDEFINED);
4887                 MYREPARSE ((yylsp[(4) - (4)]), (yyvsp[(1) - (4)].scm), REAL, n);
4888         ;}
4889     break;
4890
4891   case 215:
4892 #line 1683 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4893     {
4894                 SCM n = scm_difference ((yyvsp[(4) - (4)].scm), SCM_UNDEFINED);
4895                 (yyval.scm) = check_scheme_arg (parser, (yylsp[(4) - (4)]), n, (yyvsp[(2) - (4)].scm), (yyvsp[(1) - (4)].scm));
4896         ;}
4897     break;
4898
4899   case 216:
4900 #line 1688 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4901     {
4902                 (yyval.scm) = check_scheme_arg (parser, (yylsp[(3) - (3)]), (yyvsp[(3) - (3)].scm), (yyvsp[(1) - (3)].scm), (yyvsp[(2) - (3)].scm));
4903         ;}
4904     break;
4905
4906   case 220:
4907 #line 1701 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4908     {
4909                 (yyval.scm) = check_scheme_arg (parser, (yylsp[(3) - (3)]),
4910                                        (yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm), (yyvsp[(1) - (3)].scm));
4911         ;}
4912     break;
4913
4914   case 221:
4915 #line 1706 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4916     {
4917                 (yyval.scm) = check_scheme_arg (parser, (yylsp[(3) - (3)]),
4918                                        (yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm), (yyvsp[(1) - (3)].scm));
4919         ;}
4920     break;
4921
4922   case 222:
4923 #line 1711 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4924     {
4925                 SCM n = scm_difference ((yyvsp[(4) - (4)].scm), SCM_UNDEFINED);
4926                 if (scm_is_true (scm_call_1 ((yyvsp[(1) - (4)].scm), n))) {
4927                         (yyval.scm) = scm_cons (n, (yyvsp[(2) - (4)].scm));
4928                 } else {
4929                         Music *t = MY_MAKE_MUSIC ("FingeringEvent", (yylsp[(4) - (4)]));
4930                         t->set_property ("digit", (yyvsp[(4) - (4)].scm));
4931                         (yyval.scm) = t->unprotect ();
4932                         if (scm_is_true (scm_call_1 ((yyvsp[(1) - (4)].scm), (yyval.scm))))
4933                                 (yyval.scm) = scm_cons ((yyval.scm), (yyvsp[(2) - (4)].scm));
4934                         else
4935                                 (yyval.scm) = check_scheme_arg (parser, (yylsp[(3) - (4)]), n, (yyvsp[(2) - (4)].scm), (yyvsp[(1) - (4)].scm));
4936                 }
4937                 
4938         ;}
4939     break;
4940
4941   case 223:
4942 #line 1727 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4943     {
4944                 (yyval.scm) = check_scheme_arg (parser, (yylsp[(3) - (4)]),
4945                                        scm_difference ((yyvsp[(4) - (4)].scm), SCM_UNDEFINED),
4946                                        (yyvsp[(2) - (4)].scm), (yyvsp[(1) - (4)].scm));
4947         ;}
4948     break;
4949
4950   case 224:
4951 #line 1733 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4952     {
4953                 (yyval.scm) = check_scheme_arg (parser, (yylsp[(3) - (4)]),
4954                                        scm_difference ((yyvsp[(4) - (4)].scm), SCM_UNDEFINED),
4955                                        (yyvsp[(2) - (4)].scm), (yyvsp[(1) - (4)].scm));
4956         ;}
4957     break;
4958
4959   case 225:
4960 #line 1739 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4961     {
4962                 (yyval.scm) = check_scheme_arg (parser, (yylsp[(3) - (3)]),
4963                                        (yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm), (yyvsp[(1) - (3)].scm));
4964         ;}
4965     break;
4966
4967   case 226:
4968 #line 1744 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4969     {
4970                 (yyval.scm) = check_scheme_arg (parser, (yylsp[(3) - (3)]),
4971                                        (yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm), (yyvsp[(1) - (3)].scm));
4972         ;}
4973     break;
4974
4975   case 227:
4976 #line 1749 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4977     {
4978                 (yyval.scm) = check_scheme_arg (parser, (yylsp[(3) - (3)]),
4979                                        (yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm), (yyvsp[(1) - (3)].scm));
4980         ;}
4981     break;
4982
4983   case 230:
4984 #line 1759 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4985     {
4986                 (yyval.scm) = scm_cons ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
4987         ;}
4988     break;
4989
4990   case 231:
4991 #line 1763 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4992     {
4993                 (yyval.scm) = scm_cons ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
4994         ;}
4995     break;
4996
4997   case 234:
4998 #line 1772 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
4999     {
5000                 (yyval.scm) = scm_cons ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
5001         ;}
5002     break;
5003
5004   case 235:
5005 #line 1776 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5006     {
5007                 (yyval.scm) = scm_cons ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
5008         ;}
5009     break;
5010
5011   case 241:
5012 #line 1793 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5013     {
5014                 (yyval.scm) = MAKE_SYNTAX ("music-function", (yyloc),
5015                                          (yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm));
5016         ;}
5017     break;
5018
5019   case 242:
5020 #line 1800 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5021     {
5022                 (yyval.scm) = SCM_EOL;
5023         ;}
5024     break;
5025
5026   case 243:
5027 #line 1803 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5028     {
5029                 (yyval.scm) = scm_cons ((yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm));
5030         ;}
5031     break;
5032
5033   case 244:
5034 #line 1806 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5035     {
5036                 (yyval.scm) = scm_cons ((yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm));
5037         ;}
5038     break;
5039
5040   case 245:
5041 #line 1809 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5042     {
5043                 (yyval.scm) = scm_cons ((yyvsp[(1) - (4)].scm), (yyvsp[(3) - (4)].scm));
5044         ;}
5045     break;
5046
5047   case 246:
5048 #line 1812 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5049     {
5050                 (yyval.scm) = scm_cons ((yyvsp[(1) - (4)].scm), (yyvsp[(3) - (4)].scm));
5051         ;}
5052     break;
5053
5054   case 247:
5055 #line 1815 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5056     {
5057                 (yyval.scm) = scm_cons ((yyvsp[(1) - (4)].scm), (yyvsp[(3) - (4)].scm));
5058         ;}
5059     break;
5060
5061   case 248:
5062 #line 1821 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5063     {
5064                 (yyval.scm) = MAKE_SYNTAX ("music-function", (yyloc),
5065                                          (yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm));
5066         ;}
5067     break;
5068
5069   case 249:
5070 #line 1829 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5071     { (yyval.scm) = SCM_EOL; ;}
5072     break;
5073
5074   case 250:
5075 #line 1830 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5076     {
5077                 (yyval.scm) = (yyvsp[(2) - (2)].scm);
5078         ;}
5079     break;
5080
5081   case 252:
5082 #line 1837 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5083     { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
5084     break;
5085
5086   case 253:
5087 #line 1838 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5088     { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
5089     break;
5090
5091   case 254:
5092 #line 1840 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5093     {
5094                 (yyval.scm) = FINISH_MAKE_SYNTAX ((yyvsp[(1) - (2)].scm), (yyloc), (yyvsp[(2) - (2)].scm));
5095         ;}
5096     break;
5097
5098   case 255:
5099 #line 1846 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5100     {
5101                 Context_mod *ctxmod = unsmob_context_mod ((yyvsp[(4) - (4)].scm));
5102                 SCM mods = SCM_EOL;
5103                 if (ctxmod)
5104                         mods = ctxmod->get_mods ();
5105                 (yyval.scm) = START_MAKE_SYNTAX ("context-specification", (yyvsp[(2) - (4)].scm), (yyvsp[(3) - (4)].scm), mods, SCM_BOOL_F);
5106         ;}
5107     break;
5108
5109   case 256:
5110 #line 1853 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5111     {
5112                 Context_mod *ctxmod = unsmob_context_mod ((yyvsp[(4) - (4)].scm));
5113                 SCM mods = SCM_EOL;
5114                 if (ctxmod)
5115                         mods = ctxmod->get_mods ();
5116                 (yyval.scm) = START_MAKE_SYNTAX ("context-specification", (yyvsp[(2) - (4)].scm), (yyvsp[(3) - (4)].scm), mods, SCM_BOOL_T);
5117         ;}
5118     break;
5119
5120   case 257:
5121 #line 1863 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5122     {
5123                 if ((yyvsp[(1) - (2)].scm) == ly_symbol2scm ("chords"))
5124                 {
5125                   (yyval.scm) = MAKE_SYNTAX ("unrelativable-music", (yyloc), (yyvsp[(2) - (2)].scm));
5126                 }
5127                 else
5128                 {
5129                   (yyval.scm) = (yyvsp[(2) - (2)].scm);
5130                 }
5131                 parser->lexer_->pop_state ();
5132         ;}
5133     break;
5134
5135   case 258:
5136 #line 1874 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5137     {
5138                 Context_mod *ctxmod = unsmob_context_mod ((yyvsp[(2) - (3)].scm));
5139                 SCM mods = SCM_EOL;
5140                 if (ctxmod)
5141                         mods = ctxmod->get_mods ();
5142                 (yyval.scm) = MAKE_SYNTAX ("context-specification", (yyloc), (yyvsp[(1) - (3)].scm), SCM_EOL, mods, SCM_BOOL_T, (yyvsp[(3) - (3)].scm));
5143                 if ((yyvsp[(1) - (3)].scm) == ly_symbol2scm ("ChordNames"))
5144                 {
5145                   (yyval.scm) = MAKE_SYNTAX ("unrelativable-music", (yyloc), (yyval.scm));
5146                 }
5147                 parser->lexer_->pop_state ();
5148         ;}
5149     break;
5150
5151   case 259:
5152 #line 1889 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5153     {
5154                 SCM nn = parser->lexer_->lookup_identifier ("pitchnames");
5155                 parser->lexer_->push_note_state (nn);
5156
5157                 (yyval.scm) = ly_symbol2scm ("notes");
5158         ;}
5159     break;
5160
5161   case 260:
5162 #line 1896 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5163     {
5164                 SCM nn = parser->lexer_->lookup_identifier ("drumPitchNames");
5165                 parser->lexer_->push_note_state (nn);
5166
5167                 (yyval.scm) = ly_symbol2scm ("drums");
5168         ;}
5169     break;
5170
5171   case 261:
5172 #line 1902 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5173     {
5174                 parser->lexer_->push_figuredbass_state ();
5175
5176                 (yyval.scm) = ly_symbol2scm ("figures");
5177         ;}
5178     break;
5179
5180   case 262:
5181 #line 1907 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5182     {
5183                 SCM nn = parser->lexer_->lookup_identifier ("chordmodifiers");
5184                 parser->lexer_->chordmodifier_tab_ = alist_to_hashq (nn);
5185                 nn = parser->lexer_->lookup_identifier ("pitchnames");
5186                 parser->lexer_->push_chord_state (nn);
5187                 (yyval.scm) = ly_symbol2scm ("chords");
5188
5189         ;}
5190     break;
5191
5192   case 263:
5193 #line 1916 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5194     { parser->lexer_->push_lyric_state ();
5195                 (yyval.scm) = ly_symbol2scm ("lyrics");
5196         ;}
5197     break;
5198
5199   case 264:
5200 #line 1922 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5201     {
5202                 SCM nn = parser->lexer_->lookup_identifier ("drumPitchNames");
5203                 parser->lexer_->push_note_state (nn);
5204
5205                 (yyval.scm) = ly_symbol2scm ("DrumStaff");
5206         ;}
5207     break;
5208
5209   case 265:
5210 #line 1928 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5211     {
5212                 parser->lexer_->push_figuredbass_state ();
5213
5214                 (yyval.scm) = ly_symbol2scm ("FiguredBass");
5215         ;}
5216     break;
5217
5218   case 266:
5219 #line 1933 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5220     {
5221                 SCM nn = parser->lexer_->lookup_identifier ("chordmodifiers");
5222                 parser->lexer_->chordmodifier_tab_ = alist_to_hashq (nn);
5223                 nn = parser->lexer_->lookup_identifier ("pitchnames");
5224                 parser->lexer_->push_chord_state (nn);
5225                 (yyval.scm) = ly_symbol2scm ("ChordNames");
5226         ;}
5227     break;
5228
5229   case 267:
5230 #line 1941 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5231     { parser->lexer_->push_lyric_state ();
5232                 (yyval.scm) = ly_symbol2scm ("Lyrics");
5233         ;}
5234     break;
5235
5236   case 268:
5237 #line 1947 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5238     { parser->lexer_->push_lyric_state (); ;}
5239     break;
5240
5241   case 269:
5242 #line 1949 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5243     {
5244         /* Can also use music at the expensive of two S/Rs similar to
5245            \repeat \alternative */
5246                 parser->lexer_->pop_state ();
5247
5248                 (yyval.scm) = scm_cons ((yyvsp[(3) - (3)].scm), SCM_EOL);
5249         ;}
5250     break;
5251
5252   case 270:
5253 #line 1956 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5254     {
5255                 parser->lexer_->push_lyric_state ();
5256         ;}
5257     break;
5258
5259   case 271:
5260 #line 1958 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5261     {
5262                 parser->lexer_->pop_state ();
5263                 (yyval.scm) = scm_cons ((yyvsp[(4) - (4)].scm), (yyvsp[(1) - (4)].scm));
5264         ;}
5265     break;
5266
5267   case 272:
5268 #line 1965 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5269     {
5270                 (yyval.scm) = MAKE_SYNTAX ("add-lyrics", (yyloc), (yyvsp[(1) - (2)].scm), scm_reverse_x ((yyvsp[(2) - (2)].scm), SCM_EOL));
5271         ;}
5272     break;
5273
5274   case 273:
5275 #line 1968 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5276     {
5277                 parser->lexer_->push_lyric_state ();
5278         ;}
5279     break;
5280
5281   case 274:
5282 #line 1970 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5283     {
5284                 parser->lexer_->pop_state ();
5285                 (yyval.scm) = MAKE_SYNTAX ("lyric-combine", (yyloc), (yyvsp[(2) - (4)].scm), (yyvsp[(4) - (4)].scm));
5286         ;}
5287     break;
5288
5289   case 275:
5290 #line 1977 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5291     {
5292                 (yyval.scm) = MAKE_SYNTAX ("context-change", (yyloc), scm_string_to_symbol ((yyvsp[(2) - (4)].scm)), (yyvsp[(4) - (4)].scm));
5293         ;}
5294     break;
5295
5296   case 276:
5297 #line 1984 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5298     {
5299                 (yyval.scm) = scm_cons ((yyvsp[(1) - (1)].scm), SCM_EOL);
5300         ;}
5301     break;
5302
5303   case 277:
5304 #line 1987 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5305     {
5306                 (yyval.scm) = scm_cons ((yyvsp[(2) - (2)].scm), (yyvsp[(1) - (2)].scm));
5307         ;}
5308     break;
5309
5310   case 278:
5311 #line 1993 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5312     {
5313                 (yyval.scm) = scm_reverse_x ((yyvsp[(1) - (1)].scm), SCM_EOL);
5314         ;}
5315     break;
5316
5317   case 279:
5318 #line 1999 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5319     {
5320                 (yyval.scm) = scm_list_3 (ly_symbol2scm ("assign"),
5321                         scm_string_to_symbol ((yyvsp[(1) - (3)].scm)), (yyvsp[(3) - (3)].scm));
5322         ;}
5323     break;
5324
5325   case 280:
5326 #line 2003 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5327     {
5328                 (yyval.scm) = scm_list_2 (ly_symbol2scm ("unset"),
5329                         scm_string_to_symbol ((yyvsp[(2) - (2)].scm)));
5330         ;}
5331     break;
5332
5333   case 281:
5334 #line 2007 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5335     {
5336                 (yyval.scm) = scm_append (scm_list_2 (scm_list_3 (ly_symbol2scm ("push"),
5337                                                         scm_string_to_symbol ((yyvsp[(2) - (5)].scm)), (yyvsp[(5) - (5)].scm)),
5338                                              (yyvsp[(3) - (5)].scm)));
5339         ;}
5340     break;
5341
5342   case 282:
5343 #line 2012 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5344     {
5345                 (yyval.scm) = scm_list_3 (ly_symbol2scm ("pop"),
5346                         scm_string_to_symbol ((yyvsp[(2) - (3)].scm)), (yyvsp[(3) - (3)].scm));
5347         ;}
5348     break;
5349
5350   case 283:
5351 #line 2019 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5352     { (yyval.scm) = ly_symbol2scm ("consists"); ;}
5353     break;
5354
5355   case 284:
5356 #line 2020 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5357     { (yyval.scm) = ly_symbol2scm ("remove"); ;}
5358     break;
5359
5360   case 285:
5361 #line 2022 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5362     { (yyval.scm) = ly_symbol2scm ("accepts"); ;}
5363     break;
5364
5365   case 286:
5366 #line 2023 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5367     { (yyval.scm) = ly_symbol2scm ("default-child"); ;}
5368     break;
5369
5370   case 287:
5371 #line 2024 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5372     { (yyval.scm) = ly_symbol2scm ("denies"); ;}
5373     break;
5374
5375   case 288:
5376 #line 2026 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5377     { (yyval.scm) = ly_symbol2scm ("alias"); ;}
5378     break;
5379
5380   case 289:
5381 #line 2027 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5382     { (yyval.scm) = ly_symbol2scm ("translator-type"); ;}
5383     break;
5384
5385   case 290:
5386 #line 2028 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5387     { (yyval.scm) = ly_symbol2scm ("description"); ;}
5388     break;
5389
5390   case 291:
5391 #line 2029 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5392     { (yyval.scm) = ly_symbol2scm ("context-name"); ;}
5393     break;
5394
5395   case 292:
5396 #line 2033 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5397     { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
5398     break;
5399
5400   case 293:
5401 #line 2034 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5402     {
5403                 (yyval.scm) = scm_list_2 ((yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm));
5404         ;}
5405     break;
5406
5407   case 294:
5408 #line 2038 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5409     {
5410                 if (!scm_is_string ((yyvsp[(2) - (2)].scm))
5411                     && ly_symbol2scm ("consists") != (yyvsp[(1) - (2)].scm)
5412                     && ly_symbol2scm ("remove") != (yyvsp[(1) - (2)].scm))
5413                 {
5414                         (yyval.scm) = SCM_EOL;
5415                         parser->parser_error ((yylsp[(1) - (2)]), _ ("only \\consists and \\remove take non-string argument."));
5416                 }
5417                 else
5418                 {
5419                         (yyval.scm) = scm_list_2 ((yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm));
5420                 }
5421         ;}
5422     break;
5423
5424   case 295:
5425 #line 2054 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5426     {
5427                 if (!is_regular_identifier ((yyvsp[(1) - (1)].scm)))
5428                 {
5429                         (yyloc).error (_("Grob name should be alphanumeric"));
5430                 }
5431
5432                 (yyval.scm) = scm_list_2 (ly_symbol2scm ("Bottom"),
5433                         scm_string_to_symbol ((yyvsp[(1) - (1)].scm)));
5434         ;}
5435     break;
5436
5437   case 296:
5438 #line 2063 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5439     {
5440                 (yyval.scm) = scm_list_2 (scm_string_to_symbol ((yyvsp[(1) - (3)].scm)),
5441                         scm_string_to_symbol ((yyvsp[(3) - (3)].scm)));
5442         ;}
5443     break;
5444
5445   case 297:
5446 #line 2070 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5447     {
5448                 (yyval.scm) = scm_append (scm_list_2 (scm_list_n (scm_car ((yyvsp[(2) - (5)].scm)),
5449                                 ly_symbol2scm ("OverrideProperty"),
5450                                 scm_cadr ((yyvsp[(2) - (5)].scm)),
5451                                 (yyvsp[(5) - (5)].scm), SCM_UNDEFINED),
5452                                 (yyvsp[(3) - (5)].scm)));
5453         ;}
5454     break;
5455
5456   case 298:
5457 #line 2077 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5458     {
5459                 (yyval.scm) = scm_list_4 (scm_car ((yyvsp[(2) - (3)].scm)),
5460                         ly_symbol2scm ("RevertProperty"),
5461                         scm_cadr ((yyvsp[(2) - (3)].scm)),
5462                         (yyvsp[(3) - (3)].scm));
5463         ;}
5464     break;
5465
5466   case 299:
5467 #line 2083 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5468     {
5469                 (yyval.scm) = scm_list_4 (scm_car ((yyvsp[(2) - (4)].scm)),
5470                         ly_symbol2scm ("PropertySet"),
5471                         scm_cadr ((yyvsp[(2) - (4)].scm)),
5472                         (yyvsp[(4) - (4)].scm));
5473         ;}
5474     break;
5475
5476   case 300:
5477 #line 2089 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5478     {
5479                 (yyval.scm) = scm_list_3 (scm_car ((yyvsp[(2) - (2)].scm)),
5480                         ly_symbol2scm ("PropertyUnset"),
5481                         scm_cadr ((yyvsp[(2) - (2)].scm)));
5482         ;}
5483     break;
5484
5485   case 301:
5486 #line 2097 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5487     {
5488                 (yyval.scm) = LOWLEVEL_MAKE_SYNTAX (ly_lily_module_constant ("property-operation"), scm_cons2 (parser->self_scm (), make_input ((yyloc)), (yyvsp[(1) - (1)].scm)));
5489         ;}
5490     break;
5491
5492   case 302:
5493 #line 2103 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5494     {
5495                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
5496         ;}
5497     break;
5498
5499   case 303:
5500 #line 2106 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5501     {
5502                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
5503         ;}
5504     break;
5505
5506   case 304:
5507 #line 2109 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5508     {
5509                 (yyval.scm) = scm_string_append (scm_list_2 ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm)));
5510         ;}
5511     break;
5512
5513   case 305:
5514 #line 2114 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5515     {
5516                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
5517         ;}
5518     break;
5519
5520   case 306:
5521 #line 2117 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5522     {
5523                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
5524         ;}
5525     break;
5526
5527   case 307:
5528 #line 2120 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5529     {
5530                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
5531         ;}
5532     break;
5533
5534   case 316:
5535 #line 2141 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5536     {
5537                 // Let the rhythmic music iterator sort this mess out.
5538                 if (scm_is_pair ((yyvsp[(2) - (2)].scm))) {
5539                         if (unsmob_pitch ((yyvsp[(1) - (2)].scm))) {
5540                                 Music *n = MY_MAKE_MUSIC ("NoteEvent", (yylsp[(1) - (2)]));
5541                                 n->set_property ("pitch", (yyvsp[(1) - (2)].scm));
5542                                 n->set_property ("duration",
5543                                                  parser->default_duration_.smobbed_copy ());
5544                                 (yyval.scm) = n->unprotect ();
5545                         }
5546                         unsmob_music ((yyval.scm))->set_property ("articulations",
5547                                                          scm_reverse_x ((yyvsp[(2) - (2)].scm), SCM_EOL));
5548                 }
5549         ;}
5550     break;
5551
5552   case 317:
5553 #line 2155 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5554     {
5555                 SCM elts = ly_append2 ((yyvsp[(1) - (2)].scm), scm_reverse_x ((yyvsp[(2) - (2)].scm), SCM_EOL));
5556
5557                 Input i;
5558                 /* why is this giving wrong start location? -ns
5559                  * i = @$; */
5560                 i.set_location ((yylsp[(1) - (2)]), (yylsp[(2) - (2)]));
5561                 (yyval.scm) = MAKE_SYNTAX ("event-chord", i, elts);
5562         ;}
5563     break;
5564
5565   case 318:
5566 #line 2164 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5567     {
5568                 Input i;
5569                 i.set_location ((yylsp[(1) - (3)]), (yylsp[(3) - (3)]));
5570                 (yyval.scm) = MAKE_SYNTAX ("repetition-chord", i,
5571                                   (yyvsp[(2) - (3)].scm), scm_reverse_x ((yyvsp[(3) - (3)].scm), SCM_EOL));
5572         ;}
5573     break;
5574
5575   case 319:
5576 #line 2170 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5577     {
5578                 Input i;
5579                 i.set_location ((yylsp[(1) - (3)]), (yylsp[(3) - (3)]));
5580                 (yyval.scm) = MAKE_SYNTAX ("multi-measure-rest", i, (yyvsp[(2) - (3)].scm),
5581                                   scm_reverse_x ((yyvsp[(3) - (3)].scm), SCM_EOL));
5582         ;}
5583     break;
5584
5585   case 322:
5586 #line 2183 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5587     {
5588                 Music *m = unsmob_music ((yyvsp[(1) - (3)].scm));
5589                 SCM dur = unsmob_duration ((yyvsp[(2) - (3)].scm))->smobbed_copy ();
5590                 SCM es = m->get_property ("elements");
5591                 SCM postevs = scm_reverse_x ((yyvsp[(3) - (3)].scm), SCM_EOL);
5592
5593                 for (SCM s = es; scm_is_pair (s); s = scm_cdr (s))
5594                   unsmob_music (scm_car (s))->set_property ("duration", dur);
5595                 es = ly_append2 (es, postevs);
5596
5597                 m-> set_property ("elements", es);
5598                 m->set_spot ((yyloc));
5599                 (yyval.scm) = m->self_scm ();
5600         ;}
5601     break;
5602
5603   case 323:
5604 #line 2201 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5605     {
5606                 (yyval.scm) = MAKE_SYNTAX ("event-chord", (yyloc), scm_reverse_x ((yyvsp[(2) - (3)].scm), SCM_EOL));
5607         ;}
5608     break;
5609
5610   case 324:
5611 #line 2207 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5612     { (yyval.scm) = SCM_EOL; ;}
5613     break;
5614
5615   case 325:
5616 #line 2208 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5617     {
5618                 if (!SCM_UNBNDP ((yyvsp[(2) - (2)].scm)))
5619                         (yyval.scm) = scm_cons ((yyvsp[(2) - (2)].scm), (yyvsp[(1) - (2)].scm));
5620         ;}
5621     break;
5622
5623   case 326:
5624 #line 2216 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5625     {
5626                 int q = (yyvsp[(3) - (5)].i);
5627                 int ex = (yyvsp[(2) - (5)].i);
5628                 SCM check = (yyvsp[(4) - (5)].scm);
5629                 SCM post = (yyvsp[(5) - (5)].scm);
5630
5631                 Music *n = MY_MAKE_MUSIC ("NoteEvent", (yyloc));
5632                 n->set_property ("pitch", (yyvsp[(1) - (5)].scm));
5633                 if (q % 2)
5634                         n->set_property ("cautionary", SCM_BOOL_T);
5635                 if (ex % 2 || q % 2)
5636                         n->set_property ("force-accidental", SCM_BOOL_T);
5637
5638                 if (scm_is_pair (post)) {
5639                         SCM arts = scm_reverse_x (post, SCM_EOL);
5640                         n->set_property ("articulations", arts);
5641                 }
5642                 if (scm_is_number (check))
5643                 {
5644                         int q = scm_to_int (check);
5645                         n->set_property ("absolute-octave", scm_from_int (q-1));
5646                 }
5647
5648                 (yyval.scm) = n->unprotect ();
5649         ;}
5650     break;
5651
5652   case 327:
5653 #line 2241 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5654     {
5655                 Music *n = MY_MAKE_MUSIC ("NoteEvent", (yyloc));
5656                 n->set_property ("drum-type", (yyvsp[(1) - (2)].scm));
5657
5658                 if (scm_is_pair ((yyvsp[(2) - (2)].scm))) {
5659                         SCM arts = scm_reverse_x ((yyvsp[(2) - (2)].scm), SCM_EOL);
5660                         n->set_property ("articulations", arts);
5661                 }
5662                 (yyval.scm) = n->unprotect ();
5663         ;}
5664     break;
5665
5666   case 328:
5667 #line 2252 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5668     {
5669                 Music *m = unsmob_music ((yyvsp[(1) - (1)].scm));
5670
5671                 while (m && m->is_mus_type ("music-wrapper-music")) {
5672                         (yyval.scm) = m->get_property ("element");
5673                         m = unsmob_music ((yyval.scm));
5674                 }
5675
5676                 if (!(m && m->is_mus_type ("rhythmic-event"))) {
5677                         parser->parser_error ((yyloc), _ ("not a rhythmic event"));
5678                         (yyval.scm) = SCM_UNDEFINED;
5679                 }
5680         ;}
5681     break;
5682
5683   case 331:
5684 #line 2278 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5685     {
5686                 (yyval.scm) = MAKE_SYNTAX ("music-function", (yyloc),
5687                                          (yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm));
5688         ;}
5689     break;
5690
5691   case 332:
5692 #line 2285 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5693     {
5694                 (yyval.scm) = MAKE_SYNTAX ("music-function", (yyloc),
5695                                          (yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm));
5696         ;}
5697     break;
5698
5699   case 333:
5700 #line 2292 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5701     {
5702                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
5703         ;}
5704     break;
5705
5706   case 334:
5707 #line 2295 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5708     {
5709                 Music *m = MY_MAKE_MUSIC ("LigatureEvent", (yyloc));
5710                 m->set_property ("span-direction", scm_from_int (START));
5711                 (yyval.scm) = m->unprotect();
5712         ;}
5713     break;
5714
5715   case 335:
5716 #line 2300 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5717     {
5718                 Music *m = MY_MAKE_MUSIC ("LigatureEvent", (yyloc));
5719                 m->set_property ("span-direction", scm_from_int (STOP));
5720                 (yyval.scm) = m->unprotect ();
5721         ;}
5722     break;
5723
5724   case 336:
5725 #line 2305 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5726     {
5727                 (yyval.scm) = MAKE_SYNTAX ("voice-separator", (yyloc));
5728         ;}
5729     break;
5730
5731   case 337:
5732 #line 2308 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5733     {
5734                 SCM pipe = parser->lexer_->lookup_identifier ("pipeSymbol");
5735
5736                 Music *m = unsmob_music (pipe);
5737                 if (m)
5738                 {
5739                         m = m->clone ();
5740                         m->set_spot ((yyloc));
5741                         (yyval.scm) = m->unprotect ();
5742                 }
5743                 else
5744                         (yyval.scm) = MAKE_SYNTAX ("bar-check", (yyloc));
5745
5746         ;}
5747     break;
5748
5749   case 338:
5750 #line 2325 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5751     {
5752                 (yyval.scm) = MY_MAKE_MUSIC ("PesOrFlexaEvent", (yyloc))->unprotect ();
5753         ;}
5754     break;
5755
5756   case 339:
5757 #line 2328 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5758     {
5759                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
5760         ;}
5761     break;
5762
5763   case 340:
5764 #line 2335 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5765     {
5766                 (yyval.scm) = SCM_EOL;
5767         ;}
5768     break;
5769
5770   case 341:
5771 #line 2338 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5772     {
5773                 unsmob_music ((yyvsp[(2) - (2)].scm))->set_spot ((yylsp[(2) - (2)]));
5774                 (yyval.scm) = scm_cons ((yyvsp[(2) - (2)].scm), (yyval.scm));
5775         ;}
5776     break;
5777
5778   case 342:
5779 #line 2345 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5780     {
5781                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
5782         ;}
5783     break;
5784
5785   case 343:
5786 #line 2348 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5787     {
5788                 (yyval.scm) = (yyvsp[(2) - (2)].scm);
5789                 if ((yyvsp[(1) - (2)].i))
5790                 {
5791                         unsmob_music ((yyval.scm))->set_property ("direction", scm_from_int ((yyvsp[(1) - (2)].i)));
5792                 }
5793         ;}
5794     break;
5795
5796   case 344:
5797 #line 2355 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5798     {
5799                 if (!parser->lexer_->is_lyric_state ())
5800                         parser->parser_error ((yylsp[(1) - (1)]), _ ("have to be in Lyric mode for lyrics"));
5801                 (yyval.scm) = MY_MAKE_MUSIC ("HyphenEvent", (yyloc))->unprotect ();
5802         ;}
5803     break;
5804
5805   case 345:
5806 #line 2360 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5807     {
5808                 if (!parser->lexer_->is_lyric_state ())
5809                         parser->parser_error ((yylsp[(1) - (1)]), _ ("have to be in Lyric mode for lyrics"));
5810                 (yyval.scm) = MY_MAKE_MUSIC ("ExtenderEvent", (yyloc))->unprotect ();
5811         ;}
5812     break;
5813
5814   case 346:
5815 #line 2365 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5816     {
5817                 if ((yyvsp[(1) - (2)].i))
5818                 {
5819                         Music *m = unsmob_music ((yyvsp[(2) - (2)].scm));
5820                         m->set_property ("direction", scm_from_int ((yyvsp[(1) - (2)].i)));
5821                 }
5822                 (yyval.scm) = (yyvsp[(2) - (2)].scm);
5823         ;}
5824     break;
5825
5826   case 347:
5827 #line 2373 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5828     {
5829                 if ((yyvsp[(1) - (2)].i))
5830                 {
5831                         Music *m = unsmob_music ((yyvsp[(2) - (2)].scm));
5832                         m->set_property ("direction", scm_from_int ((yyvsp[(1) - (2)].i)));
5833                 }
5834                 (yyval.scm) = (yyvsp[(2) - (2)].scm);
5835         ;}
5836     break;
5837
5838   case 349:
5839 #line 2383 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5840     {
5841                 (yyval.scm) = (yyvsp[(2) - (2)].scm);
5842                 unsmob_music ((yyval.scm))->set_property ("direction", scm_from_int (UP));
5843         ;}
5844     break;
5845
5846   case 350:
5847 #line 2388 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5848     {
5849                 (yyval.scm) = (yyvsp[(2) - (2)].scm);
5850                 unsmob_music ((yyval.scm))->set_property ("direction", scm_from_int (DOWN));
5851         ;}
5852     break;
5853
5854   case 352:
5855 #line 2396 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5856     {
5857                 (yyval.scm) = (yyvsp[(2) - (2)].scm);
5858         ;}
5859     break;
5860
5861   case 353:
5862 #line 2402 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5863     {
5864                 Music *s = MY_MAKE_MUSIC ("StringNumberEvent", (yyloc));
5865                 s->set_property ("string-number", scm_from_int ((yyvsp[(1) - (1)].i)));
5866                 (yyval.scm) = s->unprotect ();
5867         ;}
5868     break;
5869
5870   case 354:
5871 #line 2410 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5872     {
5873                 (yyval.scm) = ly_symbol2scm ("bracketOpenSymbol");
5874         ;}
5875     break;
5876
5877   case 355:
5878 #line 2413 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5879     {
5880                 (yyval.scm) = ly_symbol2scm ("bracketCloseSymbol");
5881         ;}
5882     break;
5883
5884   case 356:
5885 #line 2416 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5886     {
5887                 (yyval.scm) = ly_symbol2scm ("tildeSymbol");
5888         ;}
5889     break;
5890
5891   case 357:
5892 #line 2419 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5893     {
5894                 (yyval.scm) = ly_symbol2scm ("parenthesisOpenSymbol");
5895         ;}
5896     break;
5897
5898   case 358:
5899 #line 2422 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5900     {
5901                 (yyval.scm) = ly_symbol2scm ("parenthesisCloseSymbol");
5902         ;}
5903     break;
5904
5905   case 359:
5906 #line 2425 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5907     {
5908                 (yyval.scm) = ly_symbol2scm ("escapedExclamationSymbol");
5909         ;}
5910     break;
5911
5912   case 360:
5913 #line 2428 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5914     {
5915                 (yyval.scm) = ly_symbol2scm ("escapedParenthesisOpenSymbol");
5916         ;}
5917     break;
5918
5919   case 361:
5920 #line 2431 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5921     {
5922                 (yyval.scm) = ly_symbol2scm ("escapedParenthesisCloseSymbol");
5923         ;}
5924     break;
5925
5926   case 362:
5927 #line 2434 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5928     {
5929                 (yyval.scm) = ly_symbol2scm ("escapedBiggerSymbol");
5930         ;}
5931     break;
5932
5933   case 363:
5934 #line 2437 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5935     {
5936                 (yyval.scm) = ly_symbol2scm ("escapedSmallerSymbol");
5937         ;}
5938     break;
5939
5940   case 364:
5941 #line 2443 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5942     {
5943                 SCM predefd = parser->lexer_->lookup_identifier_symbol ((yyvsp[(1) - (1)].scm));
5944                 Music *m = 0;
5945                 if (unsmob_music (predefd))
5946                 {
5947                         m = unsmob_music (predefd)->clone ();
5948                         m->set_spot ((yyloc));
5949                 }
5950                 else
5951                 {
5952                         m = MY_MAKE_MUSIC ("Music", (yyloc));
5953                 }
5954                 (yyval.scm) = m->unprotect ();
5955         ;}
5956     break;
5957
5958   case 365:
5959 #line 2457 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5960     {
5961                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
5962         ;}
5963     break;
5964
5965   case 366:
5966 #line 2460 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5967     {
5968                Music *a = MY_MAKE_MUSIC ("TremoloEvent", (yyloc));
5969                a->set_property ("tremolo-type", scm_from_int ((yyvsp[(1) - (1)].i)));
5970                (yyval.scm) = a->unprotect ();
5971         ;}
5972     break;
5973
5974   case 368:
5975 #line 2469 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5976     {
5977                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
5978         ;}
5979     break;
5980
5981   case 369:
5982 #line 2472 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5983     {
5984                 SCM s = parser->lexer_->lookup_identifier ("dash" + ly_scm2string ((yyvsp[(1) - (1)].scm)));
5985                 Music *a = MY_MAKE_MUSIC ("ArticulationEvent", (yyloc));
5986                 if (scm_is_string (s))
5987                         a->set_property ("articulation-type", s);
5988                 else parser->parser_error ((yylsp[(1) - (1)]), _ ("expecting string as script definition"));
5989                 (yyval.scm) = a->unprotect ();
5990         ;}
5991     break;
5992
5993   case 370:
5994 #line 2483 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
5995     { (yyval.scm) = SCM_EOL; ;}
5996     break;
5997
5998   case 371:
5999 #line 2484 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6000     { (yyval.scm) = scm_from_int (0); ;}
6001     break;
6002
6003   case 372:
6004 #line 2485 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6005     { (yyval.scm) = scm_from_int (-(yyvsp[(2) - (2)].i)); ;}
6006     break;
6007
6008   case 373:
6009 #line 2486 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6010     { (yyval.scm) = scm_from_int ((yyvsp[(2) - (2)].i)); ;}
6011     break;
6012
6013   case 374:
6014 #line 2490 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6015     {
6016                 (yyval.i) = 1;
6017         ;}
6018     break;
6019
6020   case 375:
6021 #line 2493 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6022     {
6023                 (yyval.i) ++;
6024         ;}
6025     break;
6026
6027   case 376:
6028 #line 2499 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6029     {
6030                 (yyval.i) = 1;
6031         ;}
6032     break;
6033
6034   case 377:
6035 #line 2502 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6036     {
6037                 (yyval.i)++;
6038         ;}
6039     break;
6040
6041   case 378:
6042 #line 2508 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6043     {
6044                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
6045         ;}
6046     break;
6047
6048   case 379:
6049 #line 2511 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6050     {
6051                 Pitch p = *unsmob_pitch ((yyvsp[(1) - (2)].scm));
6052                 p = p.transposed (Pitch ((yyvsp[(2) - (2)].i),0,0));
6053                 (yyval.scm) = p.smobbed_copy ();
6054         ;}
6055     break;
6056
6057   case 380:
6058 #line 2516 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6059     {
6060                 Pitch p =* unsmob_pitch ((yyvsp[(1) - (2)].scm));
6061                 p = p.transposed (Pitch (-(yyvsp[(2) - (2)].i),0,0));
6062                 (yyval.scm) = p.smobbed_copy ();
6063         ;}
6064     break;
6065
6066   case 381:
6067 #line 2528 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6068     {
6069                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
6070         ;}
6071     break;
6072
6073   case 382:
6074 #line 2531 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6075     {
6076                 Pitch p = *unsmob_pitch ((yyvsp[(1) - (2)].scm));
6077                 p = p.transposed (Pitch ((yyvsp[(2) - (2)].i),0,0));
6078                 (yyval.scm) = p.smobbed_copy ();
6079         ;}
6080     break;
6081
6082   case 383:
6083 #line 2536 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6084     {
6085                 Pitch p = *unsmob_pitch ((yyvsp[(1) - (2)].scm));
6086
6087                 p = p.transposed (Pitch (-(yyvsp[(2) - (2)].i),0,0));
6088                 (yyval.scm) = p.smobbed_copy ();
6089         ;}
6090     break;
6091
6092   case 384:
6093 #line 2545 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6094     {
6095                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
6096         ;}
6097     break;
6098
6099   case 388:
6100 #line 2557 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6101     {
6102                 Music *t = MY_MAKE_MUSIC ("TextScriptEvent", (yyloc));
6103                 t->set_property ("text", (yyvsp[(1) - (1)].scm));
6104                 (yyval.scm) = t->unprotect ();
6105         ;}
6106     break;
6107
6108   case 389:
6109 #line 2562 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6110     {
6111                 Music *t = MY_MAKE_MUSIC ("TextScriptEvent", (yyloc));
6112                 t->set_property ("text",
6113                         make_simple_markup ((yyvsp[(1) - (1)].scm)));
6114                 (yyval.scm) = t->unprotect ();
6115         ;}
6116     break;
6117
6118   case 390:
6119 #line 2571 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6120     {
6121                 Music *t = MY_MAKE_MUSIC ("FingeringEvent", (yyloc));
6122                 t->set_property ("digit", (yyvsp[(1) - (1)].scm));
6123                 (yyval.scm) = t->unprotect ();
6124         ;}
6125     break;
6126
6127   case 391:
6128 #line 2579 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6129     {
6130                 (yyval.scm) = scm_from_locale_string ("Hat");
6131         ;}
6132     break;
6133
6134   case 392:
6135 #line 2582 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6136     {
6137                 (yyval.scm) = scm_from_locale_string ("Plus");
6138         ;}
6139     break;
6140
6141   case 393:
6142 #line 2585 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6143     {
6144                 (yyval.scm) = scm_from_locale_string ("Dash");
6145         ;}
6146     break;
6147
6148   case 394:
6149 #line 2588 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6150     {
6151                 (yyval.scm) = scm_from_locale_string ("Bar");
6152         ;}
6153     break;
6154
6155   case 395:
6156 #line 2591 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6157     {
6158                 (yyval.scm) = scm_from_locale_string ("Larger");
6159         ;}
6160     break;
6161
6162   case 396:
6163 #line 2594 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6164     {
6165                 (yyval.scm) = scm_from_locale_string ("Dot");
6166         ;}
6167     break;
6168
6169   case 397:
6170 #line 2597 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6171     {
6172                 (yyval.scm) = scm_from_locale_string ("Underscore");
6173         ;}
6174     break;
6175
6176   case 398:
6177 #line 2603 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6178     { (yyval.i) = DOWN; ;}
6179     break;
6180
6181   case 399:
6182 #line 2604 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6183     { (yyval.i) = UP; ;}
6184     break;
6185
6186   case 400:
6187 #line 2605 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6188     { (yyval.i) = CENTER; ;}
6189     break;
6190
6191   case 401:
6192 #line 2609 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6193     {
6194                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
6195         ;}
6196     break;
6197
6198   case 402:
6199 #line 2615 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6200     {
6201                 (yyval.scm) = SCM_UNDEFINED;
6202         ;}
6203     break;
6204
6205   case 403:
6206 #line 2618 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6207     {
6208                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
6209                 parser->default_duration_ = *unsmob_duration ((yyval.scm));
6210         ;}
6211     break;
6212
6213   case 404:
6214 #line 2627 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6215     {
6216                 if (SCM_UNBNDP ((yyval.scm)))
6217                         (yyval.scm) = parser->default_duration_.smobbed_copy ();
6218         ;}
6219     break;
6220
6221   case 405:
6222 #line 2634 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6223     {
6224                 int len = 0;
6225                 if (!is_duration ((yyvsp[(1) - (2)].i)))
6226                         parser->parser_error ((yylsp[(1) - (2)]), _f ("not a duration: %d", (yyvsp[(1) - (2)].i)));
6227                 else
6228                         len = intlog2 ((yyvsp[(1) - (2)].i));
6229
6230                 (yyval.scm) = Duration (len, (yyvsp[(2) - (2)].i)).smobbed_copy ();
6231         ;}
6232     break;
6233
6234   case 406:
6235 #line 2643 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6236     {
6237                 Duration *d = unsmob_duration ((yyvsp[(1) - (2)].scm));
6238                 Duration k (d->duration_log (), d->dot_count () + (yyvsp[(2) - (2)].i));
6239                 k = k.compressed (d->factor ());
6240                 *d = k;
6241                 (yyval.scm) = (yyvsp[(1) - (2)].scm);
6242         ;}
6243     break;
6244
6245   case 407:
6246 #line 2653 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6247     {
6248                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
6249         ;}
6250     break;
6251
6252   case 408:
6253 #line 2656 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6254     {
6255                 (yyval.scm) = unsmob_duration ((yyval.scm))->compressed ( (yyvsp[(3) - (3)].i)) .smobbed_copy ();
6256         ;}
6257     break;
6258
6259   case 409:
6260 #line 2659 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6261     {
6262                 Rational  m (scm_to_int (scm_car ((yyvsp[(3) - (3)].scm))), scm_to_int (scm_cdr ((yyvsp[(3) - (3)].scm))));
6263
6264                 (yyval.scm) = unsmob_duration ((yyval.scm))->compressed (m).smobbed_copy ();
6265         ;}
6266     break;
6267
6268   case 410:
6269 #line 2667 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6270     {
6271                 (yyval.i) = 0;
6272         ;}
6273     break;
6274
6275   case 411:
6276 #line 2670 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6277     {
6278                 (yyval.i) ++;
6279         ;}
6280     break;
6281
6282   case 412:
6283 #line 2676 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6284     {
6285                 (yyval.i) = 0;
6286         ;}
6287     break;
6288
6289   case 413:
6290 #line 2679 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6291     {
6292                 if (!is_duration ((yyvsp[(2) - (2)].i)))
6293                         parser->parser_error ((yylsp[(2) - (2)]), _f ("not a duration: %d", (yyvsp[(2) - (2)].i)));
6294                 (yyval.i) = (yyvsp[(2) - (2)].i);
6295         ;}
6296     break;
6297
6298   case 414:
6299 #line 2687 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6300     { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
6301     break;
6302
6303   case 415:
6304 #line 2688 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6305     { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
6306     break;
6307
6308   case 416:
6309 #line 2689 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6310     { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
6311     break;
6312
6313   case 417:
6314 #line 2693 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6315     { (yyval.scm) = ly_rational2scm (FLAT_ALTERATION); ;}
6316     break;
6317
6318   case 418:
6319 #line 2694 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6320     { (yyval.scm) = ly_rational2scm (SHARP_ALTERATION); ;}
6321     break;
6322
6323   case 419:
6324 #line 2695 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6325     { (yyval.scm) = scm_from_int (0); ;}
6326     break;
6327
6328   case 420:
6329 #line 2699 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6330     {
6331                 Music *bfr = MY_MAKE_MUSIC ("BassFigureEvent", (yyloc));
6332                 (yyval.scm) = bfr->unprotect ();
6333         ;}
6334     break;
6335
6336   case 421:
6337 #line 2703 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6338     {
6339                 Music *bfr = MY_MAKE_MUSIC ("BassFigureEvent", (yyloc));
6340                 (yyval.scm) = bfr->self_scm ();
6341
6342                 if (scm_is_number ((yyvsp[(1) - (1)].scm)))
6343                         bfr->set_property ("figure", (yyvsp[(1) - (1)].scm));
6344                 else if (Text_interface::is_markup ((yyvsp[(1) - (1)].scm)))
6345                         bfr->set_property ("text", (yyvsp[(1) - (1)].scm));
6346
6347                 bfr->unprotect ();
6348         ;}
6349     break;
6350
6351   case 422:
6352 #line 2714 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6353     {
6354                 (yyval.scm) = (yyvsp[(1) - (2)].scm);
6355                 unsmob_music ((yyvsp[(1) - (2)].scm))->set_property ("bracket-stop", SCM_BOOL_T);
6356         ;}
6357     break;
6358
6359   case 423:
6360 #line 2718 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6361     {
6362                 Music *m = unsmob_music ((yyvsp[(1) - (2)].scm));
6363                 if (scm_to_double ((yyvsp[(2) - (2)].scm))) {
6364                         SCM salter = m->get_property ("alteration");
6365                         SCM alter = scm_is_number (salter) ? salter : scm_from_int (0);
6366                         m->set_property ("alteration",
6367                                          scm_sum (alter, (yyvsp[(2) - (2)].scm)));
6368                 } else {
6369                         m->set_property ("alteration", scm_from_int (0));
6370                 }
6371         ;}
6372     break;
6373
6374   case 424:
6375 #line 2729 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6376     {
6377                 Music *m = unsmob_music ((yyvsp[(1) - (2)].scm));
6378                 if ((yyvsp[(2) - (2)].scm) == ly_symbol2scm ("plus"))
6379                         {
6380                         m->set_property ("augmented", SCM_BOOL_T);
6381                         }
6382                 else if ((yyvsp[(2) - (2)].scm) == ly_symbol2scm ("slash"))
6383                         {
6384                         m->set_property ("diminished", SCM_BOOL_T);
6385                         }
6386                 else if ((yyvsp[(2) - (2)].scm) == ly_symbol2scm ("exclamation"))
6387                         {
6388                         m->set_property ("no-continuation", SCM_BOOL_T);
6389                         }
6390                 else if ((yyvsp[(2) - (2)].scm) == ly_symbol2scm ("backslash"))
6391                         {
6392                         m->set_property ("augmented-slash", SCM_BOOL_T);
6393                         }
6394         ;}
6395     break;
6396
6397   case 425:
6398 #line 2752 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6399     {
6400                 (yyval.scm) = ly_symbol2scm ("plus");
6401         ;}
6402     break;
6403
6404   case 426:
6405 #line 2755 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6406     {
6407                 (yyval.scm) = ly_symbol2scm ("exclamation");
6408         ;}
6409     break;
6410
6411   case 427:
6412 #line 2758 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6413     {
6414                 (yyval.scm) = ly_symbol2scm ("slash");
6415         ;}
6416     break;
6417
6418   case 428:
6419 #line 2761 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6420     {
6421                 (yyval.scm) = ly_symbol2scm ("backslash");
6422         ;}
6423     break;
6424
6425   case 429:
6426 #line 2767 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6427     {
6428                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
6429         ;}
6430     break;
6431
6432   case 430:
6433 #line 2770 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6434     {
6435                 (yyval.scm) = (yyvsp[(2) - (2)].scm);
6436                 unsmob_music ((yyval.scm))->set_property ("bracket-start", SCM_BOOL_T);
6437         ;}
6438     break;
6439
6440   case 431:
6441 #line 2777 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6442     {
6443                 (yyval.scm) = SCM_EOL;
6444         ;}
6445     break;
6446
6447   case 432:
6448 #line 2780 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6449     {
6450                 (yyval.scm) = scm_cons ((yyvsp[(2) - (2)].scm), (yyvsp[(1) - (2)].scm));
6451         ;}
6452     break;
6453
6454   case 433:
6455 #line 2786 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6456     {
6457                 (yyval.scm) = scm_reverse_x ((yyvsp[(2) - (3)].scm), SCM_EOL);
6458         ;}
6459     break;
6460
6461   case 434:
6462 #line 2793 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6463     { (yyval.i) = 0; ;}
6464     break;
6465
6466   case 435:
6467 #line 2794 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6468     { (yyval.i) = 1; ;}
6469     break;
6470
6471   case 436:
6472 #line 2798 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6473     {
6474                 if (!parser->lexer_->is_note_state ())
6475                         parser->parser_error ((yylsp[(1) - (6)]), _ ("have to be in Note mode for notes"));
6476                 if ((yyvsp[(2) - (6)].i) || (yyvsp[(3) - (6)].i) || scm_is_number ((yyvsp[(4) - (6)].scm)) || !SCM_UNBNDP ((yyvsp[(5) - (6)].scm)) || (yyvsp[(6) - (6)].i))
6477                 {
6478                         Music *n = 0;
6479                         if ((yyvsp[(6) - (6)].i))
6480                                 n = MY_MAKE_MUSIC ("RestEvent", (yyloc));
6481                         else
6482                                 n = MY_MAKE_MUSIC ("NoteEvent", (yyloc));
6483                         
6484                         n->set_property ("pitch", (yyvsp[(1) - (6)].scm));
6485                         if (SCM_UNBNDP ((yyvsp[(5) - (6)].scm)))
6486                                 n->set_property ("duration",
6487                                                  parser->default_duration_.smobbed_copy ());
6488                         else
6489                                 n->set_property ("duration", (yyvsp[(5) - (6)].scm));
6490                         
6491                         if (scm_is_number ((yyvsp[(4) - (6)].scm)))
6492                         {
6493                                 int q = scm_to_int ((yyvsp[(4) - (6)].scm));
6494                                 n->set_property ("absolute-octave", scm_from_int (q-1));
6495                         }
6496                         
6497                         if ((yyvsp[(3) - (6)].i) % 2)
6498                                 n->set_property ("cautionary", SCM_BOOL_T);
6499                         if ((yyvsp[(2) - (6)].i) % 2 || (yyvsp[(3) - (6)].i) % 2)
6500                                 n->set_property ("force-accidental", SCM_BOOL_T);
6501                         
6502                         (yyval.scm) = n->unprotect ();
6503                 }
6504         ;}
6505     break;
6506
6507   case 437:
6508 #line 2830 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6509     {
6510                 Music *n = MY_MAKE_MUSIC ("NoteEvent", (yyloc));
6511                 n->set_property ("duration", (yyvsp[(2) - (2)].scm));
6512                 n->set_property ("drum-type", (yyvsp[(1) - (2)].scm));
6513
6514                 (yyval.scm) = n->unprotect ();
6515         ;}
6516     break;
6517
6518   case 438:
6519 #line 2837 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6520     {
6521                 Music *ev = 0;
6522                 if (ly_scm2string ((yyvsp[(1) - (2)].scm)) == "s") {
6523                         /* Space */
6524                         ev = MY_MAKE_MUSIC ("SkipEvent", (yyloc));
6525                   }
6526                 else {
6527                         ev = MY_MAKE_MUSIC ("RestEvent", (yyloc));
6528
6529                     }
6530                 ev->set_property ("duration", (yyvsp[(2) - (2)].scm));
6531                 (yyval.scm) = ev->unprotect ();
6532         ;}
6533     break;
6534
6535   case 439:
6536 #line 2853 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6537     {
6538                 if (!parser->lexer_->is_chord_state ())
6539                         parser->parser_error ((yylsp[(1) - (1)]), _ ("have to be in Chord mode for chords"));
6540                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
6541         ;}
6542     break;
6543
6544   case 440:
6545 #line 2858 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6546     {
6547                 for (SCM s = (yyvsp[(1) - (2)].scm); scm_is_pair (s); s = scm_cdr (s))
6548                 {
6549                         unsmob_music (scm_car (s))->set_property ("duration", (yyvsp[(2) - (2)].scm));
6550                 }
6551                 (yyval.scm) = (yyvsp[(1) - (2)].scm);
6552         ;}
6553     break;
6554
6555   case 441:
6556 #line 2868 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6557     {
6558                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
6559         ;}
6560     break;
6561
6562   case 442:
6563 #line 2871 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6564     {
6565                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
6566         ;}
6567     break;
6568
6569   case 444:
6570 #line 2878 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6571     {
6572                 (yyval.scm) = MAKE_SYNTAX ("lyric-event", (yyloc), (yyvsp[(1) - (3)].scm), (yyvsp[(2) - (3)].scm));
6573                 if (scm_is_pair ((yyvsp[(3) - (3)].scm)))
6574                         unsmob_music ((yyval.scm))->set_property
6575                                 ("articulations", scm_reverse_x ((yyvsp[(3) - (3)].scm), SCM_EOL));
6576         ;}
6577     break;
6578
6579   case 445:
6580 #line 2884 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6581     {
6582                 (yyval.scm) = MAKE_SYNTAX ("lyric-event", (yyloc), (yyvsp[(1) - (3)].scm),
6583                                   parser->default_duration_.smobbed_copy ());
6584                 unsmob_music ((yyval.scm))->set_property
6585                         ("articulations", scm_cons ((yyvsp[(2) - (3)].scm), scm_reverse_x ((yyvsp[(3) - (3)].scm), SCM_EOL)));
6586         ;}
6587     break;
6588
6589   case 446:
6590 #line 2890 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6591     {
6592                 (yyval.scm) = MAKE_SYNTAX ("lyric-event", (yyloc), (yyvsp[(1) - (3)].scm), (yyvsp[(2) - (3)].scm));
6593                 if (scm_is_pair ((yyvsp[(3) - (3)].scm)))
6594                         unsmob_music ((yyval.scm))->set_property
6595                                 ("articulations", scm_reverse_x ((yyvsp[(3) - (3)].scm), SCM_EOL));
6596         ;}
6597     break;
6598
6599   case 447:
6600 #line 2900 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6601     {
6602                 (yyval.scm) = MAKE_SYNTAX ("lyric-event", (yyloc), (yyvsp[(1) - (3)].scm), (yyvsp[(2) - (3)].scm));
6603                 if (scm_is_pair ((yyvsp[(3) - (3)].scm)))
6604                         unsmob_music ((yyval.scm))->set_property
6605                                 ("articulations", scm_reverse_x ((yyvsp[(3) - (3)].scm), SCM_EOL));
6606         ;}
6607     break;
6608
6609   case 448:
6610 #line 2909 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6611     {
6612                 (yyval.scm) = make_chord_elements ((yyloc), (yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm), SCM_EOL);
6613         ;}
6614     break;
6615
6616   case 449:
6617 #line 2912 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6618     {
6619                 SCM its = scm_reverse_x ((yyvsp[(4) - (4)].scm), SCM_EOL);
6620                 (yyval.scm) = make_chord_elements ((yyloc), (yyvsp[(1) - (4)].scm), (yyvsp[(2) - (4)].scm), scm_cons ((yyvsp[(3) - (4)].scm), its));
6621         ;}
6622     break;
6623
6624   case 450:
6625 #line 2919 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6626     {
6627                 (yyval.scm) = SCM_EOL;
6628         ;}
6629     break;
6630
6631   case 451:
6632 #line 2922 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6633     {
6634                 (yyval.scm) = scm_cons ((yyvsp[(2) - (2)].scm), (yyval.scm));
6635         ;}
6636     break;
6637
6638   case 452:
6639 #line 2928 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6640     {
6641                 (yyval.scm) = ly_symbol2scm ("chord-colon");
6642         ;}
6643     break;
6644
6645   case 453:
6646 #line 2931 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6647     {
6648                 (yyval.scm) = ly_symbol2scm ("chord-caret");
6649         ;}
6650     break;
6651
6652   case 454:
6653 #line 2934 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6654     {
6655                 (yyval.scm) = scm_list_2 (ly_symbol2scm ("chord-slash"), (yyvsp[(2) - (2)].scm));
6656         ;}
6657     break;
6658
6659   case 455:
6660 #line 2937 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6661     {
6662                 (yyval.scm) = scm_list_2 (ly_symbol2scm ("chord-bass"), (yyvsp[(2) - (2)].scm));
6663         ;}
6664     break;
6665
6666   case 456:
6667 #line 2943 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6668     {
6669                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
6670         ;}
6671     break;
6672
6673   case 457:
6674 #line 2946 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6675     {
6676                 (yyval.scm) = scm_reverse_x ((yyvsp[(1) - (1)].scm), SCM_EOL);
6677         ;}
6678     break;
6679
6680   case 458:
6681 #line 2949 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6682     {
6683                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
6684         ;}
6685     break;
6686
6687   case 459:
6688 #line 2955 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6689     { (yyval.scm) = scm_cons ((yyvsp[(1) - (1)].scm), SCM_EOL); ;}
6690     break;
6691
6692   case 460:
6693 #line 2956 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6694     {
6695                 (yyval.scm) = scm_cons ((yyvsp[(3) - (3)].scm), (yyval.scm));
6696         ;}
6697     break;
6698
6699   case 461:
6700 #line 2962 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6701     {
6702                 (yyval.scm) = make_chord_step ((yyvsp[(1) - (1)].i), 0);
6703         ;}
6704     break;
6705
6706   case 462:
6707 #line 2965 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6708     {
6709                 (yyval.scm) = make_chord_step ((yyvsp[(1) - (2)].i), SHARP_ALTERATION);
6710         ;}
6711     break;
6712
6713   case 463:
6714 #line 2968 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6715     {
6716                 (yyval.scm) = make_chord_step ((yyvsp[(1) - (2)].i), FLAT_ALTERATION);
6717         ;}
6718     break;
6719
6720   case 464:
6721 #line 2974 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6722     {
6723                 (yyval.scm) = scm_from_int ((yyvsp[(1) - (1)].i));
6724         ;}
6725     break;
6726
6727   case 465:
6728 #line 2977 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6729     {
6730                 (yyval.scm) = scm_cons (scm_from_int ((yyvsp[(1) - (3)].i)), scm_from_int ((yyvsp[(3) - (3)].i)));
6731         ;}
6732     break;
6733
6734   case 466:
6735 #line 2989 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6736     {
6737                 (yyval.scm) = scm_sum ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
6738         ;}
6739     break;
6740
6741   case 467:
6742 #line 2992 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6743     {
6744                 (yyval.scm) = scm_difference ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
6745         ;}
6746     break;
6747
6748   case 469:
6749 #line 2999 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6750     {
6751                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
6752         ;}
6753     break;
6754
6755   case 470:
6756 #line 3002 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6757     {
6758                 (yyval.scm) = scm_product ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
6759         ;}
6760     break;
6761
6762   case 471:
6763 #line 3005 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6764     {
6765                 (yyval.scm) = scm_divide ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
6766         ;}
6767     break;
6768
6769   case 472:
6770 #line 3011 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6771     { /* %prec UNARY_MINUS */
6772                 (yyval.scm) = scm_difference ((yyvsp[(2) - (2)].scm), SCM_UNDEFINED);
6773         ;}
6774     break;
6775
6776   case 475:
6777 #line 3020 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6778     {
6779                 (yyval.scm) = scm_product ((yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm));
6780         ;}
6781     break;
6782
6783   case 476:
6784 #line 3023 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6785     {
6786                 (yyval.scm) = scm_product ((yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm));
6787         ;}
6788     break;
6789
6790   case 480:
6791 #line 3035 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6792     {
6793                 (yyval.i) = scm_to_int ((yyvsp[(1) - (1)].scm));
6794         ;}
6795     break;
6796
6797   case 483:
6798 #line 3046 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6799     { (yyval.i) = 0; ;}
6800     break;
6801
6802   case 484:
6803 #line 3047 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6804     { (yyval.i) ++; ;}
6805     break;
6806
6807   case 485:
6808 #line 3051 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6809     { (yyval.i) = 0; ;}
6810     break;
6811
6812   case 486:
6813 #line 3052 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6814     { (yyval.i) ++; ;}
6815     break;
6816
6817   case 487:
6818 #line 3060 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6819     {
6820                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
6821         ;}
6822     break;
6823
6824   case 488:
6825 #line 3064 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6826     { parser->lexer_->push_markup_state (); ;}
6827     break;
6828
6829   case 489:
6830 #line 3065 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6831     {
6832                 (yyval.scm) = (yyvsp[(3) - (3)].scm);
6833                 parser->lexer_->pop_state ();
6834         ;}
6835     break;
6836
6837   case 490:
6838 #line 3072 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6839     {
6840                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
6841         ;}
6842     break;
6843
6844   case 491:
6845 #line 3076 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6846     { parser->lexer_->push_markup_state (); ;}
6847     break;
6848
6849   case 492:
6850 #line 3077 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6851     {
6852                 (yyval.scm) = (yyvsp[(3) - (3)].scm);
6853                 parser->lexer_->pop_state ();
6854         ;}
6855     break;
6856
6857   case 493:
6858 #line 3084 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6859     {
6860                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
6861         ;}
6862     break;
6863
6864   case 494:
6865 #line 3088 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6866     { parser->lexer_->push_markup_state (); ;}
6867     break;
6868
6869   case 495:
6870 #line 3089 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6871     {
6872                 (yyval.scm) = (yyvsp[(3) - (3)].scm);
6873                 parser->lexer_->pop_state ();
6874         ;}
6875     break;
6876
6877   case 496:
6878 #line 3096 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6879     {
6880                 (yyval.scm) = scm_list_2 (ly_lily_module_constant ("line-markup"),  (yyvsp[(1) - (1)].scm));
6881         ;}
6882     break;
6883
6884   case 497:
6885 #line 3099 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6886     {
6887                 (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))));
6888         ;}
6889     break;
6890
6891   case 498:
6892 #line 3102 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6893     {
6894                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
6895         ;}
6896     break;
6897
6898   case 499:
6899 #line 3109 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6900     {
6901                 if (Text_interface::is_markup ((yyvsp[(1) - (1)].scm)))
6902                         MYBACKUP (MARKUP_IDENTIFIER, (yyvsp[(1) - (1)].scm), (yylsp[(1) - (1)]));
6903                 else if (Text_interface::is_markup_list ((yyvsp[(1) - (1)].scm)))
6904                         MYBACKUP (MARKUPLIST_IDENTIFIER, (yyvsp[(1) - (1)].scm), (yylsp[(1) - (1)]));
6905                 else {
6906                         parser->parser_error ((yylsp[(1) - (1)]), _ ("not a markup"));
6907                         MYBACKUP (MARKUP_IDENTIFIER, scm_string (SCM_EOL), (yylsp[(1) - (1)]));
6908                 }
6909         ;}
6910     break;
6911
6912   case 501:
6913 #line 3123 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6914     {
6915                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
6916         ;}
6917     break;
6918
6919   case 502:
6920 #line 3126 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6921     {
6922                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
6923         ;}
6924     break;
6925
6926   case 503:
6927 #line 3129 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6928     {
6929                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
6930         ;}
6931     break;
6932
6933   case 504:
6934 #line 3132 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6935     {
6936                 (yyval.scm) = scm_list_1 ((yyvsp[(1) - (1)].scm));
6937         ;}
6938     break;
6939
6940   case 505:
6941 #line 3136 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6942     {
6943                 (yyval.scm) = (yyvsp[(2) - (2)].scm);
6944         ;}
6945     break;
6946
6947   case 506:
6948 #line 3142 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6949     {
6950                 (yyval.scm) = scm_call_2 (ly_lily_module_constant ("map-markup-command-list"), (yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm));
6951
6952         ;}
6953     break;
6954
6955   case 507:
6956 #line 3149 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6957     {
6958                 (yyval.scm) = scm_reverse_x ((yyvsp[(2) - (3)].scm), SCM_EOL);
6959         ;}
6960     break;
6961
6962   case 508:
6963 #line 3155 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6964     {  (yyval.scm) = SCM_EOL; ;}
6965     break;
6966
6967   case 509:
6968 #line 3156 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6969     {
6970                 (yyval.scm) = scm_cons ((yyvsp[(2) - (2)].scm), (yyvsp[(1) - (2)].scm));
6971         ;}
6972     break;
6973
6974   case 510:
6975 #line 3159 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6976     {
6977                 (yyval.scm) = scm_reverse_x ((yyvsp[(2) - (2)].scm), (yyvsp[(1) - (2)].scm));
6978         ;}
6979     break;
6980
6981   case 511:
6982 #line 3165 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6983     {
6984           (yyval.scm) = scm_cons ((yyvsp[(1) - (2)].scm), scm_reverse_x((yyvsp[(2) - (2)].scm), SCM_EOL));
6985         ;}
6986     break;
6987
6988   case 512:
6989 #line 3171 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6990     {
6991           (yyval.scm) = scm_cons ((yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm));
6992         ;}
6993     break;
6994
6995   case 513:
6996 #line 3174 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
6997     {
6998           (yyval.scm) = check_scheme_arg (parser, (yylsp[(3) - (3)]), (yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm), (yyvsp[(1) - (3)].scm));
6999         ;}
7000     break;
7001
7002   case 514:
7003 #line 3177 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
7004     {
7005           (yyval.scm) = SCM_EOL;
7006         ;}
7007     break;
7008
7009   case 515:
7010 #line 3183 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
7011     { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
7012     break;
7013
7014   case 516:
7015 #line 3184 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
7016     {
7017           (yyval.scm) = scm_cons ((yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm));
7018         ;}
7019     break;
7020
7021   case 517:
7022 #line 3190 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
7023     {
7024           (yyval.scm) = scm_cons ((yyvsp[(1) - (3)].scm), scm_reverse_x ((yyvsp[(3) - (3)].scm), SCM_EOL));
7025         ;}
7026     break;
7027
7028   case 518:
7029 #line 3196 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
7030     {
7031                 (yyval.scm) = scm_list_1 ((yyvsp[(1) - (1)].scm));
7032         ;}
7033     break;
7034
7035   case 519:
7036 #line 3199 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
7037     {
7038                 (yyval.scm) = scm_cons ((yyvsp[(2) - (2)].scm), (yyvsp[(1) - (2)].scm));
7039         ;}
7040     break;
7041
7042   case 520:
7043 #line 3205 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
7044     {
7045                 (yyval.scm) = make_simple_markup ((yyvsp[(1) - (1)].scm));
7046         ;}
7047     break;
7048
7049   case 521:
7050 #line 3208 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
7051     {
7052                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
7053         ;}
7054     break;
7055
7056   case 522:
7057 #line 3211 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
7058     {
7059                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
7060         ;}
7061     break;
7062
7063   case 523:
7064 #line 3214 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
7065     {
7066                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
7067         ;}
7068     break;
7069
7070   case 524:
7071 #line 3217 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
7072     {
7073                 SCM nn = parser->lexer_->lookup_identifier ("pitchnames");
7074                 parser->lexer_->push_note_state (nn);
7075         ;}
7076     break;
7077
7078   case 525:
7079 #line 3220 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
7080     {
7081                 Score * sc = (yyvsp[(4) - (5)].score);
7082                 (yyval.scm) = scm_list_2 (ly_lily_module_constant ("score-markup"), sc->self_scm ());
7083                 sc->unprotect ();
7084                 parser->lexer_->pop_state ();
7085         ;}
7086     break;
7087
7088   case 526:
7089 #line 3226 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
7090     {
7091                 (yyval.scm) = scm_cons ((yyvsp[(1) - (2)].scm), scm_reverse_x ((yyvsp[(2) - (2)].scm), SCM_EOL));
7092         ;}
7093     break;
7094
7095   case 527:
7096 #line 3230 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
7097     {
7098                 (yyval.scm) = (yyvsp[(2) - (2)].scm);
7099         ;}
7100     break;
7101
7102   case 528:
7103 #line 3236 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
7104     {
7105                 SCM mapper = ly_lily_module_constant ("map-markup-command-list");
7106                 (yyval.scm) = scm_car (scm_call_2 (mapper, (yyvsp[(1) - (2)].scm), scm_list_1 ((yyvsp[(2) - (2)].scm))));
7107         ;}
7108     break;
7109
7110   case 529:
7111 #line 3240 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
7112     {
7113                 (yyval.scm) = (yyvsp[(1) - (1)].scm);
7114         ;}
7115     break;
7116
7117
7118 /* Line 1267 of yacc.c.  */
7119 #line 7120 "out/parser.cc"
7120       default: break;
7121     }
7122   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
7123
7124   YYPOPSTACK (yylen);
7125   yylen = 0;
7126   YY_STACK_PRINT (yyss, yyssp);
7127
7128   *++yyvsp = yyval;
7129   *++yylsp = yyloc;
7130
7131   /* Now `shift' the result of the reduction.  Determine what state
7132      that goes to, based on the state we popped back to and the rule
7133      number reduced by.  */
7134
7135   yyn = yyr1[yyn];
7136
7137   yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
7138   if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
7139     yystate = yytable[yystate];
7140   else
7141     yystate = yydefgoto[yyn - YYNTOKENS];
7142
7143   goto yynewstate;
7144
7145
7146 /*------------------------------------.
7147 | yyerrlab -- here on detecting error |
7148 `------------------------------------*/
7149 yyerrlab:
7150   /* If not already recovering from an error, report this error.  */
7151   if (!yyerrstatus)
7152     {
7153       ++yynerrs;
7154 #if ! YYERROR_VERBOSE
7155       yyerror (&yylloc, parser, YY_("syntax error"));
7156 #else
7157       {
7158         YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
7159         if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
7160           {
7161             YYSIZE_T yyalloc = 2 * yysize;
7162             if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
7163               yyalloc = YYSTACK_ALLOC_MAXIMUM;
7164             if (yymsg != yymsgbuf)
7165               YYSTACK_FREE (yymsg);
7166             yymsg = (char *) YYSTACK_ALLOC (yyalloc);
7167             if (yymsg)
7168               yymsg_alloc = yyalloc;
7169             else
7170               {
7171                 yymsg = yymsgbuf;
7172                 yymsg_alloc = sizeof yymsgbuf;
7173               }
7174           }
7175
7176         if (0 < yysize && yysize <= yymsg_alloc)
7177           {
7178             (void) yysyntax_error (yymsg, yystate, yychar);
7179             yyerror (&yylloc, parser, yymsg);
7180           }
7181         else
7182           {
7183             yyerror (&yylloc, parser, YY_("syntax error"));
7184             if (yysize != 0)
7185               goto yyexhaustedlab;
7186           }
7187       }
7188 #endif
7189     }
7190
7191   yyerror_range[0] = yylloc;
7192
7193   if (yyerrstatus == 3)
7194     {
7195       /* If just tried and failed to reuse look-ahead token after an
7196          error, discard it.  */
7197
7198       if (yychar <= YYEOF)
7199         {
7200           /* Return failure if at end of input.  */
7201           if (yychar == YYEOF)
7202             YYABORT;
7203         }
7204       else
7205         {
7206           yydestruct ("Error: discarding",
7207                       yytoken, &yylval, &yylloc, parser);
7208           yychar = YYEMPTY;
7209         }
7210     }
7211
7212   /* Else will try to reuse look-ahead token after shifting the error
7213      token.  */
7214   goto yyerrlab1;
7215
7216
7217 /*---------------------------------------------------.
7218 | yyerrorlab -- error raised explicitly by YYERROR.  |
7219 `---------------------------------------------------*/
7220 yyerrorlab:
7221
7222   /* Pacify compilers like GCC when the user code never invokes
7223      YYERROR and the label yyerrorlab therefore never appears in user
7224      code.  */
7225   if (/*CONSTCOND*/ 0)
7226      goto yyerrorlab;
7227
7228   yyerror_range[0] = yylsp[1-yylen];
7229   /* Do not reclaim the symbols of the rule which action triggered
7230      this YYERROR.  */
7231   YYPOPSTACK (yylen);
7232   yylen = 0;
7233   YY_STACK_PRINT (yyss, yyssp);
7234   yystate = *yyssp;
7235   goto yyerrlab1;
7236
7237
7238 /*-------------------------------------------------------------.
7239 | yyerrlab1 -- common code for both syntax error and YYERROR.  |
7240 `-------------------------------------------------------------*/
7241 yyerrlab1:
7242   yyerrstatus = 3;      /* Each real token shifted decrements this.  */
7243
7244   for (;;)
7245     {
7246       yyn = yypact[yystate];
7247       if (yyn != YYPACT_NINF)
7248         {
7249           yyn += YYTERROR;
7250           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
7251             {
7252               yyn = yytable[yyn];
7253               if (0 < yyn)
7254                 break;
7255             }
7256         }
7257
7258       /* Pop the current state because it cannot handle the error token.  */
7259       if (yyssp == yyss)
7260         YYABORT;
7261
7262       yyerror_range[0] = *yylsp;
7263       yydestruct ("Error: popping",
7264                   yystos[yystate], yyvsp, yylsp, parser);
7265       YYPOPSTACK (1);
7266       yystate = *yyssp;
7267       YY_STACK_PRINT (yyss, yyssp);
7268     }
7269
7270   if (yyn == YYFINAL)
7271     YYACCEPT;
7272
7273   *++yyvsp = yylval;
7274
7275   yyerror_range[1] = yylloc;
7276   /* Using YYLLOC is tempting, but would change the location of
7277      the look-ahead.  YYLOC is available though.  */
7278   YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2);
7279   *++yylsp = yyloc;
7280
7281   /* Shift the error token.  */
7282   YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
7283
7284   yystate = yyn;
7285   goto yynewstate;
7286
7287
7288 /*-------------------------------------.
7289 | yyacceptlab -- YYACCEPT comes here.  |
7290 `-------------------------------------*/
7291 yyacceptlab:
7292   yyresult = 0;
7293   goto yyreturn;
7294
7295 /*-----------------------------------.
7296 | yyabortlab -- YYABORT comes here.  |
7297 `-----------------------------------*/
7298 yyabortlab:
7299   yyresult = 1;
7300   goto yyreturn;
7301
7302 #ifndef yyoverflow
7303 /*-------------------------------------------------.
7304 | yyexhaustedlab -- memory exhaustion comes here.  |
7305 `-------------------------------------------------*/
7306 yyexhaustedlab:
7307   yyerror (&yylloc, parser, YY_("memory exhausted"));
7308   yyresult = 2;
7309   /* Fall through.  */
7310 #endif
7311
7312 yyreturn:
7313   if (yychar != YYEOF && yychar != YYEMPTY)
7314      yydestruct ("Cleanup: discarding lookahead",
7315                  yytoken, &yylval, &yylloc, parser);
7316   /* Do not reclaim the symbols of the rule which action triggered
7317      this YYABORT or YYACCEPT.  */
7318   YYPOPSTACK (yylen);
7319   YY_STACK_PRINT (yyss, yyssp);
7320   while (yyssp != yyss)
7321     {
7322       yydestruct ("Cleanup: popping",
7323                   yystos[*yyssp], yyvsp, yylsp, parser);
7324       YYPOPSTACK (1);
7325     }
7326 #ifndef yyoverflow
7327   if (yyss != yyssa)
7328     YYSTACK_FREE (yyss);
7329 #endif
7330 #if YYERROR_VERBOSE
7331   if (yymsg != yymsgbuf)
7332     YYSTACK_FREE (yymsg);
7333 #endif
7334   /* Make sure YYID is used.  */
7335   return YYID (yyresult);
7336 }
7337
7338
7339 #line 3245 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.16/lily/parser.yy"
7340
7341
7342 void
7343 Lily_parser::set_yydebug (bool x)
7344 {
7345         yydebug = x;
7346 }
7347
7348 void
7349 Lily_parser::do_yyparse ()
7350 {
7351         yyparse (this);
7352 }
7353
7354
7355
7356
7357
7358 /*
7359
7360 It is a little strange to have this function in this file, but
7361 otherwise, we have to import music classes into the lexer.
7362
7363 */
7364 int
7365 Lily_lexer::try_special_identifiers (SCM *destination, SCM sid)
7366 {
7367         if (scm_is_string (sid)) {
7368                 *destination = sid;
7369                 return STRING_IDENTIFIER;
7370         } else if (unsmob_book (sid)) {
7371                 Book *book =  unsmob_book (sid)->clone ();
7372                 *destination = book->self_scm ();
7373                 book->unprotect ();
7374
7375                 return BOOK_IDENTIFIER;
7376         } else if (scm_is_number (sid)) {
7377                 *destination = sid;
7378                 return NUMBER_IDENTIFIER;
7379         } else if (unsmob_context_def (sid)) {
7380                 Context_def *def= unsmob_context_def (sid)->clone ();
7381
7382                 *destination = def->self_scm ();
7383                 def->unprotect ();
7384
7385                 return CONTEXT_DEF_IDENTIFIER;
7386         } else if (unsmob_context_mod (sid)) {
7387                 *destination = unsmob_context_mod (sid)->smobbed_copy ();
7388
7389                 return CONTEXT_MOD_IDENTIFIER;
7390         } else if (unsmob_score (sid)) {
7391                 Score *score = new Score (*unsmob_score (sid));
7392                 *destination = score->self_scm ();
7393
7394                 score->unprotect ();
7395                 return SCORE_IDENTIFIER;
7396         } else if (Music *mus = unsmob_music (sid)) {
7397                 mus = mus->clone ();
7398                 *destination = mus->self_scm ();
7399                 unsmob_music (*destination)->
7400                         set_property ("origin", make_input (last_input_));
7401
7402                 bool is_event = mus->is_mus_type ("post-event");
7403                 mus->unprotect ();
7404                 return is_event ? EVENT_IDENTIFIER : MUSIC_IDENTIFIER;
7405         } else if (unsmob_pitch (sid)) {
7406                 *destination = unsmob_pitch (sid)->smobbed_copy ();
7407                 return PITCH_IDENTIFIER;
7408         } else if (unsmob_duration (sid)) {
7409                 *destination = unsmob_duration (sid)->smobbed_copy ();
7410                 return DURATION_IDENTIFIER;
7411         } else if (unsmob_output_def (sid)) {
7412                 Output_def *p = unsmob_output_def (sid);
7413                 p = p->clone ();
7414
7415                 *destination = p->self_scm ();
7416                 p->unprotect ();
7417                 return OUTPUT_DEF_IDENTIFIER;
7418         } else if (Text_interface::is_markup (sid)) {
7419                 *destination = sid;
7420                 if (is_lyric_state ())
7421                         return LYRIC_MARKUP_IDENTIFIER;
7422                 return MARKUP_IDENTIFIER;
7423         } else if (Text_interface::is_markup_list (sid)) {
7424                 *destination = sid;
7425                 return MARKUPLIST_IDENTIFIER;
7426         }
7427
7428         return -1;
7429 }
7430
7431 SCM
7432 get_next_unique_context_id ()
7433 {
7434         return scm_from_locale_string ("$uniqueContextId");
7435 }
7436
7437
7438 SCM
7439 get_next_unique_lyrics_context_id ()
7440 {
7441         static int new_context_count;
7442         char s[128];
7443         snprintf (s, sizeof (s)-1, "uniqueContext%d", new_context_count++);
7444         return scm_from_locale_string (s);
7445 }
7446
7447 SCM check_scheme_arg (Lily_parser *parser, Input loc,
7448                       SCM arg, SCM args, SCM pred)
7449 {
7450         args = scm_cons (arg, args);
7451         if (scm_is_true (scm_call_1 (pred, arg)))
7452                 return args;
7453         scm_set_cdr_x (scm_last_pair (args), SCM_EOL);
7454         MAKE_SYNTAX ("argument-error", loc, scm_length (args), pred, arg);
7455         scm_set_cdr_x (scm_last_pair (args), SCM_BOOL_F);
7456         return args;
7457 }
7458
7459 SCM loc_on_music (Input loc, SCM arg)
7460 {
7461         if (Music *m = unsmob_music (arg))
7462         {
7463                 m = m->clone ();
7464                 m->set_spot (loc);
7465                 return m->unprotect ();
7466         }
7467         return arg;
7468 }
7469
7470 bool
7471 is_regular_identifier (SCM id)
7472 {
7473   string str = ly_scm2string (id);
7474   char const *s = str.c_str ();
7475
7476   bool v = true;
7477 #if 0
7478   isalpha (*s);
7479   s++;
7480 #endif
7481   while (*s && v)
7482    {
7483         v = v && isalnum (*s);
7484         s++;
7485    }
7486   return v;
7487 }
7488
7489 Music *
7490 make_music_with_input (SCM name, Input where)
7491 {
7492        Music *m = make_music_by_name (name);
7493        m->set_spot (where);
7494        return m;
7495 }
7496
7497 SCM
7498 make_simple_markup (SCM a)
7499 {
7500         return a;
7501 }
7502
7503 bool
7504 is_duration (int t)
7505 {
7506   return t && t == 1 << intlog2 (t);
7507 }
7508
7509 void
7510 set_music_properties (Music *p, SCM a)
7511 {
7512   for (SCM k = a; scm_is_pair (k); k = scm_cdr (k))
7513         p->set_property (scm_caar (k), scm_cdar (k));
7514 }
7515
7516
7517 SCM
7518 make_chord_step (int step, Rational alter)
7519 {
7520         if (step == 7)
7521                 alter += FLAT_ALTERATION;
7522
7523         while (step < 0)
7524                 step += 7;
7525         Pitch m ((step -1) / 7, (step - 1) % 7, alter);
7526         return m.smobbed_copy ();
7527 }
7528
7529
7530 SCM
7531 make_chord_elements (Input loc, SCM pitch, SCM dur, SCM modification_list)
7532 {
7533         SCM chord_ctor = ly_lily_module_constant ("construct-chord-elements");
7534         SCM res = scm_call_3 (chord_ctor, pitch, dur, modification_list);
7535         for (SCM s = res; scm_is_pair (s); s = scm_cdr (s))
7536         {
7537                 unsmob_music (scm_car (s))->set_spot (loc);
7538         }
7539         return res;
7540 }
7541
7542 int
7543 yylex (YYSTYPE *s, YYLTYPE *loc, Lily_parser *parser)
7544 {
7545         Lily_lexer *lex = parser->lexer_;
7546
7547         lex->lexval_ = s;
7548         lex->lexloc_ = loc;
7549         lex->prepare_for_next_token ();
7550         return lex->yylex ();
7551 }
7552