6af58800ca8ec739be548f4e062bb7bf0c631642
[satune.git] / src / Serialize / deserializer.h
1
2 /*
3  * File:   deserializer.h
4  * Author: hamed
5  *
6  * Created on September 7, 2017, 6:07 PM
7  */
8
9 #ifndef DESERIALIZER_H
10 #define DESERIALIZER_H
11 #include "classlist.h"
12 #include "mymemory.h"
13 #include "structs.h"
14 /**
15  * Style of serialized file:
16  * ASTNodeType#Pointer#ObjectDATA
17  *
18  * @param file
19  */
20 class Deserializer {
21 public:
22         Deserializer(const char *file, bool alloy = false);
23         CSolver *deserialize();
24         virtual ~Deserializer();
25 private:
26         ssize_t myread (void *__buf, size_t __nbytes);
27         void deserializeBooleanEdge();
28         void deserializeBooleanVar();
29         void deserializeBooleanConst();
30         void deserializeBooleanOrder();
31         void deserializeOrder();
32         void deserializeSet();
33         void deserializeBooleanLogic();
34         void deserializeBooleanPredicate();
35         void deserializePredicateTable();
36         void deserializePredicateOperator();
37         void deserializeTable();
38         void deserializeElementSet();
39         void deserializeElementConst();
40         void deserializeElementFunction();
41         void deserializeFunctionOperator();
42         void deserializeFunctionTable();
43         char *buffer;
44         uint bufferindex;
45         uint bufferbytes;
46         uint buffercap;
47
48         CSolver *solver;
49         int filedesc;
50         CloneMap map;
51 };
52
53 #endif/* DESERIALIZER_H */
54