Commit Graph

409 Commits (073f231b890cb0abd43a00e3dda5c435bbb4d614)
 

Author SHA1 Message Date
Aadhavan Srinivasan 7c62ba6bfd Started implementing Thompson's algorithm for matching, because the old one was completely backtracking (so it would enter infinite loops on something like '(a*)*' )
The git diff claims that a ton of code was changed, but most of it was just indentation changes.
1 month ago
Aadhavan Srinivasan d4e8cb74fd Replaced pointer to nfaState with nfaState 1 month ago
Aadhavan Srinivasan 3ce611d121 More work towards implementing PCRE matching 1 month ago
Aadhavan Srinivasan e0253dfaf3 Change kleene() to an alternation-style construct 1 month ago
Aadhavan Srinivasan 753e973d82 Started rewrite of matching algorithm, got concatenation and alternation done, kleene and zero-state stuff is next 1 month ago
Aadhavan Srinivasan 5563a70568 Reverse the order in which I pop states for alternation, because this messes with the left branch-right branch thing 1 month ago
Aadhavan Srinivasan de0d7345a8 Store left and right branches of alternation separately 1 month ago
Aadhavan Srinivasan ad273b0c68 Trying to emulate backtracking by using string pointers within threads (something similar to rsc's 2nd regexp article) 1 month ago
Aadhavan Srinivasan e167cdb2cb Fixed mistake in test output 1 month ago
Aadhavan Srinivasan 1fd48ae614 Store the current string pointer as a 'thread variable' (allows us to simulate backtracking) 1 month ago
Aadhavan Srinivasan 09812956ac Disable all optimizations 1 month ago
Aadhavan Srinivasan fbc9dfcc95 Trying something out; we'll see if it works 1 month ago
Aadhavan Srinivasan bc32e0cb76 Started working on converting to PCRE matching rules (prefer left branch of alternation) 1 month ago
Aadhavan Srinivasan ad0f7d0178 Added new state fields to tell if a state is a question or alternation 1 month ago
Aadhavan Srinivasan 4e597f8eb1 Implemented a priority-queue to use while matching 1 month ago
Aadhavan Srinivasan 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) 1 month ago
Aadhavan Srinivasan 7e6b02632f Added more tests; commented out tests that I am failing 1 month ago
Aadhavan Srinivasan f94e3f2e71 Added comments 1 month ago
Aadhavan Srinivasan b129d83c3f Added function to reset threads 1 month ago
Aadhavan Srinivasan 43aa7b5876 Updated documentation 1 month ago
Aadhavan Srinivasan 9a3bfca313 Renamed unique_append to uniqueAppend 1 month ago
Aadhavan Srinivasan b6ab54f6dd Reset threads when findAllSubmatchHelper is called 1 month ago
Aadhavan Srinivasan 6a96c98d04 Fixed bug where the regex '(()|.)(b)' wouldn't compile 1 month ago
Aadhavan Srinivasan 3cfc2a6854 Updated Makefile 1 month ago
Aadhavan Srinivasan 5d7a02e796 Added gcflags to go build 1 month ago
Aadhavan Srinivasan a46d2f4546 Updated comments 1 month ago
Aadhavan Srinivasan c88ebd1aa5 Added comments explaining what a Match is 1 month ago
Aadhavan Srinivasan fd102292c6 Added example for FindSubmatch 1 month ago
Aadhavan Srinivasan 6d692d0dfc Rename Group.toString() to Group.String() 1 month ago
Aadhavan Srinivasan 7c4538a259 Added 'example' file that contains testable examples 1 month ago
Aadhavan Srinivasan 2a9ae0b68a Wrote test for 'FindSubmatch' 1 month ago
Aadhavan Srinivasan 783ae2ad10 Updated call to 'isValid' with call to 'IsValid' 1 month ago
Aadhavan Srinivasan b5e6bc112c Wrote 'reg.FindSubmatch()' which returns the leftmost match with submatches, renamed 'isValid' to 'IsValid' to export it, renamed 'ToString' to 'String' 1 month ago
Aadhavan Srinivasan 206fea34cd Added function to return the number of subexpressions in the group 1 month ago
Aadhavan Srinivasan fcdb23524a Added more documentation 1 month ago
Aadhavan Srinivasan ac936659b6 Updated documentation 1 month ago
Aadhavan Srinivasan e6dba9fdcf Updated documentation 1 month ago
Aadhavan Srinivasan 30779a446b Updated documentation 1 month ago
Aadhavan Srinivasan f629a0f08f Added 'mustCompile' which panicks if there is an error compiling 1 month ago
Aadhavan Srinivasan 6869cd00a2 Return error instead of nil when 'Find' fails 1 month ago
Aadhavan Srinivasan 02bc8f30a2 Added test for 'Find' 1 month ago
Aadhavan Srinivasan ac05bceda3 Use method instead of function 1 month ago
Aadhavan Srinivasan 037ac75ea6 Wrote new method to return 0-group of leftmost match; reorganized some functions for better clarity; made 'FindNthMatch' a method 1 month ago
Aadhavan Srinivasan e9d4e857cf Run 'TestFindAllStrings' since that function has been implemented 1 month ago
Aadhavan Srinivasan b685d2fd5f Renamed 'findAllMatchesHelper' to 'findAllSubmatchHelper' 1 month ago
Aadhavan Srinivasan 8eda5055ff Replaced call to 'FindAllMatches' with call to 'FindAll' or 'FindAllSubmatch' depending on whether I need submatches 1 month ago
Aadhavan Srinivasan 45b6566b2c Replaced function call with method call 1 month ago
Aadhavan Srinivasan e22822e619 Renamed 'FindAllMatches' to 'FindAll' and made it a method; made it return a slice of 0-groups; the functionality of 'FindAllMatches' is now in 'FindAllSubmatch' 1 month ago
Aadhavan Srinivasan 692de2a32b Added lookarounds and numeric ranges to documentation 1 month ago
Aadhavan Srinivasan 0d19664044 Cleared up some comments, wrote a skeleton for FindAllString 1 month ago