diff options
Diffstat (limited to 'core/scopes.nom')
| -rw-r--r-- | core/scopes.nom | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/core/scopes.nom b/core/scopes.nom index 30bdea0..37405e5 100644 --- a/core/scopes.nom +++ b/core/scopes.nom @@ -1,4 +1,4 @@ -#!/usr/bin/env nomsu -V2.4.4.3 +#!/usr/bin/env nomsu -V2.5.4.3 # This file contains definitions pertaining to variable scoping @@ -6,18 +6,29 @@ use "core/metaprogramming.nom" use "core/operators.nom" use "core/collections.nom" use "core/control_flow.nom" + compile [with local %locals %body, with local %locals do %body] to: %body_lua = (%body as lua statements) if %locals.type is: "Dict": %body_lua = (..) - Lua "\(compile as (<- %locals))\n\%body_lua" + Lua ".." + \(compile as (<- %locals)) + \%body_lua declare locals ("\(%.1 as lua)" for % in %locals) in %body_lua - "List": declare locals ("\(% as lua)" for % in %locals) in %body_lua - "Var" "Action": declare locals ["\(%locals as lua)"] in %body_lua - else: compile error at %locals.source "Unexpected locals: %s" + "List": + declare locals ("\(% as lua)" for % in %locals) in %body_lua + + "Var" "Action": + declare locals ["\(%locals as lua)"] in %body_lua + + else: + compile error at %locals.source "Unexpected locals: %s" return (..) - Lua "do\n \%body_lua\nend"
\ No newline at end of file + Lua ".." + do + \%body_lua + end
\ No newline at end of file |
