Commit Graph

107 Commits

Author SHA1 Message Date
1cc16538a4 Make pikevm a lib 2026-01-24 07:18:32 -06:00
Kyryl Melekhin
b6c04e4b85 test.sh: more rep testing 2025-11-02 00:01:07 +00:00
Kyryl Melekhin
0b7b6b9d81 pike.c: fix edge case 2025-11-01 23:31:14 +00:00
Kyryl Melekhin
a43ab17911 pike.c: handle 0 case in repetition 2025-11-01 20:44:03 +00:00
Kyryl Melekhin
36c27822f5 README: update 2025-11-01 18:36:16 +00:00
Kyryl Melekhin
cad0f12966 pike.c: updated codebase 2025-11-01 18:30:11 +00:00
Kyryl Melekhin
2b7c8eb846 test.sh: more test 2025-06-12 18:23:55 +00:00
Kyryl Melekhin
688a62c826 speed it up, test greediness 2022-04-23 17:03:30 +00:00
Kyryl Melekhin
e26cb69a45 factor out recursion 2022-04-21 14:13:14 +00:00
Kyryl Melekhin
8bee489e34 better deal with nonregular exps 2022-04-20 15:52:19 +00:00
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
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