diff options
| author | Bruce Hill <bitbucket@bruce-hill.com> | 2018-07-17 23:08:13 -0700 |
|---|---|---|
| committer | Bruce Hill <bitbucket@bruce-hill.com> | 2018-07-17 23:08:24 -0700 |
| commit | ba639f2bd05f47e08c12198b7b20cd4cf371b25f (patch) | |
| tree | 656fcb15a27e642f891fba24046e01b4f139ab52 /core/scopes.nom | |
| parent | 854b2a652ff473c9d2eaa3222008d4baed36ae63 (diff) | |
Upgraded core code to latest Nomsu verison.
Diffstat (limited to 'core/scopes.nom')
| -rw-r--r-- | core/scopes.nom | 33 |
1 files changed, 13 insertions, 20 deletions
diff --git a/core/scopes.nom b/core/scopes.nom index 19b9e49..256ddd5 100644 --- a/core/scopes.nom +++ b/core/scopes.nom @@ -1,4 +1,4 @@ -#!/usr/bin/env nomsu -V1 +#!/usr/bin/env nomsu -V2.2.4.3 # This file contains definitions pertaining to variable scoping @@ -6,28 +6,21 @@ 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 +compile [with local %locals %body, with local %locals do %body] to: %body_lua <- (%body as lua statements) - when %locals.type = ? - * "Dict" - %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 + when %locals.type = ?: + * "Dict": + %body_lua <- (Lua "\(compile as (<- %locals))\n\%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" + * "Action": declare locals ["\(%locals as lua)"] in %body_lua - * else - barf "Unexpected local: \(%locals as nomsu)" - return + *else (barf "Unexpected local: \(%locals as nomsu)") + + return (..) Lua ".." do \%body_lua |
