From 5a506bb8540bbd8d4abcfdebebadfb7618fba9e2 Mon Sep 17 00:00:00 2001 From: "lperron@google.com" Date: Sat, 2 Jun 2012 17:31:48 +0000 Subject: [PATCH] more work on flatzinc support --- src/flatzinc/flatzinc.cc | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/src/flatzinc/flatzinc.cc b/src/flatzinc/flatzinc.cc index 3218593582..89254bf098 100644 --- a/src/flatzinc/flatzinc.cc +++ b/src/flatzinc/flatzinc.cc @@ -295,20 +295,7 @@ string FlatZincModel::DebugString() const { return ""; string output; for (unsigned int i = 0; i < output_->a.size(); i++) { - AST::Node* ai = output_->a[i]; - if (ai->isArray()) { - AST::Array* aia = ai->getArray(); - int size = aia->a.size(); - output += "["; - for (int j=0; ja[j]); - if (ja[i]); } return output; } @@ -320,7 +307,18 @@ void FlatZincModel::InitOutput(AST::Array* output) { string FlatZincModel::DebugString(AST::Node* ai) const { string output; int k; - if (ai->isInt(k)) { + if (ai->isArray()) { + AST::Array* aia = ai->getArray(); + int size = aia->a.size(); + output += "["; + for (int j = 0; j < size; j++) { + output += DebugString(aia->a[j]); + if (j < size - 1) { + output += ", "; + } + } + output += "]"; + } else if (ai->isInt(k)) { output += StringPrintf("%d", k); } else if (ai->isIntVar()) { IntVar* const var = integer_variables_[ai->getIntVar()];