Skip to content

ISLa 1.9.1

Choose a tag to compare

@rindPHI rindPHI released this 09 Nov 15:02
· 175 commits to main since this release
v1.9.1
38cb1ff

[1.9.1] - 2022-11-08

Changed

  • Bug fix: Python extension files could not use local definitions before (e.g., helper
    functions); this is fixed now.
  • Buf fix: Epsilon productions are correctly processed in unparse_grammar.

[1.9.0] - 2022-11-08

Added

  • It is now possible to extend ISLa with custom structural or semantic predicates when
    using the CLI (this concerns isla solve, isla parse, isla check, isla fuzz,
    isla mutate, isla find, and isla mutate) by passing a Python file as input
    that contains a function

    predicates() -> typing.Set[isla.language.StructuralPredicate | isla.language.SemanticPredicate]

    Additionally or alternatively, that file may define a variable grammar or a function
    grammar() specifying the grammar of the language under test. This behavior, already
    implemented in previous ISLa versions (for the variable declaration, see "Changed"),
    is unaffected by the predicate extension feature.

Changed

  • In Python extension files, grammars may alternatively be defined as the return
    value of a function def grammar() -> Dict[str, List[str]] instead of an assignment
    to a variable grammar. This is the preferred style; the variable assignment may get
    deprecated in the future.