An NFA-based regex engine with a library and command-line tool.
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Aadhavan Srinivasan 71cab59a89 Got rid of unnecessary special case to match at end-of-string
Instead, I tweaked the rest of the matching function, so that a special
check isn't necessary. If we are trying to match at the end of a string,
we skip any of the actual matching and proceed straight to finding
0-length matches.

This change was made because, with the special case, capturing groups
weren't getting updated if we had an end-of-string match.
1 week ago
.gitignore Added gitignore 2 months ago
Makefile Disable compile-time optimization 2 months ago
go.mod Updated go.mod 2 months ago
go.sum Print matched content in color 2 months ago
main.go Added initial support for capturing groups 2 weeks ago
matching.go Got rid of unnecessary special case to match at end-of-string 1 week ago
misc.go Added helper function to expand a slice to a given length 2 weeks ago
nfa.go Made lookarounds a little more efficient by only matching from (or to, in the case of lookbehind) the current index 2 weeks ago
postfixNode.go Defined postfixNodes for LPAREN and RPAREN 2 weeks ago
range2regex.go Added function (and helper functions) to generate a regex that matches all numbers in a range 4 weeks ago
re_test.go Added more tests 2 weeks ago
sliceQueue.go Added 'mustPop' function which panics if slice is empty 2 months ago
stateContents.go Got rid of function that I don't need anymore 2 months ago
todo.txt Updated TODO 2 weeks ago
unique_array.go Got rid of list for uniq_arr (O(n) deletion) and instead have separate method to create list (O(n) list creation) 2 months ago