Avoid initializing production vectors via initializer lists
This commit is contained in:
parent
eb6becca89
commit
bf31c19d03
2 changed files with 14 additions and 2 deletions
|
|
@ -73,7 +73,16 @@ class ParseTableBuilder {
|
|||
Symbol start_symbol = grammar.variables.empty() ?
|
||||
Symbol::terminal(0) :
|
||||
Symbol::non_terminal(0);
|
||||
Production start_production{{{start_symbol, 0, rules::AssociativityNone, {"", false}}}, 0};
|
||||
Production start_production{
|
||||
vector<ProductionStep>(1, ProductionStep{
|
||||
start_symbol,
|
||||
0,
|
||||
rules::AssociativityNone,
|
||||
rules::Alias{}
|
||||
}),
|
||||
0
|
||||
};
|
||||
|
||||
add_parse_state({}, ParseItemSet{{
|
||||
{
|
||||
ParseItem(rules::START(), start_production, 0),
|
||||
|
|
|
|||
|
|
@ -208,7 +208,10 @@ const vector<Production> &ParseItemSetBuilder::inline_production(const ParseItem
|
|||
auto end = item.production->steps.end();
|
||||
auto step = begin + item.step_index;
|
||||
|
||||
Production production{{begin, step}, item.production->dynamic_precedence};
|
||||
Production production{
|
||||
vector<ProductionStep>(begin, step),
|
||||
item.production->dynamic_precedence
|
||||
};
|
||||
for (auto &step : *production_to_insert) {
|
||||
production.steps.push_back(step);
|
||||
if (!inlined_step.alias.value.empty()) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue