June 1, 2004
The Eclipse Plug-ing for CoCo is now ready for you to use. Forget the text editors you have been using and make use of this great opportunity to download the plug-in.
April 5, 2004 
Work is being done to develop a plug-in for CoCo for the Eclipse IDE.It should be done in a few weeks time. It will be available for you to download as soon as it is ready.
Coco/R is a compiler generator, which takes an attributed grammar of a source language and generates a scanner and a parser for this language. The scanner works as a deterministic finite automaton. The parser uses recursive descent. LL(1) conflicts can be resolved by a multi-symbol lookahead or by semantic checks. Thus the class of accepted grammars is LL(k) for an arbitrary k. There are different versions of Coco/R for Java, C#, C++, Delphi, Modula-2, Oberon and other languages.

Coco/R can be used not only to write proper compilers, but also to build many kinds of tools that process structured input data. Various people have used Coco/R for the following applications:

  • An analyzer for the static complexity of programs. The analyzer evaluates the kind of operators and statements, the nesting of statements and expressions as well as the use of local and global variables to obtain a measure of the program complexity and an indication if the program is well structured.
  • A cross reference generator which lists all occurrences of the objects in a program according to their scope together with information where the objects have been assigned a value and where they have been referenced.
  • An pretty printer which uses the structure and the length of statements for proper indentation.
  • A program which generates an index for books and reports. The index is generated from a little language that describes page numbers and the keywords occurring on those pages.
  • The front end of a syntax oriented editor. A program is translated into a tree representation which is the internal data structure of the editor.
  • A program that builds a repository of symbols and their relations in a program. The repository is accessed by a case tool.
  • A profiler that inserts counters and timers into the source code of a program and evaluates them after the program has been run.
  • A white-box test tool that inserts counters into the source code of a program to find out which paths of the programs have been executed.
Coco is therefore more than a Compiler generator and has been very popular among Compiler programmers around the world. Unfortunately there was no proper programming environment available. Programming in Coco using a text editor without Syntax highlighting and without features to invoke the real compilation was very inconvenient. So I decided to design and implement such an Environment for Coco. It would have been a lot of work to write a complete IDE, so I decided to take the existing developing Environment Eclipse and write a plug-in to support Coco.





Deepak Dhungana 2004 . Terms Of Use