Parser

Trait Parser 

Source
pub trait Parser<'input>: Recognizer<'input> {
Show 17 methods // Required methods fn get_interpreter(&self) -> &ParserATNSimulator; fn get_token_factory(&self) -> &'input Self::TF; fn get_parser_rule_context( &self, ) -> &Rc<<Self::Node as ParserNodeType<'input>>::Type>; fn consume(&mut self, err_handler: &mut impl ErrorStrategy<'input, Self>) where Self: Sized; fn precpred( &self, localctx: Option<&<Self::Node as ParserNodeType<'input>>::Type>, precedence: isize, ) -> bool; fn get_input_stream_mut( &mut self, ) -> &mut dyn TokenStream<'input, TF = Self::TF>; fn get_input_stream(&self) -> &dyn TokenStream<'input, TF = Self::TF>; fn get_current_token(&self) -> &<Self::TF as TokenFactory<'input>>::Tok; fn get_expected_tokens(&self) -> IntervalSet; fn add_error_listener( &mut self, listener: Box<dyn ErrorListener<'input, Self>>, ) where Self: Sized; fn notify_error_listeners( &self, msg: String, offending_token: Option<isize>, err: Option<&ANTLRError>, ); fn get_error_lister_dispatch<'a>( &'a self, ) -> Box<dyn ErrorListener<'input, Self> + 'a> where Self: Sized; fn is_expected_token(&self, symbol: isize) -> bool; fn get_precedence(&self) -> isize; fn get_state(&self) -> isize; fn set_state(&mut self, v: isize); fn get_rule_invocation_stack(&self) -> Vec<String>;
}
Expand description

parser functionality required for ParserATNSimulator to work

Required Methods§

Source

fn get_interpreter(&self) -> &ParserATNSimulator

Source

fn get_token_factory(&self) -> &'input Self::TF

Source

fn get_parser_rule_context( &self, ) -> &Rc<<Self::Node as ParserNodeType<'input>>::Type>

Source

fn consume(&mut self, err_handler: &mut impl ErrorStrategy<'input, Self>)
where Self: Sized,

Source

fn precpred( &self, localctx: Option<&<Self::Node as ParserNodeType<'input>>::Type>, precedence: isize, ) -> bool

Source

fn get_input_stream_mut( &mut self, ) -> &mut dyn TokenStream<'input, TF = Self::TF>

Source

fn get_input_stream(&self) -> &dyn TokenStream<'input, TF = Self::TF>

Source

fn get_current_token(&self) -> &<Self::TF as TokenFactory<'input>>::Tok

Source

fn get_expected_tokens(&self) -> IntervalSet

Source

fn add_error_listener(&mut self, listener: Box<dyn ErrorListener<'input, Self>>)
where Self: Sized,

Source

fn notify_error_listeners( &self, msg: String, offending_token: Option<isize>, err: Option<&ANTLRError>, )

Source

fn get_error_lister_dispatch<'a>( &'a self, ) -> Box<dyn ErrorListener<'input, Self> + 'a>
where Self: Sized,

Source

fn is_expected_token(&self, symbol: isize) -> bool

Source

fn get_precedence(&self) -> isize

Source

fn get_state(&self) -> isize

Source

fn set_state(&mut self, v: isize)

Source

fn get_rule_invocation_stack(&self) -> Vec<String>

Implementors§

Source§

impl<'input, Ext, I, Ctx, T> Parser<'input> for BaseParser<'input, Ext, I, Ctx, T>
where Ext: ParserRecog<'input, Self> + 'static, I: TokenStream<'input>, Ctx: ParserNodeType<'input, TF = I::TF>, T: ParseTreeListener<'input, Ctx> + ?Sized, Ctx::Type: Listenable<T> + CoerceFrom<TerminalNode<'input, Ctx>> + CoerceFrom<ErrorNode<'input, Ctx>>,