Tue, 27 Oct 2015 23:08:48 +0000
parser, objects.client: Experimental support for more liberal object names
scansion/objects/client.lua | file | annotate | diff | comparison | revisions | |
scansion/parser.lua | file | annotate | diff | comparison | revisions |
--- a/scansion/objects/client.lua Tue Oct 27 23:07:46 2015 +0000 +++ b/scansion/objects/client.lua Tue Oct 27 23:08:48 2015 +0000 @@ -11,7 +11,7 @@ for k, v in pairs(stanza.attr) do local expr = v:match("^%$%{(.+)%}$"); if expr then - local name, value_name = expr:match("^(.-)'s (.+)$"); + local name, value_name = expr:match("^(.+)'s (.+)$"); assert(name, "Unable to parse expression: "..expr); local key = value_name:lower():gsub(" ", "_"); assert(script.objects[name], "Unknown object called "..name);
--- a/scansion/parser.lua Tue Oct 27 23:07:46 2015 +0000 +++ b/scansion/parser.lua Tue Oct 27 23:08:48 2015 +0000 @@ -45,7 +45,7 @@ end else last_object = nil; - local name, action, extra = line:match("^(%a+) (%a+):?%s?(.*)$"); + local name, action, extra = line:match("^([^:]+) (%a+):?%s?(.*)$"); if not name then return nil, "Unable to parse action on line "..line_number; end