"""
Assumption Analysis
===================
:Author: Caterina Urban and Madelin Schumacher
"""
from lyra.abstract_domains.assumption.alphabet_domain import AlphabetState
from lyra.abstract_domains.assumption.assumption_domain import TypeRangeAssumptionState, \
TypeAlphabetAssumptionState, TypeRangeAlphabetAssumptionState, TypeQuantityAssumptionState
from lyra.abstract_domains.assumption.quantity_domain import QuantityState
from lyra.abstract_domains.assumption.range_domain import RangeState
from lyra.abstract_domains.assumption.type_domain import TypeState
from lyra.engine.backward import BackwardInterpreter
from lyra.engine.runner import Runner
from lyra.semantics.backward import DefaultBackwardSemantics
[docs]class TypeAnalysis(Runner):
[docs] def interpreter(self):
return BackwardInterpreter(self.cfg, DefaultBackwardSemantics(), 3)
[docs] def state(self):
return TypeState(self.variables)
[docs]class QuantityAnalysis(Runner):
[docs] def interpreter(self):
return BackwardInterpreter(self.cfg, DefaultBackwardSemantics(), 3)
[docs] def state(self):
return QuantityState(self.variables)
[docs]class RangeAnalysis(Runner):
[docs] def interpreter(self):
return BackwardInterpreter(self.cfg, DefaultBackwardSemantics(), 3)
[docs] def state(self):
return RangeState(self.variables)
[docs]class AlphabetAnalysis(Runner):
[docs] def interpreter(self):
return BackwardInterpreter(self.cfg, DefaultBackwardSemantics(), 3)
[docs] def state(self):
return AlphabetState(self.variables)
[docs]class TypeQuantityAssumptionAnalysis(Runner):
[docs] def interpreter(self):
return BackwardInterpreter(self.cfg, DefaultBackwardSemantics(), 3)
[docs] def state(self):
return TypeQuantityAssumptionState(self.variables)
[docs]class TypeRangeAssumptionAnalysis(Runner):
[docs] def interpreter(self):
return BackwardInterpreter(self.cfg, DefaultBackwardSemantics(), 3)
[docs] def state(self):
return TypeRangeAssumptionState(self.variables)
[docs]class TypeAlphabetAssumptionAnalysis(Runner):
[docs] def interpreter(self):
return BackwardInterpreter(self.cfg, DefaultBackwardSemantics(), 3)
[docs] def state(self):
return TypeAlphabetAssumptionState(self.variables)
[docs]class TypeRangeAlphabetAssumptionAnalysis(Runner):
[docs] def interpreter(self):
return BackwardInterpreter(self.cfg, DefaultBackwardSemantics(), 3)
[docs] def state(self):
return TypeRangeAlphabetAssumptionState(self.variables)