]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/out/parser.cc
Imported Upstream version 2.14.2
[lilypond.git] / lily / out / parser.cc
index e17a8f0700569ef37d1d3fe46fc9b5b44567247c..9c1de4bdbdb082f279e8d7862f110e2790210283 100644 (file)
      MIDI = 290,
      NAME = 291,
      NOTEMODE = 292,
-     OBJECTID = 293,
-     OCTAVE = 294,
-     ONCE = 295,
-     OVERRIDE = 296,
-     PAPER = 297,
-     PARTIAL = 298,
-     RELATIVE = 299,
-     REMOVE = 300,
-     REPEAT = 301,
-     REST = 302,
-     REVERT = 303,
-     SCORE = 304,
-     SEQUENTIAL = 305,
-     SET = 306,
-     SIMULTANEOUS = 307,
-     SKIP = 308,
-     TEMPO = 309,
-     TIMES = 310,
-     TRANSPOSE = 311,
-     TYPE = 312,
-     UNSET = 313,
-     WITH = 314,
-     TIME_T = 315,
-     NEWCONTEXT = 316,
-     CHORD_BASS = 317,
-     CHORD_CARET = 318,
-     CHORD_COLON = 319,
-     CHORD_MINUS = 320,
-     CHORD_SLASH = 321,
-     ANGLE_OPEN = 322,
-     ANGLE_CLOSE = 323,
-     DOUBLE_ANGLE_OPEN = 324,
-     DOUBLE_ANGLE_CLOSE = 325,
-     E_BACKSLASH = 326,
-     E_ANGLE_CLOSE = 327,
-     E_CHAR = 328,
-     E_CLOSE = 329,
-     E_EXCLAMATION = 330,
-     E_BRACKET_OPEN = 331,
-     E_OPEN = 332,
-     E_BRACKET_CLOSE = 333,
-     E_ANGLE_OPEN = 334,
-     E_PLUS = 335,
-     E_TILDE = 336,
-     EXTENDER = 337,
-     FIGURE_CLOSE = 338,
-     FIGURE_OPEN = 339,
-     FIGURE_SPACE = 340,
-     HYPHEN = 341,
-     CHORDMODIFIERS = 342,
-     LYRIC_MARKUP = 343,
-     MULTI_MEASURE_REST = 344,
-     DIGIT = 345,
-     E_UNSIGNED = 346,
-     UNSIGNED = 347,
-     EXPECT_MARKUP = 348,
-     EXPECT_MUSIC = 349,
-     EXPECT_SCM = 350,
+     OCTAVE = 293,
+     ONCE = 294,
+     OVERRIDE = 295,
+     PAPER = 296,
+     PARTIAL = 297,
+     RELATIVE = 298,
+     REMOVE = 299,
+     REPEAT = 300,
+     REST = 301,
+     REVERT = 302,
+     SCORE = 303,
+     SEQUENTIAL = 304,
+     SET = 305,
+     SIMULTANEOUS = 306,
+     SKIP = 307,
+     TEMPO = 308,
+     TIMES = 309,
+     TRANSPOSE = 310,
+     TYPE = 311,
+     UNSET = 312,
+     WITH = 313,
+     TIME_T = 314,
+     NEWCONTEXT = 315,
+     CHORD_BASS = 316,
+     CHORD_CARET = 317,
+     CHORD_COLON = 318,
+     CHORD_MINUS = 319,
+     CHORD_SLASH = 320,
+     ANGLE_OPEN = 321,
+     ANGLE_CLOSE = 322,
+     DOUBLE_ANGLE_OPEN = 323,
+     DOUBLE_ANGLE_CLOSE = 324,
+     E_BACKSLASH = 325,
+     E_ANGLE_CLOSE = 326,
+     E_CHAR = 327,
+     E_CLOSE = 328,
+     E_EXCLAMATION = 329,
+     E_BRACKET_OPEN = 330,
+     E_OPEN = 331,
+     E_BRACKET_CLOSE = 332,
+     E_ANGLE_OPEN = 333,
+     E_PLUS = 334,
+     E_TILDE = 335,
+     EXTENDER = 336,
+     FIGURE_CLOSE = 337,
+     FIGURE_OPEN = 338,
+     FIGURE_SPACE = 339,
+     HYPHEN = 340,
+     CHORDMODIFIERS = 341,
+     LYRIC_MARKUP = 342,
+     MULTI_MEASURE_REST = 343,
+     DIGIT = 344,
+     E_UNSIGNED = 345,
+     UNSIGNED = 346,
+     EXPECT_MARKUP = 347,
+     EXPECT_MUSIC = 348,
+     EXPECT_SCM = 349,
+     EXPECT_MARKUP_LIST = 350,
      EXPECT_NO_MORE_ARGS = 351,
      BOOK_IDENTIFIER = 352,
      CHORDMODIFIER_PITCH = 353,
      CHORD_MODIFIER = 354,
-     CONTEXT_DEF_IDENTIFIER = 355,
-     DRUM_PITCH = 356,
-     DURATION_IDENTIFIER = 357,
-     EVENT_IDENTIFIER = 358,
-     FRACTION = 359,
-     LYRICS_STRING = 360,
-     LYRIC_MARKUP_IDENTIFIER = 361,
-     MARKUP_HEAD_EMPTY = 362,
-     MARKUP_HEAD_LIST0 = 363,
-     MARKUP_HEAD_MARKUP0 = 364,
-     MARKUP_HEAD_MARKUP0_MARKUP1 = 365,
-     MARKUP_HEAD_SCM0 = 366,
-     MARKUP_HEAD_SCM0_MARKUP1 = 367,
-     MARKUP_HEAD_SCM0_SCM1 = 368,
-     MARKUP_HEAD_SCM0_SCM1_MARKUP2 = 369,
-     MARKUP_HEAD_SCM0_SCM1_MARKUP2_MARKUP3 = 370,
-     MARKUP_HEAD_SCM0_MARKUP1_MARKUP2 = 371,
-     MARKUP_HEAD_SCM0_SCM1_SCM2 = 372,
-     MARKUP_LIST_HEAD_EMPTY = 373,
-     MARKUP_LIST_HEAD_LIST0 = 374,
-     MARKUP_LIST_HEAD_SCM0 = 375,
-     MARKUP_LIST_HEAD_SCM0_LIST1 = 376,
-     MARKUP_LIST_HEAD_SCM0_SCM1_LIST2 = 377,
-     MARKUP_IDENTIFIER = 378,
-     MUSIC_FUNCTION = 379,
-     MUSIC_IDENTIFIER = 380,
-     NOTENAME_PITCH = 381,
-     NUMBER_IDENTIFIER = 382,
-     OUTPUT_DEF_IDENTIFIER = 383,
-     REAL = 384,
-     RESTNAME = 385,
-     SCM_IDENTIFIER = 386,
-     SCM_TOKEN = 387,
-     SCORE_IDENTIFIER = 388,
-     STRING = 389,
-     STRING_IDENTIFIER = 390,
-     TONICNAME_PITCH = 391,
-     UNARY_MINUS = 392
+     CHORD_REPETITION = 355,
+     CONTEXT_DEF_IDENTIFIER = 356,
+     CONTEXT_MOD_IDENTIFIER = 357,
+     DRUM_PITCH = 358,
+     DURATION_IDENTIFIER = 359,
+     EVENT_IDENTIFIER = 360,
+     FRACTION = 361,
+     LYRICS_STRING = 362,
+     LYRIC_MARKUP_IDENTIFIER = 363,
+     MARKUP_FUNCTION = 364,
+     MARKUP_LIST_FUNCTION = 365,
+     MARKUP_IDENTIFIER = 366,
+     MARKUPLINES_IDENTIFIER = 367,
+     MUSIC_FUNCTION = 368,
+     MUSIC_IDENTIFIER = 369,
+     NOTENAME_PITCH = 370,
+     NUMBER_IDENTIFIER = 371,
+     OUTPUT_DEF_IDENTIFIER = 372,
+     REAL = 373,
+     RESTNAME = 374,
+     SCM_IDENTIFIER = 375,
+     SCM_TOKEN = 376,
+     SCORE_IDENTIFIER = 377,
+     STRING = 378,
+     STRING_IDENTIFIER = 379,
+     TONICNAME_PITCH = 380,
+     UNARY_MINUS = 381
    };
 #endif
 /* Tokens.  */
 #define MIDI 290
 #define NAME 291
 #define NOTEMODE 292
-#define OBJECTID 293
-#define OCTAVE 294
-#define ONCE 295
-#define OVERRIDE 296
-#define PAPER 297
-#define PARTIAL 298
-#define RELATIVE 299
-#define REMOVE 300
-#define REPEAT 301
-#define REST 302
-#define REVERT 303
-#define SCORE 304
-#define SEQUENTIAL 305
-#define SET 306
-#define SIMULTANEOUS 307
-#define SKIP 308
-#define TEMPO 309
-#define TIMES 310
-#define TRANSPOSE 311
-#define TYPE 312
-#define UNSET 313
-#define WITH 314
-#define TIME_T 315
-#define NEWCONTEXT 316
-#define CHORD_BASS 317
-#define CHORD_CARET 318
-#define CHORD_COLON 319
-#define CHORD_MINUS 320
-#define CHORD_SLASH 321
-#define ANGLE_OPEN 322
-#define ANGLE_CLOSE 323
-#define DOUBLE_ANGLE_OPEN 324
-#define DOUBLE_ANGLE_CLOSE 325
-#define E_BACKSLASH 326
-#define E_ANGLE_CLOSE 327
-#define E_CHAR 328
-#define E_CLOSE 329
-#define E_EXCLAMATION 330
-#define E_BRACKET_OPEN 331
-#define E_OPEN 332
-#define E_BRACKET_CLOSE 333
-#define E_ANGLE_OPEN 334
-#define E_PLUS 335
-#define E_TILDE 336
-#define EXTENDER 337
-#define FIGURE_CLOSE 338
-#define FIGURE_OPEN 339
-#define FIGURE_SPACE 340
-#define HYPHEN 341
-#define CHORDMODIFIERS 342
-#define LYRIC_MARKUP 343
-#define MULTI_MEASURE_REST 344
-#define DIGIT 345
-#define E_UNSIGNED 346
-#define UNSIGNED 347
-#define EXPECT_MARKUP 348
-#define EXPECT_MUSIC 349
-#define EXPECT_SCM 350
+#define OCTAVE 293
+#define ONCE 294
+#define OVERRIDE 295
+#define PAPER 296
+#define PARTIAL 297
+#define RELATIVE 298
+#define REMOVE 299
+#define REPEAT 300
+#define REST 301
+#define REVERT 302
+#define SCORE 303
+#define SEQUENTIAL 304
+#define SET 305
+#define SIMULTANEOUS 306
+#define SKIP 307
+#define TEMPO 308
+#define TIMES 309
+#define TRANSPOSE 310
+#define TYPE 311
+#define UNSET 312
+#define WITH 313
+#define TIME_T 314
+#define NEWCONTEXT 315
+#define CHORD_BASS 316
+#define CHORD_CARET 317
+#define CHORD_COLON 318
+#define CHORD_MINUS 319
+#define CHORD_SLASH 320
+#define ANGLE_OPEN 321
+#define ANGLE_CLOSE 322
+#define DOUBLE_ANGLE_OPEN 323
+#define DOUBLE_ANGLE_CLOSE 324
+#define E_BACKSLASH 325
+#define E_ANGLE_CLOSE 326
+#define E_CHAR 327
+#define E_CLOSE 328
+#define E_EXCLAMATION 329
+#define E_BRACKET_OPEN 330
+#define E_OPEN 331
+#define E_BRACKET_CLOSE 332
+#define E_ANGLE_OPEN 333
+#define E_PLUS 334
+#define E_TILDE 335
+#define EXTENDER 336
+#define FIGURE_CLOSE 337
+#define FIGURE_OPEN 338
+#define FIGURE_SPACE 339
+#define HYPHEN 340
+#define CHORDMODIFIERS 341
+#define LYRIC_MARKUP 342
+#define MULTI_MEASURE_REST 343
+#define DIGIT 344
+#define E_UNSIGNED 345
+#define UNSIGNED 346
+#define EXPECT_MARKUP 347
+#define EXPECT_MUSIC 348
+#define EXPECT_SCM 349
+#define EXPECT_MARKUP_LIST 350
 #define EXPECT_NO_MORE_ARGS 351
 #define BOOK_IDENTIFIER 352
 #define CHORDMODIFIER_PITCH 353
 #define CHORD_MODIFIER 354
-#define CONTEXT_DEF_IDENTIFIER 355
-#define DRUM_PITCH 356
-#define DURATION_IDENTIFIER 357
-#define EVENT_IDENTIFIER 358
-#define FRACTION 359
-#define LYRICS_STRING 360
-#define LYRIC_MARKUP_IDENTIFIER 361
-#define MARKUP_HEAD_EMPTY 362
-#define MARKUP_HEAD_LIST0 363
-#define MARKUP_HEAD_MARKUP0 364
-#define MARKUP_HEAD_MARKUP0_MARKUP1 365
-#define MARKUP_HEAD_SCM0 366
-#define MARKUP_HEAD_SCM0_MARKUP1 367
-#define MARKUP_HEAD_SCM0_SCM1 368
-#define MARKUP_HEAD_SCM0_SCM1_MARKUP2 369
-#define MARKUP_HEAD_SCM0_SCM1_MARKUP2_MARKUP3 370
-#define MARKUP_HEAD_SCM0_MARKUP1_MARKUP2 371
-#define MARKUP_HEAD_SCM0_SCM1_SCM2 372
-#define MARKUP_LIST_HEAD_EMPTY 373
-#define MARKUP_LIST_HEAD_LIST0 374
-#define MARKUP_LIST_HEAD_SCM0 375
-#define MARKUP_LIST_HEAD_SCM0_LIST1 376
-#define MARKUP_LIST_HEAD_SCM0_SCM1_LIST2 377
-#define MARKUP_IDENTIFIER 378
-#define MUSIC_FUNCTION 379
-#define MUSIC_IDENTIFIER 380
-#define NOTENAME_PITCH 381
-#define NUMBER_IDENTIFIER 382
-#define OUTPUT_DEF_IDENTIFIER 383
-#define REAL 384
-#define RESTNAME 385
-#define SCM_IDENTIFIER 386
-#define SCM_TOKEN 387
-#define SCORE_IDENTIFIER 388
-#define STRING 389
-#define STRING_IDENTIFIER 390
-#define TONICNAME_PITCH 391
-#define UNARY_MINUS 392
+#define CHORD_REPETITION 355
+#define CONTEXT_DEF_IDENTIFIER 356
+#define CONTEXT_MOD_IDENTIFIER 357
+#define DRUM_PITCH 358
+#define DURATION_IDENTIFIER 359
+#define EVENT_IDENTIFIER 360
+#define FRACTION 361
+#define LYRICS_STRING 362
+#define LYRIC_MARKUP_IDENTIFIER 363
+#define MARKUP_FUNCTION 364
+#define MARKUP_LIST_FUNCTION 365
+#define MARKUP_IDENTIFIER 366
+#define MARKUPLINES_IDENTIFIER 367
+#define MUSIC_FUNCTION 368
+#define MUSIC_IDENTIFIER 369
+#define NOTENAME_PITCH 370
+#define NUMBER_IDENTIFIER 371
+#define OUTPUT_DEF_IDENTIFIER 372
+#define REAL 373
+#define RESTNAME 374
+#define SCM_IDENTIFIER 375
+#define SCM_TOKEN 376
+#define SCORE_IDENTIFIER 377
+#define STRING 378
+#define STRING_IDENTIFIER 379
+#define TONICNAME_PITCH 380
+#define UNARY_MINUS 381
 
 
 
 
 /* Copy the first part of user declarations.  */
-#line 10 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 21 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
 
 
 #define YYDEBUG 1
        ((Current).set_location ((Rhs)[1], (Rhs)[N]))
 
 
-#line 56 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 67 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
  // -*-Fundamental-*-
 
 /*
@@ -382,6 +360,7 @@ using namespace std;
 
 #include "book.hh"
 #include "context-def.hh"
+#include "context-mod.hh"
 #include "dimensions.hh"
 #include "file-path.hh"
 #include "input.hh"
@@ -423,7 +402,7 @@ using namespace std;
 
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 typedef union YYSTYPE
-#line 98 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 110 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
 {
        Book *book;
        Output_def *outputdef;
@@ -434,7 +413,7 @@ typedef union YYSTYPE
        int i;
 }
 /* Line 187 of yacc.c.  */
-#line 438 "out/parser.cc"
+#line 417 "out/parser.cc"
        YYSTYPE;
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
@@ -456,7 +435,7 @@ typedef struct YYLTYPE
 
 
 /* Copy the second part of user declarations.  */
-#line 108 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 120 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
 
 
 #define MY_MAKE_MUSIC(x, spot)  make_music_with_input (ly_symbol2scm (x), spot)
@@ -499,7 +478,7 @@ void set_music_properties (Music *p, SCM a);
 
 
 /* Line 216 of yacc.c.  */
-#line 503 "out/parser.cc"
+#line 482 "out/parser.cc"
 
 #ifdef short
 # undef short
@@ -716,20 +695,20 @@ union yyalloc
 /* YYFINAL -- State number of the termination state.  */
 #define YYFINAL  2
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   2076
+#define YYLAST   1916
 
 /* YYNTOKENS -- Number of terminals.  */
-#define YYNTOKENS  159
+#define YYNTOKENS  148
 /* YYNNTS -- Number of nonterminals.  */
-#define YYNNTS  140
+#define YYNNTS  145
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  408
+#define YYNRULES  415
 /* YYNRULES -- Number of states.  */
-#define YYNSTATES  589
+#define YYNSTATES  585
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
-#define YYMAXUTOK   392
+#define YYMAXUTOK   381
 
 #define YYTRANSLATE(YYX)                                               \
   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -740,16 +719,16 @@ static const yytype_uint8 yytranslate[] =
        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,   157,     2,     2,     2,     2,     2,   150,
-     148,   149,   154,   138,   151,   137,   143,   155,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,   156,     2,
-       2,   142,     2,   158,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,   146,     2,     2,     2,     2,     2,   139,
+     137,   138,   143,   127,   140,   126,   132,   144,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,   145,     2,
+       2,   131,     2,   147,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,   145,     2,   146,   152,   153,     2,     2,     2,     2,
+       2,   134,     2,   135,   141,   142,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,   140,   144,   141,   147,     2,     2,     2,
+       2,     2,     2,   129,   133,   130,   136,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@ -775,8 +754,7 @@ static const yytype_uint8 yytranslate[] =
       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
-     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
-     135,   136,   139
+     125,   128
 };
 
 #if YYDEBUG
