From 9625d4ef065f3bee7008a5a5373e5fbc6cf2b304 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9gis=20Blanc?= <regwblanc@gmail.com>
Date: Fri, 2 Nov 2012 16:14:00 +0100
Subject: [PATCH] moved extension phase to xlang

---
 src/main/scala/leon/Main.scala                 | 18 ++++++++----------
 .../leon/{ => xlang}/ArrayTransformation.scala | 14 ++++++++------
 .../leon/{ => xlang}/EpsilonElimination.scala  | 14 ++++++++------
 .../leon/{ => xlang}/FunctionClosure.scala     | 18 ++++++++++--------
 .../ImperativeCodeElimination.scala            | 18 ++++++++++--------
 5 files changed, 44 insertions(+), 38 deletions(-)
 rename src/main/scala/leon/{ => xlang}/ArrayTransformation.scala (97%)
 rename src/main/scala/leon/{ => xlang}/EpsilonElimination.scala (79%)
 rename src/main/scala/leon/{ => xlang}/FunctionClosure.scala (97%)
 rename src/main/scala/leon/{ => xlang}/ImperativeCodeElimination.scala (97%)

diff --git a/src/main/scala/leon/Main.scala b/src/main/scala/leon/Main.scala
index 98d9778b8..e27586acc 100644
--- a/src/main/scala/leon/Main.scala
+++ b/src/main/scala/leon/Main.scala
@@ -5,12 +5,10 @@ object Main {
   def allPhases: List[LeonPhase[_, _]] = {
     List(
       plugin.ExtractionPhase,
-      ArrayTransformation,
-      EpsilonElimination,
-      ImperativeCodeElimination,
-      /*UnitElimination,*/
-      FunctionClosure,
-      /*FunctionHoisting,*/
+      xlang.ArrayTransformation,
+      xlang.EpsilonElimination,
+      xlang.ImperativeCodeElimination,
+      xlang.FunctionClosure,
       Simplificator,
       synthesis.SynthesisPhase,
       verification.AnalysisPhase
@@ -124,10 +122,10 @@ object Main {
 
     val pipeTransforms: Pipeline[Program, Program] =
       if (settings.xlang) {
-        ArrayTransformation andThen
-        EpsilonElimination andThen
-        ImperativeCodeElimination andThen
-        FunctionClosure
+        xlang.ArrayTransformation andThen
+        xlang.EpsilonElimination andThen
+        xlang.ImperativeCodeElimination andThen
+        xlang.FunctionClosure
       } else {
         NoopPhase()
       }
diff --git a/src/main/scala/leon/ArrayTransformation.scala b/src/main/scala/leon/xlang/ArrayTransformation.scala
similarity index 97%
rename from src/main/scala/leon/ArrayTransformation.scala
rename to src/main/scala/leon/xlang/ArrayTransformation.scala
index fd46f449b..bb8832d62 100644
--- a/src/main/scala/leon/ArrayTransformation.scala
+++ b/src/main/scala/leon/xlang/ArrayTransformation.scala
@@ -1,10 +1,12 @@
-package leon
+package leon.xlang
 
-import purescala.Common._
-import purescala.Definitions._
-import purescala.Trees._
-import purescala.Extractors._
-import purescala.TypeTrees._
+import leon.TransformationPhase
+import leon.LeonContext
+import leon.purescala.Common._
+import leon.purescala.Definitions._
+import leon.purescala.Trees._
+import leon.purescala.Extractors._
+import leon.purescala.TypeTrees._
 
 object ArrayTransformation extends TransformationPhase {
 
diff --git a/src/main/scala/leon/EpsilonElimination.scala b/src/main/scala/leon/xlang/EpsilonElimination.scala
similarity index 79%
rename from src/main/scala/leon/EpsilonElimination.scala
rename to src/main/scala/leon/xlang/EpsilonElimination.scala
index dc69875d1..f4a281e0b 100644
--- a/src/main/scala/leon/EpsilonElimination.scala
+++ b/src/main/scala/leon/xlang/EpsilonElimination.scala
@@ -1,10 +1,12 @@
-package leon
+package leon.xlang
 
-import purescala.Common._
-import purescala.Definitions._
-import purescala.Trees._
-import purescala.TreeOps._
-import purescala.TypeTrees._
+import leon.TransformationPhase
+import leon.LeonContext
+import leon.purescala.Common._
+import leon.purescala.Definitions._
+import leon.purescala.Trees._
+import leon.purescala.TreeOps._
+import leon.purescala.TypeTrees._
 
 object EpsilonElimination extends TransformationPhase {
 
diff --git a/src/main/scala/leon/FunctionClosure.scala b/src/main/scala/leon/xlang/FunctionClosure.scala
similarity index 97%
rename from src/main/scala/leon/FunctionClosure.scala
rename to src/main/scala/leon/xlang/FunctionClosure.scala
index 4da2ac1e9..e23cdc98b 100644
--- a/src/main/scala/leon/FunctionClosure.scala
+++ b/src/main/scala/leon/xlang/FunctionClosure.scala
@@ -1,11 +1,13 @@
-package leon
-
-import purescala.Common._
-import purescala.Definitions._
-import purescala.Trees._
-import purescala.Extractors._
-import purescala.TreeOps._
-import purescala.TypeTrees._
+package leon.xlang
+
+import leon.TransformationPhase
+import leon.LeonContext
+import leon.purescala.Common._
+import leon.purescala.Definitions._
+import leon.purescala.Trees._
+import leon.purescala.Extractors._
+import leon.purescala.TreeOps._
+import leon.purescala.TypeTrees._
 
 object FunctionClosure extends TransformationPhase{
 
diff --git a/src/main/scala/leon/ImperativeCodeElimination.scala b/src/main/scala/leon/xlang/ImperativeCodeElimination.scala
similarity index 97%
rename from src/main/scala/leon/ImperativeCodeElimination.scala
rename to src/main/scala/leon/xlang/ImperativeCodeElimination.scala
index 74bb86309..4bb06376c 100644
--- a/src/main/scala/leon/ImperativeCodeElimination.scala
+++ b/src/main/scala/leon/xlang/ImperativeCodeElimination.scala
@@ -1,11 +1,13 @@
-package leon
-
-import purescala.Common._
-import purescala.Definitions._
-import purescala.Trees._
-import purescala.Extractors._
-import purescala.TypeTrees._
-import purescala.TreeOps._
+package leon.xlang
+
+import leon.TransformationPhase
+import leon.LeonContext
+import leon.purescala.Common._
+import leon.purescala.Definitions._
+import leon.purescala.Trees._
+import leon.purescala.Extractors._
+import leon.purescala.TypeTrees._
+import leon.purescala.TreeOps._
 
 object ImperativeCodeElimination extends TransformationPhase {
 
-- 
GitLab