@eagleoutice/flowr
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
30 lines (29 loc) • 849 B
TypeScript
import type { Ternary } from '../../util/logic';
/**
* An abstract domain with satisfiability checks for concrete values.
*/
export interface SatisfiableDomain<T> {
/**
* Checks whether the current abstract value satisfies a concrete value (i.e. includes a concrete value).
* @see {@link Ternary} for the returned satisfiability result
*/
satisfies(value: T): Ternary;
}
/**
* Represents the different types of numerical comparators for satisfiability checks for an abstract domain.
*/
export declare enum NumericalComparator {
Equal = 0,
Less = 1,
LessOrEqual = 2,
Greater = 3,
GreaterOrEqual = 4
}
/**
* Represents the different types of set comparators for satisfiability checks for an abstract domain.
*/
export declare enum SetComparator {
Equal = 0,
Subset = 1,
SubsetOrEqual = 2
}