pub struct FromSexpWrapper<T: Types, Parser> {
pub parser: Parser,
pub _phantom: PhantomData<T>,
scopes: Vec<IndexSet<String>>,
}Fields§
§parser: Parser§_phantom: PhantomData<T>§scopes: Vec<IndexSet<String>>Implementations§
Source§impl<T, Parser: FromSexp<T>> FromSexpWrapper<T, Parser>where
T: Types,
impl<T, Parser: FromSexp<T>> FromSexpWrapper<T, Parser>where
T: Types,
fn parse_bv_size(&self, sexp: &Sexp) -> Result<Sort<T>, ParseError>
pub fn parse_name(&self, sexp: &Sexp) -> Result<T::Var, ParseError>
pub fn parse_bind(&mut self, sexp: &Sexp) -> Result<Bind<T>, ParseError>
fn parse_pred_inner(&mut self, sexp: &Sexp) -> Result<Pred<T>, ParseError>
pub fn parse_kvar(&self, sexp: &Sexp) -> Result<Pred<T>, ParseError>
fn parse_expr_possibly_nested( &mut self, sexp: &Sexp, ) -> Result<Expr<T>, ParseError>
fn parse_is_ctor( &mut self, ctor_name: &str, arg: &Sexp, ) -> Result<Expr<T>, ParseError>
pub fn parse_expr(&mut self, sexp: &Sexp) -> Result<Expr<T>, ParseError>
fn parse_neg(&mut self, sexp: &Sexp) -> Result<Expr<T>, ParseError>
fn parse_not(&mut self, sexp: &Sexp) -> Result<Expr<T>, ParseError>
fn parse_iff(&mut self, sexp: &Sexp) -> Result<Expr<T>, ParseError>
fn parse_imp(&mut self, sexp: &Sexp) -> Result<Expr<T>, ParseError>
fn parse_and(&mut self, sexp: &Sexp) -> Result<Expr<T>, ParseError>
fn parse_or(&mut self, sexp: &Sexp) -> Result<Expr<T>, ParseError>
fn parse_atom(&mut self, sexp: &Sexp) -> Result<Expr<T>, ParseError>
fn parse_app(&mut self, sexp: &Sexp) -> Result<Expr<T>, ParseError>
fn parse_binary_op(&mut self, sexp: &Sexp) -> Result<Expr<T>, ParseError>
fn parse_exists(&mut self, items: &[Sexp]) -> Result<Expr<T>, ParseError>
fn parse_let(&mut self, sexp: &Sexp) -> Result<Expr<T>, ParseError>
fn parse_list_sort(&self, sexp: &Sexp) -> Result<Sort<T>, ParseError>
pub fn parse_sort(&self, sexp: &Sexp) -> Result<Sort<T>, ParseError>
fn parse_func_sort(&self, items: &[Sexp]) -> Result<Sort<T>, ParseError>
pub fn parse_solution( &mut self, sexp: &Sexp, ) -> Result<(Vec<Sort<T>>, Expr<T>), ParseError>
fn push_scope(&mut self, names: &[String])
fn pop_scope(&mut self)
fn parse_bound_var(&self, name: &str) -> Option<Expr<T>>
Auto Trait Implementations§
impl<T, Parser> Freeze for FromSexpWrapper<T, Parser>where
Parser: Freeze,
impl<T, Parser> RefUnwindSafe for FromSexpWrapper<T, Parser>where
Parser: RefUnwindSafe,
T: RefUnwindSafe,
impl<T, Parser> Send for FromSexpWrapper<T, Parser>
impl<T, Parser> Sync for FromSexpWrapper<T, Parser>
impl<T, Parser> Unpin for FromSexpWrapper<T, Parser>
impl<T, Parser> UnwindSafe for FromSexpWrapper<T, Parser>where
Parser: UnwindSafe,
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more