Expand description
Defines a high-level intermediate (HIR) representation for regular expressions.
The HIR is represented by the Hir type, and it principally constructed via
translation from an Ast. Alternatively, users
may use the smart constructors defined on Hir to build their own by hand. The
smart constructors simultaneously simplify and “optimize” the HIR, and are also
the same routines used by translation.
Most regex engines only have an HIR like this, and usually construct it
directly from the concrete syntax. This crate however first parses the
concrete syntax into an Ast, and only then creates the HIR from the Ast,
as mentioned above. It’s done this way to facilitate better error reporting,
and to have a structured representation of a regex that faithfully represents
its concrete syntax. Namely, while an Hir value can be converted back to an
equivalent regex pattern string, it is unlikely to look like the original due
to its simplified structure.
Modules§
- literal
- Provides literal extraction from Hirexpressions.
- This module provides a regular expression printer for Hir.
- translate
- Defines a translator that converts an Astto anHir.
Structs§
- Capture
- The high-level intermediate representation for a capturing group.
- CaseFold Error 
- An error that occurs when Unicode-aware simple case folding fails.
- ClassBytes 
- A set of characters represented by arbitrary bytes.
- ClassBytes Iter 
- An iterator over all ranges in a byte character class.
- ClassBytes Range 
- A single range of characters represented by arbitrary bytes.
- ClassUnicode 
- A set of characters represented by Unicode scalar values.
- ClassUnicode Iter 
- An iterator over all ranges in a Unicode character class.
- ClassUnicode Range 
- A single range of characters represented by Unicode scalar values.
- Error
- An error that can occur while translating an Astto aHir.
- Hir
- A high-level intermediate representation (HIR) for a regular expression.
- Literal
- The high-level intermediate representation of a literal.
- LookSet
- A set of look-around assertions.
- LookSetIter 
- An iterator over all look-around assertions in a LookSet.
- Properties
- A type that collects various properties of an HIR value.
- Repetition
- The high-level intermediate representation of a repetition operator.
Enums§
- Class
- The high-level intermediate representation of a character class.
- Dot
- A type describing the different flavors of ..
- ErrorKind 
- The type of an error that occurred while building an Hir.
- HirKind
- The underlying kind of an arbitrary Hirexpression.
- Look
- The high-level intermediate representation for a look-around assertion.
Traits§
- Visitor
- A trait for visiting the high-level IR (HIR) in depth first order.
Functions§
- visit
- Executes an implementation of Visitorin constant stack space.