Fuzion Logo
fuzion-lang.dev — The Fuzion Language Portal

parsers

nom.parsers

nom.parsers -- namespace for parser combinators and parsers built with nom

Functions

(I 
type
, R 
type
, O 
type
, parser Sequence (nom.this.Parser I R O))
 => 
nom.this.Parser I R O
[Inherited from  branch]
[Contains abstract features]
return result of first succeeding parser
(I 
type
, O1 
type
, O2 
type
, O3 
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]
[Contains abstract features]
discard p1 and p3, return result of p2
match one or more digits
a json parser
(I 
type
, O 
type
, p nom.this.Parser I I O)
 => 
nom.this.Parser I I (Sequence O)
[Inherited from  multi]
[Contains abstract features]
apply parser multiple times, return results as sequence
(I 
type
, O 
type
, p nom.this.Parser I I O)
 => 
nom.this.Parser I I (Sequence O)
[Inherited from  multi]
[Contains abstract features]
apply parser at least once, return results as sequence
(I 
type
, O 
type
, m i32, n i32, p nom.this.Parser I I O)
 => 
nom.this.Parser I I (Sequence O)
[Inherited from  multi]
[Contains abstract features]
apply parser between m and n times, return results as sequence
(I 
type
, O1 
type
, O2 
type
, p1 nom.this.Parser I I O1, p2 nom.this.Parser I I O2)
 => 
nom.this.Parser I I O2
[Inherited from  sequence]
[Contains abstract features]
discard the output of the first parser, return the result of the second parser
(I 
type
, O 
type
, D 
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]
[Contains abstract features]
parse a separated list of values, zero or more values
(I 
type
, O 
type
, D 
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]
[Contains abstract features]
parse a separated list of values, one or more values
(I 
type
, R1 
type
, R2 
type
, R3 
type
, O1 
type
, O2 
type
, O3 
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]
[Contains abstract features]
return result of p1 and p2 as tuple, drop result of p_sep
match str
(T 
type
, cond Unary bool T)
 => 
nom.this.Parser (Sequence T) (Sequence T) (Sequence T)
[Inherited from  sequences]
[Contains abstract features]
take while cond is satisfied
(T 
type
, cond Unary bool T)
 => 
nom.this.Parser (Sequence T) (Sequence T) (Sequence T)
[Inherited from  sequences]
[Contains abstract features]
take while cond is satisfied, at least once
(T 
type
, m i32, n i32, cond Unary bool T)
 => 
nom.this.Parser (Sequence T) (Sequence T) (Sequence T)
[Inherited from  sequences]
[Contains abstract features]
matches input as often as possible but at least m times and at most n times.
(R 
type
, O 
type
, p nom.this.Parser (Sequence codepoint) R O)
 => 
nom.this.Parser String R O
[Inherited from  string_parsers]
[Contains abstract features]
convert a parser taking a sequence of codepoints to a parser that takes a string
(I 
type
, R 
type
, p nom.this.Parser I R (Sequence codepoint))
 => 
nom.this.Parser I R String
[Inherited from  string_parsers]
[Contains abstract features]
convert a parser returning a sequence of codepoints to a parser that returns a string
convert a parser taking and returning to codepoints to a parser taking and returning a string
(I 
type
, O1 
type
, O2 
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]
[Contains abstract features]
apply p1 then p2 and return their results as a tuple.
(I 
type
, O1 
type
, O2 
type
, O3 
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]
[Contains abstract features]
apply p1 then p2 then p3 and return their results as a tuple.
(I 
type
, O1 
type
, O2 
type
, O3 
type
, O4 
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]
[Contains abstract features]
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.094dev (2025-06-18 15:08:51 GIT hash 89cffc23ae669b0898a5564fefbf793fcb8e5ca7 built by fridi@fzen)