@@ -784,207 +762,210 @@ static const yytype_uint8 yytranslate[] =
    YYRHS.  */
 static const yytype_uint16 yyprhs[] =
 {
-       0,     0,     3,     4,     7,    10,    13,    16,    19,    21,
-      23,    25,    27,    29,    31,    33,    35,    37,    39,    40,
-      43,    48,    50,    52,    56,    58,    60,    62,    64,    66,
-      68,    70,    72,    74,    76,    78,    80,    82,    87,    88,
-      90,    94,    97,   102,   103,   105,   108,   111,   114,   117,
-     120,   123,   126,   129,   132,   137,   138,   140,   143,   146,
-     149,   152,   155,   158,   161,   164,   169,   171,   173,   176,
+       0,     0,     3,     4,     7,    10,    13,    16,    18,    20,
+      22,    24,    26,    28,    30,    32,    34,    36,    37,    40,
+      45,    47,    49,    53,    58,    60,    62,    64,    66,    68,
+      70,    72,    74,    76,    78,    80,    82,    84,    86,    88,
+      93,    94,    96,   100,   103,   106,   111,   112,   114,   117,
+     120,   123,   126,   129,   132,   135,   138,   143,   144,   146,
+     149,   152,   155,   158,   161,   164,   167,   172,   174,   176,
      179,   182,   185,   187,   190,   192,   194,   196,   198,   201,
-     205,   208,   211,   214,   219,   225,   231,   234,   237,   238,
-     241,   244,   247,   249,   251,   252,   257,   263,   268,   272,
-     277,   281,   283,   285,   287,   289,   290,   291,   297,   298,
-     301,   303,   305,   307,   309,   311,   313,   317,   321,   325,
-     327,   331,   335,   337,   339,   341,   344,   345,   348,   350,
-     356,   362,   366,   368,   373,   376,   380,   382,   384,   386,
-     388,   390,   392,   394,   396,   398,   400,   402,   406,   409,
-     410,   414,   415,   420,   423,   424,   429,   434,   436,   439,
-     441,   445,   448,   454,   458,   460,   462,   464,   466,   468,
-     470,   472,   474,   476,   478,   481,   483,   487,   493,   497,
-     502,   505,   507,   510,   512,   514,   518,   520,   522,   524,
-     526,   528,   530,   532,   534,   536,   539,   543,   545,   547,
-     551,   555,   556,   559,   565,   568,   570,   572,   577,   580,
-     585,   588,   590,   593,   595,   597,   599,   601,   604,   607,
-     610,   612,   615,   617,   620,   624,   625,   628,   630,   633,
-     635,   637,   640,   643,   645,   647,   649,   651,   653,   655,
-     657,   659,   661,   663,   665,   667,   669,   671,   673,   675,
-     677,   678,   680,   683,   686,   688,   691,   693,   696,   698,
-     701,   704,   706,   709,   712,   714,   716,   718,   720,   722,
-     724,   726,   728,   730,   732,   734,   736,   738,   740,   742,
-     744,   746,   748,   749,   751,   754,   757,   759,   763,   767,
-     769,   773,   774,   777,   779,   782,   784,   786,   788,   790,
-     792,   794,   796,   798,   800,   803,   806,   809,   811,   813,
-     815,   817,   819,   822,   823,   826,   830,   831,   833,   840,
-     843,   846,   849,   851,   853,   856,   858,   860,   863,   868,
-     869,   872,   874,   876,   879,   882,   884,   886,   888,   890,
-     894,   896,   899,   902,   906,   910,   912,   914,   918,   922,
-     925,   927,   929,   931,   933,   936,   939,   941,   943,   945,
-     947,   948,   951,   952,   955,   957,   958,   962,   963,   967,
-     969,   970,   974,   976,   979,   981,   983,   985,   987,   990,
-     994,   995,   998,  1001,  1003,  1006,  1009,  1013,  1018,  1020,
-    1023,  1027,  1029,  1032,  1034,  1036,  1038,  1040,  1041,  1047,
-    1050,  1055,  1059,  1064,  1070,  1072,  1075,  1079,  1082
+     205,   208,   211,   214,   219,   225,   228,   229,   232,   235,
+     238,   240,   242,   243,   248,   254,   259,   263,   268,   272,
+     274,   276,   278,   280,   281,   287,   290,   292,   293,   295,
+     296,   299,   302,   304,   306,   308,   310,   312,   314,   318,
+     322,   326,   330,   332,   336,   340,   344,   346,   348,   350,
+     353,   354,   357,   359,   365,   371,   375,   377,   382,   385,
+     389,   391,   393,   395,   397,   399,   401,   403,   405,   407,
+     409,   411,   415,   418,   419,   423,   424,   428,   429,   434,
+     435,   440,   443,   446,   447,   452,   457,   459,   462,   464,
+     468,   471,   477,   481,   483,   485,   487,   489,   491,   493,
+     495,   497,   499,   501,   504,   507,   509,   513,   519,   523,
+     528,   531,   533,   536,   538,   540,   544,   546,   548,   550,
+     552,   554,   556,   558,   560,   562,   565,   569,   573,   575,
+     577,   581,   585,   586,   589,   595,   598,   600,   602,   607,
+     610,   615,   618,   620,   623,   625,   627,   629,   631,   634,
+     637,   640,   642,   645,   647,   650,   654,   655,   658,   660,
+     663,   665,   667,   670,   673,   675,   677,   679,   681,   683,
+     685,   687,   689,   691,   693,   695,   697,   699,   701,   703,
+     705,   707,   708,   710,   713,   716,   718,   721,   723,   726,
+     728,   731,   734,   736,   739,   742,   744,   746,   748,   750,
+     752,   754,   756,   758,   760,   762,   764,   766,   768,   770,
+     772,   774,   776,   778,   779,   781,   784,   787,   789,   793,
+     797,   799,   803,   804,   807,   809,   812,   814,   816,   818,
+     820,   822,   824,   826,   828,   830,   833,   836,   839,   841,
+     843,   845,   847,   849,   852,   853,   856,   860,   861,   863,
+     870,   873,   876,   879,   881,   883,   886,   888,   890,   893,
+     898,   899,   902,   904,   906,   909,   912,   914,   916,   918,
+     920,   924,   926,   929,   932,   934,   938,   942,   946,   948,
+     950,   954,   958,   961,   963,   965,   967,   969,   972,   975,
+     977,   979,   981,   983,   984,   987,   988,   991,   993,   994,
+     998,  1000,  1001,  1005,  1007,  1008,  1012,  1014,  1017,  1019,
+    1021,  1023,  1025,  1027,  1030,  1034,  1035,  1038,  1041,  1044,
+    1048,  1052,  1054,  1056,  1060,  1064,  1066,  1069,  1071,  1073,
+    1075,  1077,  1078,  1084,  1087,  1090
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
 static const yytype_int16 yyrhs[] =
 {
-     160,     0,    -1,    -1,   160,   162,    -1,   160,   167,    -1,
-     160,     1,    -1,   160,    26,    -1,    38,   134,    -1,   165,
-      -1,   171,    -1,   173,    -1,   175,    -1,   193,    -1,   286,
-      -1,   284,    -1,   178,    -1,   132,    -1,   131,    -1,    -1,
-     164,   167,    -1,    25,   140,   164,   141,    -1,   134,    -1,
-     105,    -1,   166,   142,   168,    -1,   163,    -1,   175,    -1,
-     171,    -1,   173,    -1,   178,    -1,   169,    -1,   184,    -1,
-     234,    -1,   274,    -1,   220,    -1,   163,    -1,   286,    -1,
-      90,    -1,    15,   140,   170,   141,    -1,    -1,   100,    -1,
-     170,    24,   163,    -1,   170,   216,    -1,     9,   140,   172,
-     141,    -1,    -1,    97,    -1,   172,   177,    -1,   172,   173,
-      -1,   172,   175,    -1,   172,   193,    -1,   172,   286,    -1,
-     172,   284,    -1,   172,   165,    -1,   172,     1,    -1,   172,
-     161,    -1,    10,   140,   174,   141,    -1,    -1,    97,    -1,
-     174,   177,    -1,   174,   175,    -1,   174,   193,    -1,   174,
-     286,    -1,   174,   284,    -1,   174,   165,    -1,   174,     1,
-      -1,   174,   161,    -1,    49,   140,   176,   141,    -1,   184,
-      -1,   133,    -1,   176,   161,    -1,   176,   165,    -1,   176,
-     178,    -1,   176,     1,    -1,   178,    -1,   181,   141,    -1,
-      42,    -1,    35,    -1,    28,    -1,   179,    -1,   180,   140,
-      -1,   180,   140,   128,    -1,   181,   167,    -1,   181,   169,
-      -1,   181,     1,    -1,    54,   252,   142,   278,    -1,    54,
-     220,   252,   142,   278,    -1,    54,   286,   252,   142,   278,
-      -1,    54,   220,    -1,    54,   286,    -1,    -1,   183,   184,
-      -1,   183,   163,    -1,   183,     1,    -1,   189,    -1,   193,
-      -1,    -1,     8,   140,   183,   141,    -1,    46,   221,   279,
-     184,   185,    -1,    50,   140,   183,   141,    -1,   140,   183,
-     141,    -1,    52,   140,   183,   141,    -1,    69,   183,    70,
-      -1,   223,    -1,   125,    -1,   219,    -1,   211,    -1,    -1,
-      -1,    59,   191,   140,   192,   141,    -1,    -1,   192,   216,
-      -1,   202,    -1,   194,    -1,   188,    -1,   187,    -1,   163,
-      -1,   221,    -1,    94,   199,   184,    -1,    93,   199,   286,
-      -1,    95,   199,   195,    -1,    96,    -1,    93,   198,   286,
-      -1,    95,   198,   195,    -1,    96,    -1,   196,    -1,   197,
-      -1,   124,   199,    -1,    -1,   142,   221,    -1,   200,    -1,
-      15,   221,   201,   190,   184,    -1,    61,   221,   201,   190,
-     184,    -1,    55,   254,   184,    -1,   186,    -1,    56,   245,
-     245,   184,    -1,   203,   194,    -1,   204,   190,   194,    -1,
-     205,    -1,   209,    -1,    37,    -1,    20,    -1,    22,    -1,
-      12,    -1,    29,    -1,    21,    -1,    23,    -1,    13,    -1,
-      30,    -1,    44,   249,   184,    -1,    44,   193,    -1,    -1,
-       4,   207,   194,    -1,    -1,   206,     4,   208,   194,    -1,
-     194,   206,    -1,    -1,    31,   221,   210,   184,    -1,    11,
-     134,   142,   134,    -1,   163,    -1,   212,   163,    -1,   212,
-      -1,   134,   142,   222,    -1,    58,   221,    -1,    41,   221,
-     213,   142,   163,    -1,    48,   221,   163,    -1,    14,    -1,
-      45,    -1,     6,    -1,    17,    -1,    18,    -1,     7,    -1,
-      57,    -1,    19,    -1,    36,    -1,   214,    -1,   215,   134,
-      -1,   221,    -1,   221,   143,   221,    -1,    41,   217,   213,
-     142,   222,    -1,    48,   217,   163,    -1,    51,   217,   142,
-     222,    -1,    58,   217,    -1,   218,    -1,    40,   218,    -1,
-     134,    -1,   135,    -1,   220,   138,   220,    -1,   134,    -1,
-     105,    -1,   135,    -1,   220,    -1,   105,    -1,   277,    -1,
-     163,    -1,   286,    -1,    90,    -1,   266,   233,    -1,    89,
-     251,   233,    -1,   231,    -1,   224,    -1,   225,   251,   233,
-      -1,    67,   226,    68,    -1,    -1,   226,   227,    -1,   244,
-     280,   281,   239,   233,    -1,   101,   233,    -1,   229,    -1,
-     124,    -1,   228,    94,   198,   227,    -1,   228,   198,    -1,
-     228,    94,   198,   234,    -1,   228,   198,    -1,   232,    -1,
-      53,   250,    -1,    76,    -1,    78,    -1,    71,    -1,   144,
-      -1,    43,   250,    -1,    60,   254,    -1,    32,   222,    -1,
-      81,    -1,    32,    16,    -1,   182,    -1,    27,    16,    -1,
-      27,   126,   131,    -1,    -1,   233,   234,    -1,   237,    -1,
-     137,   230,    -1,    86,    -1,    82,    -1,   248,   238,    -1,
-     248,   237,    -1,   235,    -1,    91,    -1,   145,    -1,   146,
-      -1,   147,    -1,   148,    -1,   149,    -1,    75,    -1,    77,
-      -1,    74,    -1,    72,    -1,    79,    -1,   236,    -1,   103,
-      -1,   256,    -1,   246,    -1,   247,    -1,    -1,   142,    -1,
-     142,   241,    -1,   142,   240,    -1,   150,    -1,   240,   150,
-      -1,   151,    -1,   241,   151,    -1,   126,    -1,   126,   240,
-      -1,   126,   241,    -1,   136,    -1,   136,   240,    -1,   136,
-     241,    -1,   242,    -1,   244,    -1,   243,    -1,   286,    -1,
-     220,    -1,    90,    -1,   152,    -1,   138,    -1,   137,    -1,
-     144,    -1,    68,    -1,   143,    -1,   153,    -1,   153,    -1,
-     152,    -1,   137,    -1,   242,    -1,   253,    -1,    -1,   253,
-      -1,   278,   255,    -1,   102,   255,    -1,   252,    -1,   253,
-     154,   278,    -1,   253,   154,   104,    -1,   104,    -1,    92,
-     155,    92,    -1,    -1,   255,   143,    -1,   156,    -1,   156,
-     278,    -1,    90,    -1,    92,    -1,   134,    -1,   286,    -1,
-     137,    -1,   138,    -1,   157,    -1,    85,    -1,   257,    -1,
-     259,   146,    -1,   259,   258,    -1,   259,   260,    -1,    80,
-      -1,    75,    -1,   155,    -1,    71,    -1,   259,    -1,   145,
-     259,    -1,    -1,   262,   261,    -1,    84,   262,    83,    -1,
-      -1,    47,    -1,   244,   280,   281,   239,   251,   264,    -1,
-     101,   251,    -1,   130,   251,    -1,   267,   251,    -1,   265,
-      -1,   268,    -1,   263,   251,    -1,   282,    -1,   105,    -1,
-     243,   251,    -1,   243,   251,   270,   269,    -1,    -1,   269,
-     271,    -1,    64,    -1,    63,    -1,    66,   243,    -1,    62,
-     243,    -1,   270,    -1,   272,    -1,    99,    -1,   273,    -1,
-     272,   143,   273,    -1,   278,    -1,   278,   138,    -1,   278,
-      65,    -1,   274,   138,   275,    -1,   274,   137,   275,    -1,
-     275,    -1,   276,    -1,   276,   154,   276,    -1,   276,   155,
-     276,    -1,   137,   276,    -1,   277,    -1,    92,    -1,   129,
-      -1,   127,    -1,   129,   127,    -1,    92,   127,    -1,    92,
-      -1,    90,    -1,   278,    -1,   127,    -1,    -1,   280,   157,
-      -1,    -1,   281,   158,    -1,   106,    -1,    -1,    88,   283,
-     288,    -1,    -1,    34,   285,   289,    -1,   123,    -1,    -1,
-      33,   287,   288,    -1,   289,    -1,   295,   296,    -1,   296,
-      -1,   290,    -1,   291,    -1,   293,    -1,   295,   291,    -1,
-     140,   292,   141,    -1,    -1,   292,   298,    -1,   292,   289,
-      -1,   118,    -1,   119,   289,    -1,   120,   163,    -1,   121,
-     163,   289,    -1,   122,   163,   163,   289,    -1,   109,    -1,
-     112,   163,    -1,   114,   163,   163,    -1,   294,    -1,   295,
-     294,    -1,   134,    -1,   123,    -1,   106,    -1,   135,    -1,
-      -1,    49,   297,   140,   176,   141,    -1,   111,   163,    -1,
-     117,   163,   163,   163,    -1,   113,   163,   163,    -1,   116,
-     163,   298,   298,    -1,   115,   163,   163,   298,   298,    -1,
-     107,    -1,   108,   289,    -1,   110,   298,   298,    -1,   295,
-     296,    -1,   296,    -1
+     149,     0,    -1,    -1,   149,   150,    -1,   149,   155,    -1,
+     149,     1,    -1,   149,    26,    -1,   153,    -1,   159,    -1,
+     161,    -1,   163,    -1,   182,    -1,   278,    -1,   276,    -1,
+     166,    -1,   121,    -1,   120,    -1,    -1,   152,   155,    -1,
+      25,   129,   152,   130,    -1,   123,    -1,   107,    -1,   154,
+     131,   156,    -1,   154,   204,   131,   156,    -1,   151,    -1,
+     163,    -1,   159,    -1,   161,    -1,   166,    -1,   157,    -1,
+     172,    -1,   225,    -1,   266,    -1,   211,    -1,   151,    -1,
+     278,    -1,   276,    -1,    89,    -1,   178,    -1,    15,   129,
+     158,   130,    -1,    -1,   101,    -1,   158,    24,   151,    -1,
+     158,   207,    -1,   158,   178,    -1,     9,   129,   160,   130,
+      -1,    -1,    97,    -1,   160,   165,    -1,   160,   161,    -1,
+     160,   163,    -1,   160,   182,    -1,   160,   278,    -1,   160,
+     276,    -1,   160,   153,    -1,   160,     1,    -1,    10,   129,
+     162,   130,    -1,    -1,    97,    -1,   162,   165,    -1,   162,
+     163,    -1,   162,   182,    -1,   162,   278,    -1,   162,   276,
+      -1,   162,   153,    -1,   162,     1,    -1,    48,   129,   164,
+     130,    -1,   172,    -1,   122,    -1,   164,   153,    -1,   164,
+     166,    -1,   164,     1,    -1,   166,    -1,   169,   130,    -1,
+      41,    -1,    35,    -1,    28,    -1,   167,    -1,   168,   129,
+      -1,   168,   129,   117,    -1,   169,   155,    -1,   169,   157,
+      -1,   169,     1,    -1,    53,   243,   131,   265,    -1,    53,
+     213,   243,   131,   265,    -1,    53,   213,    -1,    -1,   171,
+     172,    -1,   171,   151,    -1,   171,     1,    -1,   177,    -1,
+     182,    -1,    -1,     8,   129,   171,   130,    -1,    45,   212,
+     271,   172,   173,    -1,    49,   129,   171,   130,    -1,   129,
+     171,   130,    -1,    51,   129,   171,   130,    -1,    68,   171,
+      69,    -1,   214,    -1,   114,    -1,   210,    -1,   202,    -1,
+      -1,    58,   179,   129,   181,   130,    -1,    58,   102,    -1,
+     102,    -1,    -1,   178,    -1,    -1,   181,   207,    -1,   181,
+     102,    -1,   191,    -1,   183,    -1,   176,    -1,   175,    -1,
+     151,    -1,   212,    -1,    93,   188,   172,    -1,    92,   188,
+     278,    -1,    92,   188,   212,    -1,    94,   188,   184,    -1,
+      96,    -1,    92,   187,   278,    -1,    92,   187,   212,    -1,
+      94,   187,   184,    -1,    96,    -1,   185,    -1,   186,    -1,
+     113,   188,    -1,    -1,   131,   212,    -1,   189,    -1,    15,
+     212,   190,   180,   172,    -1,    60,   212,   190,   180,   172,
+      -1,    54,   245,   172,    -1,   174,    -1,    55,   236,   236,
+     172,    -1,   192,   183,    -1,   193,   180,   183,    -1,   194,
+      -1,   200,    -1,    37,    -1,    20,    -1,    22,    -1,    12,
+      -1,    29,    -1,    21,    -1,    23,    -1,    13,    -1,    30,
+      -1,    43,   240,   172,    -1,    43,   182,    -1,    -1,     4,
+     196,   183,    -1,    -1,     4,   197,   114,    -1,    -1,   195,
+       4,   198,   183,    -1,    -1,   195,     4,   199,   114,    -1,
+     183,   195,    -1,   114,   195,    -1,    -1,    31,   212,   201,
+     172,    -1,    11,   123,   131,   123,    -1,   151,    -1,   203,
+     151,    -1,   203,    -1,   123,   131,   213,    -1,    57,   212,
+      -1,    40,   212,   204,   131,   213,    -1,    47,   212,   151,
+      -1,    14,    -1,    44,    -1,     6,    -1,    17,    -1,    18,
+      -1,     7,    -1,    56,    -1,    19,    -1,    36,    -1,   205,
+      -1,   206,   123,    -1,   206,   151,    -1,   212,    -1,   212,
+     132,   212,    -1,    40,   208,   204,   131,   213,    -1,    47,
+     208,   151,    -1,    50,   208,   131,   213,    -1,    57,   208,
+      -1,   209,    -1,    39,   209,    -1,   123,    -1,   124,    -1,
+     211,   127,   211,    -1,   123,    -1,   107,    -1,   124,    -1,
+     211,    -1,   107,    -1,   269,    -1,   151,    -1,   278,    -1,
+      89,    -1,   257,   224,    -1,   100,   242,   224,    -1,    88,
+     242,   224,    -1,   222,    -1,   215,    -1,   216,   242,   224,
+      -1,    66,   217,    67,    -1,    -1,   217,   218,    -1,   235,
+     272,   273,   230,   224,    -1,   103,   224,    -1,   220,    -1,
+     113,    -1,   219,    93,   187,   218,    -1,   219,   187,    -1,
+     219,    93,   187,   225,    -1,   219,   187,    -1,   223,    -1,
+      52,   241,    -1,    75,    -1,    77,    -1,    70,    -1,   133,
+      -1,    42,   241,    -1,    59,   245,    -1,    32,   213,    -1,
+      80,    -1,    32,    16,    -1,   170,    -1,    27,    16,    -1,
+      27,   115,   120,    -1,    -1,   224,   225,    -1,   228,    -1,
+     239,   221,    -1,    85,    -1,    81,    -1,   239,   229,    -1,
+     239,   228,    -1,   226,    -1,    90,    -1,   134,    -1,   135,
+      -1,   136,    -1,   137,    -1,   138,    -1,    74,    -1,    76,
+      -1,    73,    -1,    71,    -1,    78,    -1,   227,    -1,   105,
+      -1,   247,    -1,   237,    -1,   238,    -1,    -1,   131,    -1,
+     131,   232,    -1,   131,   231,    -1,   139,    -1,   231,   139,
+      -1,   140,    -1,   232,   140,    -1,   115,    -1,   115,   231,
+      -1,   115,   232,    -1,   125,    -1,   125,   231,    -1,   125,
+     232,    -1,   233,    -1,   235,    -1,   234,    -1,   278,    -1,
+     211,    -1,    89,    -1,   141,    -1,   127,    -1,   126,    -1,
+     133,    -1,    67,    -1,   132,    -1,   142,    -1,   142,    -1,
+     141,    -1,   126,    -1,   233,    -1,   244,    -1,    -1,   244,
+      -1,   270,   246,    -1,   104,   246,    -1,   243,    -1,   244,
+     143,   270,    -1,   244,   143,   106,    -1,   106,    -1,    91,
+     144,    91,    -1,    -1,   246,   132,    -1,   145,    -1,   145,
+     270,    -1,    89,    -1,    91,    -1,   123,    -1,   278,    -1,
+     126,    -1,   127,    -1,   146,    -1,    84,    -1,   248,    -1,
+     250,   135,    -1,   250,   249,    -1,   250,   251,    -1,    79,
+      -1,    74,    -1,   144,    -1,    70,    -1,   250,    -1,   134,
+     250,    -1,    -1,   253,   252,    -1,    83,   253,    82,    -1,
+      -1,    46,    -1,   235,   272,   273,   230,   242,   255,    -1,
+     103,   242,    -1,   119,   242,    -1,   258,   242,    -1,   256,
+      -1,   259,    -1,   254,   242,    -1,   274,    -1,   107,    -1,
+     234,   242,    -1,   234,   242,   261,   260,    -1,    -1,   260,
+     262,    -1,    63,    -1,    62,    -1,    65,   234,    -1,    61,
+     234,    -1,   261,    -1,   263,    -1,    99,    -1,   264,    -1,
+     263,   132,   264,    -1,   270,    -1,   270,   127,    -1,   270,
+      64,    -1,   270,    -1,   270,   136,   270,    -1,   266,   127,
+     267,    -1,   266,   126,   267,    -1,   267,    -1,   268,    -1,
+     268,   143,   268,    -1,   268,   144,   268,    -1,   126,   268,
+      -1,   269,    -1,    91,    -1,   118,    -1,   116,    -1,   118,
+     116,    -1,    91,   116,    -1,    91,    -1,    89,    -1,   270,
+      -1,   116,    -1,    -1,   272,   146,    -1,    -1,   273,   147,
+      -1,   108,    -1,    -1,    87,   275,   280,    -1,   112,    -1,
+      -1,    34,   277,   281,    -1,   111,    -1,    -1,    33,   279,
+     280,    -1,   281,    -1,   289,   290,    -1,   290,    -1,   112,
+      -1,   282,    -1,   283,    -1,   285,    -1,   289,   283,    -1,
+     129,   284,   130,    -1,    -1,   284,   292,    -1,   284,   281,
+      -1,   110,   287,    -1,    95,   287,   281,    -1,    94,   287,
+     151,    -1,    96,    -1,   286,    -1,    92,   287,   292,    -1,
+     109,    92,   287,    -1,   288,    -1,   289,   288,    -1,   123,
+      -1,   111,    -1,   108,    -1,   124,    -1,    -1,    48,   291,
+     129,   164,   130,    -1,   109,   286,    -1,   289,   290,    -1,
+     290,    -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,   452,   452,   453,   455,   457,   460,   467,   471,   474,
-     480,   486,   493,   498,   502,   506,   523,   524,   529,   533,
-     539,   548,   549,   553,   564,   569,   573,   577,   581,   585,
-     588,   600,   603,   606,   609,   612,   615,   621,   628,   632,
-     636,   647,   655,   665,   674,   679,   684,   690,   696,   701,
-     705,   709,   712,   717,   723,   729,   733,   738,   742,   748,
-     753,   757,   761,   764,   768,   774,   780,   790,   795,   798,
-     801,   813,   824,   837,   846,   851,   856,   865,   872,   876,
-     886,   889,   892,   898,   901,   904,   907,   910,   923,   926,
-     936,   939,   956,   957,   961,   964,   971,   978,   981,   987,
-     990,   996,   997,   998,   999,  1003,  1004,  1004,  1013,  1014,
-    1020,  1021,  1025,  1026,  1030,  1031,  1039,  1045,  1048,  1053,
-    1056,  1059,  1064,  1069,  1070,  1074,  1081,  1082,  1089,  1092,
-    1095,  1099,  1102,  1103,  1109,  1120,  1128,  1129,  1133,  1139,
-    1146,  1151,  1159,  1166,  1172,  1177,  1184,  1192,  1196,  1203,
-    1203,  1212,  1212,  1221,  1224,  1224,  1233,  1240,  1243,  1249,
-    1255,  1259,  1263,  1268,  1275,  1276,  1278,  1279,  1280,  1282,
-    1283,  1284,  1285,  1289,  1290,  1296,  1305,  1312,  1319,  1325,
-    1331,  1339,  1342,  1348,  1351,  1354,  1359,  1362,  1365,  1370,
-    1373,  1376,  1379,  1382,  1385,  1394,  1403,  1408,  1409,  1414,
-    1432,  1439,  1440,  1446,  1472,  1483,  1488,  1501,  1504,  1513,
-    1516,  1522,  1525,  1528,  1533,  1538,  1541,  1555,  1561,  1566,
-    1574,  1577,  1581,  1584,  1588,  1606,  1609,  1616,  1619,  1622,
-    1627,  1632,  1640,  1648,  1652,  1660,  1663,  1666,  1669,  1672,
-    1675,  1678,  1681,  1684,  1687,  1693,  1707,  1710,  1718,  1721,
-    1732,  1733,  1734,  1735,  1739,  1742,  1748,  1751,  1757,  1760,
-    1765,  1777,  1780,  1785,  1794,  1800,  1801,  1805,  1810,  1816,
-    1824,  1827,  1830,  1833,  1836,  1839,  1842,  1848,  1849,  1850,
-    1855,  1861,  1867,  1871,  1878,  1887,  1896,  1899,  1902,  1910,
-    1911,  1917,  1920,  1926,  1929,  1937,  1940,  1943,  1944,  1948,
-    1949,  1950,  1954,  1958,  1969,  1973,  1984,  2007,  2010,  2013,
-    2016,  2022,  2025,  2032,  2035,  2041,  2048,  2049,  2053,  2079,
-    2086,  2099,  2111,  2114,  2119,  2129,  2132,  2138,  2141,  2148,
-    2151,  2157,  2160,  2163,  2166,  2172,  2175,  2178,  2184,  2185,
-    2191,  2194,  2197,  2209,  2212,  2215,  2219,  2222,  2225,  2231,
-    2234,  2239,  2242,  2245,  2248,  2251,  2258,  2261,  2267,  2268,
-    2275,  2276,  2280,  2281,  2289,  2293,  2292,  2302,  2301,  2310,
-    2314,  2313,  2322,  2325,  2328,  2334,  2337,  2340,  2346,  2353,
-    2359,  2360,  2363,  2369,  2372,  2375,  2378,  2381,  2387,  2390,
-    2393,  2399,  2402,  2408,  2411,  2414,  2417,  2420,  2420,  2429,
-    2432,  2435,  2438,  2441,  2444,  2447,  2450,  2456,  2460
+       0,   456,   456,   457,   459,   461,   464,   471,   474,   480,
+     486,   493,   498,   502,   506,   523,   524,   529,   533,   539,
+     548,   549,   553,   556,   568,   573,   577,   581,   585,   589,
+     592,   604,   607,   610,   613,   616,   619,   622,   625,   631,
+     638,   642,   646,   657,   660,   672,   683,   695,   701,   706,
+     712,   718,   723,   727,   731,   734,   742,   749,   754,   760,
+     764,   770,   775,   779,   783,   786,   793,   799,   809,   814,
+     817,   829,   840,   853,   862,   867,   872,   881,   888,   892,
+     902,   905,   908,   914,   917,   920,   933,   936,   946,   949,
+     966,   967,   971,   974,   981,   988,   991,   997,  1000,  1006,
+    1007,  1008,  1009,  1013,  1013,  1018,  1022,  1029,  1032,  1039,
+    1042,  1045,  1053,  1054,  1058,  1059,  1063,  1064,  1072,  1078,
+    1081,  1084,  1089,  1092,  1095,  1098,  1103,  1108,  1109,  1113,
+    1120,  1121,  1128,  1131,  1138,  1146,  1149,  1150,  1156,  1167,
+    1179,  1180,  1184,  1190,  1197,  1202,  1210,  1217,  1223,  1228,
+    1235,  1243,  1247,  1254,  1254,  1263,  1263,  1269,  1269,  1275,
+    1275,  1284,  1287,  1290,  1290,  1299,  1306,  1309,  1315,  1321,
+    1325,  1329,  1334,  1341,  1342,  1344,  1345,  1346,  1348,  1349,
+    1350,  1351,  1355,  1356,  1359,  1373,  1382,  1389,  1396,  1402,
+    1408,  1416,  1419,  1425,  1428,  1431,  1436,  1439,  1442,  1447,
+    1450,  1453,  1456,  1459,  1462,  1471,  1480,  1488,  1494,  1499,
+    1506,  1524,  1531,  1532,  1538,  1564,  1575,  1580,  1593,  1596,
+    1605,  1608,  1614,  1617,  1620,  1625,  1630,  1633,  1647,  1651,
+    1656,  1662,  1665,  1669,  1672,  1676,  1694,  1697,  1704,  1707,
+    1714,  1719,  1724,  1732,  1740,  1744,  1752,  1755,  1758,  1761,
+    1764,  1767,  1770,  1773,  1776,  1779,  1785,  1799,  1802,  1810,
+    1813,  1824,  1825,  1826,  1827,  1831,  1834,  1840,  1843,  1849,
+    1852,  1857,  1869,  1872,  1877,  1886,  1892,  1893,  1897,  1902,
+    1908,  1916,  1919,  1922,  1925,  1928,  1931,  1934,  1940,  1941,
+    1942,  1947,  1953,  1959,  1963,  1970,  1979,  1989,  1992,  1995,
+    2003,  2004,  2010,  2013,  2019,  2022,  2030,  2033,  2036,  2037,
+    2041,  2042,  2043,  2047,  2051,  2062,  2066,  2077,  2100,  2103,
+    2106,  2109,  2115,  2118,  2125,  2128,  2134,  2141,  2142,  2146,
+    2172,  2179,  2192,  2204,  2207,  2212,  2222,  2225,  2231,  2234,
+    2241,  2244,  2250,  2253,  2256,  2259,  2265,  2268,  2271,  2277,
+    2278,  2284,  2287,  2290,  2296,  2299,  2311,  2314,  2317,  2321,
+    2324,  2327,  2333,  2336,  2341,  2344,  2347,  2350,  2353,  2360,
+    2363,  2369,  2370,  2376,  2377,  2381,  2382,  2390,  2394,  2393,
+    2402,  2406,  2405,  2414,  2418,  2417,  2426,  2429,  2432,  2438,
+    2441,  2444,  2447,  2453,  2460,  2466,  2467,  2470,  2476,  2482,
+    2485,  2488,  2494,  2495,  2501,  2507,  2510,  2516,  2519,  2522,
+    2525,  2528,  2528,  2537,  2543,  2547
 };
 #endif
 
@@ -1004,53 +985,48 @@ static const char *const yytname[] =
   "\"\\\\key\"", "\"\\\\layout\"", "\"\\\\lyricmode\"", "\"\\\\lyrics\"",
   "\"\\\\lyricsto\"", "\"\\\\mark\"", "\"\\\\markup\"",
   "\"\\\\markuplines\"", "\"\\\\midi\"", "\"\\\\name\"",
-  "\"\\\\notemode\"", "\"\\\\objectid\"", "\"\\\\octave\"", "\"\\\\once\"",
-  "\"\\\\override\"", "\"\\\\paper\"", "\"\\\\partial\"",
-  "\"\\\\relative\"", "\"\\\\remove\"", "\"\\\\repeat\"", "\"\\\\rest\"",
-  "\"\\\\revert\"", "\"\\\\score\"", "\"\\\\sequential\"", "\"\\\\set\"",
-  "\"\\\\simultaneous\"", "\"\\\\skip\"", "\"\\\\tempo\"", "\"\\\\times\"",
-  "\"\\\\transpose\"", "\"\\\\type\"", "\"\\\\unset\"", "\"\\\\with\"",
-  "\"\\\\time\"", "\"\\\\new\"", "\"/+\"", "\"^\"", "\":\"", "\"-\"",
-  "\"/\"", "\"<\"", "\">\"", "\"<<\"", "\">>\"", "\"\\\\\"", "\"\\\\>\"",
+  "\"\\\\notemode\"", "\"\\\\octave\"", "\"\\\\once\"", "\"\\\\override\"",
+  "\"\\\\paper\"", "\"\\\\partial\"", "\"\\\\relative\"", "\"\\\\remove\"",
+  "\"\\\\repeat\"", "\"\\\\rest\"", "\"\\\\revert\"", "\"\\\\score\"",
+  "\"\\\\sequential\"", "\"\\\\set\"", "\"\\\\simultaneous\"",
+  "\"\\\\skip\"", "\"\\\\tempo\"", "\"\\\\times\"", "\"\\\\transpose\"",
+  "\"\\\\type\"", "\"\\\\unset\"", "\"\\\\with\"", "\"\\\\time\"",
+  "\"\\\\new\"", "\"/+\"", "\"^\"", "\":\"", "\"-\"", "\"/\"", "\"<\"",
+  "\">\"", "\"<<\"", "\">>\"", "\"\\\\\"", "\"\\\\>\"",
   "\"\\\\C[haracter]\"", "\"\\\\)\"", "\"\\\\!\"", "\"\\\\[\"",
   "\"\\\\(\"", "\"\\\\]\"", "\"\\\\<\"", "\"\\\\+\"", "\"\\\\~\"",
   "\"__\"", "FIGURE_CLOSE", "FIGURE_OPEN", "\"_\"", "\"--\"",
   "CHORDMODIFIERS", "LYRIC_MARKUP", "MULTI_MEASURE_REST", "DIGIT",
   "E_UNSIGNED", "UNSIGNED", "EXPECT_MARKUP", "EXPECT_MUSIC", "EXPECT_SCM",
-  "EXPECT_NO_MORE_ARGS", "BOOK_IDENTIFIER", "CHORDMODIFIER_PITCH",
-  "CHORD_MODIFIER", "CONTEXT_DEF_IDENTIFIER", "DRUM_PITCH",
+  "EXPECT_MARKUP_LIST", "EXPECT_NO_MORE_ARGS", "BOOK_IDENTIFIER",
+  "CHORDMODIFIER_PITCH", "CHORD_MODIFIER", "CHORD_REPETITION",
+  "CONTEXT_DEF_IDENTIFIER", "CONTEXT_MOD_IDENTIFIER", "DRUM_PITCH",
   "DURATION_IDENTIFIER", "EVENT_IDENTIFIER", "FRACTION", "LYRICS_STRING",
-  "LYRIC_MARKUP_IDENTIFIER", "MARKUP_HEAD_EMPTY", "MARKUP_HEAD_LIST0",
-  "MARKUP_HEAD_MARKUP0", "MARKUP_HEAD_MARKUP0_MARKUP1", "MARKUP_HEAD_SCM0",
-  "MARKUP_HEAD_SCM0_MARKUP1", "MARKUP_HEAD_SCM0_SCM1",
-  "MARKUP_HEAD_SCM0_SCM1_MARKUP2", "MARKUP_HEAD_SCM0_SCM1_MARKUP2_MARKUP3",
-  "MARKUP_HEAD_SCM0_MARKUP1_MARKUP2", "MARKUP_HEAD_SCM0_SCM1_SCM2",
-  "MARKUP_LIST_HEAD_EMPTY", "MARKUP_LIST_HEAD_LIST0",
-  "MARKUP_LIST_HEAD_SCM0", "MARKUP_LIST_HEAD_SCM0_LIST1",
-  "MARKUP_LIST_HEAD_SCM0_SCM1_LIST2", "MARKUP_IDENTIFIER",
-  "MUSIC_FUNCTION", "MUSIC_IDENTIFIER", "NOTENAME_PITCH",
-  "NUMBER_IDENTIFIER", "OUTPUT_DEF_IDENTIFIER", "REAL", "RESTNAME",
-  "SCM_IDENTIFIER", "SCM_TOKEN", "SCORE_IDENTIFIER", "STRING",
-  "STRING_IDENTIFIER", "TONICNAME_PITCH", "'-'", "'+'", "UNARY_MINUS",
-  "'{'", "'}'", "'='", "'.'", "'|'", "'['", "']'", "'~'", "'('", "')'",
-  "'''", "','", "'^'", "'_'", "'*'", "'/'", "':'", "'!'", "'?'", "$accept",
-  "lilypond", "object_id_setting", "toplevel_expression", "embedded_scm",
-  "lilypond_header_body", "lilypond_header", "assignment_id", "assignment",
-  "identifier_init", "context_def_spec_block", "context_def_spec_body",
-  "book_block", "book_body", "bookpart_block", "bookpart_body",
-  "score_block", "score_body", "paper_block", "output_def",
-  "output_def_head", "output_def_head_with_mode_switch", "output_def_body",
-  "tempo_event", "music_list", "music", "alternative_music",
-  "repeated_music", "sequential_music", "simultaneous_music",
-  "simple_music", "optional_context_mod", "@1", "context_mod_list",
+  "LYRIC_MARKUP_IDENTIFIER", "MARKUP_FUNCTION", "MARKUP_LIST_FUNCTION",
+  "MARKUP_IDENTIFIER", "MARKUPLINES_IDENTIFIER", "MUSIC_FUNCTION",
+  "MUSIC_IDENTIFIER", "NOTENAME_PITCH", "NUMBER_IDENTIFIER",
+  "OUTPUT_DEF_IDENTIFIER", "REAL", "RESTNAME", "SCM_IDENTIFIER",
+  "SCM_TOKEN", "SCORE_IDENTIFIER", "STRING", "STRING_IDENTIFIER",
+  "TONICNAME_PITCH", "'-'", "'+'", "UNARY_MINUS", "'{'", "'}'", "'='",
+  "'.'", "'|'", "'['", "']'", "'~'", "'('", "')'", "'''", "','", "'^'",
+  "'_'", "'*'", "'/'", "':'", "'!'", "'?'", "$accept", "lilypond",
+  "toplevel_expression", "embedded_scm", "lilypond_header_body",
+  "lilypond_header", "assignment_id", "assignment", "identifier_init",
+  "context_def_spec_block", "context_def_spec_body", "book_block",
+  "book_body", "bookpart_block", "bookpart_body", "score_block",
+  "score_body", "paper_block", "output_def", "output_def_head",
+  "output_def_head_with_mode_switch", "output_def_body", "tempo_event",
+  "music_list", "music", "alternative_music", "repeated_music",
+  "sequential_music", "simultaneous_music", "simple_music",
+  "context_modification", "@1", "optional_context_mod", "context_mod_list",
   "composite_music", "grouped_music_list", "function_scm_argument",
   "function_arglist_music_last", "function_arglist_nonmusic_last",
   "function_arglist_nonmusic", "function_arglist",
   "generic_prefix_music_scm", "optional_id", "prefix_composite_music",
   "mode_changing_head", "mode_changing_head_with_context",
-  "relative_music", "new_lyrics", "@2", "@3", "re_rhythmed_music", "@4",
-  "context_change", "property_path_revved", "property_path",
-  "property_operation", "context_def_mod", "context_mod",
+  "relative_music", "new_lyrics", "@2", "@3", "@4", "@5",
+  "re_rhythmed_music", "@6", "context_change", "property_path_revved",
+  "property_path", "property_operation", "context_def_mod", "context_mod",
   "context_prop_spec", "simple_music_property_def", "music_property_def",
   "string", "simple_string", "scalar", "event_chord", "note_chord_element",
   "chord_body", "chord_body_elements", "chord_body_element",
@@ -1067,13 +1043,14 @@ static const char *const yytname[] =
   "br_bass_figure", "figure_list", "figure_spec", "optional_rest",
   "simple_element", "simple_chord_elements", "lyric_element", "new_chord",
   "chord_items", "chord_separator", "chord_item", "step_numbers",
-  "step_number", "number_expression", "number_term", "number_factor",
-  "bare_number", "bare_unsigned", "unsigned_number", "exclamations",
-  "questions", "lyric_markup", "@5", "full_markup_list", "@6",
-  "full_markup", "@7", "markup_top", "markup_list", "markup_composed_list",
-  "markup_braced_list", "markup_braced_list_body", "markup_command_list",
-  "markup_head_1_item", "markup_head_1_list", "simple_markup", "@8",
-  "markup", 0
+  "step_number", "tempo_range", "number_expression", "number_term",
+  "number_factor", "bare_number", "bare_unsigned", "unsigned_number",
+  "exclamations", "questions", "lyric_markup", "@7", "full_markup_list",
+  "@8", "full_markup", "@9", "markup_top", "markup_list",
+  "markup_composed_list", "markup_braced_list", "markup_braced_list_body",
+  "markup_command_list", "markup_command_basic_arguments",
+  "markup_command_list_arguments", "markup_head_1_item",
+  "markup_head_1_list", "simple_markup", "@10", "markup", 0
 };
 #endif
 
@@ -1094,103 +1071,104 @@ static const yytype_uint16 yytoknum[] =
      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
