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
issue#70
michel 2008-04-11 14:41:52 +00:00
parent 8b7201ac17
commit f0cefe8081
2 changed files with 30 additions and 25 deletions

View File

@ -202,7 +202,7 @@ dsample : DSAMPLE INT_NUMBER ';'
{ driver.dsample($2, $3); }
;
rplot : RPLOT tmp_var_list ';' { driver.rplot(); };
rplot : RPLOT symbol_list ';' { driver.rplot(); };
var : VAR var_list ';';
@ -629,9 +629,9 @@ stoch_simul : STOCH_SIMUL ';'
{ driver.stoch_simul(); }
| STOCH_SIMUL '(' stoch_simul_options_list ')' ';'
{ driver.stoch_simul(); }
| STOCH_SIMUL tmp_var_list ';'
| STOCH_SIMUL symbol_list ';'
{ driver.stoch_simul(); }
| STOCH_SIMUL '(' stoch_simul_options_list ')' tmp_var_list ';'
| STOCH_SIMUL '(' stoch_simul_options_list ')' symbol_list ';'
{ driver.stoch_simul(); }
;
@ -664,14 +664,18 @@ stoch_simul_options : o_dr_algo
| o_noprint
;
tmp_var_list : tmp_var_list NAME
symbol_list : symbol_list NAME
{ driver.add_in_symbol_list($2); }
| tmp_var_list COMMA NAME
| symbol_list COMMA NAME
{ driver.add_in_symbol_list($3); }
| NAME
{ 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
{ $$ = $2; }
| MINUS INT_NUMBER
@ -907,9 +911,9 @@ estimation : ESTIMATION ';'
{ driver.run_estimation(); }
| ESTIMATION '(' estimation_options_list ')' ';'
{ driver.run_estimation(); }
| ESTIMATION tmp_var_list ';'
| ESTIMATION symbol_list ';'
{ driver.run_estimation(); }
| ESTIMATION '(' estimation_options_list ')' tmp_var_list ';'
| ESTIMATION '(' estimation_options_list ')' symbol_list ';'
{ driver.run_estimation(); }
;
@ -960,7 +964,7 @@ estimation_options : o_datafile
prior_analysis : PRIOR_ANALYSIS '(' prior_posterior_options_list ')' ';'
{ 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(); }
;
@ -985,7 +989,7 @@ prior_posterior_options : o_nograph
posterior_analysis : POSTERIOR_ANALYSIS '(' prior_posterior_options_list ')' ';'
{ 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(); }
;
@ -999,7 +1003,7 @@ optim_options : 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(); };
@ -1009,7 +1013,7 @@ trend_list : trend_list trend_element
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(); };
@ -1023,15 +1027,15 @@ optim_weights_list : optim_weights_list NAME expression ';'
{ 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 ';'
{ driver.run_osr(); }
| OSR '(' stoch_simul_options ')' ';'
{ driver.run_osr(); }
| OSR tmp_var_list ';'
| OSR symbol_list ';'
{ driver.run_osr(); }
| OSR '(' stoch_simul_options ')' tmp_var_list ';'
| OSR '(' stoch_simul_options ')' symbol_list ';'
{driver.run_osr(); }
;
@ -1064,13 +1068,13 @@ calib : CALIB ';'
dynatype : DYNATYPE '(' NAME ')'';'
{ driver.run_dynatype($3); }
| DYNATYPE '(' NAME ')' tmp_var_list ';'
| DYNATYPE '(' NAME ')' symbol_list ';'
{ driver.run_dynatype($3); }
| DYNATYPE NAME ';'
{ driver.run_dynatype($2); }
| DYNATYPE '(' NAME '.' NAME ')'';'
{ driver.run_dynatype($3, $5); }
| DYNATYPE '(' NAME '.' NAME ')' tmp_var_list ';'
| DYNATYPE '(' NAME '.' NAME ')' symbol_list ';'
{ driver.run_dynatype($3, $5); }
| DYNATYPE NAME '.' NAME ';'
{ driver.run_dynatype($2,$4); }
@ -1078,13 +1082,13 @@ dynatype : DYNATYPE '(' NAME ')'';'
dynasave : DYNASAVE '(' NAME ')'';'
{ driver.run_dynasave($3); }
| DYNASAVE '(' NAME ')' tmp_var_list ';'
| DYNASAVE '(' NAME ')' symbol_list ';'
{ driver.run_dynasave($3); }
| DYNASAVE NAME ';'
{ driver.run_dynasave($2); }
| DYNASAVE '(' NAME '.' NAME ')'';'
{ driver.run_dynasave($3, $5); }
| DYNASAVE '(' NAME '.' NAME ')' tmp_var_list ';'
| DYNASAVE '(' NAME '.' NAME ')' symbol_list ';'
{ driver.run_dynasave($3, $5); }
| DYNASAVE NAME '.' NAME ';'
{ driver.run_dynasave($2, $4); }
@ -1136,9 +1140,9 @@ ramsey_policy : RAMSEY_POLICY ';'
{ driver.ramsey_policy(); }
| RAMSEY_POLICY '(' ramsey_policy_options_list ')' ';'
{ driver.ramsey_policy(); }
| RAMSEY_POLICY tmp_var_list ';'
| RAMSEY_POLICY symbol_list ';'
{ driver.ramsey_policy(); }
| RAMSEY_POLICY '(' ramsey_policy_options_list ')' tmp_var_list ';'
| RAMSEY_POLICY '(' ramsey_policy_options_list ')' symbol_list ';'
{ 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_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_namendo : NAMENDO EQUAL '(' tmp_var_list ')' { driver.option_symbol_list("namendo"); };
o_gsa_namlagendo : NAMLAGENDO EQUAL '(' tmp_var_list ')' { driver.option_symbol_list("namlagendo"); };
o_gsa_namexo : NAMEXO EQUAL '(' tmp_var_list ')' { driver.option_symbol_list("namexo"); };
o_gsa_namendo : NAMENDO EQUAL '(' symbol_list_ext ')' { driver.option_symbol_list("namendo"); };
o_gsa_namlagendo : NAMLAGENDO EQUAL '(' symbol_list_ext ')' { driver.option_symbol_list("namlagendo"); };
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_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_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); };

View File

@ -673,7 +673,8 @@ ParsingDriver::linear()
void
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);
delete tmp_var;
}