ⱱ for ⱱishap

ⱱishap Oberon Compiler (voc) is a free (GPLv3) professional oberon-2 compiler.

voc produces x86_64, x86, ppc, armv{4-7} binaries and works on those platforms.
On x86_64 it supports 64bit LONGINT and 64bit SET types.
By using currently stable C backend voc is easily ported to any platform for which C compiler exists.

Operating Systems:
Currently GNU/Linux, Mac OS X, FreeBSD and OpenBSD, Windows (both on cygwin and mingw).

voc has stable C backend, which generates human readable and easily debuggable C code.
Generated C code is fairly efficient and does not cause a noticeable overhead. voc was used to generate code even for low end 8 bit devices like nmos6502 and AVR micros.

Work on native backends for arm and x86_64 is in progress.

voc comes with a useful set of libraries, in particular:
– Oberon V4 and S3 compatible library set.
– ooc (optimizing oberon-2 compiler) library port.
– Ulm’s Oberon system library port.

This makes it easier to compile/port software which was developed by using those compilers.

Work on other compatibility layers is in progress.
voc team also works on bindings to existing C/Pascal libraries.

Some other freely redistributable libraries are available as a part of voc distribution.

voc’s frontend and C backend engine is a fork of Josef Templ’s Ofront, which has been released under FreeBSD License. Unlike Ofront, it does not include Oberon v4 environment.
Ulm Oberon Library is distributed under GPL.
ooc library is distributed under GPL.

voc tools are distributed under GPLv3.
most of the runtime in libVishapOberon is distributed under GPLv3 with runtime exception.
ulm and ooc libraries were distributed under GPL, thus static linking to those modules from libVishapOberon.a to proprietary code is disallowed.

Vishaps are dragons inhabited in Armenian Highlands.
We decided to name the project “Vishap” because ties between compilers and dragons have ancient traditions.

Also, Vishaps are known in tales, fiction. This page refers to some technologies as “computer science fiction”. Among them to Oberon. This brings another meaning, Oberon is like aliens, ghosts. And Vishaps.

5 thoughts on “ⱱ for ⱱishap”

  1. Hi.
    I am trying to port the compiler to Windows.
    I used the instructions in the COMPILE file.
    I tried MinGW and got a “cannot execute binary file” error.
    I also tried Cygwin and got a “expecting target: dependencies” error.

    Could you give me a few pointers on where to start?


    1. hey, sorry for the late response. thank you for your interest. if you are still interested, come to #oberon room on irc.freenode.net, and we’ll be able to discuss the port. i am usually hanging out there as norayr or noch or vishap (:

  2. Since I found the vishap Oberon compiler in december 2013 I’m working with it (on 64 bit Lubuntu) and I am still a fan. I was working on my own public domain Oberon (07) to C translator which is not ready for distribution because it lacks runtime type information and garbage collection.

    With vishap, I am continuing my work on a minimal X Windows coupling and the general problems of usable error messages (compile time and runtime), interfacing to existing C libraries and a small runtime library for Files, Directories, Subprocesses and String manipulation.
    I am making progress but this would be too slow for proper collaboration.

Leave a Reply