• Jakob Gruber's avatar
    Reland "[regexp] Reorganize and deduplicate in the regexp parser" · 8965d903
    Jakob Gruber authored
    This is a reland of 7d849870
    
    Original change's description:
    > [regexp] Reorganize and deduplicate in the regexp parser
    >
    > The parser is organized in a somewhat tricky way s.t. it can be
    > hard to map the implementation back to the specified grammar.
    >
    > In particular, the logic for CharacterClassEscape, ClassEscape,
    > and CharacterEscape was implemented twice - once inside a character
    > class, once outside.
    >
    > This CL refactors related logic to have only a single implementation.
    >
    > As a drive-by, fix one related inconsistency related to \k inside
    > a character class.
    >
    > Fixed: v8:10602
    > Change-Id: I5858840159694fa6f8d1aa857027db80754e3dfd
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3178966
    > Reviewed-by: Mathias Bynens <mathias@chromium.org>
    > Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    > Cr-Commit-Position: refs/heads/main@{#77114}
    
    Fixed: v8:10602,chromium:1253976
    Change-Id: I9e7cc6a34d3be06e1a68895775aa50b0eee78c57
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3193531Reviewed-by: 's avatarMathias Bynens <mathias@chromium.org>
    Commit-Queue: Mathias Bynens <mathias@chromium.org>
    Auto-Submit: Jakob Gruber <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#77135}
    8965d903
regexp-parser.cc 74.7 KB