From 334b712b3fdd3af8f9620638de53e6b99526d00a Mon Sep 17 00:00:00 2001
From: Etienne Kneuss <ekneuss@gmail.com>
Date: Thu, 18 Oct 2012 17:42:18 +0200
Subject: [PATCH] Start with some files

---
 src/main/scala/leon/synthesis/Problem.scala  |  4 ++++
 src/main/scala/leon/synthesis/Rules.scala    | 11 +++++++++++
 src/main/scala/leon/synthesis/Solution.scala |  4 ++++
 src/main/scala/leon/synthesis/Step.scala     |  4 ++++
 src/main/scala/leon/synthesis/package.scala  |  6 ++++++
 5 files changed, 29 insertions(+)
 create mode 100644 src/main/scala/leon/synthesis/Problem.scala
 create mode 100644 src/main/scala/leon/synthesis/Rules.scala
 create mode 100644 src/main/scala/leon/synthesis/Solution.scala
 create mode 100644 src/main/scala/leon/synthesis/Step.scala
 create mode 100644 src/main/scala/leon/synthesis/package.scala

diff --git a/src/main/scala/leon/synthesis/Problem.scala b/src/main/scala/leon/synthesis/Problem.scala
new file mode 100644
index 000000000..c60c0ca4d
--- /dev/null
+++ b/src/main/scala/leon/synthesis/Problem.scala
@@ -0,0 +1,4 @@
+package leon
+package synthesis
+
+case class Problem();
diff --git a/src/main/scala/leon/synthesis/Rules.scala b/src/main/scala/leon/synthesis/Rules.scala
new file mode 100644
index 000000000..767f7584d
--- /dev/null
+++ b/src/main/scala/leon/synthesis/Rules.scala
@@ -0,0 +1,11 @@
+package leon
+package synthesis
+
+/** AST definitions for Pure Scala. */
+object Rules {
+
+  abstract class Rule {
+    def isApplicable(p: Problem): Option[Step];
+  }
+
+}
diff --git a/src/main/scala/leon/synthesis/Solution.scala b/src/main/scala/leon/synthesis/Solution.scala
new file mode 100644
index 000000000..cdc4dcab6
--- /dev/null
+++ b/src/main/scala/leon/synthesis/Solution.scala
@@ -0,0 +1,4 @@
+package leon
+package synthesis
+
+case class Solution();
diff --git a/src/main/scala/leon/synthesis/Step.scala b/src/main/scala/leon/synthesis/Step.scala
new file mode 100644
index 000000000..12cad391a
--- /dev/null
+++ b/src/main/scala/leon/synthesis/Step.scala
@@ -0,0 +1,4 @@
+package leon
+package synthesis
+
+case class Step(subProblems: List[Problem], construct: List[Solution] => Solution, score: Score);
diff --git a/src/main/scala/leon/synthesis/package.scala b/src/main/scala/leon/synthesis/package.scala
new file mode 100644
index 000000000..6e628ecff
--- /dev/null
+++ b/src/main/scala/leon/synthesis/package.scala
@@ -0,0 +1,6 @@
+package leon
+
+package object synthesis {
+  type Score = Int
+
+}
-- 
GitLab