/* A Bison parser, made by GNU Bison 2.1.  */

/* Skeleton parser for Yacc-like parsing with Bison,
   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 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., 51 Franklin Street, Fifth Floor,
   Boston, MA 02110-1301, 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,
     BOOK = 265,
     CHANGE = 266,
     CHORDMODE = 267,
     CHORDS = 268,
     CONSISTS = 269,
     CONTEXT = 270,
     DEFAULT = 271,
     DEFAULTCHILD = 272,
     DENIES = 273,
     DESCRIPTION = 274,
     DRUMMODE = 275,
     DRUMS = 276,
     FIGUREMODE = 277,
     FIGURES = 278,
     GROBDESCRIPTIONS = 279,
     HEADER = 280,
     INVALID = 281,
     KEY = 282,
     LAYOUT = 283,
     LYRICMODE = 284,
     LYRICS = 285,
     LYRICSTO = 286,
     MARK = 287,
     MARKUP = 288,
     MIDI = 289,
     NAME = 290,
     NOTEMODE = 291,
     OBJECTID = 292,
     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,
     TRANSPOSITION = 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,
     DOUBLE_ANGLE_CLOSE = 322,
     DOUBLE_ANGLE_OPEN = 323,
     E_BACKSLASH = 324,
     E_ANGLE_CLOSE = 325,
     E_CHAR = 326,
     E_CLOSE = 327,
     E_EXCLAMATION = 328,
     E_BRACKET_OPEN = 329,
     E_OPEN = 330,
     E_BRACKET_CLOSE = 331,
     E_ANGLE_OPEN = 332,
     E_PLUS = 333,
     E_TILDE = 334,
     EXTENDER = 335,
     FIGURE_CLOSE = 336,
     FIGURE_OPEN = 337,
     FIGURE_SPACE = 338,
     HYPHEN = 339,
     CHORDMODIFIERS = 340,
     LYRIC_MARKUP = 341,
     MULTI_MEASURE_REST = 342,
     SCM_T = 343,
     DIGIT = 344,
     E_UNSIGNED = 345,
     UNSIGNED = 346,
     BOOK_IDENTIFIER = 347,
     CHORDMODIFIER_PITCH = 348,
     CHORD_MODIFIER = 349,
     CONTEXT_DEF_IDENTIFIER = 350,
     DRUM_PITCH = 351,
     DURATION_IDENTIFIER = 352,
     EVENT_IDENTIFIER = 353,
     FRACTION = 354,
     LYRICS_STRING = 355,
     LYRIC_MARKUP_IDENTIFIER = 356,
     MARKUP_HEAD_EMPTY = 357,
     MARKUP_HEAD_LIST0 = 358,
     MARKUP_HEAD_MARKUP0 = 359,
     MARKUP_HEAD_MARKUP0_MARKUP1 = 360,
     MARKUP_HEAD_SCM0 = 361,
     MARKUP_HEAD_SCM0_MARKUP1 = 362,
     MARKUP_HEAD_SCM0_SCM1 = 363,
     MARKUP_HEAD_SCM0_SCM1_MARKUP2 = 364,
     MARKUP_HEAD_SCM0_SCM1_SCM2 = 365,
     MARKUP_IDENTIFIER = 366,
     MUSIC_FUNCTION = 367,
     MUSIC_FUNCTION_MARKUP = 368,
     MUSIC_FUNCTION_MARKUP_MARKUP = 369,
     MUSIC_FUNCTION_MARKUP_MARKUP_MUSIC = 370,
     MUSIC_FUNCTION_MARKUP_MUSIC = 371,
     MUSIC_FUNCTION_MARKUP_MUSIC_MUSIC = 372,
     MUSIC_FUNCTION_MUSIC = 373,
     MUSIC_FUNCTION_MUSIC_MUSIC = 374,
     MUSIC_FUNCTION_SCM = 375,
     MUSIC_FUNCTION_SCM_MUSIC = 376,
     MUSIC_FUNCTION_SCM_MUSIC_MUSIC = 377,
     MUSIC_FUNCTION_SCM_SCM = 378,
     MUSIC_FUNCTION_SCM_SCM_MUSIC = 379,
     MUSIC_FUNCTION_SCM_SCM_SCM = 380,
     MUSIC_IDENTIFIER = 381,
     NOTENAME_PITCH = 382,
     NUMBER_IDENTIFIER = 383,
     OUTPUT_DEF_IDENTIFIER = 384,
     REAL = 385,
     RESTNAME = 386,
     SCM_IDENTIFIER = 387,
     SCORE_IDENTIFIER = 388,
     STRING = 389,
     STRING_IDENTIFIER = 390,
     TONICNAME_PITCH = 391,
     UNARY_MINUS = 392
   };
#endif
/* Tokens.  */
#define PREC_TOP 258
#define ADDLYRICS 259
#define PREC_BOT 260
#define ACCEPTS 261
#define ADDQUOTE 262
#define ALIAS 263
#define ALTERNATIVE 264
#define BOOK 265
#define CHANGE 266
#define CHORDMODE 267
#define CHORDS 268
#define CONSISTS 269
#define CONTEXT 270
#define DEFAULT 271
#define DEFAULTCHILD 272
#define DENIES 273
#define DESCRIPTION 274
#define DRUMMODE 275
#define DRUMS 276
#define FIGUREMODE 277
#define FIGURES 278
#define GROBDESCRIPTIONS 279
#define HEADER 280
#define INVALID 281
#define KEY 282
#define LAYOUT 283
#define LYRICMODE 284
#define LYRICS 285
#define LYRICSTO 286
#define MARK 287
#define MARKUP 288
#define MIDI 289
#define NAME 290
#define NOTEMODE 291
#define OBJECTID 292
#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 TRANSPOSITION 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 DOUBLE_ANGLE_CLOSE 322
#define DOUBLE_ANGLE_OPEN 323
#define E_BACKSLASH 324
#define E_ANGLE_CLOSE 325
#define E_CHAR 326
#define E_CLOSE 327
#define E_EXCLAMATION 328
#define E_BRACKET_OPEN 329
#define E_OPEN 330
#define E_BRACKET_CLOSE 331
#define E_ANGLE_OPEN 332
#define E_PLUS 333
#define E_TILDE 334
#define EXTENDER 335
#define FIGURE_CLOSE 336
#define FIGURE_OPEN 337
#define FIGURE_SPACE 338
#define HYPHEN 339
#define CHORDMODIFIERS 340
#define LYRIC_MARKUP 341
#define MULTI_MEASURE_REST 342
#define SCM_T 343
#define DIGIT 344
#define E_UNSIGNED 345
#define UNSIGNED 346
#define BOOK_IDENTIFIER 347
#define CHORDMODIFIER_PITCH 348
#define CHORD_MODIFIER 349
#define CONTEXT_DEF_IDENTIFIER 350
#define DRUM_PITCH 351
#define DURATION_IDENTIFIER 352
#define EVENT_IDENTIFIER 353
#define FRACTION 354
#define LYRICS_STRING 355
#define LYRIC_MARKUP_IDENTIFIER 356
#define MARKUP_HEAD_EMPTY 357
#define MARKUP_HEAD_LIST0 358
#define MARKUP_HEAD_MARKUP0 359
#define MARKUP_HEAD_MARKUP0_MARKUP1 360
#define MARKUP_HEAD_SCM0 361
#define MARKUP_HEAD_SCM0_MARKUP1 362
#define MARKUP_HEAD_SCM0_SCM1 363
#define MARKUP_HEAD_SCM0_SCM1_MARKUP2 364
#define MARKUP_HEAD_SCM0_SCM1_SCM2 365
#define MARKUP_IDENTIFIER 366
#define MUSIC_FUNCTION 367
#define MUSIC_FUNCTION_MARKUP 368
#define MUSIC_FUNCTION_MARKUP_MARKUP 369
#define MUSIC_FUNCTION_MARKUP_MARKUP_MUSIC 370
#define MUSIC_FUNCTION_MARKUP_MUSIC 371
#define MUSIC_FUNCTION_MARKUP_MUSIC_MUSIC 372
#define MUSIC_FUNCTION_MUSIC 373
#define MUSIC_FUNCTION_MUSIC_MUSIC 374
#define MUSIC_FUNCTION_SCM 375
#define MUSIC_FUNCTION_SCM_MUSIC 376
#define MUSIC_FUNCTION_SCM_MUSIC_MUSIC 377
#define MUSIC_FUNCTION_SCM_SCM 378
#define MUSIC_FUNCTION_SCM_SCM_MUSIC 379
#define MUSIC_FUNCTION_SCM_SCM_SCM 380
#define MUSIC_IDENTIFIER 381
#define NOTENAME_PITCH 382
#define NUMBER_IDENTIFIER 383
#define OUTPUT_DEF_IDENTIFIER 384
#define REAL 385
#define RESTNAME 386
#define SCM_IDENTIFIER 387
#define SCORE_IDENTIFIER 388
#define STRING 389
#define STRING_IDENTIFIER 390
#define TONICNAME_PITCH 391
#define UNARY_MINUS 392




#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
#line 100 "parser.yy"
typedef union YYSTYPE {
	Book *book;
	Output_def *outputdef;
	SCM scm;
	std::string *string;
 	Music *music;
 	Score *score;
 	int i;
} YYSTYPE;
/* Line 1447 of yacc.c.  */
#line 322 "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




