stringify.ml 491 B

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