(**
Module [LinkGrammar]: Provides an Ocaml interface to LinkGrammar --
A parser for sentences
The Ocaml API maps almost 1-1 with the LinkGrammar C API -
see description of the C API at:
http://abisource.com/projects/link-grammar/api/index.html
Author: Ramu Ramamurthy ramu_ramamurthy at yahoo dot com
(C) 2006
This software is released under the BSD license
*)
(**
{b ------parse options and operations on it------}
*)
type parseOptions
val poCreate : unit -> parseOptions
val poGetVerbosity : parseOptions -> int
val poSetVerbosity : parseOptions -> int -> unit
val poGetLinkageLimit : parseOptions -> int
val poSetLinkageLimit : parseOptions -> int -> unit
val poGetDisjunctCost : parseOptions -> int
val poSetDisjunctCost : parseOptions -> int -> unit
val poGetMinNullCount : parseOptions -> int
val poSetMinNullCount : parseOptions -> int -> unit
val poGetMaxNullCount : parseOptions -> int
val poSetMaxNullCount : parseOptions -> int -> unit
val poGetNullBlock : parseOptions -> int
val poSetNullBlock : parseOptions -> int -> unit
val poGetShortLength : parseOptions -> int
val poSetShortLength : parseOptions -> int -> unit
val poGetIslandsOk : parseOptions -> int
val poSetIslandsOk : parseOptions -> int -> unit
val poGetMaxParseTime : parseOptions -> int
val poSetMaxParseTime : parseOptions -> int -> unit
val poTimerExpired : parseOptions -> int
val poResetResources : parseOptions -> unit
val poGetAllowNull : parseOptions -> int
val poSetAllowNull : parseOptions -> int -> unit
val poGetAllShortConnectors : parseOptions -> int
val poSetAllShortConnectors : parseOptions -> int -> unit
(**
{b -------dictionary and operations on it--------}
*)
type dictionary
(**
See notes in the README file on specifying paths to
dictionary files
*)
val dictCreate : string -> dictionary
(**
{b -------sentences and operations on it--------}
*)
type sentence
val sentCreate : dictionary -> string -> sentence
val sentParse : sentence -> parseOptions -> int
val sentLength : sentence -> int
val sentNullCount : sentence -> int
val sentNumLinkagesFound : sentence -> int
val sentNumValidLinkages : sentence -> int
val sentNumLinkagesPP : sentence -> int
val sentNumViolations : sentence -> int -> int
val sentDisjunctCost : sentence -> int -> int
(**
{b -------linkage and operations on it--------}
*)
type linkage
val linkageCreate : sentence -> int -> parseOptions -> linkage
val linkageGetNumWords : linkage -> int
val linkageGetNumLinks : linkage -> int
val linkageGetLinkLength : linkage -> int -> int
val linkageGetLinkLword : linkage -> int -> int
val linkageGetLinkRword : linkage -> int -> int
val linkagePrintDiagram : linkage -> string
val linkagePrintPostscript : linkage -> int -> string
val linkagePrintLinksAndDomains : linkage -> string
val linkageGetLinkLabel : linkage -> int -> string
val linkageGetLinkLlabel : linkage -> int -> string
val linkageGetLinkRlabel : linkage -> int -> string
val linkageGetWords : linkage -> string list
val linkageGetWord : linkage -> int -> string
val linkageGetNumDomains : linkage -> int -> int
val linkageGetLinkDomainNames : linkage -> int -> string list
val linkageGetViolationName : linkage -> string
val linkageUnusedWordCost : linkage -> int
val linkageDisjunctCost : linkage -> int
val linkageLinkCost : linkage -> int