For Programmers: Free Programming Magazines  


Home > Archive > Prolog > April 2005 > Announcing CLAIR 1.0









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Announcing CLAIR 1.0
Roberto Bagnara

2005-04-06, 12:44 pm


I am very happy to announce the availability of CLAIR 1.0.

CLAIR is a Prolog 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; they also tend to look at Prolog with
increased interest and respect). 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

P.S. Interested readers of this newsgroup may notice that several
data-structures in CLAIR were not chosen with efficiency in mind
(to say the least). This will be corrected in subsequent releases.

--
Prof. Roberto Bagnara
Computer Science Group
Department of Mathematics, University of Parma, Italy
http://www.cs.unipr.it/~bagnara/
mailto:bagnara@cs.unipr.it
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com