Still working on the parser

This commit is contained in:
Pierre Pronchery 2008-03-07 02:07:13 +00:00
parent 1a142ba785
commit dd600a54ba

View File

@ -675,11 +675,24 @@ static int _primary_expr(C99 * c99)
* string-literal * string-literal
* "(" expression ")" */ * "(" expression ")" */
{ {
/* FIXME implement */ int ret;
int code;
/* FIXME complete */
#ifdef DEBUG #ifdef DEBUG
fprintf(stderr, "DEBUG: %s()\n", __func__); fprintf(stderr, "DEBUG: %s()\n", __func__);
#endif #endif
return 0; if((code = token_get_code(c99->token)) == C99_CODE_IDENTIFIER)
return c99_scan(c99);
else if(code == C99_CODE_OPERATOR_LPAREN)
{
ret = c99_scan(c99);
ret |= _expression(c99);
ret |= _parse_check(c99, C99_CODE_OPERATOR_RPAREN);
return ret;
}
else
return c99_scan(c99);
} }
@ -1040,7 +1053,7 @@ static int _statement(C99 * c99)
* iteration-statement * iteration-statement
* jump-statement */ * jump-statement */
{ {
/* FIXME implement */ /* FIXME labeled and expression statements conflict */
#ifdef DEBUG #ifdef DEBUG
fprintf(stderr, "DEBUG: %s()\n", __func__); fprintf(stderr, "DEBUG: %s()\n", __func__);
#endif #endif