diff options
author | FWoltermann@gmail.com <FWoltermann@gmail.com@076cb2c4-205e-83fd-5cf3-1be9aa105544> | 2011-12-08 14:53:40 +0000 |
---|---|---|
committer | FWoltermann@gmail.com <FWoltermann@gmail.com@076cb2c4-205e-83fd-5cf3-1be9aa105544> | 2011-12-08 14:53:40 +0000 |
commit | e33e19d0587146859d48a134ec9fd94e7b7ba5cd (patch) | |
tree | 69d048c8801858d2756ab3a487090a7a1b74bf14 /Parser/Reader.h | |
download | starshatter-e33e19d0587146859d48a134ec9fd94e7b7ba5cd.zip starshatter-e33e19d0587146859d48a134ec9fd94e7b7ba5cd.tar.gz starshatter-e33e19d0587146859d48a134ec9fd94e7b7ba5cd.tar.bz2 |
Initial upload
Diffstat (limited to 'Parser/Reader.h')
-rw-r--r-- | Parser/Reader.h | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/Parser/Reader.h b/Parser/Reader.h new file mode 100644 index 0000000..4af6992 --- /dev/null +++ b/Parser/Reader.h @@ -0,0 +1,68 @@ +/* Project nGen
+ John DiCamillo Software Consulting
+ Copyright © 1997-2000. All Rights Reserved.
+
+ SUBSYSTEM: obelisk
+ FILE: reader.h
+ AUTHOR: John DiCamillo
+
+
+ OVERVIEW
+ ========
+ Declaration of the Reader class
+*/
+
+#ifndef READER_H
+#define READER_H
+
+#include "text.h"
+
+// +-------------------------------------------------------------------+
+
+class Reader
+{
+public:
+ Reader() { }
+ virtual ~Reader() { }
+
+ virtual Text more() = 0;
+};
+
+class ConsoleReader : public Reader
+{
+public:
+ virtual Text more();
+
+ void printPrimaryPrompt();
+ void fillInputBuffer();
+
+private:
+ char buffer[1000];
+ char* p;
+};
+
+class FileReader : public Reader
+{
+public:
+ FileReader(const char* fname);
+ virtual Text more();
+
+private:
+ Text filename;
+ int done;
+};
+
+class BlockReader : public Reader
+{
+public:
+ BlockReader(const char* block);
+ BlockReader(const char* block, int len);
+ virtual Text more();
+
+private:
+ char* data;
+ int done;
+ int length;
+};
+
+#endif
|