public final class VerilogCalculator
extends java.lang.Object
VerilogCalculator
implements expression reduction and evaluation utilities.Modifier and Type | Method and Description |
---|---|
static ru.ispras.fortress.data.Data |
evaluate(ru.ispras.fortress.expression.Node node)
Evaluates the expression.
|
static ru.ispras.fortress.data.Data |
evaluate(ru.ispras.fortress.expression.Node node,
java.util.Map<java.lang.String,ru.ispras.fortress.data.Data> context)
Evaluates the expression.
|
static ru.ispras.fortress.data.Data |
evaluate(ru.ispras.fortress.expression.Node node,
ru.ispras.fortress.transformer.ValueProvider valueProvider)
Evaluates the expression.
|
static java.lang.Integer |
evaluateInteger(ru.ispras.fortress.expression.Node node)
Evaluates the integer-value expression.
|
static java.lang.Integer |
evaluateInteger(ru.ispras.fortress.expression.Node node,
java.util.Map<java.lang.String,ru.ispras.fortress.data.Data> context)
Evaluates the integer-value expression.
|
static java.lang.Integer |
evaluateInteger(ru.ispras.fortress.expression.Node node,
ru.ispras.fortress.transformer.ValueProvider valueProvider)
Evaluates the integer-value expression.
|
static ru.ispras.fortress.expression.Node |
reduce(ru.ispras.fortress.expression.Node node)
Reduces the expression by folding constant subexpressions.
|
public static ru.ispras.fortress.expression.Node reduce(ru.ispras.fortress.expression.Node node)
node
- the expression to be reduced.public static ru.ispras.fortress.data.Data evaluate(ru.ispras.fortress.expression.Node node, ru.ispras.fortress.transformer.ValueProvider valueProvider)
node
- the expression to be evaluated.valueProvider
- the variables' values provider.null
.public static ru.ispras.fortress.data.Data evaluate(ru.ispras.fortress.expression.Node node, java.util.Map<java.lang.String,ru.ispras.fortress.data.Data> context)
node
- the expression to be evaluated.context
- the variables' values.null
.public static ru.ispras.fortress.data.Data evaluate(ru.ispras.fortress.expression.Node node)
node
- the expression to be evaluated.null
.public static java.lang.Integer evaluateInteger(ru.ispras.fortress.expression.Node node)
node
- the expression to be evaluated.null
.public static java.lang.Integer evaluateInteger(ru.ispras.fortress.expression.Node node, ru.ispras.fortress.transformer.ValueProvider valueProvider)
node
- the expression to be evaluated.valueProvider
- the variables' values provider.null
.public static java.lang.Integer evaluateInteger(ru.ispras.fortress.expression.Node node, java.util.Map<java.lang.String,ru.ispras.fortress.data.Data> context)
node
- the expression to be evaluated.context
- the variables' values.null
.