From 692fae5416ce1f2702b599ffb27b2e3d2235eba7 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Wed, 26 Sep 2018 12:45:08 -0700 Subject: Incremental fixes and more nomnom ports. --- nomnom/code_obj.nom | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) (limited to 'nomnom/code_obj.nom') 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} -- cgit v1.2.3