api
regex.ch
Declarations in regex.ch
1 declarationsregex
Declarations
Public only
regex#
Publicnamespace
namespace regex
CharRange#
Publicstruct
struct CharRange {
var lo : i64
var hi : i64
}
CharClass#
Publicstruct
NFAState#
Publicstruct
struct NFAState {
var kind : i64
var ch : i64
var class_idx : i64
var out1 : i64
var out2 : i64
var save_idx : i64
}
PatchPtr#
Publicstruct
struct PatchPtr {
var state_idx : i64
var slot : i64
}
VisitedFrame#
Publicstruct
struct VisitedFrame {
var state_idx : i64
var pos : size_t
}
Frag#
Publicstruct
Captures#
Publicstruct
Regex#
Publicstruct
struct Regex {
var states : vector<NFAState>
var classes : vector<CharClass>
var start_state : i64
var num_captures : i64
var pattern : string
var compile_error : string
}
compile#
Publicfunction
=========================================================================
new_state#
function
func new_state(states : &vector<NFAState>, kind : i64, ch : i64, class_idx : i64, out1 : i64, out2 : i64, save_idx : i64) : i64
=========================================================================
patch_list#
function
append_patch_list#
function
Parser#
Publicstruct
struct Parser {
var pattern : string_view
var pos : size_t
var group_count : i64
var error : string
}
=========================================================================
parse_class_item#
function
func parse_class_item(p : &Parser) : i64
=========================================================================
is_escape_class#
function
func is_escape_class(c : i64) : bool
parse_char_class#
function
=========================================================================
append_escape_class_ranges#
function
func append_escape_class_ranges(cd : *CharClass, esc : i64) : void
compile_internal#
function
func compile_internal(pattern : string_view, states : &vector<NFAState>, classes : &vector<CharClass>, start_state : *i64, num_captures : *i64, error : &string) : bool
=========================================================================
parse_regex#
function
parse_alternation#
function
parse_concatenation#
function
parse_repetition#
function
parse_atom#
function
add_state#
function
=========================================================================
run_prog#
function
func run_prog(states : &vector<NFAState>, classes : &vector<CharClass>, start : i64, text : string_view, text_start : size_t, text_end : size_t) : bool
expand_non_consuming#
function
copy_visited_vec#
function
visited_contains#
function
run_prog_with_captures_impl#
function
func run_prog_with_captures_impl(states : &vector<NFAState>, classes : &vector<CharClass>, sid : i64, text : string_view, pos : size_t, text_end : size_t, positions : &vector<i64>, path : &vector<VisitedFrame>) : bool
run_prog_with_captures#
function
run_prog_exact#
function
func run_prog_exact(states : &vector<NFAState>, classes : &vector<CharClass>, start : i64, text : string_view, text_start : size_t, text_end : size_t) : bool
find_captures#
function
find_captures_from#
function
find_match#
function
func find_match(states : &vector<NFAState>, classes : &vector<CharClass>, start : i64, text : string_view, text_start : size_t, match_end : *i64) : bool
find_from#
function
func find_from(states : &vector<NFAState>, classes : &vector<CharClass>, start_state : i64, text : string_view, search_start : size_t, start_out : *i64, end_out : *i64) : bool
append_replacement#
function
func append_replacement(result : &string, replacement : string_view, captures : &vector<i64>, text : string_view) : void