| 
						
					 | 
					
						
						
							
						
						7e6377a4c4
					 | 
					
						
						
							
							Updated more constants, so that they aren't exported
						
						
						
						
						
						
					 | 
					
						2025-01-30 10:15:54 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						73c6a442ce
					 | 
					
						
						
							
							Updated nodeType constants so that they aren't exported
						
						
						
						
						
						
					 | 
					
						2025-01-30 10:13:55 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						ca8f8e1030
					 | 
					
						
						
							
							Renamed function
						
						
						
						
						
						
					 | 
					
						2025-01-30 10:02:59 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						24a5045ebe
					 | 
					
						
						
							
							Updated map and reduce function names so that they aren't exported
						
						
						
						
						
						
					 | 
					
						2025-01-30 09:52:00 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						f6d56b74e1
					 | 
					
						
						
							
							Updated module name to 'kleingrep' (Let's goo!)
						
						
						
						
						
						
					 | 
					
						2025-01-30 09:22:31 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						dc53951408
					 | 
					
						
						
							
							Update package name in import
						
						
						
						
						
						
					 | 
					
						2025-01-30 09:15:44 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						aef8152fc1
					 | 
					
						
						
							
							Renamed package 'greg' to 'regex'
						
						
						
						
						
						
					 | 
					
						2025-01-30 09:15:29 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						ca8d32cd7f
					 | 
					
						
						
							
							Added more tests
						
						
						
						
						
						
					 | 
					
						2025-01-30 09:09:34 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						368941e5c7
					 | 
					
						
						
							
							Fix out-of-bounds access in genRangeInclusive
						
						
						
						
						
						
					 | 
					
						2025-01-30 09:09:20 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						b9da5ec08d
					 | 
					
						
						
							
							Replace use of 'genRange' with 'genRangeInclusive'
						
						
						
						
						
						
					 | 
					
						2025-01-30 09:09:03 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						c5a43c47f0
					 | 
					
						
						
							
							Update type and method references to use qualified names
						
						
						
						
						
						
					 | 
					
						2025-01-30 09:03:37 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						c3c3829ac9
					 | 
					
						
						
							
							Move 'genRange' function to 'cmd'
						
						
						
						
						
						
					 | 
					
						2025-01-30 09:03:07 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						ee6bb3959c
					 | 
					
						
						
							
							Removed function that wasn't being used in 'greg', moved to 'main'
						
						
						
						
						
						
					 | 
					
						2025-01-30 08:58:43 -05:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						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 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 |