]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/includable-lexer.cc
Doc-de: update of learning
[lilypond.git] / lily / includable-lexer.cc
index 2ddfdd38c0390ea60b8503059a7f95ecb0e5b5bd..6fb6e2054cb70a3cef64205fd5197c245531b68f 100644 (file)
@@ -1,7 +1,7 @@
 /*
   This file is part of LilyPond, the GNU music typesetter.
 
-  Copyright (C) 1997--2010 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  Copyright (C) 1997--2011 Han-Wen Nienhuys <hanwen@xs4all.nl>
 
   LilyPond is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -37,14 +37,14 @@ using namespace std;
 #endif
 
 #ifndef YY_START
-#define YY_START                               \
+#define YY_START                                \
   ((yy_start - 1) / 2)
 #define YYSTATE YY_START
 #endif
 
 /* Flex >= 2.5.29 has include stack; but we don't use that yet.  */
 #if !HAVE_FLEXLEXER_YY_CURRENT_BUFFER
-#define yy_current_buffer                                              \
+#define yy_current_buffer                                               \
   (yy_buffer_stack != 0 ? yy_buffer_stack[yy_buffer_stack_top] : 0)
 #endif
 
@@ -71,7 +71,7 @@ Includable_lexer::new_input (string name, Sources *sources)
       string msg = _f ("cannot find file: `%s'", name);
       msg += "\n";
       msg += _f ("(search path: `%s')",
-                (current_dir.length () ? (current_dir + PATHSEP) : "") + sources->path_->to_string ().c_str ());
+                 (current_dir.length () ? (current_dir + PATHSEP) : "") + sources->path_->to_string ().c_str ());
       LexerError (msg.c_str ());
       return;
     }
@@ -85,7 +85,7 @@ Includable_lexer::new_input (string name, Sources *sources)
     {
       string spaces = "";
       for (size_t i = 0; i < state_stack_.size (); i++)
-       spaces += " ";
+        spaces += " ";
       progress_indication (string ("\n") + spaces + string ("[") + file->name_string ());
     }
 
@@ -113,7 +113,7 @@ Includable_lexer::new_input (string name, string data, Sources *sources)
     {
       string spaces = "";
       for (size_t i = 0; i < state_stack_.size (); i++)
-       spaces += " ";
+        spaces += " ";
       progress_indication (string ("\n") + spaces + string ("[") + name);
     }
   include_stack_.push_back (file);
@@ -121,6 +121,12 @@ Includable_lexer::new_input (string name, string data, Sources *sources)
   yy_switch_to_buffer (yy_create_buffer (file->get_istream (), YY_BUF_SIZE));
 }
 
+void
+Includable_lexer::add_string_include (string data)
+{
+  pending_string_includes_.push_back (data);
+}
+
 /** pop the inputstack.  conceptually this is a destructor, but it
     does not destruct the Source_file that Includable_lexer::new_input
     creates.  */