-     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
-     385,   386,   387,   388,   389,   390,   391,    45,    43,   392,
-     123,   125,    61,    46,   124,    91,    93,   126,    40,    41,
-      39,    44,    94,    95,    42,    47,    58,    33,    63
+     375,   376,   377,   378,   379,   380,    45,    43,   381,   123,
+     125,    61,    46,   124,    91,    93,   126,    40,    41,    39,
+      44,    94,    95,    42,    47,    58,    33,    63
 };
 # endif
 
 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 static const yytype_uint16 yyr1[] =
 {
-       0,   159,   160,   160,   160,   160,   160,   161,   162,   162,
-     162,   162,   162,   162,   162,   162,   163,   163,   164,   164,
-     165,   166,   166,   167,   167,   168,   168,   168,   168,   168,
-     168,   168,   168,   168,   168,   168,   168,   169,   170,   170,
-     170,   170,   171,   172,   172,   172,   172,   172,   172,   172,
-     172,   172,   172,   172,   173,   174,   174,   174,   174,   174,
-     174,   174,   174,   174,   174,   175,   176,   176,   176,   176,
-     176,   176,   177,   178,   179,   179,   179,   180,   181,   181,
-     181,   181,   181,   182,   182,   182,   182,   182,   183,   183,
-     183,   183,   184,   184,   185,   185,   186,   187,   187,   188,
-     188,   189,   189,   189,   189,   190,   191,   190,   192,   192,
-     193,   193,   194,   194,   195,   195,   196,   197,   197,   198,
-     198,   198,   199,   199,   199,   200,   201,   201,   202,   202,
-     202,   202,   202,   202,   202,   202,   202,   202,   203,   203,
-     203,   203,   203,   204,   204,   204,   204,   205,   205,   207,
-     206,   208,   206,   209,   210,   209,   211,   212,   212,   213,
-     214,   214,   214,   214,   215,   215,   215,   215,   215,   215,
-     215,   215,   215,   216,   216,   217,   217,   218,   218,   218,
-     218,   219,   219,   220,   220,   220,   221,   221,   221,   222,
-     222,   222,   222,   222,   222,   223,   223,   223,   223,   224,
-     225,   226,   226,   227,   227,   227,   228,   229,   229,   230,
-     230,   231,   231,   231,   231,   231,   231,   231,   231,   231,
-     232,   232,   232,   232,   232,   233,   233,   234,   234,   234,
-     234,   234,   234,   234,   235,   236,   236,   236,   236,   236,
-     236,   236,   236,   236,   236,   237,   237,   237,   238,   238,
-     239,   239,   239,   239,   240,   240,   241,   241,   242,   242,
-     242,   243,   243,   243,   244,   245,   245,   246,   246,   246,
-     247,   247,   247,   247,   247,   247,   247,   248,   248,   248,
-     249,   250,   251,   251,   252,   252,   253,   253,   253,   254,
-     254,   255,   255,   256,   256,   257,   257,   257,   257,   258,
-     258,   258,   259,   259,   259,   259,   259,   260,   260,   260,
-     260,   261,   261,   262,   262,   263,   264,   264,   265,   265,
-     265,   265,   266,   266,   266,   267,   267,   268,   268,   269,
-     269,   270,   270,   270,   270,   271,   271,   271,   272,   272,
-     273,   273,   273,   274,   274,   274,   275,   275,   275,   276,
-     276,   277,   277,   277,   277,   277,   278,   278,   279,   279,
-     280,   280,   281,   281,   282,   283,   282,   285,   284,   286,
-     287,   286,   288,   288,   288,   289,   289,   289,   290,   291,
-     292,   292,   292,   293,   293,   293,   293,   293,   294,   294,
-     294,   295,   295,   296,   296,   296,   296,   297,   296,   296,
-     296,   296,   296,   296,   296,   296,   296,   298,   298
+       0,   148,   149,   149,   149,   149,   149,   150,   150,   150,
+     150,   150,   150,   150,   150,   151,   151,   152,   152,   153,
+     154,   154,   155,   155,   155,   156,   156,   156,   156,   156,
+     156,   156,   156,   156,   156,   156,   156,   156,   156,   157,
+     158,   158,   158,   158,   158,   159,   160,   160,   160,   160,
+     160,   160,   160,   160,   160,   160,   161,   162,   162,   162,
+     162,   162,   162,   162,   162,   162,   163,   164,   164,   164,
+     164,   164,   165,   166,   167,   167,   167,   168,   169,   169,
+     169,   169,   169,   170,   170,   170,   171,   171,   171,   171,
+     172,   172,   173,   173,   174,   175,   175,   176,   176,   177,
+     177,   177,   177,   179,   178,   178,   178,   180,   180,   181,
+     181,   181,   182,   182,   183,   183,   184,   184,   185,   186,
+     186,   186,   187,   187,   187,   187,   188,   188,   188,   189,
+     190,   190,   191,   191,   191,   191,   191,   191,   191,   191,
+     191,   191,   192,   192,   192,   192,   192,   193,   193,   193,
+     193,   194,   194,   196,   195,   197,   195,   198,   195,   199,
+     195,   200,   200,   201,   200,   202,   203,   203,   204,   205,
+     205,   205,   205,   206,   206,   206,   206,   206,   206,   206,
+     206,   206,   207,   207,   207,   208,   208,   209,   209,   209,
+     209,   210,   210,   211,   211,   211,   212,   212,   212,   213,
+     213,   213,   213,   213,   213,   214,   214,   214,   214,   214,
+     215,   216,   217,   217,   218,   218,   218,   219,   220,   220,
+     221,   221,   222,   222,   222,   222,   222,   222,   222,   222,
+     222,   223,   223,   223,   223,   223,   224,   224,   225,   225,
+     225,   225,   225,   225,   225,   226,   227,   227,   227,   227,
+     227,   227,   227,   227,   227,   227,   228,   228,   228,   229,
+     229,   230,   230,   230,   230,   231,   231,   232,   232,   233,
+     233,   233,   234,   234,   234,   235,   236,   236,   237,   237,
+     237,   238,   238,   238,   238,   238,   238,   238,   239,   239,
+     239,   240,   241,   242,   242,   243,   243,   244,   244,   244,
+     245,   245,   246,   246,   247,   247,   248,   248,   248,   248,
+     249,   249,   249,   250,   250,   250,   250,   250,   251,   251,
+     251,   251,   252,   252,   253,   253,   254,   255,   255,   256,
+     256,   256,   256,   257,   257,   257,   258,   258,   259,   259,
+     260,   260,   261,   261,   261,   261,   262,   262,   262,   263,
+     263,   264,   264,   264,   265,   265,   266,   266,   266,   267,
+     267,   267,   268,   268,   269,   269,   269,   269,   269,   270,
+     270,   271,   271,   272,   272,   273,   273,   274,   275,   274,
+     276,   277,   276,   278,   279,   278,   280,   280,   280,   281,
+     281,   281,   281,   282,   283,   284,   284,   284,   285,   286,
+     286,   286,   287,   287,   288,   289,   289,   290,   290,   290,
+     290,   291,   290,   290,   292,   292
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
 static const yytype_uint8 yyr2[] =
 {
-       0,     2,     0,     2,     2,     2,     2,     2,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     0,     2,
-       4,     1,     1,     3,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     4,     0,     1,
-       3,     2,     4,     0,     1,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     4,     0,     1,     2,     2,     2,
-       2,     2,     2,     2,     2,     4,     1,     1,     2,     2,
+       0,     2,     0,     2,     2,     2,     2,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     0,     2,     4,
+       1,     1,     3,     4,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     4,
+       0,     1,     3,     2,     2,     4,     0,     1,     2,     2,
+       2,     2,     2,     2,     2,     2,     4,     0,     1,     2,
+       2,     2,     2,     2,     2,     2,     4,     1,     1,     2,
        2,     2,     1,     2,     1,     1,     1,     1,     2,     3,
-       2,     2,     2,     4,     5,     5,     2,     2,     0,     2,
-       2,     2,     1,     1,     0,     4,     5,     4,     3,     4,
-       3,     1,     1,     1,     1,     0,     0,     5,     0,     2,
-       1,     1,     1,     1,     1,     1,     3,     3,     3,     1,
-       3,     3,     1,     1,     1,     2,     0,     2,     1,     5,
-       5,     3,     1,     4,     2,     3,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     3,     2,     0,
-       3,     0,     4,     2,     0,     4,     4,     1,     2,     1,
-       3,     2,     5,     3,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     2,     1,     3,     5,     3,     4,
+       2,     2,     2,     4,     5,     2,     0,     2,     2,     2,
+       1,     1,     0,     4,     5,     4,     3,     4,     3,     1,
+       1,     1,     1,     0,     5,     2,     1,     0,     1,     0,
+       2,     2,     1,     1,     1,     1,     1,     1,     3,     3,
+       3,     3,     1,     3,     3,     3,     1,     1,     1,     2,
+       0,     2,     1,     5,     5,     3,     1,     4,     2,     3,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     3,     2,     0,     3,     0,     3,     0,     4,     0,
+       4,     2,     2,     0,     4,     4,     1,     2,     1,     3,
+       2,     5,     3,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     2,     2,     1,     3,     5,     3,     4,
        2,     1,     2,     1,     1,     3,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     2,     3,     1,     1,     3,
-       3,     0,     2,     5,     2,     1,     1,     4,     2,     4,
-       2,     1,     2,     1,     1,     1,     1,     2,     2,     2,
-       1,     2,     1,     2,     3,     0,     2,     1,     2,     1,
-       1,     2,     2,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     2,     3,     3,     1,     1,
+       3,     3,     0,     2,     5,     2,     1,     1,     4,     2,
+       4,     2,     1,     2,     1,     1,     1,     1,     2,     2,
+       2,     1,     2,     1,     2,     3,     0,     2,     1,     2,
+       1,     1,     2,     2,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       0,     1,     2,     2,     1,     2,     1,     2,     1,     2,
-       2,     1,     2,     2,     1,     1,     1,     1,     1,     1,
+       1,     0,     1,     2,     2,     1,     2,     1,     2,     1,
+       2,     2,     1,     2,     2,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     0,     1,     2,     2,     1,     3,     3,     1,
-       3,     0,     2,     1,     2,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     2,     2,     2,     1,     1,     1,
-       1,     1,     2,     0,     2,     3,     0,     1,     6,     2,
-       2,     2,     1,     1,     2,     1,     1,     2,     4,     0,
-       2,     1,     1,     2,     2,     1,     1,     1,     1,     3,
-       1,     2,     2,     3,     3,     1,     1,     3,     3,     2,
-       1,     1,     1,     1,     2,     2,     1,     1,     1,     1,
-       0,     2,     0,     2,     1,     0,     3,     0,     3,     1,
-       0,     3,     1,     2,     1,     1,     1,     1,     2,     3,
-       0,     2,     2,     1,     2,     2,     3,     4,     1,     2,
-       3,     1,     2,     1,     1,     1,     1,     0,     5,     2,
-       4,     3,     4,     5,     1,     2,     3,     2,     1
+       1,     1,     1,     0,     1,     2,     2,     1,     3,     3,
+       1,     3,     0,     2,     1,     2,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     2,     2,     2,     1,     1,
+       1,     1,     1,     2,     0,     2,     3,     0,     1,     6,
+       2,     2,     2,     1,     1,     2,     1,     1,     2,     4,
+       0,     2,     1,     1,     2,     2,     1,     1,     1,     1,
+       3,     1,     2,     2,     1,     3,     3,     3,     1,     1,
+       3,     3,     2,     1,     1,     1,     1,     2,     2,     1,
+       1,     1,     1,     0,     2,     0,     2,     1,     0,     3,
+       1,     0,     3,     1,     0,     3,     1,     2,     1,     1,
+       1,     1,     1,     2,     3,     0,     2,     2,     2,     3,
+       3,     1,     1,     3,     3,     1,     2,     1,     1,     1,
+       1,     0,     5,     2,     2,     1
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -1198,663 +1176,633 @@ static const yytype_uint8 yyr2[] =
    means the default is an error.  */
 static const yytype_uint16 yydefact[] =
 {
-       2,     0,     1,     5,     0,     0,   141,   145,     0,   139,
-     143,   140,   144,     0,     6,    76,   142,   146,     0,   370,
-     367,    75,   138,    74,     0,     0,     0,     0,     0,     0,
-       0,     0,    88,    22,   369,     0,    17,    16,    21,    88,
-       3,    24,     8,     0,     4,     9,    10,    11,    15,    77,
-       0,     0,   132,   113,   112,    12,   111,   128,   110,     0,
-     105,   136,   137,    14,    13,    43,    55,   187,   186,   188,
-     126,    18,   154,     0,     0,   258,   148,   280,     0,     0,
-       0,    88,    88,     0,   289,     0,   261,   264,   266,   265,
-       0,   126,     0,     0,     0,     0,   122,   123,   124,   125,
-       0,     0,    78,    82,     0,    73,    80,    81,   149,   153,
-     134,   106,     0,    44,     0,    56,     0,     0,   105,     0,
-       0,   397,   395,   404,     0,   388,     0,     0,     0,     0,
-       0,     0,     0,     0,   383,     0,     0,     0,     0,   394,
-     393,   396,   380,   371,   372,   375,   376,   377,   391,     0,
-     374,   368,     0,   254,   256,   259,   260,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   201,
-     215,   213,   214,   220,   313,   365,   282,   282,   326,   364,
-     102,   282,   216,   222,   147,    92,    93,   104,   181,   103,
-     101,   198,   282,   197,   211,   282,   360,   282,   322,   225,
-     282,   323,   325,   357,   356,   359,   358,     0,    67,     0,
-      66,     0,     0,     0,   131,   262,   263,     0,   105,    91,
-     100,    90,    89,     0,     0,     0,    98,     0,   243,   242,
-     240,   241,   244,   230,   229,    36,   234,   351,   246,   353,
-     352,   183,   184,   279,   235,   236,   237,   238,   239,   278,
-     277,   293,    34,    23,    29,    26,    27,    25,    28,    30,
-      33,    31,   233,   245,   227,     0,   247,    32,   345,   346,
-     350,    35,    79,    38,     0,   151,     0,   135,    52,     0,
-      42,    53,    51,    46,    47,    45,    72,    48,    50,    49,
-      63,    54,    64,    62,    58,    57,    59,    61,    60,   127,
-       0,    20,    19,   155,     0,   405,     0,   408,     0,   399,
-     389,     0,     0,     0,     0,     0,   384,   385,     0,     0,
-       0,   378,   392,   373,   255,   257,     0,   223,     0,   221,
-     194,   190,   192,   189,   219,   191,   193,   182,     0,   175,
-     291,   217,   286,   281,   291,     0,     0,   212,    86,     0,
-      87,   180,   218,     0,     0,     0,   225,   283,   319,   320,
-     225,   327,   362,   324,   195,   321,    94,    71,    65,    68,
-      69,    70,    97,    99,   290,   133,     0,   117,   116,   114,
-     118,   115,   355,   354,   206,     0,     0,   228,   349,   294,
-       0,   274,   269,   272,   271,   275,   273,   270,   276,   268,
-     232,   231,   248,   249,   267,     0,     0,     0,     0,    39,
-       0,   150,     0,   108,     7,   129,     0,   407,   406,   401,
-     390,     0,     0,     0,   386,     0,   379,   382,     0,   381,
-       0,   224,   157,   159,     0,     0,   285,     0,   284,   178,
-       0,     0,     0,     0,   200,   225,   202,     0,   205,   360,
-     315,   302,   295,   296,   297,     0,   303,   311,   314,   298,
-     366,   196,   199,     0,   332,   331,     0,   329,   361,   250,
-     279,   226,     0,    96,   130,     0,     0,     0,   119,   210,
-     185,   344,   343,   347,   348,   166,   169,   164,   167,   168,
-     171,     0,   172,     0,   165,     0,   170,     0,     0,    37,
-     173,     0,    41,   152,     0,     0,     0,   402,   400,   387,
-     156,   158,     0,   176,   292,   288,   287,   179,     0,    83,
-       0,   204,     0,   208,   362,   312,   310,   308,   307,   299,
-     300,   304,   309,   301,   305,   306,   334,   333,   328,   251,
-     363,   282,    88,     0,     0,     0,    40,     0,     0,   161,
-       0,   174,   107,   109,   398,   403,   177,    84,    85,     0,
-     250,   337,   335,   330,   336,   338,   340,   253,   252,   316,
-       0,   120,   209,   121,     0,   163,   160,   207,   225,     0,
-     342,   341,   317,   318,    95,     0,   203,   339,   162
+       2,     0,     1,     5,     0,     0,   145,   149,     0,   143,
+     147,   144,   148,     0,     6,    76,   146,   150,     0,   384,
+     381,    75,   142,    74,     0,     0,     0,     0,     0,     0,
+       0,     0,    86,    21,   383,   380,     0,     0,    16,    15,
+      20,    86,     3,    24,     7,     0,     4,     8,     9,    10,
+      14,    77,     0,     0,   136,   115,   114,    11,   113,   132,
+     112,     0,   107,   140,   141,    13,    12,    46,    57,   197,
+     196,   198,   130,    17,   163,     0,     0,   269,   152,   291,
+       0,     0,     0,    86,    86,     0,   300,     0,   272,   275,
+     277,   276,     0,   130,     0,     0,     0,     0,   126,   127,
+     128,   129,   153,   162,     0,     0,   166,   168,     0,    78,
+      82,     0,    73,    80,    81,   161,   138,   103,   106,   108,
+       0,    47,     0,    58,     0,     0,   107,     0,     0,   411,
+     409,     0,     0,   408,   389,   407,   410,   395,   385,   386,
+     390,   391,   392,   405,     0,   388,     0,   382,     0,   265,
+     267,   270,   271,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   212,   226,   224,   225,   231,
+     324,   378,   293,   293,   293,   337,   377,   100,   293,   227,
+     233,   151,    90,    91,   102,   191,   101,    99,   209,   293,
+     208,   222,   293,   373,   293,   333,   236,   293,   334,   336,
+     370,   369,   372,   371,     0,    68,     0,    67,     0,     0,
+       0,   135,   273,   274,     0,   107,    89,    98,    88,    87,
+       0,     0,     0,     0,     0,   157,    96,     0,   254,   253,
+     251,   252,   255,   241,   240,    37,   245,   364,   257,   366,
+     365,   193,   194,   290,   246,   247,   248,   249,   250,   289,
+     288,   304,    34,    22,    29,    26,    27,    25,    28,    30,
+      38,    33,    31,   244,   256,   238,     0,   258,    32,   358,
+     359,   363,    36,    35,   167,     0,    79,    40,   105,     0,
+     139,    55,    45,    54,    49,    50,    48,    72,    51,    53,
+      52,    65,    56,    64,    60,    59,    61,    63,    62,   131,
+       0,    19,    18,   164,     0,     0,     0,     0,   401,   413,
+       0,   402,   398,     0,   393,   406,   387,   266,   268,     0,
+     234,     0,   232,   204,   200,   202,   199,   230,   201,   203,
+     192,     0,   185,   302,   228,   297,   292,   302,     0,     0,
+     223,   204,   364,    85,     0,   190,   229,     0,     0,     0,
+     236,   294,   236,   330,   331,   236,   338,   375,   335,   205,
+     332,    92,    71,    66,    69,    70,    95,    97,   301,   137,
+       0,   120,   119,   118,   116,   121,   117,   154,   156,     0,
+       0,   368,   367,     0,   362,   305,     0,   285,   280,   217,
+     283,   282,   286,   284,   281,   287,   279,     0,   239,   243,
+     242,   259,   260,   278,     0,     0,     0,     0,    23,    41,
+       0,   109,   133,     0,   404,     0,     0,     0,   394,   397,
+       0,   415,   396,     0,   235,     0,     0,   296,     0,   295,
+     188,     0,     0,     0,   211,   236,   213,     0,   216,   373,
+     326,   313,   306,   307,   308,     0,   314,   322,   325,   309,
+     379,   207,   206,   210,     0,   343,   342,     0,   340,   374,
+     261,   290,   237,     0,    94,   134,   158,   160,   195,     0,
+       0,     0,   122,   221,   357,   356,   360,   361,   175,   178,
+     173,   176,   177,   180,     0,   181,     0,   174,     0,   179,
+       0,     0,    39,    44,   182,     0,    43,     0,     0,   400,
+     399,     0,   403,   414,   165,     0,   186,   303,   299,   298,
+     189,     0,    83,   354,   215,     0,   219,   375,   323,   321,
+     319,   318,   310,   311,   315,   320,   312,   316,   317,   345,
+     344,   339,   262,   376,   293,    86,     0,     0,     0,    42,
+       0,     0,   170,     0,   183,   184,   111,   104,   110,   412,
+     187,    84,     0,     0,   261,   348,   346,   341,   347,   349,
+     351,   264,   263,   327,     0,   124,   123,   220,   125,     0,
+     172,   169,   355,   218,   236,     0,   353,   352,   328,   329,
+      93,     0,   214,   350,   171
 };
 
 /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,     1,   369,    40,   221,   119,   370,    43,    44,   253,
-     107,   410,    45,   114,    46,   116,    47,   209,   285,   286,
-      49,    50,    51,   183,    92,   222,   473,    52,    53,    54,
-     185,   112,   276,   504,   186,    56,   380,    97,    98,   479,
-      99,    57,   118,    58,    59,    60,    61,   109,   274,   412,
-      62,   120,   187,   433,   434,   500,   501,   502,   338,   188,
-     189,   333,   339,   334,   190,   191,   192,   353,   446,   386,
-     448,   387,   193,   194,   364,   471,   262,   263,   264,   401,
-     541,   155,   156,    87,   195,   196,    90,   402,   403,   265,
-      78,   341,   356,   342,   357,    85,   436,   266,   456,   534,
-     457,   535,   458,   354,   197,   583,   198,   199,   200,   201,
-     538,   467,   563,   564,   565,   267,   268,   269,   270,   344,
-     207,   362,   469,   202,   355,    63,    74,   336,    73,   143,
-     144,   145,   146,   320,   147,   148,   306,   307,   304,   308
+      -1,     1,    42,   325,   127,   364,    45,    46,   253,   254,
+     410,   255,   122,   256,   124,   257,   206,   286,   258,    51,
+      52,    53,   180,    94,   219,   464,    54,    55,    56,   182,
+     119,   279,   120,   497,   183,    58,   375,    99,   100,   473,
+     101,    59,   126,    60,    61,    62,    63,   103,   223,   224,
+     379,   380,    64,   128,   184,   107,   108,   494,   495,   496,
+     331,   185,   186,   326,   332,   327,   187,   188,   189,   347,
+     436,   437,   438,   398,   190,   191,   359,   462,   263,   264,
+     265,   400,   534,   151,   152,    89,   192,   193,    92,   401,
+     402,   266,    80,   334,   350,   335,   351,    87,   427,   267,
+     446,   527,   447,   528,   448,   348,   194,   579,   195,   196,
+     197,   198,   531,   458,   557,   558,   559,   512,   268,   269,
+     270,   271,   337,   204,   357,   460,   199,   349,   272,    76,
+     329,    75,   138,   139,   140,   141,   313,   142,   311,   312,
+     143,   144,   145,   304,   422
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -396
+#define YYPACT_NINF -370
 static const yytype_int16 yypact[] =
 {
-    -396,  1355,  -396,  -396,   -53,     5,  -396,  -396,   166,  -396,
-    -396,  -396,  -396,    39,  -396,  -396,  -396,  -396,   166,  -396,
-    -396,  -396,  -396,  -396,  1803,   166,    56,   102,   123,    57,
-     -70,   166,  -396,  -396,  -396,   291,  -396,  -396,  -396,  -396,
-    -396,  -396,  -396,   -91,  -396,  -396,  -396,  -396,  -396,  -396,
-     129,    63,  -396,  -396,  -396,  -396,    66,  -396,  -396,    29,
-      75,  -396,  -396,  -396,  -396,    46,    73,  -396,  -396,  -396,
-     -35,  -396,  -396,  1838,   227,    50,  -396,  -396,  1677,   -37,
-    1551,  -396,  -396,     1,  -396,  1677,    50,  -396,  -396,  -396,
-     -70,   -35,   694,   291,   291,   291,  -396,  -396,  -396,  -396,
-     820,   545,    94,  -396,   135,  -396,  -396,  -396,  -396,   199,
-    -396,  -396,    29,  -396,  1407,  -396,  1490,   166,    75,    58,
-    1677,  -396,  -396,  -396,   227,  -396,   407,    55,    55,    55,
-      55,    55,    55,    55,  -396,   227,    55,    55,    55,  -396,
-    -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  1873,
-    -396,  -396,   243,  -396,  -396,   131,   136,   159,    16,   266,
-     193,   166,   229,   166,   166,   229,   160,   166,    57,  -396,
-    -396,  -396,  -396,  -396,  -396,  -396,   229,   229,  -396,  -396,
-    -396,   229,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,
-    -396,  -396,   229,  -396,  -396,   229,  -396,   229,  -396,  -396,
-     229,  -396,  -396,  -396,  -396,  -396,  -396,  1677,  -396,    61,
-    -396,   954,  1088,   204,  -396,   131,   136,  1677,    75,  -396,
-    -396,  -396,  -396,    10,  1677,    83,  -396,   105,  -396,  -396,
-    -396,  -396,  -396,  -396,  -396,  -396,  -396,   171,  -396,  -396,
-     180,  -396,  -396,    30,  -396,  -396,  -396,  -396,  -396,  -396,
-    -396,    33,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,
-     185,  -396,  -396,  -396,  -396,  1767,  -396,    69,  -396,    74,
-    -396,  -396,  -396,   234,    29,  -396,   192,  -396,  -396,   206,
-    -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,
-    -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,
-    1677,  -396,  -396,  -396,   198,  -396,   407,  -396,   407,  -396,
-    -396,    55,    55,    55,   407,    55,  -396,  -396,   227,    55,
-     359,  -396,  -396,  -396,  -396,  -396,   200,  -396,   212,  -396,
-    -396,  -396,  -396,   185,  -396,  -396,  -396,  -396,    55,   208,
-    -396,  -396,  -396,   205,  -396,    55,   220,  -396,   -25,   223,
-     229,  -396,  -396,    20,    82,  1838,  -396,   205,  -396,  -396,
-    -396,   312,   209,  -396,  1920,  -396,   364,  -396,  -396,  -396,
-    -396,  -396,  -396,  -396,  -396,  -396,  1677,  -396,  -396,  -396,
-    -396,  -396,  -396,  -396,  -396,   143,   332,  -396,  -396,  -396,
-     112,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,   185,
-    -396,  -396,  -396,  -396,  -396,   143,   143,   143,   143,  -396,
-     219,  -396,    29,  -396,  -396,  -396,  1551,  -396,  -396,  -396,
-    -396,   407,   407,    55,  -396,   227,  -396,  -396,  1873,  -396,
-     246,  -396,  -396,    55,   240,   166,   245,   169,   245,  -396,
-     289,   249,    33,   250,  -396,  -396,  -396,   342,  -396,  -396,
-    -396,  -396,  -396,  -396,  -396,    86,  -396,   178,  -396,  -396,
-    -396,  1920,  1920,   260,  -396,  -396,   260,  -396,  -396,  -100,
-     275,  -396,   274,  -396,  -396,   232,   232,   232,  -396,  -396,
-    -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,
-    -396,    55,  -396,   166,  -396,   166,  -396,   166,   273,  -396,
-    -396,   283,  -396,  -396,   272,    67,   407,  -396,  -396,  -396,
-    -396,  -396,   289,  -396,  -396,  -396,  -396,  -396,    33,  -396,
-      33,  1920,   232,  -396,   209,   178,  -396,  -396,  -396,  -396,
-    -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,   341,    50,
-    -396,   229,  -396,    10,  1920,    83,  -396,    55,    55,  -396,
-     289,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,   -44,
-    -100,  -396,  -396,  -396,   276,  -396,   -18,   131,   136,   383,
-    1222,  -396,  -396,  -396,   292,  -396,  -396,  -396,  -396,    33,
-    -396,  -396,  -396,  -396,  -396,    55,  1920,  -396,  -396
+    -370,  1281,  -370,  -370,   -66,   -58,  -370,  -370,    -8,  -370,
+    -370,  -370,  -370,    -9,  -370,  -370,  -370,  -370,    -8,  -370,
+    -370,  -370,  -370,  -370,  1758,    -8,    15,    18,    34,    50,
+      75,    -8,  -370,  -370,  -370,  -370,   285,   168,  -370,  -370,
+    -370,  -370,  -370,  -370,  -370,   150,  -370,  -370,  -370,  -370,
+    -370,  -370,    48,    41,  -370,  -370,  -370,  -370,   168,  -370,
+    -370,    16,    -5,  -370,  -370,  -370,  -370,    84,    91,  -370,
+    -370,  -370,    74,  -370,  -370,   777,   -35,   -52,  -370,  -370,
+    1643,     7,  1528,  -370,  -370,    95,  -370,  1643,   -52,  -370,
+    -370,  -370,    75,    74,   675,   285,   285,   285,  -370,  -370,
+    -370,  -370,   117,   239,   790,   537,  -370,    10,   125,   131,
+    -370,   139,  -370,  -370,  -370,   239,  -370,   185,  -370,  -370,
+      16,  -370,  1330,  -370,  1433,    -8,    -5,   115,  1643,  -370,
+    -370,   310,   362,  -370,  -370,  -370,  -370,  -370,  -370,  -370,
+    -370,  -370,  -370,  -370,   260,  -370,   180,  -370,   -19,  -370,
+    -370,   166,   167,   187,    25,   126,    78,    -8,   106,    -8,
+      -8,   106,   355,    -8,    50,  -370,  -370,  -370,  -370,  -370,
+    -370,  -370,   106,   106,   106,  -370,  -370,   168,   106,  -370,
+    -370,  -370,  -370,  -370,  -370,  -370,  -370,  -370,  -370,   106,
+    -370,  -370,   106,  -370,   106,  -370,  -370,   106,  -370,  -370,
+    -370,  -370,  -370,  -370,  1643,  -370,    45,  -370,   913,  1036,
+     221,  -370,   166,   167,  1643,    -5,  -370,  -370,  -370,  -370,
+      26,  1643,   220,    16,   201,   207,  -370,   -15,  -370,  -370,
+    -370,  -370,  -370,  -370,  -370,  -370,  -370,   208,  -370,  -370,
+     210,  -370,  -370,    20,  -370,  -370,  -370,  -370,  -370,  -370,
+    -370,   -13,  -370,  -370,  -370,  -370,  -370,  -370,  -370,  -370,
+    -370,   211,  -370,  -370,  -370,  -370,  1757,  -370,    87,  -370,
+     135,  -370,  -370,  -370,  -370,   537,  -370,   231,  -370,   217,
+    -370,  -370,  -370,  -370,  -370,  -370,  -370,  -370,  -370,  -370,
+    -370,  -370,  -370,  -370,  -370,  -370,  -370,  -370,  -370,  -370,
+    1643,  -370,  -370,  -370,   218,   362,   362,   362,  -370,  -370,
+     362,  -370,  -370,   153,  -370,  -370,  -370,  -370,  -370,   228,
+    -370,   219,  -370,  -370,  -370,  -370,   211,  -370,  -370,  -370,
+    -370,    10,   229,  -370,  -370,  -370,   224,  -370,    10,   233,
+    -370,   120,    60,   106,   234,  -370,  -370,    40,   222,   777,
+    -370,   224,  -370,  -370,  -370,  -370,   366,   214,  -370,  1771,
+    -370,   364,  -370,  -370,  -370,  -370,  -370,  -370,  -370,  -370,
+    1643,  -370,  -370,  -370,  -370,  -370,  -370,  -370,  -370,    16,
+     259,  -370,  -370,   108,  -370,  -370,   205,  -370,  -370,  -370,
+    -370,  -370,  -370,  -370,  -370,  -370,   211,   324,  -370,  -370,
+    -370,  -370,  -370,  -370,   108,   108,   108,   108,  -370,  -370,
+     278,  -370,  -370,  1528,  -370,    10,   -35,   301,  -370,  -370,
+     260,  -370,  -370,   251,  -370,   263,    -8,   250,    63,   250,
+    -370,   399,   264,   -13,  -370,  -370,  -370,   371,  -370,  -370,
+    -370,  -370,  -370,  -370,  -370,    28,  -370,   672,  -370,  -370,
+    -370,  1771,  1771,  1771,   262,  -370,  -370,   262,  -370,  -370,
+     -62,  -370,  -370,   261,  -370,  -370,  -370,  -370,  -370,   133,
+     133,   133,  -370,  -370,  -370,  -370,  -370,  -370,  -370,  -370,
+    -370,  -370,  -370,  -370,    10,  -370,    -8,  -370,    -8,  -370,
+      -8,   268,  -370,  -370,  -370,   170,  -370,   379,    54,  -370,
+    -370,   301,  -370,  -370,  -370,   399,  -370,  -370,  -370,  -370,
+    -370,   -13,  -370,   255,  1771,   133,  -370,   214,   672,  -370,
+    -370,  -370,  -370,  -370,  -370,  -370,  -370,  -370,  -370,  -370,
+    -370,   141,   -52,  -370,   106,  -370,    26,  1771,   220,  -370,
+      10,    10,  -370,   399,  -370,  -370,  -370,  -370,  -370,  -370,
+    -370,  -370,   -13,   154,   -62,  -370,  -370,  -370,   271,  -370,
+     -14,   166,   167,   361,  1159,  -370,  -370,  -370,  -370,   280,
+    -370,  -370,  -370,  -370,  -370,   -13,  -370,  -370,  -370,  -370,
+    -370,   399,  1771,  -370,  -370
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -396,  -396,    48,  -396,    -1,  -396,    36,  -396,    -7,  -396,
-     340,  -396,   344,  -396,   -17,  -396,    -8,    26,   327,     3,
-    -396,  -396,  -396,  -396,   -33,   -26,  -396,  -396,  -396,  -396,
-    -396,   -77,  -396,  -396,    37,   -43,   -97,  -396,  -396,  -337,
-     316,  -396,   358,  -396,  -396,  -396,  -396,  -396,  -396,  -396,
-    -396,  -396,  -396,  -396,   -96,  -396,  -396,   -51,   121,   294,
-    -396,   -81,    -6,  -395,  -396,  -396,  -396,  -396,  -102,  -329,
-    -396,  -396,  -396,  -396,  -321,   -92,  -396,  -396,   194,  -396,
-     -98,   -79,   -78,   434,   -16,   -27,   373,  -396,  -396,  -396,
-    -396,   318,  -164,  -137,   -89,   317,   140,  -396,  -396,  -396,
-      31,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,  -396,
-    -396,   -50,  -396,  -396,   -87,  -396,  -101,  -225,  -148,   -74,
-    -396,    47,   -29,  -396,  -396,    59,  -396,     0,  -396,   142,
-     -64,  -396,  -122,  -396,  -396,  -126,   -52,   -58,  -396,  -274
+    -370,  -370,  -370,    -1,  -370,    44,  -370,    38,   138,   368,
+    -370,   438,  -370,    65,  -370,    56,    27,   318,     5,  -370,
+    -370,  -370,  -370,   -36,   -47,  -370,  -370,  -370,  -370,  -370,
+     -79,  -370,   -83,  -370,    36,   -37,   -95,  -370,  -370,  -369,
+     256,  -370,   354,  -370,  -370,  -370,  -370,   390,  -370,  -370,
+    -370,  -370,  -370,  -370,  -370,  -370,  -299,  -370,  -370,   -48,
+     157,   294,  -370,   -77,    -4,  -151,  -370,  -370,  -370,  -370,
+     -98,   194,  -370,  -370,  -370,  -370,  -301,   -96,  -370,  -370,
+     195,  -370,   -86,   -81,   -80,   445,   -20,   -28,   378,  -370,
+    -370,  -370,  -370,   311,  -158,  -124,    51,   313,   143,  -370,
+    -370,  -370,    42,  -370,  -370,  -370,  -370,  -370,  -370,  -370,
+    -370,  -370,  -370,   -46,  -370,  -370,   -84,   -22,  -370,  -146,
+    -213,  -143,   -78,  -370,    53,   -24,  -370,  -370,    61,  -370,
+       0,  -370,   146,   -53,  -370,  -119,  -370,  -370,   365,    -7,
+    -126,   -59,  -131,  -370,    81
 };
 
 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
    positive, shift that token.  If negative, reduce the rule which
    number is the opposite.  If zero, do what YYDEFACT says.
    If YYTABLE_NINF, syntax error.  */
-#define YYTABLE_NINF -1
-static const yytype_uint16 yytable[] =
+#define YYTABLE_NINF -371
+static const yytype_int16 yytable[] =
 {
-      41,    64,    70,    89,    48,   206,   100,   215,   216,   261,
-     151,   335,    72,   358,    88,   150,   110,   359,   388,    79,
-     260,   149,   152,   322,   447,    91,   322,   321,   360,   349,
-     321,   361,   327,   363,   418,   461,   365,    42,    55,   462,
-     422,   300,   539,    19,   106,   517,   429,   580,   211,   212,
-      41,   101,   184,   203,   210,   204,    75,   445,   540,   214,
-     305,    76,   367,    89,   103,   203,    86,   204,   367,   277,
-     108,   316,   152,   343,    88,   259,   343,   340,   104,    27,
-     384,    28,    75,   152,   256,   348,    13,    65,   444,    15,
-     205,   323,    13,   257,   303,    15,    21,   283,    32,   279,
-     252,   271,    21,    23,   258,   279,   284,   117,   294,    23,
-     523,   299,   302,   390,   289,    19,   298,   556,    41,    19,
-     581,   445,   237,   203,   521,   204,   309,   310,   311,   312,
-     313,   314,   315,    34,   111,   317,   318,   319,   543,   544,
-     545,   376,   328,   113,   384,    66,    75,   506,   507,    83,
-     282,   287,   293,   296,   384,   576,   213,   239,   332,   240,
-     388,    84,   281,    33,   292,   450,   350,   451,    33,    39,
-     115,   451,   452,   288,   453,   297,   452,   389,   453,    71,
-     322,   366,   483,   484,   399,   559,    36,    37,    67,    36,
-      37,   375,    38,    19,    36,    37,    80,    38,   378,   301,
-     153,   154,   368,   275,   105,    34,   405,   406,   554,    34,
-      67,   441,   371,   443,    36,    37,   454,    68,    69,   381,
-     454,    70,   272,   377,   379,   485,   486,   455,   407,   408,
-     447,   411,   555,   487,   161,   237,   488,   489,   490,    68,
-      69,   163,    81,   491,   164,   273,   241,   242,   417,   526,
-     203,   167,   204,   527,   424,   492,   427,   586,   528,   203,
-     493,   204,   340,    82,   494,   404,   152,   495,   428,   102,
-     239,    67,   240,   515,   415,   273,   496,   497,   485,   486,
-     385,   324,   329,    34,   345,   346,   487,   325,   351,   488,
-     489,   490,   335,   326,   241,   242,   374,   150,   382,    19,
-      68,    69,   322,   149,   481,   482,   321,   383,   492,   480,
-     419,   420,   421,   493,   423,   529,   530,   494,   425,   203,
-     495,   204,    19,   390,   531,   475,   449,   477,   478,   496,
-     497,   340,   413,   532,   409,   533,   125,   432,   416,   128,
-     414,   130,   430,   431,   439,   134,   135,   136,   137,   138,
-     474,   435,   125,   498,   459,   128,   330,   130,   237,   437,
-     499,   509,   440,   516,   335,   442,   468,   142,   519,   503,
-     417,   331,   472,   152,   463,   464,   465,   569,   466,   330,
-     510,   237,   512,   142,    93,    94,    95,    96,   514,    34,
-     210,   518,   520,   239,   331,   240,    86,    36,    37,   384,
-     241,   242,   335,   463,   464,   465,   498,   466,   121,   223,
-     224,   225,    34,   552,   542,   550,   239,   551,   240,   579,
-      36,    37,   508,   241,   242,   475,   476,   477,   478,   513,
-     582,   203,   511,   204,   585,   475,   522,   477,   478,   332,
-     561,   254,   505,   295,   557,   255,   558,   536,   573,   218,
-     537,   574,   572,   553,   337,   459,   121,   577,    77,   400,
-     567,   568,   578,   217,   566,   122,   123,   124,   125,   126,
-     127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
-     137,   138,   139,   347,   438,   352,   525,   547,   562,   548,
-     546,   549,   587,   140,   141,   560,   524,   460,     0,   142,
-     426,     0,     0,     0,     0,   566,     0,     0,   371,   570,
-       0,   332,     0,   122,   123,   124,   125,   126,   127,   128,
-     129,   130,   131,   132,   133,     0,     0,     0,     0,     0,
-     139,     0,   449,     0,     0,     0,     0,     0,     0,   381,
-       0,   140,   141,   571,   379,     0,   432,   575,     0,   332,
-       0,     0,     0,     0,     4,     5,   157,     6,     7,     0,
-     227,     0,     0,     0,     0,     9,    10,    11,    12,     0,
-       0,     0,   158,    15,    16,    17,    18,   159,    19,     0,
-      21,     0,    22,     0,   588,   160,   161,    23,   162,    24,
-       0,    25,     0,   163,    26,    27,   164,    28,   165,   166,
-      29,    30,     0,   167,     0,   168,    31,     0,     0,     0,
-       0,     0,   169,     0,    32,     0,   170,   228,     0,   229,
-     230,   171,   231,   172,   232,     0,   173,   233,     0,   174,
-       0,   234,     0,   175,   176,   235,   236,   237,     0,     0,
-       0,     0,     0,     0,     0,     0,   177,     0,   238,     0,
-     178,   179,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,    34,    35,
-     180,    75,   239,     0,   240,   181,    36,    37,     0,   241,
-     242,    86,   243,     0,     0,    39,     0,     0,     0,   182,
-     244,   245,   246,   247,   248,   219,     0,   249,   250,     0,
-       0,   251,     0,     0,     0,   157,     6,     7,     0,     8,
-       0,     0,     0,     0,     9,    10,    11,    12,     0,     0,
-       0,   158,     0,    16,    17,    18,   159,     0,     0,     0,
-       0,    22,     0,     0,   160,   161,     0,   162,    24,     0,
-      25,     0,   163,     0,    27,   164,    28,   165,   166,    29,
-      30,     0,   167,     0,   168,    31,     0,     0,     0,     0,
-       0,   169,     0,    32,   220,   170,     0,     0,     0,     0,
-     171,     0,   172,     0,     0,   173,     0,     0,   174,     0,
-       0,     0,   175,   176,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   177,     0,     0,     0,   178,
-     179,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,    35,   180,
-      75,   219,     0,     0,   181,    36,    37,     0,     0,     0,
-      86,   157,     6,     7,    39,     8,     0,     0,   182,     0,
-       9,    10,    11,    12,     0,     0,     0,   158,     0,    16,
-      17,    18,   159,     0,     0,     0,     0,    22,     0,     0,
-     160,   161,     0,   162,    24,     0,    25,     0,   163,     0,
-      27,   164,    28,   165,   166,    29,    30,     0,   167,     0,
-     168,    31,     0,     0,     0,     0,     0,   169,     0,    32,
-       0,   170,     0,     0,     0,     0,   171,     0,   172,     0,
-       0,   173,     0,     0,   174,     0,     0,     0,   175,   176,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   177,     0,     0,     0,   178,   179,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    35,   180,    75,     0,     0,     0,
-     181,    36,    37,     0,     0,   219,    86,     0,     0,     0,
-      39,   226,     0,     0,   182,   157,     6,     7,     0,     8,
-       0,     0,     0,     0,     9,    10,    11,    12,     0,     0,
-       0,   158,     0,    16,    17,    18,   159,     0,     0,     0,
-       0,    22,     0,     0,   160,   161,     0,   162,    24,     0,
-      25,     0,   163,     0,    27,   164,    28,   165,   166,    29,
-      30,     0,   167,     0,   168,    31,     0,     0,     0,     0,
-       0,   169,     0,    32,     0,   170,     0,     0,     0,     0,
-     171,     0,   172,     0,     0,   173,     0,     0,   174,     0,
-       0,     0,   175,   176,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   177,     0,     0,     0,   178,
-     179,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,    35,   180,
-      75,     0,     0,     0,   181,    36,    37,     0,     0,   219,
-      86,     0,     0,     0,    39,   372,     0,     0,   182,   157,
-       6,     7,     0,     8,     0,     0,     0,     0,     9,    10,
-      11,    12,     0,     0,     0,   158,     0,    16,    17,    18,
-     159,     0,     0,     0,     0,    22,     0,     0,   160,   161,
-       0,   162,    24,     0,    25,     0,   163,     0,    27,   164,
-      28,   165,   166,    29,    30,     0,   167,     0,   168,    31,
-       0,     0,     0,     0,     0,   169,     0,    32,     0,   170,
-       0,     0,     0,     0,   171,     0,   172,     0,     0,   173,
-       0,     0,   174,     0,     0,     0,   175,   176,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   177,
-       0,     0,     0,   178,   179,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    35,   180,    75,     0,     0,     0,   181,    36,
-      37,     0,     0,   219,    86,     0,     0,     0,    39,   373,
-       0,     0,   182,   157,     6,     7,     0,     8,     0,     0,
-       0,     0,     9,    10,    11,    12,     0,     0,     0,   158,
-       0,    16,    17,    18,   159,     0,     0,     0,     0,    22,
-       0,     0,   160,   161,     0,   162,    24,     0,    25,     0,
-     163,     0,    27,   164,    28,   165,   166,    29,    30,     0,
-     167,     0,   168,    31,     0,     0,     0,     0,     0,   169,
-       0,    32,     0,   170,     0,     0,     0,     0,   171,     0,
-     172,     0,     0,   173,     0,     0,   174,     0,     0,     0,
-     175,   176,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   177,     0,     0,     0,   178,   179,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    35,   180,    75,     0,
-       0,     0,   181,    36,    37,     2,     3,     0,    86,     0,
-       0,     0,    39,   584,     4,     5,   182,     6,     7,     0,
+      43,    66,    91,   203,    72,   104,    50,   212,   213,   262,
+      90,   343,   328,   316,    74,   352,   353,   148,   315,   328,
+     354,    81,   315,   147,   116,   314,   260,    93,   261,   314,
+     384,   355,   425,   181,   356,   207,   358,    57,   344,   360,
+     211,   320,   110,   300,   106,    44,   362,   208,   209,   451,
+     576,   452,    43,   117,   453,   362,   111,    49,   259,    19,
+      78,    19,    65,    67,    91,    27,    48,    28,   516,   532,
+      13,    68,    90,    15,   146,   132,   200,   134,   201,    13,
+      21,   303,    15,   280,    32,   533,    23,   149,   150,    21,
+     146,   113,    69,   218,   137,    23,   200,   118,   201,    69,
+     536,   537,   538,   218,   252,   273,   274,   434,    70,    71,
+     137,   237,   441,   577,   277,    70,    71,   442,   157,   443,
+      73,   299,   290,   202,   298,   159,    43,   287,   160,   287,
+      38,    39,   370,    69,   514,   163,   239,    34,   240,    34,
+     321,    85,   322,   435,    82,    41,   553,    83,    33,    70,
+      71,   444,   200,   389,   201,    77,    86,   361,   288,    19,
+     296,    38,    39,    84,    40,   302,   283,   369,   293,   508,
+     384,   112,   102,   385,   373,   363,   381,   109,   285,   262,
+     294,   121,   421,   289,   549,   297,   377,   284,   123,   396,
+      77,  -369,  -369,   476,   477,   200,   260,   201,   261,   237,
+      88,   129,   454,   455,   456,   125,   457,   218,   218,   336,
+     333,   365,   336,   404,   405,   323,   371,   237,   376,   432,
+     372,   374,    33,    72,   239,   469,   240,   471,   259,   472,
+     200,  -155,   201,   324,   383,    38,    39,    34,    40,   210,
+     555,   569,   239,   225,   240,   301,    38,    39,   276,   241,
+     242,  -370,  -370,   412,   420,    19,   275,   435,   474,   475,
+     419,   130,   131,   132,   133,   134,   403,   389,   277,    77,
+      38,    39,   305,   582,   252,   273,   135,   136,   406,   407,
+     510,   105,   137,   418,   478,   479,   421,   278,   328,   503,
+      38,    39,   480,   544,   315,   481,   482,   483,   414,   415,
+     416,   314,   484,   417,   440,   317,   441,   318,   129,   468,
+     319,   442,   368,   443,   485,   378,   338,   339,   486,   439,
+     345,  -159,   487,   465,   381,   488,   382,    69,   241,   242,
+     106,   493,   409,    34,   489,   490,   117,   430,   386,   424,
+      38,    39,   466,    70,    71,   444,   411,   413,   449,   129,
+     509,   220,   221,   222,   550,   513,   445,   148,   501,   423,
+     459,   426,   328,   500,   431,   433,   207,   428,   130,   131,
+     503,   133,   463,   467,   504,   315,   563,    95,    96,    97,
+     118,    98,   507,   135,   136,   478,   479,    88,    19,   137,
+     535,   552,   571,   480,   505,   511,   481,   482,   483,   543,
+     328,   491,   305,   575,   306,   307,   308,   578,   492,   130,
+     131,   581,   133,   408,   499,   485,   469,   470,   471,   486,
+     472,   114,   506,   487,   135,   136,   488,   454,   455,   456,
+     584,   457,    19,   513,   529,   489,   490,   530,   328,    47,
+     498,   567,   295,   568,   341,   449,   342,   215,   115,   548,
+     330,   561,   562,   560,   310,   573,   306,   307,   308,   333,
+     397,   399,   324,   469,   515,   471,    34,   472,   574,    79,
+     214,   239,   340,   240,   572,    38,    39,   346,   241,   242,
+     429,   546,   540,   539,   541,   556,   542,   518,   323,   551,
+     237,   583,   517,   554,   545,   450,   309,   560,   502,   564,
+       0,     0,   491,   365,     0,     0,   324,     0,     0,   547,
+      34,     0,     0,     0,     0,   239,     0,   240,     0,    38,
+      39,     0,   241,   242,     0,   439,     0,     0,     0,     0,
+       0,     0,   565,     0,   376,     0,   566,   374,     0,   106,
+     570,     0,     0,     0,     0,     0,     4,     5,   153,     6,
+       7,     0,   227,     0,     0,     0,     0,     9,    10,    11,
+      12,     0,     0,   218,   154,    15,    16,    17,    18,   155,
+      19,    20,    21,     0,    22,     0,   156,   157,    23,   158,
+      24,     0,    25,     0,   159,    26,    27,   160,    28,   161,
+     162,    29,    30,     0,   163,   117,   164,    31,     0,     0,
+       0,     0,     0,   165,     0,    32,     0,   166,   228,     0,
+     229,   230,   167,   231,   168,   232,     0,   169,   233,     0,
+     170,     0,   234,     0,   171,   172,   235,   236,   237,     0,
+       0,     0,     0,     0,     0,     0,     0,   173,     0,   118,
+     174,     0,   238,     0,   175,   176,     0,     0,    34,    35,
+      36,   177,    77,   239,     0,   240,   178,    38,    39,     0,
+     241,   242,    88,   243,     0,     0,    41,     0,     0,     0,
+     179,   244,   245,   246,   247,   248,   216,     0,   249,   250,
+       0,     0,   251,     0,     0,     0,   153,     6,     7,     0,
        8,     0,     0,     0,     0,     9,    10,    11,    12,     0,
-      13,    14,     0,    15,    16,    17,    18,     0,    19,    20,
-      21,     0,    22,     0,     0,     0,     0,    23,     0,    24,
-       0,    25,     0,     0,    26,    27,     0,    28,   278,     0,
-      29,    30,     0,     0,     0,     0,    31,     5,     0,     6,
-       7,     0,     8,     0,    32,     0,     0,     9,    10,    11,
-      12,     0,    13,     0,     0,    15,    16,    17,    18,     0,
-      19,    20,    21,     0,    22,   279,     0,     0,     0,    23,
-       0,    24,     0,    25,     0,     0,    26,    27,     0,    28,
-      33,     0,    29,    30,     0,     0,     0,     0,    31,     0,
-       0,     0,     0,     0,     0,     0,    32,     0,    34,    35,
-       0,     0,     0,     0,     0,     0,    36,    37,     0,    38,
-       0,   290,     0,     0,     0,    39,     0,     0,     0,     0,
-       0,     0,     6,     7,     0,     8,     0,     0,     0,     0,
+       0,     0,   154,     0,    16,    17,    18,   155,     0,     0,
+       0,     0,    22,     0,   156,   157,     0,   158,    24,     0,
+      25,     0,   159,     0,    27,   160,    28,   161,   162,    29,
+      30,     0,   163,     0,   164,    31,     0,     0,     0,     0,
+       0,   165,   519,    32,   217,   166,   520,     0,     0,     0,
+     167,   521,   168,     0,     0,   169,     0,     0,   170,     0,
+       0,     0,   171,   172,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   173,     0,     0,   174,     0,
+       0,     0,   175,   176,     0,     0,     0,     0,    36,   177,
+      77,   216,     0,     0,   178,    38,    39,     0,   522,   523,
+      88,   153,     6,     7,    41,     8,     0,   524,   179,     0,
+       9,    10,    11,    12,     0,     0,   525,   154,   526,    16,
+      17,    18,   155,     0,     0,   129,     0,    22,     0,   156,
+     157,     0,   158,    24,     0,    25,     0,   159,     0,    27,
+     160,    28,   161,   162,    29,    30,     0,   163,     0,   164,
+      31,     0,     0,     0,     0,     0,   165,     0,    32,     0,
+     166,     0,     0,     0,     0,   167,     0,   168,     0,     0,
+     169,     0,     0,   170,     0,     0,     0,   171,   172,     0,
+       0,     0,     0,     0,     0,   130,   131,   132,   133,   134,
+     173,     0,     0,   174,     0,     0,     0,   175,   176,     0,
+     135,   136,     0,    36,   177,    77,   137,     0,     0,   178,
+      38,    39,     0,     0,   216,    88,     0,     0,     0,    41,
+     226,     0,     0,   179,   153,     6,     7,     0,     8,     0,
+       0,     0,     0,     9,    10,    11,    12,     0,     0,     0,
+     154,     0,    16,    17,    18,   155,     0,     0,     0,     0,
+      22,     0,   156,   157,     0,   158,    24,     0,    25,     0,
+     159,     0,    27,   160,    28,   161,   162,    29,    30,     0,
+     163,     0,   164,    31,     0,     0,     0,     0,     0,   165,
+       0,    32,     0,   166,     0,     0,     0,     0,   167,     0,
+     168,     0,     0,   169,     0,     0,   170,     0,     0,     0,
+     171,   172,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   173,     0,     0,   174,     0,     0,     0,
+     175,   176,     0,     0,     0,     0,    36,   177,    77,     0,
+       0,     0,   178,    38,    39,     0,     0,   216,    88,     0,
+       0,     0,    41,   366,     0,     0,   179,   153,     6,     7,
+       0,     8,     0,     0,     0,     0,     9,    10,    11,    12,
+       0,     0,     0,   154,     0,    16,    17,    18,   155,     0,
+       0,     0,     0,    22,     0,   156,   157,     0,   158,    24,
+       0,    25,     0,   159,     0,    27,   160,    28,   161,   162,
+      29,    30,     0,   163,     0,   164,    31,     0,     0,     0,
+       0,     0,   165,     0,    32,     0,   166,     0,     0,     0,
+       0,   167,     0,   168,     0,     0,   169,     0,     0,   170,
+       0,     0,     0,   171,   172,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   173,     0,     0,   174,
+       0,     0,     0,   175,   176,     0,     0,     0,     0,    36,
+     177,    77,     0,     0,     0,   178,    38,    39,     0,     0,
+     216,    88,     0,     0,     0,    41,   367,     0,     0,   179,
+     153,     6,     7,     0,     8,     0,     0,     0,     0,     9,
+      10,    11,    12,     0,     0,     0,   154,     0,    16,    17,
+      18,   155,     0,     0,     0,     0,    22,     0,   156,   157,
+       0,   158,    24,     0,    25,     0,   159,     0,    27,   160,
+      28,   161,   162,    29,    30,     0,   163,     0,   164,    31,
+       0,     0,     0,     0,     0,   165,     0,    32,     0,   166,
+       0,     0,     0,     0,   167,     0,   168,     0,     0,   169,
+       0,     0,   170,     0,     0,     0,   171,   172,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   173,
+       0,     0,   174,     0,     0,     0,   175,   176,     0,     0,
+       0,     0,    36,   177,    77,     0,     0,     0,   178,    38,
+      39,     2,     3,     0,    88,     0,     0,     0,    41,   580,
+       4,     5,   179,     6,     7,     0,     8,     0,     0,     0,
+       0,     9,    10,    11,    12,     0,    13,    14,     0,    15,
+      16,    17,    18,     0,    19,    20,    21,     0,    22,     0,
+       0,     0,    23,     0,    24,     0,    25,     0,     0,    26,
+      27,   281,    28,     0,     0,    29,    30,     0,     0,     0,
+       5,    31,     6,     7,     0,     8,     0,     0,     0,    32,
        9,    10,    11,    12,     0,    13,     0,     0,    15,    16,
-      17,    18,     0,    19,    20,    21,     0,    22,   279,     0,
-      34,    35,    23,     0,    24,     0,    25,     0,     0,    26,
-      27,     0,    28,     0,     0,    29,    30,    39,   280,     0,
-       0,    31,     0,     0,     0,     0,     0,     0,     0,    32,
-       0,     0,   157,     6,     7,     0,     8,     0,     0,     0,
-       0,     9,    10,    11,    12,     0,     0,     0,   158,     0,
-      16,    17,    18,   159,     0,     0,     0,     0,    22,     0,
-       0,   160,   161,     0,   162,    24,     0,    25,     0,   163,
-       0,    27,   164,    28,   165,   166,    29,    30,     0,   167,
-       0,   168,    31,    34,    35,     0,     0,     0,   169,     0,
-      32,     0,   170,     0,     0,     0,     0,   171,     0,   172,
-      39,   291,   173,     0,     0,   174,     0,     0,     0,   175,
-     176,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   177,     0,     0,     0,   178,   179,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,    35,   180,    75,     0,     0,
-       0,   181,     0,     0,   208,     0,     0,    86,   157,     6,
-       7,    39,     8,     0,     0,   182,     0,     9,    10,    11,
-      12,     0,     0,     0,   158,     0,    16,    17,    18,   159,
-       0,     0,     0,     0,    22,     0,     0,   160,   161,     0,
-     162,    24,     0,    25,     0,   163,     0,    27,   164,    28,
-     165,   166,    29,    30,     0,   167,     0,   168,    31,     0,
-       0,     0,     0,     0,   169,     0,    32,     0,   170,     0,
-       0,     0,     0,   171,     0,   172,     0,     0,   173,     0,
-       0,   174,     0,     0,     0,   175,   176,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   177,     0,
-       0,     0,   178,   179,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-      19,    35,   180,    75,     0,     0,     0,   181,     0,     0,
-       0,     0,     0,    86,     0,     6,     7,    39,     8,     0,
-       0,   182,     0,     9,    10,    11,    12,     0,     0,     0,
-       0,     0,    16,    17,    18,   391,     0,     0,     0,   228,
-      22,   229,   230,     0,   231,     0,   232,    24,     0,    25,
-       0,     0,     0,    27,     0,    28,     0,   392,    29,    30,
-       0,     0,     0,     0,    31,     0,     0,     0,     0,     0,
-     238,     0,    32,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   121,     0,     0,
-      34,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   241,   242,     0,   393,   394,     0,     0,     0,     0,
-     395,   396,   244,   245,   246,   247,   248,     0,     0,   397,
-     398,     0,   121,   251,     0,     0,     0,    35,     0,    75,
+      17,    18,     0,    19,    20,    21,     0,    22,     0,     0,
+       0,    23,     0,    24,     0,    25,     0,     0,    26,    27,
+       0,    28,     0,     0,    29,    30,     0,     0,    33,     0,
+      31,     0,    34,    35,    36,    37,     0,     0,    32,     0,
+       0,    38,    39,     0,    40,     0,     0,     0,     0,     0,
+      41,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    39,   122,   123,   124,   125,   126,   127,
-     128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
-     138,   139,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   140,   141,     0,     0,     0,     0,   142,   122,
-     123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
-     133,     0,   228,     0,   229,   230,   139,   231,     0,   232,
-       0,     0,   233,     0,     0,     0,   234,   140,   141,     0,
-       0,   236,     0,   142,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   238,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   291,     0,     0,     0,     0,     0,
+       0,    34,    35,    36,    37,     6,     7,     0,     8,     0,
+       0,     0,     0,     9,    10,    11,    12,     0,    13,    41,
+     282,    15,    16,    17,    18,     0,    19,    20,    21,     0,
+      22,     0,     0,     0,    23,     0,    24,     0,    25,     0,
+       0,    26,    27,     0,    28,     0,     0,    29,    30,     0,
+       0,     0,     0,    31,     0,     0,     0,     0,     0,     0,
+       0,    32,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   470,     0,     0,
-       0,     0,     0,     0,     0,   244,   245,   246,   247,   248,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   153,
+       6,     7,     0,     8,    34,    35,    36,    37,     9,    10,
+      11,    12,     0,     0,     0,   154,     0,    16,    17,    18,
+     155,     0,    41,   292,     0,    22,     0,   156,   157,     0,
+     158,    24,     0,    25,     0,   159,     0,    27,   160,    28,
+     161,   162,    29,    30,     0,   163,     0,   164,    31,     0,
+       0,     0,     0,     0,   165,     0,    32,     0,   166,     0,
+       0,     0,     0,   167,     0,   168,     0,     0,   169,     0,
+       0,   170,     0,     0,     0,   171,   172,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   173,     0,
+       0,   174,     0,     0,     0,   175,   176,     0,     0,     0,
+       0,    36,   177,    77,     0,     0,     0,   178,     0,     0,
+     205,     0,     0,    88,   153,     6,     7,    41,     8,     0,
+       0,   179,     0,     9,    10,    11,    12,     0,     0,     0,
+     154,     0,    16,    17,    18,   155,     0,     0,     0,     0,
+      22,     0,   156,   157,     0,   158,    24,     0,    25,     0,
+     159,     0,    27,   160,    28,   161,   162,    29,    30,     0,
+     163,     0,   164,    31,     0,     0,     0,     0,     0,   165,
+       0,    32,     0,   166,     0,     0,     0,     0,   167,     0,
+     168,     0,     0,   169,     0,     0,   170,     0,     0,     0,
+     171,   172,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   173,     0,     0,   174,     0,     0,     0,
+     175,   176,     0,     0,     0,     0,    36,   177,    77,     0,
+       0,     0,   178,     0,     0,     0,     0,     0,    88,     0,
+       6,     7,    41,     8,     0,     0,   179,     0,     9,    10,
+      11,    12,     0,     0,     0,     0,     0,    16,    17,    18,
+      19,     0,     0,     0,     0,    22,     0,     0,     0,     0,
+       0,    24,     0,    25,     0,     0,     0,    27,     0,    28,
+       0,     0,    29,    30,     0,     0,     0,     0,    31,     0,
+       0,     0,     0,     0,   387,     0,    32,     0,   228,     0,
+     229,   230,     0,   231,     0,   232,     0,     0,     0,     0,
+       0,     0,   228,     0,   229,   230,   388,   231,     0,   232,
+       0,     0,   233,     0,     0,     0,   234,     0,     0,     0,
+       0,   236,   238,     0,     0,     0,     0,     0,    34,     0,
+     389,    36,    37,    77,     0,     0,   238,     0,     0,     0,
+     241,   242,     0,   390,   391,     0,     0,    41,     0,   392,
+     393,   244,   245,   246,   247,   248,     0,   461,   394,   395,
+       0,     0,   251,     0,     0,   244,   245,   246,   247,   248,
        0,     0,   249,   250,     0,     0,   251
 };
 
 static const yytype_int16 yycheck[] =
 {
-       1,     1,     8,    30,     1,    79,    39,    86,    86,   101,
-      74,   159,    18,   177,    30,    73,    59,   181,   243,    25,
-     101,    73,    74,   149,   353,    31,   152,   149,   192,   166,
-     152,   195,    16,   197,   308,   356,   200,     1,     1,   360,
-     314,   118,   142,    33,    51,   440,   320,    65,    81,    82,
-      51,   142,    78,    90,    80,    92,   126,   101,   158,    85,
-     124,    24,     1,    90,     1,    90,   136,    92,     1,   112,
-       4,   135,   124,   162,    90,   101,   165,   102,    15,    50,
-     124,    52,   126,   135,   101,   166,    25,   140,    68,    28,
-     127,   149,    25,   101,   120,    28,    35,   114,    69,    38,
-     101,   101,    35,    42,   101,    38,   114,   142,   116,    42,
-     447,   117,   119,   138,   114,    33,   116,   512,   119,    33,
-     138,   101,    92,    90,   445,    92,   127,   128,   129,   130,
-     131,   132,   133,   123,    59,   136,   137,   138,   475,   476,
-     477,   218,   126,    97,   124,   140,   126,   421,   422,    92,
-     114,   114,   116,   116,   124,   550,   155,   127,   159,   129,
-     385,   104,   114,   105,   116,    83,   166,    85,   105,   140,
-      97,    85,    90,   114,    92,   116,    90,   251,    92,   140,
-     306,   207,   407,   408,   265,   522,   131,   132,   105,   131,
-     132,   217,   134,    33,   131,   132,   140,   134,   224,   141,
-     150,   151,   141,     4,   141,   123,   137,   138,   141,   123,
-     105,   348,   209,   350,   131,   132,   134,   134,   135,   225,
-     134,   227,   128,   223,   225,     6,     7,   145,   154,   155,
-     559,   274,   506,    14,    41,    92,    17,    18,    19,   134,
-     135,    48,   140,    24,    51,   140,   134,   135,   306,    71,
-      90,    58,    92,    75,   318,    36,   320,   578,    80,    90,
-      41,    92,   102,   140,    45,   265,   318,    48,   320,   140,
-     127,   105,   129,   104,   300,   140,    57,    58,     6,     7,
-     137,   150,    16,   123,   163,   164,    14,   151,   167,    17,
-      18,    19,   440,   134,   134,   135,    92,   355,   127,    33,
-     134,   135,   428,   355,   405,   406,   428,   127,    36,   390,
-     311,   312,   313,    41,   315,   137,   138,    45,   319,    90,
-      48,    92,    33,   138,   146,    93,   353,    95,    96,    57,
-      58,   102,   140,   155,   100,   157,   109,   338,   140,   112,
-     134,   114,   142,   131,   345,   118,   119,   120,   121,   122,
-     376,   143,   109,   134,   354,   112,    90,   114,    92,   154,
-     141,   425,   142,   437,   512,   142,   157,   140,   442,   412,
-     428,   105,     8,   425,    62,    63,    64,   541,    66,    90,
-     134,    92,   142,   140,    93,    94,    95,    96,   143,   123,
-     416,   142,   142,   127,   105,   129,   136,   131,   132,   124,
-     134,   135,   550,    62,    63,    64,   134,    66,    49,    93,
-      94,    95,   123,   141,   140,   142,   127,   134,   129,   143,
-     131,   132,   423,   134,   135,    93,    94,    95,    96,   435,
-      47,    90,   433,    92,   142,    93,    94,    95,    96,   440,
-      99,   101,   416,   116,   518,   101,   520,   463,   545,    91,
-     466,   547,   544,   504,   160,   455,    49,   559,    24,   265,
-     539,   539,   560,    90,   538,   106,   107,   108,   109,   110,
-     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
-     121,   122,   123,   165,   344,   168,   455,   493,   538,   495,
-     491,   497,   579,   134,   135,   524,   449,   355,    -1,   140,
-     141,    -1,    -1,    -1,    -1,   579,    -1,    -1,   505,   542,
-      -1,   512,    -1,   106,   107,   108,   109,   110,   111,   112,
-     113,   114,   115,   116,   117,    -1,    -1,    -1,    -1,    -1,
-     123,    -1,   559,    -1,    -1,    -1,    -1,    -1,    -1,   545,
-      -1,   134,   135,   543,   545,    -1,   547,   548,    -1,   550,
-      -1,    -1,    -1,    -1,     9,    10,    11,    12,    13,    -1,
-      15,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    -1,
-      -1,    -1,    27,    28,    29,    30,    31,    32,    33,    -1,
-      35,    -1,    37,    -1,   585,    40,    41,    42,    43,    44,
-      -1,    46,    -1,    48,    49,    50,    51,    52,    53,    54,
-      55,    56,    -1,    58,    -1,    60,    61,    -1,    -1,    -1,
-      -1,    -1,    67,    -1,    69,    -1,    71,    72,    -1,    74,
-      75,    76,    77,    78,    79,    -1,    81,    82,    -1,    84,
-      -1,    86,    -1,    88,    89,    90,    91,    92,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,   103,    -1,
-     105,   106,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   123,   124,
-     125,   126,   127,    -1,   129,   130,   131,   132,    -1,   134,
-     135,   136,   137,    -1,    -1,   140,    -1,    -1,    -1,   144,
-     145,   146,   147,   148,   149,     1,    -1,   152,   153,    -1,
-      -1,   156,    -1,    -1,    -1,    11,    12,    13,    -1,    15,
-      -1,    -1,    -1,    -1,    20,    21,    22,    23,    -1,    -1,
-      -1,    27,    -1,    29,    30,    31,    32,    -1,    -1,    -1,
-      -1,    37,    -1,    -1,    40,    41,    -1,    43,    44,    -1,
-      46,    -1,    48,    -1,    50,    51,    52,    53,    54,    55,
-      56,    -1,    58,    -1,    60,    61,    -1,    -1,    -1,    -1,
-      -1,    67,    -1,    69,    70,    71,    -1,    -1,    -1,    -1,
-      76,    -1,    78,    -1,    -1,    81,    -1,    -1,    84,    -1,
-      -1,    -1,    88,    89,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   101,    -1,    -1,    -1,   105,
-     106,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   124,   125,
-     126,     1,    -1,    -1,   130,   131,   132,    -1,    -1,    -1,
-     136,    11,    12,    13,   140,    15,    -1,    -1,   144,    -1,
-      20,    21,    22,    23,    -1,    -1,    -1,    27,    -1,    29,
-      30,    31,    32,    -1,    -1,    -1,    -1,    37,    -1,    -1,
-      40,    41,    -1,    43,    44,    -1,    46,    -1,    48,    -1,
-      50,    51,    52,    53,    54,    55,    56,    -1,    58,    -1,
-      60,    61,    -1,    -1,    -1,    -1,    -1,    67,    -1,    69,
-      -1,    71,    -1,    -1,    -1,    -1,    76,    -1,    78,    -1,
-      -1,    81,    -1,    -1,    84,    -1,    -1,    -1,    88,    89,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   101,    -1,    -1,    -1,   105,   106,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   124,   125,   126,    -1,    -1,    -1,
-     130,   131,   132,    -1,    -1,     1,   136,    -1,    -1,    -1,
-     140,   141,    -1,    -1,   144,    11,    12,    13,    -1,    15,
-      -1,    -1,    -1,    -1,    20,    21,    22,    23,    -1,    -1,
-      -1,    27,    -1,    29,    30,    31,    32,    -1,    -1,    -1,
-      -1,    37,    -1,    -1,    40,    41,    -1,    43,    44,    -1,
-      46,    -1,    48,    -1,    50,    51,    52,    53,    54,    55,
-      56,    -1,    58,    -1,    60,    61,    -1,    -1,    -1,    -1,
-      -1,    67,    -1,    69,    -1,    71,    -1,    -1,    -1,    -1,
-      76,    -1,    78,    -1,    -1,    81,    -1,    -1,    84,    -1,
-      -1,    -1,    88,    89,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   101,    -1,    -1,    -1,   105,
-     106,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   124,   125,
-     126,    -1,    -1,    -1,   130,   131,   132,    -1,    -1,     1,
-     136,    -1,    -1,    -1,   140,   141,    -1,    -1,   144,    11,
-      12,    13,    -1,    15,    -1,    -1,    -1,    -1,    20,    21,
-      22,    23,    -1,    -1,    -1,    27,    -1,    29,    30,    31,
-      32,    -1,    -1,    -1,    -1,    37,    -1,    -1,    40,    41,
-      -1,    43,    44,    -1,    46,    -1,    48,    -1,    50,    51,
-      52,    53,    54,    55,    56,    -1,    58,    -1,    60,    61,
-      -1,    -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,
-      -1,    -1,    -1,    -1,    76,    -1,    78,    -1,    -1,    81,
-      -1,    -1,    84,    -1,    -1,    -1,    88,    89,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,
-      -1,    -1,    -1,   105,   106,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   124,   125,   126,    -1,    -1,    -1,   130,   131,
-     132,    -1,    -1,     1,   136,    -1,    -1,    -1,   140,   141,
-      -1,    -1,   144,    11,    12,    13,    -1,    15,    -1,    -1,
-      -1,    -1,    20,    21,    22,    23,    -1,    -1,    -1,    27,
-      -1,    29,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
-      -1,    -1,    40,    41,    -1,    43,    44,    -1,    46,    -1,
-      48,    -1,    50,    51,    52,    53,    54,    55,    56,    -1,
-      58,    -1,    60,    61,    -1,    -1,    -1,    -1,    -1,    67,
-      -1,    69,    -1,    71,    -1,    -1,    -1,    -1,    76,    -1,
-      78,    -1,    -1,    81,    -1,    -1,    84,    -1,    -1,    -1,
-      88,    89,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   101,    -1,    -1,    -1,   105,   106,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   124,   125,   126,    -1,
-      -1,    -1,   130,   131,   132,     0,     1,    -1,   136,    -1,
-      -1,    -1,   140,   141,     9,    10,   144,    12,    13,    -1,
+       1,     1,    30,    81,     8,    41,     1,    88,    88,   105,
+      30,   162,   155,   144,    18,   173,   174,    76,   144,   162,
+     178,    25,   148,    76,    61,   144,   105,    31,   105,   148,
+     243,   189,   331,    80,   192,    82,   194,     1,   162,   197,
+      87,    16,     1,   126,    45,     1,     1,    83,    84,   350,
+      64,   352,    53,    58,   355,     1,    15,     1,   105,    33,
+      24,    33,     1,   129,    92,    49,     1,    51,   437,   131,
+      25,   129,    92,    28,   109,   110,    89,   112,    91,    25,
+      35,   128,    28,   120,    68,   147,    41,   139,   140,    35,
+     109,    53,   107,    94,   129,    41,    89,   102,    91,   107,
+     469,   470,   471,   104,   105,   105,   107,    67,   123,   124,
+     129,    91,    84,   127,   129,   123,   124,    89,    40,    91,
+     129,   125,   122,   116,   124,    47,   127,   122,    50,   124,
+     120,   121,   215,   107,   435,    57,   116,   111,   118,   111,
+     115,    91,    16,   103,   129,   129,   515,   129,   107,   123,
+     124,   123,    89,   113,    91,   115,   106,   204,   122,    33,
+     124,   120,   121,   129,   123,   127,   122,   214,   124,   106,
+     383,   130,     4,   251,   221,   130,   116,   129,   122,   275,
+     124,    97,   313,   122,   130,   124,   223,   122,    97,   266,
+     115,   131,   132,   406,   407,    89,   275,    91,   275,    91,
+     125,    48,    61,    62,    63,   131,    65,   208,   209,   158,
+     104,   206,   161,   126,   127,    89,   220,    91,   222,   343,
+     220,   222,   107,   227,   116,    92,   118,    94,   275,    96,
+      89,   114,    91,   107,   126,   120,   121,   111,   123,   144,
+      99,   540,   116,     4,   118,   130,   120,   121,   117,   123,
+     124,   131,   132,   300,   313,    33,   131,   103,   404,   405,
+     313,   108,   109,   110,   111,   112,   266,   113,   129,   115,
+     120,   121,    92,   574,   275,   275,   123,   124,   143,   144,
+     431,   131,   129,   130,     6,     7,   417,   102,   431,   420,
+     120,   121,    14,   123,   420,    17,    18,    19,   305,   306,
+     307,   420,    24,   310,    82,   139,    84,   140,    48,   386,
+     123,    89,    91,    91,    36,   114,   159,   160,    40,   347,
+     163,   114,    44,   370,   116,    47,   116,   107,   123,   124,
+     331,   410,   101,   111,    56,    57,    58,   338,   127,   120,
+     120,   121,   379,   123,   124,   123,   129,   129,   348,    48,
+     428,    95,    96,    97,   505,   433,   134,   416,   417,   131,
+     146,   132,   505,   416,   131,   131,   413,   143,   108,   109,
+     501,   111,     8,   114,   123,   501,   534,    92,    93,    94,
+     102,    96,   132,   123,   124,     6,     7,   125,    33,   129,
+     129,   136,   543,    14,   131,   131,    17,    18,    19,   131,
+     543,   123,    92,   132,    94,    95,    96,    46,   130,   108,
+     109,   131,   111,   275,   415,    36,    92,    93,    94,    40,
+      96,    53,   426,    44,   123,   124,    47,    61,    62,    63,
+     581,    65,    33,   511,   454,    56,    57,   457,   581,     1,
+     413,   537,   124,   538,    89,   445,    91,    93,    58,   497,
+     156,   532,   532,   531,    92,   553,    94,    95,    96,   104,
+     266,   266,   107,    92,    93,    94,   111,    96,   554,    24,
+      92,   116,   161,   118,   552,   120,   121,   164,   123,   124,
+     337,   102,   486,   484,   488,   531,   490,   445,    89,   511,
+      91,   575,   439,   517,   495,   349,   131,   575,   417,   535,
+      -1,    -1,   123,   498,    -1,    -1,   107,    -1,    -1,   130,
+     111,    -1,    -1,    -1,    -1,   116,    -1,   118,    -1,   120,
+     121,    -1,   123,   124,    -1,   553,    -1,    -1,    -1,    -1,
+      -1,    -1,   536,    -1,   538,    -1,   536,   538,    -1,   540,
+     541,    -1,    -1,    -1,    -1,    -1,     9,    10,    11,    12,
+      13,    -1,    15,    -1,    -1,    -1,    -1,    20,    21,    22,
+      23,    -1,    -1,   564,    27,    28,    29,    30,    31,    32,
+      33,    34,    35,    -1,    37,    -1,    39,    40,    41,    42,
+      43,    -1,    45,    -1,    47,    48,    49,    50,    51,    52,
+      53,    54,    55,    -1,    57,    58,    59,    60,    -1,    -1,
+      -1,    -1,    -1,    66,    -1,    68,    -1,    70,    71,    -1,
+      73,    74,    75,    76,    77,    78,    -1,    80,    81,    -1,
+      83,    -1,    85,    -1,    87,    88,    89,    90,    91,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,   102,
+     103,    -1,   105,    -1,   107,   108,    -1,    -1,   111,   112,
+     113,   114,   115,   116,    -1,   118,   119,   120,   121,    -1,
+     123,   124,   125,   126,    -1,    -1,   129,    -1,    -1,    -1,
+     133,   134,   135,   136,   137,   138,     1,    -1,   141,   142,
+      -1,    -1,   145,    -1,    -1,    -1,    11,    12,    13,    -1,
       15,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    -1,
-      25,    26,    -1,    28,    29,    30,    31,    -1,    33,    34,
-      35,    -1,    37,    -1,    -1,    -1,    -1,    42,    -1,    44,
-      -1,    46,    -1,    -1,    49,    50,    -1,    52,     1,    -1,
-      55,    56,    -1,    -1,    -1,    -1,    61,    10,    -1,    12,
-      13,    -1,    15,    -1,    69,    -1,    -1,    20,    21,    22,
-      23,    -1,    25,    -1,    -1,    28,    29,    30,    31,    -1,
-      33,    34,    35,    -1,    37,    38,    -1,    -1,    -1,    42,
-      -1,    44,    -1,    46,    -1,    -1,    49,    50,    -1,    52,
-     105,    -1,    55,    56,    -1,    -1,    -1,    -1,    61,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    69,    -1,   123,   124,
-      -1,    -1,    -1,    -1,    -1,    -1,   131,   132,    -1,   134,
-      -1,     1,    -1,    -1,    -1,   140,    -1,    -1,    -1,    -1,
-      -1,    -1,    12,    13,    -1,    15,    -1,    -1,    -1,    -1,
+      -1,    -1,    27,    -1,    29,    30,    31,    32,    -1,    -1,
+      -1,    -1,    37,    -1,    39,    40,    -1,    42,    43,    -1,
+      45,    -1,    47,    -1,    49,    50,    51,    52,    53,    54,
+      55,    -1,    57,    -1,    59,    60,    -1,    -1,    -1,    -1,
+      -1,    66,    70,    68,    69,    70,    74,    -1,    -1,    -1,
+      75,    79,    77,    -1,    -1,    80,    -1,    -1,    83,    -1,
+      -1,    -1,    87,    88,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,   103,    -1,
+      -1,    -1,   107,   108,    -1,    -1,    -1,    -1,   113,   114,
+     115,     1,    -1,    -1,   119,   120,   121,    -1,   126,   127,
+     125,    11,    12,    13,   129,    15,    -1,   135,   133,    -1,
+      20,    21,    22,    23,    -1,    -1,   144,    27,   146,    29,
+      30,    31,    32,    -1,    -1,    48,    -1,    37,    -1,    39,
+      40,    -1,    42,    43,    -1,    45,    -1,    47,    -1,    49,
+      50,    51,    52,    53,    54,    55,    -1,    57,    -1,    59,
+      60,    -1,    -1,    -1,    -1,    -1,    66,    -1,    68,    -1,
+      70,    -1,    -1,    -1,    -1,    75,    -1,    77,    -1,    -1,
+      80,    -1,    -1,    83,    -1,    -1,    -1,    87,    88,    -1,
+      -1,    -1,    -1,    -1,    -1,   108,   109,   110,   111,   112,
+     100,    -1,    -1,   103,    -1,    -1,    -1,   107,   108,    -1,
+     123,   124,    -1,   113,   114,   115,   129,    -1,    -1,   119,
+     120,   121,    -1,    -1,     1,   125,    -1,    -1,    -1,   129,
+     130,    -1,    -1,   133,    11,    12,    13,    -1,    15,    -1,
+      -1,    -1,    -1,    20,    21,    22,    23,    -1,    -1,    -1,
+      27,    -1,    29,    30,    31,    32,    -1,    -1,    -1,    -1,
+      37,    -1,    39,    40,    -1,    42,    43,    -1,    45,    -1,
+      47,    -1,    49,    50,    51,    52,    53,    54,    55,    -1,
+      57,    -1,    59,    60,    -1,    -1,    -1,    -1,    -1,    66,
+      -1,    68,    -1,    70,    -1,    -1,    -1,    -1,    75,    -1,
+      77,    -1,    -1,    80,    -1,    -1,    83,    -1,    -1,    -1,
+      87,    88,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   100,    -1,    -1,   103,    -1,    -1,    -1,
+     107,   108,    -1,    -1,    -1,    -1,   113,   114,   115,    -1,
+      -1,    -1,   119,   120,   121,    -1,    -1,     1,   125,    -1,
+      -1,    -1,   129,   130,    -1,    -1,   133,    11,    12,    13,
+      -1,    15,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
+      -1,    -1,    -1,    27,    -1,    29,    30,    31,    32,    -1,
+      -1,    -1,    -1,    37,    -1,    39,    40,    -1,    42,    43,
+      -1,    45,    -1,    47,    -1,    49,    50,    51,    52,    53,
+      54,    55,    -1,    57,    -1,    59,    60,    -1,    -1,    -1,
+      -1,    -1,    66,    -1,    68,    -1,    70,    -1,    -1,    -1,
+      -1,    75,    -1,    77,    -1,    -1,    80,    -1,    -1,    83,
+      -1,    -1,    -1,    87,    88,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,    -1,   103,
+      -1,    -1,    -1,   107,   108,    -1,    -1,    -1,    -1,   113,
+     114,   115,    -1,    -1,    -1,   119,   120,   121,    -1,    -1,
+       1,   125,    -1,    -1,    -1,   129,   130,    -1,    -1,   133,
+      11,    12,    13,    -1,    15,    -1,    -1,    -1,    -1,    20,
+      21,    22,    23,    -1,    -1,    -1,    27,    -1,    29,    30,
+      31,    32,    -1,    -1,    -1,    -1,    37,    -1,    39,    40,
+      -1,    42,    43,    -1,    45,    -1,    47,    -1,    49,    50,
+      51,    52,    53,    54,    55,    -1,    57,    -1,    59,    60,
+      -1,    -1,    -1,    -1,    -1,    66,    -1,    68,    -1,    70,
+      -1,    -1,    -1,    -1,    75,    -1,    77,    -1,    -1,    80,
+      -1,    -1,    83,    -1,    -1,    -1,    87,    88,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
+      -1,    -1,   103,    -1,    -1,    -1,   107,   108,    -1,    -1,
+      -1,    -1,   113,   114,   115,    -1,    -1,    -1,   119,   120,
+     121,     0,     1,    -1,   125,    -1,    -1,    -1,   129,   130,
+       9,    10,   133,    12,    13,    -1,    15,    -1,    -1,    -1,
+      -1,    20,    21,    22,    23,    -1,    25,    26,    -1,    28,
+      29,    30,    31,    -1,    33,    34,    35,    -1,    37,    -1,
+      -1,    -1,    41,    -1,    43,    -1,    45,    -1,    -1,    48,
+      49,     1,    51,    -1,    -1,    54,    55,    -1,    -1,    -1,
+      10,    60,    12,    13,    -1,    15,    -1,    -1,    -1,    68,
       20,    21,    22,    23,    -1,    25,    -1,    -1,    28,    29,
-      30,    31,    -1,    33,    34,    35,    -1,    37,    38,    -1,
-     123,   124,    42,    -1,    44,    -1,    46,    -1,    -1,    49,
-      50,    -1,    52,    -1,    -1,    55,    56,   140,   141,    -1,
-      -1,    61,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,
-      -1,    -1,    11,    12,    13,    -1,    15,    -1,    -1,    -1,
-      -1,    20,    21,    22,    23,    -1,    -1,    -1,    27,    -1,
-      29,    30,    31,    32,    -1,    -1,    -1,    -1,    37,    -1,
-      -1,    40,    41,    -1,    43,    44,    -1,    46,    -1,    48,
-      -1,    50,    51,    52,    53,    54,    55,    56,    -1,    58,
-      -1,    60,    61,   123,   124,    -1,    -1,    -1,    67,    -1,
-      69,    -1,    71,    -1,    -1,    -1,    -1,    76,    -1,    78,
-     140,   141,    81,    -1,    -1,    84,    -1,    -1,    -1,    88,
-      89,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   101,    -1,    -1,    -1,   105,   106,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   124,   125,   126,    -1,    -1,
-      -1,   130,    -1,    -1,   133,    -1,    -1,   136,    11,    12,
-      13,   140,    15,    -1,    -1,   144,    -1,    20,    21,    22,
-      23,    -1,    -1,    -1,    27,    -1,    29,    30,    31,    32,
-      -1,    -1,    -1,    -1,    37,    -1,    -1,    40,    41,    -1,
-      43,    44,    -1,    46,    -1,    48,    -1,    50,    51,    52,
-      53,    54,    55,    56,    -1,    58,    -1,    60,    61,    -1,
-      -1,    -1,    -1,    -1,    67,    -1,    69,    -1,    71,    -1,
-      -1,    -1,    -1,    76,    -1,    78,    -1,    -1,    81,    -1,
-      -1,    84,    -1,    -1,    -1,    88,    89,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   101,    -1,
-      -1,    -1,   105,   106,    -1,    -1,    -1,    -1,    -1,    -1,
+      30,    31,    -1,    33,    34,    35,    -1,    37,    -1,    -1,
+      -1,    41,    -1,    43,    -1,    45,    -1,    -1,    48,    49,
+      -1,    51,    -1,    -1,    54,    55,    -1,    -1,   107,    -1,
+      60,    -1,   111,   112,   113,   114,    -1,    -1,    68,    -1,
+      -1,   120,   121,    -1,   123,    -1,    -1,    -1,    -1,    -1,
+     129,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      33,   124,   125,   126,    -1,    -1,    -1,   130,    -1,    -1,
-      -1,    -1,    -1,   136,    -1,    12,    13,   140,    15,    -1,
-      -1,   144,    -1,    20,    21,    22,    23,    -1,    -1,    -1,
-      -1,    -1,    29,    30,    31,    68,    -1,    -1,    -1,    72,
-      37,    74,    75,    -1,    77,    -1,    79,    44,    -1,    46,
-      -1,    -1,    -1,    50,    -1,    52,    -1,    90,    55,    56,
-      -1,    -1,    -1,    -1,    61,    -1,    -1,    -1,    -1,    -1,
-     103,    -1,    69,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    49,    -1,    -1,
-     123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   134,   135,    -1,   137,   138,    -1,    -1,    -1,    -1,
-     143,   144,   145,   146,   147,   148,   149,    -1,    -1,   152,
-     153,    -1,    49,   156,    -1,    -1,    -1,   124,    -1,   126,
+      -1,    -1,    -1,    -1,     1,    -1,    -1,    -1,    -1,    -1,
+      -1,   111,   112,   113,   114,    12,    13,    -1,    15,    -1,
+      -1,    -1,    -1,    20,    21,    22,    23,    -1,    25,   129,
+     130,    28,    29,    30,    31,    -1,    33,    34,    35,    -1,
+      37,    -1,    -1,    -1,    41,    -1,    43,    -1,    45,    -1,
+      -1,    48,    49,    -1,    51,    -1,    -1,    54,    55,    -1,
+      -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   140,   106,   107,   108,   109,   110,   111,
-     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
-     122,   123,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   134,   135,    -1,    -1,    -1,    -1,   140,   106,
-     107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
-     117,    -1,    72,    -1,    74,    75,   123,    77,    -1,    79,
-      -1,    -1,    82,    -1,    -1,    -1,    86,   134,   135,    -1,
-      -1,    91,    -1,   140,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   103,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   137,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   145,   146,   147,   148,   149,
-      -1,    -1,   152,   153,    -1,    -1,   156
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    11,
+      12,    13,    -1,    15,   111,   112,   113,   114,    20,    21,
+      22,    23,    -1,    -1,    -1,    27,    -1,    29,    30,    31,
+      32,    -1,   129,   130,    -1,    37,    -1,    39,    40,    -1,
+      42,    43,    -1,    45,    -1,    47,    -1,    49,    50,    51,
+      52,    53,    54,    55,    -1,    57,    -1,    59,    60,    -1,
+      -1,    -1,    -1,    -1,    66,    -1,    68,    -1,    70,    -1,
+      -1,    -1,    -1,    75,    -1,    77,    -1,    -1,    80,    -1,
+      -1,    83,    -1,    -1,    -1,    87,    88,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,    -1,
+      -1,   103,    -1,    -1,    -1,   107,   108,    -1,    -1,    -1,
+      -1,   113,   114,   115,    -1,    -1,    -1,   119,    -1,    -1,
+     122,    -1,    -1,   125,    11,    12,    13,   129,    15,    -1,
+      -1,   133,    -1,    20,    21,    22,    23,    -1,    -1,    -1,
+      27,    -1,    29,    30,    31,    32,    -1,    -1,    -1,    -1,
+      37,    -1,    39,    40,    -1,    42,    43,    -1,    45,    -1,
+      47,    -1,    49,    50,    51,    52,    53,    54,    55,    -1,
+      57,    -1,    59,    60,    -1,    -1,    -1,    -1,    -1,    66,
+      -1,    68,    -1,    70,    -1,    -1,    -1,    -1,    75,    -1,
+      77,    -1,    -1,    80,    -1,    -1,    83,    -1,    -1,    -1,
+      87,    88,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   100,    -1,    -1,   103,    -1,    -1,    -1,
+     107,   108,    -1,    -1,    -1,    -1,   113,   114,   115,    -1,
+      -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,   125,    -1,
+      12,    13,   129,    15,    -1,    -1,   133,    -1,    20,    21,
+      22,    23,    -1,    -1,    -1,    -1,    -1,    29,    30,    31,
+      33,    -1,    -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,
+      -1,    43,    -1,    45,    -1,    -1,    -1,    49,    -1,    51,
+      -1,    -1,    54,    55,    -1,    -1,    -1,    -1,    60,    -1,
+      -1,    -1,    -1,    -1,    67,    -1,    68,    -1,    71,    -1,
+      73,    74,    -1,    76,    -1,    78,    -1,    -1,    -1,    -1,
+      -1,    -1,    71,    -1,    73,    74,    89,    76,    -1,    78,
+      -1,    -1,    81,    -1,    -1,    -1,    85,    -1,    -1,    -1,
+      -1,    90,   105,    -1,    -1,    -1,    -1,    -1,   111,    -1,
+     113,   113,   114,   115,    -1,    -1,   105,    -1,    -1,    -1,
+     123,   124,    -1,   126,   127,    -1,    -1,   129,    -1,   132,
+     133,   134,   135,   136,   137,   138,    -1,   126,   141,   142,
+      -1,    -1,   145,    -1,    -1,   134,   135,   136,   137,   138,
+      -1,    -1,   141,   142,    -1,    -1,   145
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
    symbol of state STATE-NUM.  */
 static const yytype_uint16 yystos[] =
 {
-       0,   160,     0,     1,     9,    10,    12,    13,    15,    20,
+       0,   149,     0,     1,     9,    10,    12,    13,    15,    20,
       21,    22,    23,    25,    26,    28,    29,    30,    31,    33,
-      34,    35,    37,    42,    44,    46,    49,    50,    52,    55,
-      56,    61,    69,   105,   123,   124,   131,   132,   134,   140,
-     162,   163,   165,   166,   167,   171,   173,   175,   178,   179,
-     180,   181,   186,   187,   188,   193,   194,   200,   202,   203,
-     204,   205,   209,   284,   286,   140,   140,   105,   134,   135,
-     221,   140,   221,   287,   285,   126,   193,   242,   249,   221,
-     140,   140,   140,    92,   104,   254,   136,   242,   243,   244,
-     245,   221,   183,    93,    94,    95,    96,   196,   197,   199,
-     183,   142,   140,     1,    15,   141,   167,   169,     4,   206,
-     194,    59,   190,    97,   172,    97,   174,   142,   201,   164,
-     210,    49,   106,   107,   108,   109,   110,   111,   112,   113,
-     114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
-     134,   135,   140,   288,   289,   290,   291,   293,   294,   295,
-     296,   289,   295,   150,   151,   240,   241,    11,    27,    32,
-      40,    41,    43,    48,    51,    53,    54,    58,    60,    67,
-      71,    76,    78,    81,    84,    88,    89,   101,   105,   106,
-     125,   130,   144,   182,   184,   189,   193,   211,   218,   219,
-     223,   224,   225,   231,   232,   243,   244,   263,   265,   266,
-     267,   268,   282,    90,    92,   127,   278,   279,   133,   176,
-     184,   183,   183,   155,   184,   240,   241,   245,   201,     1,
-      70,   163,   184,   199,   199,   199,   141,    15,    72,    74,
-      75,    77,    79,    82,    86,    90,    91,    92,   103,   127,
-     129,   134,   135,   137,   145,   146,   147,   148,   149,   152,
-     153,   156,   163,   168,   169,   171,   173,   175,   178,   184,
-     220,   234,   235,   236,   237,   248,   256,   274,   275,   276,
-     277,   286,   128,   140,   207,     4,   191,   194,     1,    38,
-     141,   161,   165,   173,   175,   177,   178,   193,   284,   286,
-       1,   141,   161,   165,   175,   177,   193,   284,   286,   221,
-     190,   141,   167,   184,   297,   289,   295,   296,   298,   163,
-     163,   163,   163,   163,   163,   163,   289,   163,   163,   163,
-     292,   291,   294,   296,   150,   151,   134,    16,   126,    16,
-      90,   105,   163,   220,   222,   277,   286,   218,   217,   221,
-     102,   250,   252,   253,   278,   217,   217,   250,   220,   252,
-     286,   217,   254,   226,   262,   283,   251,   253,   251,   251,
-     251,   251,   280,   251,   233,   251,   184,     1,   141,   161,
-     165,   178,   141,   141,    92,   184,   190,   286,   184,   163,
-     195,   221,   127,   127,   124,   137,   228,   230,   276,   278,
-     138,    68,    90,   137,   138,   143,   144,   152,   153,   220,
-     237,   238,   246,   247,   286,   137,   138,   154,   155,   100,
-     170,   194,   208,   140,   134,   184,   140,   296,   298,   163,
-     163,   163,   298,   163,   289,   163,   141,   289,   295,   298,
-     142,   131,   163,   212,   213,   143,   255,   154,   255,   163,
-     142,   252,   142,   252,    68,   101,   227,   228,   229,   244,
-      83,    85,    90,    92,   134,   145,   257,   259,   261,   286,
-     288,   233,   233,    62,    63,    64,    66,   270,   157,   281,
-     137,   234,     8,   185,   184,    93,    94,    95,    96,   198,
-     220,   275,   275,   276,   276,     6,     7,    14,    17,    18,
-      19,    24,    36,    41,    45,    48,    57,    58,   134,   141,
-     214,   215,   216,   194,   192,   176,   298,   298,   163,   289,
-     134,   163,   142,   221,   143,   104,   278,   222,   142,   278,
-     142,   233,    94,   198,   280,   259,    71,    75,    80,   137,
-     138,   146,   155,   157,   258,   260,   243,   243,   269,   142,
-     158,   239,   140,   198,   198,   198,   163,   221,   221,   221,
-     142,   134,   141,   216,   141,   298,   222,   278,   278,   198,
-     281,    99,   270,   271,   272,   273,   278,   240,   241,   251,
-     183,   286,   234,   195,   213,   163,   222,   227,   239,   143,
-      65,   138,    47,   264,   141,   142,   233,   273,   163
+      34,    35,    37,    41,    43,    45,    48,    49,    51,    54,
+      55,    60,    68,   107,   111,   112,   113,   114,   120,   121,
+     123,   129,   150,   151,   153,   154,   155,   159,   161,   163,
+     166,   167,   168,   169,   174,   175,   176,   182,   183,   189,
+     191,   192,   193,   194,   200,   276,   278,   129,   129,   107,
+     123,   124,   212,   129,   212,   279,   277,   115,   182,   233,
+     240,   212,   129,   129,   129,    91,   106,   245,   125,   233,
+     234,   235,   236,   212,   171,    92,    93,    94,    96,   185,
+     186,   188,     4,   195,   171,   131,   151,   203,   204,   129,
+       1,    15,   130,   155,   157,   195,   183,    58,   102,   178,
+     180,    97,   160,    97,   162,   131,   190,   152,   201,    48,
+     108,   109,   110,   111,   112,   123,   124,   129,   280,   281,
+     282,   283,   285,   288,   289,   290,   109,   281,   289,   139,
+     140,   231,   232,    11,    27,    32,    39,    40,    42,    47,
+      50,    52,    53,    57,    59,    66,    70,    75,    77,    80,
+      83,    87,    88,   100,   103,   107,   108,   114,   119,   133,
+     170,   172,   177,   182,   202,   209,   210,   214,   215,   216,
+     222,   223,   234,   235,   254,   256,   257,   258,   259,   274,
+      89,    91,   116,   270,   271,   122,   164,   172,   171,   171,
+     144,   172,   231,   232,   236,   190,     1,    69,   151,   172,
+     188,   188,   188,   196,   197,     4,   130,    15,    71,    73,
+      74,    76,    78,    81,    85,    89,    90,    91,   105,   116,
+     118,   123,   124,   126,   134,   135,   136,   137,   138,   141,
+     142,   145,   151,   156,   157,   159,   161,   163,   166,   172,
+     178,   211,   225,   226,   227,   228,   239,   247,   266,   267,
+     268,   269,   276,   278,   151,   131,   117,   129,   102,   179,
+     183,     1,   130,   153,   161,   163,   165,   166,   182,   276,
+     278,     1,   130,   153,   163,   165,   182,   276,   278,   212,
+     180,   130,   155,   172,   291,    92,    94,    95,    96,   286,
+      92,   286,   287,   284,   283,   288,   290,   139,   140,   123,
+      16,   115,    16,    89,   107,   151,   211,   213,   269,   278,
+     209,   208,   212,   104,   241,   243,   244,   270,   208,   208,
+     241,    89,    91,   213,   243,   208,   245,   217,   253,   275,
+     242,   244,   242,   242,   242,   242,   242,   272,   242,   224,
+     242,   172,     1,   130,   153,   166,   130,   130,    91,   172,
+     180,   212,   278,   172,   151,   184,   212,   183,   114,   198,
+     199,   116,   116,   126,   268,   270,   127,    67,    89,   113,
+     126,   127,   132,   133,   141,   142,   211,   219,   221,   228,
+     229,   237,   238,   278,   126,   127,   143,   144,   156,   101,
+     158,   129,   172,   129,   287,   287,   287,   287,   130,   281,
+     289,   290,   292,   131,   120,   204,   132,   246,   143,   246,
+     151,   131,   243,   131,    67,   103,   218,   219,   220,   235,
+      82,    84,    89,    91,   123,   134,   248,   250,   252,   278,
+     280,   224,   224,   224,    61,    62,    63,    65,   261,   146,
+     273,   126,   225,     8,   173,   172,   183,   114,   211,    92,
+      93,    94,    96,   187,   267,   267,   268,   268,     6,     7,
+      14,    17,    18,    19,    24,    36,    40,    44,    47,    56,
+      57,   123,   130,   178,   205,   206,   207,   181,   164,   151,
+     281,   289,   292,   290,   123,   131,   212,   132,   106,   270,
+     213,   131,   265,   270,   224,    93,   187,   272,   250,    70,
+      74,    79,   126,   127,   135,   144,   146,   249,   251,   234,
+     234,   260,   131,   147,   230,   129,   187,   187,   187,   151,
+     212,   212,   212,   131,   123,   151,   102,   130,   207,   130,
+     213,   265,   136,   187,   273,    99,   261,   262,   263,   264,
+     270,   231,   232,   242,   171,   212,   278,   225,   184,   204,
+     151,   213,   270,   218,   230,   132,    64,   127,    46,   255,
+     130,   131,   224,   264,   213
 };
 
 #define yyerrok                (yyerrstatus = 0)
@@ -2691,45 +2639,40 @@ yyreduce:
   switch (yyn)
     {
         case 3:
-#line 453 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 457 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
        ;}
     break;
 
   case 4:
-#line 455 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 459 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
        ;}
     break;
 
   case 5:
-#line 457 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 461 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                PARSER->error_level_ = 1;
        ;}
     break;
 
   case 6:
-#line 460 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 464 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                PARSER->error_level_ = 1;
        ;}
     break;
 
   case 7:
