aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/org/zwobble/couscous/CouscousCompiler.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/couscous/CouscousCompiler.java b/src/main/java/org/zwobble/couscous/CouscousCompiler.java
new file mode 100644
index 0000000..8c303b0
--- /dev/null
+++ b/src/main/java/org/zwobble/couscous/CouscousCompiler.java
@@ -0,0 +1,23 @@
+package org.zwobble.couscous;
+
+import java.io.IOException;
+import java.nio.file.Path;
+import java.util.List;
+
+import org.zwobble.couscous.ast.ClassNode;
+import org.zwobble.couscous.backends.python.PythonCompiler;
+import org.zwobble.couscous.frontends.java.JavaFrontend;
+
+public class CouscousCompiler {
+ private final PythonCompiler backend;
+
+ public CouscousCompiler(PythonCompiler backend) {
+ this.backend = backend;
+ }
+
+ public void compileDirectory(Path path) throws IOException {
+ List<ClassNode> classes = JavaFrontend.readSourceDirectory(path);
+ backend.compile(classes);
+ }
+
+}