Related articles |
---|
Announcing CLAIR 1.0 bagnara@cs.unipr.it (Roberto Bagnara) (2005-04-11) |
From: | Roberto Bagnara <bagnara@cs.unipr.it> |
Newsgroups: | comp.compilers |
Date: | 11 Apr 2005 00:18:38 -0400 |
Organization: | [Infostrada] |
Keywords: | available, tools |
Posted-Date: | 11 Apr 2005 00:18:38 EDT |
I am very happy to announce the availability of CLAIR 1.0.
CLAIR is a system that has been developed in order to study and
experiment with various aspects of the definition and implementation
of programming languages. In particular it is aimed at providing easy
ways of playing with:
1. lexical analysis;
2. syntactic analysis and generation of the abstract syntax tree;
3. static checking of type correctness;
4. operational semantics expressed by means of transition systems;
5. interpretation;
6. static analysis;
7. compilation.
While points 1-5 are fully developed, points 6 and 7 do not exist yet.
At present, CLAIR supports two languages: a simple functional language
(SFL) and an imperative language (SIL) that recalls Pascal to some
extent. Both languages adopt the static scoping rule.
The CLAIR approach is based on structured operational semantics a` la
Plotkin for the formal description and on the Prolog language for the
implementation. One of the advantages of this combined approach is
that it is relatively easy to extend the system so as to support other
language features. CLAIR is currently being used successfully in
university courses covering formal languages and operational
semantics. Its main advantage is that students can see, with
relatively little effort, theory at work: a grammar becomes a parser,
static semantics rules directly translate into a type checker, and
with dynamic semantics rules you have an interpreter for your language
(students are deeply impressed when they see the interpreter actually
running the imperative programs). We hope to add facilities that
allow to easily turn an abstract semantics into a static analyzer.
Compilation of the system is as easy as typing `./configure' and
`make', provided at least one of the following Prolog systems is
available:
+ Ciao Prolog
+ GNU Prolog
+ SWI-Prolog
+ SICStus Prolog
+ YAP
CLAIR is distributed under the terms of the GNU General Public License.
Feedback is solicited on all aspects of the system and its documentation.
For more information, visit the CLAIR web site at
http://www.cs.unipr.it/clair/
Enjoy,
Roberto Bagnara
--
Prof. Roberto Bagnara
Computer Science Group
Department of Mathematics, University of Parma, Italy
http://www.cs.unipr.it/~bagnara/
mailto:bagnara@cs.unipr.it
Return to the
comp.compilers page.
Search the
comp.compilers archives again.