diff options
author | Adrian Kummerlaender | 2017-04-12 16:58:18 +0200 |
---|---|---|
committer | Adrian Kummerlaender | 2017-04-12 17:24:09 +0200 |
commit | 4804893a6616a312ac8028e42d2aa990018ffbe6 (patch) | |
tree | 7eabf5638dd29580dae9c0197804b739301885a9 /repl.d | |
parent | 900c223ed40e36ffedce95e9a987d9a3c0309271 (diff) | |
download | slang-4804893a6616a312ac8028e42d2aa990018ffbe6.tar slang-4804893a6616a312ac8028e42d2aa990018ffbe6.tar.gz slang-4804893a6616a312ac8028e42d2aa990018ffbe6.tar.bz2 slang-4804893a6616a312ac8028e42d2aa990018ffbe6.tar.lz slang-4804893a6616a312ac8028e42d2aa990018ffbe6.tar.xz slang-4804893a6616a312ac8028e42d2aa990018ffbe6.tar.zst slang-4804893a6616a312ac8028e42d2aa990018ffbe6.zip |
Modularize primitives implementation, add stack manipulators
Diffstat (limited to 'repl.d')
-rw-r--r-- | repl.d | 16 |
1 files changed, 8 insertions, 8 deletions
@@ -8,12 +8,12 @@ import std.container : SList; import src.stack; -static import src.definition; -static import src.primitives; +static import definition = src.definition; +static import primitives = src.primitives.eval; void process(int x) { try { - if ( !src.primitives.evaluate(x) ) { + if ( !primitives.evaluate(x) ) { stack.push(x); } } @@ -24,9 +24,9 @@ void process(int x) { void process(string word) { try { - if ( !src.primitives.evaluate(word) ) { - if ( word in src.definition.words ) { - foreach ( token; src.definition.words[word] ) { + if ( !primitives.evaluate(word) ) { + if ( word in definition.words ) { + foreach ( token; definition.words[word] ) { process(token); } } else { @@ -52,11 +52,11 @@ void main() { if ( token.isNumeric ) { immutable int value = parse!int(token); - if ( !src.definition.handle(value) ) { + if ( !definition.handle(value) ) { process(value); } } else { - if ( !src.definition.handle(token) ) { + if ( !definition.handle(token) ) { process(token); } } |