From 0f397f40afd096b062010a374464aae1567ef623 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= Date: Thu, 14 Dec 2023 18:37:10 +0100 Subject: [PATCH] =?UTF-8?q?Rename=20=E2=80=9Cdynare=5Fsensitivity=E2=80=9D?= =?UTF-8?q?=20command=20to=20=E2=80=9Csensitivity=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The old name is still accepted, but will trigger a deprecation warning. --- src/ComputingTasks.cc | 14 ++--- src/ComputingTasks.hh | 4 +- src/DynareBison.yy | 138 ++++++++++++++++++++++-------------------- src/DynareFlex.ll | 3 +- src/ParsingDriver.cc | 4 +- src/ParsingDriver.hh | 4 +- 6 files changed, 89 insertions(+), 78 deletions(-) diff --git a/src/ComputingTasks.cc b/src/ComputingTasks.cc index 3939be61..9233aeb0 100644 --- a/src/ComputingTasks.cc +++ b/src/ComputingTasks.cc @@ -1070,14 +1070,14 @@ EstimationStatement::writeJsonOutput(ostream& output) const output << "}"; } -DynareSensitivityStatement::DynareSensitivityStatement(OptionsList options_list_arg) : +SensitivityStatement::SensitivityStatement(OptionsList options_list_arg) : options_list {move(options_list_arg)} { } void -DynareSensitivityStatement::checkPass(ModFileStructure& mod_file_struct, - [[maybe_unused]] WarningConsolidation& warnings) +SensitivityStatement::checkPass(ModFileStructure& mod_file_struct, + [[maybe_unused]] WarningConsolidation& warnings) { if (auto opt = options_list.get_if("identification"); opt && *opt == "1") { @@ -1089,8 +1089,8 @@ DynareSensitivityStatement::checkPass(ModFileStructure& mod_file_struct, } void -DynareSensitivityStatement::writeOutput(ostream& output, [[maybe_unused]] const string& basename, - [[maybe_unused]] bool minimal_workspace) const +SensitivityStatement::writeOutput(ostream& output, [[maybe_unused]] const string& basename, + [[maybe_unused]] bool minimal_workspace) const { options_list.writeOutput(output, "options_gsa"); @@ -1110,9 +1110,9 @@ DynareSensitivityStatement::writeOutput(ostream& output, [[maybe_unused]] const } void -DynareSensitivityStatement::writeJsonOutput(ostream& output) const +SensitivityStatement::writeJsonOutput(ostream& output) const { - output << R"({"statementName": "dynare_sensitivity")"; + output << R"({"statementName": "sensitivity")"; if (!options_list.empty()) { output << ", "; diff --git a/src/ComputingTasks.hh b/src/ComputingTasks.hh index e9d5c88e..24aadf9a 100644 --- a/src/ComputingTasks.hh +++ b/src/ComputingTasks.hh @@ -334,13 +334,13 @@ public: void writeJsonOutput(ostream& output) const override; }; -class DynareSensitivityStatement : public Statement +class SensitivityStatement : public Statement { private: const OptionsList options_list; public: - explicit DynareSensitivityStatement(OptionsList options_list_arg); + explicit SensitivityStatement(OptionsList options_list_arg); void checkPass(ModFileStructure& mod_file_struct, WarningConsolidation& warnings) override; void writeOutput(ostream& output, const string& basename, bool minimal_workspace) const override; void writeJsonOutput(ostream& output) const override; diff --git a/src/DynareBison.yy b/src/DynareBison.yy index f7fd5b3c..8e0072c4 100644 --- a/src/DynareBison.yy +++ b/src/DynareBison.yy @@ -161,7 +161,7 @@ str_tolower(string s) %token EXP LOG LN LOG10 SIN COS TAN ASIN ACOS ATAN SINH COSH TANH ASINH ACOSH ATANH ERF ERFC DIFF ADL AUXILIARY_MODEL_NAME %token SQRT CBRT NORMCDF NORMPDF STEADY_STATE EXPECTATION /* GSA analysis */ -%token DYNARE_SENSITIVITY MORRIS STAB REDFORM PPRIOR PRIOR_RANGE PPOST ILPTAU MORRIS_NLIV +%token SENSITIVITY DYNARE_SENSITIVITY MORRIS STAB REDFORM PPRIOR PRIOR_RANGE PPOST ILPTAU MORRIS_NLIV %token MORRIS_NTRA NSAM LOAD_REDFORM LOAD_RMSE LOAD_STAB ALPHA2_STAB LOGTRANS_REDFORM THRESHOLD_REDFORM %token KSSTAT_REDFORM ALPHA2_REDFORM NAMENDO NAMLAGENDO NAMEXO RMSE LIK_ONLY VAR_RMSE PFILT_RMSE ISTART_RMSE %token ALPHA_RMSE ALPHA2_RMSE @@ -326,7 +326,7 @@ statement : parameters | bvar_forecast | bvar_irf | sbvar - | dynare_sensitivity + | sensitivity | homotopy_setup | forecast | load_params_and_steady_state @@ -3119,70 +3119,80 @@ ms_estimation : MS_ESTIMATION ';' { driver.ms_estimation(); } ; -dynare_sensitivity : DYNARE_SENSITIVITY ';' - { driver.dynare_sensitivity(); } - | DYNARE_SENSITIVITY '(' dynare_sensitivity_options_list ')' ';' - { driver.dynare_sensitivity(); } +sensitivity : SENSITIVITY ';' + { driver.sensitivity(); } + | SENSITIVITY '(' sensitivity_options_list ')' ';' + { driver.sensitivity(); } + | DYNARE_SENSITIVITY ';' + { + driver.warning("The 'dynare_sensitivity' command is deprecated. It has been renamed 'sensitivity'."); + driver.sensitivity(); + } + | DYNARE_SENSITIVITY '(' sensitivity_options_list ')' ';' + { + driver.warning("The 'dynare_sensitivity' command is deprecated. It has been renamed 'sensitivity'."); + driver.sensitivity(); + } + ; + +sensitivity_options_list : sensitivity_option COMMA sensitivity_options_list + | sensitivity_option + ; + +sensitivity_option : o_gsa_identification + | o_gsa_morris + | o_gsa_stab + | o_gsa_redform + | o_gsa_pprior + | o_gsa_prior_range + | o_gsa_ppost + | o_gsa_ilptau + | o_gsa_morris_nliv + | o_gsa_morris_ntra + | o_gsa_nsam + | o_gsa_load_redform + | o_gsa_load_rmse + | o_gsa_load_stab + | o_gsa_alpha2_stab + | o_gsa_logtrans_redform + | o_gsa_ksstat_redform + | o_gsa_alpha2_redform + | o_gsa_rmse + | o_gsa_lik_only + | o_gsa_pfilt_rmse + | o_gsa_istart_rmse + | o_gsa_alpha_rmse + | o_gsa_alpha2_rmse + | o_gsa_threshold_redform + | o_gsa_namendo + | o_gsa_namexo + | o_gsa_namlagendo + | o_gsa_var_rmse + | o_gsa_neighborhood_width + | o_gsa_pvalue_ks + | o_gsa_pvalue_corr + | o_datafile + | o_nobs + | o_first_obs + | o_prefilter + | o_presample + | o_nograph + | o_nodisplay + | o_graph_format + | o_forecasts_conf_sig + | o_mh_conf_sig + | o_loglinear + | o_mode_file + | o_load_ident_files + | o_useautocorr + | o_ar + | o_kalman_algo + | o_lik_init + | o_diffuse_filter + | o_analytic_derivation + | o_analytic_derivation_mode ; -dynare_sensitivity_options_list : dynare_sensitivity_option COMMA dynare_sensitivity_options_list - | dynare_sensitivity_option - ; - -dynare_sensitivity_option : o_gsa_identification - | o_gsa_morris - | o_gsa_stab - | o_gsa_redform - | o_gsa_pprior - | o_gsa_prior_range - | o_gsa_ppost - | o_gsa_ilptau - | o_gsa_morris_nliv - | o_gsa_morris_ntra - | o_gsa_nsam - | o_gsa_load_redform - | o_gsa_load_rmse - | o_gsa_load_stab - | o_gsa_alpha2_stab - | o_gsa_logtrans_redform - | o_gsa_ksstat_redform - | o_gsa_alpha2_redform - | o_gsa_rmse - | o_gsa_lik_only - | o_gsa_pfilt_rmse - | o_gsa_istart_rmse - | o_gsa_alpha_rmse - | o_gsa_alpha2_rmse - | o_gsa_threshold_redform - | o_gsa_namendo - | o_gsa_namexo - | o_gsa_namlagendo - | o_gsa_var_rmse - | o_gsa_neighborhood_width - | o_gsa_pvalue_ks - | o_gsa_pvalue_corr - | o_datafile - | o_nobs - | o_first_obs - | o_prefilter - | o_presample - | o_nograph - | o_nodisplay - | o_graph_format - | o_forecasts_conf_sig - | o_mh_conf_sig - | o_loglinear - | o_mode_file - | o_load_ident_files - | o_useautocorr - | o_ar - | o_kalman_algo - | o_lik_init - | o_diffuse_filter - | o_analytic_derivation - | o_analytic_derivation_mode - ; - shock_decomposition_options_list : shock_decomposition_option COMMA shock_decomposition_options_list | shock_decomposition_option ; diff --git a/src/DynareFlex.ll b/src/DynareFlex.ll index 2544514e..f38277a0 100644 --- a/src/DynareFlex.ll +++ b/src/DynareFlex.ll @@ -155,7 +155,8 @@ DATE -?[0-9]+([ya]|m([1-9]|1[0-2])|q[1-4]) bvar_density {BEGIN DYNARE_STATEMENT; return token::BVAR_DENSITY; } bvar_forecast {BEGIN DYNARE_STATEMENT; return token::BVAR_FORECAST; } bvar_irf {BEGIN DYNARE_STATEMENT; return token::BVAR_IRF; } -dynare_sensitivity {BEGIN DYNARE_STATEMENT; return token::DYNARE_SENSITIVITY;} +sensitivity {BEGIN DYNARE_STATEMENT; return token::SENSITIVITY;} +dynare_sensitivity {BEGIN DYNARE_STATEMENT; return token::DYNARE_SENSITIVITY;} // Deprecated initval_file {BEGIN DYNARE_STATEMENT; return token::INITVAL_FILE;} histval_file {BEGIN DYNARE_STATEMENT; return token::HISTVAL_FILE;} forecast {BEGIN DYNARE_STATEMENT; return token::FORECAST;} diff --git a/src/ParsingDriver.cc b/src/ParsingDriver.cc index 8af7f2ea..67cf5557 100644 --- a/src/ParsingDriver.cc +++ b/src/ParsingDriver.cc @@ -2024,9 +2024,9 @@ ParsingDriver::run_estimation(vector symbol_list) } void -ParsingDriver::dynare_sensitivity() +ParsingDriver::sensitivity() { - mod_file->addStatement(make_unique(move(options_list))); + mod_file->addStatement(make_unique(move(options_list))); options_list.clear(); } diff --git a/src/ParsingDriver.hh b/src/ParsingDriver.hh index 78340582..be31e57d 100644 --- a/src/ParsingDriver.hh +++ b/src/ParsingDriver.hh @@ -592,8 +592,8 @@ public: void set_corr_options(string name1, string name2, string subsample_name); //! Runs estimation process void run_estimation(vector symbol_list); - //! Runs dynare_sensitivy() - void dynare_sensitivity(); + //! Runs sensitivity + void sensitivity(); //! Check that no observed variable has yet be defined void check_varobs(); //! Add a new observed variable