Re: help needed with yacc/bison
От | Hannu Krosing |
---|---|
Тема | Re: help needed with yacc/bison |
Дата | |
Msg-id | 1057089739.7053.24.camel@fuji.krosing.net обсуждение исходный текст |
Ответ на | help needed with yacc/bison (Oleg Bartunov <oleg@sai.msu.su>) |
Ответы |
Re: help needed with yacc/bison
|
Список | pgsql-hackers |
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 ;) > ; > > 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 ;) ------------ Hannu
В списке pgsql-hackers по дате отправления: