v4 preprocessor: added syntax (:) for all variables in

option_lists
                 updated matlab/dynare_m.exe


git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1792 ac1d8469-bf42-47a9-8791-bf33cf982152
time-shift
michel 2008-04-11 14:41:52 +00:00
parent 284560a79c
commit 48166a9c96
3 changed files with 30 additions and 25 deletions

Binary file not shown.

View File

@ -202,7 +202,7 @@ dsample : DSAMPLE INT_NUMBER ';'
{ driver.dsample($2, $3); } { driver.dsample($2, $3); }
; ;
rplot : RPLOT tmp_var_list ';' { driver.rplot(); }; rplot : RPLOT symbol_list ';' { driver.rplot(); };
var : VAR var_list ';'; var : VAR var_list ';';
@ -629,9 +629,9 @@ stoch_simul : STOCH_SIMUL ';'
{ driver.stoch_simul(); } { driver.stoch_simul(); }
| STOCH_SIMUL '(' stoch_simul_options_list ')' ';' | STOCH_SIMUL '(' stoch_simul_options_list ')' ';'
{ driver.stoch_simul(); } { driver.stoch_simul(); }
| STOCH_SIMUL tmp_var_list ';' | STOCH_SIMUL symbol_list ';'
{ driver.stoch_simul(); } { driver.stoch_simul(); }
| STOCH_SIMUL '(' stoch_simul_options_list ')' tmp_var_list ';' | STOCH_SIMUL '(' stoch_simul_options_list ')' symbol_list ';'
{ driver.stoch_simul(); } { driver.stoch_simul(); }
; ;
@ -664,14 +664,18 @@ stoch_simul_options : o_dr_algo
| o_noprint | o_noprint
; ;
tmp_var_list : tmp_var_list NAME symbol_list : symbol_list NAME
{ driver.add_in_symbol_list($2); } { driver.add_in_symbol_list($2); }
| tmp_var_list COMMA NAME | symbol_list COMMA NAME
{ driver.add_in_symbol_list($3); } { driver.add_in_symbol_list($3); }
| NAME | NAME
{ driver.add_in_symbol_list($1); } { driver.add_in_symbol_list($1); }
; ;
symbol_list_ext : symbol_list
| ':' {std::string* colon=new std::string(":");driver.add_in_symbol_list(colon);}
;
signed_integer : PLUS INT_NUMBER signed_integer : PLUS INT_NUMBER
{ $$ = $2; } { $$ = $2; }
| MINUS INT_NUMBER | MINUS INT_NUMBER
@ -907,9 +911,9 @@ estimation : ESTIMATION ';'
{ driver.run_estimation(); } { driver.run_estimation(); }
| ESTIMATION '(' estimation_options_list ')' ';' | ESTIMATION '(' estimation_options_list ')' ';'
{ driver.run_estimation(); } { driver.run_estimation(); }
| ESTIMATION tmp_var_list ';' | ESTIMATION symbol_list ';'
{ driver.run_estimation(); } { driver.run_estimation(); }
| ESTIMATION '(' estimation_options_list ')' tmp_var_list ';' | ESTIMATION '(' estimation_options_list ')' symbol_list ';'
{ driver.run_estimation(); } { driver.run_estimation(); }
; ;
@ -960,7 +964,7 @@ estimation_options : o_datafile
prior_analysis : PRIOR_ANALYSIS '(' prior_posterior_options_list ')' ';' prior_analysis : PRIOR_ANALYSIS '(' prior_posterior_options_list ')' ';'
{ driver.run_prior_analysis(); } { driver.run_prior_analysis(); }
| PRIOR_ANALYSIS '(' prior_posterior_options_list ')' tmp_var_list ';' | PRIOR_ANALYSIS '(' prior_posterior_options_list ')' symbol_list ';'
{ driver.run_prior_analysis(); } { driver.run_prior_analysis(); }
; ;
@ -985,7 +989,7 @@ prior_posterior_options : o_nograph
posterior_analysis : POSTERIOR_ANALYSIS '(' prior_posterior_options_list ')' ';' posterior_analysis : POSTERIOR_ANALYSIS '(' prior_posterior_options_list ')' ';'
{ driver.run_posterior_analysis(); } { driver.run_posterior_analysis(); }
| POSTERIOR_ANALYSIS '(' prior_posterior_options_list ')' tmp_var_list ';' | POSTERIOR_ANALYSIS '(' prior_posterior_options_list ')' symbol_list ';'
{ driver.run_posterior_analysis(); } { driver.run_posterior_analysis(); }
; ;
@ -999,7 +1003,7 @@ optim_options : list_optim_option
| optim_options COMMA list_optim_option; | optim_options COMMA list_optim_option;
; ;
varobs : VAROBS tmp_var_list ';' { driver.set_varobs(); }; varobs : VAROBS symbol_list ';' { driver.set_varobs(); };
observation_trends : OBSERVATION_TRENDS ';' trend_list END { driver.set_trends(); }; observation_trends : OBSERVATION_TRENDS ';' trend_list END { driver.set_trends(); };
@ -1009,7 +1013,7 @@ trend_list : trend_list trend_element
trend_element : NAME '(' expression ')' ';' { driver.set_trend_element($1, $3); }; trend_element : NAME '(' expression ')' ';' { driver.set_trend_element($1, $3); };
unit_root_vars : UNIT_ROOT_VARS tmp_var_list ';' { driver.set_unit_root_vars(); }; unit_root_vars : UNIT_ROOT_VARS symbol_list ';' { driver.set_unit_root_vars(); };
optim_weights : OPTIM_WEIGHTS ';' optim_weights_list END { driver.optim_weights(); }; optim_weights : OPTIM_WEIGHTS ';' optim_weights_list END { driver.optim_weights(); };
@ -1023,15 +1027,15 @@ optim_weights_list : optim_weights_list NAME expression ';'
{ driver.set_optim_weights($1, $3, $4); } { driver.set_optim_weights($1, $3, $4); }
; ;
osr_params : OSR_PARAMS tmp_var_list ';' { driver.set_osr_params(); }; osr_params : OSR_PARAMS symbol_list ';' { driver.set_osr_params(); };
osr : OSR ';' osr : OSR ';'
{ driver.run_osr(); } { driver.run_osr(); }
| OSR '(' stoch_simul_options ')' ';' | OSR '(' stoch_simul_options ')' ';'
{ driver.run_osr(); } { driver.run_osr(); }
| OSR tmp_var_list ';' | OSR symbol_list ';'
{ driver.run_osr(); } { driver.run_osr(); }
| OSR '(' stoch_simul_options ')' tmp_var_list ';' | OSR '(' stoch_simul_options ')' symbol_list ';'
{driver.run_osr(); } {driver.run_osr(); }
; ;
@ -1064,13 +1068,13 @@ calib : CALIB ';'
dynatype : DYNATYPE '(' NAME ')'';' dynatype : DYNATYPE '(' NAME ')'';'
{ driver.run_dynatype($3); } { driver.run_dynatype($3); }
| DYNATYPE '(' NAME ')' tmp_var_list ';' | DYNATYPE '(' NAME ')' symbol_list ';'
{ driver.run_dynatype($3); } { driver.run_dynatype($3); }
| DYNATYPE NAME ';' | DYNATYPE NAME ';'
{ driver.run_dynatype($2); } { driver.run_dynatype($2); }
| DYNATYPE '(' NAME '.' NAME ')'';' | DYNATYPE '(' NAME '.' NAME ')'';'
{ driver.run_dynatype($3, $5); } { driver.run_dynatype($3, $5); }
| DYNATYPE '(' NAME '.' NAME ')' tmp_var_list ';' | DYNATYPE '(' NAME '.' NAME ')' symbol_list ';'
{ driver.run_dynatype($3, $5); } { driver.run_dynatype($3, $5); }
| DYNATYPE NAME '.' NAME ';' | DYNATYPE NAME '.' NAME ';'
{ driver.run_dynatype($2,$4); } { driver.run_dynatype($2,$4); }
@ -1078,13 +1082,13 @@ dynatype : DYNATYPE '(' NAME ')'';'
dynasave : DYNASAVE '(' NAME ')'';' dynasave : DYNASAVE '(' NAME ')'';'
{ driver.run_dynasave($3); } { driver.run_dynasave($3); }
| DYNASAVE '(' NAME ')' tmp_var_list ';' | DYNASAVE '(' NAME ')' symbol_list ';'
{ driver.run_dynasave($3); } { driver.run_dynasave($3); }
| DYNASAVE NAME ';' | DYNASAVE NAME ';'
{ driver.run_dynasave($2); } { driver.run_dynasave($2); }
| DYNASAVE '(' NAME '.' NAME ')'';' | DYNASAVE '(' NAME '.' NAME ')'';'
{ driver.run_dynasave($3, $5); } { driver.run_dynasave($3, $5); }
| DYNASAVE '(' NAME '.' NAME ')' tmp_var_list ';' | DYNASAVE '(' NAME '.' NAME ')' symbol_list ';'
{ driver.run_dynasave($3, $5); } { driver.run_dynasave($3, $5); }
| DYNASAVE NAME '.' NAME ';' | DYNASAVE NAME '.' NAME ';'
{ driver.run_dynasave($2, $4); } { driver.run_dynasave($2, $4); }
@ -1136,9 +1140,9 @@ ramsey_policy : RAMSEY_POLICY ';'
{ driver.ramsey_policy(); } { driver.ramsey_policy(); }
| RAMSEY_POLICY '(' ramsey_policy_options_list ')' ';' | RAMSEY_POLICY '(' ramsey_policy_options_list ')' ';'
{ driver.ramsey_policy(); } { driver.ramsey_policy(); }
| RAMSEY_POLICY tmp_var_list ';' | RAMSEY_POLICY symbol_list ';'
{ driver.ramsey_policy(); } { driver.ramsey_policy(); }
| RAMSEY_POLICY '(' ramsey_policy_options_list ')' tmp_var_list ';' | RAMSEY_POLICY '(' ramsey_policy_options_list ')' symbol_list ';'
{ driver.ramsey_policy(); } { driver.ramsey_policy(); }
; ;
@ -1368,12 +1372,12 @@ o_gsa_logtrans_redform : LOGTRANS_REDFORM EQUAL INT_NUMBER { driver.option_num("
o_gsa_threshold_redform : THRESHOLD_REDFORM EQUAL vec_int { driver.option_num("threshold_redfor",$3); }; o_gsa_threshold_redform : THRESHOLD_REDFORM EQUAL vec_int { driver.option_num("threshold_redfor",$3); };
o_gsa_ksstat_redform : KSSTAT_REDFORM EQUAL number { driver.option_num("ksstat_redfrom", $3); }; o_gsa_ksstat_redform : KSSTAT_REDFORM EQUAL number { driver.option_num("ksstat_redfrom", $3); };
o_gsa_alpha2_redform : ALPHA2_REDFORM EQUAL number { driver.option_num("alpha2_redform", $3); }; o_gsa_alpha2_redform : ALPHA2_REDFORM EQUAL number { driver.option_num("alpha2_redform", $3); };
o_gsa_namendo : NAMENDO EQUAL '(' tmp_var_list ')' { driver.option_symbol_list("namendo"); }; o_gsa_namendo : NAMENDO EQUAL '(' symbol_list_ext ')' { driver.option_symbol_list("namendo"); };
o_gsa_namlagendo : NAMLAGENDO EQUAL '(' tmp_var_list ')' { driver.option_symbol_list("namlagendo"); }; o_gsa_namlagendo : NAMLAGENDO EQUAL '(' symbol_list_ext ')' { driver.option_symbol_list("namlagendo"); };
o_gsa_namexo : NAMEXO EQUAL '(' tmp_var_list ')' { driver.option_symbol_list("namexo"); }; o_gsa_namexo : NAMEXO EQUAL '(' symbol_list_ext ')' { driver.option_symbol_list("namexo"); };
o_gsa_rmse : RMSE EQUAL INT_NUMBER { driver.option_num("rmse", $3); }; o_gsa_rmse : RMSE EQUAL INT_NUMBER { driver.option_num("rmse", $3); };
o_gsa_lik_only : LIK_ONLY EQUAL INT_NUMBER { driver.option_num("lik_only", $3); }; o_gsa_lik_only : LIK_ONLY EQUAL INT_NUMBER { driver.option_num("lik_only", $3); };
o_gsa_var_rmse : VAR_RMSE EQUAL '(' tmp_var_list ')' { driver.option_symbol_list("var_rmse"); }; o_gsa_var_rmse : VAR_RMSE EQUAL '(' symbol_list_ext ')' { driver.option_symbol_list("var_rmse"); };
o_gsa_pfilt_rmse : PFILT_RMSE EQUAL number { driver.option_num("pfilt_rmse", $3); }; o_gsa_pfilt_rmse : PFILT_RMSE EQUAL number { driver.option_num("pfilt_rmse", $3); };
o_gsa_istart_rmse : ISTART_RMSE EQUAL INT_NUMBER { driver.option_num("istart_rmse", $3); }; o_gsa_istart_rmse : ISTART_RMSE EQUAL INT_NUMBER { driver.option_num("istart_rmse", $3); };
o_gsa_alpha_rmse : ALPHA_RMSE EQUAL number { driver.option_num("alpha_rmse", $3); }; o_gsa_alpha_rmse : ALPHA_RMSE EQUAL number { driver.option_num("alpha_rmse", $3); };

View File

@ -673,7 +673,8 @@ ParsingDriver::linear()
void void
ParsingDriver::add_in_symbol_list(string *tmp_var) ParsingDriver::add_in_symbol_list(string *tmp_var)
{ {
check_symbol_existence(*tmp_var); if (*tmp_var != ":")
check_symbol_existence(*tmp_var);
symbol_list.addSymbol(*tmp_var); symbol_list.addSymbol(*tmp_var);
delete tmp_var; delete tmp_var;
} }