From 97f715a10d70aa2cbac3be23fe4c45b57b807bc4 Mon Sep 17 00:00:00 2001 From: Simon Forman Date: Fri, 23 Sep 2022 17:47:31 -0700 Subject: [PATCH] Formatting. --- implementations/Ocaml/helloworld/bin/main.ml | 40 +++++++++++----------------- 1 file changed, 16 insertions(+), 24 deletions(-) diff --git a/implementations/Ocaml/helloworld/bin/main.ml b/implementations/Ocaml/helloworld/bin/main.ml index 3473643..005f601 100644 --- a/implementations/Ocaml/helloworld/bin/main.ml +++ b/implementations/Ocaml/helloworld/bin/main.ml @@ -23,43 +23,36 @@ let rec joy_to_string jt = and expression_to_string el = String.concat " " (List.map joy_to_string el) +type token = Left_bracket | Right_bracket | Token of string - -type token = - | Left_bracket - | Right_bracket - | Token of string - -let delimiter ch = String.contains "[] " ch +let delimiter str last = + last >= String.length str || String.contains "[] " (String.get str last) (* string -> int -> int -> token * int *) let rec tokenize1 str start last = - if last >= String.length str || delimiter (String.get str last) - then (Token (String.sub str start (last - start)), last) + if delimiter str last then (Token (String.sub str start (last - start)), last) else tokenize1 str start (last + 1) let rec tokenize0 str start acc = - if start >= String.length str - then acc + if start >= String.length str then acc else let ch = String.get str start in - match ch with - | '[' -> Left_bracket :: (tokenize0 str (start + 1) acc) - | ']' -> Right_bracket :: (tokenize0 str (start + 1) acc) - | ' ' -> tokenize0 str (start + 1) acc - | _ -> let (token, n) = tokenize1 str start (start + 1) in - token :: (tokenize0 str n acc) + match ch with + | '[' -> Left_bracket :: tokenize0 str (start + 1) acc + | ']' -> Right_bracket :: tokenize0 str (start + 1) acc + | ' ' -> tokenize0 str (start + 1) acc + | _ -> + let token, n = tokenize1 str start (start + 1) in + token :: tokenize0 str n acc let tokenize str = tokenize0 str 0 [] - let token_to_string token = match token with | Left_bracket -> "[" | Right_bracket -> "]" | Token str -> str - (* let char_tok ch acc = match ch with @@ -86,9 +79,8 @@ let s = String.concat "" (List.map token_to_string (text_to_expression "1 [2]3" (* let () = print_endline (joy_to_string dummy) *) -let s = String.concat " " (List.map token_to_string (tokenize "1 [2]3" )) - +let s = String.concat " " (List.map token_to_string (tokenize "1 [2]3")) -let () = - print_endline s ; - print_endline (joy_to_string dummy) \ No newline at end of file +let () = + print_endline s; + print_endline (joy_to_string dummy) -- 2.11.0