%{ // -*-Fundamental-*- #include #include "script-def.hh" #include "symtable.hh" #include "lookup.hh" #include "misc.hh" #include "my-lily-lexer.hh" #include "paper-def.hh" #include "midi-def.hh" #include "main.hh" #include "input-score.hh" #include "input-staff.hh" #include "input-music.hh" #include "keyword.hh" #include "debug.hh" #include "parseconstruct.hh" #include "dimen.hh" #include "identifier.hh" #include "command-request.hh" #include "musical-request.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; bool init_parse_b; %} %union { Array *melreqvec; Array * strvec; Array *intvec; Box *box; Identifier *id; Input_music *music; Input_score *score; Input_staff *staff; Interval *interval; Lookup*lookup; Melodic_req * melreq; Midi_def* midi; Moment *moment; Music_general_chord *chord; Music_voice *mvoice; Note_req *notereq; Paper_def *paper; Real real; Request * request; Script_def * script; String *string; Symbol * symbol; Symtable * symtable; Symtables * symtables; Text_def * textdef; Voice *voice; Voice_element *el; char c; const char *consstr; int i; int ii[10]; } %token BAR %token CADENZA %token CLEF %token CM_T %token CONCAT %token DURATIONCOMMAND %token DYNAMIC %token END %token GEOMETRIC %token GROUPING %token IN_T %token LYRICS %token KEY %token MELODIC %token METER %token MIDI %token MM_T %token MULTIVOICE %token MUSIC %token OCTAVECOMMAND %token OUTPUT %token PAPER %token PARTIAL %token PLET %token PT_T %token SCORE %token SCRIPT %token SKIP %token STAFF %token START_T %token STEM %token SYMBOLTABLES %token TABLE %token TRANSPOSE %token TEMPO %token TEXID %token TEXTSTYLE %token TITLE %token UNITSPACE %token WIDTH %token DOTS %token INT %token IDENTIFIER %token MELODIC_REQUEST_IDENTIFIER %token CHORD_IDENTIFIER %token VOICE_IDENTIFIER %token POST_REQUEST_IDENTIFIER %token SCRIPT_IDENTIFIER %token STAFF_IDENTIFIER %token REAL_IDENTIFIER %token SCORE_IDENTIFIER %token REQUEST_IDENTIFIER %token REAL %token DURATION RESTNAME %token STRING %type box %type open_request_parens close_request_parens close_plet_parens %type music_chord music_chord_body init_music_chord %type voice_elt full_element lyrics_elt command_elt %type int %type octave_quotes octave_quote %type script_dir %type declaration %type default_duration explicit_duration notemode_duration %type mudela_duration %type dinterval %type intastint_list %type symtables symtables_body %type melodic_request steno_melodic_req %type steno_note_req %type pitch_list %type midi_block midi_body %type duration_length %type init_music %type transposed_music_voice init_lyrics_voice %type music_voice_body music_voice init_music_voice %type paper_block paper_body %type dim real %type unit %type post_request pre_request command_req pure_post_request %type script_req textscript_req dynamic_req %type score_block score_body %type