aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/CouscousCompiler.java
blob: da9852f481f5a2e7fe1c722f596be9cb549adc96 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package org.zwobble.couscous;

import java.io.IOException;
import java.nio.file.Path;
import java.util.List;

import org.zwobble.couscous.ast.ClassNode;

public class CouscousCompiler {
    private final Frontend frontend;
    private final Backend backend;

    public CouscousCompiler(Frontend frontend, Backend backend) {
        this.frontend = frontend;
        this.backend = backend;
    }

    public void compileDirectory(Path sourceRoot, Path path) throws IOException {
        List<ClassNode> classes = frontend.readSourceDirectory(sourceRoot, path);
        backend.compile(classes);
    }

}