use crate::position::PositionInLanguageTerm;
use crate::process::strategy::{run_to_completion, RewriteProcess};
use crate::term::syntax::{LanguageTerm, RewritableLanguageOperatorSymbol, TermFactory};
pub struct RewriteProcessUntracedExecutor {}
impl RewriteProcessUntracedExecutor {
pub fn rewrite<LOS: RewritableLanguageOperatorSymbol>(
strategy: &RewriteProcess<LOS>,
term: &LanguageTerm<LOS>,
factory: &mut TermFactory<LOS>,
) -> Vec<LanguageTerm<LOS>> {
run_to_completion(
strategy,
term,
term,
&PositionInLanguageTerm::get_root_position(),
factory,
)
}
}