From 1d69979eef57e313ca35b3610cfedf84ca39ae63 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Tue, 14 Jan 2020 10:25:37 +0100 Subject: bla --- src/parser.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/parser.c') diff --git a/src/parser.c b/src/parser.c index 5e07f0e..3f9c030 100644 --- a/src/parser.c +++ b/src/parser.c @@ -5,6 +5,8 @@ typedef struct { TslTokenizer tokenizer; } TslParser; +static int tsl_parser_parse_rhs(TslParser *self); + static void tsl_parser_init(TslParser *self, const char *code, size_t code_size) { tsl_tokenizer_init(&self->tokenizer, code, code_size); } @@ -13,6 +15,8 @@ static int tsl_parser_parse_map(TslParser *self) { #define parse_map_element_separator \ if(!tsl_tokenizer_accept(&self->tokenizer, TSL_TOKEN_COLON)) \ return -1; \ + if(tsl_parser_parse_rhs(self) != 0) \ + return -1; \ token = tsl_tokenizer_next(&self->tokenizer); \ if(token == TSL_TOKEN_COMMA) { \ continue; \ @@ -85,7 +89,7 @@ static int tsl_parser_parse_list(TslParser *self) { } } -static int tsl_parser_parse_rhs(TslParser *self) { +int tsl_parser_parse_rhs(TslParser *self) { TslToken token = tsl_tokenizer_next(&self->tokenizer); if(token == TSL_TOKEN_NUM) { printf("rhs num: %ld\n", self->tokenizer.number_value); -- cgit v1.2.3