lean4-htt/tests/ir/lirc.lean
2019-03-21 15:11:05 -07:00

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)