// cell qbe - Compile a source file to QBE intermediate language var fd = use("fd") var json = use("json") var tokenize = use("tokenize") var parse = use("parse") var fold = use("fold") var mcode = use("mcode") var streamline = use("streamline") var qbe_macros = use("qbe") var qbe_emit = use("qbe_emit") var filename = args[0] var src = text(fd.slurp(filename)) var result = tokenize(src, filename) var ast = parse(result.tokens, src, filename, tokenize) var folded = fold(ast) var compiled = mcode(folded) var optimized = streamline(compiled) var il = qbe_emit(optimized, qbe_macros) log.compile(il)