On Mar 31, 12:54 am, "Ian Young" <[EMAIL PROTECTED]> wrote:
> Sorry to get back to you so late - here's what I can offer:
>
> As far as I'm aware, the code in the vim71-ian branch of the
> repository contains almost all of the stable work done by both myself
> and Xiaozhou, so that's the best place to look.  There's a bunch of
> testing code in that branch as well, but it isn't all documented
> (sorry).  The tools I've been using are vgrep, regtest, and the
> run_tests shell script (found in reg_test/).  Xiaozhou also wrote up a
> test file for use with 'make test', but I'm not well acquainted with
> its contents.
>
> On Fri, Mar 28, 2008 at 5:53 AM, Andrei Aiordachioaie<[EMAIL PROTECTED]> 
> wrote:
>
> >  From what I've looked at the test-cases, it seems that the NFA
> >  implementation is not greedy, as it should be. I will look more into
> >  it.
>
> It's greedy in its own way: IIRC, leftmost-first, with the exception
> of ordered alternation 
> (seehttp://groups.google.com/group/vim_dev/browse_thread/thread/9db490f9c...
> for a discussion of that feature).
>
> >  So for the project, I want to extend the test-suite to compare the way
> >  regexps are handled in the old vs the new engine. Maybe this uncovers
> >  other bugs. Then, the largest portion of the project would be fixing
> >  the found bugs. And if that takes little time, I could work on the old
> >  regexp engine bugs.
>
> The largest batch of test cases is in reg_test/files/basic.dat, which
> can be run with "./regtest --engine=nfa reg_test/files/basic.dat".
>
> This file has been modified so all tests succeed with the old vim
> matching engine.  So the failures there represent the differences
> between the old and new engines.  The --engine=[nfa,bt] flag on
> regtest and vgrep control which engine is used, so you can compare
> easily.  There are a few lingering bugs to be ironed out, but it seems
> like we're pretty close to a correct engine - more of the work will
> probably go into making it faster.
>
> >  Do you have any other ideas? Would this be enough
> >  for a 2.5 months project?
>
> Here's what I wrote to another student who enquired about the project:
>
> "The short answer is yes, there's more work to be done by another
> student.  I've been slowly working on fixing a few lingering problems
> in the code we wrote last summer (thus the commits you saw).  The code
> is very close to running correctly. However, it's not super fast at
> this point, so one big project might be optimizing the new code so
> that it is more comparable to the speed of the old engine on
> non-pathological cases.  There are also some more features that would
> be great to add (off the top of my head, a couple are multibyte
> characters and the \{n,m} construct).  And of course, there's a
> non-trivial amount of work in just preparing the code for inclusion in
> Vim's source.  I just haven't found the time this semester to do as
> much as I had hoped, so again, yes, I think another summer on this
> project would prove fruitful.  If you'd like a better idea of where
> development left off, I suggest poking through the archives of the
> group we used at <http://groups.google.com/group/vim-soc-regexp>.  The
> last couple commits I've made are not yet documented, so don't worry
> too much about those for the moment."
>
> Hope all this helps,
> Ian


Thanks a lot for your reply. Running regtest with the NFA engine
crashes for me right at the first test. The old engine passes all
tests though. I'll try to find a way to include them in the main
testing suite, along with the new engine.

Cheers,
Andrei
--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---

Raspunde prin e-mail lui