77d19cd84eAdded lookaround-related fields to State struct, added lookaround support to checkAssertion()Aadhavan Srinivasan2024-11-22 00:11:51 -0500
051a8551f3Match zero-length match at end of string, even if the start node is an assertion (end of string, lookarounds, etc.)Aadhavan Srinivasan2024-11-22 00:10:58 -0500
11c0a0552fAdded support for lokarounds; parsing and adding nodes for different lookaroundsAadhavan Srinivasan2024-11-22 00:10:15 -0500
c807d6664eChanged generation of characters for non-whitespace, non-digit and non-word characters - it's basically an inverted character class nowAadhavan Srinivasan2024-11-20 10:39:24 -0500
e882f41400Added fields to denote all the characters that an 'allChars' postfixNode _shouldn't_ represent (useful for inverting character classes)Aadhavan Srinivasan2024-11-20 09:41:32 -0500
b3ee1fe5e8Convert an inverting character class into an 'allChars' node, with the characters marked as exceptionsAadhavan Srinivasan2024-11-20 09:40:40 -0500
708a9e1303Added field to denote all characters which an 'allChars' node _shouldn't_ match (useful for invertinc character classesAadhavan Srinivasan2024-11-20 09:39:24 -0500
c694c47be7Added flag to print match indices, and to enable multi-line modeAadhavan Srinivasan2024-11-20 01:06:23 -0500
992c5a9300Replaced isAlphaNum() with isNormalChar(), which returns true if the character isn't special (also returns true for unicode characters, which the previous function didn'tAadhavan Srinivasan2024-11-20 00:24:43 -0500
805766a5baAdded support for -l : only print lines with at least one match (or with exactly 0 matches, if -v is enabledAadhavan Srinivasan2024-11-18 10:02:25 -0500
f2b8812b05Added support for -v flag, to invert which values are printed in color. Also got rid of unecessary 'else' clauseAadhavan Srinivasan2024-11-17 22:19:55 -0500
11641596faRead 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 colorAadhavan Srinivasan2024-11-17 21:49:11 -0500
7d265495f5Got rid of list for uniq_arr (O(n) deletion) and instead have separate method to create list (O(n) list creation)Aadhavan Srinivasan2024-11-07 15:55:13 -0500
e2e99ff6a9Added fnunction to generate numbers in a range; added capacity to some slices to prevent unnecessary reallocationsAadhavan Srinivasan2024-11-06 15:16:51 -0500
8a69ea8cb7Added unique array data structure - O(1) addition and retrieval (I think)Aadhavan Srinivasan2024-11-06 15:13:35 -0500
21142e6e13Wrote function to clone the NFA starting at a given state, and a function to find question mark operator (a? == (a|))Aadhavan Srinivasan2024-11-03 14:37:38 -0500
b602295beeAdded support for specifying how often a postfixNode is repeatedAadhavan Srinivasan2024-11-03 14:36:56 -0500
1d9d1a5b81Fixed calculation of overlapping (used to check for subset instead)Aadhavan Srinivasan2024-11-03 14:36:23 -0500
d8f52b8cccAdded support for numeric specifiers, moved question mark operator to its own functionAadhavan Srinivasan2024-11-03 14:36:04 -0500
dca81c1796Replaced rune-slice parameters with string parameters in functions; avoids unnecessary conversion from strings to rune-slicesAadhavan Srinivasan2024-11-01 01:53:50 -0400
1aff6e2fa4Added a field to State, that tells me what kind of assertion (if any) it is making. Also added function to check if a state's contents contain a given value (checks assertions), and to find all matches that a state has for a characterAadhavan Srinivasan2024-10-31 17:13:34 -0400
f3bf5e9740Added function to check for word boundaries and delete an element from a sliceAadhavan Srinivasan2024-10-31 17:09:25 -0400
7b815343f4Removed exclamation mark in inverted metacharacters - had the opposite effect becasue of the way deleteFunc worksAadhavan Srinivasan2024-10-29 10:07:55 -0400
3778869567Use stateContents type to allow a state to store multiple charactersAadhavan Srinivasan2024-10-28 17:38:43 -0400
4f2f14212cUse contains function, since the content may have multiple charactersAadhavan Srinivasan2024-10-28 17:37:55 -0400
11073759e3Added support for character classes (not ranges, yet); also take input from stdin instead of cmdline argAadhavan Srinivasan2024-10-28 17:37:20 -0400
cd680371fbAdded function allEqual - checks if all given values are equalAadhavan Srinivasan2024-10-28 17:31:21 -0400
df6efcd1f0Unique append to match indices (ensure match indices aren't repeatedAadhavan Srinivasan2024-10-28 15:44:37 -0400
ae219f763aAdded alternate function, removed relevant code from main; also started working on escape charactersAadhavan Srinivasan2024-10-27 15:30:33 -0400
95654e3e34Take all possible 0-states (until no more left to take) before checking if we are in an acceptable positionAadhavan Srinivasan2024-10-27 14:56:28 -0400