1. 20 Jun, 2020 1 commit
  2. 01 May, 2020 1 commit
  3. 23 Apr, 2020 1 commit
  4. 01 Apr, 2020 5 commits
  5. 26 Mar, 2020 1 commit
  6. 24 Mar, 2020 1 commit
  7. 18 Mar, 2020 1 commit
  8. 17 Mar, 2020 1 commit
  9. 13 Mar, 2020 2 commits
  10. 12 Mar, 2020 2 commits
  11. 11 Mar, 2020 1 commit
  12. 10 Mar, 2020 3 commits
  13. 06 Mar, 2020 1 commit
  14. 05 Mar, 2020 1 commit
  15. 04 Mar, 2020 1 commit
  16. 02 Mar, 2020 1 commit
  17. 23 Feb, 2020 1 commit
  18. 19 Feb, 2020 1 commit
  19. 12 Feb, 2020 1 commit
  20. 13 Jan, 2020 1 commit
  21. 10 Jan, 2020 1 commit
  22. 12 Dec, 2019 1 commit
  23. 11 Dec, 2019 1 commit
  24. 02 Dec, 2019 1 commit
  25. 25 Nov, 2019 1 commit
    • Sylvain Dailler's avatar
      ada_terms: Add task printer, transformation with args parser for Ada · 627275d1
      Sylvain Dailler authored
      This is inspired from the python printer/parser, the changes are:
      - and, or, and then, or else are now supported instead of /\, \/, &&, ||
      - different (LTGT) is now '/=' instead of '<>'
      - allowing A'Last, A'First using "name" attributes
      - allowing the notation "for all i in A .. B => stuff"
      - allowing syntax for arrays as A(I) using new attributes "syntax" (also
        the reason why we need to pass a name table to the parser)
      - some constants are printed as "(cst:type)" (This is not real Ada syntax
      and should probably be replaced by "type'(cst)"
      
      This also adds a test at tests/ada_terms/print_test.adb
      
      This adds new cases in any_pp: note that all these cases are needed as we
      cannot use the legacyprinter for calls to, for instance, print_ls.
      This would have the disadvantage that, when printed twice (reload), idents
      gets reprinted which would change their disambiguation number (break at
      every reload).
      
      Also, pass the task to the printer in order to be able to detect which
      lsymbols are used in record fields definitions.
      
      Parser edition with respect to the Why3 parser:
      - Removing qualification (not usable in transformation anyway)
      - QUOTE disallowed in ident: still allowing it for type variable
      - the ada parser uses a naming table during the parsing phase. The naming
      table does not influence the parsing but is used to generate different
      trees depending on the names recognized. It is useful to distinct a
      function from an array in application as the syntax is the same.
      
      Note that the naming_table is passed with a reference: we may want to
      improve this in the future (no other known solution to the author of this
      message).
      
      New attributes appears:
      - [@syntax:array:] followed by name of the getter function to be used:
      this is used to know which function should be used as getter for this type
      during the parsing.
      - [@syntax:getter:] followed by its own name: this is used to know during
      the printing if the function should be removed from the display to
      simplify the notation. The name is checked in case attributes of a
      specific ident are derived or copied to another one.
      
      Add README with some changes in to be changed syntax
      627275d1
  26. 15 Nov, 2019 1 commit
  27. 08 Nov, 2019 2 commits
  28. 23 Oct, 2019 2 commits
  29. 22 Oct, 2019 1 commit
  30. 11 Oct, 2019 1 commit