summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkdx <kikoodx@paranoici.org>2023-06-17 07:15:23 +0200
committerkdx <kikoodx@paranoici.org>2023-06-17 07:15:23 +0200
commit1e3a3ba3c6b71c6d62c15920f2f57f36b07cc0c7 (patch)
treee2297898ddffcc7cb19b3405da17c56f194dbea6
parent5a144e00385fad7d6bbe07db6125dfd3a66a48a9 (diff)
downloadgolem-1e3a3ba3c6b71c6d62c15920f2f57f36b07cc0c7.tar.gz
expect ,
-rw-r--r--src/main.c16
1 files 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, ")");