isla icon indicating copy to clipboard operation
isla copied to clipboard

[FEATURE] Language Extension: Higher-Order and External Functions

Open rindPHI opened this issue 1 year ago • 0 comments

The ISLa 2.0 syntax should support higher-order functions such as num(<T> v; P(v)) and sum(<T> v; P(v); t(v)), so that we can write

num(<byte> b; inside(b, <packet>)) < 40

instead of (in ISLa 1.x syntax)

exists int num_bytes: (count(<packet>, "<byte>", num_bytes) and num_bytes < 40)

Furthermore, "external" functions with user-specified semantics should be supported.

Adding these features supports removing the old semantic predicates and numeric quantifiers, both problematic ISLa 1.x syntax elements.

rindPHI avatar Jul 11 '23 13:07 rindPHI