An NFA-based regex engine with a library and command-line tool.
 
 
 
Go to file
Aadhavan Srinivasan f5eb9c8218 Defined postfixNodes for LPAREN and RPAREN
.gitignore Added gitignore
Makefile Disable compile-time optimization
go.mod Updated go.mod
go.sum Print matched content in color
main.go Added initial support for capturing groups
matching.go If the NFA starts with an assertion, make sure it's true before doing anything else. Also, check for last-state _lookaround_ rather than just last state, before breaking (instead of aborting) when the assertion fails
misc.go Added helper function to expand a slice to a given length
nfa.go Added fields to state, to determine capturing group information. 0th group refers to entire match
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 Added more test cases
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)