From c6d2b259a4f253403929f6f1104395a6a71b1be6 Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Fri, 14 Apr 2017 23:21:51 +0200 Subject: Convert structure to _dub_ build system --- src/primitives/core.d | 101 -------------------------------------------------- 1 file changed, 101 deletions(-) delete mode 100644 src/primitives/core.d (limited to 'src/primitives/core.d') diff --git a/src/primitives/core.d b/src/primitives/core.d deleted file mode 100644 index 5b3d43d..0000000 --- a/src/primitives/core.d +++ /dev/null @@ -1,101 +0,0 @@ -module src.primitives.core; - -import std.stdio; - -import src.stack; -import src.definition; - -Token[string] variables; - -void definition_start() { - src.definition.start; -} - -void binary_op_variable_bind() { - string name = stack.pop.get!string; - Token value = stack.pop; - variables[name] = value; -} - -void unary_op_variable_resolve() { - string name = stack.pop.get!string; - - if ( name in variables ) { - stack.push(variables[name]); - } -} - -void binary_op_add() { - int b = stack.pop.get!int; - int a = stack.pop.get!int; - - stack.push(a + b); -} - -void binary_op_multiply() { - int b = stack.pop.get!int; - int a = stack.pop.get!int; - - stack.push(a * b); -} - -void binary_op_divide() { - int b = stack.pop.get!int; - int a = stack.pop.get!int; - - if ( b == 0 ) { - throw new Exception("division by 0 undefined"); - } else { - stack.push(a / b); - } -} - -void binary_op_modulo() { - int b = stack.pop.get!int; - int a = stack.pop.get!int; - - if ( b == 0 ) { - throw new Exception("modulo 0 undefined"); - } else { - stack.push(a % b); - } -} - -void unary_op_io_print() { - writeln(stack.top); -} - -void unary_op_stack_pop() { - stack.pop; -} - -void unary_op_stack_dup() { - stack.push(stack.top); -} - -void binary_op_stack_swp() { - auto b = stack.pop; - auto a = stack.pop; - - stack.push(b); - stack.push(a); - -} - -void binary_cond_lt() { - int b = stack.pop.get!int; - int a = stack.pop.get!int; - - stack.push(a < b); -} - -void binary_cond_eq() { - auto b = stack.pop; - auto a = stack.pop; - - stack.push(a == b); -} - -void integral_value_bool(bool value) { - stack.push(Token(value)); -} -- cgit v1.2.3