elpi

ELPI - Embeddable λProlog Interpreter
Library elpi
Module Elpi . API . Parse
val program : elpi:Setup.elpi -> files:string list -> Ast.program

program file_list parses a list of files, Raises Failure if the file does not exist.

val program_from : elpi:Setup.elpi -> loc:Ast.Loc.t -> Lexing.lexbuf -> Ast.program
val goal : elpi:Setup.elpi -> loc:Ast.Loc.t -> text:string -> Ast.query

goal file_list parses the query, Raises Failure if the file does not exist.

val goal_from : elpi:Setup.elpi -> loc:Ast.Loc.t -> Lexing.lexbuf -> Ast.query
val resolve_file : elpi:Setup.elpi -> ?cwd:string -> unit:string -> unit -> string

resolve f computes the full path of f as the parser would do (also) for files recursively accumulated. Raises Failure if the file does not exist.

val std_resolver : ?cwd:string -> paths:string list -> unit -> ?cwd:string -> unit:string -> unit -> string

std_resolver cwd paths () returns a resolver function that looks in cwd and paths (relative to cwd, or absolute)

exception ParseError of Ast.Loc.t * string