AbstractBinaryExpressionSolver<T extends BinaryExpression> 
A solver that handles expressions of the form A [OP] B

AbstractExpressionSolver<T extends PatternExpression> 
The root type of an expression solver

AbstractUnaryExpressionSolver<T extends UnaryExpression> 
A solver that handles expressions of the form [OP]A

AndExpressionSolver 
Solves expressions of the form A & B

ConstantValueSolver 
"Solves" constant expressions
Essentially, this either evaluates successfully when asked for a constant value, or checks that
the goal is equal to the constant.

ContextFieldSolver 
Solves expressions of a context register field
Essentially, this just encodes the goal into the field, if it can be represented in the given
space and format.

DivExpressionSolver 
Solves expressions of the form A / B

EndInstructionValueSolver 
"Solves" expressions of inst_next
Works like the constant solver, but takes the value of inst_next , which is given by the
assembly address and the resulting instruction length.

LeftShiftExpressionSolver 
Solves expressions of the form A << B

MaskedLong 
A 64bit value where each bit is 0 , 1 , or x (undefined)

MinusExpressionSolver 
Solves expressions of the form A

MultExpressionSolver 
Solves expressions of the form A * B

NotExpressionSolver 
Solves expressions of the form ~A

OperandValueSolver 
Solves expressions of an operand value
These are a sort of named subexpression, but they may also specify a shift in encoding.

OrExpressionSolver 
Solves expressions of the form A  B

PlusExpressionSolver 
Solves expressions of the form A + B

RecursiveDescentSolver 
This singleton class seeks solutions to PatternExpression s
It is called naive, because it does not perform algebraic transformations.

RightShiftExpressionSolver 
Solves expressions of the form A >> B

StartInstructionValueSolver 
"Solves" expression of inst_start
Works like the constant solver, but takes the value of inst_start , which is given by the
assembly address.

SubExpressionSolver 
Solves expressions of the form A  B

TokenFieldSolver 
Solves expressions of a token (instruction encoding) field
Essentially, this just encodes the goal into the field, if it can be represented in the given
space and format.

XorExpressionSolver 
Solves expressions of the form A $xor B
