X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Flily-parser.hh;h=e4ff2969b92ce8143326b8a4a7889ee0ee64169e;hb=528d28e079419b3a45098b42b8b2b4eb9f1b15b1;hp=e2d484f3fb7d7993e2790476953bdecf6a7c11d5;hpb=e7aa6c445f463844dbaa52d38ea4aac2882b5601;p=lilypond.git diff --git a/lily/include/lily-parser.hh b/lily/include/lily-parser.hh index e2d484f3fb..e4ff2969b9 100644 --- a/lily/include/lily-parser.hh +++ b/lily/include/lily-parser.hh @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -29,11 +29,15 @@ TODO: interface is too complicated */ -class Lily_parser +class Lily_parser : public Smob { - DECLARE_SMOBS (Lily_parser); - + SCM do_yyparse (); + static SCM do_yyparse_trampoline (void *parser); public: + int print_smob (SCM, scm_print_state *) const; + SCM mark_smob () const; + static const char * const type_p_name_; + virtual ~Lily_parser (); Lily_lexer *lexer_; Sources *sources_; Duration default_duration_; @@ -53,7 +57,6 @@ public: void clear (); void do_init_file (); - SCM do_yyparse (); void include_string (const string &ly_code); void parse_file (const string &init, const string &name, const string &out_name); void parse_string (const string &ly_code); @@ -67,7 +70,6 @@ public: SCM make_scope () const; }; -DECLARE_UNSMOB (Lily_parser, lily_parser); Output_def *get_layout (Lily_parser *parser); Output_def *get_midi (Lily_parser *parser);