aboutsummaryrefslogtreecommitdiff
path: root/parts/precedence.h
diff options
context:
space:
mode:
authorkartofen <mladenovnasko0@gmail.com>2025-07-17 01:27:05 +0300
committerkartofen <mladenovnasko0@gmail.com>2025-07-17 01:27:05 +0300
commit7ccd9286bafbd01fbda67c2f234998c2e591ed2a (patch)
tree01448f5b8201ce92f684737b188599e3f227064b /parts/precedence.h
parent8ea8bd7e41c48be9635c29fb928fe9decc4eb112 (diff)
ok precedenceHEADmaster
Diffstat (limited to 'parts/precedence.h')
-rw-r--r--parts/precedence.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/parts/precedence.h b/parts/precedence.h
new file mode 100644
index 0000000..37e54c6
--- /dev/null
+++ b/parts/precedence.h
@@ -0,0 +1,17 @@
+#ifndef PRECEDENCE_H
+#define PRECEDENCE_H
+
+enum precedence_flag {
+ PRECEDENCE_LEFT_ASSOC,
+ PRECEDENCE_RIGHT_ASSOC,
+ // PRECEDENCE_NO_ASSOC,
+};
+
+#define PRECEDENCE_SET(num, flag) (((num) << 1 /*2*/) | (flag))
+#define PRECEDENCE_NUM(prec) ((prec) >> 2)
+#define PRECEDENCE_FLAG(prec) ((prec) & 0x3)
+
+extern int *precedence_symbol;
+extern int *precedence_production;
+
+#endif