diff --git a/src/DynareBison.yy b/src/DynareBison.yy index f977818b6feae5b0dd069bc23c7d7e1f2d98c772..8adb0f85e1ed8c2ae7060508704cf96cb94a1e45 100644 --- a/src/DynareBison.yy +++ b/src/DynareBison.yy @@ -187,6 +187,7 @@ class ParsingDriver; %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 MODEL_REMOVE MODEL_REPLACE MODEL_OPTIONS %token VAR_REMOVE ESTIMATED_PARAMS_REMOVE STATIC INCIDENCE RESID NON_ZERO LEARNT_IN PLUS_EQUAL TIMES_EQUAL +%token FSOLVE_OPTIONS %token <vector<string>> SYMBOL_VEC @@ -1401,6 +1402,7 @@ steady_options : o_solve_algo | o_nocheck | o_steady_tolf | o_steady_tolx + | o_fsolve_options ; check : CHECK ';' @@ -4078,6 +4080,7 @@ o_no_init_estimation_check_first_obs : NO_INIT_ESTIMATION_CHECK_FIRST_OBS { driv o_heteroskedastic_filter : HETEROSKEDASTIC_FILTER { driver.option_num("heteroskedastic_filter", "true"); }; o_pfwee_terminal_steady_state_as_guess_value : TERMINAL_STEADY_STATE_AS_GUESS_VALUE { driver.option_num("pfwee.terminal_steady_state_as_guess_value", "true"); }; o_pfwee_constant_simulation_length : CONSTANT_SIMULATION_LENGTH { driver.option_num("pfwee.constant_simulation_length", "true"); }; +o_fsolve_options : FSOLVE_OPTIONS EQUAL '(' name_value_pair_with_boolean_list ')' { driver.option_str("fsolve_options", $4); }; // Some options to "method_of_moments" o_bartlett_kernel_lag : BARTLETT_KERNEL_LAG EQUAL INT_NUMBER { driver.option_num("mom.bartlett_kernel_lag", $3); }; diff --git a/src/DynareFlex.ll b/src/DynareFlex.ll index 3b6688c73a1540989d4bae97bdc8296adddf7959..fa0907422a2f919880863e015d5b1c7649dcce58 100644 --- a/src/DynareFlex.ll +++ b/src/DynareFlex.ll @@ -451,6 +451,7 @@ DATE -?[0-9]+([ya]|m([1-9]|1[0-2])|q[1-4]) <DYNARE_STATEMENT>first_simulation_period {return token::FIRST_SIMULATION_PERIOD;} <DYNARE_STATEMENT>last_simulation_period {return token::LAST_SIMULATION_PERIOD;} <DYNARE_STATEMENT>no_init_estimation_check_first_obs {return token::NO_INIT_ESTIMATION_CHECK_FIRST_OBS;} +<DYNARE_STATEMENT>fsolve_options {return token::FSOLVE_OPTIONS;} <DYNARE_STATEMENT>alpha { yylval->build<string>(yytext);