lua-users home
lua-l archive

Re: LPEG 're' module self-test fails

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Further to my message about the re module self-test failure, I note a discrepancy between the grammar given on the page (link below) and the actual grammar implemented in re.lua.
Grammar from web page:
 pattern <- exp !.
 exp <- S (alternative / grammar)
 alternative <- seq ('/' S seq)*
Grammar from re.lua:
 local exp = m.P{ "Exp",
 Exp = S * ( m.V"Grammar"
 + m.Cf(m.V"Seq" * ("/" * S * m.V"Seq")^0, mt.__add) );
Note that the rule for "Exp" has "Grammar" first followed by: Seq * ( "/" + S " Seq)^0
This agrees with the fact that the grammar self-tests OK if you reverse the line:
 exp <- S (alternative / grammar)
to read:
 exp <- S (grammar / alternative)
Reference: http://www.inf.puc-rio.br/~roberto/lpeg/re.html

AltStyle によって変換されたページ (->オリジナル) /