[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
$x value lost?
From: |
Mhaxx |
Subject: |
$x value lost? |
Date: |
Mon, 10 Mar 2003 15:18:40 +0100 |
Why does parser loose values?
EXAMPLE:
My scanner:
...
{kw_program} { free(yylval.string); yylval.string = strdup(yytext);
return PROGRAM; }
{kw_return} { free(yylval.string); yylval.string = strdup(yytext); return
RETURN; }
{kw_end} { free(yylval.string); yylval.string = strdup(yytext); return
END; }
My parser:
start: PROGRAM RETURN END; { printf($1); printf($2); printf($3); }
If the input is "program Return end" then the output is "endend"!!! Why?!?
I think $1 and $2 were lost during the process... there's something I can't
understand...
Mhaxx