aboutsummaryrefslogtreecommitdiff
path: root/src/lexer.l
diff options
context:
space:
mode:
Diffstat (limited to 'src/lexer.l')
-rw-r--r--src/lexer.l67
1 files changed, 35 insertions, 32 deletions
diff --git a/src/lexer.l b/src/lexer.l
index 26ac229..b2cbaab 100644
--- a/src/lexer.l
+++ b/src/lexer.l
@@ -10,38 +10,41 @@ WHITESPACE [ \t\r\n]+
%%
-"skip" { return TOKEN_SKIP; }
-"if" { return TOKEN_IF; }
-"then" { return TOKEN_THEN; }
-"else" { return TOKEN_ELSE; }
-"end" { return TOKEN_END; }
-"while" { return TOKEN_WHILE; }
-"do" { return TOKEN_DO; }
-"var" { return TOKEN_VAR; }
-"in" { return TOKEN_IN; }
-
-"(" { return TOKEN_LEFT_PARENTHESIS; }
-")" { return TOKEN_RIGHT_PARENTHESIS; }
-";" { return TOKEN_SEMICOLON; }
-":=" { return TOKEN_ASSIGN; }
-
-"+" { return TOKEN_PLUS; }
-"-" { return TOKEN_MINUS; }
-"*" { return TOKEN_MULTIPLY; }
-
-"or" { return TOKEN_OR; }
-"and" { return TOKEN_AND; }
-"not" { return TOKEN_NOT; }
-
-"=" { return TOKEN_EQUALS; }
-"#" { return TOKEN_NOT_EQUALS; }
-"<=" { return TOKEN_LESS_EQUAL; }
-"<" { return TOKEN_LESS_THAN; }
-">=" { return TOKEN_GREATER_EQUAL; }
-">" { return TOKEN_GREATER_THAN; }
-
-{DIGIT}+ { yylval.num = atoi(yytext); return TOKEN_NUMERAL; }
-{IDENT} { yylval.id = strdup(yytext); return TOKEN_IDENTIFIER; }
+"skip" { return T_SKIP; }
+"if" { return T_IF; }
+"then" { return T_THEN; }
+"else" { return T_ELSE; }
+"end" { return T_END; }
+"while" { return T_WHILE; }
+"do" { return T_DO; }
+"var" { return T_VAR; }
+"in" { return T_IN; }
+
+"(" { return T_LPAREN; }
+")" { return T_RPAREN; }
+";" { return T_SEM; }
+":=" { return T_ASSIGN; }
+
+"+" { return T_PLUS; }
+"-" { return T_MINUS; }
+"*" { return T_STAR; }
+
+"or" { return T_OR; }
+"and" { return T_AND; }
+"not" { return T_NOT; }
+
+"=" { return T_EQ; }
+"#" { return T_NE; }
+"<=" { return T_LE; }
+"<" { return T_LT; }
+">=" { return T_GE; }
+">" { return T_GT; }
+
+"true" { return T_TRUE; }
+"false" { return T_FALSE; }
+
+{DIGIT}+ { yylval.num = atoi(yytext); return T_NUM; }
+{IDENT} { yylval.id = strdup(yytext); return T_ID; }
{WHITESPACE} { }
. { fprintf(stderr, "Unknown char: %s\n", yytext); }