diff options
Diffstat (limited to 'boot/lexer.ll')
| -rw-r--r-- | boot/lexer.ll | 15 |
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(); } |
