From 1e34d726e1a448862c3e2d2af29282b2fda49fc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20L=C3=BChne?= Date: Tue, 14 Apr 2020 00:29:21 +0200 Subject: [PATCH] Export formatting implementation functionality --- src/format.rs | 20 ++++++++++++++++++-- src/format/formulas.rs | 6 +++--- src/format/terms.rs | 2 +- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/src/format.rs b/src/format.rs index a201c44..427878e 100644 --- a/src/format.rs +++ b/src/format.rs @@ -1,5 +1,5 @@ -mod formulas; -mod terms; +pub mod formulas; +pub mod terms; pub trait Format { @@ -19,3 +19,19 @@ impl Format for DefaultFormat write!(formatter, "{:?}", variable_declaration) } } + +pub fn display_term<'term, 'format, F>(term: &'term crate::Term, format: &'format F) + -> terms::TermDisplay<'term, 'format, F> +where + F: Format, +{ + terms::display_term(term, None, terms::TermPosition::Any, format) +} + +pub fn display_formula<'formula, 'format, F>(formula: &'formula crate::Formula, format: &'format F) + -> formulas::FormulaDisplay<'formula, 'format, F> +where + F: Format, +{ + formulas::display_formula(formula, None, formulas::FormulaPosition::Any, format) +} diff --git a/src/format/formulas.rs b/src/format/formulas.rs index 47bfc0f..a1f6161 100644 --- a/src/format/formulas.rs +++ b/src/format/formulas.rs @@ -29,13 +29,13 @@ impl std::fmt::Display for crate::PredicateDeclaration } #[derive(Clone, Copy, Eq, PartialEq)] -enum FormulaPosition +pub(crate) enum FormulaPosition { Any, ImpliesAntecedent, } -struct FormulaDisplay<'formula, 'format, F> +pub struct FormulaDisplay<'formula, 'format, F> where F: super::Format, { @@ -117,7 +117,7 @@ where } } -fn display_formula<'formula, 'format, F>(formula: &'formula crate::Formula, +pub(crate) fn display_formula<'formula, 'format, F>(formula: &'formula crate::Formula, parent_formula: Option<&'formula crate::Formula>, position: FormulaPosition, format: &'format F) -> FormulaDisplay<'formula, 'format, F> where diff --git a/src/format/terms.rs b/src/format/terms.rs index b302d48..970553c 100644 --- a/src/format/terms.rs +++ b/src/format/terms.rs @@ -58,7 +58,7 @@ pub(crate) enum TermPosition Right, } -pub(crate) struct TermDisplay<'term, 'format, F> +pub struct TermDisplay<'term, 'format, F> where F: super::Format, {