Aadhavan Srinivasan
|
74b37ff818
|
Removed unused function
|
5 days ago |
Aadhavan Srinivasan
|
7cd24959bf
|
Added case-insensitive tests (copied the normal tests, added the case-insensitive flag and swapped the case of all characters in the test string
|
5 days ago |
Aadhavan Srinivasan
|
6e309be71c
|
Moved case-insensitive stuff to thompson(); fixed case-insensitivity in character classes and ranges
|
5 days ago |
Aadhavan Srinivasan
|
c92b3d0e7c
|
Removed case-insensitive functionality from shuntingYard(); should be put in thompson() instead
|
5 days ago |
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 |