Add _MatchingEngine and _StringProcessing modules.

These modules are part of the experimental declarative string processing feature. If accepted to the Standard Library, _StringProcessing will be available via implicit import just like _Concurrency, though _MatchingEngine will still be hidden as an implementation detail.

`_MatchingEngine` will contain the general-purpose pattern matching engine ISA, bytecode, and executor. `_StringProcessing` will contain regular expression and pattern matching APIs whose implementation depends on the matching engine..

Also consolidates frontend flag `-enable-experimental-regex` as `-enable-experimental-string-processing`.

Resolves rdar://85478647.
This commit is contained in:
Richard Wei
2021-11-18 00:18:41 -08:00
parent d104e12b79
commit 65bffd7ad7
25 changed files with 201 additions and 12 deletions

View File

@@ -334,6 +334,8 @@ def main():
extra_args = extra_args + ['-enable-experimental-concurrency']
if args.enable_experimental_distributed:
extra_args = extra_args + ['-enable-experimental-distributed']
if args.enable_experimental_string_processing:
extra_args = extra_args + ['-enable-experimental-string-processing']
if args.swift_version:
extra_args = extra_args + ['-swift-version', '%s' % args.swift_version]