swiftlang / swift-experimental-string-processing

An early experimental general-purpose pattern matching engine for Swift.
Apache License 2.0
278 stars 47 forks source link

[swift/main] Remove most consumer functions #733

Closed natecook1000 closed 7 months ago

natecook1000 commented 7 months ago

Cherry-picked from #660.

This is based heavily off the work in #590, rebased onto main, with some changes to remove even more consumer uses. Consumer functions only have two remaining uses: non-ASCII ranges and Unicode lookups (for things like general category, binary properties, name, etc.).

This change primarily treats custom character classes as alternations around their contents, with set operations emitted as instructions instead of implemented via consumer function.

natecook1000 commented 7 months ago

@swift-ci Please test