Comments and function renames.
This commit is contained in:
@@ -1,7 +1,11 @@
|
|||||||
type cmd = Do | Donot | Mul of int * int
|
(** Type containing commands available in input *)
|
||||||
|
type cmd =
|
||||||
|
| Do (** Enable processing *)
|
||||||
|
| Donot (** Disable processing *)
|
||||||
|
| Mul of int * int (** Multiply two integers. *)
|
||||||
|
|
||||||
(** [find_nums s] returns the list of instructions given in [s]. *)
|
(** [find_nums s] returns the list of instructions given in [s]. *)
|
||||||
let instrs_of_string s =
|
let cmds_of_string s =
|
||||||
let r =
|
let r =
|
||||||
Str.regexp
|
Str.regexp
|
||||||
{|do()\|don't()\|mul(\([0-9][0-9]?[0-9]?\),\([0-9][0-9]?[0-9]?\))|}
|
{|do()\|don't()\|mul(\([0-9][0-9]?[0-9]?\),\([0-9][0-9]?[0-9]?\))|}
|
||||||
@@ -23,8 +27,8 @@ let instrs_of_string s =
|
|||||||
in
|
in
|
||||||
List.rev (impl [] 0)
|
List.rev (impl [] 0)
|
||||||
|
|
||||||
let instrs_of_file fname =
|
let cmds_of_file fname =
|
||||||
Aoc.strings_of_file fname |> List.map instrs_of_string |> List.concat
|
Aoc.strings_of_file fname |> List.map cmds_of_string |> List.concat
|
||||||
|
|
||||||
(** [mac acc a b] returns [acc + a * b]. *)
|
(** [mac acc a b] returns [acc + a * b]. *)
|
||||||
let mac acc = function Mul (a, b) -> acc + (a * b) | _ -> acc
|
let mac acc = function Mul (a, b) -> acc + (a * b) | _ -> acc
|
||||||
@@ -42,5 +46,4 @@ let day2403b lst =
|
|||||||
impl 0 true lst
|
impl 0 true lst
|
||||||
|
|
||||||
let _ =
|
let _ =
|
||||||
Aoc.main instrs_of_file
|
Aoc.main cmds_of_file [ (string_of_int, day2403a); (string_of_int, day2403b) ]
|
||||||
[ (string_of_int, day2403a); (string_of_int, day2403b) ]
|
|
||||||
|
Reference in New Issue
Block a user