package conan

  1. Overview
  2. Docs
type s
type numeric = [
  1. | `Byte
  2. | `Short
  3. | `Long
  4. | `Quad
  5. | `Date
  6. | `Ldate
  7. | `Qdate
  8. | `Qldate
  9. | `Qwdate
  10. | `Double
  11. | `Float
]
type rule = offset * kind * test * message
and offset = int * [ `Abs of int64 | `Rel of int64 | `Ind of [ `Abs | `Rel ] * ([ `Abs of int64 | `Rel of int64 ] * Size.t option * [ `Dir of int64 | `Ind of int64 ] Arithmetic.t option) ]
and kind = bool * [ `Numeric of [ `BE | `LE | `ME ] option * numeric * int64 Arithmetic.t option | `Default | `Clear | `Offset | `Indirect of bool | `Regex of (bool * bool * bool * int64) option | `String16 of [ `BE | `LE ] | `String8 of (bool * bool * bool * bool) option | `Search of (search_flag list * int64 option) option ]
and search_flag = [
  1. | `t
  2. | `T
  3. | `b
  4. | `B
  5. | `c
  6. | `C
  7. | `w
  8. | `W
]
and test = [
  1. | `True
  2. | `Numeric of (Number.t * string) Comparison.t
  3. | `String of string Comparison.t
]
and message = [
  1. | `No_space of string
  2. | `Space of string
]
type line = [
  1. | `Comment
  2. | `Apple of string
  3. | `Ext of string
  4. | `Mime of string
  5. | `Strength of int64 Arithmetic.t
  6. | `Rule of rule
  7. | `Name of offset * string
  8. | `Guid of offset * string
  9. | `Use of offset * bool * string
]
type error = [
  1. | `Empty
  2. | `Missing_test of s
  3. | `Unmatched_parenthesis of s
  4. | `Unexpected_trailer of s
  5. | `Invalid_number of s
  6. | `Invalid_integer of string
  7. | `Invalid_strength
  8. | `Invalid_type of s
  9. | `No_prefix of s * s
  10. | `Unsupported_type
  11. | `Invalid_use_command
]
val pp_error : Format.formatter -> error -> unit
val parse_line : string -> (line, error) result
val parse_in_channel : in_channel -> (line list, [> error ]) result