summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/parse.cpp3
-rw-r--r--src/parse.y3
2 files changed, 2 insertions, 4 deletions
diff --git a/src/parse.cpp b/src/parse.cpp
index ad1f687..f9cefc1 100644
--- a/src/parse.cpp
+++ b/src/parse.cpp
@@ -77,8 +77,7 @@ static inline void parse_reduce_10(std::string *lhs, rhs_t *rhs, std::string *ac
}
static inline void parse_reduce_11(std::string *lhs, unsigned char c1, unsigned char c2, __attribute__((unused)) grammar_t *grammar) {
- vars_t vars;
- vars.emplace_back();
+ vars_t vars(1);
for (unsigned int c = c1; c <= c2; c++)
grammar->add_rule({item_t(*lhs, {symbol_t::make_char(c)}), vars, std::string()});
diff --git a/src/parse.y b/src/parse.y
index 0d9bb05..cacf898 100644
--- a/src/parse.y
+++ b/src/parse.y
@@ -91,8 +91,7 @@ directive |= SYMBOL(lhs) "|=" rhs(rhs) action(action) {
}
directive |= SYMBOL(lhs) "|=" '(' CHAR(c1) "..." CHAR(c2) ')' ';' {
- vars_t vars;
- vars.emplace_back();
+ vars_t vars(1);
for (unsigned int c = c1; c <= c2; c++)
grammar->add_rule({item_t(*lhs, {symbol_t::make_char(c)}), vars, std::string()});