(index ("char" 0) ("lit" 158) ("alpha" 370) ("binary" 487) ("decimal" 583) ("hexadecimal" 681) ("ascii-char" 803) ("cr" 960) ("lf" 1071) ("crlf" 1176) ("ctl" 1282) ("dquote" 1469) ("htab" 1585) ("lwsp" 1688) ("sp" 1924) ("vspace" 2025) ("wsp" 2203) ("quoted-pair" 2299) ("quoted-string" 2464) ("set" 2767) ("set-from-string" 2887) ("concatenation" 3030) ("alternatives" 3201) ("range" 3379) ("variable-repetition" 3516) ("repetition" 3780) ("repetition1" 3948) ("repetition-n" 4118) ("optional-sequence" 4320) ("pass" 4497) ("bind" 4607) ("bind*" 5002) ("drop-consumed" 5151))
(def (sig (procedure "(char CHAR) => MATCHER" (id char))) (p "Procedure " (tt "char") " builds a pattern matcher function that matches a single character."))
(def (sig (procedure "(lit STRING) => MATCHER" (id lit))) (p (tt "lit") " matches a literal string (case-insensitive).") (p "The following primitive parsers match the rules described in RFC 4234, Section 6.1."))
(def (sig (procedure "(alpha STREAM-LIST) => STREAM-LIST" (id alpha))) (p "Matches any character of the alphabet."))
(def (sig (procedure "(binary STREAM-LIST) => STREAM-LIST" (id binary))) (p "Matches [0..1]."))
(def (sig (procedure "(decimal STREAM-LIST) => STREAM-LIST" (id decimal))) (p "Matches [0..9]."))
(def (sig (procedure "(hexadecimal STREAM-LIST) => STREAM-LIST" (id hexadecimal))) (p "Matches [0..9] and [A..F,a..f]."))
(def (sig (procedure "(ascii-char STREAM-LIST) => STREAM-LIST" (id ascii-char))) (p "Matches any 7-bit US-ASCII character except for NUL (ASCII value 0)."))
(def (sig (procedure "(cr STREAM-LIST) => STREAM-LIST" (id cr))) (p "Matches the carriage return character."))
(def (sig (procedure "(lf STREAM-LIST) => STREAM-LIST" (id lf))) (p "Matches the line feed character."))
(def (sig (procedure "(crlf STREAM-LIST) => STREAM-LIST" (id crlf))) (p "Matches the Internet newline."))
(def (sig (procedure "(ctl STREAM-LIST) => STREAM-LIST" (id ctl))) (p "Matches any US-ASCII control character. That is, any character with a decimal value in the range of [0..31,127]."))
(def (sig (procedure "(dquote STREAM-LIST) => STREAM-LIST" (id dquote))) (p "Matches the double quote character."))
(def (sig (procedure "(htab STREAM-LIST) => STREAM-LIST" (id htab))) (p "Matches the tab character."))
(def (sig (procedure "(lwsp STREAM-LIST) => STREAM-LIST" (id lwsp))) (p "Matches linear white-space. That is, any number of consecutive " (tt "wsp") ", optionally followed by a " (tt "crlf") " and (at least) one more " (tt "wsp") "."))
(def (sig (procedure "(sp STREAM-LIST) => STREAM-LIST" (id sp))) (p "Matches the space character."))
(def (sig (procedure "(vspace STREAM-LIST) => STREAM-LIST" (id vspace))) (p "Matches any printable ASCII character.  That is, any character in the decimal range of [33..126]."))
(def (sig (procedure "(wsp STREAM-LIST) => STREAM-LIST" (id wsp))) (p "Matches space or tab."))
(def (sig (procedure "(quoted-pair STREAM-LIST) => STREAM-LIST" (id quoted-pair))) (p "Matches a quoted pair. Any characters (excluding CR and LF) may be quoted."))
(def (sig (procedure "(quoted-string STREAM-LIST) => STREAM-LIST" (id quoted-string))) (p "Matches a quoted string. The slash and double quote characters must be escaped inside a quoted string; CR and LF are not allowed at all.") (p "The following additional procedures are provided for convenience:"))
(def (sig (procedure "(set CHAR-SET) => MATCHER" (id set))) (p "Matches any character from an SRFI-14 character set."))
(def (sig (procedure "(set-from-string STRING) => MATCHER" (id set-from-string))) (p "Matches any character from a set defined as a string."))
(def (sig (procedure "(concatenation MATCHER-LIST) => MATCHER" (id concatenation))) (p (tt "concatenation") " matches an ordered list of rules. (RFC 4234, Section 3.1)"))
(def (sig (procedure "(alternatives MATCHER-LIST) => MATCHER" (id alternatives))) (p (tt "alternatives") " matches any one of the given list of rules. (RFC 4234, Section 3.2)"))
(def (sig (procedure "(range C1 C2) => MATCHER" (id range))) (p (tt "range") " matches a range of characters. (RFC 4234, Section 3.4)"))
(def (sig (procedure "(variable-repetition MIN MAX MATCHER) => MATCHER" (id variable-repetition))) (p (tt "variable-repetition") " matches between " (tt "MIN") " and " (tt "MAX") " or more consecutive elements that match the given rule. (RFC 4234, Section 3.6)"))
(def (sig (procedure "(repetition MATCHER) => MATCHER" (id repetition))) (p (tt "repetition") " matches zero or more consecutive elements that match the given rule."))
(def (sig (procedure "(repetition1 MATCHER) => MATCHER" (id repetition1))) (p (tt "repetition1") " matches one or more consecutive elements that match the given rule."))
(def (sig (procedure "(repetition-n N MATCHER) => MATCHER" (id repetition-n))) (p (tt "repetition-n") " matches exactly " (tt "N") " consecutive occurences of the given rule. (RFC 4234, Section 3.7)"))
(def (sig (procedure "(optional-sequence MATCHER) => MATCHER" (id optional-sequence))) (p (tt "optional-sequence") " matches the given optional rule. (RFC 4234, Section 3.8)"))
(def (sig (procedure "(pass) => MATCHER" (id pass))) (p "This matcher returns without consuming any input."))
(def (sig (procedure "(bind F P) => MATCHER" (id bind))) (p "Given a rule " (tt "P") " and function " (tt "F") ", returns a matcher that first applies " (tt "P") " to the input stream, then applies " (tt "F") " to the returned list of consumed tokens, and returns the result and the remainder of the input stream.") (p "Note: this combinator will signal failure if the input stream is empty."))
(def (sig (procedure "(bind* F P) => MATCHER" (id bind*))) (p "The same as " (tt "bind") ", but will signal success if the input stream is empty."))
(def (sig (procedure "(drop-consumed P) => MATCHER" (id drop-consumed))) (p "Given a rule " (tt "P") ", returns a matcher that always returns an empty list of consumed tokens when " (tt "P") " succeeds."))
