Polly
20.0.0git
llvm-project
polly
lib
External
isl
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
5
struct
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
{
14
isl_int
v
;
15
char
*
s
;
16
isl_map
*
map
;
17
isl_pw_aff
*
pwaff
;
18
}
u
;
19
};
20
21
struct
isl_token
*
isl_token_new
(
isl_ctx
*ctx,
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
*/
41
struct
isl_stream
{
42
struct
isl_ctx
*
ctx
;
43
FILE *
file
;
44
const
char
*
str
;
45
int
line
;
46
int
col
;
47
int
start_line
;
48
int
start_col
;
49
int
last_line
;
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];
60
int
n_token
;
61
62
struct
isl_hash_table
*
keywords
;
63
enum
isl_token_type
next_type
;
64
65
int
yaml_depth
;
66
int
yaml_size
;
67
enum
isl_yaml_state
*
yaml_state
;
68
int
*
yaml_indent
;
69
};
isl_int.h
isl_token_new
struct isl_token * isl_token_new(isl_ctx *ctx, int line, int col, unsigned on_new_line)
Definition:
isl_stream.c:70
isl_yaml.h
isl_yaml_state
isl_yaml_state
Definition:
isl_yaml.h:6
stream.h
isl_token_type
isl_token_type
Definition:
stream.h:24
isl_ctx
Definition:
isl_ctx_private.h:11
isl_hash_table
Definition:
hash.h:50
isl_map
Definition:
isl_map_private.h:96
isl_pw_aff
Definition:
isl_aff_private.h:34
isl_stream
Definition:
isl_stream_private.h:41
isl_stream::len
size_t len
Definition:
isl_stream_private.h:54
isl_stream::col
int col
Definition:
isl_stream_private.h:46
isl_stream::line
int line
Definition:
isl_stream_private.h:45
isl_stream::yaml_state
enum isl_yaml_state * yaml_state
Definition:
isl_stream_private.h:67
isl_stream::yaml_size
int yaml_size
Definition:
isl_stream_private.h:66
isl_stream::n_un
int n_un
Definition:
isl_stream_private.h:57
isl_stream::un
int un[5]
Definition:
isl_stream_private.h:56
isl_stream::eof
int eof
Definition:
isl_stream_private.h:50
isl_stream::size
size_t size
Definition:
isl_stream_private.h:53
isl_stream::str
const char * str
Definition:
isl_stream_private.h:44
isl_stream::tokens
struct isl_token * tokens[5]
Definition:
isl_stream_private.h:59
isl_stream::yaml_depth
int yaml_depth
Definition:
isl_stream_private.h:65
isl_stream::next_type
enum isl_token_type next_type
Definition:
isl_stream_private.h:63
isl_stream::n_token
int n_token
Definition:
isl_stream_private.h:60
isl_stream::c
int c
Definition:
isl_stream_private.h:55
isl_stream::ctx
struct isl_ctx * ctx
Definition:
isl_stream_private.h:42
isl_stream::yaml_indent
int * yaml_indent
Definition:
isl_stream_private.h:68
isl_stream::buffer
char * buffer
Definition:
isl_stream_private.h:52
isl_stream::start_col
int start_col
Definition:
isl_stream_private.h:48
isl_stream::start_line
int start_line
Definition:
isl_stream_private.h:47
isl_stream::keywords
struct isl_hash_table * keywords
Definition:
isl_stream_private.h:62
isl_stream::file
FILE * file
Definition:
isl_stream_private.h:43
isl_stream::last_line
int last_line
Definition:
isl_stream_private.h:49
isl_token
Definition:
isl_stream_private.h:5
isl_token::on_new_line
unsigned int on_new_line
Definition:
isl_stream_private.h:8
isl_token::col
int col
Definition:
isl_stream_private.h:11
isl_token::type
int type
Definition:
isl_stream_private.h:6
isl_token::v
isl_int v
Definition:
isl_stream_private.h:14
isl_token::pwaff
isl_pw_aff * pwaff
Definition:
isl_stream_private.h:17
isl_token::u
union isl_token::@24 u
isl_token::map
isl_map * map
Definition:
isl_stream_private.h:16
isl_token::line
int line
Definition:
isl_stream_private.h:10
isl_token::is_keyword
unsigned is_keyword
Definition:
isl_stream_private.h:9
isl_token::s
char * s
Definition:
isl_stream_private.h:15
mpz_t
Definition:
imath/imath.h:58
Generated on Wed Nov 13 2024 03:17:28 for Polly by
1.9.6