[Cocom-general] New releases of COCOM toolset and interpreter of DINO language
Brought to you by:
vmakarov
|
From: Vladimir M. <vma...@so...> - 2001-06-01 22:35:15
|
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 |