The ECS standard library defines modules supporting application development
with the ECS Oberon compiler, including:
- Modules for basic types : Char, Integer, Cardinal, Real, ArrayOfChar, ArrayOfByte & ArrayOfSet .
- Modules for string handling : String & StringPattern.
- Module for date and time support : DateTime.
- Module for container and alogrithms : ADTStream, ADTDictionary, ADTList, ADTSet, ADTTree & ADTVector.
- Module for cross platform basic OS support : OS, OSDir, OSFile, OSPath & OSStream.
- Module for testing & benchmark : O2Testing & O2Timing.
- Modules for data handling: DataLZ4 & DataConfig .
- Module for memory allocation on embedded platforms : SysMem.
The Const module defines constants reused throughout the library.
The stream concept is used troughout the modules to support formatting, reading and writing of data.
The module Type defines the basic stream type interface.
OS support is covered for the Windows and Linux platforms.
In addition for embedded platform basic support is added for the ARMv7M platform using
the semihost interface to the host computer.
The library is tested with about 750 unit tests.
These tests also can be inspected for basic usage where the documentation is not clear.
The ECS Oberon compiler is implemented according to the original Oberon-2 report with modernizing extensions.
Building
make
Running tests (Linux)
make TestMain
Running tests (Windows)
make TestMain.exe
HelloWorld.mod:
MODULE HelloWord;
IN Std IMPORT OSStream;
BEGIN
OSStream.StdOut.WriteString("Hello World!");
OSStream.StdOut.WriteNL;
END HelloWord.
Running (Windows)
ecsd HelloWorld.mod std.lib /c/EigenCompilerSuite/runtime/win64api.obf
./Test.exe
Hello World!
Complete API Documentation: Link
Currently a patched version of the ECS compiler is needed Link
With the next release of the ECS compiler these patches should be included.