[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Denemo-devel] A first target for the gsoc project
From: |
Richard Shann |
Subject: |
Re: [Denemo-devel] A first target for the gsoc project |
Date: |
Sun, 08 Aug 2010 10:08:44 +0100 |
> Current state of git that it can parse sequences of notes in {}.
> I created a very verbose script, showing exactly which value is parsed right
> now and how the var goes through the different states. This chain is not an
> easy one. The recursion create the same feeling I have when I watch old BASIC
> programs with many GOTOs.
> As a basic action all notes are saved in a list which is printed out at the
> end of the script.
>
> {c d e {c d e}} is already possible with the same chain, but still weird to
> catch)
>
I looked at this last night - great! I suggest the next couple of stages
thus:
* put in the parser rules going down thru scoreblock. I believe
this is the chain I first suggested - it is not a lot more rules
because once you get to the music it is already there. This will
require the lexer to go to scan_escaped_word which (as with
scan_bare_word) we can simplify (either straight to (make-token
SCORE ...) or simple test the whole list of keywords in
parser.yy as a cond(yytext) "\\accepts" ACCEPTS ... "\\score"
SCORE, ... "\\new" NEWCONTEXT
* once this works (no actions still!) add in the octave_check
optional_notemode_duration to pitch - hmm, I don't see where the
es, is (sharp/flat) is parsed, again it is because of language
differences. We need to do this as well, so as to design the
actions (it is the one place where Denemo Classic mode breaks
with LilyPond typing, you have to put d-Sharpen *after* the
duration, in LilyPond before).
* once that works I think to do mxml-generated lily is just typing
- well there are the assignments, but that is easy in scheme,
much easier than in C.
Richard
- Re: [Denemo-devel] A first target for the gsoc project,
Richard Shann <=