From b308541700efa917721b3d1d4692e6421fa405aa Mon Sep 17 00:00:00 2001 From: fred Date: Mon, 11 Nov 1996 22:47:33 +0000 Subject: [PATCH] lilypond-0.0.9 --- hdr/parseconstruct.hh | 17 +++++++++++ src/table.cc | 67 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100644 hdr/parseconstruct.hh create mode 100644 src/table.cc diff --git a/hdr/parseconstruct.hh b/hdr/parseconstruct.hh new file mode 100644 index 0000000000..259303e1a8 --- /dev/null +++ b/hdr/parseconstruct.hh @@ -0,0 +1,17 @@ +#include "proto.hh" + +template +struct svec; + +void set_default_duration(String); +void set_default_pitch(String); +Staff * get_new_rhythmstaff(); +Voice_element * get_note_element(String,String); +Voice_element* get_rest_element(String,String); +Command * get_bar_command(Real); +Staff * get_new_melodicstaff(); +Command* get_meterchange_command( int,int); +Command* get_meter_command( Real,int,int); +Command* get_skip_command( int,Real); +Request* get_request(char); +void add_requests( Voice_element*v, svec&req); diff --git a/src/table.cc b/src/table.cc new file mode 100644 index 0000000000..1f302259e9 --- /dev/null +++ b/src/table.cc @@ -0,0 +1,67 @@ +#include "glob.hh" +#include "debug.hh" +#include "string.hh" +#include "identifier.hh" +#include "keyword.hh" +#include "associter.hh" +#include "parser.hh" + +static Keyword_ent the_key_tab[]={ + "voice", VOICE, + "rhythmstaff", RHYTHMSTAFF, + "melodicstaff", MELODICSTAFF, + "score", SCORE, + "bar", BAR, + "output", OUTPUT, + "cm", CM, + "start", START_T, + "pt", PT, + "in", IN, + "mm", MM, + "paper", PAPER, + "width", WIDTH, + "meter", METER, + "unitspace", UNITSPACE, + "skip", SKIP, + "octave", OCTAVECOMMAND, + "commands", COMMANDS, + "staff", STAFF, + "geometric", GEOMETRIC, + "duration", DURATIONCOMMAND, + 0,0 +} ; + + +int +lookup_keyword(String s) +{ + static Keyword_table table(the_key_tab); + return table.lookup(s); +} + +Assoc the_id_tab; + +Identifier* +lookup_identifier(String s) +{ + if (!the_id_tab.elt_query(s)) + return 0; + + return the_id_tab[s]; +} + +void +add_identifier(Identifier*i) +{ + the_id_tab[i->name] = i; +} + +void +delete_identifiers() +{ + + for (Assoc_iter ai(the_id_tab); ai.ok(); ai++) { + mtor << "deleting: " << ai.key()<<'\n'; + delete ai.val(); + } +} -- 2.39.5