Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2007-08

Request to merge formal annotation facility into main trunk

7 messages · 3 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Tom Verhoeff

(I already mailed this off-list to Florian, but it might be better to discuss it on the list.)

We had a student (Jochem Berndsen) who extended FPC with the following facilities for formal annotation in Pascal:

* the scanner can recognize {@ ...} in programs.
(controled by a command-line option, and a compiler directive) The ... can be a boolean assertion, pre, post, inv, or definition.

* the compiler can translate {@ ...} into an appropriate assert statement (whether this results in code depends on the -Sa flag).

* the compiler can extract so-called verification conditions (VCs) and generate a LaTeX document with all VCs.

Jochem has finished his work, including doumentation. Note that our research effort has not finished, and that the extensions that Jochem made to FPC can be taken further (though we don't have a concrete timeline).

Is it possible to merge Jochem's extensions with the main trunk? They are in the SVN repository in branches/tue/.

We would like to use Jochem's facility of formal annotation in Pascal programs in our education at TU/e. So it would be very helpful if that facility would be available in the standard FPC distribution. Alternatively, we could maintain a separate branch, but that seems an undesirable burden.

The documentation can be found here:

<http://www.win.tue.nl/~wstomv/software/formann/>

* patch: incorporates formal annotation in the FPC compiler
* programmer.pdf provides implementation details for developers
* user.pdf explains how to use the formal annotation facility
* format.tex contains LaTeX definitions for expressing proof obligations
* naive.pdf, intelligent.pdf are two examples of extracted proof obligations
* formann.zip is an archive with all documentation

I can also write something in the wiki (or another part of the documentation;
where?).

Looking forward to your response,

Tom

E-MAIL: T.Verhoeff @ TUE.NL | Dept. of Math. & Comp. Science PHONE: +31 40 247 41 25 | Technische Universiteit Eindhoven FAX: +31 40 247 54 04 | PO Box 513, NL-5600 MB Eindhoven http://www.win.tue.nl/~wstomv/ | The Netherlands

Reply by email

Michael Van Canneyt
to Tom Verhoeff
Tom Verhoeff wrote
Is it possible to merge Jochem's extensions with the main trunk? They are in the SVN repository in branches/tue/.

As far as I am concerned, this is a welcome addition. If possible, I would even include your user.pdf in the docs. If it is written in LaTeX, you can simply send the sources.

Michael.

Reply by email

Tom Verhoeff
to Michael Van Canneyt
Michael Van Canneyt wrote 10 lines
On Fri, 17 Aug 2007, Tom Verhoeff wrote: > Is it possible to merge Jochem's extensions with the main trunk? > They are in the SVN repository in branches/tue/. As far as I am concerned, this is a welcome addition. If possible, I would even include your user.pdf in the docs. If it is written in LaTeX, you can simply send the sources.

It turns out the documentation was done in Open Office.

I have put the *.odt and corresponding extracted text *.txt in

<http://www.win.tue.nl/~wstomv/software/formann/>

For clarity, I have renamed the documentation to

fpc-user.*
fpc-developer.*

but I have not updated the contents (especially, the titles to reflect this better).

It would be wonderful if this could be included. Any idea when?

Thanks,

Tom

E-MAIL: T.Verhoeff @ TUE.NL | Dept. of Math. & Comp. Science PHONE: +31 40 247 41 25 | Technische Universiteit Eindhoven FAX: +31 40 247 54 04 | PO Box 513, NL-5600 MB Eindhoven http://www.win.tue.nl/~wstomv/ | The Netherlands

Reply by email

Michael Van Canneyt
to Tom Verhoeff
Tom Verhoeff wrote 27 lines
On Fri, Aug 17, 2007 at 05:03:42PM +0200, Michael Van Canneyt wrote: > > > On Fri, 17 Aug 2007, Tom Verhoeff wrote: > > > Is it possible to merge Jochem's extensions with the main trunk? > > They are in the SVN repository in branches/tue/. > > As far as I am concerned, this is a welcome addition. > If possible, I would even include your user.pdf in the docs. > If it is written in LaTeX, you can simply send the sources. It turns out the documentation was done in Open Office. I have put the *.odt and corresponding extracted text *.txt in <http://www.win.tue.nl/~wstomv/software/formann/> For clarity, I have renamed the documentation to fpc-user.* fpc-developer.* but I have not updated the contents (especially, the titles to reflect this better). It would be wonderful if this could be included. Any idea when?

The merging of the compiler sources should be done by one of the compiler core people. The documentation can then be merged by me.

Michael.

Reply by email

Michael Van Canneyt
to Marco van de Voort: (btw note that openoffice (at least 2.2) says it can export to Latex in file->export)
Marco van de Voort wrote 9 lines
> On Fri, Aug 17, 2007 at 05:03:42PM +0200, Michael Van Canneyt wrote: > It turns out the documentation was done in Open Office. > > I have put the *.odt and corresponding extracted text *.txt in > > <http://www.win.tue.nl/~wstomv/software/formann/> (btw note that openoffice (at least 2.2) says it can export to Latex in file->export)

I tested that, it work very well. But the LaTeX is horrible to read and/or edit...

Michael.

Reply by email

Marco van de Voort
to Tom Verhoeff: It turns out the documentation was done in Open Office. I have put the *.odt and…
Show quoted text 6 lines
On Fri, Aug 17, 2007 at 05:03:42PM +0200, Michael Van Canneyt wrote: It turns out the documentation was done in Open Office. I have put the *.odt and corresponding extracted text *.txt in <http://www.win.tue.nl/~wstomv/software/formann/>

(btw note that openoffice (at least 2.2) says it can export to Latex in file->export)

Reply by email

Tom Verhoeff
to Michael Van Canneyt: As far as I am concerned, this is a welcome addition. If possible, I would even include…
Michael Van Canneyt wrote 9 lines
On Fri, 17 Aug 2007, Tom Verhoeff wrote: > Is it possible to merge Jochem's extensions with the main trunk? > They are in the SVN repository in branches/tue/. As far as I am concerned, this is a welcome addition. If possible, I would even include your user.pdf in the docs. If it is written in LaTeX, you can simply send the sources.

Can someone inform me whether the formal annotation facility has been merged into FPC, and if so, which version has it?

If not, what would it take to get this done? I contributed the patches to make this easy:

<http://www.win.tue.nl/~wstomv/software/formann/>

It would be useful in our educational application of FreePascal, and it would help our research.

Thanks,

Tom

E-MAIL: T.Verhoeff @ TUE.NL | Dept. of Math. & Comp. Science PHONE: +31 40 247 41 25 | Technische Universiteit Eindhoven FAX: +31 40 247 54 04 | PO Box 513, NL-5600 MB Eindhoven http://www.win.tue.nl/~wstomv/ | The Netherlands

Reply by email