[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