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