An NFA-based regex engine with a library and command-line tool.
 
 
 
Go to file
Aadhavan Srinivasan d210a85253 Updated handling of '\b' when inside character class, made invalid
escapes an error.

The '\b' value refers to a word boundary normally, but refers to the
backspace ASCII value inside a character class. I updated
newEscapedNode() to deal with this. I also changed the behavior, so that
trying to escape any other value results in an error, instead of just
returning the character as-is.
.gitignore Added gitignore
Makefile Disable compile-time optimization
compile.go Changed the value of EPSILON, so that we can use the NUL character
go.mod Updated go.mod
go.sum Print matched content in color
main.go Renamed function calls to use new names
matching.go Updated function names, addeed new function 'FindString' that returns the _text_ of the match
misc.go Added function to replace an element in a slice given its value
nfa.go Changed the value of EPSILON, so that we can use the NUL character
postfixNode.go Updated handling of '\b' when inside character class, made invalid
range2regex.go Added function (and helper functions) to generate a regex that matches all numbers in a range
re_test.go Updated tests
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)