mirror of
https://github.com/vishapoberon/compiler.git
synced 2026-04-06 06:22:25 +00:00
Try adding a TOC to the readme, and formatting the hello app code.
This commit is contained in:
parent
2a352ff67b
commit
9ad2a86827
1 changed files with 47 additions and 29 deletions
76
ReadMe.md
76
ReadMe.md
|
|
@ -1,6 +1,6 @@
|
||||||

|

|
||||||
|
|
||||||
## Ѵishap Oberon
|
# Ѵishap Oberon
|
||||||
|
|
||||||
[Ѵishap Oberon](http://oberon.vishap.am) is a free and open source (GPLv3)
|
[Ѵishap Oberon](http://oberon.vishap.am) is a free and open source (GPLv3)
|
||||||
implementation of the Oberon-2 language and libraries for use on
|
implementation of the Oberon-2 language and libraries for use on
|
||||||
|
|
@ -11,9 +11,23 @@ Oberon programs under Unix, Mac or Windows. Vishap Oberon includes
|
||||||
libraries from the Ulm, oo2c and Ofront Oberon compilers, as well as
|
libraries from the Ulm, oo2c and Ofront Oberon compilers, as well as
|
||||||
default libraries complying with the Oakwood Guidelines for Oberon-2 compilers.
|
default libraries complying with the Oakwood Guidelines for Oberon-2 compilers.
|
||||||
|
|
||||||
### Installation
|
###### Contents
|
||||||
|
|
||||||
##### Prerequisites
|
> [Installation](#installation)
|
||||||
|
> [A 'Hello' application](#a-hello-application)
|
||||||
|
> [Licensing](#licensing)
|
||||||
|
> [Platform support and porting](#platform-support-and-porting)
|
||||||
|
> [Language support and libraries](#language-support-and-libraries)
|
||||||
|
> [History](#history)
|
||||||
|
> [Roadmap](#roadmap)
|
||||||
|
> [Contributors](#contributors)
|
||||||
|
> [Origin of the name "Ѵishap Oberon"](#origin-of-the-name-Ѵishap-oberon)
|
||||||
|
> [References](#references)
|
||||||
|
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
###### Prerequisites
|
||||||
|
|
||||||
| Platform | Packages |
|
| Platform | Packages |
|
||||||
| --------- | ------------ |
|
| --------- | ------------ |
|
||||||
|
|
@ -25,7 +39,7 @@ default libraries complying with the Oakwood Guidelines for Oberon-2 compilers.
|
||||||
|
|
||||||
More details, including for MingW and MS C, in [Installation](/doc/Installation.md).
|
More details, including for MingW and MS C, in [Installation](/doc/Installation.md).
|
||||||
|
|
||||||
##### Build and install
|
###### Build and install
|
||||||
|
|
||||||
1. `git clone https://github.com/vishaps/voc`
|
1. `git clone https://github.com/vishaps/voc`
|
||||||
2. `cd voc`
|
2. `cd voc`
|
||||||
|
|
@ -33,7 +47,7 @@ More details, including for MingW and MS C, in [Installation](/doc/Installation.
|
||||||
|
|
||||||
Since 'make full' will install the compiler and libraries, it needs root (unix) or administrator (windows) privileges.
|
Since 'make full' will install the compiler and libraries, it needs root (unix) or administrator (windows) privileges.
|
||||||
|
|
||||||
##### PATH environment variable
|
###### PATH environment variable
|
||||||
|
|
||||||
Set your path to the installed compiler binary location as reported
|
Set your path to the installed compiler binary location as reported
|
||||||
by make full, e.g.
|
by make full, e.g.
|
||||||
|
|
@ -47,27 +61,31 @@ by make full, e.g.
|
||||||
|
|
||||||
Also see [Installation](/doc/Installation.md).
|
Also see [Installation](/doc/Installation.md).
|
||||||
|
|
||||||
### A 'Hello' application
|
## A 'Hello' application
|
||||||
|
|
||||||
Anything appended to Oberon.Log is automatically displayed on the console, so the
|
Anything appended to Oberon.Log is automatically displayed on the console, so the
|
||||||
following conventional Oberon program will display 'Hello.':
|
following conventional Oberon program will display 'Hello.':
|
||||||
|
|
||||||
MODULE hello;
|
```Modula-2
|
||||||
IMPORT Oberon, Texts;
|
MODULE hello;
|
||||||
VAR W: Texts.Writer;
|
IMPORT Oberon, Texts;
|
||||||
BEGIN
|
VAR W: Texts.Writer;
|
||||||
Texts.OpenWriter(W);
|
BEGIN
|
||||||
Texts.WriteString(W, "Hello."); Texts.WriteLn(W);
|
Texts.OpenWriter(W);
|
||||||
Texts.Append(Oberon.Log, W.buf)
|
Texts.WriteString(W, "Hello."); Texts.WriteLn(W);
|
||||||
END hello.
|
Texts.Append(Oberon.Log, W.buf)
|
||||||
|
END hello.
|
||||||
|
```
|
||||||
|
|
||||||
Alternatively the Console may be accessed directly as follows:
|
Alternatively the Console may be accessed directly as follows:
|
||||||
|
|
||||||
MODULE hello;
|
```Modula-2
|
||||||
IMPORT Console;
|
MODULE hello;
|
||||||
BEGIN
|
IMPORT Console;
|
||||||
Console.String("Hello."); Console.Ln;
|
BEGIN
|
||||||
END hello.
|
Console.String("Hello."); Console.Ln;
|
||||||
|
END hello.
|
||||||
|
```
|
||||||
|
|
||||||
Compile as follows:
|
Compile as follows:
|
||||||
|
|
||||||
|
|
@ -81,7 +99,7 @@ Execute as usual on Linux ('./hello') or Windows ('hello').
|
||||||
|
|
||||||
Also see [Compiling](/doc/Compiling.md).
|
Also see [Compiling](/doc/Compiling.md).
|
||||||
|
|
||||||
### Licensing
|
## Licensing
|
||||||
|
|
||||||
Vishap Oberon's frontend and C backend engine is a fork of Josef Templ’s Ofront, which has been released
|
Vishap Oberon's frontend and C backend engine is a fork of Josef Templ’s Ofront, which has been released
|
||||||
under the FreeBSD License. Unlike Ofront, Vishap Oberon does not include the Oberon v4 environment.
|
under the FreeBSD License. Unlike Ofront, Vishap Oberon does not include the Oberon v4 environment.
|
||||||
|
|
@ -94,7 +112,7 @@ Voc tools are distributed under GPLv3.
|
||||||
Most of the runtime in libVishapOberon is distributed under GPLv3 with runtime exception.
|
Most of the runtime in libVishapOberon is distributed under GPLv3 with runtime exception.
|
||||||
|
|
||||||
|
|
||||||
### Platform support and porting
|
## Platform support and porting
|
||||||
|
|
||||||
Vishap Oberon supports 32 and 64 bit little-endian architectures including Intel x86 and x64, arm and ppc.
|
Vishap Oberon supports 32 and 64 bit little-endian architectures including Intel x86 and x64, arm and ppc.
|
||||||
|
|
||||||
|
|
@ -118,7 +136,7 @@ In some cases manual work will be required:
|
||||||
|
|
||||||
For details, see [Porting](/doc/Porting.md).
|
For details, see [Porting](/doc/Porting.md).
|
||||||
|
|
||||||
### Language support and libraries
|
## Language support and libraries
|
||||||
|
|
||||||
Vishap Oberon supports the Oberon 2 programming language, including type-bound procedures.
|
Vishap Oberon supports the Oberon 2 programming language, including type-bound procedures.
|
||||||
|
|
||||||
|
|
@ -137,15 +155,15 @@ Some other freely redistributable libraries are available as a part of voc distr
|
||||||
|
|
||||||
See also [Features](/doc/Features.md).
|
See also [Features](/doc/Features.md).
|
||||||
|
|
||||||
### History
|
## History
|
||||||
|
|
||||||
See [History](/doc/History.md).
|
See [History](/doc/History.md).
|
||||||
|
|
||||||
### Roadmap
|
## Roadmap
|
||||||
|
|
||||||
See [Roadmap](/doc/Roadmap.md).
|
See [Roadmap](/doc/Roadmap.md).
|
||||||
|
|
||||||
### Contributors
|
## Contributors
|
||||||
|
|
||||||
Originally developed as a cross platform implementation of the
|
Originally developed as a cross platform implementation of the
|
||||||
Oberon system by Joseph Templ.
|
Oberon system by Joseph Templ.
|
||||||
|
|
@ -156,16 +174,16 @@ to new platforms by Norayr Chilingarian.
|
||||||
Build process simplified for more platform support and bugs fixed by David
|
Build process simplified for more platform support and bugs fixed by David
|
||||||
C W Brown.
|
C W Brown.
|
||||||
|
|
||||||
### Origin of the name "Ѵishap Oberon"
|
## Origin of the name "Ѵishap Oberon"
|
||||||
|
|
||||||
##### Ѵishap
|
###### Ѵishap
|
||||||
|
|
||||||
Vishaps are dragons inhabiting the Armenian Highlands.
|
Vishaps are dragons inhabiting the Armenian Highlands.
|
||||||
We decided to name the project “Vishap” because ties between compilers and dragons have ancient traditions.
|
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](http://blog.fogus.me/2015/04/27/six-works-of-computer-science-fiction/) refers to some technologies as “computer science fiction”. Among them to Oberon. This brings another meaning, Oberon is like aliens, ghosts. And Vishaps.
|
Also, Vishaps are known in tales, fiction. [This page](http://blog.fogus.me/2015/04/27/six-works-of-computer-science-fiction/) refers to some technologies as “computer science fiction”. Among them to Oberon. This brings another meaning, Oberon is like aliens, ghosts. And Vishaps.
|
||||||
|
|
||||||
##### Oberon - System and Programming Language
|
###### Oberon - System and Programming Language
|
||||||
|
|
||||||
Oberon is a programming language, an operating system and a graphical
|
Oberon is a programming language, an operating system and a graphical
|
||||||
user interface. Originally designed and implemented by by Niklaus Wirth and
|
user interface. Originally designed and implemented by by Niklaus Wirth and
|
||||||
|
|
@ -184,7 +202,7 @@ of Einstein and Antoine de Saint-Exupéry:
|
||||||
> when there is no longer anything to take away. (Antoine de Saint-Exupéry,
|
> when there is no longer anything to take away. (Antoine de Saint-Exupéry,
|
||||||
> translated by Lewis Galantière.)
|
> translated by Lewis Galantière.)
|
||||||
|
|
||||||
### References
|
## References
|
||||||
|
|
||||||
###### Oberon
|
###### Oberon
|
||||||
- [The History of Modula-2 and Oberon](http://people.inf.ethz.ch/wirth/Articles/Modula-Oberon-June.pdf)
|
- [The History of Modula-2 and Oberon](http://people.inf.ethz.ch/wirth/Articles/Modula-Oberon-June.pdf)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue