summaryrefslogtreecommitdiffstats
path: root/src/tools
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/qlalr/compress.cpp6
-rw-r--r--src/tools/qlalr/cppgenerator.cpp10
-rw-r--r--src/tools/qlalr/lalr.cpp8
-rw-r--r--src/tools/qlalr/main.cpp6
-rw-r--r--src/tools/qlalr/parsetable.cpp3
5 files changed, 18 insertions, 15 deletions
diff --git a/src/tools/qlalr/compress.cpp b/src/tools/qlalr/compress.cpp
index 54ed053bf0..a486e68c4a 100644
--- a/src/tools/qlalr/compress.cpp
+++ b/src/tools/qlalr/compress.cpp
@@ -166,7 +166,7 @@ void Compress::operator () (int *table, int row_count, int column_count)
#ifndef QLALR_NO_CHECK_SORTED_TABLE
int previous_zeros = INT_MAX;
- foreach (UncompressedRow row, sortedTable)
+ for (const UncompressedRow &row : qAsConst(sortedTable))
{
int zeros = row.count (0);
@@ -178,7 +178,7 @@ void Compress::operator () (int *table, int row_count, int column_count)
index.fill (-999999, row_count);
- foreach (const UncompressedRow &row, sortedTable)
+ for (const UncompressedRow &row : qAsConst(sortedTable))
{
int first_token = std::distance (row.begin (), row.beginNonZeros ());
QVector<int>::iterator pos = info.begin ();
@@ -252,7 +252,7 @@ void Compress::operator () (int *table, int row_count, int column_count)
}
#if 0
- foreach (UncompressedRow row, sortedTable)
+ for (const UncompressedRow &row : qAsConst(sortedTable))
{
int i = row.index ();
Q_ASSERT (i < sortedTable.size ());
diff --git a/src/tools/qlalr/cppgenerator.cpp b/src/tools/qlalr/cppgenerator.cpp
index fa037d4b0a..efceb8c520 100644
--- a/src/tools/qlalr/cppgenerator.cpp
+++ b/src/tools/qlalr/cppgenerator.cpp
@@ -159,12 +159,12 @@ void CppGenerator::operator () ()
int r = aut.id (item->rule);
- NameSet lookaheads = aut.lookaheads.value (item);
+ const NameSet lookaheads = aut.lookaheads.value (item);
if (item->rule == grammar.goal)
accept_state = q;
- foreach (const Name &s, lookaheads)
+ for (const Name &s : lookaheads)
{
int &u = ACTION (q, aut.id (s));
@@ -448,7 +448,7 @@ void CppGenerator::generateDecl (QTextStream &out)
<< "public:" << endl
<< " enum VariousConstants {" << endl;
- foreach (Name t, grammar.terminals)
+ for (Name t : qAsConst(grammar.terminals))
{
QString name = *t;
int value = std::distance (grammar.names.begin (), t);
@@ -606,7 +606,7 @@ void CppGenerator::generateImpl (QTextStream &out)
out << endl << "#ifndef " << prot << endl;
out << "const int " << grammar.table_name << "::rule_info [] = {";
idx = 0;
- for (RulePointer rule = grammar.rules.begin (); rule != grammar.rules.end (); ++rule, ++idx)
+ for (auto rule = grammar.rules.cbegin (); rule != grammar.rules.cend (); ++rule, ++idx)
{
out << endl << " ";
@@ -617,7 +617,7 @@ void CppGenerator::generateImpl (QTextStream &out)
out << name_ids.value(rule->lhs);
- foreach (const Name &n, rule->rhs)
+ for (const Name &n : rule->rhs)
out << ", " << name_ids.value (n);
}
out << "};" << endl << endl;
diff --git a/src/tools/qlalr/lalr.cpp b/src/tools/qlalr/lalr.cpp
index 5b88456ce9..81975a0f2a 100644
--- a/src/tools/qlalr/lalr.cpp
+++ b/src/tools/qlalr/lalr.cpp
@@ -410,8 +410,10 @@ void Automaton::buildLookbackSets ()
if (! _M_grammar->isNonTerminal (A))
continue;
- foreach (const RulePointer &rule, _M_grammar->rule_map.values (A))
+ const auto range = qAsConst(_M_grammar->rule_map).equal_range(A);
+ for (auto it = range.first; it != range.second; ++it)
{
+ const RulePointer &rule = *it;
StatePointer q = p;
for (NameList::iterator dot = rule->rhs.begin (); dot != rule->rhs.end (); ++dot)
@@ -603,8 +605,10 @@ void Automaton::buildIncludesDigraph ()
if (! _M_grammar->isNonTerminal (name))
continue;
- foreach (const RulePointer &rule, _M_grammar->rule_map.values (name))
+ const auto range = qAsConst(_M_grammar->rule_map).equal_range(name);
+ for (auto it = range.first; it != range.second; ++it)
{
+ const RulePointer &rule = *it;
StatePointer p = pp;
for (NameList::iterator A = rule->rhs.begin (); A != rule->rhs.end (); ++A)
diff --git a/src/tools/qlalr/main.cpp b/src/tools/qlalr/main.cpp
index 0a97a7627e..e16d5f1e8d 100644
--- a/src/tools/qlalr/main.cpp
+++ b/src/tools/qlalr/main.cpp
@@ -67,10 +67,8 @@ int main (int argc, char *argv[])
bool qt_copyright = false;
QString file_name = 0;
- QStringList args = app.arguments ();
- args.removeFirst ();
-
- foreach (const QString &arg, args) {
+ const QStringList args = app.arguments().mid(1);
+ for (const QString &arg : args) {
if (arg == QLatin1String ("-h") || arg == QLatin1String ("--help"))
help_me ();
diff --git a/src/tools/qlalr/parsetable.cpp b/src/tools/qlalr/parsetable.cpp
index 3259643a80..c88ac1291e 100644
--- a/src/tools/qlalr/parsetable.cpp
+++ b/src/tools/qlalr/parsetable.cpp
@@ -86,7 +86,8 @@ void ParseTable::operator () (Automaton *aut)
first = false;
- foreach (const Name &la, aut->lookaheads.value (item))
+ const auto lookaheads = aut->lookaheads.value(item);
+ for (const Name &la : lookaheads)
out << " " << *la << " reduce using rule " << aut->id (item->rule) << " (" << *item->rule->lhs << ")" << endl;
}