diff --git a/ComputingTasks.cc b/ComputingTasks.cc
index a7cd3c7050b7a4d00e9087b12aaa75f8aacdce8a..61edad6abcddd989c811f8737583fab7f0d3119e 100644
--- a/ComputingTasks.cc
+++ b/ComputingTasks.cc
@@ -780,10 +780,9 @@ OptimWeightsStatement::writeOutput(ostream &output, const string &basename) cons
 }
 
 DynaSaveStatement::DynaSaveStatement(const SymbolList &symbol_list_arg,
-                                     const string &filename_arg, const string &ext_arg) :
+                                     const string &filename_arg) :
   symbol_list(symbol_list_arg),
-  filename(filename_arg),
-  ext(ext_arg)
+  filename(filename_arg)
 {
 }
 
@@ -791,17 +790,14 @@ void
 DynaSaveStatement::writeOutput(ostream &output, const string &basename) const
 {
   symbol_list.writeOutput("var_list_", output);
-  output << "dynasave('" << filename;
-  if (ext.size() > 0)
-    output << "," << ext;
-  output << "',var_list_);\n";
+  output << "dynasave('" << filename
+         << "',var_list_);" << endl;
 }
 
 DynaTypeStatement::DynaTypeStatement(const SymbolList &symbol_list_arg,
-                                     const string &filename_arg, const string &ext_arg) :
+                                     const string &filename_arg) :
   symbol_list(symbol_list_arg),
-  filename(filename_arg),
-  ext(ext_arg)
+  filename(filename_arg)
 {
 }
 
@@ -809,10 +805,8 @@ void
 DynaTypeStatement::writeOutput(ostream &output, const string &basename) const
 {
   symbol_list.writeOutput("var_list_", output);
-  output << "dynatype(" << filename;
-  if (ext.size() > 0)
-    output << "," << ext;
-  output << ",var_list_);\n";
+  output << "dynatype('" << filename
+         << "',var_list_);" << endl;
 }
 
 ModelComparisonStatement::ModelComparisonStatement(const filename_list_type &filename_list_arg,
diff --git a/DynareBison.yy b/DynareBison.yy
index fe3ec9a813b0d371256f0b529bff7ea30d8f8693..89fcf57d071fb6122b786de414af67a4ac255ada 100644
--- a/DynareBison.yy
+++ b/DynareBison.yy
@@ -373,7 +373,7 @@ comma_expression : expression
 initval : INITVAL ';' initval_list END
           { driver.end_initval(); }
 
-initval_file : INITVAL_FILE '(' FILENAME EQUAL NAME ')' ';'
+initval_file : INITVAL_FILE '(' FILENAME EQUAL filename ')' ';'
                { driver.initval_file($5); }
              ;
 
@@ -1091,32 +1091,16 @@ calib : CALIB ';'
         { driver.run_calib(1); }
       ;
 
-dynatype : DYNATYPE '(' NAME ')'';'
+dynatype : DYNATYPE '(' filename ')'';'
            { driver.run_dynatype($3); }
-         | DYNATYPE '(' NAME ')' symbol_list ';'
+         | DYNATYPE '(' filename ')' symbol_list ';'
            { driver.run_dynatype($3); }
-         | DYNATYPE NAME ';'
-           { driver.run_dynatype($2); }
-         | DYNATYPE '(' NAME '.' NAME ')'';'
-           { driver.run_dynatype($3, $5); }
-         | DYNATYPE '(' NAME '.' NAME ')' symbol_list ';'
-           { driver.run_dynatype($3, $5); }
-         | DYNATYPE NAME '.' NAME ';'
-           { driver.run_dynatype($2,$4); }
          ;
 
-dynasave : DYNASAVE '(' NAME ')'';'
+dynasave : DYNASAVE '(' filename ')'';'
            { driver.run_dynasave($3); }
-         | DYNASAVE '(' NAME ')' symbol_list ';'
+         | DYNASAVE '(' filename ')' symbol_list ';'
            { driver.run_dynasave($3); }
-         | DYNASAVE NAME ';'
-           { driver.run_dynasave($2); }
-         | DYNASAVE '(' NAME '.' NAME ')'';'
-           { driver.run_dynasave($3, $5); }
-         | DYNASAVE '(' NAME '.' NAME ')' symbol_list ';'
-           { driver.run_dynasave($3, $5); }
-         | DYNASAVE NAME '.' NAME ';'
-           { driver.run_dynasave($2, $4); }
          ;
 
 model_comparison : MODEL_COMPARISON mc_filename_list ';'
@@ -1323,7 +1307,7 @@ o_markowitz : MARKOWITZ EQUAL number { driver.option_num("markowitz", $3); };
 o_simul : SIMUL { driver.option_num("simul", "1"); };
 o_simul_seed : SIMUL_SEED EQUAL INT_NUMBER { driver.option_num("simul_seed", $3)} ;
 o_qz_criterium : QZ_CRITERIUM EQUAL number { driver.option_num("qz_criterium", $3) };
-o_datafile : DATAFILE EQUAL NAME { driver.option_str("datafile", $3); };
+o_datafile : DATAFILE EQUAL filename { driver.option_str("datafile", $3); };
 o_nobs : NOBS EQUAL vec_int
          { driver.option_num("nobs", $3); }
        | NOBS EQUAL INT_NUMBER
diff --git a/ParsingDriver.cc b/ParsingDriver.cc
index ae63f37eb39f600dfe746724e6e18232efe2ca99..a6afab0a86215b54a860f6b12ffacedeb1e33234 100644
--- a/ParsingDriver.cc
+++ b/ParsingDriver.cc
@@ -1004,21 +1004,19 @@ ParsingDriver::run_calib(int covar)
 }
 
 void
