Skip to main content

StatementParser

Trait StatementParser 

Source
pub trait StatementParser:
    Send
    + Sync
    + Debug {
    // Required methods
    fn can_parse(&self, rule_name: &str) -> bool;
    fn supported_rules(&self) -> Vec<String>;
    fn parse_statement(
        &self,
        rule_name: &str,
        content: &str,
        context: &ParseContext<'_>,
    ) -> Result<Box<dyn ProtocolExtension>, ParseError>;
}
Expand description

Trait for parsing custom protocol statements

Required Methods§

Source

fn can_parse(&self, rule_name: &str) -> bool

Check if this parser can handle the given rule name

Source

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

Return all rules this parser supports

Source

fn parse_statement( &self, rule_name: &str, content: &str, context: &ParseContext<'_>, ) -> Result<Box<dyn ProtocolExtension>, ParseError>

Parse a statement into a protocol extension

§Arguments
  • rule_name - The grammar rule name being parsed
  • content - The matched content as a string
  • context - Parsing context with declared roles
§Returns

A boxed protocol extension representing the parsed statement

Implementors§