diff --git a/src/macro/Parser.yy b/src/macro/Parser.yy index 92f6a04d27491b130da7aca2a1c69591e7b98a9a..bf029618f98e648062b391dc9190f7b157c6f2af 100644 --- a/src/macro/Parser.yy +++ b/src/macro/Parser.yy @@ -1,6 +1,6 @@ // -*- C++ -*- /* - * Copyright © 2019-2020 Dynare Team + * Copyright © 2019-2021 Dynare Team * * This file is part of Dynare. * @@ -89,7 +89,8 @@ using namespace macro; %precedence CAST %nonassoc POWER -%token <string> NAME TEXT QUOTED_STRING NUMBER EOL +%token EOL +%token <string> NAME TEXT QUOTED_STRING NUMBER %type <DirectivePtr> statement %type <DirectivePtr> directive directive_one_line directive_multiline for if ifdef ifndef text eval @@ -284,7 +285,7 @@ else : else_begin EOL text : TEXT { $$ = make_shared<TextNode>($1, @$); } | EOL - { $$ = make_shared<TextNode>($1, @$); } + { $$ = make_shared<TextNode>("\n", @$); } ; eval : BEGIN_EVAL expr END_EVAL diff --git a/src/macro/Tokenizer.ll b/src/macro/Tokenizer.ll index 439fcb12194d8102369b3df97b08f4d5651ab188..c72561e4ef30fb9001c39ea8426b1b64c1de39be 100644 --- a/src/macro/Tokenizer.ll +++ b/src/macro/Tokenizer.ll @@ -1,6 +1,6 @@ /* -*- C++ -*- */ /* - * Copyright © 2019 Dynare Team + * Copyright © 2019-2021 Dynare Team * * This file is part of Dynare. * @@ -180,7 +180,6 @@ CONT \\\\{SPC}* <expr,end_line>{CONT}("//".*)?{SPC}*{EOL} { yylloc->lines(1); yylloc->step(); } <expr,end_line>{SPC}*("//".*)?{EOL} { - yylval->build<string>("\n"); yylloc->lines(1); BEGIN(INITIAL); return token::EOL; @@ -188,8 +187,7 @@ CONT \\\\{SPC}* <INITIAL>^{SPC}*@#{SPC}* { BEGIN(directive); } <INITIAL>@\{ { BEGIN(eval); return token::BEGIN_EVAL; } -<INITIAL>{SPC}*{EOL} { - yylval->build<string>(yytext); +<INITIAL>{EOL} { yylloc->lines(1); return token::EOL; }