]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/parse-scm.hh
Imported Upstream version 2.18.2
[lilypond.git] / lily / include / parse-scm.hh
index 047399a3222dfa73379642e805e3e1cbf0d01119..b39fa635ffe4f4f358b899ea6846fb10355046d0 100644 (file)
 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_;
-  bool safe_;
-  SCM (*func_) (Parse_start *ps);
+public:
   SCM form_;
+  Input &location_;
+  bool safe_;
   Lily_parser *parser_;
 
-  Parse_start ()
+  Parse_start (SCM form, Input &location, bool safe, Lily_parser *parser) :
+    form_ (form), location_ (location), safe_ (safe), parser_ (parser)
   {
-    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, Lily_parser *);
+SCM ly_parse_scm (Input&, bool, Lily_parser *);
 SCM ly_eval_scm (SCM, Input, bool, Lily_parser *);
 
 #endif /* PARSE_SCM_HH */