lilypond-1.3.16
[lilypond.git] / lily / include / acceptor.hh
blob872f374aee2478554c9491d4837f3759d8b8a04b
1 /*
2 acceptor.hh -- declare Translator
4 source file of the GNU LilyPond music typesetter
6 (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
7 */
10 #ifndef ACCEPTOR_HH
11 #define ACCEPTOR_HH
12 #error
14 #include "string.hh"
15 #include "lily-proto.hh"
16 #include "interpreter.hh"
17 #include "virtual-methods.hh"
19 class Translator {
20 public:
21 String id_str_;
23 int iterator_count_;
25 virtual Interpreter * interpreter_l() { return 0; }
27 /// Score_engraver = 0, Staff_engravers = 1, etc)
28 virtual int depth_i()const=0;
29 virtual Translator *find_get_translator_l(String name, String id)=0;
30 virtual Translator *ancestor_l(int l=1)=0;
31 virtual ~Translator(){}
32 NAME_MEMBERS();
33 Translator();
34 virtual Translator *get_default_interpreter()=0;
37 class Interpreter : public virtual Translator {
38 public:
39 virtual bool interpret_request_b(Request*) { return false;}
41 #endif // ACCEPTOR_HH