X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=include%2Fisl%2Fstream.h;h=7484af1ee5098316dc3e4df59d064e46e71e87b8;hb=f44a1a3e730acbedf80309eeb4884f2a6bcba7d7;hp=66951572d0c27176d09034142b7fbd997310124e;hpb=12aa06845e3ae706e88f51f03c1f230489d5edda;p=platform%2Fupstream%2Fisl.git diff --git a/include/isl/stream.h b/include/isl/stream.h index 6695157..7484af1 100644 --- a/include/isl/stream.h +++ b/include/isl/stream.h @@ -1,7 +1,7 @@ /* * Copyright 2008-2009 Katholieke Universiteit Leuven * - * Use of this software is governed by the GNU LGPLv2.1 license + * Use of this software is governed by the MIT license * * Written by Sven Verdoolaege, K.U.Leuven, Departement * Computerwetenschappen, Celestijnenlaan 200A, B-3001 Leuven, Belgium @@ -12,7 +12,9 @@ #include #include +#include #include +#include #if defined(__cplusplus) extern "C" { @@ -22,6 +24,7 @@ enum isl_token_type { ISL_TOKEN_ERROR = -1, ISL_TOKEN_UNKNOWN = 256, ISL_TOKEN_VALUE, ISL_TOKEN_IDENT, ISL_TOKEN_GE, ISL_TOKEN_LE, ISL_TOKEN_GT, ISL_TOKEN_LT, + ISL_TOKEN_NE, ISL_TOKEN_EQ_EQ, ISL_TOKEN_LEX_GE, ISL_TOKEN_LEX_LE, ISL_TOKEN_LEX_GT, ISL_TOKEN_LEX_LT, ISL_TOKEN_TO, ISL_TOKEN_AND, @@ -29,11 +32,13 @@ enum isl_token_type { ISL_TOKEN_ERROR = -1, ISL_TOKEN_DEF, ISL_TOKEN_INFTY, ISL_TOKEN_NAN, ISL_TOKEN_MIN, ISL_TOKEN_MAX, ISL_TOKEN_RAT, ISL_TOKEN_TRUE, ISL_TOKEN_FALSE, + ISL_TOKEN_CEILD, ISL_TOKEN_FLOORD, ISL_TOKEN_MOD, ISL_TOKEN_STRING, + ISL_TOKEN_MAP, ISL_TOKEN_AFF, ISL_TOKEN_LAST }; struct isl_token { - enum isl_token_type type; + int type; unsigned int on_new_line : 1; unsigned is_keyword : 1; @@ -43,9 +48,14 @@ struct isl_token { union { isl_int v; char *s; + isl_map *map; + isl_pw_aff *pwaff; } u; }; +__isl_give isl_val *isl_token_get_val(isl_ctx *ctx, struct isl_token *tok); +__isl_give char *isl_token_get_str(isl_ctx *ctx, struct isl_token *tok); +int isl_token_get_type(struct isl_token *tok); void isl_token_free(struct isl_token *tok); struct isl_stream { @@ -91,8 +101,9 @@ enum isl_token_type isl_stream_register_keyword(struct isl_stream *s, const char *name); struct isl_obj isl_stream_read_obj(struct isl_stream *s); -__isl_give isl_map *isl_stream_read_map(struct isl_stream *s, int nparam); -__isl_give isl_set *isl_stream_read_set(struct isl_stream *s, int nparam); +__isl_give isl_multi_aff *isl_stream_read_multi_aff(struct isl_stream *s); +__isl_give isl_map *isl_stream_read_map(struct isl_stream *s); +__isl_give isl_set *isl_stream_read_set(struct isl_stream *s); __isl_give isl_pw_qpolynomial *isl_stream_read_pw_qpolynomial( struct isl_stream *s); __isl_give isl_union_map *isl_stream_read_union_map(struct isl_stream *s);