From e1ba3f44da249264323a434a1c24e5010689bf15 Mon Sep 17 00:00:00 2001 From: michel <michel@ac1d8469-bf42-47a9-8791-bf33cf982152> Date: Sun, 25 Jan 2009 09:50:21 +0000 Subject: [PATCH] added expression_or_empty token re-authorized empty expression between commas in estimated_parameters statements git-svn-id: https://www.dynare.org/svn/dynare/trunk@2374 ac1d8469-bf42-47a9-8791-bf33cf982152 --- DynareBison.yy | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/DynareBison.yy b/DynareBison.yy index 3dbc60a9..79a7bafd 100644 --- a/DynareBison.yy +++ b/DynareBison.yy @@ -134,7 +134,7 @@ class ParsingDriver; %token ALPHA_RMSE ALPHA2_RMSE TRANS_IDENT /* end of GSA analysis*/ -%type <node_val> expression +%type <node_val> expression expression_or_empty %type <node_val> equation hand_side model_var %type <string_val> signed_float signed_integer prior %type <string_val> filename @@ -376,6 +376,10 @@ comma_expression : expression { driver.add_unknown_function_arg($3); } ; +expression_or_empty : {$$ = driver.add_nan_constant();} + | expression + ; + initval : INITVAL ';' initval_list END { driver.end_initval(); } @@ -738,13 +742,13 @@ estimated_elem2 : prior COMMA estimated_elem3 driver.estim_params.prior = *$1; delete $1; } - | expression COMMA prior COMMA estimated_elem3 + | expression_or_empty COMMA prior COMMA estimated_elem3 { driver.estim_params.init_val = $1; driver.estim_params.prior = *$3; delete $3; } - | expression COMMA expression COMMA expression COMMA prior COMMA estimated_elem3 + | expression_or_empty COMMA expression_or_empty COMMA expression_or_empty COMMA prior COMMA estimated_elem3 { driver.estim_params.init_val = $1; driver.estim_params.low_bound = $3; @@ -756,7 +760,7 @@ estimated_elem2 : prior COMMA estimated_elem3 { driver.estim_params.init_val = $1; } - | expression COMMA expression COMMA expression + | expression_or_empty COMMA expression_or_empty COMMA expression_or_empty { driver.estim_params.init_val = $1; driver.estim_params.low_bound = $3; @@ -764,25 +768,25 @@ estimated_elem2 : prior COMMA estimated_elem3 } ; -estimated_elem3 : expression COMMA expression +estimated_elem3 : expression_or_empty COMMA expression_or_empty { driver.estim_params.mean = $1; driver.estim_params.std = $3; } - | expression COMMA expression COMMA expression + | expression_or_empty COMMA expression_or_empty COMMA expression_or_empty { driver.estim_params.mean = $1; driver.estim_params.std = $3; driver.estim_params.p3 = $5; } - | expression COMMA expression COMMA expression COMMA expression + | expression_or_empty COMMA expression_or_empty COMMA expression_or_empty COMMA expression_or_empty { driver.estim_params.mean = $1; driver.estim_params.std = $3; driver.estim_params.p3 = $5; driver.estim_params.p4 = $7; } - | expression COMMA expression COMMA expression COMMA expression COMMA expression + | expression_or_empty COMMA expression_or_empty COMMA expression_or_empty COMMA expression_or_empty COMMA expression { driver.estim_params.mean = $1; driver.estim_params.std = $3; -- GitLab