Aadhavan Srinivasan Rockingcool
  • Joined on 2022-10-09
Rockingcool pushed to master at Rockingcool/kleingrep 2025-02-04 06:58:29 -06:00
bc32e0cb76 Started working on converting to PCRE matching rules (prefer left branch of alternation)
ad0f7d0178 Added new state fields to tell if a state is a question or alternation
4e597f8eb1 Implemented a priority-queue to use while matching
Compare 3 commits »
Rockingcool pushed to implementPCREMatchingRules at Rockingcool/kleingrep 2025-02-03 21:02:22 -06:00
753e973d82 Started rewrite of matching algorithm, got concatenation and alternation done, kleene and zero-state stuff is next
5563a70568 Reverse the order in which I pop states for alternation, because this messes with the left branch-right branch thing
de0d7345a8 Store left and right branches of alternation separately
Compare 3 commits »
Rockingcool created branch implementPCREMatchingRules in Rockingcool/kleingrep 2025-02-03 15:50:35 -06:00
Rockingcool pushed to implementPCREMatchingRules at Rockingcool/kleingrep 2025-02-03 15:50:35 -06:00
ad273b0c68 Trying to emulate backtracking by using string pointers within threads (something similar to rsc's 2nd regexp article)
e167cdb2cb Fixed mistake in test output
1fd48ae614 Store the current string pointer as a 'thread variable' (allows us to simulate backtracking)
09812956ac Disable all optimizations
fbc9dfcc95 Trying something out; we'll see if it works
Compare 8 commits »
Rockingcool pushed to master at Rockingcool/kleingrep 2025-02-02 20:54:51 -06:00
ef476e8875 Reverse the order of the numeric range before adding it, to maintain compatibility with PCRE matching rules (even though I don't implement them, if I do in the future)
7e6b02632f Added more tests; commented out tests that I am failing
f94e3f2e71 Added comments
b129d83c3f Added function to reset threads
43aa7b5876 Updated documentation
Compare 13 commits »
Rockingcool pushed to master at Rockingcool/kleingrep 2025-02-01 11:53:46 -06:00
6d692d0dfc Rename Group.toString() to Group.String()
7c4538a259 Added 'example' file that contains testable examples
Compare 2 commits »
Rockingcool pushed to master at Rockingcool/kleingrep 2025-02-01 10:09:31 -06:00
2a9ae0b68a Wrote test for 'FindSubmatch'
783ae2ad10 Updated call to 'isValid' with call to 'IsValid'
b5e6bc112c Wrote 'reg.FindSubmatch()' which returns the leftmost match with submatches, renamed 'isValid' to 'IsValid' to export it, renamed 'ToString' to 'String'
206fea34cd Added function to return the number of subexpressions in the group
fcdb23524a Added more documentation
Compare 5 commits »
Rockingcool pushed to master at Rockingcool/kleingrep 2025-01-31 15:54:24 -06:00
ac936659b6 Updated documentation
e6dba9fdcf Updated documentation
30779a446b Updated documentation
f629a0f08f Added 'mustCompile' which panicks if there is an error compiling
Compare 4 commits »
Rockingcool pushed to master at Rockingcool/kleingrep 2025-01-31 09:52:47 -06:00
6869cd00a2 Return error instead of nil when 'Find' fails
02bc8f30a2 Added test for 'Find'
Compare 2 commits »
Rockingcool pushed to master at Rockingcool/kleingrep 2025-01-31 09:13:22 -06:00
ac05bceda3 Use method instead of function
037ac75ea6 Wrote new method to return 0-group of leftmost match; reorganized some functions for better clarity; made 'FindNthMatch' a method
e9d4e857cf Run 'TestFindAllStrings' since that function has been implemented
b685d2fd5f Renamed 'findAllMatchesHelper' to 'findAllSubmatchHelper'
8eda5055ff Replaced call to 'FindAllMatches' with call to 'FindAll' or 'FindAllSubmatch' depending on whether I need submatches
Compare 8 commits »
Rockingcool pushed to master at Rockingcool/kleingrep 2025-01-30 21:57:51 -06:00
0d19664044 Cleared up some comments, wrote a skeleton for FindAllString
Rockingcool pushed to master at Rockingcool/kleingrep 2025-01-30 21:51:46 -06:00
1bfb09b6c7 Made 'FindString' a method of 'Reg'
b0b8bf23af Updated documentation
Compare 2 commits »
Rockingcool pushed to master at Rockingcool/kleingrep 2025-01-30 16:52:04 -06:00
00570f07fe Wrote documentation on syntax
Rockingcool pushed to master at Rockingcool/kleingrep 2025-01-30 14:08:31 -06:00
7431b1a7b2 Changed \Z to \z to fit with Go's naming
ee51e39d59 Added support for start-of-input (\A) and end-of-input (\Z) assertions
db7c884b83 Added test for start-of-input and end-of-input assertion
c3059fe899 Return a new error instead of rethrowing a non-existent error
4f577592ba Added rule to run tests
Compare 12 commits »
Rockingcool pushed to master at Rockingcool/kleingrep 2025-01-30 09:49:09 -06:00
57eb935bd1 Updated comment
Rockingcool pushed to master at Rockingcool/kleingrep 2025-01-30 09:47:47 -06:00
cbd679949f Updated more referencs to constants
a63426d965 Updated references to constants
Compare 2 commits »
Rockingcool pushed to master at Rockingcool/kleingrep 2025-01-30 09:45:22 -06:00
2e3450285c Renamed one more variable to avoid exporting
Rockingcool pushed to master at Rockingcool/kleingrep 2025-01-30 09:44:41 -06:00
7e792f1248 Renamed more constants to avoid exporting
b8f5b9af7c Updated one more reference to epsilon
be60f2fb51 Updated references to 'epsilon'
Compare 3 commits »
Rockingcool pushed to master at Rockingcool/kleingrep 2025-01-30 09:37:00 -06:00
7aee4280cc Renamed 'EPSILON' to 'epsilon' to avoid exporting
e01ef48cbc Updated CONCAT to be a metacharacter instead of just a tilde, and renamed it to avoid exporting
93474c5159 Renamed 'state' to 'nfaState' because 'state' by itself means nothing
d81b2ddaaa Renamed 'State' to 'state' to avoid exposing the insides of the engine
429d286439 Renamed variable to avoid conflicting with type name
Compare 11 commits »
Rockingcool pushed to master at Rockingcool/kleingrep 2025-01-30 09:03:08 -06:00
ca8f8e1030 Renamed function