From 78bdd279d90ace6e53a853a898f4819327e82743 Mon Sep 17 00:00:00 2001 From: c Date: Thu, 8 Feb 2024 19:41:27 -0500 Subject: Fixed broken test. Calls and their arguments are now parsed correctly. --- src/parser.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/parser.c') diff --git a/src/parser.c b/src/parser.c index ac08a16..731df78 100644 --- a/src/parser.c +++ b/src/parser.c @@ -100,10 +100,17 @@ tree_t* parser_parse_kwd(parser_t* parser) { call->data.call.target = parser->token->val; parser->token->val = NULL; - - if (parser_nxt_token_match(parser, TOKEN_TYPE_APPLY)) { + + /* Skip over keyword, check for arguments. */ + if ( + parser_nxt_token(parser) && + parser->token->type == TOKEN_TYPE_APPLY + ) { + /* Expect some arguments. */ + parser_nxt_token(parser); call->data.call.arg = parser_parse_carg(parser); } else { + /* There're no arguments. */ call->data.call.arg = NULL; } -- cgit v1.2.3