7 #include "flower-proto.hh"
10 #include "protected-scm.hh"
13 class for reading and mapping a file.
15 duplicates a lot of Data_file and Text_stream.
16 should look at including Data_file's functionality:
17 get_line (), get_word () here.
23 Source_file (String fn);
24 Source_file (String, String );
26 virtual ~Source_file ();
28 char const* to_str0 () const;
29 virtual String error_string (char const* pos_str0 ) const;
30 std::istream * get_istream ();
31 bool in_b (char const* pos_str0 ) const;
33 virtual int get_line (char const* pos_str0 ) const;
34 String name_string () const;
35 String file_line_column_string (char const* str0 ) const;
38 char const* seek_str0 (int n);
41 // return here + n bytes
42 char const* forward_str0 (int n);
43 char const* pos_str0 () { return pos_str0_; }
44 String get_string (int n);
45 void set_pos (char const * pos_str0);
47 Slice line_slice (char const* pos_str0) const;
48 String line_string (char const* pos_str0) const;
49 int get_column (char const* pos_str0) const;
50 int get_char (char const* pos_str0) const;
55 char const* pos_str0_;
57 SCM get_port()const { return str_port_; }
60 std::istream* istream_;
61 char * contents_str0_;
66 Protected_scm str_port_;
70 char * gulp_file (String fn, int *len);
72 #endif // SOURCE_FILE_HH //