Oberon is a general-purpose, procedural programming language. Its type-safety and module consistency-checking features facilitate the development of secure and reliable software. Oberon includes low-level features that make it particularly suited to the development of real-time applications on ARM microcontrollers.
In addition to the usual range of programming language facilities Oberon features include:
- Type-extension capabilities
- Automatic array index checking
- IEEE Standard format REALs
- Version consistency and type-checking across modules
- Explicit low-level access to memory, registers etc.
- Read-only access to external variables
- Nested procedures
- Nested comments
The complete language syntax is shown here as a railroad diagram.
The following documents are included with the relevant editions of Astrobe:
- The Programming Language Oberon
by Prof Niklaus Wirth (PDF)
The complete official definition of the May 2016 Revision of the Oberon language.
- ARM Cortex-M Oberon Programmers Guide* by CFB Software
General Astrobe Oberon programming information for ARM Cortex-M0, M3, M4 and M7 processors.
- Astrobe for Cortex-M0, M3, M4 and M7 Microcontrollers by CFB
Astrobe for Cortex-M library module descriptions, implementation details etc.
- RISC5 Oberon Programmers Guide by CFB Software
General Astrobe Oberon programming information for FPGA RISC5 processors.
The following books are general Oberon programming texts which include numerous documented source code examples. Most of the OS-independent procedures should compile without modification using Oberon.
and Data Structures - Oberon Edition by Niklaus Wirth (PDF)
Many useful general programming examples - sorting, searching, linear lists, recursion, tree structures, hashing functions etc. All of the source code is presented in Oberon.
- Programming in Oberon - A Tutorial by Niklaus Wirth (PDF)
An introduction to programming in general, and a guide to programming in the language Oberon in particular. This edition describes the latest revision of Oberon as used in Astrobe.