From f17b517e56503600355de910ce576efab56b1287 Mon Sep 17 00:00:00 2001 From: Daniel Weipert Date: Tue, 6 Dec 2022 13:34:33 +0100 Subject: Tried to create an AST --- lex.l | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'lex.l') diff --git a/lex.l b/lex.l index 2f79474..64c3765 100644 --- a/lex.l +++ b/lex.l @@ -1,4 +1,5 @@ %{ +#include "ast.h" #include "grammar.tab.h" %} @@ -14,6 +15,10 @@ "const" { return CONST; } "var" { return VAR; } +"integer" { return TYPE_INTEGER; } +"string" { return TYPE_STRING; } +"void" { return TYPE_VOID; } + "(" { return PARENTHESIS_LEFT; } ")" { return PARENTHESIS_RIGHT; } "{" { return BRACE_LEFT; } @@ -22,9 +27,10 @@ "]" { return BRACKET_RIGHT; } "," { return COMMA; } +":" { return COLON; } -[0-9]+ { yylval = atoi(yytext); return NUMBER; } -[a-zA-Z]+[a-zA-Z0-9]* { return IDENTIFIER; } +[a-zA-Z][a-zA-Z0-9]* { yylval.string = yytext; return IDENTIFIER; } +[0-9]+ { yylval.number = atoi(yytext); return NUMBER; } "//".* { return COMMENT; } \n { return END_OF_LINE; } -- cgit v1.2.3