Commit Graph

75 Commits

Author SHA1 Message Date
5f4a6c5a3b Added constants for LBRACKET and RBRACKET 2024-10-30 09:32:50 -04:00
e6c607319c Added more tests 2024-10-30 09:32:32 -04:00
8e8e9e133f Fixed matching greediness eg. a(a|b)*a would not match 'aaa' in 'aaab' 2024-10-29 20:07:30 -04:00
a619fd24f6 Added map and reduce functions, and a function to return the difference between two sets 2024-10-29 20:06:09 -04:00
f8ee1b3200 Added more tests 2024-10-29 20:05:42 -04:00
a66e8f1c08 Concatenate every character if it is escaped 2024-10-29 20:05:30 -04:00
d8299294ed Added test cases 2024-10-29 14:41:00 -04:00
45d348e7f4 Updated TODO 2024-10-29 10:08:41 -04:00
7b815343f4 Removed exclamation mark in inverted metacharacters - had the opposite effect becasue of the way deleteFunc works 2024-10-29 10:07:55 -04:00
1a7fd12569 Added support for some escaped metacharacters 2024-10-29 10:05:39 -04:00
b8d5ea0897 Wrote function to create a character node regardless of the contents of the node 2024-10-29 10:05:01 -04:00
445a7247f8 Defined variables to provide ranges of characters for metacharacters 2024-10-29 10:04:36 -04:00
ca945c7740 Added support for character ranges and dot metacharacter 2024-10-29 00:26:11 -04:00
2af4a5f9fd Added more tests 2024-10-29 00:25:38 -04:00
76157af2b8 Wrote function to generate rune slice representing valid dot metacharacter values 2024-10-29 00:25:30 -04:00
96b3009c14 Updated TODO 2024-10-28 17:40:03 -04:00
444413e1f7 Added postfixNode type to represent a node in the postfix representation of the regex 2024-10-28 17:39:32 -04:00
74c6a2e195 Added more functions to stateContents type, removed append because I don't think I need it 2024-10-28 17:39:14 -04:00
49b84c5728 Added test cases 2024-10-28 17:38:51 -04:00
3778869567 Use stateContents type to allow a state to store multiple characters 2024-10-28 17:38:43 -04:00
4f2f14212c Use contains function, since the content may have multiple characters 2024-10-28 17:37:55 -04:00
11073759e3 Added support for character classes (not ranges, yet); also take input from stdin instead of cmdline arg 2024-10-28 17:37:20 -04:00
cd680371fb Added function allEqual - checks if all given values are equal 2024-10-28 17:31:21 -04:00
df6efcd1f0 Unique append to match indices (ensure match indices aren't repeated 2024-10-28 15:44:37 -04:00
704bec122a Added more tests 2024-10-28 15:44:12 -04:00
3a7373bb2b Started working on new type to represent state contents 2024-10-28 13:06:16 -04:00
fe5c94b4df Use new unique append to check if unique states have been added to tempStates 2024-10-28 09:40:41 -04:00
3984c54080 Added more test cases 2024-10-28 09:40:21 -04:00
84c768fd5e Fixed small bug with question mark operator, wasn't adding the empty state's output 2024-10-28 09:40:03 -04:00
aee24644e9 Use new unique_append function signature 2024-10-28 09:39:37 -04:00
aee04cd8fe unique_append now returns the number of unique elements appended 2024-10-28 09:39:20 -04:00
ac2320b7ea Updated TODO 2024-10-28 00:59:38 -04:00
7286e07858 Added question mark operator - 0 or 1 2024-10-28 00:58:26 -04:00
13a57a4347 Stricter check for adding zero-length match at end of string 2024-10-28 00:58:10 -04:00
4a30977d15 Added test cases 2024-10-28 00:57:53 -04:00
89a43c8f41 Added test case 2024-10-27 15:30:46 -04:00
ae219f763a Added alternate function, removed relevant code from main; also started working on escape characters 2024-10-27 15:30:33 -04:00
cda0dfb0cc Match empty string if start state is kleene star 2024-10-27 15:11:12 -04:00
7e7e75903d Added more tests 2024-10-27 15:11:02 -04:00
95654e3e34 Take all possible 0-states (until no more left to take) before checking if we are in an acceptable position 2024-10-27 14:56:28 -04:00
b92912f7e4 Added test 2024-10-27 14:56:07 -04:00
4781b87b90 Added comments 2024-10-27 14:56:00 -04:00
bf3060b672 Used 'unique append' to ensure that a transition can only contain a given state once 2024-10-27 12:52:59 -04:00
50e86b5db4 Added 'unique append' function, to ensure that elements in slice are unique 2024-10-27 12:52:35 -04:00
b1e2d7147e Added tests 2024-10-27 12:52:16 -04:00
b327143fa2 Added function for concatenation and kleene star 2024-10-27 11:19:06 -04:00
c9fdf5aa6c Restored old behavior with end-of-string - new one didn't seem to work well 2024-10-27 11:18:42 -04:00
956bdbdcb6 Added test case 2024-10-27 11:18:18 -04:00
761a5ad052 Added functions for concatenation and kleene star creation, removed relevant code from main 2024-10-27 11:18:00 -04:00
916168dd42 Updated TODO 2024-10-26 14:29:35 -04:00