On Saturday 16 September 2006 14:53, Bob Rossi wrote:
> Hi,
>
> The user interface to the push parser currently looks like this:
>
> int
> yyparse (void)
> {
>   struct yypvars *ctx = yypvarsinit ();
>   int status;
>   do {
>     yychar_set (ctx, yylex ());
>     yylval_set (ctx, yylval);
> #ifdef YYLTYPE_IS_TRIVIAL
>     yylloc_set (ctx, yylloc);
> #endif
>     yypushparse (ctx);
>     status = yyresult_get (ctx);
>   } while (status == 4);
>   free (ctx);
>   return status;
> }
>
> In particular, I don't like this line:
>   } while (status == 4);
>
> The number 4 should be put in either a #define, or a function call.
> Which one is preferable? The #define would probably be more efficient.
> If so, what would be a good name?

How about using an enum? It would be a pity to use defines since they're evil, 
and there has been efforts to remove defines in favour of enums(yytokentype). 
Enums increases type safety.


Cheers,

                Frans



Reply via email to