aboutsummaryrefslogtreecommitdiff
path: root/lib/metaprogramming.nom
diff options
context:
space:
mode:
authorBruce Hill <bitbucket@bruce-hill.com>2017-09-29 22:04:03 -0700
committerBruce Hill <bitbucket@bruce-hill.com>2017-09-29 22:04:03 -0700
commite2bbbfe1611f12b33692af175d661fa25b2cc616 (patch)
tree1554068e8702612cbd86c4898059babe6b3e96dd /lib/metaprogramming.nom
parent723a4c38710e24ef82c2142d126e6cec48091494 (diff)
More stuff is working more better.
Diffstat (limited to 'lib/metaprogramming.nom')
-rw-r--r--lib/metaprogramming.nom7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/metaprogramming.nom b/lib/metaprogramming.nom
index a12cfc6..4aa10e3 100644
--- a/lib/metaprogramming.nom
+++ b/lib/metaprogramming.nom
@@ -13,7 +13,7 @@ lua code ".."
|nomsu:def(%s, %s, %s)
|]]):format(nomsu:repr(canonical.src), thunk, nomsu:repr(body.src))
| if #aliases > 1 then
- | lua = lua .. ([[
+ | lua = lua .. "\n" .. ([[
|do
| local aliased = %s
| local src = %s
@@ -27,8 +27,7 @@ lua code ".."
|]]):format(nomsu:repr(aliases[i].src), nomsu:repr(canonical.src))
| end
| lua = lua .. [[
- |end
- |]]
+ |end]]
| end
| return nil, lua
|end, "<source can be found in lib/metaprogramming.nom>")
@@ -72,6 +71,8 @@ parse (compile %macro_def to block %body) as: escaped compile \%macro_def to cod
| \(%body)
|end
+rule (do %) =: %
+
rule (%tree as lua) =:
lua expr "nomsu:tree_to_lua(\(%tree))"
rule (%tree as value) =: