New releases of COCOM toolset and interpreter of DINO language

Vladimir Makarov <vmakarov@sourceforge.net>
3 Jun 2001 17:02:14 -0400

          From comp.compilers

Related articles
New releases of COCOM toolset and interpreter of DINO language vmakarov@sourceforge.net (Vladimir Makarov) (2001-06-03)
| List of all articles for this month |

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


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.