Skip to main content

FunctionParser

Trait FunctionParser 

Source
pub trait FunctionParser {
Show 21 methods // Required methods fn report_nonstrict( &self, error_code: &str, error_message: &str, token: Option<&Token>, ) -> Result<(), ParseError>; fn use_strict_behavior( &self, error_code: &str, error_message: &str, token: Option<&Token>, ) -> bool; fn is_trusted(&self, context: TrustContext) -> bool; fn current_color(&self) -> Result<Option<String>, ParseError>; fn in_left_right(&self) -> bool; fn is_expandable(&self, name: &str) -> bool; fn get_macro(&self, name: &str) -> Option<MacroDefinition>; fn set_macro(&mut self, name: &str, definition: Option<MacroDefinition>); fn set_macro_definition( &mut self, name: &str, definition: MacroDefinition, global: bool, ); fn parse_expression( &mut self, expr_list: bool, break_on_token_text: Option<&str>, ) -> Result<Vec<ParseNode>, ParseError>; fn parse_math_mode( &mut self, closing: &str, ) -> Result<Vec<ParseNode>, ParseError>; fn parse_left_right(&mut self, open: &str) -> Result<ParseNode, ParseError>; fn parse_optional_size(&mut self) -> Result<Option<Measurement>, ParseError>; fn parse_prefixed_function( &mut self, name: &str, ) -> Result<ParseNode, ParseError>; fn parse_environment(&mut self, name: &str) -> Result<ParseNode, ParseError>; fn pop_token(&mut self) -> Result<Token, ParseError>; fn future_token(&mut self) -> Result<Token, ParseError>; fn push_token(&mut self, token: Token); fn consume_spaces(&mut self) -> Result<(), ParseError>; fn consume_macro_arg(&mut self) -> Result<Vec<Token>, ParseError>; fn expand_tokens( &mut self, tokens: Vec<Token>, ) -> Result<Vec<Token>, ParseError>;
}
Expand description

Callbacks the parser exposes to function handlers. &mut methods mutate parser state; &self methods are pure reads of settings/state.

Required Methods§

Source

fn report_nonstrict( &self, error_code: &str, error_message: &str, token: Option<&Token>, ) -> Result<(), ParseError>

Source

fn use_strict_behavior( &self, error_code: &str, error_message: &str, token: Option<&Token>, ) -> bool

Source

fn is_trusted(&self, context: TrustContext) -> bool

Source

fn current_color(&self) -> Result<Option<String>, ParseError>

Source

fn in_left_right(&self) -> bool

Source

fn is_expandable(&self, name: &str) -> bool

Source

fn get_macro(&self, name: &str) -> Option<MacroDefinition>

Source

fn set_macro(&mut self, name: &str, definition: Option<MacroDefinition>)

Source

fn set_macro_definition( &mut self, name: &str, definition: MacroDefinition, global: bool, )

Source

fn parse_expression( &mut self, expr_list: bool, break_on_token_text: Option<&str>, ) -> Result<Vec<ParseNode>, ParseError>

Source

fn parse_math_mode( &mut self, closing: &str, ) -> Result<Vec<ParseNode>, ParseError>

Source

fn parse_left_right(&mut self, open: &str) -> Result<ParseNode, ParseError>

Source

fn parse_optional_size(&mut self) -> Result<Option<Measurement>, ParseError>

Source

fn parse_prefixed_function( &mut self, name: &str, ) -> Result<ParseNode, ParseError>

Source

fn parse_environment(&mut self, name: &str) -> Result<ParseNode, ParseError>

Source

fn pop_token(&mut self) -> Result<Token, ParseError>

Source

fn future_token(&mut self) -> Result<Token, ParseError>

Source

fn push_token(&mut self, token: Token)

Source

fn consume_spaces(&mut self) -> Result<(), ParseError>

Source

fn consume_macro_arg(&mut self) -> Result<Vec<Token>, ParseError>

Source

fn expand_tokens( &mut self, tokens: Vec<Token>, ) -> Result<Vec<Token>, ParseError>

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§