Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Captures support for NonBacktracking #65129

Merged
merged 29 commits into from
Feb 12, 2022

Commits on Feb 10, 2022

  1. Configuration menu
    Copy the full SHA
    21d2cd0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    998321f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ba9cffd View commit details
    Browse the repository at this point in the history
  4. Various fixes for capturing in NonBacktracking

    Re-enable replacement patterns.
    Fix eager derivative.
    Fix capture numbering to work with sparsely numbered groups.
    olsaarik committed Feb 10, 2022
    Configuration menu
    Copy the full SHA
    55f6d27 View commit details
    Browse the repository at this point in the history
  5. Enable many subcapture tests for NonBacktracking

    Also take any subcaptures out of RegexExperiment intersection and
    negation tests, as capture semantics with these are not correct yet.
    olsaarik committed Feb 10, 2022
    Configuration menu
    Copy the full SHA
    7d400a4 View commit details
    Browse the repository at this point in the history
  6. Use new eager derivative even without subcaptures

    This ensures the correct length matches always.
    olsaarik committed Feb 10, 2022
    Configuration menu
    Copy the full SHA
    3436ba0 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    23f9299 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    6b2797e View commit details
    Browse the repository at this point in the history
  9. Bug fixes and comments

    olsaarik committed Feb 10, 2022
    Configuration menu
    Copy the full SHA
    1c44a5d View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    8b4be26 View commit details
    Browse the repository at this point in the history
  11. Rename back to _lower

    olsaarik committed Feb 10, 2022
    Configuration menu
    Copy the full SHA
    a0c8212 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    0134dd3 View commit details
    Browse the repository at this point in the history
  13. Resurrect deleted test

    olsaarik committed Feb 10, 2022
    Configuration menu
    Copy the full SHA
    a8c7c20 View commit details
    Browse the repository at this point in the history
  14. Remove debugging test

    olsaarik committed Feb 10, 2022
    Configuration menu
    Copy the full SHA
    a908fa4 View commit details
    Browse the repository at this point in the history
  15. Provide effects semantics for extended combinators

    Also the unordered Or, which gets the semantics that all alternatives
    are visited.
    olsaarik committed Feb 10, 2022
    Configuration menu
    Copy the full SHA
    81951c1 View commit details
    Browse the repository at this point in the history
  16. Apply suggestions from code review to SparseIntMap

    Co-authored-by: Stephen Toub <stoub@microsoft.com>
    olsaarik and stephentoub authored Feb 10, 2022
    Configuration menu
    Copy the full SHA
    367d896 View commit details
    Browse the repository at this point in the history
  17. Apply suggestions from code review

    Cleanup and volatile write
    
    Co-authored-by: Stephen Toub <stoub@microsoft.com>
    olsaarik and stephentoub authored Feb 10, 2022
    Configuration menu
    Copy the full SHA
    45ef582 View commit details
    Browse the repository at this point in the history
  18. Comments, fixes and cleanup

    olsaarik committed Feb 10, 2022
    Configuration menu
    Copy the full SHA
    ef16f1e View commit details
    Browse the repository at this point in the history
  19. Disable tests for extended features

    Conjunction and complement are broken in the new capturing support.
    olsaarik committed Feb 10, 2022
    Configuration menu
    Copy the full SHA
    e292eb8 View commit details
    Browse the repository at this point in the history
  20. Apply suggestions from code review

    Fixes for FindEndPositionCapturing
    
    Co-authored-by: Stephen Toub <stoub@microsoft.com>
    olsaarik and stephentoub authored Feb 10, 2022
    Configuration menu
    Copy the full SHA
    990cc2d View commit details
    Browse the repository at this point in the history
  21. Switch all phases to use eager derivative

    This allows avoiding capture tracking in third phase if there are
    no subcaptures.
    As a side effect of this change all derivatives produce OrderedOr nodes,
    which for now effectively disables the subsumption optimization.
    olsaarik committed Feb 10, 2022
    Configuration menu
    Copy the full SHA
    dd552d8 View commit details
    Browse the repository at this point in the history

Commits on Feb 11, 2022

  1. Flatten ordered or and add subsumption

    Previously the loop subsumption optimization only worked in
    SymbolicRegexSet, but that is getting phased out with the order
    maintaining derivative. This reimplements a version of that for ordered
    ors.
    Also do actual canonicalization of ordered ors as we should.
    olsaarik committed Feb 11, 2022
    Configuration menu
    Copy the full SHA
    432318a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3de4a8f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3c805de View commit details
    Browse the repository at this point in the history
  4. Move some per thread state into the runner

    This avoids some repeated allocations in the capturing mode.
    olsaarik committed Feb 11, 2022
    Configuration menu
    Copy the full SHA
    1daf772 View commit details
    Browse the repository at this point in the history
  5. Fix typo in SparseIntMap

    olsaarik committed Feb 11, 2022
    Configuration menu
    Copy the full SHA
    712332e View commit details
    Browse the repository at this point in the history
  6. Various cleanup

    olsaarik committed Feb 11, 2022
    Configuration menu
    Copy the full SHA
    69fae0d View commit details
    Browse the repository at this point in the history
  7. Fix a comment

    olsaarik committed Feb 11, 2022
    Configuration menu
    Copy the full SHA
    c68f859 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    a64f4cf View commit details
    Browse the repository at this point in the history