public final class Substitutor
extends java.lang.Object
Constructor and Description |
---|
Substitutor(Efsm efsm)
Constructs a substitutor for the specified EFSM.
|
Modifier and Type | Method and Description |
---|---|
ru.ispras.fortress.expression.Node |
backtrack(java.util.List<EfsmTransition> path)
Backtracks the specified path performing symbolic substitutions and returns an expression with
cycle number-annotated variables that must be satisfied in order to traverse the path.
|
static java.util.Map<java.lang.Integer,java.util.Map<java.lang.String,ru.ispras.fortress.data.Data>> |
deannotateInputs(java.lang.Iterable<ru.ispras.fortress.data.Variable> variables)
Analyses cycle number-annotated variables and returns mappings between cycle numbers and
corresponding variables' values.
|
static java.lang.String |
deannotateName(java.lang.String name)
Deannotates the specified cycle number-annotated name.
|
static int |
getCycleNumberForAnnotatedInput(java.lang.String name)
Extracts a cycle number from the specified cycle number-annotated name.
|
public Substitutor(Efsm efsm)
efsm
- the EFSMpublic static java.util.Map<java.lang.Integer,java.util.Map<java.lang.String,ru.ispras.fortress.data.Data>> deannotateInputs(java.lang.Iterable<ru.ispras.fortress.data.Variable> variables)
variables
- the cycle number-annotated variablespublic static int getCycleNumberForAnnotatedInput(java.lang.String name)
name
- the cycle number-annotated namepublic static java.lang.String deannotateName(java.lang.String name)
name
- the cycle number-annotated namepublic ru.ispras.fortress.expression.Node backtrack(java.util.List<EfsmTransition> path)