aboutsummaryrefslogtreecommitdiff
path: root/src/main/stanza/passes.stanza
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/stanza/passes.stanza')
-rw-r--r--src/main/stanza/passes.stanza17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/main/stanza/passes.stanza b/src/main/stanza/passes.stanza
index 24867612..30898ae6 100644
--- a/src/main/stanza/passes.stanza
+++ b/src/main/stanza/passes.stanza
@@ -1963,8 +1963,14 @@ public defn emit-flo (o:OutputStream, c:Circuit) :
emit-module(o, modules(c)[0])
c
+public defn emit-flo (pathname:String, c:Circuit) :
+ val out = FileOutputStream(pathname)
+ emit-flo(out, c)
+ close(out)
+ c
+
;============= DRIVER ======================================
-public defn run-passes (c: Circuit, p: List<Char>) :
+public defn run-passes (c: Circuit, p: List<Char>, pathname:String) :
var c*:Circuit = c
println("Compiling!")
if PRINT-CIRCUITS : println("Original Circuit")
@@ -1992,12 +1998,5 @@ public defn run-passes (c: Circuit, p: List<Char>) :
if contains(p,'l') : do-stage("Inline Instances", inline-instances)
if contains(p,'m') : do-stage("Split Expressions", split-exp)
if contains(p,'n') : do-stage("Real IR", to-real-ir)
- if contains(p,'o') : do-stage("To Flo", emit-flo{STANDARD-OUTPUT,_})
+ if contains(p,'o') : do-stage("To Flo", emit-flo{pathname,_})
println("Done!")
-
-
- ;; println("Shim for Jonathan's Passes")
- ;; c* = shim(c*)
- ;; println("Inline Modules")
- ;; c* = inline-modules(c*)
- ; c*