Thanks for the response Bill.
Sorry, no knowledge of recursive descent parsers worth talking about.
Kind Regards
Mark Tynan
Alphatech Designs
email: mark.tynan@alphatech-designs.com
tel: 01473 233380
----- Original Message -----
From: "Bill Moseley" <moseley@hank.org>
To: "Mark Tynan" <mark.tynan@alphatech-designs.com>
Cc: "Multiple recipients of list" <swish-e@sunsite.berkeley.edu>
Sent: Friday, January 02, 2004 3:41 PM
Subject: Re: [SWISH-E] searching for *
> On Fri, Jan 02, 2004 at 03:37:48AM -0800, Mark Tynan wrote:
> > Is it possible to make swish find a star *, or a string of stars =
> > ******** ?
>
> It seems not, due to a bug in the query parser[1].
>
> Here's why your tries won't work:
>
> > $ swish-e -w "*" -H 9
>
> All those quotes are doing is escaping from the shell. So you get:
>
> > err: Single wildcard not allowed as word
>
>
> > $ swish-e -w '"*"' -H 9
>
> Now you are placing the * in a phrase. But it still is considered a
> wild card -- you can use wild cards in a phrase.
>
> moseley@bumby:~$ cat 1
> hello world
> moseley@bumby:~$ swish-e -i 1 -v0
> moseley@bumby:~$ swish-e -w '"hello world"' -H0
> 1000 1 "1" 12
> moseley@bumby:~$ swish-e -w '"hel* world"' -H0
> 1000 1 "1" 12
>
> But you the search parser is not seeing that error, but you get the same
> result:
>
> > # Search words: "*"
> > # Parsed Words:
> > err: No search words specified
>
>
> What you _should_ be able to do is:
>
> $ swish-e -w '\*'
>
> the quotes protect both chars from the shell.
>
> What you _can_ do is this:
>
> $ swish-e -w 'foo\*bar'
>
> moseley@bumby:~$ swish-e -w 'hello*there' -H0
> err: Wildcard not allowed within a word
>
> moseley@bumby:~$ swish-e -w 'hello\*there' -H0
> 1000 1 "1" 18
>
> I'll see if I can get a patch to fix that.
>
>
> [1] The query parser really needs a rewrite. I didn't get any response
> from http://swish-e.org/archive/6204.html
>
>
>
> --
> Bill Moseley
> moseley@hank.org
>
Received on Fri Jan 2 16:35:27 2004