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

@@ -473,8 +473,8 @@ static bool ParseLangArgs(LangOptions &Opts, ArgList &Args,
}
// Experimental string processing
Opts.EnableExperimentalRegex |=
Args.hasArg(OPT_enable_experimental_regex);
Opts.EnableExperimentalStringProcessing |=
Args.hasArg(OPT_enable_experimental_string_processing);
Opts.DisableAvailabilityChecking |=
Args.hasArg(OPT_disable_availability_checking);