loa

Virtual machine for the Logic of Assumptions
git clone git://juanmeleiro.mat.br/loa
Log | Files | Refs

gardener.h (738B)


      1 #include <stdio.h>
      2 #include <stdbool.h>
      3 #include "schema.h"
      4 
      5 typedef enum {
      6 	OK,
      7 	START_WITH_INVALID_CONSTRUCTOR,
      8 	SUB_INVALID_KEY,
      9 	START_ON_NONEMPTY_STACK,
     10 	SUB_WITH_INVALID_CONSTRUCTOR,
     11 	DONE_ON_INVALID_TREE,
     12 	OP_AFTER_RESULT,
     13 	NON_START_OP_ON_EMPTY_STACK
     14 } gardener_status;
     15 
     16 typedef struct gardener gardener;
     17 
     18 schema *get_cur_schema(gardener*);
     19 symbol get_cur_constructor(gardener*);
     20 
     21 gardener* new_gardener(schema*);
     22 gardener_status get_error(gardener*);
     23 tree* result(gardener*);
     24 
     25 void fill(gardener*, symbol key, symbol value);
     26 void sub(gardener*, symbol key, symbol constructor); 
     27 void done(gardener*);
     28 void sup(gardener*, symbol key, symbol constructor);
     29 void start(gardener*, symbol constructor);
     30 
     31 void show(FILE *f, gardener*);