equal
deleted
inserted
replaced
6 |
6 |
7 signature CODE_ML = |
7 signature CODE_ML = |
8 sig |
8 sig |
9 val target_SML: string |
9 val target_SML: string |
10 val target_OCaml: string |
10 val target_OCaml: string |
11 val evaluation_code_of: theory -> string -> string |
|
12 -> Code_Thingol.naming -> Code_Thingol.program -> string list -> string * string option list |
|
13 val print_tuple: (Code_Printer.fixity -> 'a -> Pretty.T) |
11 val print_tuple: (Code_Printer.fixity -> 'a -> Pretty.T) |
14 -> Code_Printer.fixity -> 'a list -> Pretty.T option |
12 -> Code_Printer.fixity -> 'a list -> Pretty.T option |
15 val setup: theory -> theory |
13 val setup: theory -> theory |
16 end; |
14 end; |
17 |
15 |
941 end; |
939 end; |
942 |
940 |
943 end; (*local*) |
941 end; (*local*) |
944 |
942 |
945 |
943 |
946 (** for instrumentalization **) |
|
947 |
|
948 fun evaluation_code_of thy target struct_name = |
|
949 Code_Target.serialize_custom thy (target, fn module_name => fn [] => |
|
950 serialize_ml target print_sml_module print_sml_stmt module_name true) (SOME struct_name); |
|
951 |
|
952 |
|
953 (** Isar setup **) |
944 (** Isar setup **) |
954 |
945 |
955 fun isar_serializer_sml module_name = |
946 fun isar_serializer_sml module_name = |
956 Code_Target.parse_args (Scan.optional (Args.$$$ "no_signatures" >> K false) true |
947 Code_Target.parse_args (Scan.optional (Args.$$$ "no_signatures" >> K false) true |
957 >> (fn with_signatures => serialize_ml target_SML |
948 >> (fn with_signatures => serialize_ml target_SML |