1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0
//! Support for manipulating SMT-style strings and regular expressions
//!
//! # Overview
//!
//! This crate includes support for building and operating on string constants
//! and regular expressions as defined in the
//! [SMT-LIB theory of strings](<http://smtlib.cs.uiowa.edu/theories-UnicodeStrings.shtml>).
//!
//! The [smt_strings](crate::smt_strings) module implements the SMT-LIB functions defined
//! in the theory that do not use regular expressions.
//!
//! The [smt_regular_expressions](crate::smt_regular_expressions) module implements the
//! SMT-LIB functions of that operate on regular expressions.
//!
//! The crate also provides utilities for compiling regular expressions to
//! deterministic finite-state automata, computing the derivatives of a regular expressions,
//! checking whether a regular expression is empty, and so forth.
//!
//! Module [regular_expressions](crate::regular_expressions) implements regular expression
//! constructs, derivatives, and conversion to automata. Module [automata](crate::automata)
//! provides functions for constructing and minimizing automata.
//!