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 @@ | |||
1 | %{ | 1 | %{ |
2 | /* This file is part of Eclat. | 2 | /* This file is part of Eclat. |
3 | Copyright (C) 2012-2015 Sergey Poznyakoff. | 3 | Copyright (C) 2012-2018 Sergey Poznyakoff. |
4 | 4 | ||
5 | Eclat is free software; you can redistribute it and/or modify | 5 | Eclat is free software; you can redistribute it and/or modify |
6 | it under the terms of the GNU General Public License as published by | 6 | it under the terms of the GNU General Public License as published by |
@@ -19,7 +19,7 @@ | |||
19 | #include <sysexits.h> | 19 | #include <sysexits.h> |
20 | #include <ctype.h> | 20 | #include <ctype.h> |
21 | #include <grecs.h> | 21 | #include <grecs.h> |
22 | #include <grecs-locus.h> | 22 | #include <grecs/locus.h> |
23 | #include "forlangrm.h" | 23 | #include "forlangrm.h" |
24 | #include "forlan.h" | 24 | #include "forlan.h" |
25 | 25 | ||
@@ -100,15 +100,18 @@ continue return CONTINUE; | |||
100 | \"[^\\"\n]*\\\n { BEGIN(STR); | 100 | \"[^\\"\n]*\\\n { BEGIN(STR); |
101 | grecs_line_begin(); | 101 | grecs_line_begin(); |
102 | grecs_line_acc_grow_unescape_last(yytext + 1, | 102 | grecs_line_acc_grow_unescape_last(yytext + 1, |
103 | yyleng - 1); | 103 | yyleng - 1, |
104 | &yylloc); | ||
104 | grecs_locus_point_advance_line(grecs_current_locus_point); } | 105 | grecs_locus_point_advance_line(grecs_current_locus_point); } |
105 | \"[^\\"\n]*\\. { BEGIN(STR); | 106 | \"[^\\"\n]*\\. { BEGIN(STR); |
106 | grecs_line_begin(); | 107 | grecs_line_begin(); |
107 | grecs_line_acc_grow_unescape_last(yytext + 1, | 108 | grecs_line_acc_grow_unescape_last(yytext + 1, |
108 | yyleng - 1); } | 109 | yyleng - 1, |
109 | <STR>\"[^\\"\n]*\\\n { grecs_line_acc_grow_unescape_last(yytext, yyleng); | 110 | &yylloc); } |
111 | <STR>\"[^\\"\n]*\\\n { grecs_line_acc_grow_unescape_last(yytext, yyleng, | ||
112 | &yylloc); | ||
110 | grecs_locus_point_advance_line(grecs_current_locus_point); } | 113 | grecs_locus_point_advance_line(grecs_current_locus_point); } |
111 | <STR>[^\\"\n]*\\. { grecs_line_acc_grow_unescape_last(yytext, yyleng); } | 114 | <STR>[^\\"\n]*\\. { grecs_line_acc_grow_unescape_last(yytext, yyleng, &yylloc); } |
112 | <STR>[^\\"\n]*\" { BEGIN(INITIAL); | 115 | <STR>[^\\"\n]*\" { BEGIN(INITIAL); |
113 | if (yyleng > 1) | 116 | if (yyleng > 1) |
114 | grecs_line_add(yytext, yyleng - 1); | 117 | grecs_line_add(yytext, yyleng - 1); |