Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • F frama-c
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 173
    • Issues 173
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 1
    • Merge requests 1
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • pub
  • frama-c
  • Issues
  • #264
Closed
Open
Issue created Mar 08, 2018 by mantis-gitlab-migration@mantis-gitlab-migration

Expose ACSL annotations through host language pragmas

ID0002370: This issue was created automatically from Mantis Issue 2370. Further discussion may take place here.


Id Project Category View Due Date Updated
ID0002370 Frama-C Kernel > ACSL implementation public 2018-03-08 2018-03-08
Reporter pini Assigned To virgile Resolution open
Priority normal Severity feature Reproducibility always
Platform - OS - OS Version -
Product Version Frama-C 16-Sulfur Target Version - Fixed in Version -

Description :

Instead of using comments, that are non-specific constructs and may be mixed with non-ACSL comments from a parser or renderer point of view, would it be possible to use the C standard pragma construct?

Instead of e.g.

  /*@ requires R: \valid(ptr); @*/

this would give either (pragma directive):

  #pragma ACSL requires R: \valid(ptr);

or (pragma operator):

  _Pragma("ACSL requires R: \valid(ptr);")

This would help specify ACSL annotations in a specific language construct and as such expose them properly to outside programs (IDE, editors, documentation generators, etc.)

This could of course co-exist along with the current comment form.

Edited Apr 14, 2021 by Virgile Prevosto
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking