/* A Bison parser, made by GNU Bison 2.0a.  */

/* Skeleton parser for Yacc-like parsing with Bison,
   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place - Suite 330,
   Boston, MA 02111-1307, USA.  */

/* As a special exception, when this file is copied by Bison into a
   Bison output file, you may use that output file without restriction.
   This special exception was added by the Free Software Foundation
   in version 1.24 of Bison.  */

/* Tokens.  */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
   /* Put the tokens into the symbol table, so that GDB and other debuggers
      know about them.  */
   enum yytokentype {
     PREC_TOP = 258,
     ADDLYRICS = 259,
     PREC_BOT = 260,
     ACCEPTS = 261,
     ADDQUOTE = 262,
     ALIAS = 263,
     ALTERNATIVE = 264,
     BAR = 265,
     BOOK = 266,
     CHANGE = 267,
     CHORDMODE = 268,
     CHORDS = 269,
     CLEF = 270,
     CONSISTS = 271,
     CONTEXT = 272,
     DEFAULT = 273,
     DEFAULTCHILD = 274,
     DENIES = 275,
     DESCRIPTION = 276,
     DRUMMODE = 277,
     DRUMS = 278,
     FIGUREMODE = 279,
     FIGURES = 280,
     GROBDESCRIPTIONS = 281,
     HEADER = 282,
     INVALID = 283,
     KEY = 284,
     LAYOUT = 285,
     LYRICMODE = 286,
     LYRICS = 287,
     LYRICSTO = 288,
     MARK = 289,
     MARKUP = 290,
     MIDI = 291,
     NAME = 292,
     NOTEMODE = 293,
     OBJECTID = 294,
     OCTAVE = 295,
     ONCE = 296,
     OVERRIDE = 297,
     PAPER = 298,
     PARTIAL = 299,
     RELATIVE = 300,
     REMOVE = 301,
     REPEAT = 302,
     REST = 303,
     REVERT = 304,
     SCORE = 305,
     SEQUENTIAL = 306,
     SET = 307,
     SIMULTANEOUS = 308,
     SKIP = 309,
     TAG = 310,
     TEMPO = 311,
     TIMES = 312,
     TRANSPOSE = 313,
     TRANSPOSITION = 314,
     TYPE = 315,
     UNSET = 316,
     WITH = 317,
     TIME_T = 318,
     NEWCONTEXT = 319,
     CHORD_BASS = 320,
     CHORD_CARET = 321,
     CHORD_COLON = 322,
     CHORD_MINUS = 323,
     CHORD_SLASH = 324,
     DOUBLE_ANGLE_CLOSE = 325,
     DOUBLE_ANGLE_OPEN = 326,
     E_BACKSLASH = 327,
     E_ANGLE_CLOSE = 328,
     E_CHAR = 329,
     E_CLOSE = 330,
     E_EXCLAMATION = 331,
     E_BRACKET_OPEN = 332,
     E_OPEN = 333,
     E_BRACKET_CLOSE = 334,
     E_ANGLE_OPEN = 335,
     E_PLUS = 336,
     E_TILDE = 337,
     EXTENDER = 338,
     FIGURE_CLOSE = 339,
     FIGURE_OPEN = 340,
     FIGURE_SPACE = 341,
     HYPHEN = 342,
     CHORDMODIFIERS = 343,
     LYRIC_MARKUP = 344,
     MULTI_MEASURE_REST = 345,
     SCM_T = 346,
     DIGIT = 347,
     E_UNSIGNED = 348,
     UNSIGNED = 349,
     IDENTIFIER = 350,
     CHORDMODIFIER_PITCH = 351,
     CHORD_MODIFIER = 352,
     CONTEXT_DEF_IDENTIFIER = 353,
     DRUM_PITCH = 354,
     DURATION_IDENTIFIER = 355,
     EVENT_IDENTIFIER = 356,
     FRACTION = 357,
     LYRICS_STRING = 358,
     LYRIC_MARKUP_IDENTIFIER = 359,
     MARKUP_HEAD_EMPTY = 360,
     MARKUP_HEAD_LIST0 = 361,
     MARKUP_HEAD_MARKUP0 = 362,
     MARKUP_HEAD_MARKUP0_MARKUP1 = 363,
     MARKUP_HEAD_SCM0 = 364,
     MARKUP_HEAD_SCM0_MARKUP1 = 365,
     MARKUP_HEAD_SCM0_SCM1 = 366,
     MARKUP_HEAD_SCM0_SCM1_MARKUP2 = 367,
     MARKUP_HEAD_SCM0_SCM1_SCM2 = 368,
     MARKUP_IDENTIFIER = 369,
     MUSIC_FUNCTION = 370,
     MUSIC_FUNCTION_MARKUP = 371,
     MUSIC_FUNCTION_MARKUP_MARKUP = 372,
     MUSIC_FUNCTION_MARKUP_MARKUP_MUSIC = 373,
     MUSIC_FUNCTION_MARKUP_MUSIC = 374,
     MUSIC_FUNCTION_MARKUP_MUSIC_MUSIC = 375,
     MUSIC_FUNCTION_MUSIC = 376,
     MUSIC_FUNCTION_MUSIC_MUSIC = 377,
     MUSIC_FUNCTION_SCM = 378,
     MUSIC_FUNCTION_SCM_MUSIC = 379,
     MUSIC_FUNCTION_SCM_MUSIC_MUSIC = 380,
     MUSIC_FUNCTION_SCM_SCM = 381,
     MUSIC_FUNCTION_SCM_SCM_MUSIC = 382,
     MUSIC_FUNCTION_SCM_SCM_SCM = 383,
     MUSIC_IDENTIFIER = 384,
     NOTENAME_PITCH = 385,
     NUMBER_IDENTIFIER = 386,
     OUTPUT_DEF_IDENTIFIER = 387,
     REAL = 388,
     RESTNAME = 389,
     SCM_IDENTIFIER = 390,
     SCORE_IDENTIFIER = 391,
     STRING = 392,
     STRING_IDENTIFIER = 393,
     TONICNAME_PITCH = 394,
     UNARY_MINUS = 395
   };
