aboutsummaryrefslogtreecommitdiff
path: root/nomnom/code_obj.nom
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2018-09-26 12:45:08 -0700
committerBruce Hill <bruce@bruce-hill.com>2018-09-26 12:45:19 -0700
commit692fae5416ce1f2702b599ffb27b2e3d2235eba7 (patch)
tree12ae256ef5606251bc013935390fdef7e737d79d /nomnom/code_obj.nom
parent28d0792e69bbb9c467c616eb3dc89a60085c35f2 (diff)
Incremental fixes and more nomnom ports.
Diffstat (limited to 'nomnom/code_obj.nom')
-rw-r--r--nomnom/code_obj.nom28
1 files changed, 15 insertions, 13 deletions
diff --git a/nomnom/code_obj.nom b/nomnom/code_obj.nom
index 4df312e..057748f 100644
--- a/nomnom/code_obj.nom
+++ b/nomnom/code_obj.nom
@@ -163,18 +163,20 @@ object (Lua Code) extends (Code):
%statements::add %suffix
return %statements
- action [Lua Code from %tree] (..)
- Lua Code {source:%tree.source, bits:[], is_value:(no), free_vars:[]}
- action [Lua Code from %tree %bits] (..)
- Lua Code {source:%tree.source, bits:%bits, is_value:(no), free_vars:[]}
-
- action [Lua Value from %tree] (..)
- Lua Code {source:%tree.source, bits:[], is_value:(yes), free_vars:[]}
- action [Lua Value from %tree %bits] (..)
- Lua Code {source:%tree.source, bits:%bits, is_value:(yes), free_vars:[]}
+ action [Lua Code from %source {%bits:[]}]:
+ if (%bits is text): %bits = [%bits]
+ if (%source is a "Syntax Tree"): %source = %source.source
+ return (..)
+ Lua Code {source:%source, bits:%bits, is_value:(no), free_vars:[]}
+ action [Lua Value from %tree {%bits:[]}]:
+ if (%bits is text): %bits = [%bits]
+ if (%source is a "Syntax Tree"): %source = %source.source
+ return (..)
+ Lua Code {source:%source, bits:%bits, is_value:(yes), free_vars:[]}
object (Nomsu Code) extends (Code):
- action [Nomsu Code from %tree] (..)
- Nomsu Code {source:%tree.source, bits:[]}
- action [Nomsu Code from %tree %bits] (..)
- Nomsu Code {source:%tree.source, bits:%bits}
+ action [Nomsu Code from %source {%bits:[]}]:
+ if (%bits is text): %bits = [%bits]
+ if (%source is a "Syntax Tree"): %source = %source.source
+ return (..)
+ Nomsu Code {source:%source, bits:%bits}