This is the context free grammar that recognizes context free grammars.
This is the context free grammar that recognizes context free grammars.
Sets whether all string literal terminals in a built grammar will be treated as case insensitive.
true: case-insensitive
false: case-sensitive
:default: case-sensitive for EBNF, case-insensitive for ABNF
Sets whether all string literal terminals in a built grammar will be treated as case insensitive. `true`: case-insensitive `false`: case-sensitive `:default`: case-sensitive for EBNF, case-insensitive for ABNF
(build-parser spec output-format)(build-parser-from-combinators grammar-map output-format start-production)(build-rule tree)Convert one parsed rule from the grammar into combinators
Convert one parsed rule from the grammar into combinators
(check-grammar grammar-map)Throw error if grammar uses any invalid non-terminals in its productions
Throw error if grammar uses any invalid non-terminals in its productions
(ebnf spec & {:as opts})Takes an EBNF grammar specification string and returns the combinator version. If you give it the right-hand side of a rule, it will return the combinator equivalent. If you give it a series of rules, it will give you back a grammar map. Useful for combining with other combinators.
Takes an EBNF grammar specification string and returns the combinator version. If you give it the right-hand side of a rule, it will return the combinator equivalent. If you give it a series of rules, it will give you back a grammar map. Useful for combining with other combinators.
(escape s)Converts escaped single-quotes to unescaped, and unescaped double-quotes to escaped
Converts escaped single-quotes to unescaped, and unescaped double-quotes to escaped
(process-regexp s)Converts single quoted regexp to double-quoted
Converts single quoted regexp to double-quoted
(process-string s)Converts single quoted string to double-quoted
Converts single quoted string to double-quoted
(regex-doc pattern-str comment)Adds a comment to a Clojure regex, or no-op in ClojureScript
Adds a comment to a Clojure regex, or no-op in ClojureScript
(safe-read-string s)Expects a double-quote at the end of the string
Expects a double-quote at the end of the string
(seq-nt parser)Returns a sequence of all non-terminals in a parser built from combinators.
Returns a sequence of all non-terminals in a parser built from combinators.
(string+ s ci-by-default?)Returns a string combinator that may be case-insensntive, based on (in priority order):
*case-insensitive-literals*, if it has been
overridden to a booleanci-by-default? parameterReturns a string combinator that may be case-insensntive, based on (in priority order): 1) the value of `*case-insensitive-literals*`, if it has been overridden to a boolean 2) the supplied `ci-by-default?` parameter
(wrap-reader reader)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 |