trunk preprocessor: no longer impose that extension be .dyn or .mod
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2360 ac1d8469-bf42-47a9-8791-bf33cf982152issue#70
parent
9a41848919
commit
b5f2d0d763
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2003-2008 Dynare Team
|
* Copyright (C) 2003-2009 Dynare Team
|
||||||
*
|
*
|
||||||
* This file is part of Dynare.
|
* This file is part of Dynare.
|
||||||
*
|
*
|
||||||
|
@ -23,9 +23,8 @@ using namespace std;
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
|
|
||||||
|
#include <cstdlib>
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
#include <cctype> // for tolower()
|
|
||||||
#include <algorithm> // for transform()
|
|
||||||
|
|
||||||
#include "macro/MacroDriver.hh"
|
#include "macro/MacroDriver.hh"
|
||||||
|
|
||||||
|
@ -92,16 +91,11 @@ main(int argc, char** argv)
|
||||||
cout << "Starting Dynare ..." << endl
|
cout << "Starting Dynare ..." << endl
|
||||||
<< "Starting preprocessing of the model file ..." << endl;
|
<< "Starting preprocessing of the model file ..." << endl;
|
||||||
|
|
||||||
// Construct basename (check file extension is correct then remove it)
|
// Construct basename (i.e. remove file extension if there is one)
|
||||||
string basename = argv[1];
|
string basename = argv[1];
|
||||||
string ext = basename.substr(basename.size() - 4);
|
size_t pos = basename.find_last_of('.');
|
||||||
transform(ext.begin(), ext.end(), ext.begin(), (int(*)(int)) tolower); // Convert ext to lowercase
|
if (pos != string::npos)
|
||||||
if (ext != string(".mod") && ext != string(".dyn"))
|
basename.erase(pos);
|
||||||
{
|
|
||||||
cerr << "mod_file extension must be .mod or .dyn!" << endl;
|
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
|
||||||
basename.erase(basename.size() - 4, 4);
|
|
||||||
|
|
||||||
// Do macro processing
|
// Do macro processing
|
||||||
MacroDriver m;
|
MacroDriver m;
|
||||||
|
|
Loading…
Reference in New Issue