Re: help needed with yacc/bison - Mailing list pgsql-hackers

From Oleg Bartunov
Subject Re: help needed with yacc/bison
Date
Msg-id Pine.GSO.4.56.0307021235530.4628@ra.sai.msu.su
Whole thread Raw
In response to Re: help needed with yacc/bison  (Hannu Krosing <hannu@tm.ee>)
Responses Re: help needed with yacc/bison  (Hannu Krosing <hannu@tm.ee>)
List pgsql-hackers
On Wed, 1 Jul 2003, Hannu Krosing wrote:

> Oleg Bartunov kirjutas T, 01.07.2003 kell 15:49:
> > Hi there,
> >
> > attached archive contains simple parser demonstrating our
> > problem. untar it, make, make test
> >
> > Good test:
> > echo -n 12 34.1234 ... | ./parser
> > INTEGER:        '12'
> > CHAR:   ' '
> > VERSION:        '34.1234'
> > CHAR:   ' '
> > DOT:    '.'
> > DOT:    '.'
> > DOT:    '.'
> > Wrong:
> > echo -n 12 34.1234. ... | ./parser
> > INTEGER:        '12'
> > CHAR:   ' '
> > yyerror: syntax error, unexpected CHAR, expecting INTEGER
> >
> > The problem is recognizing VERSION
> > (from gram.y)
> >
> > version:
> >         INTEGER DOT INTEGER    { $$ = strconcat($1, $3, $2); }
> >         | version DOT INTEGER  { $$ = strconcat($1, $3, $2); }
>
> removing the line above seems to fix your problem ;)

No, it's there by intention. VERSION could be not just 7.3 but 7.3.3 :)

>
> > ;
> >
> > For last query '34.1234.' we want to print VERSION '34.1234' and
> > return DOT.
>
> you can't return DOT as version is <str> and DOT is <opr>
>
> > This is just an test example, actually we know workaround
> > for this case, but we need something simple and universal :)
>
> please describe the problem with some more samples, as it will make it
> easier which kind of universal you are searching for ;)
>

We're thinking about rewriting tsearch's parser and got this problem.
Similar situation could arise form hyphenated words, etc.

> ------------
> Hannu
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
>
Regards,    Oleg
_____________________________________________________________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83


pgsql-hackers by date:

Previous
From: Oleg Bartunov
Date:
Subject: Re: 7.4dev initdb problem
Next
From: Andreas Pflug
Date:
Subject: Re: Index expressions: how to recreate