pub struct ParserTables { /* private fields */ }Expand description
Tables and parameters used to create a Parser. This type is used as a return object from the parser generator,
when the Parser must be created dynamically; for example, in tests or in situations where the grammar isn’t
known in advance. In those situations, the ParserTables object must live as long as the parser it generates.
The Parser itself uses references to tables whenever possible because, in most situations, the tables are static in generated source files. A few fields must still be created dynamically from (possibly) static tables because they don’t exist in static form.
Implementations§
Source§impl ParserTables
impl ParserTables
pub fn new( parsing_table: LLParsingTable, symbol_table: FixedSymTable, opcodes: Vec<Vec<OpCode>>, start: VarId, include_alts: bool, ) -> Self
pub fn make_parser(&self) -> Parser<'_>
Trait Implementations§
Source§impl BuildFrom<ParserGen> for ParserTables
impl BuildFrom<ParserGen> for ParserTables
Source§fn build_from(parser_gen: ParserGen) -> Self
fn build_from(parser_gen: ParserGen) -> Self
Creates a ParserTables, from which a parser can be created dynamically with
parser_table.make_parser().
Source§impl TryBuildFrom<ParserGen> for ParserTables
impl TryBuildFrom<ParserGen> for ParserTables
Source§type Error = BuildError
type Error = BuildError
The type returned in the event of a conversion error.
Auto Trait Implementations§
impl Freeze for ParserTables
impl RefUnwindSafe for ParserTables
impl Send for ParserTables
impl Sync for ParserTables
impl Unpin for ParserTables
impl UnwindSafe for ParserTables
Blanket Implementations§
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<S> BuildFrom<S> for S
impl<S> BuildFrom<S> for S
Source§fn build_from(source: S) -> S
fn build_from(source: S) -> S
Converts to this type from the input type.
Source§impl<S, T> BuildInto<T> for Swhere
T: BuildFrom<S>,
impl<S, T> BuildInto<T> for Swhere
T: BuildFrom<S>,
Source§fn build_into(self) -> T
fn build_into(self) -> T
Calls T::from(self) to convert a [S] into a [T].
Source§impl<S, T> TryBuildInto<T> for Swhere
T: TryBuildFrom<S>,
impl<S, T> TryBuildInto<T> for Swhere
T: TryBuildFrom<S>,
Source§type Error = <T as TryBuildFrom<S>>::Error
type Error = <T as TryBuildFrom<S>>::Error
The type returned in the event of a conversion error.
Source§fn try_build_into(self) -> Result<T, <T as TryBuildFrom<S>>::Error>
fn try_build_into(self) -> Result<T, <T as TryBuildFrom<S>>::Error>
Performs the conversion.