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
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