1. 18 Feb, 2019 1 commit
    • Guillaume Melquiond's avatar
      Rework numerical constants. · d3d7c7ac
      Guillaume Melquiond authored
      Main changes are:
      - Real constants now offer a normalized representation usable for internal
        computations.
      - Constants are no longer stored in textual form.
      d3d7c7ac
  2. 11 Feb, 2019 1 commit
  3. 16 Oct, 2018 1 commit
  4. 17 Jul, 2018 1 commit
    • Andrei Paskevich's avatar
      Ident: disambiguated symbolic notation · 295cacf4
      Andrei Paskevich authored
      It is possible to append an arbitary number of quote symbols
      at the end of an prefix/infix/mixfix operator:
      
                  applied form      standalone form
      
                    -' 42               (-'_)
                    x +' y              (+')
                    a[0]' <- 1          ([]'<-)
      
      Pretty-printing will use the quote symbols for disambiguation.
      
      The derived symbols can be produced by Why3 by appending
      a suffix of the form "_toto" or "'toto". These symbols can
      be parsed/printed as "(+)_toto" or "(+)'toto", respectively.
      295cacf4
  5. 07 Jul, 2018 1 commit
    • Andrei Paskevich's avatar
      confine all notation handling inside Ident · 0fea401c
      Andrei Paskevich authored
      This commit removes all hard-coded "infix ..", "prefix ..",
      and "mixfix .." from the rest of the code, and handles the
      symbolic notation entirely inside Ident. It does not change
      the notation itself.
      0fea401c
  6. 21 Mar, 2018 1 commit
    • Guillaume Melquiond's avatar
      Homogenize constructor names. · 6ef0273e
      Guillaume Melquiond authored
      The pattern-matching construct in the logic is now systematically named
      "Tcase" in constructors (Ptree.Tmatch -> Tcase). The one in the
      programs (supporting exceptions) is now systematically named "Ematch"
      (Expr.Ecase -> Ematch, Dexpr.DEcase -> DEmatch). They are now homogeneous
      with the other constructors: Term.Tcase, Dterm.DTcase, Ptree.Ematch,
      Mltree.Ematch. Smart constructor Expr.e_case was renamed accordingly.
      6ef0273e
  7. 20 Mar, 2018 1 commit
  8. 17 Jan, 2018 1 commit
  9. 17 Nov, 2017 1 commit
  10. 11 Jun, 2017 1 commit
  11. 09 Jun, 2017 1 commit
  12. 08 Jun, 2017 1 commit
    • Andrei Paskevich's avatar
      Mlw: for-loops over range types · 2f7b69b5
      Andrei Paskevich authored
      In the surface language, the loop index is always int in
      the loop invariant and all annotations and pure terms inside
      the loop. If you want to access the original range-typed index,
      use "let copy_i = i in" in the program code before your assertion.
      Of course, you cannot do that for the loop invariant, which is
      what we want.
      2f7b69b5
  13. 05 Jun, 2017 1 commit
  14. 11 May, 2017 1 commit
    • Andrei Paskevich's avatar
      Pdecl: split type declarations in chunks · b6e2a7b6
      Andrei Paskevich authored
      Refinement code requires private types to reside in
      separate program declarations. So we split type decls
      into chunks where all non-free types are declared
      separately and only constructible (Ddata) types are
      kept together. The code preserves the original order
      wherever possible.
      
      Also, export ls_of_rs and fd_of_rs from Expr: these are
      used everywhere in src/mlw anyway.
      
      Also, remove some range/float-related "assert false".
      b6e2a7b6
  15. 15 Feb, 2017 1 commit
  16. 14 Feb, 2017 1 commit
  17. 26 Aug, 2016 2 commits
  18. 25 Jul, 2016 1 commit
  19. 19 Jul, 2016 3 commits
  20. 15 Mar, 2016 3 commits
  21. 08 Mar, 2016 1 commit
  22. 14 Oct, 2015 1 commit
  23. 13 Oct, 2015 1 commit
  24. 09 Sep, 2015 1 commit
  25. 24 Aug, 2015 1 commit
  26. 06 Jul, 2015 1 commit
  27. 18 Apr, 2015 2 commits
  28. 20 Mar, 2015 1 commit
  29. 19 Mar, 2015 1 commit
  30. 13 Feb, 2015 1 commit
  31. 12 Feb, 2015 1 commit
  32. 11 Feb, 2015 1 commit
  33. 07 Nov, 2014 1 commit
  34. 26 Sep, 2014 1 commit