fab13n / metalua-parser

luarock packaging of Metalua's parser
47 stars 2 forks source link

AST generated from local declarations does not match documentation #11

Open mpeterv opened 10 years ago

mpeterv commented 10 years ago

test.lua:

local parser = require "metalua.compiler".new()
local inspect = require "inspect"
local s = "local a"
print(inspect(parser:src_to_ast(s)))

Output(omitting lineinfo, etc):

{ { { { -- `Id "a"
         "a",
        tag = "Id"
      }
    }, {},
    tag = "Local"
  }
}

Note the extra empty table. It shouldn't be there according to the docs: Local{ {ident+} {expr+}? } Either docs should be changed to Local{ {ident+} {expr*} } or the empty table shouldn't be added when there is no rhs.