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] module implements the SMT-LIB functions defined
13//! in the theory that do not use regular expressions.
14//!
15//! The [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] implements regular expression constructs, derivatives, and conversion
23//! to automata. Module [automata] provides functions for constructing and minimizing automata.
24//!
25
26#![warn(missing_docs, missing_debug_implementations, rust_2018_idioms)]
27
28pub mod automata;
29pub mod character_sets;
30pub mod errors;
31pub mod loop_ranges;
32pub mod regular_expressions;
33pub mod smt_regular_expressions;
34pub mod smt_strings;
35
36mod bfs_queues;
37mod compact_tables;
38mod fast_sets;
39mod labeled_queues;
40mod matcher;
41mod minimizer;
42mod partitions;
43mod store;