#include<"core/stringeater.stanza"> #include<"core/macro-utils.stanza"> #include<"compiler/stz-algorithms.stanza"> #include<"compiler/stz-lexer.stanza"> #include<"compiler/stz-parser.stanza"> #include("firrtl-ir.stanza") #include("ir-utils.stanza") #include("ir-parser.stanza") #include("passes.stanza") #include("primop.stanza") defpackage firrtl-main : import core import verse import firrtl/parser import firrtl/passes import stz/lexer import stz/parser import firrtl/ir-utils defn main () : val arg = commandline-arguments() val args = split(arg,' ') val pathname = args[1] val lexed = lex-file(pathname) val c = parse-firrtl(lexed) ;println(c) val dir = "." ;; could have dir arg val name = last(split(pathname,'/')) val basename = split(name,'.')[0] val outname = string-join([dir "/" basename ".flo"]) val c* = run-passes(c, to-list(args[2]), outname) ;; run-passes(c,to-list(args[2])) main()