stringify.ml 538 B

12345678910111213141516171819
  1. open Types
  2. let omega = "\xcf\x89"
  3. let pound = "\xc2\xa3"
  4. let string_of_basic ins = ins
  5. let string_of_primitive = function
  6. | Basic ins -> string_of_basic ins
  7. | Terminate -> "!"
  8. | Ptest ins -> "+" ^ string_of_basic ins
  9. | Ntest ins -> "-" ^ string_of_basic ins
  10. | Jump len -> "#" ^ string_of_int len
  11. let rec string_of_program = function
  12. | Primitive p -> string_of_primitive p
  13. | Concat l -> String.concat ";" (List.map string_of_program l)
  14. | Repeat p -> "(" ^ string_of_program p ^ ")" ^ omega
  15. | Empty -> ""