Source code for lyra.engine.assumption.assumption_analysis

"""
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)