Commit Graph

21 Commits (298285e44c70f9838d41340df9b20432844041d6)

Author SHA1 Message Date
Aadhavan Srinivasan 25c333bea4 Added function to determine if a state is a lookaround
Aadhavan Srinivasan 77d19cd84e Added lookaround-related fields to State struct, added lookaround support to checkAssertion()
Aadhavan Srinivasan ea64ddc88a Removed unnecessary duplication of assertion checking
Aadhavan Srinivasan 708a9e1303 Added field to denote all characters which an 'allChars' node _shouldn't_ match (useful for invertinc character classes
Aadhavan Srinivasan c56d81a335 Added unicode support to dot metacharacter - it now matches _any_ unicode character (almost)
Aadhavan Srinivasan 8a1f1dc621 Added unicode support
Replaced strings with rune-slices, which capture unicode codepoints more
accurately.
Aadhavan Srinivasan 21142e6e13 Wrote function to clone the NFA starting at a given state, and a function to find question mark operator (a? == (a|))
Aadhavan Srinivasan dca81c1796 Replaced rune-slice parameters with string parameters in functions; avoids unnecessary conversion from strings to rune-slices
Aadhavan Srinivasan fccd3a76f5 Wrote function to check if the assertion of a state is true
Aadhavan Srinivasan 0736e813c1 Fixed boneheaded mistake with checking assertion types
Aadhavan Srinivasan 1aff6e2fa4 Added 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 character
Aadhavan Srinivasan 3778869567 Use stateContents type to allow a state to store multiple characters
Aadhavan Srinivasan aee24644e9 Use new unique_append function signature
Aadhavan Srinivasan ae219f763a Added alternate function, removed relevant code from main; also started working on escape characters
Aadhavan Srinivasan bf3060b672 Used 'unique append' to ensure that a transition can only contain a given state once
Aadhavan Srinivasan b327143fa2 Added function for concatenation and kleene star
Aadhavan Srinivasan 9d3bc2b804 Fixed kleene star behavior, which used to behave like a '+'
Aadhavan Srinivasan bc11777ad5 Fixed Kleene Star matching
Aadhavan Srinivasan 213da40c3b Allow one state to map to multiple states with the same transition eg. ab|aa
Aadhavan Srinivasan 8394e7867e Fixed bug with last state detection
Aadhavan Srinivasan 82b33f3c9a First commit