Skip to content
Snippets Groups Projects
Commit 98168dab authored by Sébastien Villemot's avatar Sébastien Villemot
Browse files

MOD files ending with @#endif/@#endfor but no newline now work (closes #73)

parent 2984f61f
No related branches found
No related tags found
No related merge requests found
/* /*
* Copyright (C) 2008-2009 Dynare Team * Copyright (C) 2008-2010 Dynare Team
* *
* This file is part of Dynare. * This file is part of Dynare.
* *
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
#include <cstdlib> #include <cstdlib>
#include <iostream> #include <iostream>
#include <fstream> #include <fstream>
#include <sstream>
#include "MacroDriver.hh" #include "MacroDriver.hh"
...@@ -46,7 +47,15 @@ MacroDriver::parse(const string &f, ostream &out, bool debug, bool no_line_macro ...@@ -46,7 +47,15 @@ MacroDriver::parse(const string &f, ostream &out, bool debug, bool no_line_macro
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
lexer = new MacroFlex(&in, &out, no_line_macro); /*
Copy the file into a stringstream, and add an extra end-of-line. This is a
workaround for trac ticket #73: with this workaround, MOD files ending with
an @#endif or an @#endfor - but no newline - no longer trigger an error.
*/
stringstream file_with_endl;
file_with_endl << in.rdbuf() << endl;
lexer = new MacroFlex(&file_with_endl, &out, no_line_macro);
lexer->set_debug(debug); lexer->set_debug(debug);
Macro::parser parser(*this, out); Macro::parser parser(*this, out);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment