]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/translator.hh
release: 0.0.72pre
[lilypond.git] / lily / include / translator.hh
1 /*
2   acceptor.hh -- declare Translator
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
7 */
8
9
10 #ifndef ACCEPTOR_HH
11 #define ACCEPTOR_HH
12
13 #include "string.hh"
14 #include "lily-proto.hh"
15 #include "interpreter.hh"
16 #include "virtual-methods.hh"
17
18 class Translator {
19 public:
20     String id_str_;
21     
22     int iterator_count_;
23     
24     virtual Interpreter * interpreter_l() { return 0; }
25
26     /// Score_register = 0, Staff_registers = 1, etc)
27     virtual int depth_i()const=0;
28     virtual Translator *find_get_translator_l(String name, String id)=0;
29     virtual Translator *ancestor_l(int l=1)=0;
30     virtual ~Translator(){}
31     NAME_MEMBERS();
32     Translator();
33     virtual Translator *get_default_interpreter()=0;
34 };
35
36 class Interpreter : public virtual Translator {
37 public:
38     virtual bool interpret_request_b(Request*) { return false;}
39 };
40 #endif // ACCEPTOR_HH