pub struct GrammarParser { /* private fields */ }Expand description
A LanguageParser that interprets a Grammar at runtime.
The parser is intentionally in-process: it does not generate source code.
It accepts input only when the start rule consumes the complete string.
Failed or partial parses return false from accepts and
fall back to LinkNetwork::parse_lossless_text through the
LanguageParser implementation.
Implementations§
Source§impl GrammarParser
impl GrammarParser
Sourcepub fn new(grammar: Grammar) -> Self
pub fn new(grammar: Grammar) -> Self
Builds a runtime parser for grammar.
Construction records basic grammar diagnostics, including missing start rules and undefined non-terminal references. Diagnostic grammars fail closed at parse time instead of panicking.
Sourcepub fn diagnostics(&self) -> &[String]
pub fn diagnostics(&self) -> &[String]
Construction-time diagnostics for malformed grammar references.
Trait Implementations§
Source§impl Clone for GrammarParser
impl Clone for GrammarParser
Source§fn clone(&self) -> GrammarParser
fn clone(&self) -> GrammarParser
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for GrammarParser
impl Debug for GrammarParser
Source§impl LanguageParser for GrammarParser
impl LanguageParser for GrammarParser
Source§fn parse_source(
&self,
text: &str,
language: &str,
configuration: ParseConfiguration,
) -> LinkNetwork
fn parse_source( &self, text: &str, language: &str, configuration: ParseConfiguration, ) -> LinkNetwork
Parses
text using the requested language label.Source§impl MembershipOracle for GrammarParser
impl MembershipOracle for GrammarParser
Auto Trait Implementations§
impl Freeze for GrammarParser
impl RefUnwindSafe for GrammarParser
impl Send for GrammarParser
impl Sync for GrammarParser
impl Unpin for GrammarParser
impl UnsafeUnpin for GrammarParser
impl UnwindSafe for GrammarParser
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.