[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: bug in 'parser' module, unable to find table.permute function
- From: dprotti <dprotti@...>
- Date: Thu, 29 Oct 2009 03:55:37 -0300
Trying to use the 'parser' module in Lua 5.1.4.30 under Windows XP,
from the following program:
====================================================================
require 'parser'
function prod1_action (tree, token, pos)
return {}
end
--prod1 = { "1", prod1_action }
prod1 = { "1" } -- dummy, hardcoded, just for test
number = { prod1 }
grammar = { { "number", number} }
grammar.lexemes = {}
p = parser.Parser { grammar }
token1 = { ty = "NUMBER", tok = "1" }
dummy_program_tokens = { token1 }
function main ()
result = p:parse ("NUMBER", dummy_program_tokens)
end
main()
====================================================================
I'm not completely sure if the program is making a correct use of the
API, since the documentation does not provide an example and I was
unable to find one on Internet. However, I have found a bug in the
parser module itself:
1- Trying to run the above program, it gives an error in the 'parser'
module stating that there is no table.permute() function definition.
Googling a little, it seems that this function was available for
tables in a previous version of Lua
(https://opensvn.csie.org/traccgi/Ace/browser/trunk/stdlib/modules/std.table.lua?rev=283)
2- When I fix the parser module declaring the permute function
described above as a local function in 'parser', the module parsing is
ok but now my program gives another cryptical error. But may be this
is due to a bad understanding of the module API from my part .
However, I won't to go deeper with this since I'm not sure if this
module is currently maintained and if the permute() function I have
added is the originally expected by the module.
My main concern is
- Is this 'parser' module an unmaintained or deprecated module?
- If this is not the case, where can I find an example of code using
this module?
Thanks,
Duilio Protti.