mirror of
https://github.com/vishapoberon/compiler.git
synced 2026-04-05 23:22:25 +00:00
Don't let expected differences between bootstrap and built compiler show as changes. Update Readme.
This commit is contained in:
parent
2a242ae960
commit
4f74364b59
3 changed files with 51 additions and 28 deletions
68
ReadMe.md
68
ReadMe.md
|
|
@ -63,7 +63,7 @@ Also see [Installation](/doc/Installation.md).
|
|||
|
||||
## A 'Hello' application
|
||||
|
||||
Anything appended to Oberon.Log is automatically displayed on the console, so the
|
||||
Anything appended to Oberon.Log is automatically written to stdout, so the
|
||||
following conventional Oberon program will display 'Hello.':
|
||||
|
||||
```Modula-2
|
||||
|
|
@ -77,13 +77,13 @@ BEGIN
|
|||
END hello.
|
||||
```
|
||||
|
||||
Alternatively the Console may be accessed directly as follows:
|
||||
Alternatively the Oakwood module Out can be used to write directly to stdout:
|
||||
|
||||
```Modula-2
|
||||
MODULE hello;
|
||||
IMPORT Console;
|
||||
IMPORT Out;
|
||||
BEGIN
|
||||
Console.String("Hello."); Console.Ln;
|
||||
Out.String("Hello."); Out.Ln;
|
||||
END hello.
|
||||
```
|
||||
|
||||
|
|
@ -102,7 +102,7 @@ Also see [Compiling](/doc/Compiling.md).
|
|||
## Licensing
|
||||
|
||||
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 GUI environment.
|
||||
|
||||
The Ulm Oberon Library and the Ooc libraries are distributed under GPL. Proprietry code
|
||||
using these libraries may not be statically linked.
|
||||
|
|
@ -138,20 +138,32 @@ For details, see [Porting](/doc/Porting.md).
|
|||
|
||||
## 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. SYSTEM.Mod includes additional functionality and some changes for 64 bit support.
|
||||
|
||||
It also supports some features of Oberon-07.
|
||||
##### Integer and set type sizes:
|
||||
|
||||
Vishap Oberon comes with libraries easing the porting of code from the major
|
||||
Oberon systems:
|
||||
| Type | -O2 option (default) | -OC option |
|
||||
| --- | --- | --- |
|
||||
| SHORTINT | 8 bit | 16 bit |
|
||||
| INTEGER | 16 bit | 32 bit |
|
||||
| LONGINT | 32 bit | 64 bit |
|
||||
| SET | 32 bit | 64 bit |
|
||||
|
||||
##### Libraries
|
||||
|
||||
Included libraries ease porting of code from the major Oberon systems:
|
||||
|
||||
- Oberon V4 and S3 compatible library set.
|
||||
|
||||
- ooc (optimizing oberon-2 compiler) library port.
|
||||
|
||||
- Ulm’s Oberon system library port.
|
||||
- Okwood standard libraries.
|
||||
- Some other freely redistributable libraries.
|
||||
|
||||
Oakwood libraries are supported for both -O2 and -OC options, whereas the ULM, OOC and ETH system 3 libraries are only available on -O2 (default) compilations.
|
||||
|
||||
|
||||
Vishap Oberon also supports some features of Oberon-07.
|
||||
|
||||
Some other freely redistributable libraries are available as a part of voc distribution.
|
||||
|
||||
See also [Features](/doc/Features.md).
|
||||
|
||||
|
|
@ -165,25 +177,20 @@ See [Roadmap](/doc/Roadmap.md).
|
|||
|
||||
## Contributors
|
||||
|
||||
Originally developed as a cross platform implementation of the
|
||||
Oberon system by Joseph Templ.
|
||||
Joseph Templ developed ofront as a tool to translate Oberon-2 programs into semantically equivalent
|
||||
C programs. It was Copyrighted in 1995, and transferred to the Free BSD license in 2012.
|
||||
|
||||
Updated for 64 bit support, refactored as a standalone compiler and brought
|
||||
to new platforms by Norayr Chilingarian.
|
||||
From Joseph's github repository:
|
||||
|
||||
Build process simplified for more platform support and bugs fixed by David
|
||||
C W Brown.
|
||||
> Design and implementation of ofront is due to Josef Templ ... ofront has been based in part on Regis Crelier's PhD thesis and Stefan Gehring's diploma thesis, both at ETH Zurich, Institute for Computer Systems.
|
||||
|
||||
Norayr Chilingarian forked ofront in 2013, porting extensive libraries from [ULM Oberon](http://www.mathematik.uni-ulm.de/oberon/), [OO2C](https://github.com/Spirit-of-Oberon/oo2c) and ETH Oberon System 3, and adding support for more platforms including 64 bit systems, and .
|
||||
|
||||
David Brown has worked on adding support for more platforms incuding windows using MSC, cygwin or mingw since January 2016. More recently he has generalised basic type support within the compiler to allow e.g. 64 bit LONGINT on 32 bit systems, and 32 bit LONGINT on 64 bit systems.
|
||||
|
||||
## Origin of the name "Ѵishap Oberon"
|
||||
|
||||
###### Ѵishap
|
||||
|
||||
Vishaps are dragons inhabiting the 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](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
|
||||
|
||||
Oberon is a programming language, an operating system and a graphical
|
||||
user interface. Originally designed and implemented by by Niklaus Wirth and
|
||||
|
|
@ -202,6 +209,13 @@ of Einstein and Antoine de Saint-Exupéry:
|
|||
> when there is no longer anything to take away. (Antoine de Saint-Exupéry,
|
||||
> translated by Lewis Galantière.)
|
||||
|
||||
###### Ѵishap
|
||||
|
||||
Vishaps are dragons inhabiting the 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](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.
|
||||
|
||||
## References
|
||||
|
||||
###### Oberon
|
||||
|
|
@ -224,4 +238,6 @@ of Einstein and Antoine de Saint-Exupéry:
|
|||
###### Links
|
||||
- [Niklaus Wirth's personal page at ETH Zurich](https://www.inf.ethz.ch/personal/wirth/)
|
||||
- [ETH Zurich's Wirth publications page](http://www.ethoberon.ethz.ch/WirthPubl/)
|
||||
- [Joseph Templ's ofront on github](https://hithub.com/jtempl/ofront)
|
||||
- [Software Templ OG](http://www.software-templ.com)
|
||||
- [Oberon: Steps beyond Pascal and Modula](http://fruttenboel.verhoeven272.nl/Oberon/)
|
||||
|
|
|
|||
7
src/tools/make/ignore
Normal file
7
src/tools/make/ignore
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
^/\* voc +
|
||||
Configuration_
|
||||
OPM_ResourceDir
|
||||
__MOVE.* cmd,
|
||||
OPM_(IntSize|PointerSize|Alignment) =
|
||||
Strings_Append.+void\*\)(cmd|OPM_OBERON|extTools_comp)
|
||||
__COPY\("(gcc|clang|msc|i686-w64-mingw
|
||||
|
|
@ -14,8 +14,8 @@
|
|||
changes="0"
|
||||
for f in $1/*; do
|
||||
fn=$(basename $f)
|
||||
egrep -v "(^/\* voc +)|Configuration_|OPM_ResourceDir|__MOVE.* cmd, |OPM_(IntSize|PointerSize|Alignment) =|Strings_Append.+void\*\)(cmd|OPM_OBERON|extTools_comp)" $f >$fn.old
|
||||
egrep -v "(^/\* voc +)|Configuration_|OPM_ResourceDir|__MOVE.* cmd, |OPM_(IntSize|PointerSize|Alignment) =|Strings_Append.+void\*\)(cmd|OPM_OBERON|extTools_comp)" $fn >$fn.new
|
||||
egrep -v -f ../../src/tools/make/ignore $f >$fn.old
|
||||
egrep -v -f ../../src/tools/make/ignore $fn >$fn.new
|
||||
if ! diff -U 2 -b $fn.old $fn.new >$fn.diff; then
|
||||
echo ""
|
||||
echo ""
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue