2 #include <isl/stream.h>
8 unsigned int on_new_line
: 1;
9 unsigned is_keyword
: 1;
21 struct isl_token
*isl_token_new(isl_ctx
*ctx
,
22 int line
, int col
, unsigned on_new_line
);
24 /* An input stream that may be either a file or a string.
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.
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
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).
59 struct isl_token
*tokens
[5];
62 struct isl_hash_table
*keywords
;
63 enum isl_token_type next_type
;
67 enum isl_yaml_state
*yaml_state
;