summaryrefslogtreecommitdiff
path: root/dat.h
diff options
context:
space:
mode:
authorPeter Mikkelsen <peter@pmikkelsen.com>2021-06-29 15:51:04 +0000
committerPeter Mikkelsen <peter@pmikkelsen.com>2021-06-29 15:51:04 +0000
commit02145f06ac007d730bc16930185fe18fa3e76c68 (patch)
treed71744b876974a4fd3062daf9dc334a984782f80 /dat.h
parent0b36426d023e45d6acbc7672c7083a91d10913a8 (diff)
Add a term parser.
Diffstat (limited to 'dat.h')
-rw-r--r--dat.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/dat.h b/dat.h
index d6a72bb..7c7c0a9 100644
--- a/dat.h
+++ b/dat.h
@@ -1 +1,28 @@
+typedef struct Term Term;
+struct Term
+{
+ int tag;
+
+ Rune *text;
+ int arity;
+ Term *next;
+ Term *children;
+ int numbertype;
+ vlong ival;
+ double dval;
+};
+
+enum {
+ CompoundTerm,
+ AtomTerm,
+ VariableTerm,
+ NumberTerm,
+ StringTerm,
+};
+
+enum {
+ NumberInt,
+ NumberFloat,
+};
+
int debug; \ No newline at end of file