Package org.smtlib.impl
package org.smtlib.impl
This package is an implementation of the interfaces defined in org.smtlib.
This implementation uses the conventional concrete syntax.
In particular, there are implementations of ISort, IPos (and ISource),
ICommand, IResponse, IExpr and its subtypes, along with factories
for all of these concrete classes.
-
ClassesClassDescriptionThis abstract class is the base class for all commands within this implementation.Implements a factory for SMT-LIB expressions using the standard concrete syntax.Represents a range of characters in a source - used to indicate the location of errorsA Printable that also implements IExpr, additionally holding the sort computed for the expression by the type checker (null if not yet, or never, computed).An implementation of IPosable, holding an instance of Pos, that can be used as a base class if necessaryA Posable that also implements INode, with toString() delegating to Printer.An implementation of the ISource interfaceThis class holds subclasses that are implementations of the various IResponse interfaces.Implements the IResponse.IAssertionsResponse interfaceImplements the IResponse.IAssignmentResponse interfaceImplements the IResponse.IError interfaceImplements the IResponse.IFactory interfaceResponse.Pair<T1,
T2> Implements the IResponse.IPair interfaceImplements the IResponse.IProofResponse interfaceImplementation of IAttributeList: a list of attributes returned by get-info.Implements the IResponse.IUnsatAssumptionsResponse interfaceImplements the IResponse.IUnsatCoreResponse interfaceImplements the IResponse.IValueResponse interfaceThis class implements the IScript interface, representing SMT-LIB command scriptsThis class defines a number of subclasses that implement the SMT-LIB abstract AST; they are used by commands and expressions.This class represents an SMT as-identifier ASTSMTExpr.Attribute<TT extends IAttributeValue>Represents an SMT-LIB attribute: a keyword optionally paired with a value.Represents an SMT-LIB attributed expression ((! expr attrs...)).Represents an SMT-LIB binary literal (e.g.Represents a let-binding: a symbol bound to an expression.Represents a constructor declaration within a datatype, consisting of a name and a list of selectors.Represents a datatype body: a list of constructors and (for parametric forms) a list of sort parameter symbols.This class represents an SMT Decimal literal expression or syntax tokenRepresents a sorted variable declaration (parameter name and its sort), used in forall/exists/define-fun.Represents an expression-level error node inserted during parsing to allow error recovery.Represents an SMT-LIB existential quantifier expression.Represents a function-application expression: a qualified identifier applied to a list of argument expressions.Represents an SMT-LIB universal quantifier expression.Represents a function declaration header (name, sorted parameters, result sort), used in define-funs-rec.Represents an SMT-LIB hex literal (e.g.This class represents an SMT Keyword syntax tokenRepresents an SMT-LIB lambda expression (SMT-LIB 2.7ff, HO-Core theory).Represents an SMT-LIB let expression: a list of bindings and a body expression.Abstract base class for all literal value AST nodes; holds the typed value and provides a shared implementation.Represents an SMT-LIB 2.7 match expression: an expression matched against a list of cases.Represents a single case in a match expression: a pattern and its result body.This class represents an SMT Numeral expression or syntax tokenThis class represents an SMT parameterized-identifier AST (e.g.Represents a match pattern: a constructor name applied to zero or more variable symbols.Represents the value of a:patternattribute: a list of trigger terms.Represents a selector declaration within a datatype constructor.Represents a sort declaration (symbol and arity) used in declare-datatype and declare-datatypes.This class represents an SMT String literal expression or syntax tokenThis class represents an SMT SymbolThis class implements the abstract ISort interfaceImplements a Sort abbreviation (parameterized definition, possibly with no parameters)Represents a sort expression consisting of a sort symbol or sort abbreviation symbol applied to a corresponding number of sort argumentsA placeholder sort definition used when a sort declaration is ill-formed, to suppress cascading errors.Represents a new sort symbol, with a given identifier and arityRepresents the class of the sort of a function symbol.Represents a Sort parameter, such as in either the parameter list or the expression of a Sort abbreviation