13 lines
427 B
Text
13 lines
427 B
Text
import init.IO
|
|
import init.Lean.Ir.lirc
|
|
open Lean.Ir IO
|
|
|
|
def main : IO Unit :=
|
|
do args ← IO.cmdlineArgs;
|
|
unless (args.length = 1) $
|
|
IO.fail "Error: incorrect number of arguments, expected `lirc file.Lean`";
|
|
let fname := args.head;
|
|
input ← Fs.readFile fname;
|
|
match lirc input {mainProc := some "main"} with
|
|
| Except.ok r := Fs.writeFile (fname ++ ".cpp") r
|
|
| Except.error e := IO.fail (toString e)
|