equal
deleted
inserted
replaced
991 mk_app false (mk_term_of gr "Generated" false T) |
991 mk_app false (mk_term_of gr "Generated" false T) |
992 [Pretty.str s'], Pretty.str ")"]]) frees')) @ |
992 [Pretty.str s'], Pretty.str ")"]]) frees')) @ |
993 [Pretty.str "]"])]], |
993 [Pretty.str "]"])]], |
994 Pretty.brk 1, Pretty.str "end"]), Pretty.str ");"]) ^ |
994 Pretty.brk 1, Pretty.str "end"]), Pretty.str ");"]) ^ |
995 "\n\nend;\n") (); |
995 "\n\nend;\n") (); |
996 val _ = use_text Context.ml_output false s; |
996 val _ = use_text Output.ml_output false s; |
997 fun iter f k = if k > i then NONE |
997 fun iter f k = if k > i then NONE |
998 else (case (f () handle Match => |
998 else (case (f () handle Match => |
999 (warning "Exception Match raised in generated code"; NONE)) of |
999 (warning "Exception Match raised in generated code"; NONE)) of |
1000 NONE => iter f (k+1) | SOME x => SOME x); |
1000 NONE => iter f (k+1) | SOME x => SOME x); |
1001 fun test k = if k > sz then NONE |
1001 fun test k = if k > sz then NONE |
1043 Pretty.brk 1, |
1043 Pretty.brk 1, |
1044 mk_app false (mk_term_of gr "Generated" false (fastype_of t)) |
1044 mk_app false (mk_term_of gr "Generated" false (fastype_of t)) |
1045 [Pretty.str "result"], |
1045 [Pretty.str "result"], |
1046 Pretty.str ";"]) ^ |
1046 Pretty.str ";"]) ^ |
1047 "\n\nend;\n"; |
1047 "\n\nend;\n"; |
1048 val _ = use_text Context.ml_output false s |
1048 val _ = use_text Output.ml_output false s |
1049 in !eval_result end); |
1049 in !eval_result end); |
1050 |
1050 |
1051 fun print_evaluated_term s = Toplevel.keep (fn state => |
1051 fun print_evaluated_term s = Toplevel.keep (fn state => |
1052 let |
1052 let |
1053 val state' = Toplevel.enter_forward_proof state; |
1053 val state' = Toplevel.enter_forward_proof state; |
1150 (fn ((((mode', module), opt_fname), modules), xs) => Toplevel.theory (fn thy => |
1150 (fn ((((mode', module), opt_fname), modules), xs) => Toplevel.theory (fn thy => |
1151 let |
1151 let |
1152 val mode'' = (if lib then insert (op =) "library" else I) (remove (op =) "library" mode'); |
1152 val mode'' = (if lib then insert (op =) "library" else I) (remove (op =) "library" mode'); |
1153 val (code, gr) = setmp mode mode'' (generate_code thy modules module) xs |
1153 val (code, gr) = setmp mode mode'' (generate_code thy modules module) xs |
1154 in ((case opt_fname of |
1154 in ((case opt_fname of |
1155 NONE => use_text Context.ml_output false |
1155 NONE => use_text Output.ml_output false |
1156 (space_implode "\n" (map snd code)) |
1156 (space_implode "\n" (map snd code)) |
1157 | SOME fname => |
1157 | SOME fname => |
1158 if lib then |
1158 if lib then |
1159 app (fn (name, s) => File.write |
1159 app (fn (name, s) => File.write |
1160 (Path.append (Path.unpack fname) (Path.basic (name ^ ".ML"))) s) |
1160 (Path.append (Path.unpack fname) (Path.basic (name ^ ".ML"))) s) |