diff options
Diffstat (limited to 'src/parse.h')
| -rw-r--r-- | src/parse.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/parse.h b/src/parse.h new file mode 100644 index 0000000..c6e76ec --- /dev/null +++ b/src/parse.h @@ -0,0 +1,32 @@ +#ifndef PARSE +#define PARSE +#include "proposition.h" +typedef struct Scope { + int id; + int depth; + struct Scope* parent; +} scope_t; +scope_t init_scope(int id, int depth, scope_t* parent); +typedef struct Line { + scope_t scope; + prop_t proposition; + just_t justification; +} line_t; +line_t init_line(scope_t scope, prop_t proposition, just_t justification); +typedef struct LineSet { + line_t* lines; + int count; +} lineSet_t; +lineSet_t init_lineset(line_t* lines, int count); +int count_lines(char* content); +lineSet_t parse_lines(char* content, int lineCount); +line_t parse_line(char* content); +prop_t parse_proposition(tokenSet_t tokenSet, int* seek, char isNegative); +just_t parse_justification(tokenSet_t tokenSet); +/* proposition equal */ +char peq(prop_t prop1, prop_t prop2); +/* scope is lesser than in depth and ID */ +char slt(scope_t scope1, scope_t scope2); +/* scope is equal to or lesser than in depth and ID */ +char seqlt(scope_t scope1, scope_t scope2); +#endif |
