diff options
Diffstat (limited to 'lib/forlanlex.l')
-rw-r--r-- | lib/forlanlex.l | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/lib/forlanlex.l b/lib/forlanlex.l index db893df..62265cb 100644 --- a/lib/forlanlex.l +++ b/lib/forlanlex.l @@ -1,6 +1,6 @@ %{ /* This file is part of Eclat. - Copyright (C) 2012-2015 Sergey Poznyakoff. + Copyright (C) 2012-2018 Sergey Poznyakoff. Eclat is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,7 +19,7 @@ #include <sysexits.h> #include <ctype.h> #include <grecs.h> -#include <grecs-locus.h> +#include <grecs/locus.h> #include "forlangrm.h" #include "forlan.h" @@ -100,15 +100,18 @@ continue return CONTINUE; \"[^\\"\n]*\\\n { BEGIN(STR); grecs_line_begin(); grecs_line_acc_grow_unescape_last(yytext + 1, - yyleng - 1); + yyleng - 1, + &yylloc); grecs_locus_point_advance_line(grecs_current_locus_point); } \"[^\\"\n]*\\. { BEGIN(STR); grecs_line_begin(); grecs_line_acc_grow_unescape_last(yytext + 1, - yyleng - 1); } -<STR>\"[^\\"\n]*\\\n { grecs_line_acc_grow_unescape_last(yytext, yyleng); + yyleng - 1, + &yylloc); } +<STR>\"[^\\"\n]*\\\n { grecs_line_acc_grow_unescape_last(yytext, yyleng, + &yylloc); grecs_locus_point_advance_line(grecs_current_locus_point); } -<STR>[^\\"\n]*\\. { grecs_line_acc_grow_unescape_last(yytext, yyleng); } +<STR>[^\\"\n]*\\. { grecs_line_acc_grow_unescape_last(yytext, yyleng, &yylloc); } <STR>[^\\"\n]*\" { BEGIN(INITIAL); if (yyleng > 1) grecs_line_add(yytext, yyleng - 1); |