aboutsummaryrefslogtreecommitdiff
path: root/boot/lexer.ll
diff options
context:
space:
mode:
Diffstat (limited to 'boot/lexer.ll')
-rw-r--r--boot/lexer.ll15
1 files changed, 14 insertions, 1 deletions
diff --git a/boot/lexer.ll b/boot/lexer.ll
index e8dde7c..89eb4ed 100644
--- a/boot/lexer.ll
+++ b/boot/lexer.ll
@@ -55,6 +55,10 @@ EXPONENT [eE][+-]?[[:digit:]]+
%%
%{
+ if (driver.finished)
+ {
+ return yy::parser::make_YYEOF(this->location);
+ }
this->location.step();
%}
@@ -65,8 +69,17 @@ EXPONENT [eE][+-]?[[:digit:]]+
\n+ {
this->location.step();
}
+ <<EOF>> {
+ driver.add_error<syntax_error>("Unterminated comment", this->comment_start);
+ BEGIN(INITIAL);
+
+ return yy::parser::make_YYEOF(this->location);
+ }
+}
+\(\* {
+ this->comment_start = this->location;
+ BEGIN(IN_COMMENT);
}
-\(\* BEGIN(IN_COMMENT);
[ \t\r] {
this->location.step();
}