Xiaozhou Liu wrote:

> The attached patch represents the current status of my work on the new
> NFA based regexp engine, from last summer's GSoC project, mentored by
> Russ Cox. I have been using this new engine myself for quite some time
> now, so I feel it's ready for a wider review audience.
> 
> Currently the implemented patterns are:
>         \|
>         \( \)
>         *
>         \+
>         ^
>         $
>         \<
>         \>
> 
> The new engine will fallback to the old engine if encounters an
> unsupported pattern.
> 
> I have incorporated Russ' code on ordered alternation, so that behavior
> has been inherited. Multibyte is supported, with the exception of
> composing characters, which will be high-priority next stage work.
> 
> The new engine passes all test cases except test44 (composing chars).
> When run on test cases it will fallback to old engine on 55% of all
> invocations. In my daily use however the NFA engine accounts for about
> 80% of all regexp invocations.
> 
> Please review the code, any comments and feedback is welcomed.
> The code is in still very early alpha stage, of course, but if you are
> brave enough, I encourage you to give it a try ;-). You will find that
> pathological cases
> (e.g. matching "\v(a+)+b" against "aaaaaaaaaaaaaaaaaaaaaaaaaaa")
> are now gone. There is also a real-life javascript file you can find at
> http://extjs.com/deploy/dev/adapter/ext/ext-base.js which can be used to
> compare the performance differences on syntax highlighting between the
> old and new engines.

Thank you very much for continuing the work of last summer.  It's great
to see that you volunteered to continue work on this.  And a very good
start for a student to continue with it this year.  It's now very likely
we will really get to the point where this can be included in Vim.

-- 
panic("Foooooooood fight!");
        -- In the kernel source aha1542.c, after detecting a bad segment list

 /// Bram Moolenaar -- [EMAIL PROTECTED] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\        download, build and distribute -- http://www.A-A-P.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

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

Raspunde prin e-mail lui