Enum smt2parser::concrete::Command [−][src]
pub enum Command<Term = Term, Symbol = Symbol, Sort = Sort, Keyword = Keyword, Constant = Constant, SExpr = SExpr> {
Show 30 variants
Assert {
term: Term,
},
CheckSat,
CheckSatAssuming {
literals: Vec<(Symbol, bool)>,
},
DeclareConst {
symbol: Symbol,
sort: Sort,
},
DeclareDatatype {
symbol: Symbol,
datatype: DatatypeDec<Symbol, Sort>,
},
DeclareDatatypes {
datatypes: Vec<(Symbol, Numeral, DatatypeDec<Symbol, Sort>)>,
},
DeclareFun {
symbol: Symbol,
parameters: Vec<Sort>,
sort: Sort,
},
DeclareSort {
symbol: Symbol,
arity: Numeral,
},
DefineFun {
sig: FunctionDec<Symbol, Sort>,
term: Term,
},
DefineFunRec {
sig: FunctionDec<Symbol, Sort>,
term: Term,
},
DefineFunsRec {
funs: Vec<(FunctionDec<Symbol, Sort>, Term)>,
},
DefineSort {
symbol: Symbol,
parameters: Vec<Symbol>,
sort: Sort,
},
Echo {
message: String,
},
Exit,
GetAssertions,
GetAssignment,
GetInfo {
flag: Keyword,
},
GetModel,
GetOption {
keyword: Keyword,
},
GetProof,
GetUnsatAssumptions,
GetUnsatCore,
GetValue {
terms: Vec<Term>,
},
Pop {
level: Numeral,
},
Push {
level: Numeral,
},
Reset,
ResetAssertions,
SetInfo {
keyword: Keyword,
value: AttributeValue<Constant, Symbol, SExpr>,
},
SetLogic {
symbol: Symbol,
},
SetOption {
keyword: Keyword,
value: AttributeValue<Constant, Symbol, SExpr>,
},
}
Expand description
Concrete syntax for a command.
Variants
Fields of DeclareDatatype
symbol: Symbol
datatype: DatatypeDec<Symbol, Sort>
Fields of DeclareDatatypes
datatypes: Vec<(Symbol, Numeral, DatatypeDec<Symbol, Sort>)>
Fields of DeclareFun
Fields of DeclareSort
symbol: Symbol
arity: Numeral
Fields of DefineFun
sig: FunctionDec<Symbol, Sort>
term: Term
Fields of DefineFunRec
sig: FunctionDec<Symbol, Sort>
term: Term
Fields of DefineFunsRec
funs: Vec<(FunctionDec<Symbol, Sort>, Term)>
Fields of DefineSort
Fields of Echo
message: String
Fields of GetValue
terms: Vec<Term>
Fields of Pop
level: Numeral
Fields of Push
level: Numeral
Fields of SetInfo
keyword: Keyword
value: AttributeValue<Constant, Symbol, SExpr>
Fields of SetOption
keyword: Keyword
value: AttributeValue<Constant, Symbol, SExpr>
Implementations
pub fn accept<V, T, E, S1, S2, S3, S4, S5, S6, S7>(
self,
visitor: &mut V
) -> Result<T, E> where
V: SortVisitor<S1, T = S2, E = E> + SymbolVisitor<T = S1, E = E> + QualIdentifierVisitor<Identifier<S1>, S2, T = S3, E = E> + ConstantVisitor<T = S4, E = E> + KeywordVisitor<T = S5, E = E> + SExprVisitor<S4, S1, S5, T = S6, E = E> + TermVisitor<S4, S3, S5, S6, S1, S2, T = S7, E = E> + CommandVisitor<S7, S1, S2, S5, S4, S6, T = T, E = E>,
pub fn accept<V, T, E, S1, S2, S3, S4, S5, S6, S7>(
self,
visitor: &mut V
) -> Result<T, E> where
V: SortVisitor<S1, T = S2, E = E> + SymbolVisitor<T = S1, E = E> + QualIdentifierVisitor<Identifier<S1>, S2, T = S3, E = E> + ConstantVisitor<T = S4, E = E> + KeywordVisitor<T = S5, E = E> + SExprVisitor<S4, S1, S5, T = S6, E = E> + TermVisitor<S4, S3, S5, S6, S1, S2, T = S7, E = E> + CommandVisitor<S7, S1, S2, S5, S4, S6, T = T, E = E>,
Visit a concrete command.
Trait Implementations
impl<'de, Term, Symbol, Sort, Keyword, Constant, SExpr> Deserialize<'de> for Command<Term, Symbol, Sort, Keyword, Constant, SExpr> where
Term: Deserialize<'de>,
Symbol: Deserialize<'de>,
Sort: Deserialize<'de>,
Keyword: Deserialize<'de>,
Constant: Deserialize<'de>,
SExpr: Deserialize<'de>,
impl<'de, Term, Symbol, Sort, Keyword, Constant, SExpr> Deserialize<'de> for Command<Term, Symbol, Sort, Keyword, Constant, SExpr> where
Term: Deserialize<'de>,
Symbol: Deserialize<'de>,
Sort: Deserialize<'de>,
Keyword: Deserialize<'de>,
Constant: Deserialize<'de>,
SExpr: Deserialize<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl<Term: Eq, Symbol: Eq, Sort: Eq, Keyword: Eq, Constant: Eq, SExpr: Eq> Eq for Command<Term, Symbol, Sort, Keyword, Constant, SExpr>
impl<Term, Symbol, Sort, Keyword, Constant, SExpr> StructuralEq for Command<Term, Symbol, Sort, Keyword, Constant, SExpr>
impl<Term, Symbol, Sort, Keyword, Constant, SExpr> StructuralPartialEq for Command<Term, Symbol, Sort, Keyword, Constant, SExpr>
Auto Trait Implementations
impl<Term, Symbol, Sort, Keyword, Constant, SExpr> RefUnwindSafe for Command<Term, Symbol, Sort, Keyword, Constant, SExpr> where
Constant: RefUnwindSafe,
Keyword: RefUnwindSafe,
SExpr: RefUnwindSafe,
Sort: RefUnwindSafe,
Symbol: RefUnwindSafe,
Term: RefUnwindSafe,
impl<Term, Symbol, Sort, Keyword, Constant, SExpr> Send for Command<Term, Symbol, Sort, Keyword, Constant, SExpr> where
Constant: Send,
Keyword: Send,
SExpr: Send,
Sort: Send,
Symbol: Send,
Term: Send,
impl<Term, Symbol, Sort, Keyword, Constant, SExpr> Sync for Command<Term, Symbol, Sort, Keyword, Constant, SExpr> where
Constant: Sync,
Keyword: Sync,
SExpr: Sync,
Sort: Sync,
Symbol: Sync,
Term: Sync,
impl<Term, Symbol, Sort, Keyword, Constant, SExpr> Unpin for Command<Term, Symbol, Sort, Keyword, Constant, SExpr> where
Constant: Unpin,
Keyword: Unpin,
SExpr: Unpin,
Sort: Unpin,
Symbol: Unpin,
Term: Unpin,
impl<Term, Symbol, Sort, Keyword, Constant, SExpr> UnwindSafe for Command<Term, Symbol, Sort, Keyword, Constant, SExpr> where
Constant: UnwindSafe,
Keyword: UnwindSafe,
SExpr: UnwindSafe,
Sort: UnwindSafe,
Symbol: UnwindSafe,
Term: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more