|
|
|
(*
|
|
|
|
* Copyright (c) 2017 - present Facebook, Inc.
|
|
|
|
* All rights reserved.
|
|
|
|
*
|
|
|
|
* This source code is licensed under the BSD style license found in the
|
|
|
|
* LICENSE file in the root directory of this source tree. An additional grant
|
|
|
|
* of patent rights can be found in the PATENTS file in the same directory.
|
|
|
|
*)
|
|
|
|
|
|
|
|
open! IStd
|
|
|
|
|
|
|
|
type keyword = Doc_url | Message | Mode | Name | Report_when | Severity | Suggestion
|
|
|
|
|
|
|
|
type formula_id = Formula_id of string
|
|
|
|
|
|
|
|
type alexp = Const of string | Regexp of string | Var of string | FId of formula_id
|
|
|
|
|
|
|
|
type t = alexp
|
|
|
|
|
|
|
|
val equal : t -> t -> bool
|
|
|
|
|
|
|
|
val formula_id_to_string : formula_id -> string
|
|
|
|
|
|
|
|
val alexp_to_string : t -> string
|
|
|
|
|
|
|
|
val keyword_to_string : keyword -> string
|
|
|
|
|
|
|
|
val is_report_when_keyword : keyword -> bool
|
|
|
|
|
|
|
|
val is_message_keyword : keyword -> bool
|
|
|
|
|
|
|
|
val is_suggestion_keyword : keyword -> bool
|
|
|
|
|
|
|
|
val is_severity_keyword : keyword -> bool
|
|
|
|
|
|
|
|
val is_mode_keyword : keyword -> bool
|
|
|
|
|
|
|
|
val is_doc_url_keyword : keyword -> bool
|
|
|
|
|
|
|
|
val is_name_keyword : keyword -> bool
|
|
|
|
|
|
|
|
val str_match_regex : string -> string -> bool
|
|
|
|
|
|
|
|
val compare_str_with_alexp : string -> alexp -> bool
|
|
|
|
|
|
|
|
module FormulaIdMap : Caml.Map.S with type key = formula_id
|
|
|
|
|
|
|
|
module VarMap : Caml.Map.S with type key = string
|