-#line 467 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
-    { (yyval.scm) = (yyvsp[(2) - (2)].scm); ;}
-    break;
-
-  case 8:
-#line 471 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 471 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                PARSER->lexer_->set_identifier (ly_symbol2scm ("$defaultheader"), (yyvsp[(1) - (1)].scm));
        ;}
     break;
 
-  case 9:
-#line 474 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 8:
+#line 474 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Book *book = (yyvsp[(1) - (1)].book);
                SCM proc = PARSER->lexer_->lookup_identifier ("toplevel-book-handler");
@@ -2738,8 +2681,8 @@ yyreduce:
        ;}
     break;
 
-  case 10:
-#line 480 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 9:
+#line 480 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Book *bookpart = (yyvsp[(1) - (1)].book);
                SCM proc = PARSER->lexer_->lookup_identifier ("toplevel-bookpart-handler");
@@ -2748,19 +2691,19 @@ yyreduce:
        ;}
     break;
 
-  case 11:
-#line 486 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 10:
+#line 486 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Score *score = (yyvsp[(1) - (1)].score);
-               
+
                SCM proc = PARSER->lexer_->lookup_identifier ("toplevel-score-handler");
                scm_call_2 (proc, PARSER->self_scm (), score->self_scm ());
                score->unprotect ();
        ;}
     break;
 
