ps2/1: finish scanner

This commit is contained in:
2026-02-14 12:51:51 +01:00
parent c77ca89503
commit a426e25c17
+17 -2
View File
@@ -12,13 +12,15 @@
%option array
%option yylineno
WHITESPACE [ \t\v\r\n]
WHITESPACE [ \v\t\n\r]
COMMENT \/\/[^\n]+
QUOTED \"([^\"\n]|\\\")*\"
NUMERIC ^[0-9]+$
BINDING ^[a-zA-Z]+[a-zA-Z0-9_]*$
%%
{WHITESPACE}+ { /* Eliminate whitespace */ }
{COMMENT} { /* Eliminate comments */ }
{WHITESPACE}+ { /* Eliminate whitespace */ }
{QUOTED} { return STRING_TOKEN; }
/*
@@ -39,5 +41,18 @@ QUOTED \"([^\"\n]|\\\")*\"
*/
/* All other chars get returned as single char tokens */
{func} { return FUNC; }
{var} { return VAR; }
{return} { return RETURN; }
{print} { return PRINT; }
{println} { return PRINTLN; }
{if} { return IF; }
{else} { return ELSE; }
{while} { return WHILE; }
{break} { return BREAK; }
{and} { return AND; }
{or} { return OR; }
{NUMERIC} { return NUMBER_TOKEN; }
{BINDING} { return IDENTIFIER_TOKEN; }
. { return yytext[0]; }
%%