X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fparser.yy;h=34e329be2e236bf75729c44e51321d2264007359;hb=d6048913c2c793a6298a3e16a1a25c76711463b1;hp=64c9dd8bae3ba872d1365d55b42b721cb5514b5a;hpb=2b3853cd624f78756ba0f891fe220776a496d288;p=lilypond.git diff --git a/lily/parser.yy b/lily/parser.yy index 64c9dd8bae..34e329be2e 100644 --- a/lily/parser.yy +++ b/lily/parser.yy @@ -14,8 +14,6 @@ #include "notename-table.hh" #include "scalar.hh" #include "translation-property.hh" -#include "script-def.hh" -#include "symtable.hh" #include "lookup.hh" #include "misc.hh" #include "my-lily-lexer.hh" @@ -31,7 +29,7 @@ #include "command-request.hh" #include "musical-request.hh" #include "my-lily-parser.hh" -#include "text-def.hh" +#include "context-specced-music.hh" #include "translator-group.hh" #include "score.hh" #include "music-list.hh" @@ -42,27 +40,21 @@ #include "scope.hh" #include "relative-music.hh" #include "transposed-music.hh" -#include "compressed-music.hh" -#include "repeated-music.hh" +#include "time-scaled-music.hh" +#include "new-repeated-music.hh" // mmm -Mudela_version oldest_version ("1.0.7"); -Mudela_version version ("1.0.10"); - +Mudela_version oldest_version ("1.0.16"); +Mudela_version version ("1.0.19"); +void +print_mudela_versions (ostream &os) +{ + os << "Mudela versions: oldest " << oldest_version.str () << " current " << version.str () < -int const GUESS_PLET = 5; -int guess_plet_a[GUESS_PLET] = -{ - 1, - 3, - 2, - 3, - 4 -}; - struct Assignment { String *name_p_; Identifier *id_p_; @@ -102,13 +94,12 @@ Paper_def* current_paper = 0; %union { Array* intarr; Array *pitch_arr; + Link_array *reqvec; Array * strvec; Array *intvec; - Box *box; - Simultaneous_music *chord; + Notename_table *chordmodifiertab; Duration *duration; Identifier *id; - Translator* trans; Music *music; Music_list *music_list; Score *score; @@ -119,23 +110,17 @@ Paper_def* current_paper = 0; Musical_pitch * pitch; Midi_def* midi; Moment *moment; - Note_req *notereq; Notename_table *notenametab; Paper_def *paper; Real real; Request * request; - General_script_def * script; Scalar *scalar; + String *string; - Atom * symbol; - Symtable * symtable; - Symtables* symtables; - Text_def * textdef; Tempo_req *tempo; + Translator* trans; char c; - const char *consstr; int i; - int pair[2]; int ii[10]; } %{ @@ -157,17 +142,18 @@ yylex (YYSTYPE *s, void * v_l) /* tokens which are not keywords */ -%token ABSDYNAMIC +%token TEXTSCRIPT %token ACCEPTS %token ALTERNATIVE %token BAR -%token BEAMPLET %token CADENZA +%token CHORDMODIFIERS +%token CHORDS %token CLEF %token CM_T %token CONSISTS +%token CONSISTSEND %token DURATION -%token END %token EXTENDER %token FONT %token GROUPING @@ -176,22 +162,17 @@ yylex (YYSTYPE *s, void * v_l) %token KEY %token KEYSIGNATURE %token LYRICS -%token MAEBTELP %token MARK %token MEASURES %token MIDI %token MM_T -%token MUSIC %token MUSICAL_PITCH %token NAME %token NOTENAMES %token NOTES -%token OCTAVE -%token OUTPUT %token PAPER %token PARTIAL %token PENALTY -%token PLET %token PROPERTY %token PT_T %token RELATIVE @@ -203,31 +184,29 @@ yylex (YYSTYPE *s, void * v_l) %token SCRIPT %token SHAPE %token SKIP -%token SPANDYNAMIC -%token SYMBOLTABLES -%token TABLE -%token TELP +%token SPANREQUEST %token TEMPO %token TIME_T %token TIMES %token TRANSLATOR %token TRANSPOSE %token TYPE +%token CONTEXT %token VERSION /* escaped */ %token E_EXCLAMATION E_SMALLER E_BIGGER E_CHAR -%type dots +%type dots exclamations questions %token DIGIT %token NOTENAME_PITCH +%token TONICNAME_PITCH +%token CHORDMODIFIER_PITCH %token DURATION_IDENTIFIER %token IDENTIFIER %token NOTENAME_TABLE_IDENTIFIER %token MUSIC_IDENTIFIER -%token POST_REQUEST_IDENTIFIER -%token SCRIPT_IDENTIFIER -%token COMMAND_IDENTIFIER +%token REQUEST_IDENTIFIER %token REAL_IDENTIFIER %token STRING_IDENTIFIER %token TRANS_IDENTIFIER @@ -235,7 +214,6 @@ yylex (YYSTYPE *s, void * v_l) %token SCORE_IDENTIFIER %token MIDI_IDENTIFIER %token PAPER_IDENTIFIER -%token REQUEST_IDENTIFIER %token REAL %token DURATION RESTNAME %token STRING @@ -244,53 +222,51 @@ yylex (YYSTYPE *s, void * v_l) %type output_def %type mudela_header mudela_header_body -%type box -%type open_request_parens close_request_parens -%type open_abbrev_parens -%type open_plet_parens close_plet_parens +%type open_request_parens close_request_parens open_request close_request +%type request_with_dir request_that_take_dir verbose_request %type sub_quotes sup_quotes -%type simple_element request_chord command_element Simple_music Composite_music +%type simple_element request_chord command_element Simple_music Composite_music %type Alternative_music Repeated_music %type abbrev_type %type int unsigned %type script_dir %type optional_modality -%type identifier_init simple_identifier_init block_identifier +%type identifier_init %type steno_duration notemode_duration %type entered_notemode_duration explicit_duration -%type dinterval %type intastint_list int_list -%type symtables symtables_body - +%type pre_requests post_requests +%type gen_text_def %type explicit_musical_pitch steno_musical_pitch musical_pitch absolute_musical_pitch -%type steno_notepitch +%type steno_tonic_pitch + %type pitch_list +%type chord notemode_chord +%type chord_additions chord_subtractions chord_notes +%type chord_addsub chord_note chord_inversion notemode_chord_inversion %type midi_block midi_body %type duration_length %type scalar -%type Music relative_music Sequential_music Simultaneous_music +%type Music relative_music Sequential_music Simultaneous_music Music_sequence %type property_def translator_change %type Music_list %type paper_block paper_def_body -%type real_expression real dimension +%type real_expression real real_with_dimension %type abbrev_command_req -%type post_request structured_post_request -%type plet_fraction +%type post_request %type command_req verbose_command_req -%type script_req dynamic_req extender_req +%type extender_req %type string %type score_block score_body %type shape_array -%type