aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorazidar2015-07-30 09:35:04 -0700
committerazidar2015-07-30 11:51:07 -0700
commit21d30b30ec7d598c645c07f8e452c6eaf4ecb544 (patch)
treefd6b6e8067912796b10d8e4a129175abfb871791 /src
parent9b2f96b8d0b6c7f4e6fefde918d7a335ccd7b7f3 (diff)
Started adding linking support
Diffstat (limited to 'src')
-rw-r--r--src/main/stanza/firrtl-test-main.stanza31
1 files changed, 23 insertions, 8 deletions
diff --git a/src/main/stanza/firrtl-test-main.stanza b/src/main/stanza/firrtl-test-main.stanza
index 9762966b..a25983e3 100644
--- a/src/main/stanza/firrtl-test-main.stanza
+++ b/src/main/stanza/firrtl-test-main.stanza
@@ -54,17 +54,28 @@ defn main () :
val args = commandline-arguments()
var input = false
var output = false
+ var firms = Vector<String>()
var compiler = false
val pass-names = Vector<String>()
val pass-args = Vector<String>()
var printvars = ""
+ var last-s = ""
for (s in args, i in 0 to false) do :
- if s == "-i" : input = args[i + 1]
- if s == "-o" : output = args[i + 1]
- if s == "-x" : add(pass-names,args[i + 1])
- if s == "-X" : compiler = args[i + 1]
- if s == "-p" : printvars = args[i + 1]
- if s == "-s" : add(pass-args,args[i + 1])
+ if s == "-i" : last-s = s
+ else if s == "-o" : last-s = s
+ else if s == "-x" : last-s = s
+ else if s == "-X" : last-s = s
+ else if s == "-p" : last-s = s
+ else if s == "-s" : last-s = s
+ else if s == "-m" : last-s = s
+ else :
+ if last-s == "-i" : input = args[i]
+ if last-s == "-o" : output = args[i]
+ if last-s == "-x" : add(pass-names,args[i])
+ if last-s == "-X" : compiler = args[i]
+ if last-s == "-p" : printvars = args[i]
+ if last-s == "-s" : add(pass-args,args[i])
+ if last-s == "-m" : add(firms,args[i])
if input == false :
error("No input file provided. Use -i flag.")
@@ -73,8 +84,12 @@ defn main () :
if compiler == false and length(pass-names) == 0 :
error("Must specify a compiler. Use -X flag.")
- val lexed = lex-file(input as String)
- val c = parse-firrtl(lexed)
+ val lexed = for m in firms map-append :
+ lex-file(m as String)
+
+ val lexed* = append(lex-file(input as String),lexed)
+
+ val c = parse-firrtl(lexed*)
set-printvars!(to-list(printvars))
if compiler == false :