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 11641596fa Read multiple lines from stdin and apply regex to each one; Convert the array of matchIndex structs into a flat array of indices; speeds up process of checking if we have to print a character in color 1 month 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 Read multiple lines from stdin and apply regex to each one; Convert the array of matchIndex structs into a flat array of indices; speeds up process of checking if we have to print a character in color 1 month ago
matching.go Made findAllMatchesHelper non-recursive, added pruneIndices (improved performance) and more changes 2 months ago
misc.go Added fnunction to generate numbers in a range; added capacity to some slices to prevent unnecessary reallocations 2 months ago
nfa.go Wrote function to clone the NFA starting at a given state, and a function to find question mark operator (a? == (a|)) 2 months ago
postfixNode.go Added node types for left and right parentheses 2 months ago
re_test.go Changed type from matchIndex to MatchIndex 2 months 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 1 month 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