Lines Matching full:s
31 enum isl_token_type isl_stream_register_keyword(__isl_keep isl_stream *s, in isl_stream_register_keyword() argument
38 if (!s->keywords) { in isl_stream_register_keyword()
39 s->keywords = isl_hash_table_alloc(s->ctx, 10); in isl_stream_register_keyword()
40 if (!s->keywords) in isl_stream_register_keyword()
42 s->next_type = ISL_TOKEN_LAST; in isl_stream_register_keyword()
47 entry = isl_hash_table_find(s->ctx, s->keywords, name_hash, in isl_stream_register_keyword()
56 keyword = isl_calloc_type(s->ctx, struct isl_keyword); in isl_stream_register_keyword()
59 keyword->type = s->next_type++; in isl_stream_register_keyword()
80 tok->u.s = NULL; in isl_token_new()
110 return isl_bool_ok(tok->u.s != NULL); in isl_token_has_str()
119 if (!tok->u.s) in isl_token_get_str()
124 return strdup(tok->u.s); in isl_token_get_str()
138 free(tok->u.s); in isl_token_free()
142 void isl_stream_error(__isl_keep isl_stream *s, struct isl_token *tok, in isl_stream_error() argument
145 int line = tok ? tok->line : s->line; in isl_stream_error()
146 int col = tok ? tok->col : s->col; in isl_stream_error()
148 isl_ctx_set_full_error(s->ctx, isl_error_invalid, "syntax error", in isl_stream_error()
151 if (s->ctx->opt->on_error == ISL_ON_ERROR_CONTINUE) in isl_stream_error()
153 fprintf(stderr, "syntax error (%d, %d): %s\n", line, col, msg); in isl_stream_error()
158 fprintf(stderr, "got ident '%s'\n", tok->u.s); in isl_stream_error()
160 fprintf(stderr, "got keyword '%s'\n", tok->u.s); in isl_stream_error()
168 p = isl_printer_to_file(s->ctx, stderr); in isl_stream_error()
175 p = isl_printer_to_file(s->ctx, stderr); in isl_stream_error()
179 } else if (tok->u.s) in isl_stream_error()
180 fprintf(stderr, "got token '%s'\n", tok->u.s); in isl_stream_error()
184 if (s->ctx->opt->on_error == ISL_ON_ERROR_ABORT) in isl_stream_error()
191 isl_stream *s = isl_calloc_type(ctx, struct isl_stream); in isl_stream_new() local
192 if (!s) in isl_stream_new()
194 s->ctx = ctx; in isl_stream_new()
195 isl_ctx_ref(s->ctx); in isl_stream_new()
196 s->file = NULL; in isl_stream_new()
197 s->str = NULL; in isl_stream_new()
198 s->len = 0; in isl_stream_new()
199 s->line = 1; in isl_stream_new()
200 s->col = 1; in isl_stream_new()
201 s->eof = 0; in isl_stream_new()
202 s->last_line = 0; in isl_stream_new()
203 s->c = -1; in isl_stream_new()
204 s->n_un = 0; in isl_stream_new()
206 s->tokens[i] = NULL; in isl_stream_new()
207 s->n_token = 0; in isl_stream_new()
208 s->keywords = NULL; in isl_stream_new()
209 s->size = 256; in isl_stream_new()
210 s->buffer = isl_alloc_array(ctx, char, s->size); in isl_stream_new()
211 if (!s->buffer) in isl_stream_new()
213 return s; in isl_stream_new()
215 isl_stream_free(s); in isl_stream_new()
221 isl_stream *s = isl_stream_new(ctx); in isl_stream_new_file() local
222 if (!s) in isl_stream_new_file()
224 s->file = file; in isl_stream_new_file()
225 return s; in isl_stream_new_file()
230 isl_stream *s; in isl_stream_new_str() local
233 s = isl_stream_new(ctx); in isl_stream_new_str()
234 if (!s) in isl_stream_new_str()
236 s->str = str; in isl_stream_new_str()
237 return s; in isl_stream_new_str()
240 /* Read a character from the stream and advance s->line and s->col
243 static int stream_getc(__isl_keep isl_stream *s) in stream_getc() argument
246 if (s->eof) in stream_getc()
248 if (s->n_un) in stream_getc()
249 return s->c = s->un[--s->n_un]; in stream_getc()
250 if (s->file) in stream_getc()
251 c = fgetc(s->file); in stream_getc()
253 c = *s->str++; in stream_getc()
258 s->eof = 1; in stream_getc()
260 s->line++; in stream_getc()
261 s->col = 1; in stream_getc()
263 s->col++; in stream_getc()
264 s->c = c; in stream_getc()
268 static void isl_stream_ungetc(__isl_keep isl_stream *s, int c) in isl_stream_ungetc() argument
270 isl_assert(s->ctx, s->n_un < 5, return); in isl_stream_ungetc()
271 s->un[s->n_un++] = c; in isl_stream_ungetc()
272 s->c = -1; in isl_stream_ungetc()
276 * Set s->start_line and s->start_col to the line and column
279 static int isl_stream_getc(__isl_keep isl_stream *s) in isl_stream_getc() argument
284 s->start_line = s->line; in isl_stream_getc()
285 s->start_col = s->col; in isl_stream_getc()
286 c = stream_getc(s); in isl_stream_getc()
289 c = stream_getc(s); in isl_stream_getc()
292 isl_stream_ungetc(s, c); in isl_stream_getc()
297 static int isl_stream_push_char(__isl_keep isl_stream *s, int c) in isl_stream_push_char() argument
299 if (s->len >= s->size) { in isl_stream_push_char()
301 s->size = (3*s->size)/2; in isl_stream_push_char()
302 buffer = isl_realloc_array(s->ctx, s->buffer, char, s->size); in isl_stream_push_char()
305 s->buffer = buffer; in isl_stream_push_char()
307 s->buffer[s->len++] = c; in isl_stream_push_char()
311 void isl_stream_push_token(__isl_keep isl_stream *s, struct isl_token *tok) in isl_stream_push_token() argument
313 isl_assert(s->ctx, s->n_token < 5, return); in isl_stream_push_token()
314 s->tokens[s->n_token++] = tok; in isl_stream_push_token()
317 static enum isl_token_type check_keywords(__isl_keep isl_stream *s) in check_keywords() argument
323 if (!strcasecmp(s->buffer, "exists")) in check_keywords()
325 if (!strcasecmp(s->buffer, "and")) in check_keywords()
327 if (!strcasecmp(s->buffer, "or")) in check_keywords()
329 if (!strcasecmp(s->buffer, "implies")) in check_keywords()
331 if (!strcasecmp(s->buffer, "not")) in check_keywords()
333 if (!strcasecmp(s->buffer, "infty")) in check_keywords()
335 if (!strcasecmp(s->buffer, "infinity")) in check_keywords()
337 if (!strcasecmp(s->buffer, "NaN")) in check_keywords()
339 if (!strcasecmp(s->buffer, "min")) in check_keywords()
341 if (!strcasecmp(s->buffer, "max")) in check_keywords()
343 if (!strcasecmp(s->buffer, "rat")) in check_keywords()
345 if (!strcasecmp(s->buffer, "true")) in check_keywords()
347 if (!strcasecmp(s->buffer, "false")) in check_keywords()
349 if (!strcasecmp(s->buffer, "ceild")) in check_keywords()
351 if (!strcasecmp(s->buffer, "floord")) in check_keywords()
353 if (!strcasecmp(s->buffer, "mod")) in check_keywords()
355 if (!strcasecmp(s->buffer, "ceil")) in check_keywords()
357 if (!strcasecmp(s->buffer, "floor")) in check_keywords()
360 if (!s->keywords) in check_keywords()
363 name_hash = isl_hash_string(isl_hash_init(), s->buffer); in check_keywords()
364 entry = isl_hash_table_find(s->ctx, s->keywords, name_hash, same_name, in check_keywords()
365 s->buffer, 0); in check_keywords()
376 int isl_stream_skip_line(__isl_keep isl_stream *s) in isl_stream_skip_line() argument
380 while ((c = isl_stream_getc(s)) != -1 && c != '\n') in isl_stream_skip_line()
387 static struct isl_token *next_token(__isl_keep isl_stream *s, int same_line) in next_token() argument
392 int old_line = s->last_line; in next_token()
394 if (s->n_token) { in next_token()
395 if (same_line && s->tokens[s->n_token - 1]->on_new_line) in next_token()
397 return s->tokens[--s->n_token]; in next_token()
400 if (same_line && s->c == '\n') in next_token()
403 s->len = 0; in next_token()
406 while ((c = isl_stream_getc(s)) != -1) { in next_token()
408 if (isl_stream_skip_line(s) < 0) in next_token()
417 line = s->start_line; in next_token()
418 col = s->start_col; in next_token()
422 s->last_line = line; in next_token()
440 tok = isl_token_new(s->ctx, line, col, old_line != line); in next_token()
448 if ((c = isl_stream_getc(s)) == '>') { in next_token()
449 tok = isl_token_new(s->ctx, line, col, old_line != line); in next_token()
452 tok->u.s = strdup("->"); in next_token()
457 isl_stream_ungetc(s, c); in next_token()
458 tok = isl_token_new(s->ctx, line, col, old_line != line); in next_token()
466 tok = isl_token_new(s->ctx, line, col, old_line != line); in next_token()
471 if (isl_stream_push_char(s, c)) in next_token()
473 while ((c = isl_stream_getc(s)) != -1 && isdigit(c)) in next_token()
474 if (isl_stream_push_char(s, c)) in next_token()
477 isl_stream_ungetc(s, c); in next_token()
478 isl_stream_push_char(s, '\0'); in next_token()
479 isl_int_read(tok->u.v, s->buffer); in next_token()
483 isl_stream_push_token(s, tok); in next_token()
484 tok = isl_token_new(s->ctx, line, col, old_line != line); in next_token()
492 tok = isl_token_new(s->ctx, line, col, old_line != line); in next_token()
495 isl_stream_push_char(s, c); in next_token()
496 while ((c = isl_stream_getc(s)) != -1 && in next_token()
498 isl_stream_push_char(s, c); in next_token()
500 isl_stream_ungetc(s, c); in next_token()
501 while ((c = isl_stream_getc(s)) != -1 && c == '\'') in next_token()
502 isl_stream_push_char(s, c); in next_token()
504 isl_stream_ungetc(s, c); in next_token()
505 isl_stream_push_char(s, '\0'); in next_token()
506 tok->type = check_keywords(s); in next_token()
509 tok->u.s = strdup(s->buffer); in next_token()
510 if (!tok->u.s) in next_token()
515 tok = isl_token_new(s->ctx, line, col, old_line != line); in next_token()
519 tok->u.s = NULL; in next_token()
520 while ((c = isl_stream_getc(s)) != -1 && c != '"' && c != '\n') in next_token()
521 isl_stream_push_char(s, c); in next_token()
523 isl_stream_error(s, NULL, "unterminated string"); in next_token()
526 isl_stream_push_char(s, '\0'); in next_token()
527 tok->u.s = strdup(s->buffer); in next_token()
532 tok = isl_token_new(s->ctx, line, col, old_line != line); in next_token()
535 if ((c = isl_stream_getc(s)) == '=') { in next_token()
536 tok->u.s = strdup("=="); in next_token()
541 isl_stream_ungetc(s, c); in next_token()
547 tok = isl_token_new(s->ctx, line, col, old_line != line); in next_token()
550 if ((c = isl_stream_getc(s)) == '=') { in next_token()
551 tok->u.s = strdup(":="); in next_token()
556 isl_stream_ungetc(s, c); in next_token()
562 tok = isl_token_new(s->ctx, line, col, old_line != line); in next_token()
565 if ((c = isl_stream_getc(s)) == '=') { in next_token()
566 tok->u.s = strdup(">="); in next_token()
570 if ((c = isl_stream_getc(s)) == '=') { in next_token()
571 tok->u.s = strdup(">>="); in next_token()
575 tok->u.s = strdup(">>"); in next_token()
578 tok->u.s = strdup(">"); in next_token()
582 isl_stream_ungetc(s, c); in next_token()
587 tok = isl_token_new(s->ctx, line, col, old_line != line); in next_token()
590 if ((c = isl_stream_getc(s)) == '=') { in next_token()
591 tok->u.s = strdup("<="); in next_token()
595 if ((c = isl_stream_getc(s)) == '=') { in next_token()
596 tok->u.s = strdup("<<="); in next_token()
600 tok->u.s = strdup("<<"); in next_token()
603 tok->u.s = strdup("<"); in next_token()
607 isl_stream_ungetc(s, c); in next_token()
611 tok = isl_token_new(s->ctx, line, col, old_line != line); in next_token()
615 if ((c = isl_stream_getc(s)) != '&' && c != -1) { in next_token()
616 tok->u.s = strdup("&"); in next_token()
617 isl_stream_ungetc(s, c); in next_token()
619 tok->u.s = strdup("&&"); in next_token()
623 tok = isl_token_new(s->ctx, line, col, old_line != line); in next_token()
627 if ((c = isl_stream_getc(s)) != '|' && c != -1) { in next_token()
628 tok->u.s = strdup("|"); in next_token()
629 isl_stream_ungetc(s, c); in next_token()
631 tok->u.s = strdup("||"); in next_token()
635 tok = isl_token_new(s->ctx, line, col, old_line != line); in next_token()
638 if ((c = isl_stream_getc(s)) == '\\') { in next_token()
639 tok->u.s = strdup("/\\"); in next_token()
643 tok->u.s = strdup("//"); in next_token()
650 isl_stream_ungetc(s, c); in next_token()
654 tok = isl_token_new(s->ctx, line, col, old_line != line); in next_token()
657 if ((c = isl_stream_getc(s)) != '/' && c != -1) { in next_token()
659 isl_stream_ungetc(s, c); in next_token()
661 tok->u.s = strdup("\\/"); in next_token()
667 tok = isl_token_new(s->ctx, line, col, old_line != line); in next_token()
670 if ((c = isl_stream_getc(s)) == '=') { in next_token()
671 tok->u.s = strdup("!="); in next_token()
676 tok->u.s = strdup("!"); in next_token()
679 isl_stream_ungetc(s, c); in next_token()
683 tok = isl_token_new(s->ctx, line, col, old_line != line); in next_token()
693 struct isl_token *isl_stream_next_token(__isl_keep isl_stream *s) in isl_stream_next_token() argument
695 return next_token(s, 0); in isl_stream_next_token()
698 struct isl_token *isl_stream_next_token_on_same_line(__isl_keep isl_stream *s) in isl_stream_next_token_on_same_line() argument
700 return next_token(s, 1); in isl_stream_next_token_on_same_line()
703 int isl_stream_eat_if_available(__isl_keep isl_stream *s, int type) in isl_stream_eat_if_available() argument
707 tok = isl_stream_next_token(s); in isl_stream_eat_if_available()
714 isl_stream_push_token(s, tok); in isl_stream_eat_if_available()
718 int isl_stream_next_token_is(__isl_keep isl_stream *s, int type) in isl_stream_next_token_is() argument
723 tok = isl_stream_next_token(s); in isl_stream_next_token_is()
727 isl_stream_push_token(s, tok); in isl_stream_next_token_is()
731 char *isl_stream_read_ident_if_available(__isl_keep isl_stream *s) in isl_stream_read_ident_if_available() argument
735 tok = isl_stream_next_token(s); in isl_stream_read_ident_if_available()
739 char *ident = strdup(tok->u.s); in isl_stream_read_ident_if_available()
743 isl_stream_push_token(s, tok); in isl_stream_read_ident_if_available()
747 int isl_stream_eat(__isl_keep isl_stream *s, int type) in isl_stream_eat() argument
751 tok = isl_stream_next_token(s); in isl_stream_eat()
753 if (s->eof) in isl_stream_eat()
754 isl_stream_error(s, NULL, "unexpected EOF"); in isl_stream_eat()
761 isl_stream_error(s, tok, "expecting other token"); in isl_stream_eat()
766 int isl_stream_is_empty(__isl_keep isl_stream *s) in isl_stream_is_empty() argument
770 tok = isl_stream_next_token(s); in isl_stream_is_empty()
775 isl_stream_push_token(s, tok); in isl_stream_is_empty()
789 void isl_stream_flush_tokens(__isl_keep isl_stream *s) in isl_stream_flush_tokens() argument
793 if (!s) in isl_stream_flush_tokens()
795 for (i = 0; i < s->n_token; ++i) in isl_stream_flush_tokens()
796 isl_token_free(s->tokens[i]); in isl_stream_flush_tokens()
797 s->n_token = 0; in isl_stream_flush_tokens()
800 isl_ctx *isl_stream_get_ctx(__isl_keep isl_stream *s) in isl_stream_get_ctx() argument
802 return s ? s->ctx : NULL; in isl_stream_get_ctx()
805 void isl_stream_free(__isl_take isl_stream *s) in isl_stream_free() argument
807 if (!s) in isl_stream_free()
809 free(s->buffer); in isl_stream_free()
810 if (s->n_token != 0) { in isl_stream_free()
811 struct isl_token *tok = isl_stream_next_token(s); in isl_stream_free()
812 isl_stream_error(s, tok, "unexpected token"); in isl_stream_free()
815 if (s->keywords) { in isl_stream_free()
816 isl_hash_table_foreach(s->ctx, s->keywords, &free_keyword, NULL); in isl_stream_free()
817 isl_hash_table_free(s->ctx, s->keywords); in isl_stream_free()
819 free(s->yaml_state); in isl_stream_free()
820 free(s->yaml_indent); in isl_stream_free()
821 isl_ctx_deref(s->ctx); in isl_stream_free()
822 free(s); in isl_stream_free()
829 static int push_state(__isl_keep isl_stream *s, enum isl_yaml_state state) in push_state() argument
831 if (s->yaml_size < s->yaml_depth + 1) { in push_state()
835 state = isl_realloc_array(s->ctx, s->yaml_state, in push_state()
836 enum isl_yaml_state, s->yaml_depth + 1); in push_state()
839 s->yaml_state = state; in push_state()
841 indent = isl_realloc_array(s->ctx, s->yaml_indent, in push_state()
842 int, s->yaml_depth + 1); in push_state()
845 s->yaml_indent = indent; in push_state()
847 s->yaml_size = s->yaml_depth + 1; in push_state()
850 s->yaml_state[s->yaml_depth] = state; in push_state()
851 s->yaml_depth++; in push_state()
859 static isl_stat pop_state(__isl_keep isl_stream *s) in pop_state() argument
861 if (!s) in pop_state()
863 if (s->yaml_depth < 1) in pop_state()
864 isl_die(isl_stream_get_ctx(s), isl_error_invalid, in pop_state()
867 s->yaml_depth--; in pop_state()
875 static int update_state(__isl_keep isl_stream *s, enum isl_yaml_state state) in update_state() argument
877 if (!s) in update_state()
879 if (s->yaml_depth < 1) in update_state()
880 isl_die(isl_stream_get_ctx(s), isl_error_invalid, in update_state()
883 s->yaml_state[s->yaml_depth - 1] = state; in update_state()
891 static enum isl_yaml_state current_state(__isl_keep isl_stream *s) in current_state() argument
893 if (!s) in current_state()
895 if (s->yaml_depth < 1) in current_state()
897 return s->yaml_state[s->yaml_depth - 1]; in current_state()
904 static isl_stat set_yaml_indent(__isl_keep isl_stream *s, int indent) in set_yaml_indent() argument
906 if (s->yaml_depth < 1) in set_yaml_indent()
907 isl_die(s->ctx, isl_error_internal, in set_yaml_indent()
910 s->yaml_indent[s->yaml_depth - 1] = indent; in set_yaml_indent()
918 static int get_yaml_indent(__isl_keep isl_stream *s) in get_yaml_indent() argument
920 if (s->yaml_depth < 1) in get_yaml_indent()
921 isl_die(s->ctx, isl_error_internal, in get_yaml_indent()
924 return s->yaml_indent[s->yaml_depth - 1]; in get_yaml_indent()
966 isl_bool isl_stream_yaml_next(__isl_keep isl_stream *s) in isl_stream_yaml_next() argument
972 state = current_state(s); in isl_stream_yaml_next()
974 isl_die(s->ctx, isl_error_invalid, in isl_stream_yaml_next()
978 if (get_yaml_indent(s) == ISL_YAML_INDENT_FLOW && in isl_stream_yaml_next()
979 isl_stream_next_token_is(s, '}')) in isl_stream_yaml_next()
981 if (update_state(s, isl_yaml_mapping_key) < 0) in isl_stream_yaml_next()
985 tok = isl_stream_next_token(s); in isl_stream_yaml_next()
987 if (s->eof) in isl_stream_yaml_next()
988 isl_stream_error(s, NULL, "unexpected EOF"); in isl_stream_yaml_next()
993 if (update_state(s, isl_yaml_mapping_val) < 0) in isl_stream_yaml_next()
997 isl_stream_error(s, tok, "expecting ':'"); in isl_stream_yaml_next()
998 isl_stream_push_token(s, tok); in isl_stream_yaml_next()
1001 if (get_yaml_indent(s) == ISL_YAML_INDENT_FLOW) { in isl_stream_yaml_next()
1002 if (!isl_stream_eat_if_available(s, ',')) in isl_stream_yaml_next()
1004 if (update_state(s, isl_yaml_mapping_key) < 0) in isl_stream_yaml_next()
1008 tok = isl_stream_next_token(s); in isl_stream_yaml_next()
1012 isl_stream_push_token(s, tok); in isl_stream_yaml_next()
1013 if (indent < get_yaml_indent(s)) in isl_stream_yaml_next()
1015 if (update_state(s, isl_yaml_mapping_key) < 0) in isl_stream_yaml_next()
1019 if (get_yaml_indent(s) == ISL_YAML_INDENT_FLOW) { in isl_stream_yaml_next()
1020 if (isl_stream_next_token_is(s, ']')) in isl_stream_yaml_next()
1022 if (update_state(s, isl_yaml_sequence) < 0) in isl_stream_yaml_next()
1026 tok = isl_stream_next_token(s); in isl_stream_yaml_next()
1028 if (s->eof) in isl_stream_yaml_next()
1029 isl_stream_error(s, NULL, "unexpected EOF"); in isl_stream_yaml_next()
1034 if (update_state(s, isl_yaml_sequence) < 0) in isl_stream_yaml_next()
1038 isl_stream_error(s, tok, "expecting '-'"); in isl_stream_yaml_next()
1039 isl_stream_push_token(s, tok); in isl_stream_yaml_next()
1042 if (get_yaml_indent(s) == ISL_YAML_INDENT_FLOW) in isl_stream_yaml_next()
1043 return isl_bool_ok(isl_stream_eat_if_available(s, ',')); in isl_stream_yaml_next()
1044 tok = isl_stream_next_token(s); in isl_stream_yaml_next()
1048 if (indent < get_yaml_indent(s) || tok->type != '-') { in isl_stream_yaml_next()
1049 isl_stream_push_token(s, tok); in isl_stream_yaml_next()
1055 isl_die(s->ctx, isl_error_internal, in isl_stream_yaml_next()
1070 isl_stat isl_stream_yaml_read_start_mapping(__isl_keep isl_stream *s) in isl_stream_yaml_read_start_mapping() argument
1075 if (push_state(s, isl_yaml_mapping_key_start) < 0) in isl_stream_yaml_read_start_mapping()
1078 tok = isl_stream_next_token(s); in isl_stream_yaml_read_start_mapping()
1080 if (s->eof) in isl_stream_yaml_read_start_mapping()
1081 isl_stream_error(s, NULL, "unexpected EOF"); in isl_stream_yaml_read_start_mapping()
1086 return set_yaml_indent(s, ISL_YAML_INDENT_FLOW); in isl_stream_yaml_read_start_mapping()
1089 isl_stream_push_token(s, tok); in isl_stream_yaml_read_start_mapping()
1091 return set_yaml_indent(s, indent); in isl_stream_yaml_read_start_mapping()
1102 isl_stat isl_stream_yaml_read_end_mapping(__isl_keep isl_stream *s) in isl_stream_yaml_read_end_mapping() argument
1107 if (get_yaml_indent(s) == ISL_YAML_INDENT_FLOW) { in isl_stream_yaml_read_end_mapping()
1108 if (isl_stream_eat(s, '}') < 0) in isl_stream_yaml_read_end_mapping()
1110 return pop_state(s); in isl_stream_yaml_read_end_mapping()
1113 tok = isl_stream_next_token(s); in isl_stream_yaml_read_end_mapping()
1115 return pop_state(s); in isl_stream_yaml_read_end_mapping()
1118 isl_stream_push_token(s, tok); in isl_stream_yaml_read_end_mapping()
1120 if (indent >= get_yaml_indent(s)) in isl_stream_yaml_read_end_mapping()
1121 isl_die(isl_stream_get_ctx(s), isl_error_invalid, in isl_stream_yaml_read_end_mapping()
1124 return pop_state(s); in isl_stream_yaml_read_end_mapping()
1139 isl_stat isl_stream_yaml_read_start_sequence(__isl_keep isl_stream *s) in isl_stream_yaml_read_start_sequence() argument
1144 if (push_state(s, isl_yaml_sequence_start) < 0) in isl_stream_yaml_read_start_sequence()
1147 tok = isl_stream_next_token(s); in isl_stream_yaml_read_start_sequence()
1149 if (s->eof) in isl_stream_yaml_read_start_sequence()
1150 isl_stream_error(s, NULL, "unexpected EOF"); in isl_stream_yaml_read_start_sequence()
1155 return set_yaml_indent(s, ISL_YAML_INDENT_FLOW); in isl_stream_yaml_read_start_sequence()
1158 isl_stream_push_token(s, tok); in isl_stream_yaml_read_start_sequence()
1160 return set_yaml_indent(s, indent); in isl_stream_yaml_read_start_sequence()
1172 isl_stat isl_stream_yaml_read_end_sequence(__isl_keep isl_stream *s) in isl_stream_yaml_read_end_sequence() argument
1178 if (get_yaml_indent(s) == ISL_YAML_INDENT_FLOW) { in isl_stream_yaml_read_end_sequence()
1179 if (isl_stream_eat(s, ']') < 0) in isl_stream_yaml_read_end_sequence()
1181 return pop_state(s); in isl_stream_yaml_read_end_sequence()
1184 tok = isl_stream_next_token(s); in isl_stream_yaml_read_end_sequence()
1186 return pop_state(s); in isl_stream_yaml_read_end_sequence()
1190 isl_stream_push_token(s, tok); in isl_stream_yaml_read_end_sequence()
1192 if (indent >= get_yaml_indent(s) && dash) in isl_stream_yaml_read_end_sequence()
1193 isl_die(isl_stream_get_ctx(s), isl_error_invalid, in isl_stream_yaml_read_end_sequence()
1196 return pop_state(s); in isl_stream_yaml_read_end_sequence()