Struct Parser

Source
pub struct Parser { /* private fields */ }

Implementations§

Source§

impl Parser

Source

pub fn new() -> Self

Source

pub fn parse(self, source: &str) -> Result<IdedExpr, ParseErrors>

Trait Implementations§

Source§

impl Default for Parser

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl ParseTreeVisitorCompat<'_> for Parser

Source§

type Node = CELParserContextType

Source§

type Return = IdedExpr

Source§

fn temp_result(&mut self) -> &mut Self::Return

Temporary storage for ParseTreeVisitor blanket implementation to work Read more
Source§

fn visit( &mut self, node: &<Self::Node as ParserNodeType<'_>>::Type, ) -> Self::Return

Source§

fn aggregate_results( &self, _aggregate: Self::Return, next: Self::Return, ) -> Self::Return

Source§

fn visit_terminal( &mut self, _node: &LeafNode<'input, Self::Node, NoError>, ) -> Self::Return

Called on terminal(leaf) node
Source§

fn visit_error_node( &mut self, _node: &LeafNode<'input, Self::Node, IsError>, ) -> Self::Return

Called on error node
Source§

fn visit_children( &mut self, node: &<Self::Node as ParserNodeType<'input>>::Type, ) -> Self::Return

Source§

fn should_visit_next_child( &self, node: &<Self::Node as ParserNodeType<'input>>::Type, current: &Self::Return, ) -> bool

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> AnyExt for T
where T: Any + ?Sized,

Source§

fn downcast_ref<T>(this: &Self) -> Option<&T>
where T: Any,

Attempts to downcast this to T behind reference
Source§

fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>
where T: Any,

Attempts to downcast this to T behind mutable reference
Source§

fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>
where T: Any,

Attempts to downcast this to T behind Rc pointer
Source§

fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>
where T: Any,

Attempts to downcast this to T behind Arc pointer
Source§

fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>
where T: Any,

Attempts to downcast this to T behind Box pointer
Source§

fn downcast_move<T>(this: Self) -> Option<T>
where T: Any, Self: Sized,

Attempts to downcast owned Self to T, useful only in generic context as a workaround for specialization
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, X> CoerceTo<T> for X
where T: CoerceFrom<X> + ?Sized,

Source§

fn coerce_rc_to(self: Rc<X>) -> Rc<T>

Source§

fn coerce_box_to(self: Box<X>) -> Box<T>

Source§

fn coerce_ref_to(&self) -> &T

Source§

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

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<'input, Node, T> ParseTreeVisitor<'input, Node> for T
where Node: ParserNodeType<'input>, <Node as ParserNodeType<'input>>::Type: VisitableDyn<T>, T: ParseTreeVisitorCompat<'input, Node = Node>,

Source§

fn visit_terminal(&mut self, node: &LeafNode<'input, Node, NoError>)

Basically alias for node.accept(self) in visitor implementation just to make api closer to java Called on terminal(leaf) node
Source§

fn visit_error_node(&mut self, node: &LeafNode<'input, Node, IsError>)

Called on error node
Source§

fn visit_children(&mut self, node: &<Node as ParserNodeType<'input>>::Type)

Implement this only if you want to change children visiting algorithm
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.
Source§

impl<'input, Node, T> VisitChildren<'input, Node> for T
where Node: ParserNodeType<'input>, T: ParseTreeVisitor<'input, Node> + ?Sized, <Node as ParserNodeType<'input>>::Type: VisitableDyn<T>,

Source§

fn visit_node(&mut self, node: &<Node as ParserNodeType<'input>>::Type)