From 1e3a3ba3c6b71c6d62c15920f2f57f36b07cc0c7 Mon Sep 17 00:00:00 2001 From: kdx Date: Sat, 17 Jun 2023 07:15:23 +0200 Subject: expect , --- src/main.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/main.c b/src/main.c index 3ace3c2..a28d2bc 100644 --- a/src/main.c +++ b/src/main.c @@ -462,8 +462,8 @@ function(Token **rest, Token *tok) while (tok->type == TOK_WORD) { cur = cur->next = new_word(tok); tok = tok->next; - if (equal(tok, ",")) - tok = tok->next; + if (!equal(tok, ")")) + tok = skip(tok, ","); } node->lhs->next = head.next; tok = skip(tok, ")"); @@ -516,8 +516,8 @@ global(Token **rest, Token *tok) cur->val = const_expr(expr(&tok, tok)); } - if (equal(tok, ",")) - tok = tok->next; + if (!equal(tok, ";")) + tok = skip(tok, ","); } *rest = skip(tok, ";"); @@ -542,8 +542,8 @@ local(Token **rest, Token *tok) cur->rhs = expr(&tok, tok); } - if (equal(tok, ",")) - tok = tok->next; + if (!equal(tok, ";")) + tok = skip(tok, ","); } *rest = skip(tok, ";"); @@ -693,8 +693,8 @@ fncall(Token **rest, Token *tok) tok = skip(tok, "("); while (tok->type != TOK_EOF && !equal(tok, ")")) { cur = cur->next = expr(&tok, tok); - if (equal(tok, ",")) - tok = tok->next; + if (!equal(tok, ")")) + tok = skip(tok, ","); } *rest = skip(tok, ")"); -- cgit v1.2.3