summaryrefslogtreecommitdiff
path: root/var.c
diff options
context:
space:
mode:
Diffstat (limited to 'var.c')
-rw-r--r--var.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/var.c b/var.c
new file mode 100644
index 0000000..f53d5fe
--- /dev/null
+++ b/var.c
@@ -0,0 +1,28 @@
+#include "bc.h"
+
+bc_num *bc_let(char letter)
+{
+ static bc_num variables[26] = {0};
+ static bc_num scale;
+ static bc_num ibase;
+ static bc_num obase;
+
+ if (letter == 'S') {
+ return &scale;
+ }
+
+ if (letter == 'I') {
+ return &ibase;
+ }
+
+ if (letter == 'O') {
+ return &obase;
+ }
+
+ return variables + (letter - 'a');
+}
+
+bc_num *bc_arr(char c, bc_num *a)
+{
+ return a;
+}