Skip to main content

ParserTrait

Trait ParserTrait 

Source
pub trait ParserTrait:
    Debug
    + Sized
    + 'static {
    type Kind: 'static + TokenTrait;

    // Required methods
    fn step(&self, el: &Element<Self>, state: &mut AStar<'_, Self>);
    fn at(&self) -> usize;
    fn element_kind(&self) -> Self::Kind;

    // Provided method
    fn state_dist(&self, _terminal: &Self::Kind) -> isize { ... }
}

Required Associated Types§

Source

type Kind: 'static + TokenTrait

Required Methods§

Source

fn step(&self, el: &Element<Self>, state: &mut AStar<'_, Self>)

Source

fn at(&self) -> usize

Source

fn element_kind(&self) -> Self::Kind

Provided Methods§

Source

fn state_dist(&self, _terminal: &Self::Kind) -> isize

Precomputed dist(q, a): minimum insertion cost to reach a point where terminal terminal can be matched, starting from this parser state (kind, state_number). Default: 0 (always admissible).

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl ParserTrait for rdf_parsers::jsonld::parser::Rule

Source§

impl ParserTrait for rdf_parsers::n3::parser::Rule

Source§

impl ParserTrait for rdf_parsers::ntriples::parser::Rule

Source§

impl ParserTrait for rdf_parsers::sparql::parser::Rule

Source§

impl ParserTrait for rdf_parsers::trig::parser::Rule

Source§

impl ParserTrait for rdf_parsers::turtle::parser::Rule