If I'm going to take this idea on, I will be altering the parser, so along
those lines, what modifications were made to the *-l.h file beyond a
vanilla generated one? Is it worth it to try to have the *-l.h file be
fully generated?
Henry
On March 30, 2015 9:45:01 AM Élie Roux <[email protected]> wrote:
> gregorio_glyph.glyph_type is as much an offender as gregorio_note.pitch
> in terms of being a multi-purpose field.
Sure
> My reason for the enum conversion was to make debugging easier (gdb will
> show the enum name rather than a number that needs to be looked up).
> Multi-purpose fields mean that you need to understand the context of the
> field in order to look up the value. Even if it were a union of enums,
> you'd still need to understand the context and remember how it should
> apply to understand the output. This is why I abandoned the union idea.
ok, understood
> The cleanest thing, from an understanding point-of-view, would be to
> have fields with a singular purpose in all the structures, but this
> makes the structures bulkier with unused fields. Since these structures
> hold the entire score, I think this is an acceptable size-leaning
> compromise, but a difficult barrier for a new developer to understand.
Thinking out loud, many of the problems could be solved by having
* a new type for non-notes in gabc parsing
* a special_or_note union that would be a pointer to the previous type
or a pointer to a note
* make gabc parsing determine the good structure on top of that
But this is quite a lot of non-funny work...
Thank you,
--
Elie
_______________________________________________
Gregorio-devel mailing list
[email protected]
https://mail.gna.org/listinfo/gregorio-devel