hachem.wtf
aboutsummaryrefslogtreecommitdiff
path: root/eval.h
diff options
context:
space:
mode:
Diffstat (limited to 'eval.h')
-rw-r--r--eval.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/eval.h b/eval.h
index eb3fe1d..c2365cc 100644
--- a/eval.h
+++ b/eval.h
@@ -7,6 +7,9 @@
#define VARIABLES_MAX 64
+// the longest thing a single type can say when emitted
+#define TEXT_LENGTH_MAX 255
+
enum TypeKind
{
KIND_VOID,
@@ -16,13 +19,16 @@ enum TypeKind
KIND_ARRAY,
KIND_CHAR,
KIND_CHAR_CONSTANT,
+ KIND_TUPLE,
KIND_VALUE
};
+// a tuple keeps what it will say, already said, so nothing inside it can go out of scope
struct Type
{
enum TypeKind kind;
int64_t number;
+ char text[TEXT_LENGTH_MAX + 1];
};
struct Variable