directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Emmanuel Lecharny" <elecha...@gmail.com>
Subject Re: [Filters] New parser
Date Fri, 28 Sep 2007 00:43:57 GMT
Ok, I have the new parser done. It's a stateless parser, so it can be
used without any synchronization (it's a static parser).

I have fixed some bugs in the tests (for instance,
(:=dummyAssertion\\23\\ac) is nt valid, but was assumed as valid in
the previous tests)

Last, not least, it's around 20 times faster than the antlr parser.

Btw, we have now more than 5000 tests when doing some integration test
... Not too bad :)

On 9/27/07, Emmanuel Lecharny <elecharny@gmail.com> wrote:
> Thanks Stefan !!!
>
> I will have a look, sure. I thought you were using an antlr parser ...
>
> On 9/27/07, Stefan Seelmann <seelmann@apache.org> wrote:
> > Hi Emmanuel,
> >
> > we also have a filter parser in Studio. It is a hand-written parser and
> > it is optimized to parse incomplete filters while typing the filter in
> > the GUI to give some attribute completions and error markers. See
> > http://issues.apache.org/jira/browse/DIRSTUDIO-47.
> >
> > Perhaps you want to take a look at it, but be aware: it isn't strict ;-)
> > http://svn.apache.org/viewvc/directory/studio/trunk/studio-ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/filter/
> >
> > Regards,
> > Stefan
> >
> >
> > Emmanuel Lecharny schrieb:
> > > Hi,
> > >
> > > due to some serious reentrant problems we have with the current server
> > > implementation, I'm rewriting the filter parser.
> > >
> > > Things are going well, but I have a question about the syntax. RFC
> > > 4515 does not allow spaces inside a filter, but the current parser
> > > allows them. For instance :
> > > ( ou = test ) is valid for our antlr parser, when it's not
> > > specifically allowed by the grammar.
> > >
> > > I can relax the grammar easily, but then we may have issues like :
> > > ( ou= test) should match "test" or only " test" ? or should we use
> > > this filter : ( ou = \20test ) to match " test" ?
> > >
> > > I would favor a strict parser otherwise we will have serious problems
> > > with such values containing starting or trailing spaces.
> > >
> > > Keep in mind that the filter parser will only be used when embedding
> > > the server. For a remote server, filters are already parsed by the
> > > client.
> > >
> > >
> > > wdyt ?
> > >
> >
> >
>
>
> --
> Regards,
> Cordialement,
> Emmanuel L├ęcharny
> www.iktek.com
>


-- 
Regards,
Cordialement,
Emmanuel L├ęcharny
www.iktek.com

Mime
View raw message