23 lines
568 B
Plaintext
23 lines
568 B
Plaintext
var tokenize = use('tokenize')
|
|
var parse_mod = use('parse')
|
|
var fold = use('fold')
|
|
var mcode_mod = use('mcode')
|
|
var streamline_mod = use('streamline')
|
|
var json = use('json')
|
|
var fd = use('fd')
|
|
|
|
var file = args[0]
|
|
var src = text(fd.slurp(file))
|
|
var tok = tokenize(src, file)
|
|
var ast = parse_mod(tok.tokens, src, file, tokenize)
|
|
var folded = fold(ast)
|
|
var compiled = mcode_mod(folded)
|
|
var optimized = streamline_mod(compiled)
|
|
|
|
var instrs = optimized.main.instructions
|
|
var i = 0
|
|
while (i < length(instrs)) {
|
|
print(text(i) + ': ' + json.encode(instrs[i]))
|
|
i = i + 1
|
|
}
|