Oberon-2/Modula-2 portable compiler

ned@isi.itfs.nsk.su (A. Nedorya)
Fri, 11 Oct 91 11:29:06 +0700 (NSD)

          From comp.compilers

Related articles
Oberon-2/Modula-2 portable compiler ned@isi.itfs.nsk.su (1991-10-11)
| List of all articles for this month |

Newsgroups: comp.compilers
From: ned@isi.itfs.nsk.su (A. Nedorya)
Keywords: Oberon, Modula
Organization: Institute of Informatics Systems (Novosibirsk, Russia)
Date: Fri, 11 Oct 91 11:29:06 +0700 (NSD)

This letter is an attempt to make ourselves "visible" to community of
compiler designers.


VAR ned,andy: COMPILER_DESIGNERs; (* global declaration *)


Our group at the Institute of Informatics Systems (Novosibirsk, Russia)
have been working on a Modula-2 programming environment for last 5 years.
We use Kronos as an instrumental computer. The Kronos computer is a
self-made 32-bit workstation, designed under the great influence of N.
Wirth's Lilith project.


Our efforts have resulted in an environment for professional Modula-2
programming: original operating system, Modula-2 compiler and set of
convenient libraries. Some CAD applications were also developed. The last
version of Kronos hardware was designed using it.


But "times - they are a'changing". First of all we realized that we can't
count on USSR-made workstations with sufficient performance. Second,
although Modula-2 is good enough for system programming, it lacks some
important features which are considered necessary now.


So, the portable Modula-2/Oberon-2 compiler was designed. We are going to
use Modula-2 for porting existing software to other computers and Oberon-2
for further development. Both languages are fully compatible on the
symfiles level.


The scheme of the compiler is standard for portable compilers:
machine-independent front-end and machine-dependent back-end. An internal
abstract syntax tree is used as interface between these two compilation
phases. The development of a machine-independent optimizer is now being
considered.


The front-end consists of the core (scanner, symbol table handler), and
separate parsers for Modula-2 and Oberon-2. The back-end for Kronos is
working now, another one for the 386 will be ready in two months and we
have some other architectures in mind. The compiler is written in Modula-2
and is relatively small: core is about 2000 lines of source text, each
parser is about 1500 lines and back-end for Kronos is about 3000 lines.


It would be very interesting to us to get any response from the compilers
newsgroup. All questions and comments will be highly appreciated.


Also we'd like to hear about any project concerning such topics as:
      - porting Oberon-2 and/or Modula-2 compilers to computers
          with modern architectures;
      - Oberon-like systems and applications;
      - education in object-oriented languages.


Best regards Alex Nedorya and Andy Denisov


----------------------------------------------------------------
Institute of Informatics Systems, Novosibirsk, Russia
ned@isi.itfs.nsk.su
--


Post a followup to this message

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