[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 1/6] c++: comment and style changes
From: |
Akim Demaille |
Subject: |
[PATCH 1/6] c++: comment and style changes |
Date: |
Thu, 8 Jan 2015 14:52:44 +0100 |
* data/c++.m4, data/lalr1.cc: More documentation.
Tidy.
* tests/c++.at (string_cast): Rename as...
(to_string): this C++11 name.
---
data/c++.m4 | 6 ++++--
data/lalr1.cc | 14 ++++++++------
tests/c++.at | 8 ++++----
3 files changed, 16 insertions(+), 12 deletions(-)
diff --git a/data/c++.m4 b/data/c++.m4
index 7c0fd78..481ea86 100644
--- a/data/c++.m4
+++ b/data/c++.m4
@@ -209,6 +209,7 @@ m4_define([b4_public_types_declare],
const semantic_type& v]b4_locations_if([,
const location_type& l])[);
+ /// Destroy the symbol.
~basic_symbol ();
/// Destructive move, \a s is emptied into this.
@@ -244,16 +245,17 @@ m4_define([b4_public_types_declare],
void move (by_type& that);
/// The (internal) type number (corresponding to \a type).
- /// -1 when this symbol is empty.
+ /// \a empty when empty.
symbol_number_type type_get () const;
/// The token.
token_type token () const;
+ /// The type number used to denote an empty symbol.
enum { empty = 0 };
/// The symbol type.
- /// -1 when this symbol is empty.
+ /// \a empty when empty.
token_number_type type;
};
diff --git a/data/lalr1.cc b/data/lalr1.cc
index 1bbec8a..2c38cdf 100644
--- a/data/lalr1.cc
+++ b/data/lalr1.cc
@@ -292,12 +292,14 @@ b4_location_define])])[
void move (by_state& that);
/// The (internal) type number (corresponding to \a state).
- /// "empty" when empty.
+ /// \a empty when empty.
symbol_number_type type_get () const;
+ /// The state number used to denote an empty symbol.
enum { empty = 0 };
/// The state.
+ /// \a empty when empty.
state_type state;
};
@@ -338,7 +340,7 @@ b4_location_define])])[
/// Pop \a n symbols the three stacks.
void yypop_ (unsigned int n = 1);
- // Constants.
+ /// Constants.
enum
{
yyeof_ = 0,
@@ -695,9 +697,6 @@ m4_if(b4_prefix, [yy], [],
int
]b4_parser_class_name[::parse ()
{
- /// Whether yyla contains a lookahead.
- bool yyempty = true;
-
// State.
int yyn;
/// Length of the RHS of the rule being reduced.
@@ -707,6 +706,9 @@ m4_if(b4_prefix, [yy], [],
int yynerrs_ = 0;
int yyerrstatus_ = 0;
+ /// Whether yyla contains a lookahead.
+ bool yyempty = true;
+
/// The lookahead symbol.
symbol_type yyla;]b4_locations_if([[
@@ -1011,7 +1013,6 @@ b4_dollar_popdef])[]dnl
b4_error_verbose_if([state_type yystate, symbol_number_type yytoken],
[state_type, symbol_number_type])[) const
{]b4_error_verbose_if([[
- std::string yyres;
// Number of reported tokens (one for the "unexpected", one per
// "expected").
size_t yycount = 0;
@@ -1089,6 +1090,7 @@ b4_error_verbose_if([state_type yystate,
symbol_number_type yytoken],
#undef YYCASE_
}
+ std::string yyres;
// Argument number.
size_t yyi = 0;
for (char const* yyp = yyformat; *yyp; ++yyp)
diff --git a/tests/c++.at b/tests/c++.at
index 4dbfb76..1aa730f 100644
--- a/tests/c++.at
+++ b/tests/c++.at
@@ -232,7 +232,7 @@ typedef std::list<std::string> strings_type;
template <typename T>
inline
std::string
- string_cast (const T& t)
+ to_string (const T& t)
{
std::ostringstream o;
o << t;
@@ -266,7 +266,7 @@ list:
item:
TEXT { std::swap ($$,$][1); }
-| NUMBER { if ($][1 == 3) YYERROR; else $$ = string_cast ($][1); }
+| NUMBER { if ($][1 == 3) YYERROR; else $$ = to_string ($][1); }
;
%%
]AT_TOKEN_CTOR_IF([],
@@ -304,8 +304,8 @@ namespace yy
}
else
{]AT_TOKEN_CTOR_IF([[
- return parser::make_TEXT (string_cast (stage)]AT_LOCATION_IF([,
location ()])[);]], [[
- yylval->BUILD (std::string, string_cast (stage));]AT_LOCATION_IF([
+ return parser::make_TEXT (to_string (stage)]AT_LOCATION_IF([, location
()])[);]], [[
+ yylval->BUILD (std::string, to_string (stage));]AT_LOCATION_IF([
*yylloc = location ();])[
return parser::token::TEXT;]])[
}
--
2.2.1
- [PATCH 0/6] maint: c++: clean up the handling of the lookahead, Akim Demaille, 2015/01/09
- [PATCH 2/6] c++: clean up the handling of empty symbols, Akim Demaille, 2015/01/09
- [PATCH 4/6] c++: variants: don't leak the lookahead in error recovery, Akim Demaille, 2015/01/09
- [PATCH 3/6] c++: provide a means to clear symbols, Akim Demaille, 2015/01/09
- [PATCH 6/6] style: tests: simplify the handling of some C++ tests, Akim Demaille, 2015/01/09
- [PATCH 1/6] c++: comment and style changes,
Akim Demaille <=
- [PATCH 5/6] c++: symbols can be empty, so use it, Akim Demaille, 2015/01/09