open Types (* let omega = "\xcf\x89" let pound = "\xc2\xa3" *) let omega = "*" let pound = "$" let rec string_of_instruction = function | Basic c -> Char.escaped c | Terminate -> "!" | Ptest c -> "+" ^ Char.escaped c | Ntest c -> "-" ^ Char.escaped c | Jump len -> "#" ^ string_of_int len | Concat l -> "(" ^ String.concat ";" (List.map string_of_instruction l) ^ ")" | Repeat i -> string_of_instruction i ^ omega | Program c -> Char.escaped c | Empty -> "" let rec string_of_program instrs = String.concat ";" (List.map string_of_instruction instrs)