diff options
-rw-r--r-- | dub.sdl | 4 | ||||
-rw-r--r-- | source/app.d (renamed from repl.d) | 6 | ||||
-rw-r--r-- | source/base/definition.d (renamed from src/definition.d) | 4 | ||||
-rw-r--r-- | source/base/stack.d (renamed from src/stack.d) | 6 | ||||
-rw-r--r-- | source/primitives/conditional.d (renamed from src/primitives/conditional.d) | 4 | ||||
-rw-r--r-- | source/primitives/core.d (renamed from src/primitives/core.d) | 8 | ||||
-rw-r--r-- | source/primitives/eval.d (renamed from src/primitives/eval.d) | 8 |
7 files changed, 22 insertions, 18 deletions
@@ -0,0 +1,4 @@ +name "slang" +description "Experimental Forth-like stack language implemented in D" +authors "Adrian Kummerländer" +license "MIT" @@ -4,10 +4,10 @@ import std.variant; import std.container.util : make; -import src.stack; +import base.stack; -import definition = src.definition; -import primitives = src.primitives.eval; +import definition = base.definition; +import primitives = primitives.eval; Stack!Token resolve(Token token) { try { diff --git a/src/definition.d b/source/base/definition.d index 9c3606e..cf64f3e 100644 --- a/src/definition.d +++ b/source/base/definition.d @@ -1,4 +1,4 @@ -module src.definition; +module base.definition; import std.string; import std.variant; @@ -6,7 +6,7 @@ import std.typecons; import std.container : DList; -import src.stack; +import base.stack; alias Words = Stack!Token[string]; diff --git a/src/stack.d b/source/base/stack.d index 678f3e8..253bac0 100644 --- a/src/stack.d +++ b/source/base/stack.d @@ -1,11 +1,11 @@ -module src.stack; +module base.stack; import std.conv; import std.string; import std.variant; import std.container : SList; -static import src.definition; +import definition = base.definition; alias Token = Algebraic!(int, bool, string); alias Stack = SList; @@ -35,7 +35,7 @@ Token pop(ref Stack!Token stack) { } void push(ref Stack!Token stack, Token token) { - if ( !src.definition.handle(token) ) { + if ( !definition.handle(token) ) { stack.insertFront(token); } } diff --git a/src/primitives/conditional.d b/source/primitives/conditional.d index ee89ea5..678f516 100644 --- a/src/primitives/conditional.d +++ b/source/primitives/conditional.d @@ -1,10 +1,10 @@ -module src.primitives.conditional; +module primitives.conditional; import std.variant; import std.typecons; import std.container : DList; -import src.stack; +import base.stack; Nullable!(DList!Token) buffer; bool concluded = true; diff --git a/src/primitives/core.d b/source/primitives/core.d index 5b3d43d..45bbeac 100644 --- a/src/primitives/core.d +++ b/source/primitives/core.d @@ -1,14 +1,14 @@ -module src.primitives.core; +module primitives.core; import std.stdio; -import src.stack; -import src.definition; +import base.stack; +import definition = base.definition; Token[string] variables; void definition_start() { - src.definition.start; + definition.start; } void binary_op_variable_bind() { diff --git a/src/primitives/eval.d b/source/primitives/eval.d index 08d8fb9..0ddd65a 100644 --- a/src/primitives/eval.d +++ b/source/primitives/eval.d @@ -1,10 +1,10 @@ -module src.primitives.eval; +module primitives.eval; import std.variant; -import src.stack; -import src.primitives.core; -import conditional = src.primitives.conditional; +import base.stack; +import primitives.core; +import conditional = primitives.conditional; bool evaluate_primitive(string word) { switch ( word ) { |