-  case 12:
-#line 493 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 11:
+#line 493 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Music *music = unsmob_music ((yyvsp[(1) - (1)].scm));
                SCM proc = PARSER->lexer_->lookup_identifier ("toplevel-music-handler");
@@ -2768,24 +2711,24 @@ yyreduce:
        ;}
     break;
 
-  case 13:
-#line 498 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 12:
+#line 498 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                SCM proc = PARSER->lexer_->lookup_identifier ("toplevel-text-handler");
                scm_call_2 (proc, PARSER->self_scm (), scm_list_1 ((yyvsp[(1) - (1)].scm)));
        ;}
     break;
 
-  case 14:
-#line 502 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 13:
+#line 502 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                SCM proc = PARSER->lexer_->lookup_identifier ("toplevel-text-handler");
                scm_call_2 (proc, PARSER->self_scm (), (yyvsp[(1) - (1)].scm));
        ;}
     break;
 
-  case 15:
-#line 506 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 14:
+#line 506 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                SCM id = SCM_EOL;
                Output_def * od = (yyvsp[(1) - (1)].outputdef);
@@ -2802,43 +2745,51 @@ yyreduce:
        ;}
     break;
 
-  case 18:
-#line 529 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 17:
+#line 529 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = get_header (PARSER);
                PARSER->lexer_->add_scope ((yyval.scm));
        ;}
     break;
 
