X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Finput.hh;h=cc9d1bdee3ede39a67e47a45466bf7b60949030b;hb=5b4b0d6e9a197e8f9eb085b7c2ad78b8be3e5cfc;hp=710d6b97d8cdc0cae946e990a1c6ca4394db482d;hpb=7e72a1e50e94a7f9738d62599de79fe7745f600c;p=lilypond.git diff --git a/lily/include/input.hh b/lily/include/input.hh index 710d6b97d8..cc9d1bdee3 100644 --- a/lily/include/input.hh +++ b/lily/include/input.hh @@ -3,39 +3,60 @@ source file of the LilyPond music typesetter - (c) 1997--2004 Han-Wen Nienhuys + (c) 1997--2008 Han-Wen Nienhuys */ #ifndef INPUT_HH #define INPUT_HH -#include "flower-proto.hh" +#include "lily-proto.hh" /** - Base class for anything that records its poisition in the parse file. - */ -class Input { + Base class for anything that records its poisition in the parse file. +*/ +class Input +{ + char const *start_; + char const *end_; + Source_file *source_file_; public: - char const *defined_str0_ ; - Source_file * source_file_; - - void warning (String) const; // should use member func? - void non_fatal_error (String) const; - void error (String) const; - void message (String) const; + Source_file *get_source_file () const; + char const *start () const; + char const *end () const; + + void set (Source_file *, char const *, char const *); + void warning (string) const; + void programming_error (string) const; + void non_fatal_error (string) const; + void error (string) const; + void message (string) const; void set_spot (Input const &); + void step_forward (); + void set_location (Input const &, Input const &); + Input spot () const; - String location_string () const; - String line_number_string () const; + string location_string () const; + string line_number_string () const; + string file_string ()const; - String file_string ()const; int line_number ()const; int column_number ()const; + int end_line_number ()const; + int end_column_number ()const; - - Input (Source_file*, char const*); + void get_counts (int *line, int *char_count, int *col) const; + + Input (Input const &i); Input (); }; + +#include "smobs.hh" + +SCM make_input (Input spot); +Input *unsmob_input (SCM); + +extern Input dummy_input_global; + #endif // INPUT_HH