An NFA-based regex engine with a library and command-line tool.
 
 
 
Go to file
Aadhavan Srinivasan 8e8067482a Rewrote to use new API for compiling and finding matches
.gitignore Added gitignore
Makefile Disable compile-time optimization
compile.go Major restructuring - added new type, changed return types for shuntingYard and thompson
go.mod Updated go.mod
go.sum Print matched content in color
main.go Made shuntingYard return an error instead of panicking, moved it and thompson to compile.go
matching.go Wrote function to find the 'n'th match of a regex
misc.go Added support for non-capturing groups
nfa.go Use new API for findAllMatches
postfixNode.go Defined postfixNodes for LPAREN and RPAREN
range2regex.go Added function (and helper functions) to generate a regex that matches all numbers in a range
re_test.go Rewrote to use new API for compiling and finding matches
sliceQueue.go Added 'mustPop' function which panics if slice is empty
stateContents.go Got rid of function that I don't need anymore
todo.txt Updated TODO
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)