aboutsummaryrefslogtreecommitdiff
path: root/core/operators.nom
diff options
context:
space:
mode:
authorBruce Hill <bitbucket@bruce-hill.com>2018-09-17 15:29:48 -0700
committerBruce Hill <bitbucket@bruce-hill.com>2018-09-17 15:30:24 -0700
commitc1cba45968b8d5e993fb12fcd7dae9192fbe6d79 (patch)
treeffa1ba6e6eb9b544bd28ce08e653d7467df226e8 /core/operators.nom
parente3bf10196ae42463db8d702fe90a222bb7cb4d54 (diff)
Added support for compile actions returning trees, and compiling blocks
into values.
Diffstat (limited to 'core/operators.nom')
-rw-r--r--core/operators.nom11
1 files changed, 2 insertions, 9 deletions
diff --git a/core/operators.nom b/core/operators.nom
index 161bf83..3ae7c2f 100644
--- a/core/operators.nom
+++ b/core/operators.nom
@@ -27,16 +27,9 @@ test:
# Variable assignment operator
compile [%var = %value] to:
- lua> "local \%var_lua = \(%var as lua)"
+ lua> "local \%var_lua = \(%var as lua expr)"
assume %var_lua.is_value or barf "Invalid target for assignment: \%var"
- lua> "\
- ..\%value = \%value:map(function(t)
- if Action:is_instance(t) and t.stub == "?" then
- return \%var
- end
- end)
- local \%value_lua = \(%value as lua)"
-
+ lua> "local \%value_lua = \(%value as lua expr)"
assume %value_lua.is_value or barf "Invalid value for assignment: \%value"
lua> "\
..local lua = LuaCode(tree.source, \%var_lua, ' = ', \%value_lua, ';')