From 25bda8af4161b276342e54692355c8b9babcf80b Mon Sep 17 00:00:00 2001 From: Matthias Kruk Date: Tue, 7 Jul 2020 22:07:20 +0900 Subject: [PATCH] parser: Add code to test primary-expression parsing --- src/main.c | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/src/main.c b/src/main.c index 3b2f0d6..9dfda3e 100644 --- a/src/main.c +++ b/src/main.c @@ -1,15 +1,45 @@ #include #include "lex.h" +#include "parser.h" #include "str.h" int main(int argc, char *argv[]) { + struct constant *c; + struct string *s; struct token *tok; + struct primary_expression *pexpr; + int pos; + + pos = lex_getpos(); while((tok = lex_gettoken())) { printf("Token at %4d:%3d: \"%s\" %d\n", tok->line, tok->column, str_value(tok->value), tok->type); - token_free(tok); + } + + lex_setpos(pos); + +#if 0 + c = parse_constant(); + + if(c) { + constant_debug(c); + } + + s = parse_string(); + + if(s) { + string_debug(s); + } +#endif + + pexpr = parse_primary_expression(); + + printf("pexpr = %p\n", pexpr); + + if(pexpr) { + primary_expression_debug(pexpr); } return(0); -- 2.47.3