Skip to content
Snippets Groups Projects
  1. Feb 13, 2025
  2. Feb 12, 2025
  3. Feb 11, 2025
  4. Feb 10, 2025
    • Jan Rochel's avatar
      ef2a8754
    • Jan Rochel's avatar
      [e-acsl] new compilation scheme via intermedia language · b6556cc7
      Jan Rochel authored
      Introduce a new compilation scheme where E-ACSL logic terms are
      translated to CIL is implemented as a two-stage process.
      First, E-ACSL is translated into an intermediate language. Only then in
      the second stage the intermediate language is translated into CIL.
      
      The module Interlang specifies the E-ACSL intermediate language type,
      along with pretty printing functions. As this language is still subject
      to frequent changes, documentation remains scant for the moment.
      
      The module Interlang_gen helps in the creation of Interlang expressions,
      and is thus useful for the first stage. The module Interlang_trans
      specifies the translation of Interlang expression to CIL and is relevant
      for the second stage.
      Both modules make heavy use of the RWS monad, defined in the Monad_rws
      module. RWS stands for Reader, Writer, State. The RWS monad is a monad
      to model computations with side-effects and environments in a purely
      functional and type-safe manner.
      
      As the new compilation scheme covers E-ACSL only partially, it fails on
      many E-ACSL terms. Therefore we keep for the moment the old
      direct-to-CIL compilation scheme, and, whenever the new compilation
      scheme fails for a given sub-term raising the Interlang_gen.Not_covered
      exception, we fall back on the direct-to-CIL compilation scheme for that
      sub-term.
      b6556cc7
    • Jan Rochel's avatar
    • Jan Rochel's avatar
      [e-acsl] simplify Translate_utils.comparison_to_exp · 0fa4dc76
      Jan Rochel authored
      This simplified version is required for the indirect compilation scheme
      introduced in the subsequent commit.
      0fa4dc76
    • Jan Rochel's avatar
      [e-acsl] simplify signature in Gmp module · 9c0c8a3a
      Jan Rochel authored
      9c0c8a3a
    • Jan Rochel's avatar
      [e-acsl] fix non-unique EIDs stemming from term lookup · b47f2cac
      Jan Rochel authored
      When compiling terms that have already been compiled before, as yet
      could result in multiple variable occurrences sharing the same EID,
      which is not allowed.
      b47f2cac
    • Jan Rochel's avatar
      743f2dba
  5. Feb 07, 2025
Loading