Lattice
oqd_compiler_infrastructure.lattice
¶
LatticeTop
¶
Base class representing the top element of the lattice.
In LatticeBase, nodes are classes that inherit from LatticeTop.
LatticeBottom
¶
Lattice
¶
Bases: ABC, Generic[LatticeValue]
Abstract base class for a lattice interface.
Source code in oqd-compiler-infrastructure/src/oqd_compiler_infrastructure/lattice.py
top() -> LatticeValue
abstractmethod
¶
bottom() -> LatticeValue
abstractmethod
¶
leq(t1: LatticeValue, t2: LatticeValue) -> bool
abstractmethod
¶
join(t1: LatticeValue, t2: LatticeValue) -> LatticeValue
abstractmethod
¶
meet(t1: LatticeValue, t2: LatticeValue) -> LatticeValue
abstractmethod
¶
equal(t1: LatticeValue, t2: LatticeValue) -> bool
¶
Returns True if two values are equal in the lattice.
LatticeBase
¶
Bases: Lattice[LatticeValue]
Concrete implementation of a lattice interface.
Source code in oqd-compiler-infrastructure/src/oqd_compiler_infrastructure/lattice.py
top() -> LatticeValue
¶
bottom() -> LatticeValue
¶
is_class_node(t: object) -> bool
¶
atomic_ancestors(t: object) -> set[object]
¶
Returns the atomic ancestors of a given node.
Source code in oqd-compiler-infrastructure/src/oqd_compiler_infrastructure/lattice.py
leq(t1: LatticeValue, t2: LatticeValue) -> bool
¶
Returns True if t1 <= t2 in the lattice.
Source code in oqd-compiler-infrastructure/src/oqd_compiler_infrastructure/lattice.py
join(t1: LatticeValue, t2: LatticeValue) -> LatticeValue
¶
Returns the least upper bound of t1 and t2.
Source code in oqd-compiler-infrastructure/src/oqd_compiler_infrastructure/lattice.py
meet(t1: LatticeValue, t2: LatticeValue) -> LatticeValue
¶
Returns the greatest lower bound of t1 and t2.
Source code in oqd-compiler-infrastructure/src/oqd_compiler_infrastructure/lattice.py
maplattice(lattice: Type[Lattice]) -> Type[Lattice]
¶
Builds a map lattice class from a lattice class for map based analysis
Source code in oqd-compiler-infrastructure/src/oqd_compiler_infrastructure/lattice.py
148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 | |