diff options
author | Ben Burwell <ben.burwell@trifecta.com> | 2016-09-14 16:15:20 -0400 |
---|---|---|
committer | Ben Burwell <ben.burwell@trifecta.com> | 2016-09-14 16:15:20 -0400 |
commit | f704918fe2b187d715fe985ebffebdfbdc4b541f (patch) | |
tree | 9fc63b49b81ded84624bc6b1679015baffd7d292 /lib/doml.js | |
parent | 2c1eee7b2a99985bbe92426368ea32360a4cc0b2 (diff) |
Add repeat and input
Diffstat (limited to 'lib/doml.js')
-rw-r--r-- | lib/doml.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/lib/doml.js b/lib/doml.js index c813db9..181f574 100644 --- a/lib/doml.js +++ b/lib/doml.js @@ -151,6 +151,23 @@ 'call': function(dataset, children, context) { return context[dataset.name](children); + }, + + 'repeat': function(dataset, children, context) { + var times = me.evaluate(children[0], context); + for (var n = 0; n < times; n++) { + if (dataset.iteration) { + context[dataset.iteration] = n; + } + me.evaluate(children[1], context); + } + }, + + 'input': function(dataset, children, context) { + var msg = dataset.prompt || dataset.name; + var rawInput = prompt(dataset.prompt); + context[dataset.name] = me.Types[dataset.type](rawInput); + return context[dataset.name]; } }; @@ -176,6 +193,22 @@ 'bin-op': function(e) { return [ e.dataset.op ]; + }, + + 'input': function(e) { + return [ e.dataset.name ]; + }, + + 'call': function(e) { + return [ e.dataset.name ]; + }, + + 'function': function(e) { + return [ e.dataset.args ]; + }, + + 'repeat': function(e) { + return [ e.dataset.iteration ]; } }; |