X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/0c3c1f98eca714602db1c298d010d8068f84dd7f..e2527c97f9ec8773acbfd7db65a7dc2269a970a6:/data/lalr1.cc diff --git a/data/lalr1.cc b/data/lalr1.cc index 9f3fcf01..a40521b4 100644 --- a/data/lalr1.cc +++ b/data/lalr1.cc @@ -81,6 +81,39 @@ m4_define([b4_constructor], [])]) +# b4_parse_param_decl +# ------------------- +# Constructor's extra arguments. +m4_define([b4_parse_param_decl], + [m4_ifset([b4_parse_param], [, b4_c_ansi_formals(b4_parse_param)])]) + +# b4_parse_param_cons +# ------------------- +# constructor's extra initialisations. +m4_define([b4_parse_param_cons], + [m4_ifset([b4_parse_param], + [, + b4_cc_constructor_calls(b4_parse_param)])]) +m4_define([b4_cc_constructor_calls], + [m4_map_sep([b4_cc_constructor_call], [, + ], [$@])]) +m4_define([b4_cc_constructor_call], + [$2($2)]) + +# b4_parse_param_vars +# ------------------- +# Extra instance variables. +m4_define([b4_parse_param_vars], + [m4_ifset([b4_parse_param], + [ + /* User arguments. */ +b4_cc_var_decls(b4_parse_param)])]) +m4_define([b4_cc_var_decls], + [m4_map_sep([b4_cc_var_decl], [ +], [$@])]) +m4_define([b4_cc_var_decl], + [ $1;]) + # We do want M4 expansion after # for CPP macros. m4_changecom() m4_divert(0)dnl @@ -178,14 +211,14 @@ namespace yy #if YYLSP_NEEDED ]b4_parser_class_name[ (bool debug, - LocationType initlocation][]b4_param[) : + LocationType initlocation][]b4_param[]b4_parse_param_decl[) : ]b4_constructor[][debug_ (debug), cdebug_ (std::cerr), - initlocation_ (initlocation) + initlocation_ (initlocation)]b4_parse_param_cons[ #else - ]b4_parser_class_name[ (bool debug][]b4_param[) : + ]b4_parser_class_name[ (bool debug][]b4_param[]b4_parse_param_decl[) : ]b4_constructor[][debug_ (debug), - cdebug_ (std::cerr) + cdebug_ (std::cerr)]b4_parse_param_cons[ #endif { } @@ -274,6 +307,7 @@ namespace yy /* Initial location. */ LocationType initlocation_; +]b4_parse_param_vars[ }; } @@ -510,11 +544,11 @@ b4_syncline([@oline@], [@ofile@])[ if (count < 5) { count = 0; - for (int x = xbegin; x < xend; ++x) - if (check_[x + n_] == x && x != terror_) + for (int x1 = xbegin; x1 < xend; ++x1) + if (check_[x1 + n_] == x1 && x1 != terror_) { message += (!count++) ? ", expecting " : " or "; - message += name_[x]; + message += name_[x1]; } } } @@ -758,12 +792,12 @@ yy::]b4_parser_class_name[::translate_ (int token) { static const TokenNumberType - translate_[] = + translate_table[] = { ]b4_translate[ }; if ((unsigned) token <= user_token_number_max_) - return translate_[token]; + return translate_table[token]; else return undef_token_; } @@ -810,16 +844,16 @@ namespace yy inline T& - operator [] (unsigned index) + operator [] (unsigned i) { - return seq_[index]; + return seq_[i]; } inline const T& - operator [] (unsigned index) const + operator [] (unsigned i) const { - return seq_[index]; + return seq_[i]; } inline @@ -865,9 +899,9 @@ namespace yy inline const T& - operator [] (unsigned index) const + operator [] (unsigned i) const { - return stack_[range_ - index]; + return stack_[range_ - i]; } private: @@ -920,20 +954,20 @@ namespace yy /** \name Line and Column related manipulators ** \{ */ public: - /** \brief (line related) Advance to the LINES next lines. */ - inline void lines (int lines = 1) + /** \brief (line related) Advance to the COUNT next lines. */ + inline void lines (int count = 1) { column = initial_column; - line += lines; + line += count; } - /** \brief (column related) Advance to the COLUMNS next columns. */ - inline void columns (int columns = 1) + /** \brief (column related) Advance to the COUNT next columns. */ + inline void columns (int count = 1) { int leftmost = initial_column; int current = column; - if (leftmost <= current + columns) - column += columns; + if (leftmost <= current + count) + column += count; else column = initial_column; } @@ -1034,16 +1068,16 @@ namespace yy begin = end; } - /** \brief Extend the current location to the COLUMNS next columns. */ - inline void columns (unsigned columns = 1) + /** \brief Extend the current location to the COUNT next columns. */ + inline void columns (unsigned int count = 1) { - end += columns; + end += count; } - /** \brief Extend the current location to the LINES next lines. */ - inline void lines (unsigned lines = 1) + /** \brief Extend the current location to the COUNT next lines. */ + inline void lines (unsigned int count = 1) { - end.lines (lines); + end.lines (count); } /** \} */