diff --git a/preprocessor/DynareBison.yy b/preprocessor/DynareBison.yy index b6a110a17..808fa6a76 100644 --- a/preprocessor/DynareBison.yy +++ b/preprocessor/DynareBison.yy @@ -127,7 +127,7 @@ class ParsingDriver; %token UNIFORM_PDF UNIT_ROOT_VARS USE_DLL USEAUTOCORR GSA_SAMPLE_FILE USE_UNIVARIATE_FILTERS_IF_SINGULARITY_IS_DETECTED %token VALUES VAR VAREXO VAREXO_DET VAROBS PREDETERMINED_VARIABLES %token WRITE_LATEX_DYNAMIC_MODEL WRITE_LATEX_STATIC_MODEL WRITE_LATEX_ORIGINAL_MODEL -%token XLS_SHEET XLS_RANGE LONG_NAME +%token XLS_SHEET XLS_RANGE LONG_NAME LMMCP OCCBIN %left COMMA %left EQUAL_EQUAL EXCLAMATION_EQUAL %left LESS GREATER LESS_EQUAL GREATER_EQUAL @@ -1012,6 +1012,8 @@ perfect_foresight_solver_options : o_stack_solve_algo | o_simul_maxit | o_endogenous_terminal_period | o_no_homotopy + | o_lmmcp + | o_occbin ; simul : SIMUL ';' @@ -2453,6 +2455,8 @@ extended_path_option : o_periods | o_solver_periods | o_extended_path_order | o_hybrid + | o_lmmcp + | o_occbin ; model_diagnostics : MODEL_DIAGNOSTICS ';' @@ -3020,6 +3024,8 @@ o_invars : INVARS EQUAL '(' symbol_list ')' { driver.option_symbol_list("invars" o_period : PERIOD EQUAL INT_NUMBER { driver.option_num("period", $3); }; o_outfile : OUTFILE EQUAL filename { driver.option_str("outfile", $3); }; o_outvars : OUTVARS EQUAL '(' symbol_list ')' { driver.option_symbol_list("outvars"); }; +o_lmmcp : LMMCP {driver.option_num("lmmcp", "1"); }; +o_occbin : OCCBIN {driver.option_num("occbin", "1"); }; range : symbol ':' symbol { diff --git a/preprocessor/DynareFlex.ll b/preprocessor/DynareFlex.ll index 5dcd575d2..43466da55 100644 --- a/preprocessor/DynareFlex.ll +++ b/preprocessor/DynareFlex.ll @@ -576,6 +576,8 @@ DATE -?[0-9]+([YyAa]|[Mm]([1-9]|1[0-2])|[Qq][1-4]|[Ww]([1-9]{1}|[1-4][0-9]|5[0-2 tarb_mode_compute {return token::TARB_MODE_COMPUTE;} tarb_new_block_probability {return token::TARB_NEW_BLOCK_PROBABILITY;} tarb_optim {return token::TARB_OPTIM;} +lmmcp {return token::LMMCP;} +occbin {return token::OCCBIN;} [\$][^$]*[\$] { strtok(yytext+1, "$");