Implements Pabu, which is a Prolog-like language for Naga. Parses code and returns Naga rules.
Implements Pabu, which is a Prolog-like language for Naga. Parses code and returns Naga rules.
(ast->axiom {axiom :axiom :as axiom-ast})Inputs: [{axiom :axiom, :as axiom-ast} :- AxiomAST] Returns: Axiom
Converts the axiom structure returned from the parser
Inputs: [{axiom :axiom, :as axiom-ast} :- AxiomAST]
Returns: Axiom
Converts the axiom structure returned from the parser(ast->rule {:keys [head body] :as rule-ast})Inputs: [{:keys [head body], :as rule-ast} :- RuleAST] Returns: Rule
Converts the rule structure returned from the parser
Inputs: [{:keys [head body], :as rule-ast} :- RuleAST]
Returns: Rule
Converts the rule structure returned from the parser(filter->string [p])Inputs: [[p] :- FilterPattern] Returns: s/Str
Inputs: [[p] :- FilterPattern] Returns: s/Str
(pattern->string p)Inputs: [p :- Pattern] Returns: s/Str
Inputs: [p :- Pattern] Returns: s/Str
(predicate->string epv)Inputs: [epv :- EPVPattern] Returns: s/Str
Inputs: [epv :- EPVPattern] Returns: s/Str
(read-str s)Inputs: [s :- s/Str] Returns: {:rules [Rule], :axioms [Axiom]}
Reads a string
Inputs: [s :- s/Str]
Returns: {:rules [Rule], :axioms [Axiom]}
Reads a string(read-stream in)Inputs: [in :- InputStream] Returns: Program
Reads a input stream
Inputs: [in :- InputStream] Returns: Program Reads a input stream
(rule->str rule)(rule->str {:keys [head body name] :as rule} include-name?)(rule->str G__1600)(rule->str G__1604 G__1605)Inputs: ([rule :- Rule] [{:keys [head body name], :as rule} :- Rule include-name? :- s/Bool]) Returns: s/Str
Creates a textual representation for the rule
Inputs: ([rule :- Rule] [{:keys [head body name], :as rule} :- Rule include-name? :- s/Bool])
Returns: s/Str
Creates a textual representation for the rule(structure ast-data)Converts the AST for a structure into either a seq of triplets or predicates. Types are intentionally loose, since it's either a pair or a list.
Converts the AST for a structure into either a seq of triplets or predicates. Types are intentionally loose, since it's either a pair or a list.
(triplet raw)Inputs: [raw] Returns: Triple
Converts raw parsed predicate information into a single triple
Inputs: [raw] Returns: Triple Converts raw parsed predicate information into a single triple
(triplets [property [s o :as args]])Inputs: [[property [s o :as args]]] Returns: [Triple]
Converts raw parsed predicate information into a seq of triples
Inputs: [[property [s o :as args]]] Returns: [Triple] Converts raw parsed predicate information into a seq of triples
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |