equal
deleted
inserted
replaced
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 |