aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/stanza/firrtl-main.stanza2
-rw-r--r--src/main/stanza/firrtl-test-main.stanza33
-rw-r--r--src/main/stanza/passes.stanza10
3 files changed, 39 insertions, 6 deletions
diff --git a/src/main/stanza/firrtl-main.stanza b/src/main/stanza/firrtl-main.stanza
index 1f87b1da..4c7ecaab 100644
--- a/src/main/stanza/firrtl-main.stanza
+++ b/src/main/stanza/firrtl-main.stanza
@@ -9,7 +9,7 @@ include("ir-parser.stanza")
include("passes.stanza")
include("widthsolver.stanza")
-defpackage chmain :
+defpackage firrtl-main :
import core
import verse
import firrtl.parser
diff --git a/src/main/stanza/firrtl-test-main.stanza b/src/main/stanza/firrtl-test-main.stanza
new file mode 100644
index 00000000..8904bd27
--- /dev/null
+++ b/src/main/stanza/firrtl-test-main.stanza
@@ -0,0 +1,33 @@
+include<"core/stringeater.stanza">
+include<"compiler/lexer.stanza">
+include<"compiler/parser.stanza">
+include<"compiler/rdparser2.stanza">
+include<"compiler/macro-utils.stanza">
+include("firrtl-ir.stanza")
+include("ir-utils.stanza")
+include("ir-parser.stanza")
+include("passes.stanza")
+include("widthsolver.stanza")
+
+defpackage firrtl-main :
+ import core
+ import verse
+ import firrtl.parser
+ import firrtl.passes
+ import stanza.lexer
+ import stanza.parser
+ import firrtl.ir-utils
+
+public var PRINT-TYPES : True|False = false
+
+defn main () :
+ val arg = commandline-arguments()
+ val args = split(arg,' ')
+ val lexed = lex-file(args[1])
+ val c = parse-firrtl(lexed)
+ ;println(c)
+ run-passes(c,to-list(args[2]))
+
+main()
+
+
diff --git a/src/main/stanza/passes.stanza b/src/main/stanza/passes.stanza
index f1c9b248..4a5634d0 100644
--- a/src/main/stanza/passes.stanza
+++ b/src/main/stanza/passes.stanza
@@ -4,6 +4,7 @@ defpackage firrtl.passes :
import firrtl.ir2
import firrtl.ir-utils
import widthsolver
+ import firrtl-main
;============== EXCEPTIONS =================================
defclass PassException <: Exception
@@ -62,11 +63,10 @@ defmethod print (o:OutputStream, k:Kind) :
(k:StructuralMemKind) : "smem:"
defmethod print (o:OutputStream, e:WRef) :
- match(type(e)) :
- (t:UnknownType) :
- print-all(o,[kind(e) name(e)])
- (t) :
- print-all(o,[kind(e) name(e) ":" type(e)])
+ if PRINT-TYPES :
+ print-all(o,[kind(e) name(e) ":" type(e)])
+ else :
+ print-all(o,[kind(e) name(e)])
defmethod print (o:OutputStream, e:WField) :
print-all(o,[exp(e) "." name(e)])