diff options
Diffstat (limited to 'note_compiler/parser.h')
-rw-r--r-- | note_compiler/parser.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/note_compiler/parser.h b/note_compiler/parser.h new file mode 100644 index 0000000..3e60051 --- /dev/null +++ b/note_compiler/parser.h @@ -0,0 +1,40 @@ +#ifndef __PARSER_H__ +#define __PARSET_H__ + + +#include <set> +#include <map> +#include <list> +#include <string> + +#include "../synth/fixed.h" +#include "programs.h" + +using namespace std; + +class Parser +{ + public: + Parser(); + ~Parser(); + void parse(string fn); + + program_t get_result(); + + private: + void init_stuff(); + void uninit_stuff(); + static string extract_array_name(string s); + static int extract_array_index(string s, int dim); + + int n_osc; + oscillator_t *osc; + env_settings_t *env; + filter_params_t filter; + + fixed_t sync_factor; + bool sync_factor_const; +}; + + +#endif |