Module regex/parser

regex/parser

Regex pattern parser — parses a regex pattern string into an AST of RegexNode objects. Uses an iterative stack-based approach.

Types

RegexParser object
RegexParser

Fields

NameTypeDescription
_sourceString
_bytes<struct:struct_yo_id_3539>
_posusize
_group_countusize
_group_names<struct:struct_yo_id_62215>
impl(RegexParser, ...)
new : (RegexParser) fn(pattern : String) -> RegexParser

Parameters

NameTypeNotes
patternString

Returns: RegexParser

_peek : (RegexParser) fn(self : RegexParser) -> <enum:enum_yo_id_4572>

Parameters

NameTypeNotes
selfRegexParser

Returns: <enum:enum_yo_id_4572>

_advance : (RegexParser) fn(self : RegexParser) -> <enum:enum_yo_id_4572>

Parameters

NameTypeNotes
selfRegexParser

Returns: <enum:enum_yo_id_4572>

_read_codepoint : (RegexParser) fn(self : RegexParser, first : u8) -> u32

Parameters

NameTypeNotes
selfRegexParser
firstu8

Returns: u32

_at_end : (RegexParser) fn(self : RegexParser) -> bool

Parameters

NameTypeNotes
selfRegexParser

Returns: bool

group_count : (RegexParser) fn(self : RegexParser) -> usize

Parameters

NameTypeNotes
selfRegexParser

Returns: usize

group_names : (RegexParser) fn(self : RegexParser) -> <struct:struct_yo_id_62215>

Parameters

NameTypeNotes
selfRegexParser

Returns: <struct:struct_yo_id_62215>

_lookup_group_name : (RegexParser) fn(self : RegexParser, name : String) -> <enum:enum_yo_id_3398>

Parameters

NameTypeNotes
selfRegexParser
nameString

Returns: <enum:enum_yo_id_3398>

_escape_char_codepoint : (RegexParser) fn(self : RegexParser, ch : u8) -> u32

Parameters

NameTypeNotes
selfRegexParser
chu8

Returns: u32

_parse_number : (RegexParser) fn(self : RegexParser) -> <enum:enum_yo_id_3398>

Parameters

NameTypeNotes
selfRegexParser

Returns: <enum:enum_yo_id_3398>

_parse_greedy_modifier : (RegexParser) fn(self : RegexParser) -> bool

Parameters

NameTypeNotes
selfRegexParser

Returns: bool

_make_digit_ranges : (RegexParser) fn(self : RegexParser) -> <struct:struct_yo_id_62027>

Parameters

NameTypeNotes
selfRegexParser

Returns: <struct:struct_yo_id_62027>

_make_word_ranges : (RegexParser) fn(self : RegexParser) -> <struct:struct_yo_id_62027>

Parameters

NameTypeNotes
selfRegexParser

Returns: <struct:struct_yo_id_62027>

_make_space_ranges : (RegexParser) fn(self : RegexParser) -> <struct:struct_yo_id_62027>

Parameters

NameTypeNotes
selfRegexParser

Returns: <struct:struct_yo_id_62027>

_parse_hex_byte : (RegexParser) fn(self : RegexParser) -> <enum:enum_yo_id_4685>

Parameters

NameTypeNotes
selfRegexParser

Returns: <enum:enum_yo_id_4685>

_parse_class_unwind : (RegexParser) fn(self : RegexParser) -> <enum:enum_yo_id_62915>

Parameters

NameTypeNotes
selfRegexParser

Returns: <enum:enum_yo_id_62915>

_try_parse_char_range : (RegexParser) fn(self : RegexParser, ranges : <struct:struct_yo_id_62027>, low : u32) -> unit

Parameters

NameTypeNotes
selfRegexParser
ranges<struct:struct_yo_id_62027>
lowu32

Returns: unit

_parse_char_class_content : (RegexParser) fn(self : RegexParser, ranges : <struct:struct_yo_id_62027>) -> <enum:enum_yo_id_62921>

Parameters

NameTypeNotes
selfRegexParser
ranges<struct:struct_yo_id_62027>

Returns: <enum:enum_yo_id_62921>

_parse_char_class : (RegexParser) fn(self : RegexParser) -> <enum:enum_yo_id_62924>

Parameters

NameTypeNotes
selfRegexParser

Returns: <enum:enum_yo_id_62924>

_parse_unicode_property : (RegexParser) fn(self : RegexParser, negated : bool) -> <enum:enum_yo_id_62924>

Parameters

NameTypeNotes
selfRegexParser
negatedbool

Returns: <enum:enum_yo_id_62924>

_parse_unwind : (RegexParser) fn(self : RegexParser) -> <enum:enum_yo_id_62924>

Parameters

NameTypeNotes
selfRegexParser

Returns: <enum:enum_yo_id_62924>

_parse_counted_quantifier : (RegexParser) fn(self : RegexParser, atom : RegexNode) -> <enum:enum_yo_id_62924>

Parameters

NameTypeNotes
selfRegexParser
atomRegexNode

Returns: <enum:enum_yo_id_62924>

_parse_atom : (RegexParser) fn(self : RegexParser) -> <enum:enum_yo_id_62924>

Parameters

NameTypeNotes
selfRegexParser

Returns: <enum:enum_yo_id_62924>

_maybe_quantify : (RegexParser) fn(self : RegexParser, a : RegexNode) -> <enum:enum_yo_id_62924>

Parameters

NameTypeNotes
selfRegexParser
aRegexNode

Returns: <enum:enum_yo_id_62924>

_parse_quantified : (RegexParser) fn(self : RegexParser) -> <enum:enum_yo_id_62924>

Parameters

NameTypeNotes
selfRegexParser

Returns: <enum:enum_yo_id_62924>

impl(RegexParser, ...)
_make_sequence : (RegexParser) fn(self : RegexParser, nodes : <struct:struct_yo_id_62022>) -> RegexNode

Parameters

NameTypeNotes
selfRegexParser
nodes<struct:struct_yo_id_62022>

Returns: RegexNode

_finalize_frame : (RegexParser) fn(self : RegexParser, alts : <struct:struct_yo_id_62882>, seq : <struct:struct_yo_id_62022>) -> RegexNode

Parameters

NameTypeNotes
selfRegexParser
alts<struct:struct_yo_id_62882>
seq<struct:struct_yo_id_62022>

Returns: RegexNode

parse : (RegexParser) fn(self : RegexParser) -> <enum:enum_yo_id_62924>

Parameters

NameTypeNotes
selfRegexParser

Returns: <enum:enum_yo_id_62924>