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
| Name | Type | Description |
|---|---|---|
_source | String | |
_bytes | ArrayList(u8) | |
_pos | usize | |
_group_count | usize | |
_group_names | ArrayList(GroupNameEntry) |
impl(RegexParser, ...)
new : (RegexParser) fn(pattern : String) -> RegexParser_peek : (RegexParser) fn(self : RegexParser) -> Option(u8)_advance : (RegexParser) fn(self : RegexParser) -> Option(u8)_read_codepoint : (RegexParser) fn(self : RegexParser, first : u8) -> u32_at_end : (RegexParser) fn(self : RegexParser) -> boolgroup_count : (RegexParser) fn(self : RegexParser) -> usizegroup_names : (RegexParser) fn(self : RegexParser) -> ArrayList(GroupNameEntry)_lookup_group_name : (RegexParser) fn(self : RegexParser, name : String) -> Option(usize)_escape_char_codepoint : (RegexParser) fn(self : RegexParser, ch : u8) -> u32_parse_number : (RegexParser) fn(self : RegexParser) -> Option(usize)_parse_greedy_modifier : (RegexParser) fn(self : RegexParser) -> bool_make_digit_ranges : (RegexParser) fn(self : RegexParser) -> ArrayList(CharRange)_make_word_ranges : (RegexParser) fn(self : RegexParser) -> ArrayList(CharRange)_make_space_ranges : (RegexParser) fn(self : RegexParser) -> ArrayList(CharRange)_parse_hex_byte : (RegexParser) fn(self : RegexParser) -> Option(u32)_parse_class_escape : (RegexParser) fn(self : RegexParser) -> Result(ArrayList(CharRange), String)_try_parse_char_range : (RegexParser) fn(self : RegexParser, ranges : ArrayList(CharRange), low : u32) -> unit_parse_char_class_content : (RegexParser) fn(self : RegexParser, ranges : ArrayList(CharRange)) -> Result(unit, String)_parse_char_class : (RegexParser) fn(self : RegexParser) -> Result(RegexNode, String)_parse_unicode_property : (RegexParser) fn(self : RegexParser, negated : bool) -> Result(RegexNode, String)_parse_escape : (RegexParser) fn(self : RegexParser) -> Result(RegexNode, String)_parse_counted_quantifier : (RegexParser) fn(self : RegexParser, atom : RegexNode) -> Result(RegexNode, String)_parse_atom : (RegexParser) fn(self : RegexParser) -> Result(RegexNode, String)_maybe_quantify : (RegexParser) fn(self : RegexParser, a : RegexNode) -> Result(RegexNode, String)_parse_quantified : (RegexParser) fn(self : RegexParser) -> Result(RegexNode, String)impl(RegexParser, ...)
_make_sequence : (RegexParser) fn(self : RegexParser, nodes : ArrayList(object(kind: NodeKind))) -> RegexNode_finalize_frame : (RegexParser) fn(self : RegexParser, alts : ArrayList(ArrayList(object(kind: NodeKind))), seq : ArrayList(object(kind: NodeKind))) -> RegexNodeparse : (RegexParser) fn(self : RegexParser) -> Result(RegexNode, String)