[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Report on a Tool Group meeting in May



Report of the Tool meeting on Friday 15 of May in Paris.
by Mark van den Brand

At this meeting were present: Christine Choppy, Frederic Voisin,
Christophe Tronche, Michel Bidiot (only during the lunch), and
Mark van den Brand

The following issues are adressed at this meeting:
1. The status report of the various parsers.
2. The difference between ATerms and CSF.
3. Future activities.


1. The status report of the various parsers

Currently there are several parsers available for Casl:
- LALR parser developed by Frederic Voisin
- LL(2) parser developed by Christophe Tronche
- Sdf parser developed by Bjarke Wedemeijer


Status of LALR parser by Frederic Voisin:

The parser is an LALR parser generated by a LEX/YACC like parser generator.

This parser is able to deal with basic and structured specifications
and produces currently a tree in CSF format. The main problems occur 
on the scanner level: identifiers and comments. The parser does not
deal with mixfix parsing.

Frederic indicated that he wants to integrate his work with the work
performed by Christophe and concentrate on the LL(2) parser.


Status of LL(2) parser by Christophe Tronche:

This parser is generated by the C++ version of PCCTS.

THe parser is only able to parse the basic specifications and produces
currently a tree in CSF format. The parser is available via WWW and
has been used by quite a number of people to parse the Casl specifications.

The annotations are an unresolved issue in this parser. This parser can
also not deal with mixfix parsing.


Status of Sdf parser by Bjarke Wedemeijer:

The parser is generated given a Sdf definition of Casl. It is not a
standalone parser. 

Given this Sdf definition a specification of mixfix parsing is developed.
So, in fact this is the first version of mixfix parser for Casl.
This parser can handle both basic specifications and 
structured specifications. Its output format is the abstract syntax of
Casl which can be translated to, for instance, CSF and ATerms.



2. The difference between ATerms and CSF.

The differences between ATerms and CSF are:
- CSF contains extra information concerning sorts, in a
  reaction distributed by Mark via the Web it is shown
  that this extra information can also be coded in ATerms.
- ATerms are supported by both a JAVA library and a C library,
  which are (soon) available via the Web.
- CSF is easier to parse, a (simple) Perl program can be used
  to parse CSF whereas for ATerms a parser is more complex, but
  on the other hand the libraries provide parse routines.
- ATerms are already extensively used in the development of the
  new environment for Asf+Sdf and the ELAN-group in Nancy is
  also considering ATerms as internal format for their system.

The following result is achieved. The ATerm document presented in
Bremen and Lisbon will be adapted to incorporate the same information
as coded in CSF and the parser of Christophe available via the Web
will produce the syntax tree in ATerm format instead of CSF.


3. Future activities.


It is easy to come up with a huge list of future activities. However
the available manpower restricts this list. This list is not annotated
with who, when, or where this task will be tackled.

- Creation of links to other parsers available.
- Development of a repository with successful parsed specification,
  both the textual as well as internal format should be stored.
- Development of a structure editor.
- Mappings from sublanguages of CASL to existing specification
  formalisms:
  * Studying restrictions;
  * Building a tool
- Mixfix parsing.
- Static semantics.
- Information on (proof) tools to be used.


-- Mark


----------------------------------------------------------------
M.G.J. van den Brand,
Department of Software Engineering
CWI
Kruislaan 413, NL-1098 SJ AMSTERDAM, The Netherlands.

Tel___(+31) 20 5924103  WWW____http://www.cwi.nl/~markvdb/
Fax___(+31) 20 5924199  Email__markvdb@cwi.nl         
----------------------------------------------------------------