292 Commits (a63426d965a5a86aefba220c0b877f83fb93a379)
 

Author SHA1 Message Date
Aadhavan Srinivasan 94c8044eb7 Running all tests case-insensitive with the same match indices wasn't a good idea 5 days ago
Aadhavan Srinivasan 4a45d1c95e allCases() now takes a boolean parameter that indicates whether we are case-sensitive or not 5 days ago
Aadhavan Srinivasan 861eb6067e Apply case-insensitive flag inside character classes as well 5 days ago
Aadhavan Srinivasan 027dfb4d6b Run all tests twice - case-sensitive, then case-insensitive 5 days ago
Aadhavan Srinivasan 932a20f641 Added more tests 5 days ago
Aadhavan Srinivasan 4547ba74f0 Throw error if a quantifier is quantified eg. 'a**'; throw error if start of character range is greater than the end eg. '[b-a]' 5 days ago
Aadhavan Srinivasan 125590d334 Replaced literal brackets with LBRACKET and RBRACKET metacharacters 5 days ago
Aadhavan Srinivasan e3b8eaf5f8 Removed unused function 5 days ago
Aadhavan Srinivasan 20142e93c4 Removed some panics with error throwing; changed some comments; removed use of mustPop() in parsing Kleene star - I use pop() and then throw an error if pop() returns an error 5 days ago
Aadhavan Srinivasan 5e3801af7c Reformatted error messages according to Go guidelines 6 days ago
Aadhavan Srinivasan d44a25f412 Removed a type that I wasn't using 6 days ago
Aadhavan Srinivasan 3f5f8fad2c Removed unnecessary functions (using `staticcheck`) 6 days ago
Aadhavan Srinivasan e671137493 Changed error messages - removed capitalization and punctuation to find Go's error message guidelines 6 days ago
Aadhavan Srinivasan abc40bf770 Return an error if a POSIX charclass is specified outside of brackets 6 days ago
Aadhavan Srinivasan 3fb9bc1446 Added support for POSIX character classes 6 days ago
Aadhavan Srinivasan ae76e2e55e Added a function to generate a slice of all values (inclusive) in a range 6 days ago
Aadhavan Srinivasan dec6aaca93 Added POSIX charclass tests 6 days ago
Aadhavan Srinivasan 43d0cbf0a0 Use 'CONCAT' instead of literally specifiying the rune 6 days ago
Aadhavan Srinivasan 68a3581d93 Added note on PCRE backreferences 7 days ago
Aadhavan Srinivasan ff250338b4 Added more tests; added backreference comment 7 days ago
Aadhavan Srinivasan 0367c0d614 Added more tests 1 week ago
Aadhavan Srinivasan 304ef68d45 Added more tests 1 week ago
Aadhavan Srinivasan 1db61108e4 Allow pipes that have a missing operand - if an operand is missing, it is replaced with a zeroLengthMatchState(), which always has a zero-length match 1 week ago
Aadhavan Srinivasan 8feaefeeb8 Added more tests 1 week ago
Aadhavan Srinivasan a259f0ceab Created a function to return a state that will always have a zero-length state 1 week ago
Aadhavan Srinivasan 08e01a1c81 Loosened restrictions for concatenation - It's okay if one of the
elements is missing
1 week ago
Aadhavan Srinivasan 5c2869ff81 Updated test case 1 week ago
Aadhavan Srinivasan 4dfc77900f Added new assertion that always evaluates to true 1 week ago
Aadhavan Srinivasan 93903fc557 Allowed creation of empty non-capturing groups 1 week ago
Aadhavan Srinivasan 036e625a15 Added more test cases 1 week ago
Aadhavan Srinivasan 4966a222f9 Added detection of empty parentheses, as zero-length matches 1 week ago
Aadhavan Srinivasan 263619c50c Added more test cases 1 week ago
Aadhavan Srinivasan d7c9c181e1 Fixed bug in character class implementation 1 week ago
Aadhavan Srinivasan 5a085907cf WIP - fixing character classes 1 week ago
Aadhavan Srinivasan 65e5b4e2af Added more test cases 1 week ago
Aadhavan Srinivasan 1520edad55 Enforce the rule that character classes must have at least one character; interpret literal closing brackets as regular characters 1 week ago
Aadhavan Srinivasan 6fb266e0d2 Refactored isNormalChar(), wrote function to get special characters that have metachar replacements 1 week ago
Aadhavan Srinivasan 423fcc9b54 Added more test cases (1 failing) 1 week ago
Aadhavan Srinivasan cf4d305b31 Allow hyphen to be escaped inside character class 1 week ago
Aadhavan Srinivasan 9d3c228ace Fixed edge cases with character ranges and character classes 1 week ago
Aadhavan Srinivasan 5e12fe1c42 Added 'flags' field to test struct for all-group tests 1 week ago
Aadhavan Srinivasan f87458ee99 Added 'flags' field to test struct for 0-group tests 1 week ago
Aadhavan Srinivasan 2937f2d917 Removed old comment 2 weeks ago
Aadhavan Srinivasan efab70f9dc Implemented character range detection later in the code, using a metacharacter 2 weeks ago
Aadhavan Srinivasan cf964e41db Modified genRange() so that it can work on ints and runes 2 weeks ago
Aadhavan Srinivasan 649485f01d Removed character range creation from the first part of shuntingYard() (the part that adds concatenation operators), because octal and hex values haven't yet been deciphered at this point in the code 2 weeks ago
Aadhavan Srinivasan ae09462bd4 Added important note 2 weeks ago
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.
2 weeks ago
Aadhavan Srinivasan 48cff259b2 Updated tests 2 weeks ago
Aadhavan Srinivasan 25cb79f01b Changed the value of EPSILON, so that we can use the NUL character
(which it used to be) in a regex; Also added code to detect escaped
backslashes

Specifically, I replace an escaped backslash with a metacharacter, then
replace it back later on. This prevents problems, like detecting whether
the opening bracket is escaped in '\\[a]'.
2 weeks ago