summaryrefslogtreecommitdiff
path: root/parser.h
diff options
context:
space:
mode:
authorthing 1 <thing1@seacrossedlovers.xyz>2025-01-10 17:38:56 +0000
committerthing 1 <thing1@seacrossedlovers.xyz>2025-01-10 17:38:56 +0000
commite46e08fceff29622399855043554635d6e33c3c4 (patch)
treeb8074819364bd54b54b4798f07002fe234c506ac /parser.h
init commit
Diffstat (limited to 'parser.h')
-rw-r--r--parser.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/parser.h b/parser.h
new file mode 100644
index 0000000..3f6e2e3
--- /dev/null
+++ b/parser.h
@@ -0,0 +1,36 @@
+typedef struct luckyval luckyval;
+typedef struct luckytree luckytree;
+
+typedef enum luckytypes {
+ LUCKYCHAR,
+ LUCKYINT,
+ LUCKYLONG,
+ LUCKYFLOAT,
+ LUCKYDOUBLE,
+ LUCKYARR,
+ LUCKYVAR,
+ LUCKYTREE,
+} luckytypes;
+
+typedef struct luckyval {
+ union {
+ char c;
+ int i;
+ long l;
+ float f;
+ double d;
+ luckyval *arr;
+ luckytree *tree;
+ char *var;
+ };
+ luckytypes type;
+ luckyval *nextelement;
+} luckyval;
+
+typedef struct luckytree {
+ char *function;
+ luckyval *arguments;
+ luckytree *next;
+} luckytree;
+
+luckytree *parse(char *expr);