aboutsummaryrefslogtreecommitdiff
path: root/src/lexer.l
diff options
context:
space:
mode:
Diffstat (limited to 'src/lexer.l')
-rw-r--r--src/lexer.l83
1 files changed, 42 insertions, 41 deletions
diff --git a/src/lexer.l b/src/lexer.l
index 285cbf7..8a8c5b7 100644
--- a/src/lexer.l
+++ b/src/lexer.l
@@ -10,46 +10,47 @@ WHITESPACE [ \t\r\n]+
%%
-"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; }
-"procedure" { return T_PROC; }
-"begin" { return T_BEGIN; }
-
-"(" { return T_LPAREN; }
-")" { return T_RPAREN; }
-";" { return T_SEM; }
-"," { return T_COM; }
-":=" { 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); }
+\/\*([^*]|\*+[^*/])*\*+\/ { /* ignore comments */ }
+"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; }
+"procedure" { return T_PROC; }
+"begin" { return T_BEGIN; }
+
+"(" { return T_LPAREN; }
+")" { return T_RPAREN; }
+";" { return T_SEM; }
+"," { return T_COM; }
+":=" { 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} { /* ignore whitespace */ }
+. { fprintf(stderr, "Unknown char: %s\n", yytext); }
%%