package core:text/regex/tokenizer

⌘K
Ctrl+K
or
/

    Index

    Constants (0)

    This section is empty.

    Variables (0)

    This section is empty.

    Procedure Groups (0)

    This section is empty.

    Types

    Error ¶

    Error :: enum int {
    	None, 
    	Illegal_Null_Character, 
    	Illegal_Codepoint, 
    	Illegal_Byte_Order_Mark, 
    }
    Related Procedures With Returns

    Token ¶

    Token :: struct {
    	kind: Token_Kind,
    	text: string,
    	pos:  int,
    }
    Related Procedures With Returns

    Token_Kind ¶

    Token_Kind :: enum int {
    	Invalid, 
    	EOF, 
    	Rune, 
    	Wildcard, 
    	Alternate, 
    	Concatenate, 
    	Repeat_Zero, 
    	Repeat_Zero_Non_Greedy, 
    	Repeat_One, 
    	Repeat_One_Non_Greedy, 
    	Repeat_N, 
    	Optional, 
    	Optional_Non_Greedy, 
    	Rune_Class, 
    	Open_Paren, 
    	Open_Paren_Non_Capture, 
    	Close_Paren, 
    	Anchor_Start, 
    	Anchor_End, 
    	Word_Boundary, 
    	Non_Word_Boundary, 
    }

    Tokenizer ¶

    Tokenizer :: struct {
    	flags:           bit_set[regex_common.Flag; u8],
    	src:             string,
    	ch:              rune,
    	offset:          int,
    	read_offset:     int,
    	last_token_kind: Token_Kind,
    	held_token:      Token,
    	error_state:     Error,
    	paren_depth:     int,
    }
    Related Procedures With Parameters

    Constants

    This section is empty.

    Variables

    This section is empty.

    Procedures

    advance_rune ¶

    advance_rune :: proc(t: ^Tokenizer) -> (err: Error) {…}

    init ¶

    init :: proc(t: ^Tokenizer, str: string, flags: bit_set[regex_common.Flag; u8]) {…}

    peek_byte ¶

    peek_byte :: proc(t: ^Tokenizer, offset: int = 0) -> u8 {…}

    scan ¶

    scan :: proc(t: ^Tokenizer) -> (token: Token) {…}

    scan_class ¶

    scan_class :: proc(t: ^Tokenizer) -> (str: string, ok: bool) {…}

    scan_comment ¶

    scan_comment :: proc(t: ^Tokenizer) {…}

    scan_non_capture_group ¶

    scan_non_capture_group :: proc(t: ^Tokenizer) -> bool {…}

    scan_non_greedy ¶

    scan_non_greedy :: proc(t: ^Tokenizer) -> bool {…}

    scan_repeat ¶

    scan_repeat :: proc(t: ^Tokenizer) -> (str: string, ok: bool) {…}

    Procedure Groups

    This section is empty.

    Source Files

    Generation Information

    Generated with odin version dev-2024-12 (vendor "odin") Windows_amd64 @ 2024-12-17 21:11:02.079362700 +0000 UTC