From 2bc99076cfa432c63d2f6a030cd50a580990898e Mon Sep 17 00:00:00 2001 From: "Wolfgang (Blub) Bumiller" Date: Fri, 23 Nov 2012 22:07:35 +0100 Subject: [PATCH] 'var' is now no keyword anymore, :\ --- lexer.c | 1 - parser.c | 8 +++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/lexer.c b/lexer.c index ced0133..2bf97e8 100644 --- a/lexer.c +++ b/lexer.c @@ -22,7 +22,6 @@ static size_t num_keywords_qc = sizeof(keywords_qc) / sizeof(keywords_qc[0]); /* For fte/gmgqcc */ static const char *keywords_fg[] = { - "var", "switch", "case", "default", "struct", "union", "break", "continue" diff --git a/parser.c b/parser.c index 627ed21..48227f5 100644 --- a/parser.c +++ b/parser.c @@ -3712,9 +3712,8 @@ static bool parser_global_statement(parser_t *parser) { return parse_variable(parser, NULL, false, false); } - else if (parser->tok == TOKEN_KEYWORD) + else if (parser->tok == TOKEN_IDENT && !strcmp(parser_tokval(parser), "var")) { - /* handle 'var' and 'const' */ if (!strcmp(parser_tokval(parser), "var")) { if (!parser_next(parser)) { parseerror(parser, "expected variable declaration after 'var'"); @@ -3722,7 +3721,10 @@ static bool parser_global_statement(parser_t *parser) } return parse_variable(parser, NULL, true, false); } - else if (!strcmp(parser_tokval(parser), "const")) { + } + else if (parser->tok == TOKEN_KEYWORD) + { + if (!strcmp(parser_tokval(parser), "const")) { if (!parser_next(parser)) { parseerror(parser, "expected variable declaration after 'const'"); return false; -- 2.39.2