From 4e821308af654706b8bda5f3d00dce7a933d9942 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Wed, 25 Apr 2018 17:43:48 -0700 Subject: Overhauling parsing of Blocks (can no longer contain only one statement) --- nomsu_tree.moon | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'nomsu_tree.moon') diff --git a/nomsu_tree.moon b/nomsu_tree.moon index 43ebcd2..2cf0777 100644 --- a/nomsu_tree.moon +++ b/nomsu_tree.moon @@ -74,8 +74,6 @@ Tree "Nomsu", Tree "Block", as_lua: (nomsu)=> - if #@value == 1 - return @value[1]\as_lua(nomsu) lua = Lua(@source) for i,line in ipairs @value line_lua = line\as_lua(nomsu) @@ -86,9 +84,15 @@ Tree "Block", return lua as_nomsu: (inline=false)=> - if #@value == 1 - return @value[1]\as_nomsu(inline) - return nil if inline + if inline + nomsu = Nomsu(@source) + for i,line in ipairs @value + if i > 1 + nomsu\append "; " + line_nomsu = line\as_nomsu(true) + return nil unless line_nomsu + nomsu\append line_nomsu + return nomsu nomsu = Nomsu(@source) for i, line in ipairs @value line = assert(line\as_nomsu!, "Could not convert line to nomsu") -- cgit v1.2.3