%{ // -*-Fundamental-*- #include #include "lookup.hh" #include "misc.hh" #include "lexer.hh" #include "paper-def.hh" #include "midi-def.hh" #include "input-score.hh" #include "main.hh" #include "keyword.hh" #include "debug.hh" #include "parseconstruct.hh" #include "dimen.hh" #include "identifier.hh" #include "commandrequest.hh" #include "musicalrequest.hh" #include "voice-element.hh" #ifndef NDEBUG #define YYDEBUG 1 #endif Array pre_reqs, post_reqs; Array define_spots; Paper_def*default_paper(); char const* defined_ch_c_l; char const* req_defined_ch_c_l; int fatal_error_i = 0; %} %union { Request * request; Real real; Identifier *id; Voice *voice; Voice_element *el; String *string; const char *consstr; Paper_def *paper; Midi_def* midi; Input_music *music; Music_general_chord *chord; Music_voice *mvoice; int i; char c; int ii[10]; Moment *moment; Array * strvec; Array *intvec; Array *melreqvec; Input_staff *staff; Input_score *score; Symtables * symtables; Symtable * symtable; Symbol * symbol; Lookup*lookup; Interval *interval; Box *box; Notename_tab *notename_tab; Script_def * script; Text_def * textdef; } %token VOICE STAFF SCORE TITLE BAR OUTPUT MULTIVOICE DYNAMIC %token CM_T IN_T PT_T MM_T PAPER WIDTH METER UNITSPACE SKIP COMMANDS COMMAND %token GEOMETRIC START_T DURATIONCOMMAND OCTAVECOMMAND %token KEY CLEF TABLE VOICES STEM %token PARTIAL MUSIC GROUPING CADENZA %token END SYMBOLTABLES TEXID TABLE NOTENAMES SCRIPT TEXTSTYLE PLET %token GOTO %token MIDI TEMPO %token IDENTIFIER REAL_IDENTIFIER REQUEST_IDENTIFIER %token PITCHMOD DURATION RESTNAME %token NOTENAME %token REAL %token STRING %token DOTS INT %type unit %type pitch_list %type open_request_parens close_request_parens close_plet_parens %type declaration %type declarable_identifier %type paper_block paper_body %type midi_block midi_body %type dim real %type default_duration explicit_duration notemode_duration mudela_duration %type notename %type duration_length %type voice_elt full_element lyrics_elt command_elt %type score_block score_body %type staff_block staff_init staff_body %type int %type intastint_list %type post_request pre_request command_req %type pitchmod %type music %type music_chord music_chord_body %type music_voice_body music_voice %type dinterval %type box %type symtable symtable_body %type symtables symtables_body %type symboldef %type notename_tab notename_tab_body %type script_dir %type