-  case 19:
-#line 533 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 18:
+#line 533 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
-               
+
        ;}
     break;
 
-  case 20:
-#line 539 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 19:
+#line 539 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = PARSER->lexer_->remove_scope ();
        ;}
     break;
 
-  case 21:
-#line 548 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 20:
+#line 548 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
     break;
 
-  case 22:
-#line 549 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 21:
+#line 549 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
     break;
 
-  case 23:
-#line 553 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 22:
+#line 553 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                PARSER->lexer_->set_identifier ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
+       ;}
+    break;
 
+  case 23:
+#line 556 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
+    {
+               SCM path = scm_cons (scm_string_to_symbol ((yyvsp[(1) - (4)].scm)), (yyvsp[(2) - (4)].scm));
+               PARSER->lexer_->set_identifier (path, (yyvsp[(4) - (4)].scm));
+       ;
 /*
  TODO: devise standard for protection in parser.
 
@@ -2850,12 +2801,12 @@ all objects can be unprotected as soon as they're here.
     break;
 
   case 24:
-#line 564 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 568 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { ;}
     break;
 
   case 25:
-#line 569 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 573 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].score)->self_scm ();
                (yyvsp[(1) - (1)].score)->unprotect ();
@@ -2863,7 +2814,7 @@ all objects can be unprotected as soon as they're here.
     break;
 
   case 26:
-#line 573 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 577 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].book)->self_scm ();
                (yyvsp[(1) - (1)].book)->unprotect ();
@@ -2871,7 +2822,7 @@ all objects can be unprotected as soon as they're here.
     break;
 
   case 27:
-#line 577 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 581 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].book)->self_scm ();
                (yyvsp[(1) - (1)].book)->unprotect ();
@@ -2879,7 +2830,7 @@ all objects can be unprotected as soon as they're here.
     break;
 
   case 28:
-#line 581 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 585 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].outputdef)->self_scm ();
                (yyvsp[(1) - (1)].outputdef)->unprotect ();
@@ -2887,14 +2838,14 @@ all objects can be unprotected as soon as they're here.
     break;
 
   case 29:
-#line 585 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 589 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
   case 30:
-#line 588 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 592 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                /* Hack: Create event-chord around standalone events.
                   Prevents the identifier from being interpreted as a post-event. */
@@ -2910,72 +2861,86 @@ all objects can be unprotected as soon as they're here.
     break;
 
   case 31:
-#line 600 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 604 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
   case 32:
-#line 603 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 607 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
   case 33:
-#line 606 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 610 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
   case 34:
-#line 609 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 613 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
   case 35:
-#line 612 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 616 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
   case 36:
-#line 615 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 619 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
-               (yyval.scm) = scm_from_int ((yyvsp[(1) - (1)].i));
+               (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
   case 37:
-#line 622 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 622 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
-               (yyval.scm) = (yyvsp[(3) - (4)].scm);
+               (yyval.scm) = scm_from_int ((yyvsp[(1) - (1)].i));
        ;}
     break;
 
   case 38:
-#line 628 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 625 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
+    {
+                (yyval.scm) = (yyvsp[(1) - (1)].scm);
+        ;}
+    break;
+
+  case 39:
+#line 632 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
+    {
+               (yyval.scm) = (yyvsp[(3) - (4)].scm);
+       ;}
+    break;
+
+  case 40:
+#line 638 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = Context_def::make_scm ();
                unsmob_context_def ((yyval.scm))->origin ()->set_spot ((yyloc));
        ;}
     break;
 
-  case 39:
-#line 632 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 41:
+#line 642 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
                unsmob_context_def ((yyval.scm))->origin ()->set_spot ((yyloc));
        ;}
     break;
 
-  case 40:
-#line 636 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 42:
+#line 646 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Context_def*td = unsmob_context_def ((yyval.scm));
 
@@ -2989,23 +2954,35 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 41:
-#line 647 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 43:
+#line 657 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
-               unsmob_context_def ((yyval.scm))->add_context_mod ((yyvsp[(2) - (2)].scm));             
+               unsmob_context_def ((yyval.scm))->add_context_mod ((yyvsp[(2) - (2)].scm));
        ;}
     break;
 
-  case 42:
-#line 655 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 44:
+#line 660 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
+    {
+                Context_def *td = unsmob_context_def ((yyval.scm));
+                SCM new_mods = unsmob_context_mod ((yyvsp[(2) - (2)].scm))->get_mods ();
+                for (SCM m = new_mods; scm_is_pair (m); m = scm_cdr (m)) {
+                    td->add_context_mod (scm_car (m));
+                }
+       ;}
+    break;
+
+  case 45:
+#line 672 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.book) = (yyvsp[(3) - (4)].book);
                pop_paper (PARSER);
+               PARSER->lexer_->set_identifier (ly_symbol2scm ("$current-book"), SCM_BOOL_F);
        ;}
     break;
 
-  case 43:
-#line 665 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 46:
+#line 683 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.book) = new Book;
                init_papers (PARSER);
@@ -3013,21 +2990,25 @@ all objects can be unprotected as soon as they're here.
                (yyval.book)->paper_ = dynamic_cast<Output_def*> (unsmob_output_def (PARSER->lexer_->lookup_identifier ("$defaultpaper"))->clone ());
                (yyval.book)->paper_->unprotect ();
                push_paper (PARSER, (yyval.book)->paper_);
-               (yyval.book)->header_ = PARSER->lexer_->lookup_identifier ("$defaultheader"); 
+               (yyval.book)->header_ = PARSER->lexer_->lookup_identifier ("$defaultheader");
+               PARSER->lexer_->set_identifier (ly_symbol2scm ("$current-book"), (yyval.book)->self_scm ());
+               PARSER->lexer_->set_identifier (ly_symbol2scm ("book-output-suffix"), SCM_BOOL_F);
+               PARSER->lexer_->set_identifier (ly_symbol2scm ("book-filename"), SCM_BOOL_F);
        ;}
     break;
 
-  case 44:
-#line 674 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 47:
+#line 695 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.book) = unsmob_book ((yyvsp[(1) - (1)].scm));
                (yyval.book)->protect ();
                (yyval.book)->origin ()->set_spot ((yyloc));
+               PARSER->lexer_->set_identifier (ly_symbol2scm ("$current-book"), (yyvsp[(1) - (1)].scm));
        ;}
     break;
 
-  case 45:
-#line 679 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 48:
+#line 701 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.book)->paper_ = (yyvsp[(2) - (2)].outputdef);
                (yyvsp[(2) - (2)].outputdef)->unprotect ();
@@ -3035,8 +3016,8 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 46:
-#line 684 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 49:
+#line 706 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Book *bookpart = (yyvsp[(2) - (2)].book);
                SCM proc = PARSER->lexer_->lookup_identifier ("book-bookpart-handler");
@@ -3045,8 +3026,8 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 47:
-#line 690 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 50:
+#line 712 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Score *score = (yyvsp[(2) - (2)].score);
                SCM proc = PARSER->lexer_->lookup_identifier ("book-score-handler");
@@ -3055,8 +3036,8 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 48:
-#line 696 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 51:
+#line 718 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Music *music = unsmob_music ((yyvsp[(2) - (2)].scm));
                SCM proc = PARSER->lexer_->lookup_identifier ("book-music-handler");
@@ -3064,31 +3045,31 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 49:
-#line 701 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 52:
+#line 723 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                SCM proc = PARSER->lexer_->lookup_identifier ("book-text-handler");
                scm_call_2 (proc, (yyval.book)->self_scm (), scm_list_1 ((yyvsp[(2) - (2)].scm)));
        ;}
     break;
 
-  case 50:
-#line 705 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 53:
+#line 727 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                SCM proc = PARSER->lexer_->lookup_identifier ("book-text-handler");
                scm_call_2 (proc, (yyval.book)->self_scm (), (yyvsp[(2) - (2)].scm));
        ;}
     break;
 
-  case 51:
-#line 709 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 54:
+#line 731 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.book)->header_ = (yyvsp[(2) - (2)].scm);
        ;}
     break;
 
-  case 52:
-#line 712 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 55:
+#line 734 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.book)->paper_ = 0;
                (yyval.book)->scores_ = SCM_EOL;
@@ -3096,47 +3077,43 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 53:
-#line 717 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
-    {
-               (yyval.book)->user_key_ = ly_scm2string ((yyvsp[(2) - (2)].scm));
-       ;}
-    break;
-
-  case 54:
-#line 723 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 56:
+#line 742 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.book) = (yyvsp[(3) - (4)].book);
+               PARSER->lexer_->set_identifier (ly_symbol2scm ("$current-bookpart"), SCM_BOOL_F);
        ;}
     break;
 
-  case 55:
-#line 729 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 57:
+#line 749 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.book) = new Book;
                (yyval.book)->origin ()->set_spot ((yyloc));
+               PARSER->lexer_->set_identifier (ly_symbol2scm ("$current-bookpart"), (yyval.book)->self_scm ());
        ;}
     break;
 
-  case 56:
-#line 733 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 58:
+#line 754 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.book) = unsmob_book ((yyvsp[(1) - (1)].scm));
                (yyval.book)->protect ();
                (yyval.book)->origin ()->set_spot ((yyloc));
+               PARSER->lexer_->set_identifier (ly_symbol2scm ("$current-bookpart"), (yyvsp[(1) - (1)].scm));
        ;}
     break;
 
-  case 57:
-#line 738 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 59:
+#line 760 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.book)->paper_ = (yyvsp[(2) - (2)].outputdef);
                (yyvsp[(2) - (2)].outputdef)->unprotect ();
        ;}
     break;
 
-  case 58:
-#line 742 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 60:
+#line 764 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Score *score = (yyvsp[(2) - (2)].score);
                SCM proc = PARSER->lexer_->lookup_identifier ("bookpart-score-handler");
@@ -3145,8 +3122,8 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 59:
-#line 748 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 61:
+#line 770 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Music *music = unsmob_music ((yyvsp[(2) - (2)].scm));
                SCM proc = PARSER->lexer_->lookup_identifier ("bookpart-music-handler");
@@ -3154,53 +3131,46 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 60:
-#line 753 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 62:
+#line 775 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                SCM proc = PARSER->lexer_->lookup_identifier ("bookpart-text-handler");
                scm_call_2 (proc, (yyval.book)->self_scm (), scm_list_1 ((yyvsp[(2) - (2)].scm)));
        ;}
     break;
 
-  case 61:
-#line 757 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 63:
+#line 779 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                SCM proc = PARSER->lexer_->lookup_identifier ("bookpart-text-handler");
                scm_call_2 (proc, (yyval.book)->self_scm (), (yyvsp[(2) - (2)].scm));
        ;}
     break;
 
-  case 62:
-#line 761 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 64:
+#line 783 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.book)->header_ = (yyvsp[(2) - (2)].scm);
        ;}
     break;
 
-  case 63:
-#line 764 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 65:
+#line 786 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.book)->paper_ = 0;
                (yyval.book)->scores_ = SCM_EOL;
        ;}
     break;
 
-  case 64:
-#line 768 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
-    {
-               (yyval.book)->user_key_ = ly_scm2string ((yyvsp[(2) - (2)].scm));
-       ;}
-    break;
-
-  case 65:
-#line 774 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 66:
+#line 793 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.score) = (yyvsp[(3) - (4)].score);
        ;}
     break;
 
-  case 66:
-#line 780 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 67:
+#line 799 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                SCM m = (yyvsp[(1) - (1)].scm);
                SCM scorify = ly_lily_module_constant ("scorify-music");
@@ -3213,8 +3183,8 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 67:
-#line 790 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 68:
+#line 809 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.score) = unsmob_score ((yyvsp[(1) - (1)].scm));
                (yyval.score)->protect ();
@@ -3222,27 +3192,20 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 68:
-#line 795 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
-    {
-               (yyval.score)->user_key_ = ly_scm2string ((yyvsp[(2) - (2)].scm));
-       ;}
-    break;
-
   case 69:
-#line 798 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 814 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.score)->set_header ((yyvsp[(2) - (2)].scm));
        ;}
     break;
 
   case 70:
-#line 801 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 817 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                if ((yyvsp[(2) - (2)].outputdef)->lookup_variable (ly_symbol2scm ("is-paper")) == SCM_BOOL_T)
                {
                        PARSER->parser_error ((yylsp[(2) - (2)]), _("\\paper cannot be used in \\score, use \\layout instead"));
-               
+
                }
                else
                {
@@ -3253,14 +3216,14 @@ all objects can be unprotected as soon as they're here.
     break;
 
   case 71:
-#line 813 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 829 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.score)->error_found_ = true;
        ;}
     break;
 
   case 72:
-#line 824 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 840 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.outputdef) = (yyvsp[(1) - (1)].outputdef);
                if ((yyval.outputdef)->lookup_variable (ly_symbol2scm ("is-paper")) != SCM_BOOL_T)
@@ -3273,7 +3236,7 @@ all objects can be unprotected as soon as they're here.
     break;
 
   case 73:
-#line 837 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 853 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.outputdef) = (yyvsp[(1) - (2)].outputdef);
 
@@ -3283,7 +3246,7 @@ all objects can be unprotected as soon as they're here.
     break;
 
   case 74:
-#line 846 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 862 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.outputdef) = get_paper (PARSER);
                (yyval.outputdef)->input_origin_ = (yyloc);
@@ -3292,7 +3255,7 @@ all objects can be unprotected as soon as they're here.
     break;
 
   case 75:
-#line 851 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 867 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Output_def *p = get_midi (PARSER);
                (yyval.outputdef) = p;
@@ -3301,7 +3264,7 @@ all objects can be unprotected as soon as they're here.
     break;
 
   case 76:
-#line 856 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 872 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Output_def *p = get_layout (PARSER);
 
@@ -3311,7 +3274,7 @@ all objects can be unprotected as soon as they're here.
     break;
 
   case 77:
-#line 865 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 881 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                PARSER->lexer_->push_initial_state ();
                (yyval.outputdef) = (yyvsp[(1) - (1)].outputdef);
@@ -3319,7 +3282,7 @@ all objects can be unprotected as soon as they're here.
     break;
 
   case 78:
-#line 872 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 888 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.outputdef) = (yyvsp[(1) - (2)].outputdef);
                (yyval.outputdef)->input_origin_.set_spot ((yyloc));
@@ -3327,7 +3290,7 @@ all objects can be unprotected as soon as they're here.
     break;
 
   case 79:
-#line 876 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 892 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyvsp[(1) - (3)].outputdef)->unprotect ();
 
@@ -3341,70 +3304,56 @@ all objects can be unprotected as soon as they're here.
     break;
 
   case 80:
-#line 886 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 902 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
 
        ;}
     break;
 
   case 81:
-#line 889 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 905 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                assign_context_def ((yyval.outputdef), (yyvsp[(2) - (2)].scm));
        ;}
     break;
 
   case 82:
-#line 892 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 908 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
 
        ;}
     break;
 
   case 83:
-#line 898 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 914 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
-               (yyval.scm) = MAKE_SYNTAX ("tempo", (yyloc), SCM_BOOL_F, (yyvsp[(2) - (4)].scm), scm_int2num ((yyvsp[(4) - (4)].i)));
+               (yyval.scm) = MAKE_SYNTAX ("tempo", (yyloc), SCM_EOL, (yyvsp[(2) - (4)].scm), (yyvsp[(4) - (4)].scm));
        ;}
     break;
 
   case 84:
-#line 901 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 917 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
-               (yyval.scm) = MAKE_SYNTAX ("tempo", (yyloc), make_simple_markup((yyvsp[(2) - (5)].scm)), (yyvsp[(3) - (5)].scm), scm_int2num ((yyvsp[(5) - (5)].i)));
+               (yyval.scm) = MAKE_SYNTAX ("tempo", (yyloc), (yyvsp[(2) - (5)].scm), (yyvsp[(3) - (5)].scm), (yyvsp[(5) - (5)].scm));
        ;}
     break;
 
   case 85:
-#line 904 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 920 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
-               (yyval.scm) = MAKE_SYNTAX ("tempo", (yyloc), (yyvsp[(2) - (5)].scm), (yyvsp[(3) - (5)].scm), scm_int2num ((yyvsp[(5) - (5)].i)));
+               (yyval.scm) = MAKE_SYNTAX ("tempo", (yyloc), (yyvsp[(2) - (2)].scm));
        ;}
     break;
 
   case 86:
-#line 907 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
-    {
-               (yyval.scm) = MAKE_SYNTAX ("tempoText", (yyloc), make_simple_markup((yyvsp[(2) - (2)].scm)) );
-       ;}
-    break;
-
-  case 87:
-#line 910 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
-    {
-               (yyval.scm) = MAKE_SYNTAX ("tempoText", (yyloc), (yyvsp[(2) - (2)].scm) );
-       ;}
-    break;
-
-  case 88:
-#line 923 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 933 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_cons (SCM_EOL, SCM_EOL);
        ;}
     break;
 
-  case 89:
-#line 926 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 87:
+#line 936 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                SCM s = (yyval.scm);
                SCM c = scm_cons ((yyvsp[(2) - (2)].scm), SCM_EOL);
@@ -3417,18 +3366,18 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 90:
-#line 936 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 88:
+#line 946 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
 
        ;}
     break;
 
-  case 91:
-#line 939 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 89:
+#line 949 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Music *m = MY_MAKE_MUSIC("Music", (yyloc));
-               // ugh. code dup 
+               // ugh. code dup
                m->set_property ("error-found", SCM_BOOL_T);
                SCM s = (yyval.scm);
                SCM c = scm_cons (m->self_scm (), SCM_EOL);
@@ -3442,149 +3391,197 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 94:
-#line 961 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 92:
+#line 971 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = SCM_EOL;
        ;}
     break;
 
-  case 95:
-#line 964 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 93:
+#line 974 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_car ((yyvsp[(3) - (4)].scm));
        ;}
     break;
 
-  case 96:
-#line 972 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 94:
+#line 982 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = MAKE_SYNTAX ("repeat", (yyloc), (yyvsp[(2) - (5)].scm), (yyvsp[(3) - (5)].scm), (yyvsp[(4) - (5)].scm), (yyvsp[(5) - (5)].scm));
        ;}
     break;
 
-  case 97:
-#line 978 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 95:
+#line 988 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = MAKE_SYNTAX ("sequential-music", (yyloc), scm_car ((yyvsp[(3) - (4)].scm)));
        ;}
     break;
 
-  case 98:
-#line 981 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 96:
+#line 991 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = MAKE_SYNTAX ("sequential-music", (yyloc), scm_car ((yyvsp[(2) - (3)].scm)));
        ;}
     break;
 
-  case 99:
-#line 987 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 97:
+#line 997 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = MAKE_SYNTAX ("simultaneous-music", (yyloc), scm_car ((yyvsp[(3) - (4)].scm)));
        ;}
     break;
 
-  case 100:
-#line 990 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 98:
+#line 1000 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = MAKE_SYNTAX ("simultaneous-music", (yyloc), scm_car ((yyvsp[(2) - (3)].scm)));
        ;}
     break;
 
+  case 103:
+#line 1013 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
+    { PARSER->lexer_->push_initial_state (); ;}
+    break;
+
+  case 104:
+#line 1014 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
+    {
+                PARSER->lexer_->pop_state ();
+                (yyval.scm) = (yyvsp[(4) - (5)].scm);
+        ;}
+    break;
+
   case 105:
-#line 1003 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
-    { (yyval.scm) = SCM_EOL; ;}
+#line 1019 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
+    {
+                (yyval.scm) = (yyvsp[(2) - (2)].scm);
+        ;}
     break;
 
   case 106:
-#line 1004 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
-    { PARSER->lexer_->push_initial_state (); ;}
+#line 1023 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
+    {
+                (yyval.scm) = (yyvsp[(1) - (1)].scm);
+        ;}
     break;
 
   case 107:
-#line 1006 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 1029 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
-               PARSER->lexer_->pop_state ();
-               (yyval.scm) = (yyvsp[(4) - (5)].scm);
-       ;}
+            (yyval.scm) = SCM_EOL;
+        ;}
     break;
 
   case 108:
-#line 1013 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
-    { (yyval.scm) = SCM_EOL; ;}
+#line 1033 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
+    {
+              (yyval.scm) = (yyvsp[(1) - (1)].scm);
+        ;}
     break;
 
   case 109:
-#line 1014 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 1039 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
-                (yyval.scm) = scm_cons ((yyvsp[(2) - (2)].scm), (yyvsp[(1) - (2)].scm));
-       ;}
+            (yyval.scm) = Context_mod ().smobbed_copy ();
+        ;}
     break;
 
   case 110:
