[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Minutes of the Paris meeting
TOOLS task group Meeting
Paris, January 18-19, 1997
Participants:
Didier Bert (DB)
Michel Bidoit (MB)
Christine Choppy (CC)
Helene Kirchner (HK, chair)
Bernd Krieg-Brueckner (BKB)
Peter Mosses (PM)
Giuseppe Scollo (GS)
AGENDA:
- Concrete Syntax
- Interchange format
- Parser
- Latex style
- Emacs mode
- Desirable set of tools
- Next meeting
The two main achievements of the meeting were to clarify
the different formats needed for tools on one hand,
and to identify some requirements on the concrete syntax
on the other hand.
I. Clarification of the different formats needed for tools.
Four formats were identified: Plain, Preferred Presentation, Interchange
and Interoperability formats. Their use and an informal description
are given below for each of them.
1. Plain Format
---------------
Use: for e-mail, Emacs editing.
This is a plain text representation, readable, writable and parsable,
easily derived from the concrete syntax.
According to the different kinds of parsers applied on this textual format,
two levels are distinguished:
- Plain restricted format:
context-free parsing (for instance based on Lex and Yacc) produces
from a text in plain restricted format, an Abstract Syntax Tree ASTcf
on which semantic analysis is applied.
This solution inherits both the simplicity and the usual restrictions
of context-free parsing,
in particular it excludes mixfix syntax parsing.
- Plain advanced format:
Parsing is no more context-free but may be decomposed in two phases:
-- context-free parsing produces from a text in plain advanced format,
a Pseudo-Abstract Syntax Tree PAST where terms are terminals.
This intermediate structure is interesting to handle units or to give
a view of the dependency graph of the units.
-- context sensitive parsing produces from the intermediate structure,
an Abstract Syntax Tree ASTwf where syntactical well-formedness has
been checked.
A problem to look at is the precise definition of accepted terms,
which are not the same according to these different parsers.
2. Preferred Presentation Format
--------------------------------
Use: for reading in written documents on paper or screen.
This is a graphical representation based on glyphs (digits,
letters, symbols and special characters).
It is the output format produced from the plain format by the
following tools:
- Emacs editor
- Pretty interactive structure editor
- CASL Font + RTF
- Naive LaTeX : a filter transforms graphical symbols to LaTeX
macros and verbatim style is used. This is a quick and simple
possibility for producing CASL specifications in LaTeX format.
- Advanced LaTeX: this option is to provide a package of LaTeX macros
for printing CASL specifications, in the style of Paul King's package
for Z (a file CASL.sty).
3. Interchange Format
---------------------
Use: for exchanging parsed CASL specifications or units (i.e. incomplete
specifications)
This is a textual representation of an Abstract Syntax Tree.
This format supports the possibility to include attributes
and to be dynamically enriched by new attributes.
The proposed format is SGML text with some indexing method
useful to make some sharing explicit and to minimize size of files.
This is a good candidate supporting these requirements.
4. Interoperability Format
--------------------------
Use: for applying tools on CASL specifications.
All tools defined on the interchange format should
accept the interoperability format.
A tool may require some attributes and ignore others.
A tool must be able to work on a unit without any context.
The format needs a basic mechanism for adding attributes.
The proposed format is a slight generalisation of the interchange format:
SGML with attributes that can be classified/typed according to tools
requiring them.
====================================================================
II. Requirements on the concrete syntax
====================================================================
A concrete syntax should be provided together with examples of
inputs and outputs and with the specification of which tools
have been or can be applied to implement the parsing.
Any proposal should be based on publicly available and efficient
tools, such as to Lex and Yacc
Lexical analysis should be context free and preferably in
linear time.
The concrete syntax should support attributes and attachment
of attributes to the right construct.
It must cover input text written with ISOLatin1 character sets
for identifiers.
A possible, additional alternative is to provide an unambiguous
translation into the ISO 7-bit character set.
It should support nofix, prefix, infix, postfix, outfix operators.
Mixfix operators should be supported too but may be handled
in different ways, according to parsing options.
It is desirable to allow exponents and indices in identifiers.
====================================================================
III. Plans for other (semantical) tools
====================================================================
The discussion on this topic is still very preliminary.
These are just points that have been mentioned.
A. Different kinds of tools:
1. Prototyping tools:
A rewrite engine for the largest possible subset of CASL.
2. Generator of proof obligations related to the construction
of modules or to the refinement process.
3. First-order theorem provers.
The proof obligations should be sent to general provers.
4. User interface and educational tools.
B. Applicability of tools
Two options are possible and maybe complementary:
1. Design or reuse of specific tools for several subsets of CASL:
equational, conditional, full first-order logic with
- total functions
- total functions with subsorts
- partial functions
- ...
2. Translate CASL to a subset of CASL (essentially total functions
and predicates) and use available provers
or tools for prototyping and inductive reasoning.
It should be precisely discussed how to proceed to reuse an
existing tool.
========================================================================
IV. Next meeting: just before or during Tapsoft (Lille)
Three possibilities:
- Sunday April 13 in Paris
- Sunday April 13 in Lille
- During Tapsoft in Lille.
Concertation is needed with other COFI tasks groups.
========================================================================