Skip to content

Merging the fork by @shahar99#1

Open
FilkerZero wants to merge 36 commits intoFilkerZero:merge-shahar99s-changesfrom
shahar99s:master
Open

Merging the fork by @shahar99#1
FilkerZero wants to merge 36 commits intoFilkerZero:merge-shahar99s-changesfrom
shahar99s:master

Conversation

@FilkerZero
Copy link
Owner

Attempting to pull together a complete "modern" version by merging in all the substantive improvements from different forks

marler8997 and others added 30 commits March 8, 2021 05:10
add another formal verifier (much easier to use),
and fix an invalid signed conversion
with invalid types in re_print
seperate functions.
check assume vs nondet_uchar() (both are the same).
use less MAX_REGEXP_OBJECTS for cbmc (much faster then)

improve the no buffer-out-of-bounds access on invalid patterns check.
and use the enum type internally
and fix isalpha crashes on bad libc's. Fixes GH kokke#70.
e.g. UTF-8.
Fixes GH kokke#79 and the exreg failures with [1-5-]+[-1-2]-[-]
`matchplus` can be simplified by only modifying `matchlength` once the complete match is successful.  This means it doesn't have to rewind `matchlength` as it iterates through each possible `matchpattern`.  This also means it keeps `matchlength` unmodified if it doesn't return a match.  Because of this last part, this also means that `matchstar` can leverage `matchplus` which reduces it to single line of code `return matchplus(...) || matchpattern(..)`.
`matchplus` can be simplified by only modifying `matchlength` once the complete match is successful.  This means it doesn't have to rewind `matchlength` as it iterates through each possible `matchpattern`.  This also means it keeps `matchlength` unmodified if it doesn't return a match.  Because of this last part, this also means that `matchstar` can leverage `matchplus` which reduces it to single line of code `return matchplus(...) || matchpattern(..)`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants