Struct regex_syntax::parser::Parser

source ·
pub struct Parser {
    ast: Parser,
    hir: Translator,
}
Expand description

A convenience parser for regular expressions.

This parser takes as input a regular expression pattern string (the “concrete syntax”) and returns a high-level intermediate representation (the HIR) suitable for most types of analysis. In particular, this parser hides the intermediate state of producing an AST (the “abstract syntax”). The AST is itself far more complex than the HIR, so this parser serves as a convenience for never having to deal with it at all.

If callers have more fine grained use cases that need an AST, then please see the ast::parse module.

A Parser can be configured in more detail via a ParserBuilder.

Fields§

§ast: Parser§hir: Translator

Implementations§

source§

impl Parser

source

pub fn new() -> Parser

Create a new parser with a default configuration.

The parser can be run with parse method. The parse method returns a high level intermediate representation of the given regular expression.

To set configuration options on the parser, use ParserBuilder.

source

pub fn parse(&mut self, pattern: &str) -> Result<Hir, Error>

Parse the regular expression into a high level intermediate representation.

Trait Implementations§

source§

impl Clone for Parser

source§

fn clone(&self) -> Parser

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Debug for Parser

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl !Freeze for Parser

§

impl !RefUnwindSafe for Parser

§

impl Send for Parser

§

impl !Sync for Parser

§

impl Unpin for Parser

§

impl UnwindSafe for Parser

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> 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,

§

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>,

§

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>,

§

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.