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
575133875c
test.sh: compile before running tests if a.out not found
2021-11-10 11:17:59 +00:00
Kyryl Melekhin
0099855c45
test.sh: apply fix, echo is not portable
2021-11-10 08:45:22 +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
e6965856b2
readme: misc fix
2021-10-17 23:19:58 +00:00
Kyryl Melekhin
d0187d01be
readme: more info
2021-10-17 22:31:00 +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
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