-#line 1020 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
-    { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
+#line 1042 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
+    {
+                 unsmob_context_mod ((yyvsp[(1) - (2)].scm))->add_context_mod ((yyvsp[(2) - (2)].scm));
+        ;}
     break;
 
   case 111:
-#line 1021 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
-    { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
+#line 1045 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
+    {
+                 Context_mod *md = unsmob_context_mod ((yyvsp[(2) - (2)].scm));
+                 if (md)
+                     unsmob_context_mod ((yyvsp[(1) - (2)].scm))->add_context_mods (md->get_mods ());
+        ;}
     break;
 
   case 112:
-#line 1025 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 1053 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
     break;
 
   case 113:
-#line 1026 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 1054 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
+    { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
+    break;
+
+  case 114:
+#line 1058 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
+    { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
+    break;
+
+  case 115:
+#line 1059 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
     break;
 
-  case 116:
-#line 1039 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 118:
+#line 1072 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_cons ((yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm));
        ;}
     break;
 
-  case 117:
-#line 1045 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 119:
+#line 1078 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_cons ((yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm));
        ;}
     break;
 
-  case 118:
-#line 1048 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 120:
+#line 1081 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_cons ((yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm));
        ;}
     break;
 
-  case 119:
-#line 1053 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 121:
+#line 1084 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
+    {
+               (yyval.scm) = scm_cons ((yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm));
+       ;}
+    break;
+
+  case 122:
+#line 1089 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = SCM_EOL;
        ;}
     break;
 
-  case 120:
-#line 1056 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 123:
+#line 1092 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_cons ((yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm));
        ;}
     break;
 
-  case 121:
-#line 1059 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 124:
+#line 1095 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_cons ((yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm));
        ;}
     break;
 
-  case 122:
-#line 1064 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 125:
+#line 1098 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
+    {
+               (yyval.scm) = scm_cons ((yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm));
+       ;}
+    break;
+
+  case 126:
+#line 1103 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                /* This is for 0-ary functions, so they don't need to
                   read a lookahead token */
@@ -3592,60 +3589,68 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 125:
-#line 1074 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 129:
+#line 1113 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = ly_append2 (scm_list_2 ((yyvsp[(1) - (2)].scm), make_input ((yyloc))), scm_reverse_x ((yyvsp[(2) - (2)].scm), SCM_EOL));
        ;}
     break;
 
-  case 126:
-#line 1081 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 130:
+#line 1120 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.scm) = SCM_EOL; ;}
     break;
 
-  case 127:
-#line 1082 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 131:
+#line 1121 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(2) - (2)].scm);
        ;}
     break;
 
-  case 128:
-#line 1089 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 132:
+#line 1128 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = run_music_function (PARSER, (yyvsp[(1) - (1)].scm));
        ;}
     break;
 
-  case 129:
-#line 1092 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 133:
+#line 1131 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
-               (yyval.scm) = MAKE_SYNTAX ("context-specification", (yyloc), (yyvsp[(2) - (5)].scm), (yyvsp[(3) - (5)].scm), (yyvsp[(5) - (5)].scm), (yyvsp[(4) - (5)].scm), SCM_BOOL_F);
+                Context_mod *ctxmod = unsmob_context_mod ((yyvsp[(4) - (5)].scm));
+                SCM mods = SCM_EOL;
+                if (ctxmod)
+                        mods = ctxmod->get_mods ();
+               (yyval.scm) = MAKE_SYNTAX ("context-specification", (yyloc), (yyvsp[(2) - (5)].scm), (yyvsp[(3) - (5)].scm), (yyvsp[(5) - (5)].scm), mods, SCM_BOOL_F);
        ;}
     break;
 
-  case 130:
-#line 1095 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 134:
+#line 1138 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
-               (yyval.scm) = MAKE_SYNTAX ("context-specification", (yyloc), (yyvsp[(2) - (5)].scm), (yyvsp[(3) - (5)].scm), (yyvsp[(5) - (5)].scm), (yyvsp[(4) - (5)].scm), SCM_BOOL_T);
+                Context_mod *ctxmod = unsmob_context_mod ((yyvsp[(4) - (5)].scm));
+                SCM mods = SCM_EOL;
+                if (ctxmod)
+                        mods = ctxmod->get_mods ();
+               (yyval.scm) = MAKE_SYNTAX ("context-specification", (yyloc), (yyvsp[(2) - (5)].scm), (yyvsp[(3) - (5)].scm), (yyvsp[(5) - (5)].scm), mods, SCM_BOOL_T);
        ;}
     break;
 
-  case 131:
-#line 1099 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 135:
+#line 1146 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                 (yyval.scm) = MAKE_SYNTAX ("time-scaled-music", (yyloc), (yyvsp[(2) - (3)].scm), (yyvsp[(3) - (3)].scm));
        ;}
     break;
 
-  case 132:
-#line 1102 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 136:
+#line 1149 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
     break;
 
-  case 133:
-#line 1103 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 137:
+#line 1150 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Pitch from = *unsmob_pitch ((yyvsp[(2) - (4)].scm));
                Pitch to = *unsmob_pitch ((yyvsp[(3) - (4)].scm));
@@ -3654,8 +3659,8 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 134:
-#line 1109 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 138:
+#line 1156 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                if ((yyvsp[(1) - (2)].scm) == ly_symbol2scm ("chords"))
                {
@@ -3669,10 +3674,14 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 135:
-#line 1120 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 139:
+#line 1167 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
-               (yyval.scm) = MAKE_SYNTAX ("context-specification", (yyloc), (yyvsp[(1) - (3)].scm), SCM_EOL, (yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm), SCM_BOOL_T);
+                Context_mod *ctxmod = unsmob_context_mod ((yyvsp[(2) - (3)].scm));
+                SCM mods = SCM_EOL;
+                if (ctxmod)
+                        mods = ctxmod->get_mods ();
+               (yyval.scm) = MAKE_SYNTAX ("context-specification", (yyloc), (yyvsp[(1) - (3)].scm), SCM_EOL, (yyvsp[(3) - (3)].scm), mods, SCM_BOOL_T);
                if ((yyvsp[(1) - (3)].scm) == ly_symbol2scm ("ChordNames"))
                {
                  (yyval.scm) = MAKE_SYNTAX ("unrelativable-music", (yyloc), (yyval.scm));
@@ -3681,18 +3690,18 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 136:
-#line 1128 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 140:
+#line 1179 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
     break;
 
-  case 137:
-#line 1129 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 141:
+#line 1180 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
     break;
 
-  case 138:
-#line 1133 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 142:
+#line 1184 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                SCM nn = PARSER->lexer_->lookup_identifier ("pitchnames");
                PARSER->lexer_->push_note_state (alist_to_hashq (nn));
@@ -3701,8 +3710,8 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 139:
-#line 1140 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 143:
+#line 1191 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                SCM nn = PARSER->lexer_->lookup_identifier ("drumPitchNames");
                PARSER->lexer_->push_note_state (alist_to_hashq (nn));
@@ -3711,8 +3720,8 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 140:
-#line 1146 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 144:
+#line 1197 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                PARSER->lexer_->push_figuredbass_state ();
 
@@ -3720,8 +3729,8 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 141:
-#line 1151 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 145:
+#line 1202 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                SCM nn = PARSER->lexer_->lookup_identifier ("chordmodifiers");
                PARSER->lexer_->chordmodifier_tab_ = alist_to_hashq (nn);
@@ -3732,15 +3741,15 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 142:
-#line 1160 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 146:
+#line 1211 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { PARSER->lexer_->push_lyric_state ();
                (yyval.scm) = ly_symbol2scm ("lyrics");
        ;}
     break;
 
-  case 143:
-#line 1166 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 147:
+#line 1217 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                SCM nn = PARSER->lexer_->lookup_identifier ("drumPitchNames");
                PARSER->lexer_->push_note_state (alist_to_hashq (nn));
@@ -3749,8 +3758,8 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 144:
-#line 1172 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 148:
+#line 1223 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                PARSER->lexer_->push_figuredbass_state ();
 
@@ -3758,8 +3767,8 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 145:
-#line 1177 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 149:
+#line 1228 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                SCM nn = PARSER->lexer_->lookup_identifier ("chordmodifiers");
                PARSER->lexer_->chordmodifier_tab_ = alist_to_hashq (nn);
@@ -3769,36 +3778,36 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 146:
-#line 1185 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 150:
+#line 1236 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { PARSER->lexer_->push_lyric_state ();
                (yyval.scm) = ly_symbol2scm ("Lyrics");
        ;}
     break;
 
-  case 147:
-#line 1192 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 151:
+#line 1243 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Pitch start = *unsmob_pitch ((yyvsp[(2) - (3)].scm));
                (yyval.scm) = make_music_relative (start, (yyvsp[(3) - (3)].scm), (yyloc));
        ;}
     break;
 
-  case 148:
-#line 1196 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 152:
+#line 1247 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Pitch middle_c (0, 0, 0);
                (yyval.scm) = make_music_relative (middle_c, (yyvsp[(2) - (2)].scm), (yyloc));
        ;}
     break;
 
-  case 149:
-#line 1203 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 153:
+#line 1254 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { PARSER->lexer_->push_lyric_state (); ;}
     break;
 
-  case 150:
-#line 1205 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 154:
+#line 1256 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
        /* Can also use music at the expensive of two S/Rs similar to
            \repeat \alternative */
@@ -3808,89 +3817,125 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 151:
-#line 1212 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 155:
+#line 1263 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
+    {
+               PARSER->lexer_->push_lyric_state (); ;}
+    break;
+
+  case 156:
+#line 1265 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
+    {
+               PARSER->lexer_->pop_state ();
+               (yyval.scm) = scm_cons ((yyvsp[(3) - (3)].scm), SCM_EOL);
+       ;}
+    break;
+
+  case 157:
+#line 1269 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                PARSER->lexer_->push_lyric_state ();
        ;}
     break;
 
-  case 152:
-#line 1214 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 158:
+#line 1271 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                PARSER->lexer_->pop_state ();
                (yyval.scm) = scm_cons ((yyvsp[(4) - (4)].scm), (yyvsp[(1) - (4)].scm));
        ;}
     break;
 
-  case 153:
-#line 1221 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 159:
+#line 1275 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
+    {
+               PARSER->lexer_->push_lyric_state ();
+       ;}
+    break;
+
+  case 160:
+#line 1277 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
+    {
+               PARSER->lexer_->pop_state ();
+               (yyval.scm) = scm_cons ((yyvsp[(4) - (4)].scm), (yyvsp[(1) - (4)].scm));
+       ;}
+    break;
+
+  case 161:
+#line 1284 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = MAKE_SYNTAX ("add-lyrics", (yyloc), (yyvsp[(1) - (2)].scm), scm_reverse_x ((yyvsp[(2) - (2)].scm), SCM_EOL));
        ;}
     break;
 
-  case 154:
-#line 1224 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 162:
+#line 1287 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
+    {
+               (yyval.scm) = MAKE_SYNTAX ("add-lyrics", (yyloc), (yyvsp[(1) - (2)].scm), scm_reverse_x ((yyvsp[(2) - (2)].scm), SCM_EOL));
+       ;}
+    break;
+
+  case 163:
+#line 1290 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                PARSER->lexer_->push_lyric_state ();
        ;}
     break;
 
-  case 155:
-#line 1226 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 164:
+#line 1292 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                PARSER->lexer_->pop_state ();
                (yyval.scm) = MAKE_SYNTAX ("lyric-combine", (yyloc), (yyvsp[(2) - (4)].scm), (yyvsp[(4) - (4)].scm));
        ;}
     break;
 
-  case 156:
-#line 1233 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 165:
+#line 1299 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = MAKE_SYNTAX ("context-change", (yyloc), scm_string_to_symbol ((yyvsp[(2) - (4)].scm)), (yyvsp[(4) - (4)].scm));
        ;}
     break;
 
-  case 157:
-#line 1240 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 166:
+#line 1306 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_cons ((yyvsp[(1) - (1)].scm), SCM_EOL);
        ;}
     break;
 
-  case 158:
-#line 1243 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 167:
+#line 1309 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_cons ((yyvsp[(2) - (2)].scm), (yyvsp[(1) - (2)].scm));
        ;}
     break;
 
-  case 159:
-#line 1249 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 168:
+#line 1315 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_reverse_x ((yyvsp[(1) - (1)].scm), SCM_EOL);
        ;}
     break;
 
-  case 160:
-#line 1255 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 169:
+#line 1321 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_list_3 (ly_symbol2scm ("assign"),
                        scm_string_to_symbol ((yyvsp[(1) - (3)].scm)), (yyvsp[(3) - (3)].scm));
        ;}
     break;
 
-  case 161:
-#line 1259 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 170:
+#line 1325 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_list_2 (ly_symbol2scm ("unset"),
                        scm_string_to_symbol ((yyvsp[(2) - (2)].scm)));
        ;}
     break;
 
-  case 162:
-#line 1263 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 171:
+#line 1329 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_append (scm_list_2 (scm_list_3 (ly_symbol2scm ("push"),
                                                        scm_string_to_symbol ((yyvsp[(2) - (5)].scm)), (yyvsp[(5) - (5)].scm)),
@@ -3898,73 +3943,88 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 163:
-#line 1268 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 172:
+#line 1334 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_list_3 (ly_symbol2scm ("pop"),
                        scm_string_to_symbol ((yyvsp[(2) - (3)].scm)), (yyvsp[(3) - (3)].scm));
        ;}
     break;
 
-  case 164:
-#line 1275 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 173:
+#line 1341 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.scm) = ly_symbol2scm ("consists"); ;}
     break;
 
-  case 165:
-#line 1276 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 174:
+#line 1342 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.scm) = ly_symbol2scm ("remove"); ;}
     break;
 
-  case 166:
-#line 1278 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 175:
+#line 1344 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.scm) = ly_symbol2scm ("accepts"); ;}
     break;
 
-  case 167:
-#line 1279 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 176:
+#line 1345 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.scm) = ly_symbol2scm ("default-child"); ;}
     break;
 
-  case 168:
-#line 1280 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 177:
+#line 1346 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.scm) = ly_symbol2scm ("denies"); ;}
     break;
 
-  case 169:
-#line 1282 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 178:
+#line 1348 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.scm) = ly_symbol2scm ("alias"); ;}
     break;
 
-  case 170:
-#line 1283 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 179:
+#line 1349 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.scm) = ly_symbol2scm ("translator-type"); ;}
     break;
 
-  case 171:
-#line 1284 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 180:
+#line 1350 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.scm) = ly_symbol2scm ("description"); ;}
     break;
 
-  case 172:
-#line 1285 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 181:
+#line 1351 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.scm) = ly_symbol2scm ("context-name"); ;}
     break;
 
-  case 173:
-#line 1289 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 182:
+#line 1355 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
     break;
 
-  case 174:
-#line 1290 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 183:
+#line 1356 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_list_2 ((yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm));
        ;}
     break;
 
-  case 175:
-#line 1296 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 184:
+#line 1359 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
+    {
+          if (ly_symbol2scm ("consists") != (yyvsp[(1) - (2)].scm))
+          {
+            (yyval.scm) = SCM_EOL;
+             PARSER->parser_error ((yylsp[(1) - (2)]), _ ("only \\consists takes non-string argument."));
+          }
+          else
+          {
+            (yyval.scm) = scm_list_2 ((yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm));
+          }
+       ;}
+    break;
+
+  case 185:
+#line 1373 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                if (!is_regular_identifier ((yyvsp[(1) - (1)].scm)))
                {
@@ -3976,18 +4036,18 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 176:
-#line 1305 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 186:
+#line 1382 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_list_2 (scm_string_to_symbol ((yyvsp[(1) - (3)].scm)),
                        scm_string_to_symbol ((yyvsp[(3) - (3)].scm)));
        ;}
     break;
 
-  case 177:
-#line 1312 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 187:
+#line 1389 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
-               (yyval.scm) = scm_append (scm_list_2 (scm_list_n (scm_car ((yyvsp[(2) - (5)].scm)),                     
+               (yyval.scm) = scm_append (scm_list_2 (scm_list_n (scm_car ((yyvsp[(2) - (5)].scm)),
                                ly_symbol2scm ("OverrideProperty"),
                                scm_cadr ((yyvsp[(2) - (5)].scm)),
                                (yyvsp[(5) - (5)].scm), SCM_UNDEFINED),
@@ -3995,8 +4055,8 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 178:
-#line 1319 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 188:
+#line 1396 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_list_4 (scm_car ((yyvsp[(2) - (3)].scm)),
                        ly_symbol2scm ("RevertProperty"),
@@ -4005,8 +4065,8 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 179:
-#line 1325 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 189:
+#line 1402 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_list_4 (scm_car ((yyvsp[(2) - (4)].scm)),
                        ly_symbol2scm ("PropertySet"),
@@ -4015,8 +4075,8 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 180:
-#line 1331 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 190:
+#line 1408 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_list_3 (scm_car ((yyvsp[(2) - (2)].scm)),
                        ly_symbol2scm ("PropertyUnset"),
@@ -4024,106 +4084,106 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 181:
-#line 1339 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 191:
+#line 1416 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = LOWLEVEL_MAKE_SYNTAX (ly_lily_module_constant ("property-operation"), scm_cons (PARSER->self_scm (), scm_cons2 (make_input ((yyloc)), SCM_BOOL_F, (yyvsp[(1) - (1)].scm))));
        ;}
     break;
 
-  case 182:
-#line 1342 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 192:
+#line 1419 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = LOWLEVEL_MAKE_SYNTAX (ly_lily_module_constant ("property-operation"), scm_cons (PARSER->self_scm (), scm_cons2 (make_input ((yyloc)), SCM_BOOL_T, (yyvsp[(2) - (2)].scm))));
        ;}
     break;
 
-  case 183:
-#line 1348 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 193:
+#line 1425 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 184:
-#line 1351 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 194:
+#line 1428 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 185:
-#line 1354 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 195:
+#line 1431 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_string_append (scm_list_2 ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm)));
        ;}
     break;
 
-  case 186:
-#line 1359 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 196:
+#line 1436 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 187:
-#line 1362 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 197:
+#line 1439 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 188:
-#line 1365 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 198:
+#line 1442 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 189:
-#line 1370 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 199:
+#line 1447 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 190:
-#line 1373 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 200:
+#line 1450 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 191:
-#line 1376 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 201:
+#line 1453 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 192:
-#line 1379 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 202:
+#line 1456 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 193:
-#line 1382 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 203:
+#line 1459 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 194:
-#line 1385 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 204:
+#line 1462 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_from_int ((yyvsp[(1) - (1)].i));
        ;}
     break;
 
-  case 195:
-#line 1394 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 205:
+#line 1471 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                SCM elts = ly_append2 ((yyvsp[(1) - (2)].scm), scm_reverse_x ((yyvsp[(2) - (2)].scm), SCM_EOL));
 
@@ -4135,23 +4195,43 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 196:
-#line 1403 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 206:
+#line 1480 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Input i;
                i.set_location ((yylsp[(1) - (3)]), (yylsp[(3) - (3)]));
-               (yyval.scm) = MAKE_SYNTAX ("multi-measure-rest", i, (yyvsp[(2) - (3)].scm), (yyvsp[(3) - (3)].scm));
+               (yyval.scm) = MAKE_SYNTAX ("repetition-chord", i,
+                                 PARSER->lexer_->chord_repetition_.last_chord_,
+                                 PARSER->lexer_->chord_repetition_.repetition_function_,
+                                 (yyvsp[(2) - (3)].scm), scm_reverse_x ((yyvsp[(3) - (3)].scm), SCM_EOL));
        ;}
     break;
 
-  case 199:
-#line 1415 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 207:
+#line 1488 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
+    {
+               Input i;
+               i.set_location ((yylsp[(1) - (3)]), (yylsp[(3) - (3)]));
+               (yyval.scm) = MAKE_SYNTAX ("multi-measure-rest", i, (yyvsp[(2) - (3)].scm),
+                                 scm_reverse_x ((yyvsp[(3) - (3)].scm), SCM_EOL));
+       ;}
+    break;
+
+  case 209:
+#line 1499 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
+    {
+               PARSER->lexer_->chord_repetition_.last_chord_ = (yyval.scm);
+       ;}
+    break;
+
+  case 210:
+#line 1507 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Music *m = unsmob_music ((yyvsp[(1) - (3)].scm));
                SCM dur = unsmob_duration ((yyvsp[(2) - (3)].scm))->smobbed_copy ();
                SCM es = m->get_property ("elements");
                SCM postevs = scm_reverse_x ((yyvsp[(3) - (3)].scm), SCM_EOL);
-               
+
                for (SCM s = es; scm_is_pair (s); s = scm_cdr (s))
                  unsmob_music (scm_car (s))->set_property ("duration", dur);
                es = ly_append2 (es, postevs);
@@ -4162,27 +4242,27 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 200:
-#line 1433 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 211:
+#line 1525 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = MAKE_SYNTAX ("event-chord", (yyloc), scm_reverse_x ((yyvsp[(2) - (3)].scm), SCM_EOL));
        ;}
     break;
 
-  case 201:
-#line 1439 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 212:
+#line 1531 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.scm) = SCM_EOL; ;}
     break;
 
-  case 202:
-#line 1440 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 213:
+#line 1532 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_cons ((yyvsp[(2) - (2)].scm), (yyvsp[(1) - (2)].scm));
        ;}
     break;
 
-  case 203:
-#line 1447 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 214:
+#line 1539 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                int q = (yyvsp[(3) - (5)].i);
                int ex = (yyvsp[(2) - (5)].i);
@@ -4210,8 +4290,8 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 204:
-#line 1472 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 215:
+#line 1564 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Music *n = MY_MAKE_MUSIC ("NoteEvent", (yyloc));
                n->set_property ("duration", (yyvsp[(2) - (2)].scm));
@@ -4225,15 +4305,15 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 205:
-#line 1483 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
-    { 
+  case 216:
+#line 1575 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
+    {
                (yyval.scm) = run_music_function (PARSER, (yyvsp[(1) - (1)].scm));
        ;}
     break;
 
-  case 206:
-#line 1488 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 217:
+#line 1580 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                SCM sig = scm_object_property (yylval.scm, ly_symbol2scm ("music-function-signature"));
                if (scm_is_pair (sig) && to_boolean (scm_memq (ly_music_p_proc, scm_cdr (scm_reverse (sig)))))
@@ -4243,50 +4323,50 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 207:
-#line 1501 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 218:
+#line 1593 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = ly_append2 (scm_list_2 ((yyvsp[(1) - (4)].scm), make_input ((yyloc))), scm_reverse_x ((yyvsp[(3) - (4)].scm), scm_list_1 ((yyvsp[(4) - (4)].scm))));
        ;}
     break;
 
-  case 208:
-#line 1504 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 219:
+#line 1596 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = ly_append2 (scm_list_2 ((yyvsp[(1) - (2)].scm), make_input ((yyloc))), scm_reverse_x ((yyvsp[(2) - (2)].scm), SCM_EOL));
        ;}
     break;
 
-  case 209:
-#line 1513 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 220:
+#line 1605 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = ly_append2 (scm_list_2 ((yyvsp[(1) - (4)].scm), make_input ((yyloc))), scm_reverse_x ((yyvsp[(3) - (4)].scm), scm_list_1 ((yyvsp[(4) - (4)].scm))));
        ;}
     break;
 
-  case 210:
-#line 1516 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 221:
+#line 1608 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = ly_append2 (scm_list_2 ((yyvsp[(1) - (2)].scm), make_input ((yyloc))), scm_reverse_x ((yyvsp[(2) - (2)].scm), SCM_EOL));
        ;}
     break;
 
-  case 211:
-#line 1522 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 222:
+#line 1614 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 212:
-#line 1525 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 223:
+#line 1617 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = MAKE_SYNTAX ("skip-music", (yyloc), (yyvsp[(2) - (2)].scm));
        ;}
     break;
 
-  case 213:
-#line 1528 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 224:
+#line 1620 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Music *m = MY_MAKE_MUSIC ("LigatureEvent", (yyloc));
                m->set_property ("span-direction", scm_from_int (START));
@@ -4294,8 +4374,8 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 214:
-#line 1533 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 225:
+#line 1625 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Music *m = MY_MAKE_MUSIC ("LigatureEvent", (yyloc));
                m->set_property ("span-direction", scm_from_int (STOP));
@@ -4303,15 +4383,15 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 215:
-#line 1538 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 226:
+#line 1630 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = MAKE_SYNTAX ("voice-separator", (yyloc), SCM_UNDEFINED);
        ;}
     break;
 
-  case 216:
-#line 1541 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 227:
+#line 1633 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                SCM pipe = PARSER->lexer_->lookup_identifier ("pipeSymbol");
 
@@ -4328,17 +4408,15 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 217:
-#line 1555 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 228:
+#line 1647 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
-               Moment m = - unsmob_duration ((yyvsp[(2) - (2)].scm))->get_length ();
-               (yyval.scm) = MAKE_SYNTAX ("property-operation", (yyloc), SCM_BOOL_F, ly_symbol2scm ("Timing"), ly_symbol2scm ("PropertySet"), ly_symbol2scm ("measurePosition"), m.smobbed_copy ());
-               (yyval.scm) = MAKE_SYNTAX ("context-specification", (yyloc), ly_symbol2scm ("Score"), SCM_BOOL_F, (yyval.scm), SCM_EOL, SCM_BOOL_F);
+               (yyval.scm) = MAKE_SYNTAX ("partial", (yyloc), (yyvsp[(2) - (2)].scm));
        ;}
     break;
 
-  case 218:
-#line 1561 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 229:
+#line 1651 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                SCM proc = ly_lily_module_constant ("make-time-signature-set");
 
@@ -4346,52 +4424,50 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 219:
-#line 1566 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 230:
+#line 1656 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
-               SCM proc = ly_lily_module_constant ("make-mark-set");
-
-               (yyval.scm) = scm_call_1 (proc, (yyvsp[(2) - (2)].scm));
+               (yyval.scm) = MAKE_SYNTAX ("make-mark-set", (yyloc), (yyvsp[(2) - (2)].scm));
        ;}
     break;
 
-  case 220:
-#line 1574 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 231:
+#line 1662 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = MY_MAKE_MUSIC ("PesOrFlexaEvent", (yyloc))->unprotect ();
        ;}
     break;
 
-  case 221:
-#line 1577 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 232:
+#line 1665 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Music *m = MY_MAKE_MUSIC ("MarkEvent", (yyloc));
                (yyval.scm) = m->unprotect ();
        ;}
     break;
 
-  case 222:
-#line 1581 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 233:
+#line 1669 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 223:
-#line 1584 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 234:
+#line 1672 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Music *key = MY_MAKE_MUSIC ("KeyChangeEvent", (yyloc));
                (yyval.scm) = key->unprotect ();
        ;}
     break;
 
-  case 224:
-#line 1588 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 235:
+#line 1676 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
 
                Music *key = MY_MAKE_MUSIC ("KeyChangeEvent", (yyloc));
                if (scm_ilength ((yyvsp[(3) - (3)].scm)) > 0)
-               {               
+               {
                        key->set_property ("pitch-alist", (yyvsp[(3) - (3)].scm));
                        key->set_property ("tonic", Pitch (0, 0, 0).smobbed_copy ());
                        key->transpose (* unsmob_pitch ((yyvsp[(2) - (3)].scm)));
@@ -4403,37 +4479,41 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 225:
-#line 1606 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 236:
+#line 1694 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = SCM_EOL;
        ;}
     break;
 
-  case 226:
-#line 1609 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 237:
+#line 1697 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                unsmob_music ((yyvsp[(2) - (2)].scm))->set_spot ((yylsp[(2) - (2)]));
                (yyval.scm) = scm_cons ((yyvsp[(2) - (2)].scm), (yyval.scm));
        ;}
     break;
 
-  case 227:
-#line 1616 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 238:
+#line 1704 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 228:
-#line 1619 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 239:
+#line 1707 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = run_music_function (PARSER, (yyvsp[(2) - (2)].scm));
+               if ((yyvsp[(1) - (2)].i))
+               {
+                       unsmob_music ((yyval.scm))->set_property ("direction", scm_from_int ((yyvsp[(1) - (2)].i)));
+               }
        ;}
     break;
 
-  case 229:
-#line 1622 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 240:
+#line 1714 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                if (!PARSER->lexer_->is_lyric_state ())
                        PARSER->parser_error ((yylsp[(1) - (1)]), _ ("have to be in Lyric mode for lyrics"));
@@ -4441,8 +4521,8 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 230:
-#line 1627 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 241:
+#line 1719 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                if (!PARSER->lexer_->is_lyric_state ())
                        PARSER->parser_error ((yylsp[(1) - (1)]), _ ("have to be in Lyric mode for lyrics"));
@@ -4450,8 +4530,8 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 231:
-#line 1632 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 242:
+#line 1724 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                if ((yyvsp[(1) - (2)].i))
                {
@@ -4462,8 +4542,8 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 232:
-#line 1640 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 243:
+#line 1732 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                if ((yyvsp[(1) - (2)].i))
                {
@@ -4474,8 +4554,8 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 234:
-#line 1652 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 245:
+#line 1744 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Music *s = MY_MAKE_MUSIC ("StringNumberEvent", (yyloc));
                s->set_property ("string-number", scm_from_int ((yyvsp[(1) - (1)].i)));
@@ -4483,78 +4563,78 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 235:
-#line 1660 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 246:
+#line 1752 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = ly_symbol2scm ("bracketOpenSymbol");
        ;}
     break;
 
-  case 236:
-#line 1663 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 247:
+#line 1755 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
-               (yyval.scm) = ly_symbol2scm ("bracketCloseSymbol"); 
+               (yyval.scm) = ly_symbol2scm ("bracketCloseSymbol");
        ;}
     break;
 
-  case 237:
-#line 1666 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 248:
+#line 1758 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = ly_symbol2scm ("tildeSymbol");
        ;}
     break;
 
-  case 238:
-#line 1669 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 249:
+#line 1761 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = ly_symbol2scm ("parenthesisOpenSymbol");
        ;}
     break;
 
-  case 239:
-#line 1672 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 250:
+#line 1764 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = ly_symbol2scm ("parenthesisCloseSymbol");
        ;}
     break;
 
-  case 240:
-#line 1675 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 251:
+#line 1767 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = ly_symbol2scm ("escapedExclamationSymbol");
        ;}
     break;
 
-  case 241:
-#line 1678 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 252:
+#line 1770 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = ly_symbol2scm ("escapedParenthesisOpenSymbol");
        ;}
     break;
 
-  case 242:
-#line 1681 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 253:
+#line 1773 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = ly_symbol2scm ("escapedParenthesisCloseSymbol");
        ;}
     break;
 
-  case 243:
-#line 1684 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 254:
+#line 1776 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = ly_symbol2scm ("escapedBiggerSymbol");
        ;}
     break;
 
-  case 244:
-#line 1687 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 255:
+#line 1779 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = ly_symbol2scm ("escapedSmallerSymbol");
        ;}
     break;
 
-  case 245:
-#line 1693 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 256:
+#line 1785 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                SCM predefd = PARSER->lexer_->lookup_identifier_symbol ((yyvsp[(1) - (1)].scm));
                Music *m = 0;
@@ -4571,15 +4651,15 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 246:
-#line 1707 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 257:
+#line 1799 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 247:
-#line 1710 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 258:
+#line 1802 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Music *a = MY_MAKE_MUSIC ("TremoloEvent", (yyloc));
                a->set_property ("tremolo-type", scm_from_int ((yyvsp[(1) - (1)].i)));
@@ -4587,15 +4667,15 @@ all objects can be unprotected as soon as they're here.
         ;}
     break;
 
-  case 248:
-#line 1718 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 259:
+#line 1810 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 249:
-#line 1721 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 260:
+#line 1813 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                SCM s = PARSER->lexer_->lookup_identifier ("dash" + ly_scm2string ((yyvsp[(1) - (1)].scm)));
                Music *a = MY_MAKE_MUSIC ("ArticulationEvent", (yyloc));
@@ -4606,63 +4686,63 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 250:
-#line 1732 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 261:
+#line 1824 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.scm) = SCM_EOL; ;}
     break;
 
