Skip to content

An implementation of N. Wirths Oberon 0 language implemented with C# and ANTLR. Currently compiler output is generated as MSIL code

License

Notifications You must be signed in to change notification settings

steven-r/Oberon0Compiler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Oberon-0 Compiler

CI/CD: Build Status

Quality: Quality Coverage

GitHub license GitHub release

An implementation of N. Wirths Oberon 0 language implemented with C# and ANTLR.

The aim is to support both, the RISC instruction set by N. Wirth (long term) and MSIL (current).

The compiler is based on the ANTLR4 parser (C# version).

The current executable code is generated using Roslyn

Current status:

  • All language elements are supported
  • Support for REAL (Done --> Missing is a lot of library functions)
  • Support for STRING (limited)
  • Handling of complex type scenarios (ARRAY OF RECORD, ...) is limited (see #12)

Installation

Starting with 0.60 Oberon 0 can be installed by using the dotnet tool-command:

dotnet tool install Oberon0.Msil --add-source https://github.com/steven-r/Oberon0Compiler/releases/download/<version>/Oberon0.Msil.nupkg

Use oberon0.msil to compile and execute code. s

About

An implementation of N. Wirths Oberon 0 language implemented with C# and ANTLR. Currently compiler output is generated as MSIL code

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published