diff options
Diffstat (limited to 'arm/AsmToJSON.ml')
-rw-r--r-- | arm/AsmToJSON.ml | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/arm/AsmToJSON.ml b/arm/AsmToJSON.ml index 85ef0603..c11162d6 100644 --- a/arm/AsmToJSON.ml +++ b/arm/AsmToJSON.ml @@ -302,9 +302,17 @@ let pp_instructions pp ic = in pp_jarray instruction pp ic -let pp_program pp prog = - reset_id (); - JsonAST.pp_program pp pp_instructions prog +let destination : string option ref = ref None +let sdump_folder : string ref = ref "" + +let print_if prog sourcename = + match !destination with + | None -> () + | Some f -> + let f = Filename.concat !sdump_folder f in + let oc = open_out f in + JsonAST.pp_ast (Format.formatter_of_out_channel oc) pp_instructions prog sourcename; + close_out oc let pp_mnemonics pp = JsonAST.pp_mnemonics pp mnemonic_names |