src/Tools/Code/code_target.ML
changeset 37863 7f113caabcf4
parent 37844 f26becedaeb1
child 37898 eb89d0ac75fb
equal deleted inserted replaced
37862:ec81023c6861 37863:7f113caabcf4
   610     Keyword.diag (Parse.!!! code_exprP >> (fn f => Toplevel.keep (f o Toplevel.theory_of)));
   610     Keyword.diag (Parse.!!! code_exprP >> (fn f => Toplevel.keep (f o Toplevel.theory_of)));
   611 
   611 
   612 fun shell_command thyname cmd = Toplevel.program (fn _ =>
   612 fun shell_command thyname cmd = Toplevel.program (fn _ =>
   613   (use_thy thyname; case Scan.read Token.stopper (Parse.!!! code_exprP)
   613   (use_thy thyname; case Scan.read Token.stopper (Parse.!!! code_exprP)
   614     ((filter Token.is_proper o Outer_Syntax.scan Position.none) cmd)
   614     ((filter Token.is_proper o Outer_Syntax.scan Position.none) cmd)
   615    of SOME f => (writeln "Now generating code..."; f (theory thyname))
   615    of SOME f => (writeln "Now generating code..."; f (Thy_Info.get_theory thyname))
   616     | NONE => error ("Bad directive " ^ quote cmd)))
   616     | NONE => error ("Bad directive " ^ quote cmd)))
   617   handle Runtime.TOPLEVEL_ERROR => OS.Process.exit OS.Process.failure;
   617   handle Runtime.TOPLEVEL_ERROR => OS.Process.exit OS.Process.failure;
   618 
   618 
   619 end; (*local*)
   619 end; (*local*)
   620 
   620