ladybird/Userland/Libraries/LibRegex
Timothy Flynn 48cb15283a LibRegex: Explicitly check if a character falls into a table-based range
Previously, for a regex such as /[a-sy-z]/i, we would incorrectly think
the character "u" fell into the range "a-s" because neither of the
conditions "u > s && U > s" or "u < a && U < a" would be true, resulting
in the lookup falling back to assuming the character is in the range.

Instead, first explicitly check if the character falls into the range,
rather than checking if it falls outside the range. If the explicit
checks fail, then we know the character is outside the range.
2022-08-29 16:34:47 -04:00
..
C Everywhere: Explicitly specify the size in StringView constructors 2022-07-12 23:11:35 +02:00
CMakeLists.txt LibRegex: Add a basic optimization pass 2021-09-13 14:38:53 +04:30
Forward.h LibRegex: Don't push LibRegex's "Error" into the global namespace 2021-11-08 00:35:27 +01:00
Regex.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
RegexByteCode.cpp LibRegex: Explicitly check if a character falls into a table-based range 2022-08-29 16:34:47 -04:00
RegexByteCode.h LibRegex: Partially implement the ECMAScript unicodeSets proposal 2022-07-20 21:25:59 +01:00
RegexBytecodeStreamOptimizer.h LibRegex: Make codegen+optimisation for alternatives much faster 2022-02-20 11:53:59 +01:00
RegexDebug.h LibRegex: Make codegen+optimisation for alternatives much faster 2022-02-20 11:53:59 +01:00
RegexError.h LibRegex: Partially implement the ECMAScript unicodeSets proposal 2022-07-20 21:25:59 +01:00
RegexLexer.cpp Everywhere: Use default StringView constructor over nullptr 2022-07-12 23:11:35 +02:00
RegexLexer.h Everywhere: Use default StringView constructor over nullptr 2022-07-12 23:11:35 +02:00
RegexMatch.h LibRegex: Remove RegexStringView(char const*) constructor 2022-07-12 23:11:35 +02:00
RegexMatcher.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
RegexMatcher.h LibRegex: Do not return an Optional from Regex::Matcher::execute 2022-02-05 19:06:50 +03:30
RegexOptimizer.cpp LibRegex: Partially implement the ECMAScript unicodeSets proposal 2022-07-20 21:25:59 +01:00
RegexOptions.h LibRegex: Partially implement the ECMAScript unicodeSets proposal 2022-07-20 21:25:59 +01:00
RegexParser.cpp LibRegex: Partially implement the ECMAScript unicodeSets proposal 2022-07-20 21:25:59 +01:00
RegexParser.h LibRegex: Partially implement the ECMAScript unicodeSets proposal 2022-07-20 21:25:59 +01:00