12345678910111213141516171819202122232425262728293031323334353637(** Read CSVs & CSV-like delimited formats (following the CSV quoting behaviour).
These formats are loosely documented by RFC 4180: https://www.ietf.org/rfc/rfc4180.txt
*)moduleRead=Read(** Write CSVs & CSV-like delimited formats. *)moduleWrite=structincludeWrite(** Helper for converting from the old interface. Use this snippet in files
to disable the expert interface:
{[
module Delimited = struct
include Delimited
module Write = Delimited.Write.Without_expert
end
]}
*)moduleWithout_expert:moduletypeofWritewithmoduleExpert:=Write.Expert=Writeend(** Parsers for non-CSV-like formats *)moduleNon_csv=struct(** [Character_separated_without_quoting] parses fields separated by a character, where
fields may contain escaped characters (e,g, [\n]) but fields may not be quoted (e.g.,
["foo bar"]). *)moduleCharacter_separated_without_quoting=Character_separated_without_quoting(** [Positional] parses fixed-width fields. *)modulePositional=Positionalend(** {1} Modules shared between multiple parsers. *)moduleShared=Shared