module type PARSE =sig
..end
type
term
type
lit
type
clause
typename_ctx =
(string, term) Hashtbl.t
val create_ctx : unit -> name_ctx
val term_of_ast : ctx:name_ctx -> TopDownAst.term -> term
val lit_of_ast : ctx:name_ctx -> TopDownAst.literal -> lit
val clause_of_ast : ?ctx:name_ctx -> TopDownAst.clause -> clause
val clauses_of_ast : ?ctx:name_ctx ->
TopDownAst.clause list -> clause list
val parse_chan : Pervasives.in_channel ->
[ `Error of string | `Ok of clause list ]
val parse_file : string -> [ `Error of string | `Ok of clause list ]
val parse_string : string -> [ `Error of string | `Ok of clause list ]
val clause_of_string : string -> clause
Parse a clause from a string, or fail. Useful shortcut to define properties of relations without building terms by hand.
Failure
if the string is not a valid clauseval term_of_string : string -> term
Failure
if the string is not a valid term