X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fparse-scm.hh;h=e5db86dcb09f1afdbca0cde8fe14a36c05e875cd;hb=47db9a3883d726ca53e2133a3b2298f78dd6a32e;hp=28223cac7ecd66413304b74b7af8a5f2b1005c37;hpb=75eebcb49e52d296b1da3e1074e0825d2c780db4;p=lilypond.git diff --git a/lily/include/parse-scm.hh b/lily/include/parse-scm.hh index 28223cac7e..e5db86dcb0 100644 --- a/lily/include/parse-scm.hh +++ b/lily/include/parse-scm.hh @@ -1,9 +1,20 @@ /* - lily-guile.hh encapsulate guile + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 2004--2015 Han-Wen Nienhuys - (c) 2004--2006 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 + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + LilyPond is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with LilyPond. If not, see . */ #ifndef PARSE_SCM_HH @@ -13,17 +24,25 @@ #include "lily-guile.hh" extern bool parse_protect_global; +extern bool parsed_objects_should_be_dead; -struct Parse_start +class Parse_start { - char const *str; - int nchars; - Input start_location_; +public: + SCM form_; + Input &location_; bool safe_; + Lily_parser *parser_; + + Parse_start (SCM form, Input &location, bool safe, Lily_parser *parser) : + form_ (form), location_ (location), safe_ (safe), parser_ (parser) + { + } }; SCM catch_protected_parse_body (void *); SCM protected_ly_parse_scm (Parse_start *, bool); -SCM ly_parse_scm (char const *, int *, Input, bool); +SCM ly_parse_scm (Input&, bool, Lily_parser *); +SCM ly_eval_scm (SCM, Input, bool, Lily_parser *); #endif /* PARSE_SCM_HH */