From: fred Date: Mon, 28 Oct 1996 23:07:20 +0000 (+0000) Subject: lilypond-0.0.5 X-Git-Tag: release/1.5.59~7017 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=db29bc9025b54a9a96701ff39ef5a4fae49f4103;p=lilypond.git lilypond-0.0.5 --- diff --git a/Sources.make b/Sources.make index 02eac2a6c0..6c420edad7 100644 --- a/Sources.make +++ b/Sources.make @@ -3,7 +3,7 @@ hdr= qlp.hh \ pcol.hh proto.hh pstaff.hh line.hh\ const.hh glob.hh molecule.hh boxes.hh pscore.hh item.hh tex.hh\ request.hh voice.hh command.hh staff.hh linestaff.hh \ - tstream.hh mtime.hh rhythmstaf.hh\ + tstream.hh rhythmstaf.hh\ parseconstruct.hh debug.hh globvars.hh keyword.hh\ misc.hh score.hh notename.hh lexer.hh symtable.hh\ symbol.hh main.hh dimen.hh paper.hh lookupsyms.hh\ @@ -19,5 +19,5 @@ mycc= qlp.cc qlpsolve.cc \ pstaff.cc tstream.cc version.cc\ calcideal.cc scores.cc identifier.cc \ dimen.cc paper.cc lookupsyms.cc scommands.cc\ - sccol.cc stcol.cc\ + sccol.cc stcol.cc getcommands.cc\ template1.cc template2.cc template3.cc diff --git a/lexer.l b/lexer.l index 03853ca579..46a30cf752 100644 --- a/lexer.l +++ b/lexer.l @@ -113,9 +113,15 @@ REAL [0-9]+(\.[0-9]*)? mtor << "parens\n"; return YYText()[0]; } +[:] { + char c = YYText()[0]; + mtor << "misc char" < unit %token IDENTIFIER @@ -50,7 +51,7 @@ %type score_block score_body %type staff_block rhythmstaff_block rhythmstaff_body %type int - +%type score_commands_block score_commands_body %% @@ -66,9 +67,16 @@ score_block: SCORE '{' score_body '}' { $$ = $3; } score_body: { $$ = new Score; } | score_body staff_block { $$->add($2); } - | score_body score_command { $$->add($2); } - | score_body paper_block { delete $$->paper; - $$->paper = $2; + | score_body score_commands_block { $$->set($2); } + | score_body paper_block { $$->set($2); } + ; +score_commands_block: + COMMANDS '{' score_commands_body '}' { $$ =$3;} + ; + +score_commands_body: { $$ = new Score_commands; } + | score_commands_body score_command { + $$->parser_add($2); } ; @@ -82,6 +90,7 @@ paper_body: | paper_body OUTPUT STRING { $$->outfile = *$3; delete $3; } + | paper_body UNITSPACE dim { $$->whole_width = $3; } ; dim: @@ -142,13 +151,17 @@ voice_elt: ; score_command: - BAR REAL { - $$ = get_bar_command($2); + SKIP int ':' REAL { + $$ = get_skip_command($2, $4); } - | METER REAL int int { - $$ = get_meter_command($2, $3, $4); + | METER int int { + $$ = get_meterchange_command($2, $3); } +/* | PARTIALMEASURE REAL { + $$ = get_partial_command($2); + }*/ ; + int: REAL { diff --git a/table.cc b/table.cc index 72b5ccfd55..da2af9575e 100644 --- a/table.cc +++ b/table.cc @@ -17,6 +17,9 @@ static Keyword_ent the_key_tab[]={ "paper", PAPER, "width", WIDTH, "meter", METER, + "unitspace", UNITSPACE, + "skip", SKIP, + "commands", COMMANDS, 0,0 } ;