parsers
nom.parsers
nom.parsers -- namespace for parser combinators and parsers built with nom
Functions
(I type:Type, R type:Type, O type:Type, parser Sequence (nom.this.Parser I R O)) => nom.this.Parser I R O[Inherited from branch]¶
(I
type
:
Type, R type
:
Type, O type
:
Type, parser Sequence (nom.this.Parser I R O)) =>
nom.this.Parser I R O[Inherited from branch]
¶return result of first succeeding parser
(I type:Type, O1 type:Type, O2 type:Type, O3 type:Type, p1 nom.this.Parser I I O1, p2 nom.this.Parser I I O2, p3 nom.this.Parser I I O3) => nom.this.Parser I I O2[Inherited from sequence]¶
(I
type
:
Type, O1 type
:
Type, O2 type
:
Type, O3 type
:
Type, p1 nom.this.Parser I I O1, p2 nom.this.Parser I I O2, p3 nom.this.Parser I I O3) =>
nom.this.Parser I I O2[Inherited from sequence]
¶discard p1 and p3, return result of p2
match one or more digits
(I type:Type, O type:Type, p nom.this.Parser I I O) => nom.this.Parser I I (Sequence O)[Inherited from multi]¶
(I
type
:
Type, O type
:
Type, p nom.this.Parser I I O) =>
nom.this.Parser I I (Sequence O)[Inherited from multi]
¶apply parser multiple times, return results as sequence
(I type:Type, O type:Type, p nom.this.Parser I I O) => nom.this.Parser I I (Sequence O)[Inherited from multi]¶
(I
type
:
Type, O type
:
Type, p nom.this.Parser I I O) =>
nom.this.Parser I I (Sequence O)[Inherited from multi]
¶apply parser at least once, return results as sequence
(I type:Type, O type:Type, m i32, n i32, p nom.this.Parser I I O) => nom.this.Parser I I (Sequence O)[Inherited from multi]¶
(I
type
:
Type, O type
:
Type, m i32, n i32, p nom.this.Parser I I O) =>
nom.this.Parser I I (Sequence O)[Inherited from multi]
¶apply parser between m and n times, return results as sequence
(I type:Type, O1 type:Type, O2 type:Type, p1 nom.this.Parser I I O1, p2 nom.this.Parser I I O2) => nom.this.Parser I I O2[Inherited from sequence]¶
(I
type
:
Type, O1 type
:
Type, O2 type
:
Type, p1 nom.this.Parser I I O1, p2 nom.this.Parser I I O2) =>
nom.this.Parser I I O2[Inherited from sequence]
¶discard the output of the first parser, return the result of the second parser
(I type:Type, O type:Type, D type:Type, p_sep nom.this.Parser I I D, p_value nom.this.Parser I I O) => nom.this.Parser I I (Sequence O)[Inherited from multi]¶
(I
type
:
Type, O type
:
Type, D type
:
Type, p_sep nom.this.Parser I I D, p_value nom.this.Parser I I O) =>
nom.this.Parser I I (Sequence O)[Inherited from multi]
¶parse a separated list of values, zero or more values
(I type:Type, O type:Type, D type:Type, p_sep nom.this.Parser I I D, p_value Function (nom.this.Parser I I O)) => nom.this.Parser I I (Sequence O)[Inherited from multi]¶
(I
type
:
Type, O type
:
Type, D type
:
Type, p_sep nom.this.Parser I I D, p_value Function (nom.this.Parser I I O)) =>
nom.this.Parser I I (Sequence O)[Inherited from multi]
¶parse a separated list of values, one or more values
(I type:Type, R1 type:Type, R2 type:Type, R3 type:Type, O1 type:Type, O2 type:Type, O3 type:Type, p1 nom.this.Parser I R1 O1, p_sep nom.this.Parser R1 R2 O2, p2 Function (nom.this.Parser R2 R3 O3)) => nom.this.Parser I R3 (tuple O1 O3)[Inherited from sequence]¶
(I
type
:
Type, R1 type
:
Type, R2 type
:
Type, R3 type
:
Type, O1 type
:
Type, O2 type
:
Type, O3 type
:
Type, p1 nom.this.Parser I R1 O1, p_sep nom.this.Parser R1 R2 O2, p2 Function (nom.this.Parser R2 R3 O3)) =>
nom.this.Parser I R3 (tuple O1 O3)[Inherited from sequence]
¶return result of p1 and p2 as tuple, drop result of p_sep
(str String) => nom.this.Parser (Sequence codepoint) (Sequence codepoint) (Sequence codepoint)[Inherited from string_parsers]¶
(str String)
=>
nom.this.Parser (Sequence codepoint) (Sequence codepoint) (Sequence codepoint)[Inherited from string_parsers]
¶match str
(T type:Type, cond Unary bool T) => nom.this.Parser (Sequence T) (Sequence T) (Sequence T)[Inherited from sequences]¶
(T
type
:
Type, cond Unary bool T) =>
nom.this.Parser (Sequence T) (Sequence T) (Sequence T)[Inherited from sequences]
¶take while cond is satisfied
(T type:Type, cond Unary bool T) => nom.this.Parser (Sequence T) (Sequence T) (Sequence T)[Inherited from sequences]¶
(T
type
:
Type, cond Unary bool T) =>
nom.this.Parser (Sequence T) (Sequence T) (Sequence T)[Inherited from sequences]
¶take while cond is satisfied, at least once
(T type:Type, m i32, n i32, cond Unary bool T) => nom.this.Parser (Sequence T) (Sequence T) (Sequence T)[Inherited from sequences]¶
(T
type
:
Type, m i32, n i32, cond Unary bool T) =>
nom.this.Parser (Sequence T) (Sequence T) (Sequence T)[Inherited from sequences]
¶matches input as often as possible but at least m times and at most n times.
(R type:Type, O type:Type, p nom.this.Parser (Sequence codepoint) R O) => nom.this.Parser String R O[Inherited from string_parsers]¶
(R
type
:
Type, O type
:
Type, p nom.this.Parser (Sequence codepoint) R O) =>
nom.this.Parser String R O[Inherited from string_parsers]
¶convert a parser taking a sequence of codepoints to a parser that takes a string
(I type:Type, R type:Type, p nom.this.Parser I R (Sequence codepoint)) => nom.this.Parser I R String[Inherited from string_parsers]¶
(I
type
:
Type, R type
:
Type, p nom.this.Parser I R (Sequence codepoint)) =>
nom.this.Parser I R String[Inherited from string_parsers]
¶convert a parser returning a sequence of codepoints to a parser that returns a string
(R type:Type, p nom.this.Parser (Sequence codepoint) R (Sequence codepoint)) => nom.this.Parser String R String[Inherited from string_parsers]¶
(R
type
:
Type, p nom.this.Parser (Sequence codepoint) R (Sequence codepoint)) =>
nom.this.Parser String R String[Inherited from string_parsers]
¶convert a parser taking and returning to codepoints to a parser taking and returning a string
(I type:Type, O1 type:Type, O2 type:Type, p1 nom.this.Parser I I O1, p2 nom.this.Parser I I O2) => nom.this.Parser I I (tuple O1 O2)[Inherited from sequence]¶
(I
type
:
Type, O1 type
:
Type, O2 type
:
Type, p1 nom.this.Parser I I O1, p2 nom.this.Parser I I O2) =>
nom.this.Parser I I (tuple O1 O2)[Inherited from sequence]
¶apply p1 then p2 and return their results as a tuple.
(I type:Type, O1 type:Type, O2 type:Type, O3 type:Type, p1 nom.this.Parser I I O1, p2 nom.this.Parser I I O2, p3 nom.this.Parser I I O3) => nom.this.Parser I I (tuple O1 O2 O3)[Inherited from sequence]¶
(I
type
:
Type, O1 type
:
Type, O2 type
:
Type, O3 type
:
Type, p1 nom.this.Parser I I O1, p2 nom.this.Parser I I O2, p3 nom.this.Parser I I O3) =>
nom.this.Parser I I (tuple O1 O2 O3)[Inherited from sequence]
¶apply p1 then p2 then p3 and return their results as a tuple.
(I type:Type, O1 type:Type, O2 type:Type, O3 type:Type, O4 type:Type, p1 nom.this.Parser I I O1, p2 nom.this.Parser I I O2, p3 nom.this.Parser I I O3, p4 nom.this.Parser I I O4) => nom.this.Parser I I (tuple O1 O2 O3 O4)[Inherited from sequence]¶
(I
type
:
Type, O1 type
:
Type, O2 type
:
Type, O3 type
:
Type, O4 type
:
Type, p1 nom.this.Parser I I O1, p2 nom.this.Parser I I O2, p3 nom.this.Parser I I O3, p4 nom.this.Parser I I O4) =>
nom.this.Parser I I (tuple O1 O2 O3 O4)[Inherited from sequence]
¶apply p1 then p2 then p3, then p4 and return their results as a tuple.
match zero or more whitespace
Choice Types
json supports the following types: strings, numbers, booleans, null, arrays and objects
0.095dev (2025-08-15 12:02:22 GIT hash 301b5b75e77076d091b38f555473f9f0e31e5b5c built by fridi@fzen)