From e22aa1c16258fc48bcfb53fde4a098899fce2d12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien@dynare.org> Date: Thu, 8 Nov 2018 15:01:25 +0100 Subject: [PATCH] Compatibility issue with Bison 3.2 --- src/DynareBison.yy | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/DynareBison.yy b/src/DynareBison.yy index 5a16ad12..e3e710c4 100644 --- a/src/DynareBison.yy +++ b/src/DynareBison.yy @@ -34,6 +34,12 @@ class ParsingDriver; %code requires { #include "ExprNode.hh" #include "CodeInterpreter.hh" + +/* Bison 3.2 passes semantic types through a macro, and commas in parametric + types are interpreted as macro arguments, leading to a compilation error. + Use type aliases to workaround the problem. */ +using pair_2strings = pair<string,string>; +using tuple_4strings = tuple<string,string,string,string>; } %parse-param { ParsingDriver &driver } @@ -177,14 +183,15 @@ class ParsingDriver; %type <string> range vec_value_w_inf vec_value_1_w_inf %type <string> integer_range signed_integer_range %type <string> sub_sampling_options list_sub_sampling_option -%type <pair<string,string>> named_var_elem subsamples_eq_opt calibration_range integer_range_w_inf -%type <vector<pair<string,string>>> named_var named_var_1 %type <SymbolType> change_type_arg %type <vector<string>> vec_str vec_str_1 %type <vector<string>> change_type_var_list %type <vector<int>> vec_int_elem vec_int_1 vec_int vec_int_number %type <PriorDistributions> prior_pdf prior_distribution -%type <tuple<string,string,string,string>> prior_eq_opt options_eq_opt +// The following types use aliases, see comment above in the file +%type <pair_2strings> named_var_elem subsamples_eq_opt calibration_range integer_range_w_inf +%type <vector<pair_2strings>> named_var named_var_1 +%type <tuple_4strings> prior_eq_opt options_eq_opt %% %start statement_list; -- GitLab