Sunday, May 14, 2006

May 14th, 2006 -- Ratchet, don't backtrack

As I mentioned several days ago, the Pugs::Grammar::MiniPerl6 was almost finished so that I turned my attention to Pugs::Compiler::Rule. fglock++ just committed the first version of ratchet parser which will not backtrack by default and will give an approximately 10x+ speedup by eliminating backtracking.

Currently the ratchet support is far from complete. 5 of 24 test cases failed before yesterday. I fixed one and found a serious bug on $pos resetting. I added two test cases for it so that it now fails 6 of 26 test cases.

fglock++ marked the failed tests as TODO and I found that I made a mistake on the meaning of "no backtracking," thanks to him and pmichaud++ correcting my understanding. I'll spend some time on the (?>) and section of backtracking of the perlre manual page.


Post a Comment

Links to this post:

Create a Link

<< Home