if (tok) {
if (tok->type < 256)
fprintf(stderr, "got '%c'\n", tok->type);
+ else if (tok->type == ISL_TOKEN_IDENT)
+ fprintf(stderr, "got ident '%s'\n", tok->u.s);
else
fprintf(stderr, "got token type %d\n", tok->type);
}
return ISL_TOKEN_INFTY;
if (!strcasecmp(s->buffer, "NaN"))
return ISL_TOKEN_NAN;
+ if (!strcasecmp(s->buffer, "max"))
+ return ISL_TOKEN_MAX;
if (!s->keywords)
return ISL_TOKEN_IDENT;
return 0;
}
-static int free_keyword(void *p)
+static int free_keyword(void **p, void *user)
{
- struct isl_keyword *keyword = p;
+ struct isl_keyword *keyword = *p;
free(keyword->name);
free(keyword);
isl_token_free(tok);
}
if (s->keywords) {
- isl_hash_table_foreach(s->ctx, s->keywords, free_keyword);
+ isl_hash_table_foreach(s->ctx, s->keywords, &free_keyword, NULL);
isl_hash_table_free(s->ctx, s->keywords);
}
isl_ctx_deref(s->ctx);