Commit Graph

89 Commits

Author SHA1 Message Date
Kyryl Melekhin
f0da1db9cc fix missing iteration 2022-04-16 18:17:54 +00:00
Kyryl Melekhin
26b5b25149 drop 2x sparse multiplier 2022-02-22 14:54:44 +00:00
Kyryl Melekhin
eb01f29134 pike: improve size calculations 2022-02-17 18:20:06 +00:00
Kyryl Melekhin
281820d7c9 correct sdense 2022-01-06 21:37:47 +00:00
Kyryl Melekhin
915680e057 factor out spc+1 2021-12-30 17:13:18 +00:00
Kyryl Melekhin
5e7d43c2cd improve matched condition 2021-12-14 15:30:16 +00:00
Kyryl Melekhin
90401ebfae factor out sparse 2021-12-12 19:47:05 +00:00
Kyryl Melekhin
703cf8a8a7 cacheline improvement 2021-12-11 23:43:45 +00:00
Kyryl Melekhin
4482411da7 cacheline improvement 2021-12-11 23:09:58 +00:00
Kyryl Melekhin
b2180201d5 apply sparse set trick for nlist exclusion 2021-12-11 15:30:56 +00:00
Kyryl Melekhin
14fd849706 update uc functions 2021-11-26 11:45:06 +00:00
Kyryl Melekhin
f783b12300 fix short circuit match 2021-11-26 01:20:57 +00:00
Kyryl Melekhin
4c5df2212b apply micro-optimizations 2021-11-25 22:52:25 +00:00
Kyryl Melekhin
e715d8cceb factor out matched branch 2021-11-25 16:54:00 +00:00
Kyryl Melekhin
d6b335fdb8 misc fix 2021-11-12 12:28:01 +00:00
Kyryl Melekhin
78af3fce84 misc cleanup 2021-10-26 16:46:15 +00:00
Kyryl Melekhin
d22f2c719d use if else 2021-10-23 15:42:00 +00:00
Kyryl Melekhin
1afa19fb10 partially revert 8046a29, due to boring edge cases 2021-10-23 13:40:47 +00:00
Kyryl Melekhin
abaaa8fe7a track nmatch with sp 2021-10-22 14:16:56 +00:00
Kyryl Melekhin
2d96c352cc add more tests; allow \< escape out 2021-10-21 18:45:19 +00:00
Kyryl Melekhin
91e630abe9 more ambiguous input testing, fixes 2021-10-21 16:35:33 +00:00
Kyryl Melekhin
f038068dbb fix split count mistake 2021-10-20 22:45:38 +00:00
Kyryl Melekhin
8046a29f1e separate nlist instructions from clist 2021-10-19 20:38:09 +00:00
Kyryl Melekhin
09526c0c55 count splits in rep too 2021-10-15 21:31:01 +00:00
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
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