Related articles |
---|
New releases of COCOM toolset and interpreter of DINO language vmakarov@sourceforge.net (Vladimir Makarov) (2001-06-03) |
From: | Vladimir Makarov <vmakarov@sourceforge.net> |
Newsgroups: | comp.compilers |
Date: | 3 Jun 2001 17:02:14 -0400 |
Organization: | Compilers Central |
Keywords: | tools, available |
Posted-Date: | 03 Jun 2001 17:02:13 EDT |
The new releases of COCOM toolset and interpreter of DINO language are
available at http://cocom.sourceforge.net/index.html.
The major differences of COCOM of version 0.993 from the previous
version 0.992 are the following:
* Ammunition:
Adding Earley's parser. Adding 128-bit IEEE float support.
* DINO:
Profiling DINO programs, new language construction friend, adding
IEEE package, adding Earley parser. Speeding up Dino interpreter.
Now Dino can be really considered as language to prototype language
processors.
* Others components:
Fixing all reported bugs.
The most interesting new part of COCOM is Earley's parser which has
the following features:
o It is sufficiently fast and does not require much memory. This
is the fastest implementation of Earley parser which I know.
The main design goal is to achieve speed and memory requirements
which are necessary to use it in prototype compilers and
language processors. It parses 30K lines of ANSI C program per
second on 500 MHz Pentium III and allocates about 5Mb memory for
10K line C program.
o It makes simple syntax directed translation. So an
abstract tree is already the output of Earley parser.
o It can parse input described by an ambiguous grammar. In
this case the parse result can be an abstract tree or all
possible abstract trees. Moreover it produces the compact
representation of all possible parse trees by using DAG instead
of real trees. These feature can be used to parse natural
language sentences.
o It can make syntax error recovery. Moreover its error
recovery algorithms finds error recovery with minimal number of
ignored tokens. It permits to implement parsers with very good
error recovery and reporting.
o It has fast startup. There is no practically delay between
processing grammar and start of parsing.
o It has flexible interface. The input grammar can be given
by YACC-like description or providing functions returning
terminals and rules.
o It has good debugging features. It can print huge amount of
information about grammar, parsing, error recovery, translation.
You can even output the result translation in form for a graphic
visualization program.
Thank you everybody who sent comments about COCOM and messages about
bugs in COCOM.
Vladimir Makarov
Return to the
comp.compilers page.
Search the
comp.compilers archives again.