Unicorn Enterprises SA

Home   Solutions   Products   Technologies   Contact


Ronin: Oberon compiler for .NET

Ronin is an implementation of Oberon programming language on .NET platform. The immediate goal of this project is providing Windows developers with the standalone command line implementation of Oberon compiler that can be instantly downloaded and used. The present release is of beta quality and should be considered work in progress.

Oberon is a programming language created in 1986 by Professor Niklaus Wirth and his associates at ETH Zurich in Switzerland. Its most important features are block structure, modularity, separate compilation, static typing with strong type checking, and type extension with type-bound procedures.

Ronin compiler is implemented in C++. Its front-end is based on the ETH OP2 compiler. The relevant portions of OP2 source code originally written in Oberon have been ported to C++. The back-end generating .NET code has been written from scratch.

Ronin compiler generates the CIL (MSIL) assembly language code as the output. The ILASM assembler is required to generate portable executable (PE) files from MSIL.

Ronin compiler processes one Oberon module at a time producing a separate MSIL file for each module. This file can be converted using ILASM to a DLL if the module represents a part of a library or to an EXE is the module represents a main program of an application.

At present Ronin supports the original Oberon specification as well as object oriented extensions of Active Oberon. Furthermore, the scoping rules have been relaxed according to the Active Oberon rules. Implementation of the Active Oberon concurrency support is planned for the future.

The binary distribution of Ronin is available for downloading. For more information on the software, see:

Express Go

Go is a new programming language developed at Google. According to the Go authors:

"Go is a general-purpose language designed with systems programming in mind. It is strongly typed and garbage-collected and has explicit support for concurrent programming. Programs are constructed from packages, whose properties allow efficient management of dependencies. The existing implementations use a traditional compile/link model to generate executable binaries."

Implementation is based on the modified code of gc Go compiler and tools, developed at Google. The principal modifications are:

The present release is of beta quality and should be considered work in progress. Some language features are not yet supported and shall be implemented in the near future. More extensive testing is required too.

The binary distribution of Express Go is available for downloading. For more information on the software, see:

Unicorn Extensible Stylesheets

Unicorn Extensible Stylseheets (UXS) is an architecture for the rapid application development in the following areas:

UXS-based applications can retreive information from various data sources, in particular:

UXS is based on the very high level programming language, which is:

UXS interpreter is available as a stand-alone command line tool and is also integrated in several products of our company, like Unicorn Document Factory and Unicorn Information Server.

UXS is fully extensible. Interfaces to additional data sources and software components can be implemented using UXS Software Development Kit (UXS SDK), which supports the standartized UXS Application Programmer Interface (UXS API).

We already provide UXS interfaces to some specialized data sources. For example, UXS applications can retrieve information from Temenos Globus banking package using our XML Gateway technology.

UXS is can produce output in the following formats:

Furthermore, UXS can be combined with XML data formatting technologies (like Unicorn Formatting Objects) to produce the high-quality printable output in PostScript or PDF.

Home   Solutions   Products   Technologies   Contact

Copyright © 2000-2012, Unicorn Enterprises SA. All rights reserved.  Legal Notice.