Liking cljdoc? Tell your friends :D
Clojure only.

crustimoney.core

The main parsing functions.

The main parsing functions.
raw docstring

parseclj

(parse parser text)
(parse parser text opts)

Use the given parser to parse the supplied text string. The result will either be a success (a hiccup-style vector) or a set of errors. By default only named nodes are kept in a success result (the root node is allowed to be nameless).

A success result looks like this:

[:name {:start 0, :end 3}
 [:child-1 {:start 0, :end 2}]
 [:child-2 {:start 2, :end 3}]]

An error result looks like this:

({:key :expected-literal, :at 0, :detail {:literal "foo"}}
 {:key :unexpected-match, :at 8, :detail {:text "eve"}})

The parse function can take an options map, with the following options:

  • :index, the index at which to start parsing in the text, default 0.

  • :cache, the packrat cache to use, see the caches namespace. Default is treemap-cache. To disable caching, use nil.

  • :infinite-check?, check for infinite loops during parsing. Default is true. Setting it to false yields a small performance boost.

  • :keep-nameless?, set this to true if nameless success nodes should be kept in the parse result. This can be useful for debugging. Defaults to false.

Use the given parser to parse the supplied text string. The result
will either be a success (a hiccup-style vector) or a set of
errors. By default only named nodes are kept in a success
result (the root node is allowed to be nameless).

A success result looks like this:

    [:name {:start 0, :end 3}
     [:child-1 {:start 0, :end 2}]
     [:child-2 {:start 2, :end 3}]]

An error result looks like this:

    ({:key :expected-literal, :at 0, :detail {:literal "foo"}}
     {:key :unexpected-match, :at 8, :detail {:text "eve"}})

The parse function can take an options map, with the following
options:

- `:index`, the index at which to start parsing in the text, default 0.

- `:cache`, the packrat cache to use, see the caches namespace.
Default is treemap-cache. To disable caching, use nil.

- `:infinite-check?`, check for infinite loops during parsing.
Default is true. Setting it to false yields a small performance
boost.

- `:keep-nameless?`, set this to true if nameless success nodes
should be kept in the parse result. This can be useful for
debugging. Defaults to false.
sourceraw docstring

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close