summaryrefslogtreecommitdiff
path: root/src/plain.hpp
diff options
context:
space:
mode:
authorAleksey Veresov <aleksey@veresov.pro>2019-11-08 19:49:40 +0300
committerAleksey Veresov <aleksey@veresov.pro>2019-11-08 19:56:11 +0300
commit3047ed6100a56a529f26e43ada0a3fc3c3815c3e (patch)
tree9648d5a74bae9cbd90670a8bfa0af47189e4536f /src/plain.hpp
parentc6419eed96f2832b1de2b94d711552efaa9b172d (diff)
downloadtexo-3047ed6100a56a529f26e43ada0a3fc3c3815c3e.tar
texo-3047ed6100a56a529f26e43ada0a3fc3c3815c3e.tar.xz
texo-3047ed6100a56a529f26e43ada0a3fc3c3815c3e.zip
[texo] Full rewrite of inner representation.
Diffstat (limited to 'src/plain.hpp')
-rw-r--r--src/plain.hpp26
1 files changed, 17 insertions, 9 deletions
diff --git a/src/plain.hpp b/src/plain.hpp
index 13a2c0c..66ee5f1 100644
--- a/src/plain.hpp
+++ b/src/plain.hpp
@@ -6,18 +6,21 @@
#include "importer.hpp"
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Texo Plain Producer
+ */
class TexoProducerPlain: public TexoProducer {
public:
TexoProducerPlain(TexoExporter &exporter);
- void End();
+ bool End();
- void Put(const Texo &piece);
+ bool Put(char c);
- void Put(const TexoParagraph &piece);
- void Put(const TexoQuote &piece);
+ bool Paragraph();
+ bool Quote();
- void Put(const TexoHorizontalRule &piece);
+ bool PutHorizontalRule();
private:
bool quoted;
@@ -26,15 +29,20 @@ private:
};
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Texo Plain Importer
+ */
class TexoImporterPlain: public TexoImporter {
public:
TexoImporterPlain(TexoProducer &producer);
- void End();
- void Put(char c);
- void Put(const ScriptVariable &str);
- void Put(FILE *file);
+protected:
+ bool TrueEnd();
+
+
+ bool TruePut(char c);
+
private:
enum State {