X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fparse-scm.hh;h=047399a3222dfa73379642e805e3e1cbf0d01119;hb=b50658bea833eb7fd7650cbf5cd9a9bd0b6e1aca;hp=28223cac7ecd66413304b74b7af8a5f2b1005c37;hpb=75eebcb49e52d296b1da3e1074e0825d2c780db4;p=lilypond.git diff --git a/lily/include/parse-scm.hh b/lily/include/parse-scm.hh index 28223cac7e..047399a322 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--2012 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,6 +24,7 @@ #include "lily-guile.hh" extern bool parse_protect_global; +extern bool parsed_objects_should_be_dead; struct Parse_start { @@ -20,10 +32,24 @@ struct Parse_start int nchars; Input start_location_; bool safe_; + SCM (*func_) (Parse_start *ps); + SCM form_; + Lily_parser *parser_; + + Parse_start () + { + str = 0; + nchars = 0; + safe_ = false; + parser_ = 0; + form_ = SCM_UNDEFINED; + func_ = 0; + } }; 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 (char const *, int *, Input, bool, Lily_parser *); +SCM ly_eval_scm (SCM, Input, bool, Lily_parser *); #endif /* PARSE_SCM_HH */