diff --git a/src/DynareBison.yy b/src/DynareBison.yy index dc952902afae04506f276ba535e3b92484385a37..3fd73546093826b4d57b93b4e809c53dc602141e 100644 --- a/src/DynareBison.yy +++ b/src/DynareBison.yy @@ -165,6 +165,9 @@ class ParsingDriver; %token CENTERED_MOMENTS AUTOLAG RECURSIVE_ORDER_ESTIMATION BARTLETT_KERNEL_LAG WEIGHTING_MATRIX PENALIZED_ESTIMATOR VERBOSE %token SIMULATION_MULTIPLE SEED BOUNDED_SHOCK_SUPPORT EQTAGS STEADY_STATE_GROWTH %token ANALYTICAL_GIRF IRF_IN_PERCENT EMAS_GIRF EMAS_DROP EMAS_TOLF EMAS_MAX_ITER +%token NO_IDENTIFICATION_STRENGTH NO_IDENTIFICATION_REDUCEDFORM NO_IDENTIFICATION_MOMENTS +%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 %token <vector<string>> SYMBOL_VEC @@ -2231,6 +2234,19 @@ identification_option : o_ar | o_prior_trunc | o_analytic_derivation | o_analytic_derivation_mode + | o_tex + | o_no_identification_strength + | o_no_identification_reducedform + | o_no_identification_moments + | o_no_identification_minimal + | o_no_identification_spectrum + | o_normalize_jacobians + | o_grid_nbr + | o_tol_rank + | o_tol_deriv + | o_tol_sv + | o_checks_via_subsets + | o_max_dim_subsets_groups ; model_comparison : MODEL_COMPARISON mc_filename_list ';' @@ -3718,6 +3734,20 @@ o_emas_drop : EMAS_DROP EQUAL INT_NUMBER { driver.option_num("irf_opt.EM.drop", o_emas_tolf : EMAS_TOLF EQUAL non_negative_number { driver.option_num("irf_opt.EM.tolf", $3); }; o_emas_max_iter : EMAS_MAX_ITER EQUAL INT_NUMBER { driver.option_num("irf_opt.EM.iter", $3); }; +// Some options to "identification" +o_no_identification_strength : NO_IDENTIFICATION_STRENGTH { driver.option_num("no_identification_strength", "true"); }; +o_no_identification_reducedform : NO_IDENTIFICATION_REDUCEDFORM { driver.option_num("no_identification_reducedform", "true"); }; +o_no_identification_moments : NO_IDENTIFICATION_MOMENTS { driver.option_num("no_identification_moments", "true"); }; +o_no_identification_minimal : NO_IDENTIFICATION_MINIMAL { driver.option_num("no_identification_minimal", "true"); }; +o_no_identification_spectrum : NO_IDENTIFICATION_SPECTRUM { driver.option_num("no_identification_spectrum", "true"); }; +o_normalize_jacobians : NORMALIZE_JACOBIANS EQUAL INT_NUMBER { driver.option_num("normalize_jacobians", $3); }; +o_grid_nbr : GRID_NBR EQUAL INT_NUMBER { driver.option_num("grid_nbr", $3); }; +o_tol_rank : TOL_RANK EQUAL non_negative_number { driver.option_num("tol_rank", $3); }; +o_tol_deriv : TOL_DERIV EQUAL non_negative_number { driver.option_num("tol_deriv", $3); }; +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); }; + range : symbol ':' symbol { $$ = $1 + ':' + $3; } diff --git a/src/DynareFlex.ll b/src/DynareFlex.ll index 30cee9611ccfcb48d432071f4a6479a8d0665205..998754dc7fa60e60daddf6e287ec03f4b145007c 100644 --- a/src/DynareFlex.ll +++ b/src/DynareFlex.ll @@ -680,6 +680,18 @@ DATE -?[0-9]+([ya]|m([1-9]|1[0-2])|q[1-4]|w([1-9]{1}|[1-4][0-9]|5[0-2])) <DYNARE_STATEMENT>emas_tolf {return token::EMAS_TOLF; } <DYNARE_STATEMENT>emas_max_iter {return token::EMAS_MAX_ITER; } <DYNARE_STATEMENT>variable {return token::VARIABLE;} +<DYNARE_STATEMENT>no_identification_strength {return token::NO_IDENTIFICATION_STRENGTH;} +<DYNARE_STATEMENT>no_identification_reducedform {return token::NO_IDENTIFICATION_REDUCEDFORM;} +<DYNARE_STATEMENT>no_identification_moments {return token::NO_IDENTIFICATION_MOMENTS;} +<DYNARE_STATEMENT>no_identification_minimal {return token::NO_IDENTIFICATION_MINIMAL;} +<DYNARE_STATEMENT>no_identification_spectrum {return token::NO_IDENTIFICATION_SPECTRUM;} +<DYNARE_STATEMENT>normalize_jacobians {return token::NORMALIZE_JACOBIANS;} +<DYNARE_STATEMENT>grid_nbr {return token::GRID_NBR;} +<DYNARE_STATEMENT>tol_rank {return token::TOL_RANK;} +<DYNARE_STATEMENT>tol_deriv {return token::TOL_DERIV;} +<DYNARE_STATEMENT>tol_sv {return token::TOL_SV;} +<DYNARE_STATEMENT>checks_via_subsets {return token::CHECKS_VIA_SUBSETS;} +<DYNARE_STATEMENT>max_dim_subsets_groups {return token::MAX_DIM_SUBSETS_GROUPS;} <DYNARE_STATEMENT>\$[^$]*\$ { strtok(yytext+1, "$");