Commit Graph

69 Commits

Author SHA1 Message Date
Kyryl Melekhin
3c384b905e posibly a saner implementation (plist) 2021-10-15 20:32:09 +00:00
Kyryl Melekhin
55a582230c replace error prone gen global state with better solution 2021-10-15 17:44:52 +00:00
Kyryl Melekhin
364e04a0f9 use memcpy
compiler assumes there might be overlap, this is incorrect.
calling memcpy directly allows for better codegen
2021-10-08 18:34:18 +00:00
Kyryl Melekhin
541d881b4f handle {n,} repetition without blowing up codesize 2021-10-08 12:04:24 +00:00
Kyryl Melekhin
3bb28cd1f8 readme: explain what's going on with ambiguity 2021-10-06 12:44:45 +00:00
Kyryl Melekhin
2fe1deca0b perform onlist check only on nlist
seems like it's only necessary to disambiguate
paths once in the addthread2. Let me know if you
ever find a counter example.
2021-10-05 16:10:18 +00:00
Kyryl Melekhin
04c9aae3fa misc: maintenance trivia 2021-10-02 16:03:39 +00:00
Kyryl Melekhin
8728bcf941 readme: misc for next opts 2021-10-02 09:37:09 +00:00
Kyryl Melekhin
2bdc92d6ec optimize alt epsilon transition offsets 2021-10-02 09:27:54 +00:00
Kyryl Melekhin
f32e9c4478 fix repetition with ANY 2021-09-30 09:21:49 +00:00
Kyryl Melekhin
e3bede1739 fix some more edge cases 2021-09-22 10:31:28 +00:00
Kyryl Melekhin
cc17c0bb05 fix edge case with word condt 2021-09-18 09:49:29 +00:00
Kyryl Melekhin
e4e5c3aa97 ressurect bracket escape support 2021-09-12 18:35:18 +00:00
Kyryl Melekhin
529ec9c722 lower nsubs memory complexity
Now it shouldn't have the whole regex worst case,
optimizes basic search cases with 1 alt, now giving
a sane nsubs size default that should be very hard
to ever surpass.
2021-09-08 14:15:12 +00:00
Kyryl Melekhin
6b37292d0f add theoretical nsubs size limit 2021-09-07 18:46:21 +00:00
Kyryl Melekhin
55e0ec31ac nit 2021-09-07 18:13:46 +00:00
Kyryl Melekhin
05d24c95d2 better plist 2021-09-05 11:48:11 +00:00
Kyryl Melekhin
8af2598a44 exclude last paths from memcpy 2021-09-03 13:26:51 +00:00
Kyryl Melekhin
45b981b6a4 fix pathological cases 2021-09-02 22:55:03 +00:00
Kyryl Melekhin
67c691f95b further improve submatch extraction 2021-09-02 16:36:19 +00:00
Kyryl Melekhin
695f6b1f56 better sub init 2021-08-23 02:07:37 +00:00
Kyryl Melekhin
158a03c4be readme: add neatvi ref, pike: misc style fixes 2021-08-14 13:43:32 +00:00
Kyryl Melekhin
81f0ff252d minor nits 2021-08-10 21:27:49 +00:00
Kyryl Melekhin
f94af87b9a remove unnecessary subp init 2021-08-10 11:59:37 +00:00
Kyryl Melekhin
83f0a4d6f9 misc + remove useless escaping in bracket 2021-08-10 11:02:35 +00:00
Kyryl Melekhin
6a3be3927e fix ambiguous submatches 2021-08-10 10:33:04 +00:00
Kyryl Melekhin
e44e6a9517 fix regressions on a[^b]*c cases 2021-08-07 16:20:46 +00:00
Kyryl Melekhin
e71f2d2b46 some more tricks for better codegen 2021-08-06 09:56:11 +00:00
Kyryl Melekhin
a9e6720dff plist trick only matters for split* 2021-08-05 23:20:44 +00:00
Kyryl Melekhin
6bd24252e1 misc add static 2021-08-05 21:35:51 +00:00
Kyryl Melekhin
d5e762a9d2 simplify wordbeg condition 2021-08-05 12:16:06 +00:00
Kyryl Melekhin
8a2e4144b3 fixup 2021-08-05 11:37:00 +00:00
Kyryl Melekhin
515312b80d don't put asserts under same case, test rep operator 2021-08-05 11:25:55 +00:00
Kyryl Melekhin
95a9274ef3 don't use memset (bad complexity) 2021-08-04 20:53:43 +00:00
Kyryl Melekhin
d854382c41 fix initialization bug 2021-08-04 20:09:26 +00:00
Kyryl Melekhin
ac6903f424 setup plist on heap, remove need to clear it out 2021-08-04 15:21:52 +00:00
Kyryl Melekhin
68cddcbc6f make it even faster 2021-08-04 09:38:56 +00:00
Kyryl Melekhin
47ef1fd6d2 misc: don't put matching lsub into sub pool 2021-08-03 21:41:49 +00:00
Kyryl Melekhin
afe0b781d0 minor cleanups 2021-08-03 20:03:08 +00:00
Kyryl Melekhin
284160a790 readme: update 2021-08-03 19:08:00 +00:00
Kyryl Melekhin
e87fdef734 more killer tests 2021-08-03 18:58:18 +00:00
Kyryl Melekhin
70766fb93e test: compile pike on fly 2021-08-03 18:33:41 +00:00
Kyryl Melekhin
11c505447c finally add those pesky word assertions, god 2021-08-03 18:23:09 +00:00
Kyryl Melekhin
c774bef5c2 get rid of rthreadlist 2021-07-31 12:40:11 +00:00
Kyryl Melekhin
27704df099 use frexible array for nsubs cache 2021-07-31 11:06:40 +00:00
Kyryl Melekhin
668127891c nit 2021-07-30 21:53:32 +00:00
Kyryl Melekhin
080d93af2e use original (more efficient) sub allocator 2021-07-30 21:31:44 +00:00
Kyryl Melekhin
d2ec613efa better handle terminating conditions 2021-07-30 18:37:40 +00:00
Kyryl Melekhin
4dc1b1b535 misc 2021-07-30 16:47:53 +00:00
Kyryl Melekhin
5b64234754 remove broken \b 2021-07-30 11:38:10 +00:00