@@ -1,6 +1,14 @@
// This package helps break dependency cycles.
package regex_common
+/*
+ (c) Copyright 2024 Feoramund <[email protected]>.
+ Made available under Odin's BSD-3 license.
+
+ List of contributors:
+ Feoramund: Initial implementation.
+*/
// VM limitations
MAX_CAPTURE_GROUPS :: max(#config(ODIN_REGEX_MAX_CAPTURE_GROUPS, 10), 10)
MAX_PROGRAM_SIZE :: int(max(i16))
@@ -1,5 +1,13 @@
@require import "core:os"
import "core:io"
import "core:strings"
package regex_compiler
import "base:intrinsics"
import "core:text/regex/common"
import "core:text/regex/parser"
package regex_optimizer
@require import "core:io"
import "core:slice"
package regex_parser
write_node :: proc(w: io.Writer, node: Node) {
import "core:strconv"
package regex
import "core:text/regex/compiler"
import "core:text/regex/optimizer"
package regex_tokenizer
import "core:unicode/utf8"
package regex_vm
Opcode_Iterator :: struct {
code: Program,
pc: int,