AFTN.MapMap parsing and utilities
type room = {name : string;Name of this room. If None, this room is a corridor
*)is_corridor : bool;If the room is a corridor
*)connections : string list;Connections denoted by room names - required as opposed to room list due to functional update of map
ladder_connection : string option;Room connected by a ladder
*)}val string_of_room : room -> stringGet string representation of room
val blank_room : roomval new_room : string -> roomCreate new non-corridor room
val map_file_of_map : map -> stringGet a string representation of a map that is equivalent to the input map file
val blank_map : mapval string_of_parsing_state : map_parsing_state -> stringval advance_parsing_state :
map_parsing_state option ->
map_parsing_state optionStep parsing state forward
val parse_map_file : string -> mapRead a map file and parse it into a map
val active_search_params : search_params Stdlib.refval set_room_distance : room -> int -> unitval discover_room : room -> unitFind rooms in m that are exactly distance steps away from root
val visited_rooms : room list Stdlib.ref