Skip to main content

ParserExecutor

Trait ParserExecutor 

Source
pub trait ParserExecutor: Send + Sync {
    // Required method
    fn execute_parse<'a>(
        &self,
        task: &ParseTask<'_>,
        arena: &'a Bump,
        context: &mut ExecutionContext<'a>,
    ) -> Result<(), AamlError>;

    // Provided method
    fn execute_batch<'a>(
        &self,
        tasks: &[ParseTask<'_>],
        arena: &'a Bump,
        context: &mut ExecutionContext<'a>,
    ) -> TaskExecutionResult { ... }
}
Expand description

Trait for executing parsing tasks.

A ParserExecutor takes parse tasks and performs parsing operations, managing scopes, variables, and directive registration.

Required Methods§

Source

fn execute_parse<'a>( &self, task: &ParseTask<'_>, arena: &'a Bump, context: &mut ExecutionContext<'a>, ) -> Result<(), AamlError>

Executes a single parsing task.

§Arguments
  • task: The parsing task to execute
  • context: Mutable execution context (maybe modified)
§Returns
  • Ok(()) if parsing succeeded
  • Err(AamlError) if parsing failed

Provided Methods§

Source

fn execute_batch<'a>( &self, tasks: &[ParseTask<'_>], arena: &'a Bump, context: &mut ExecutionContext<'a>, ) -> TaskExecutionResult

Executes multiple parsing tasks in sequence.

§Arguments
  • tasks: All parsing tasks to execute
  • context: Mutable execution context
§Returns
  • TaskExecutionResult with aggregated results

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§