[Oberon] Current Oberon System

Oleg N. Cher allot at bk.ru
Fri Dec 21 17:33:36 CET 2012

chris at gcjd.de-web.ws wrote:

> Several years ago I evaluated this way and unless things have changed
> very much since then gcc internals are a mess, documentation is soso and
> gcc is a huge and moving target not easy to handle if you have been
> exposed to Wirth style. gcc today uses 3 internal representations,
> one is SSA form; as far as I know RTL is not SSA.
> Probably easier to handle is llvm (llvm.org) which has a well defined
> SSA intermediate language <http://llvm.org/docs/LangRef.html> which is
> somewhat stable over the years.

I absolutely agree with Christian. If we want to have high quality and 
multi-target Oberon compiler under modern OS, probably exist 3 ways: 
GCC, LLVM and direct translation to C language.

If I had to plan this work, I would start with a study of GPCP sources 
(COCO/R is used for it), because Component Pascal language has several 
important features than clean Oberon/Oberon-2, for example, working with 
wide strings. And this compiler is open, and its frontend is designed 
rather independently from the backend.

Prof. K John Gough has plans to add LLVM support to GPCP. I believe any 
enthusiast could have done something for this project.

K John Gough wrote:

"I am currently exploring the possibility of a major revision that 
includes an LLVM-based native-code backend as well as the current .NET 
and JVM backends. If this goes ahead then I will definitely do full 
Unicode as part of the revision."


So we have a chance to see GPCP for ARM and x86-64. But if you need to 
do something today, we can only way of translation to C language. I 
understand that many people are confused by an extra level. And you do 
not confused that FreePascal and SDCC do not generate direct machine 
code, and assembler source code? And I've heard that C language is 
native assembler for UNIX/Linux.

Oleg N. Cher
VEDAsoft Oberon Club

More information about the Oberon mailing list