-  case 251:
-#line 1733 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 262:
+#line 1825 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.scm) = scm_from_int (0); ;}
     break;
 
-  case 252:
-#line 1734 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 263:
+#line 1826 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.scm) = scm_from_int (-(yyvsp[(2) - (2)].i)); ;}
     break;
 
-  case 253:
-#line 1735 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 264:
+#line 1827 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.scm) = scm_from_int ((yyvsp[(2) - (2)].i)); ;}
     break;
 
-  case 254:
-#line 1739 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 265:
+#line 1831 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.i) = 1;
        ;}
     break;
 
-  case 255:
-#line 1742 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 266:
+#line 1834 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.i) ++;
        ;}
     break;
 
-  case 256:
-#line 1748 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 267:
+#line 1840 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.i) = 1;
        ;}
     break;
 
-  case 257:
-#line 1751 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 268:
+#line 1843 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.i)++;
        ;}
     break;
 
-  case 258:
-#line 1757 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 269:
+#line 1849 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 259:
-#line 1760 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 270:
+#line 1852 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Pitch p = *unsmob_pitch ((yyvsp[(1) - (2)].scm));
                p = p.transposed (Pitch ((yyvsp[(2) - (2)].i),0,0));
@@ -4670,8 +4750,8 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 260:
-#line 1765 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 271:
+#line 1857 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Pitch p =* unsmob_pitch ((yyvsp[(1) - (2)].scm));
                p = p.transposed (Pitch (-(yyvsp[(2) - (2)].i),0,0));
@@ -4679,15 +4759,15 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 261:
-#line 1777 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 272:
+#line 1869 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 262:
-#line 1780 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 273:
+#line 1872 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Pitch p = *unsmob_pitch ((yyvsp[(1) - (2)].scm));
                p = p.transposed (Pitch ((yyvsp[(2) - (2)].i),0,0));
@@ -4695,8 +4775,8 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 263:
-#line 1785 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 274:
+#line 1877 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Pitch p = *unsmob_pitch ((yyvsp[(1) - (2)].scm));
 
@@ -4705,15 +4785,15 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 264:
-#line 1794 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 275:
+#line 1886 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 267:
-#line 1805 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 278:
+#line 1897 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Music *t = MY_MAKE_MUSIC ("TextScriptEvent", (yyloc));
                t->set_property ("text", (yyvsp[(1) - (1)].scm));
@@ -4721,8 +4801,8 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 268:
-#line 1810 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 279:
+#line 1902 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Music *t = MY_MAKE_MUSIC ("TextScriptEvent", (yyloc));
                t->set_property ("text",
@@ -4731,8 +4811,8 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 269:
-#line 1816 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 280:
+#line 1908 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Music *t = MY_MAKE_MUSIC ("FingeringEvent", (yyloc));
                t->set_property ("digit", scm_from_int ((yyvsp[(1) - (1)].i)));
@@ -4740,102 +4820,102 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 270:
-#line 1824 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 281:
+#line 1916 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_from_locale_string ("Hat");
        ;}
     break;
 
-  case 271:
-#line 1827 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 282:
+#line 1919 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_from_locale_string ("Plus");
        ;}
     break;
 
-  case 272:
-#line 1830 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 283:
+#line 1922 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_from_locale_string ("Dash");
        ;}
     break;
 
-  case 273:
-#line 1833 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 284:
+#line 1925 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_from_locale_string ("Bar");
        ;}
     break;
 
-  case 274:
-#line 1836 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 285:
+#line 1928 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_from_locale_string ("Larger");
        ;}
     break;
 
-  case 275:
-#line 1839 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 286:
+#line 1931 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_from_locale_string ("Dot");
        ;}
     break;
 
-  case 276:
-#line 1842 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 287:
+#line 1934 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_from_locale_string ("Underscore");
        ;}
     break;
 
-  case 277:
-#line 1848 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 288:
+#line 1940 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.i) = DOWN; ;}
     break;
 
-  case 278:
-#line 1849 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 289:
+#line 1941 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.i) = UP; ;}
     break;
 
-  case 279:
-#line 1850 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 290:
+#line 1942 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.i) = CENTER; ;}
     break;
 
-  case 280:
-#line 1855 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 291:
+#line 1947 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 281:
-#line 1861 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 292:
+#line 1953 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 282:
-#line 1867 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 293:
+#line 1959 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Duration dd = PARSER->default_duration_;
                (yyval.scm) = dd.smobbed_copy ();
        ;}
     break;
 
-  case 283:
-#line 1871 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 294:
+#line 1963 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
                PARSER->default_duration_ = *unsmob_duration ((yyval.scm));
        ;}
     break;
 
-  case 284:
-#line 1878 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 295:
+#line 1970 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                int len = 0;
                if (!is_duration ((yyvsp[(1) - (2)].i)))
@@ -4847,32 +4927,33 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 285:
-#line 1887 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 296:
+#line 1979 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Duration *d = unsmob_duration ((yyvsp[(1) - (2)].scm));
                Duration k (d->duration_log (), d->dot_count () + (yyvsp[(2) - (2)].i));
+               k = k.compressed (d->factor ());
                *d = k;
                (yyval.scm) = (yyvsp[(1) - (2)].scm);
        ;}
     break;
 
-  case 286:
-#line 1896 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 297:
+#line 1989 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 287:
-#line 1899 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 298:
+#line 1992 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = unsmob_duration ((yyval.scm))->compressed ( (yyvsp[(3) - (3)].i)) .smobbed_copy ();
        ;}
     break;
 
-  case 288:
-#line 1902 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 299:
+#line 1995 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Rational  m (scm_to_int (scm_car ((yyvsp[(3) - (3)].scm))), scm_to_int (scm_cdr ((yyvsp[(3) - (3)].scm))));
 
@@ -4880,41 +4961,41 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 289:
-#line 1910 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 300:
+#line 2003 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
     break;
 
-  case 290:
-#line 1911 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 301:
+#line 2004 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_cons (scm_from_int ((yyvsp[(1) - (3)].i)), scm_from_int ((yyvsp[(3) - (3)].i)));
        ;}
     break;
 
-  case 291:
-#line 1917 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 302:
+#line 2010 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.i) = 0;
        ;}
     break;
 
-  case 292:
-#line 1920 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 303:
+#line 2013 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.i) ++;
        ;}
     break;
 
-  case 293:
-#line 1926 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 304:
+#line 2019 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.i) = 0;
        ;}
     break;
 
-  case 294:
-#line 1929 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 305:
+#line 2022 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                if (!is_duration ((yyvsp[(2) - (2)].i)))
                        PARSER->parser_error ((yylsp[(2) - (2)]), _f ("not a duration: %d", (yyvsp[(2) - (2)].i)));
@@ -4922,55 +5003,55 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 295:
-#line 1937 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 306:
+#line 2030 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_from_int ((yyvsp[(1) - (1)].i));
        ;}
     break;
 
-  case 296:
-#line 1940 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 307:
+#line 2033 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_from_int ((yyvsp[(1) - (1)].i));
        ;}
     break;
 
-  case 297:
-#line 1943 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 308:
+#line 2036 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
     break;
 
-  case 298:
-#line 1944 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 309:
+#line 2037 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
     break;
 
-  case 299:
-#line 1948 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 310:
+#line 2041 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.scm) = ly_rational2scm (FLAT_ALTERATION); ;}
     break;
 
-  case 300:
-#line 1949 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 311:
+#line 2042 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.scm) = ly_rational2scm (SHARP_ALTERATION); ;}
     break;
 
-  case 301:
-#line 1950 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 312:
+#line 2043 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.scm) = scm_from_int (0); ;}
     break;
 
-  case 302:
-#line 1954 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 313:
+#line 2047 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Music *bfr = MY_MAKE_MUSIC ("BassFigureEvent", (yyloc));
                (yyval.scm) = bfr->unprotect ();
        ;}
     break;
 
-  case 303:
-#line 1958 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 314:
+#line 2051 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Music *bfr = MY_MAKE_MUSIC ("BassFigureEvent", (yyloc));
                (yyval.scm) = bfr->self_scm ();
@@ -4984,16 +5065,16 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 304:
-#line 1969 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 315:
+#line 2062 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (2)].scm);
                unsmob_music ((yyvsp[(1) - (2)].scm))->set_property ("bracket-stop", SCM_BOOL_T);
        ;}
     break;
 
-  case 305:
-#line 1973 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 316:
+#line 2066 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Music *m = unsmob_music ((yyvsp[(1) - (2)].scm));
                if (scm_to_double ((yyvsp[(2) - (2)].scm))) {
@@ -5007,8 +5088,8 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 306:
-#line 1984 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 317:
+#line 2077 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Music *m = unsmob_music ((yyvsp[(1) - (2)].scm));
                if ((yyvsp[(2) - (2)].scm) == ly_symbol2scm ("plus"))
@@ -5030,82 +5111,82 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 307:
-#line 2007 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 318:
+#line 2100 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = ly_symbol2scm ("plus");
        ;}
     break;
 
-  case 308:
-#line 2010 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 319:
+#line 2103 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = ly_symbol2scm ("exclamation");
        ;}
     break;
 
-  case 309:
-#line 2013 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 320:
+#line 2106 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = ly_symbol2scm ("slash");
        ;}
     break;
 
-  case 310:
-#line 2016 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 321:
+#line 2109 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = ly_symbol2scm ("backslash");
        ;}
     break;
 
-  case 311:
-#line 2022 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 322:
+#line 2115 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 312:
-#line 2025 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 323:
+#line 2118 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(2) - (2)].scm);
                unsmob_music ((yyval.scm))->set_property ("bracket-start", SCM_BOOL_T);
        ;}
     break;
 
-  case 313:
-#line 2032 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 324:
+#line 2125 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = SCM_EOL;
        ;}
     break;
 
-  case 314:
-#line 2035 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 325:
+#line 2128 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_cons ((yyvsp[(2) - (2)].scm), (yyvsp[(1) - (2)].scm));
        ;}
     break;
 
-  case 315:
-#line 2041 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 326:
+#line 2134 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_reverse_x ((yyvsp[(2) - (3)].scm), SCM_EOL);
        ;}
     break;
 
-  case 316:
-#line 2048 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 327:
+#line 2141 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.i) = 0; ;}
     break;
 
-  case 317:
-#line 2049 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 328:
+#line 2142 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.i) = 1; ;}
     break;
 
-  case 318:
-#line 2053 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 329:
+#line 2146 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                if (!PARSER->lexer_->is_note_state ())
                        PARSER->parser_error ((yylsp[(1) - (6)]), _ ("have to be in Note mode for notes"));
@@ -5115,7 +5196,7 @@ all objects can be unprotected as soon as they're here.
                        n = MY_MAKE_MUSIC ("RestEvent", (yyloc));
                else
                        n = MY_MAKE_MUSIC ("NoteEvent", (yyloc));
-               
+
                n->set_property ("pitch", (yyvsp[(1) - (6)].scm));
                n->set_property ("duration", (yyvsp[(5) - (6)].scm));
 
@@ -5134,19 +5215,19 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 319:
-#line 2079 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 330:
+#line 2172 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Music *n = MY_MAKE_MUSIC ("NoteEvent", (yyloc));
                n->set_property ("duration", (yyvsp[(2) - (2)].scm));
                n->set_property ("drum-type", (yyvsp[(1) - (2)].scm));
 
-               (yyval.scm) = n->unprotect ();          
+               (yyval.scm) = n->unprotect ();
        ;}
     break;
 
-  case 320:
-#line 2086 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 331:
+#line 2179 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Music *ev = 0;
                if (ly_scm2string ((yyvsp[(1) - (2)].scm)) == "s") {
@@ -5155,15 +5236,15 @@ all objects can be unprotected as soon as they're here.
                  }
                else {
                        ev = MY_MAKE_MUSIC ("RestEvent", (yyloc));
-               
+
                    }
                ev->set_property ("duration", (yyvsp[(2) - (2)].scm));
                (yyval.scm) = ev->unprotect ();
        ;}
     break;
 
-  case 321:
-#line 2099 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 332:
+#line 2192 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                if (!PARSER->lexer_->is_lyric_state ())
                        PARSER->parser_error ((yylsp[(1) - (2)]), _ ("have to be in Lyric mode for lyrics"));
@@ -5175,15 +5256,15 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 322:
-#line 2111 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 333:
+#line 2204 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_list_1 ((yyvsp[(1) - (1)].scm));
        ;}
     break;
 
-  case 323:
-#line 2114 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 334:
+#line 2207 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                 if (!PARSER->lexer_->is_chord_state ())
                         PARSER->parser_error ((yylsp[(1) - (1)]), _ ("have to be in Chord mode for chords"));
@@ -5191,8 +5272,8 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 324:
-#line 2119 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 335:
+#line 2212 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                for (SCM s = (yyvsp[(1) - (2)].scm); scm_is_pair (s); s = scm_cdr (s))
                {
@@ -5202,491 +5283,510 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 325:
-#line 2129 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 336:
+#line 2222 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 326:
-#line 2132 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 337:
+#line 2225 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 327:
-#line 2138 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 338:
+#line 2231 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = make_chord_elements ((yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm), SCM_EOL);
        ;}
     break;
 
-  case 328:
-#line 2141 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 339:
+#line 2234 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                SCM its = scm_reverse_x ((yyvsp[(4) - (4)].scm), SCM_EOL);
                (yyval.scm) = make_chord_elements ((yyvsp[(1) - (4)].scm), (yyvsp[(2) - (4)].scm), scm_cons ((yyvsp[(3) - (4)].scm), its));
        ;}
     break;
 
-  case 329:
-#line 2148 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 340:
+#line 2241 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
-               (yyval.scm) = SCM_EOL;          
+               (yyval.scm) = SCM_EOL;
        ;}
     break;
 
-  case 330:
-#line 2151 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 341:
+#line 2244 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_cons ((yyvsp[(2) - (2)].scm), (yyval.scm));
        ;}
     break;
 
-  case 331:
-#line 2157 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 342:
+#line 2250 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = ly_symbol2scm ("chord-colon");
        ;}
     break;
 
-  case 332:
-#line 2160 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 343:
+#line 2253 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = ly_symbol2scm ("chord-caret");
        ;}
     break;
 
-  case 333:
-#line 2163 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 344:
+#line 2256 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_list_2 (ly_symbol2scm ("chord-slash"), (yyvsp[(2) - (2)].scm));
        ;}
     break;
 
-  case 334:
-#line 2166 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 345:
+#line 2259 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_list_2 (ly_symbol2scm ("chord-bass"), (yyvsp[(2) - (2)].scm));
        ;}
     break;
 
-  case 335:
-#line 2172 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 346:
+#line 2265 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 336:
-#line 2175 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 347:
+#line 2268 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_reverse_x ((yyvsp[(1) - (1)].scm), SCM_EOL);
        ;}
     break;
 
-  case 337:
-#line 2178 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 348:
+#line 2271 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 338:
-#line 2184 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 349:
+#line 2277 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.scm) = scm_cons ((yyvsp[(1) - (1)].scm), SCM_EOL); ;}
     break;
 
-  case 339:
-#line 2185 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 350:
+#line 2278 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_cons ((yyvsp[(3) - (3)].scm), (yyval.scm));
        ;}
     break;
 
-  case 340:
-#line 2191 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 351:
+#line 2284 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = make_chord_step ((yyvsp[(1) - (1)].i), 0);
         ;}
     break;
 
-  case 341:
-#line 2194 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 352:
+#line 2287 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = make_chord_step ((yyvsp[(1) - (2)].i), SHARP_ALTERATION);
        ;}
     break;
 
-  case 342:
-#line 2197 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 353:
+#line 2290 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = make_chord_step ((yyvsp[(1) - (2)].i), FLAT_ALTERATION);
        ;}
     break;
 
-  case 343:
-#line 2209 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 354:
+#line 2296 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
+    {
+               (yyval.scm) = scm_from_int ((yyvsp[(1) - (1)].i));
+       ;}
+    break;
+
+  case 355:
+#line 2299 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
+    {
+               (yyval.scm) = scm_cons (scm_from_int ((yyvsp[(1) - (3)].i)), scm_from_int ((yyvsp[(3) - (3)].i)));
+       ;}
+    break;
+
+  case 356:
+#line 2311 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_sum ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
        ;}
     break;
 
-  case 344:
-#line 2212 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 357:
+#line 2314 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_difference ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
        ;}
     break;
 
-  case 346:
-#line 2219 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 359:
+#line 2321 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 347:
-#line 2222 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 360:
+#line 2324 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_product ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
        ;}
     break;
 
-  case 348:
-#line 2225 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 361:
+#line 2327 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_divide ((yyvsp[(1) - (3)].scm), (yyvsp[(3) - (3)].scm));
        ;}
     break;
 
-  case 349:
-#line 2231 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 362:
+#line 2333 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { /* %prec UNARY_MINUS */
                (yyval.scm) = scm_difference ((yyvsp[(2) - (2)].scm), SCM_UNDEFINED);
        ;}
     break;
 
-  case 351:
-#line 2239 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 364:
+#line 2341 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_from_int ((yyvsp[(1) - (1)].i));
        ;}
     break;
 
-  case 352:
-#line 2242 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 365:
+#line 2344 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 353:
-#line 2245 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 366:
+#line 2347 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 354:
-#line 2248 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 367:
+#line 2350 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_from_double (scm_to_double ((yyvsp[(1) - (2)].scm)) *scm_to_double ((yyvsp[(2) - (2)].scm)));
        ;}
     break;
 
-  case 355:
-#line 2251 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 368:
+#line 2353 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_from_double ((yyvsp[(1) - (2)].i) *scm_to_double ((yyvsp[(2) - (2)].scm)));
        ;}
     break;
 
-  case 356:
-#line 2258 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 369:
+#line 2360 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                        (yyval.i) = (yyvsp[(1) - (1)].i);
        ;}
     break;
 
-  case 357:
-#line 2261 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 370:
+#line 2363 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.i) = (yyvsp[(1) - (1)].i);
        ;}
     break;
 
-  case 358:
-#line 2267 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 371:
+#line 2369 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.scm) = scm_from_int ((yyvsp[(1) - (1)].i)); ;}
     break;
 
-  case 359:
-#line 2268 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 372:
+#line 2370 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 360:
-#line 2275 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 373:
+#line 2376 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.i) = 0; ;}
     break;
 
-  case 361:
-#line 2276 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 374:
+#line 2377 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.i) ++; ;}
     break;
 
-  case 362:
-#line 2280 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 375:
+#line 2381 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.i) = 0; ;}
     break;
 
-  case 363:
-#line 2281 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 376:
+#line 2382 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { (yyval.i) ++; ;}
     break;
 
-  case 364:
-#line 2289 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 377:
+#line 2390 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 365:
-#line 2293 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 378:
+#line 2394 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { PARSER->lexer_->push_markup_state (); ;}
     break;
 
-  case 366:
-#line 2294 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 379:
+#line 2395 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(3) - (3)].scm);
                PARSER->lexer_->pop_state ();
        ;}
     break;
 
-  case 367:
-#line 2302 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 380:
+#line 2402 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
+    {
+               (yyval.scm) = (yyvsp[(1) - (1)].scm);
+       ;}
+    break;
+
+  case 381:
+#line 2406 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { PARSER->lexer_->push_markup_state (); ;}
     break;
 
-  case 368:
-#line 2303 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 382:
+#line 2407 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(3) - (3)].scm);
                PARSER->lexer_->pop_state ();
        ;}
     break;
 
-  case 369:
-#line 2310 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 383:
+#line 2414 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 370:
-#line 2314 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 384:
+#line 2418 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     { PARSER->lexer_->push_markup_state (); ;}
     break;
 
-  case 371:
-#line 2315 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 385:
+#line 2419 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(3) - (3)].scm);
                PARSER->lexer_->pop_state ();
        ;}
     break;
 
-  case 372:
-#line 2322 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
-    { 
-               (yyval.scm) = scm_list_2 (ly_lily_module_constant ("line-markup"),  (yyvsp[(1) - (1)].scm)); 
+  case 386:
+#line 2426 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
+    {
+               (yyval.scm) = scm_list_2 (ly_lily_module_constant ("line-markup"),  (yyvsp[(1) - (1)].scm));
        ;}
     break;
 
-  case 373:
-#line 2325 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 387:
+#line 2429 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (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))));
        ;}
     break;
 
-  case 374:
-#line 2328 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 388:
+#line 2432 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 375:
-#line 2334 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 389:
+#line 2438 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 376:
-#line 2337 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 390:
+#line 2441 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 377:
-#line 2340 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 391:
+#line 2444 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
+    {
+               (yyval.scm) = (yyvsp[(1) - (1)].scm);
+       ;}
+    break;
+
+  case 392:
+#line 2447 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_list_1 ((yyvsp[(1) - (1)].scm));
        ;}
     break;
 
-  case 378:
-#line 2346 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 393:
+#line 2453 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_call_2 (ly_lily_module_constant ("map-markup-command-list"), (yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm));
-               
+
        ;}
     break;
 
-  case 379:
-#line 2353 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 394:
+#line 2460 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_reverse_x ((yyvsp[(2) - (3)].scm), SCM_EOL);
        ;}
     break;
 
-  case 380:
-#line 2359 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 395:
+#line 2466 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {  (yyval.scm) = SCM_EOL; ;}
     break;
 
-  case 381:
-#line 2360 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 396:
+#line 2467 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_cons ((yyvsp[(2) - (2)].scm), (yyvsp[(1) - (2)].scm));
        ;}
     break;
 
-  case 382:
-#line 2363 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
-    {
-               (yyval.scm) = scm_append_x (scm_list_2 (scm_reverse_x ((yyvsp[(2) - (2)].scm), SCM_EOL), (yyvsp[(1) - (2)].scm)));
-       ;}
-    break;
-
-  case 383:
-#line 2369 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 397:
+#line 2470 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
-               (yyval.scm) = scm_list_1 ((yyvsp[(1) - (1)].scm));
+               (yyval.scm) = scm_reverse_x ((yyvsp[(2) - (2)].scm), (yyvsp[(1) - (2)].scm));
        ;}
     break;
 
-  case 384:
-#line 2372 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 398:
+#line 2476 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
-               (yyval.scm) = scm_list_2 ((yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm));
+         (yyval.scm) = scm_cons ((yyvsp[(1) - (2)].scm), scm_reverse_x((yyvsp[(2) - (2)].scm), SCM_EOL));
        ;}
     break;
 
-  case 385:
-#line 2375 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 399:
+#line 2482 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
-               (yyval.scm) = scm_list_2 ((yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm));
+         (yyval.scm) = scm_cons ((yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm));
        ;}
     break;
 
-  case 386:
-#line 2378 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 400:
+#line 2485 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
-               (yyval.scm) = scm_list_3 ((yyvsp[(1) - (3)].scm), (yyvsp[(2) - (3)].scm), (yyvsp[(3) - (3)].scm));
+         (yyval.scm) = scm_cons ((yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm));
        ;}
     break;
 
-  case 387:
-#line 2381 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 401:
+#line 2488 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
-               (yyval.scm) = scm_list_4 ((yyvsp[(1) - (4)].scm), (yyvsp[(2) - (4)].scm), (yyvsp[(3) - (4)].scm), (yyvsp[(4) - (4)].scm));
+         (yyval.scm) = SCM_EOL;
        ;}
     break;
 
-  case 388:
-#line 2387 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
-    {
-               (yyval.scm) = scm_list_1 ((yyvsp[(1) - (1)].scm));
-       ;}
+  case 402:
+#line 2494 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
+    { (yyval.scm) = (yyvsp[(1) - (1)].scm); ;}
     break;
 
-  case 389:
-#line 2390 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 403:
+#line 2495 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
-               (yyval.scm) = scm_list_2 ((yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm));
+         (yyval.scm) = scm_cons ((yyvsp[(3) - (3)].scm), (yyvsp[(2) - (3)].scm));
        ;}
     break;
 
-  case 390:
-#line 2393 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 404:
+#line 2501 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
-               (yyval.scm) = scm_list_3 ((yyvsp[(1) - (3)].scm), (yyvsp[(2) - (3)].scm), (yyvsp[(3) - (3)].scm));
+         (yyval.scm) = scm_cons ((yyvsp[(1) - (3)].scm), scm_reverse_x ((yyvsp[(3) - (3)].scm), SCM_EOL));
        ;}
     break;
 
-  case 391:
-#line 2399 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 405:
+#line 2507 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_list_1 ((yyvsp[(1) - (1)].scm));
        ;}
     break;
 
-  case 392:
-#line 2402 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 406:
+#line 2510 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = scm_cons ((yyvsp[(2) - (2)].scm), (yyvsp[(1) - (2)].scm));
        ;}
     break;
 
-  case 393:
-#line 2408 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 407:
+#line 2516 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = make_simple_markup ((yyvsp[(1) - (1)].scm));
        ;}
     break;
 
-  case 394:
-#line 2411 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 408:
+#line 2519 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 395:
-#line 2414 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 409:
+#line 2522 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 396:
-#line 2417 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 410:
+#line 2525 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
     break;
 
-  case 397:
-#line 2420 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 411:
+#line 2528 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                SCM nn = PARSER->lexer_->lookup_identifier ("pitchnames");
                PARSER->lexer_->push_note_state (alist_to_hashq (nn));
        ;}
     break;
 
-  case 398:
-#line 2423 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 412:
+#line 2531 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                Score * sc = (yyvsp[(4) - (5)].score);
                (yyval.scm) = scm_list_2 (ly_lily_module_constant ("score-markup"), sc->self_scm ());
@@ -5695,72 +5795,23 @@ all objects can be unprotected as soon as they're here.
        ;}
     break;
 
-  case 399:
-#line 2429 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
-    {
-               (yyval.scm) = scm_list_2 ((yyvsp[(1) - (2)].scm), (yyvsp[(2) - (2)].scm));
-       ;}
-    break;
-
-  case 400:
-#line 2432 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
-    {
-               (yyval.scm) = scm_list_4 ((yyvsp[(1) - (4)].scm), (yyvsp[(2) - (4)].scm), (yyvsp[(3) - (4)].scm), (yyvsp[(4) - (4)].scm));
-       ;}
-    break;
-
-  case 401:
-#line 2435 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
-    {
-               (yyval.scm) = scm_list_3 ((yyvsp[(1) - (3)].scm), (yyvsp[(2) - (3)].scm), (yyvsp[(3) - (3)].scm));
-       ;}
-    break;
-
-  case 402:
-#line 2438 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
-    {
-               (yyval.scm) = scm_list_4 ((yyvsp[(1) - (4)].scm), (yyvsp[(2) - (4)].scm), (yyvsp[(3) - (4)].scm), (yyvsp[(4) - (4)].scm));
-       ;}
-    break;
-
-  case 403:
-#line 2441 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
-    {
-               (yyval.scm) = scm_list_5 ((yyvsp[(1) - (5)].scm), (yyvsp[(2) - (5)].scm), (yyvsp[(3) - (5)].scm), (yyvsp[(4) - (5)].scm), (yyvsp[(5) - (5)].scm));
-       ;}
-    break;
-
-  case 404:
-#line 2444 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
-    {
-               (yyval.scm) = scm_list_1 ((yyvsp[(1) - (1)].scm));
-       ;}
-    break;
-
-  case 405:
-#line 2447 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
-    {
-               (yyval.scm) = scm_list_2 ((yyvsp[(1) - (2)].scm),(yyvsp[(2) - (2)].scm));
-       ;}
-    break;
-
-  case 406:
-#line 2450 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 413:
+#line 2537 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
-               (yyval.scm) = scm_list_3 ((yyvsp[(1) - (3)].scm), (yyvsp[(2) - (3)].scm), (yyvsp[(3) - (3)].scm));
+               (yyval.scm) = scm_cons ((yyvsp[(1) - (2)].scm), scm_reverse_x ((yyvsp[(2) - (2)].scm), SCM_EOL));
        ;}
     break;
 
-  case 407:
-#line 2456 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 414:
+#line 2543 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                SCM mapper = ly_lily_module_constant ("map-markup-command-list");
                (yyval.scm) = scm_car (scm_call_2 (mapper, (yyvsp[(1) - (2)].scm), scm_list_1 ((yyvsp[(2) - (2)].scm))));
        ;}
     break;
 
-  case 408:
-#line 2460 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+  case 415:
+#line 2547 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
     {
                (yyval.scm) = (yyvsp[(1) - (1)].scm);
        ;}
@@ -5768,7 +5819,7 @@ all objects can be unprotected as soon as they're here.
 
 
 /* Line 1267 of yacc.c.  */
-#line 5772 "out/parser.cc"
+#line 5823 "out/parser.cc"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -5988,7 +6039,7 @@ yyreturn:
 }
 
 
-#line 2465 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.12/lily/parser.yy"
+#line 2552 "/main/src/gub/target/linux-x86/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.14/lily/parser.yy"
 
 
 void
@@ -6028,13 +6079,17 @@ Lily_lexer::try_special_identifiers (SCM *destination, SCM sid)
        } else if (scm_is_number (sid)) {
                *destination = sid;
                return NUMBER_IDENTIFIER;
-       } else if (unsmob_context_def (sid)) {
-               Context_def *def= unsmob_context_def (sid)->clone ();
+        } else if (unsmob_context_def (sid)) {
+                Context_def *def= unsmob_context_def (sid)->clone ();
+
+                *destination = def->self_scm ();
+                def->unprotect ();
 
-               *destination = def->self_scm ();
-               def->unprotect ();
-               
-               return CONTEXT_DEF_IDENTIFIER;
+                return CONTEXT_DEF_IDENTIFIER;
+        } else if (unsmob_context_mod (sid)) {
+                *destination = unsmob_context_mod (sid)->smobbed_copy ();
+
+                return CONTEXT_MOD_IDENTIFIER;
        } else if (unsmob_score (sid)) {
                Score *score = new Score (*unsmob_score (sid));
                *destination = score->self_scm ();
@@ -6058,7 +6113,7 @@ Lily_lexer::try_special_identifiers (SCM *destination, SCM sid)
        } else if (unsmob_output_def (sid)) {
                Output_def *p = unsmob_output_def (sid);
                p = p->clone ();
-       
+
                *destination = p->self_scm ();
                p->unprotect ();
                return OUTPUT_DEF_IDENTIFIER;
@@ -6067,9 +6122,12 @@ Lily_lexer::try_special_identifiers (SCM *destination, SCM sid)
                if (is_lyric_state ())
                        return LYRIC_MARKUP_IDENTIFIER;
                return MARKUP_IDENTIFIER;
+       } else if (Text_interface::is_markup_list (sid)) {
+               *destination = sid;
+               return MARKUPLINES_IDENTIFIER;
        }
 
-       return -1;      
+       return -1;
 }
 
 SCM
@@ -6203,7 +6261,7 @@ make_music_relative (Pitch start, SCM music, Input loc)
 {
        Music *relative = MY_MAKE_MUSIC ("RelativeOctaveMusic", loc);
        relative->set_property ("element", music);
-       
+
        Music *m = unsmob_music (music);
        Pitch last = m->to_relative_octave (start);
        if (lily_1_8_relative)
@@ -6217,8 +6275,8 @@ yylex (YYSTYPE *s, YYLTYPE *loc, void *v)
        Lily_parser *pars = (Lily_parser*) v;
        Lily_lexer *lex = pars->lexer_;
 
-       lex->lexval = (void*) s;
-       lex->lexloc = loc;
+       lex->lexval_ = (void*) s;
+       lex->lexloc_ = loc;
        lex->prepare_for_next_token ();
        return lex->yylex ();
 }