"""
Character Inclusion Analysis
============================
:Author: Caterina Urban
"""
from lyra.abstract_domains.string.character_domain import CharacterState
from lyra.engine.backward import BackwardInterpreter
from lyra.engine.forward import ForwardInterpreter
from lyra.engine.runner import Runner
from lyra.semantics.backward import DefaultBackwardSemantics
from lyra.semantics.forward import DefaultForwardSemantics
[docs]class ForwardCharacterAnalysis(Runner):
[docs] def interpreter(self):
return ForwardInterpreter(self.cfg, DefaultForwardSemantics(), 3)
[docs] def state(self):
return CharacterState(self.variables)
[docs]class BackwardCharacterAnalysis(Runner):
[docs] def interpreter(self):
return BackwardInterpreter(self.cfg, DefaultBackwardSemantics(), 3)
[docs] def state(self):
return CharacterState(self.variables)