Polly 20.0.0git
isl_stream_private.h
Go to the documentation of this file.
1#include <isl_int.h>
2#include <isl/stream.h>
3#include <isl_yaml.h>
4
5struct isl_token {
6 int type;
7
8 unsigned int on_new_line : 1;
9 unsigned is_keyword : 1;
10 int line;
11 int col;
12
13 union {
15 char *s;
18 } u;
19};
20
22 int line, int col, unsigned on_new_line);
23
24/* An input stream that may be either a file or a string.
25 *
26 * line and col are the line and column number of the next character (1-based).
27 * start_line and start_col are set by isl_stream_getc to point
28 * to the position of the returned character.
29 * last_line is the line number of the previous token.
30 *
31 * yaml_state and yaml_indent keep track of the currently active YAML
32 * elements. yaml_size is the size of these arrays, while yaml_depth
33 * is the number of elements currently in use.
34 * yaml_state and yaml_indent may be NULL if no YAML parsing is being
35 * performed.
36 * yaml_state keeps track of what is expected next at each level.
37 * yaml_indent keeps track of the indentation at each level, with
38 * ISL_YAML_INDENT_FLOW meaning that the element is in flow format
39 * (such that the indentation is not relevant).
40 */
41struct isl_stream {
42 struct isl_ctx *ctx;
43 FILE *file;
44 const char *str;
45 int line;
46 int col;
50 int eof;
51
52 char *buffer;
53 size_t size;
54 size_t len;
55 int c;
56 int un[5];
57 int n_un;
58
59 struct isl_token *tokens[5];
61
64
69};
struct isl_token * isl_token_new(isl_ctx *ctx, int line, int col, unsigned on_new_line)
Definition: isl_stream.c:70
isl_yaml_state
Definition: isl_yaml.h:6
isl_token_type
Definition: stream.h:24
enum isl_yaml_state * yaml_state
const char * str
struct isl_token * tokens[5]
enum isl_token_type next_type
struct isl_ctx * ctx
struct isl_hash_table * keywords
unsigned int on_new_line
isl_pw_aff * pwaff
union isl_token::@24 u
isl_map * map
unsigned is_keyword