||regular expression engine
||2003-11-06 21:07:41 GMT
(Projects of this owner)
AEditor needs a regexp engine. You probably think, why not
rely on an existing engine (for instance Ruby's regexp engine) ?
Existing engines are not flexible enough. The iterator pattern
provides that needed flexibility. Thus it should not matter
wheter the engine operate on: UCS-4 or UTF-8 or ASCII.
Goal is to build an engine which is fully compatible with Ruby's
regexp syntax, which can work with iterators.
Eventualy extend the regexp syntax, with some editor-stuff.
For instance: point where cursor should be placed,
match text which is legal ruby code, execute regexp within
retangular selection... etc. I am open to other suggestions.
Eventualy re-implement in C++ to gain performance.
Running the engine against the Rubicon testsuite, yields
pass=1444, fail=116, pass/total=92.5641025641026
Data structure has stabilized and the fundemental operations
are working quite good (was difficult to implement).
Uses iterators, this should make it easy to operate on many
different kinds of input-streams (unicode, UTF-8), but right
now the iterator only works on ASCII.
Performance is not impressive.
Left is all the easy stuff (unicode, optimizaition).
Its being developed by using test-first development, current status are:
563 tests, 565 assertions, 0 failures, 0 errors