summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2011-01-04 16:07:32 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2011-01-04 16:07:32 +0200
commit50a1ae06f83a353a3b9ff7d473122e60ad5f5636 (patch)
treeb92f135444a4faf0c396b12dabb9a394d959dbd3
parent9cb1bd3e02faa14e567305f1cdc884a874c866bf (diff)
Use correct parser interface
-rw-r--r--cli/runtime-source.cxx18
1 files changed, 12 insertions, 6 deletions
diff --git a/cli/runtime-source.cxx b/cli/runtime-source.cxx
index 31a0d1e..cae8c84 100644
--- a/cli/runtime-source.cxx
+++ b/cli/runtime-source.cxx
@@ -504,9 +504,12 @@ generate_runtime_source (context& ctx)
<< "parse (std::vector<X>& c, " << (sp ? "bool& xs, " : "") <<
"scanner& s)"
<< "{"
- << "X x;"
- << "bool dummy;"
- << "parser<X>::parse (x, dummy, s);"
+ << "X x;";
+
+ if (sp)
+ os << "bool dummy;";
+
+ os << "parser<X>::parse (x, " << (sp ? "dummy, " : "") << "s);"
<< "c.push_back (x);";
if (sp)
@@ -523,9 +526,12 @@ generate_runtime_source (context& ctx)
<< "static void" << endl
<< "parse (std::set<X>& c, " << (sp ? "bool& xs, " : "") << "scanner& s)"
<< "{"
- << "X x;"
- << "bool dummy;"
- << "parser<X>::parse (x, dummy, s);"
+ << "X x;";
+
+ if (sp)
+ os << "bool dummy;";
+
+ os << "parser<X>::parse (x, " << (sp ? "dummy, " : "") << "s);"
<< "c.insert (x);";
if (sp)