| 
						
					 | 
					
						
						
							
						
						c06d81d17d
					 | 
					
						
						
							
							Updated struct field reference
						
						
						
						
						
						
					 | 
					
						2025-01-30 08:58:11 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						1a2f1b7ca9
					 | 
					
						
						
							
							Restructured code into 'cmd' module with CLI and 'greg' module with regex library; export necessary struct fields and methods
						
						
						
						
						
						
					 | 
					
						2025-01-30 08:56:12 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						54df6f1815
					 | 
					
						
						
							
							Added numeric range tests
						
						
						
						
						
						
					 | 
					
						2025-01-29 14:45:25 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						bd424ceccd
					 | 
					
						
						
							
							Catch error from range2regex() and return it
						
						
						
						
						
						
					 | 
					
						2025-01-29 14:45:05 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						e8e09dd0f9
					 | 
					
						
						
							
							Throw error instead of panicking
						
						
						
						
						
						
					 | 
					
						2025-01-29 14:44:48 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						46f4a2ad83
					 | 
					
						
						
							
							Return error instead of panicking if the range cannot be processed
						
						
						
						
						
						
					 | 
					
						2025-01-29 14:30:16 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						833dd269a8
					 | 
					
						
						
							
							Added more descriptive comments; throw error if non-greedy operator is used; use new definition for kleene()
						
						
						
						
						
						
					 | 
					
						2025-01-29 10:28:18 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						ecab7cc522
					 | 
					
						
						
							
							Make kleene() throw an error if the state is not quantifiable
						
						
						
						
						
						
					 | 
					
						2025-01-29 10:27:54 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						8b6d35c106
					 | 
					
						
						
							
							Finished adding tests from Python's test suite; removed a non-greedy operator from one of the old tests
						
						
						
						
						
						
					 | 
					
						2025-01-29 10:27:08 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						5e6435d8a7
					 | 
					
						
						
							
							Throw error if non-greedy operator is attempted
						
						
						
						
						
						
					 | 
					
						2025-01-29 10:03:02 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						5bb06900cc
					 | 
					
						
						
							
							Added more tests
						
						
						
						
						
						
					 | 
					
						2025-01-28 22:42:44 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						bde153ce08
					 | 
					
						
						
							
							Changed '-t' flag to include the new RE_SINGLE_LINE flag as well
						
						
						
						
						
						
					 | 
					
						2025-01-28 16:52:50 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						4c3c7e21c5
					 | 
					
						
						
							
							Fixed inverted Perl classes inside character classes eg. '[\D]'; added new flag for 'single-line' mode, where dot metacharacter matches newlines
						
						
						
						
						
						
					 | 
					
						2025-01-28 16:52:28 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						61a128e27a
					 | 
					
						
						
							
							Added more tests
						
						
						
						
						
						
					 | 
					
						2025-01-28 16:51:32 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						c700b01e80
					 | 
					
						
						
							
							Remove duplicate lines from re_tests.py
						
						
						
						
						
						
					 | 
					
						2025-01-28 15:58:02 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						578959c9b3
					 | 
					
						
						
							
							Add Python's regex test suite
						
						
						
						
						
						
					 | 
					
						2025-01-28 15:57:10 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						3918682339
					 | 
					
						
						
							
							Added more tests
						
						
						
						
						
						
					 | 
					
						2025-01-28 15:54:31 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						d890a93775
					 | 
					
						
						
							
							Store multiline mode as a global flag
						
						
						
						
						
						
					 | 
					
						2025-01-28 15:54:25 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						d029a171c0
					 | 
					
						
						
							
							Changed behavior of SOS and EOS assertions depending on whether multiline mode is enabled or not
						
						
						
						
						
						
					 | 
					
						2025-01-28 15:51:48 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						74b37ff818
					 | 
					
						
						
							
							Removed unused function
						
						
						
						
						
						
					 | 
					
						2025-01-28 12:39:32 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						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
						
						
						
						
						
						
					 | 
					
						2025-01-28 12:39:04 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						6e309be71c
					 | 
					
						
						
							
							Moved case-insensitive stuff to thompson(); fixed case-insensitivity in character classes and ranges
						
						
						
						
						
						
					 | 
					
						2025-01-28 12:34:36 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						c92b3d0e7c
					 | 
					
						
						
							
							Removed case-insensitive functionality from shuntingYard(); should be put in thompson() instead
						
						
						
						
						
						
					 | 
					
						2025-01-28 12:12:37 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						94c8044eb7
					 | 
					
						
						
							
							Running all tests case-insensitive with the same match indices wasn't a good idea
						
						
						
						
						
						
					 | 
					
						2025-01-28 11:42:53 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						4a45d1c95e
					 | 
					
						
						
							
							allCases() now takes a boolean parameter that indicates whether we are case-sensitive or not
						
						
						
						
						
						
					 | 
					
						2025-01-28 11:41:51 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						861eb6067e
					 | 
					
						
						
							
							Apply case-insensitive flag inside character classes as well
						
						
						
						
						
						
					 | 
					
						2025-01-28 11:41:17 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						027dfb4d6b
					 | 
					
						
						
							
							Run all tests twice - case-sensitive, then case-insensitive
						
						
						
						
						
						
					 | 
					
						2025-01-28 11:17:02 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						932a20f641
					 | 
					
						
						
							
							Added more tests
						
						
						
						
						
						
					 | 
					
						2025-01-28 09:44:41 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						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]'
						
						
						
						
						
						
					 | 
					
						2025-01-28 09:42:53 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						125590d334
					 | 
					
						
						
							
							Replaced literal brackets with LBRACKET and RBRACKET metacharacters
						
						
						
						
						
						
					 | 
					
						2025-01-28 09:15:10 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						e3b8eaf5f8
					 | 
					
						
						
							
							Removed unused function
						
						
						
						
						
						
					 | 
					
						2025-01-28 08:39:02 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						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
						
						
						
						
						
						
					 | 
					
						2025-01-28 08:30:36 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						5e3801af7c
					 | 
					
						
						
							
							Reformatted error messages according to Go guidelines
						
						
						
						
						
						
					 | 
					
						2025-01-27 20:06:35 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						d44a25f412
					 | 
					
						
						
							
							Removed a type that I wasn't using
						
						
						
						
						
						
					 | 
					
						2025-01-27 20:04:24 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						3f5f8fad2c
					 | 
					
						
						
							
							Removed unnecessary functions (using staticcheck)
						
						
						
						
						
						
					 | 
					
						2025-01-27 19:58:59 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						e671137493
					 | 
					
						
						
							
							Changed error messages - removed capitalization and punctuation to find Go's error message guidelines
						
						
						
						
						
						
					 | 
					
						2025-01-27 19:57:15 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						abc40bf770
					 | 
					
						
						
							
							Return an error if a POSIX charclass is specified outside of brackets
						
						
						
						
						
						
					 | 
					
						2025-01-27 16:07:23 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						3fb9bc1446
					 | 
					
						
						
							
							Added support for POSIX character classes
						
						
						
						
						
						
					 | 
					
						2025-01-27 16:00:35 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						ae76e2e55e
					 | 
					
						
						
							
							Added a function to generate a slice of all values (inclusive) in a range
						
						
						
						
						
						
					 | 
					
						2025-01-27 16:00:26 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						dec6aaca93
					 | 
					
						
						
							
							Added POSIX charclass tests
						
						
						
						
						
						
					 | 
					
						2025-01-27 16:00:05 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						43d0cbf0a0
					 | 
					
						
						
							
							Use 'CONCAT' instead of literally specifiying the rune
						
						
						
						
						
						
					 | 
					
						2025-01-27 13:54:02 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						68a3581d93
					 | 
					
						
						
							
							Added note on PCRE backreferences
						
						
						
						
						
						
					 | 
					
						2025-01-26 22:19:16 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						ff250338b4
					 | 
					
						
						
							
							Added more tests; added backreference comment
						
						
						
						
						
						
					 | 
					
						2025-01-26 22:18:34 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						0367c0d614
					 | 
					
						
						
							
							Added more tests
						
						
						
						
						
						
					 | 
					
						2025-01-26 10:24:29 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						304ef68d45
					 | 
					
						
						
							
							Added more tests
						
						
						
						
						
						
					 | 
					
						2025-01-25 22:41:43 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						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
						
						
						
						
						
						
					 | 
					
						2025-01-25 22:36:58 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						8feaefeeb8
					 | 
					
						
						
							
							Added more tests
						
						
						
						
						
						
					 | 
					
						2025-01-25 22:36:04 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						a259f0ceab
					 | 
					
						
						
							
							Created a function to return a state that will always have a zero-length state
						
						
						
						
						
						
					 | 
					
						2025-01-25 22:35:52 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						08e01a1c81
					 | 
					
						
						
							
							Loosened restrictions for concatenation - It's okay if one of the
						
						
						
						
						
						
						
						elements is missing 
						
						
					 | 
					
						2025-01-25 13:09:47 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						5c2869ff81
					 | 
					
						
						
							
							Updated test case
						
						
						
						
						
						
					 | 
					
						2025-01-25 13:09:29 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 |