diff options
| author | Adrian Kummerlaender | 2017-04-14 23:21:51 +0200 | 
|---|---|---|
| committer | Adrian Kummerlaender | 2017-04-14 23:21:51 +0200 | 
| commit | c6d2b259a4f253403929f6f1104395a6a71b1be6 (patch) | |
| tree | 6d4cdfa4ab50fbe0fa982db601d772c67e4dda20 /src/primitives/core.d | |
| parent | 963ace2e5ba0337130e5f343d7ab97a30b4547ae (diff) | |
| download | slang-c6d2b259a4f253403929f6f1104395a6a71b1be6.tar slang-c6d2b259a4f253403929f6f1104395a6a71b1be6.tar.gz slang-c6d2b259a4f253403929f6f1104395a6a71b1be6.tar.bz2 slang-c6d2b259a4f253403929f6f1104395a6a71b1be6.tar.lz slang-c6d2b259a4f253403929f6f1104395a6a71b1be6.tar.xz slang-c6d2b259a4f253403929f6f1104395a6a71b1be6.tar.zst slang-c6d2b259a4f253403929f6f1104395a6a71b1be6.zip | |
Convert structure to _dub_ build system
Diffstat (limited to 'src/primitives/core.d')
| -rw-r--r-- | src/primitives/core.d | 101 | 
1 files changed, 0 insertions, 101 deletions
| 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)); -} | 
