diff options
Diffstat (limited to 'core/metaprogramming.nom')
| -rw-r--r-- | core/metaprogramming.nom | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/core/metaprogramming.nom b/core/metaprogramming.nom index 242db04..5a80c64 100644 --- a/core/metaprogramming.nom +++ b/core/metaprogramming.nom @@ -124,8 +124,13 @@ compile [parse %actions as %body] to return ret ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -compile [%tree as lua expr] to - Lua value "nomsu:compile(\(=lua "nomsu:compile(\%tree):as_expr()")):as_expr()" +lua> ".." + COMPILE_ACTIONS["% as lua expr"] = function(nomsu, tree, _t) + return LuaCode.Value(tree.source, "nomsu:compile(", nomsu:compile(_t):as_expr(), "):as_expr()") + end +# + compile [%tree as lua expr] to + Lua value "nomsu:compile(\(=lua "nomsu:compile(\%tree):as_expr()")):as_expr()" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compile [%tree as lua] to |
