Struct Translator
pub struct Translator { /* private fields */ }
A translator maps abstract syntax to a high level intermediate representation.
A translator may be benefit from reuse. That is, a translator can translate many abstract syntax trees.
A Translator can be configured in more detail via a
TranslatorBuilder.
Implementations
impl Translator
fn new() -> TranslatorCreate a new translator using the default configuration.
fn translate(&mut self, pattern: &str, ast: &Ast) -> Result<Hir, Error>Translate the given abstract syntax tree (AST) into a high level intermediate representation (HIR).
If there was a problem doing the translation, then an HIR-specific error is returned.
The original pattern string used to produce the
Astmust also be provided. The translator does not use the pattern string during any correct translation, but is used for error reporting.
Trait Implementations
impl Clone for Translator
fn clone(&self) -> Self
impl Debug for Translator
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Auto Trait Implementations
impl !Freeze for Translator
impl !RefUnwindSafe for Translator
impl !Sync for Translator
impl Send for Translator
impl Unpin for Translator
impl UnsafeUnpin for Translator
impl UnwindSafe for Translator
Blanket Implementations
impl<T> Any for Translator
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for Translator
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for Translator
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> CloneToUninit for Translator
where
T: Clone,
unsafe fn clone_to_uninit(&self, dest: *mut u8)
impl<T> From<T> for Translator
fn from(t: T) -> TReturns the argument unchanged.
impl<T> ToOwned for Translator
where
T: Clone,
type Owned = T;fn to_owned(&self) -> Tfn clone_into(&self, target: &mut T)
impl<T, U> Into<U> for Translator
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom<U> for Translator
where
U: Into<T>,
type Error = never;fn try_from(value: U) -> Result<T, never>
impl<T, U> TryInto<U> for Translator
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>