diff options
| author | azidar | 2015-07-30 09:35:04 -0700 |
|---|---|---|
| committer | azidar | 2015-07-30 11:51:07 -0700 |
| commit | 21d30b30ec7d598c645c07f8e452c6eaf4ecb544 (patch) | |
| tree | fd6b6e8067912796b10d8e4a129175abfb871791 /src | |
| parent | 9b2f96b8d0b6c7f4e6fefde918d7a335ccd7b7f3 (diff) | |
Started adding linking support
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/stanza/firrtl-test-main.stanza | 31 |
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 : |
