Struct Automaton

Source
pub struct Automaton { /* private fields */ }
Expand description

A regex automaton is a compiled regular expression.

It represents the state machine corresponding to the Regex. This struct can either be turned into a

This function can be called at compile time (through the compile_regex! macro) and it emits the Rust code that can match the regular expression.

You can create an automaton using Regex::compile

Implementations§

Source§

impl Automaton

Source

pub fn matcher(&self) -> DynamicMatcher<'_>

Instantiate a (dynamic) matcher of this automaton.

A matcher holds, in addition to the state machine, also information about which state the machine is currently in. This current state can then be updated by taking transitions using step.

Source§

impl Automaton

Source

pub fn emit( &self, name: &Ident, alphabet: &Type, errors: Vec<Error>, ) -> TokenStream

Convert this compiled regex into rust code that accepts this regular expression. name is the name of the type that is emitted, and alphabet is the type of symbols that the machine should accept.

Source§

impl Automaton

Source

pub fn render(&self, w: &mut impl Write) -> Result<(), Error>

Visualize the automaton as a graph, by emitting a graphviz dot file.

Trait Implementations§

Source§

impl Clone for Automaton

Source§

fn clone(&self) -> Automaton

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.