-ParsingDriver::run_dynatype(string *filename, string *ext)
+ParsingDriver::run_dynatype(string *filename)
 {
-  mod_file->addStatement(new DynaTypeStatement(symbol_list, *filename, *ext));
+  mod_file->addStatement(new DynaTypeStatement(symbol_list, *filename));
   symbol_list.clear();
   delete filename;
-  delete ext;
 }
 
 void
-ParsingDriver::run_dynasave(string *filename, string *ext)
+ParsingDriver::run_dynasave(string *filename)
 {
-  mod_file->addStatement(new DynaSaveStatement(symbol_list, *filename, *ext));
+  mod_file->addStatement(new DynaSaveStatement(symbol_list, *filename));
   symbol_list.clear();
   delete filename;
-  delete ext;
 }
 
 void
diff --git a/include/ComputingTasks.hh b/include/ComputingTasks.hh
index 46827eee22688382cab212ed6b5a060d055b8ae0..eaa5703b4b7fe62d955be5ab82b6799d7a424837 100644
--- a/include/ComputingTasks.hh
+++ b/include/ComputingTasks.hh
@@ -270,10 +270,9 @@ class DynaTypeStatement : public Statement
 private:
   const SymbolList symbol_list;
   const string filename;
-  const string ext;
 public:
   DynaTypeStatement(const SymbolList &symbol_list_arg,
-                    const string &filename_arg, const string &ext_arg);
+                    const string &filename_arg);
   virtual void writeOutput(ostream &output, const string &basename) const;
 };
 
@@ -282,10 +281,9 @@ class DynaSaveStatement : public Statement
 private:
   const SymbolList symbol_list;
   const string filename;
-  const string ext;
 public:
   DynaSaveStatement(const SymbolList &symbol_list_arg,
-                    const string &filename_arg, const string &ext_arg);
+                    const string &filename_arg);
   virtual void writeOutput(ostream &output, const string &basename) const;
 };
 
diff --git a/include/ParsingDriver.hh b/include/ParsingDriver.hh
index 68b1db1eef51fa4aacd0b368be25a7b589522d53..a4000579bf96492d58c5c4f8cf08e26c0402efba 100644
--- a/include/ParsingDriver.hh
+++ b/include/ParsingDriver.hh
@@ -322,8 +322,8 @@ public:
   void set_calib_covar(string *name1, string *name2, string *weight, NodeID expression);
   void set_calib_ac(string *name, string *ar, string *weight, NodeID expression);
   void run_calib(int covar);
-  void run_dynasave(string *arg1, string *arg2 = new string);
-  void run_dynatype(string *arg1, string *arg2 = new string);
+  void run_dynasave(string *filename);
+  void run_dynatype(string *filename);
   void add_mc_filename(string *filename, string *prior = new string("1"));
   void run_model_comparison();
   //! Begin a planner_objective statement