#endif
#define PREC_TOP 258
#define ADDLYRICS 259
#define PREC_BOT 260
#define ACCEPTS 261
#define ADDQUOTE 262
#define ALIAS 263
#define ALTERNATIVE 264
#define BAR 265
#define BOOK 266
#define CHANGE 267
#define CHORDMODE 268
#define CHORDS 269
#define CLEF 270
#define CONSISTS 271
#define CONTEXT 272
#define DEFAULT 273
#define DEFAULTCHILD 274
#define DENIES 275
#define DESCRIPTION 276
#define DRUMMODE 277
#define DRUMS 278
#define FIGUREMODE 279
#define FIGURES 280
#define GROBDESCRIPTIONS 281
#define HEADER 282
#define INVALID 283
#define KEY 284
#define LAYOUT 285
#define LYRICMODE 286
#define LYRICS 287
#define LYRICSTO 288
#define MARK 289
#define MARKUP 290
#define MIDI 291
#define NAME 292
#define NOTEMODE 293
#define OBJECTID 294
#define OCTAVE 295
#define ONCE 296
#define OVERRIDE 297
#define PAPER 298
#define PARTIAL 299
#define RELATIVE 300
#define REMOVE 301
#define REPEAT 302
#define REST 303
#define REVERT 304
#define SCORE 305
#define SEQUENTIAL 306
#define SET 307
#define SIMULTANEOUS 308
#define SKIP 309
#define TAG 310
#define TEMPO 311
#define TIMES 312
#define TRANSPOSE 313
#define TRANSPOSITION 314
#define TYPE 315
#define UNSET 316
#define WITH 317
#define TIME_T 318
#define NEWCONTEXT 319
#define CHORD_BASS 320
#define CHORD_CARET 321
#define CHORD_COLON 322
#define CHORD_MINUS 323
#define CHORD_SLASH 324
#define DOUBLE_ANGLE_CLOSE 325
#define DOUBLE_ANGLE_OPEN 326
#define E_BACKSLASH 327
#define E_ANGLE_CLOSE 328
#define E_CHAR 329
#define E_CLOSE 330
#define E_EXCLAMATION 331
#define E_BRACKET_OPEN 332
#define E_OPEN 333
#define E_BRACKET_CLOSE 334
#define E_ANGLE_OPEN 335
#define E_PLUS 336
#define E_TILDE 337
#define EXTENDER 338
#define FIGURE_CLOSE 339
#define FIGURE_OPEN 340
#define FIGURE_SPACE 341
#define HYPHEN 342
#define CHORDMODIFIERS 343
#define LYRIC_MARKUP 344
#define MULTI_MEASURE_REST 345
#define SCM_T 346
#define DIGIT 347
#define E_UNSIGNED 348
#define UNSIGNED 349
#define IDENTIFIER 350
#define CHORDMODIFIER_PITCH 351
#define CHORD_MODIFIER 352
#define CONTEXT_DEF_IDENTIFIER 353
#define DRUM_PITCH 354
#define DURATION_IDENTIFIER 355
#define EVENT_IDENTIFIER 356
#define FRACTION 357
#define LYRICS_STRING 358
#define LYRIC_MARKUP_IDENTIFIER 359
#define MARKUP_HEAD_EMPTY 360
#define MARKUP_HEAD_LIST0 361
#define MARKUP_HEAD_MARKUP0 362
#define MARKUP_HEAD_MARKUP0_MARKUP1 363
#define MARKUP_HEAD_SCM0 364
#define MARKUP_HEAD_SCM0_MARKUP1 365
#define MARKUP_HEAD_SCM0_SCM1 366
#define MARKUP_HEAD_SCM0_SCM1_MARKUP2 367
#define MARKUP_HEAD_SCM0_SCM1_SCM2 368
#define MARKUP_IDENTIFIER 369
#define MUSIC_FUNCTION 370
#define MUSIC_FUNCTION_MARKUP 371
#define MUSIC_FUNCTION_MARKUP_MARKUP 372
#define MUSIC_FUNCTION_MARKUP_MARKUP_MUSIC 373
#define MUSIC_FUNCTION_MARKUP_MUSIC 374
#define MUSIC_FUNCTION_MARKUP_MUSIC_MUSIC 375
#define MUSIC_FUNCTION_MUSIC 376
#define MUSIC_FUNCTION_MUSIC_MUSIC 377
#define MUSIC_FUNCTION_SCM 378
#define MUSIC_FUNCTION_SCM_MUSIC 379
#define MUSIC_FUNCTION_SCM_MUSIC_MUSIC 380
#define MUSIC_FUNCTION_SCM_SCM 381
#define MUSIC_FUNCTION_SCM_SCM_MUSIC 382
#define MUSIC_FUNCTION_SCM_SCM_SCM 383
#define MUSIC_IDENTIFIER 384
#define NOTENAME_PITCH 385
#define NUMBER_IDENTIFIER 386
#define OUTPUT_DEF_IDENTIFIER 387
#define REAL 388
#define RESTNAME 389
#define SCM_IDENTIFIER 390
#define SCORE_IDENTIFIER 391
#define STRING 392
#define STRING_IDENTIFIER 393
#define TONICNAME_PITCH 394
#define UNARY_MINUS 395




#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
#line 219 "parser.yy"
typedef union YYSTYPE {
	Book *book;
	Output_def *outputdef;
	SCM scm;
	String *string;
 	Music *music;
 	Score *score;
 	int i;
} YYSTYPE;
/* Line 1373 of yacc.c.  */
#line 327 "./out/parser.hh"
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1
#endif



#if ! defined (YYLTYPE) && ! defined (YYLTYPE_IS_DECLARED)
typedef struct YYLTYPE
{
  int first_line;
  int first_column;
  int last_line;
  int last_column;
} YYLTYPE;
# define yyltype YYLTYPE /* obsolescent; will be withdrawn */
# define YYLTYPE_IS_DECLARED 1
# define YYLTYPE_IS_TRIVIAL 1
#endif




