diff --git a/src/ComputingTasks.cc b/src/ComputingTasks.cc index 74918eebd50981816f6850e31c3de6417461ed26..162d28fe4005e07996fb16519348cc0aa0c0588e 100644 --- a/src/ComputingTasks.cc +++ b/src/ComputingTasks.cc @@ -113,8 +113,8 @@ ModelInfoStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsolid void ModelInfoStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const { - options_list.writeOutput(output); - output << "model_info();" << endl; + options_list.writeOutput(output, "options_model_info_"); + output << "model_info(options_model_info_);" << endl; } void diff --git a/src/DynareBison.yy b/src/DynareBison.yy index 1da8d499ab145f9b39a99ce369918599bad280fe..71de02c9eb0ac565ce97276980f1601de1a8de40 100644 --- a/src/DynareBison.yy +++ b/src/DynareBison.yy @@ -1,6 +1,6 @@ // -*- C++ -*- /* - * Copyright © 2003-2021 Dynare Team + * Copyright © 2003-2022 Dynare Team * * This file is part of Dynare. * @@ -184,6 +184,7 @@ class ParsingDriver; %token NO_IDENTIFICATION_MINIMAL NO_IDENTIFICATION_SPECTRUM NORMALIZE_JACOBIANS GRID_NBR %token TOL_RANK TOL_DERIV TOL_SV CHECKS_VIA_SUBSETS MAX_DIM_SUBSETS_GROUPS ZERO_MOMENTS_TOLERANCE %token MAX_NROWS SQUEEZE_SHOCK_DECOMPOSITION WITH_EPILOGUE +%token STATIC INCIDENCE %token <vector<string>> SYMBOL_VEC @@ -1366,7 +1367,10 @@ model_info : MODEL_INFO ';' model_info_options_list : model_info_options_list COMMA model_info_options | model_info_options ; -model_info_options : %empty + +model_info_options : o_static + | o_incidence + ; perfect_foresight_setup : PERFECT_FORESIGHT_SETUP ';' { driver.perfect_foresight_setup(); } @@ -4033,6 +4037,8 @@ o_tol_sv : TOL_SV EQUAL non_negative_number { driver.option_num("tol_sv", $3); } o_checks_via_subsets : CHECKS_VIA_SUBSETS EQUAL INT_NUMBER { driver.option_num("checks_via_subsets", $3); }; o_max_dim_subsets_groups : MAX_DIM_SUBSETS_GROUPS EQUAL INT_NUMBER { driver.option_num("max_dim_subsets_groups", $3); }; o_zero_moments_tolerance : ZERO_MOMENTS_TOLERANCE EQUAL non_negative_number { driver.option_num("zero_moments_tolerance", $3); }; +o_static : STATIC { driver.option_num("static","true"); }; +o_incidence : INCIDENCE { driver.option_num("incidence","true"); }; // Some options to "occbin_solver" diff --git a/src/DynareFlex.ll b/src/DynareFlex.ll index 5fbd674189ff00b957ab972cf27db61ddfa13c27..a206a4018bf74e9e4f9aac17d8f4f1374b3021bc 100644 --- a/src/DynareFlex.ll +++ b/src/DynareFlex.ll @@ -846,6 +846,8 @@ DATE -?[0-9]+([ya]|m([1-9]|1[0-2])|q[1-4]) <DYNARE_STATEMENT>no_homotopy {return token::NO_HOMOTOPY;} <DYNARE_STATEMENT>particle_filter_options {return token::PARTICLE_FILTER_OPTIONS;} <DYNARE_STATEMENT>terminal_steady_state_as_guess_value {return token::TERMINAL_STEADY_STATE_AS_GUESS_VALUE;} +<DYNARE_STATEMENT>static { return token::STATIC; } +<DYNARE_STATEMENT>incidence { return token::INCIDENCE; } <DYNARE_BLOCK>stderr_multiples {return token::STDERR_MULTIPLES;} <DYNARE_BLOCK>diagonal_only {return token::DIAGONAL_ONLY;}