Skip to content

MOCKA Modula-2 Compiler System, originally by GMD

License

Notifications You must be signed in to change notification settings

trijezdci/MOCKA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MOCKA

MOCKA Modula-2 Compiler System, originally by GMD

Follows the 3rd edition of Wirth's Programming in Modula-2, aka PIM3 [1, 2]

Background

The MOCKA Modula-2 compiler was developed between 1988 and 1992 by the former German National Research Centre for Computer Science (GMD) [3] at its former research lab at the University of Karlsruhe [4]. GMD has since been dissolved and all its research institutes were merged into the Fraunhofer Society.

The MOCKA compiler system was distributed for diverse Unix platforms and architectures as closed source commercial software and included an industrial strength optimiser. The Linux and BSD version of MOCKA with a back end for the Intel x86 architecture but without the optimiser was released open-source under GPL licensing free of charge.

The software in this repository is a derivative of the aforementioned open-source version.

Target Architecture

  • Intel x86 32-bit
  • generates AT&T syntax assembly output

Operating System Support

  • Linux and BSD with Elf executable and linkable format

Language Extensions

  • Conditional compilation
  • Lowline _ in identifiers
  • Types BYTE and LONGCARD
  • FOREIGN DEFINITION MODULE for interfacing to C

Last Release

For version change log, see CHANGES

Release History

  • last maintenance release 0605 from Uni Karlsruhe in May 2006
  • minor release 1208 by Chr. Maurer in August 2012, based on 0605
  • clean-up release 1807 by B.Kowarsch in July 2018, based on 1208

Status

MOCKA is no longer supported and will not be further maintained.

Where do we go from here?

MOCKA's backend was generated by an undocumented proprietary backend generator. This backend only supports the 32-bit Intel x86 architecture. In order to support the modern 64-bit AMD x86-64 architecture, this backend would need to be removed and replaced by a new backend which would need to be developed from scratch. Considering that the interfacing between front- and backend is not documented and would need to be experimentally discovered, the effort would likely be much higher than writing a new compiler from scratch.

For this reason, code from a C99 based PIM Modula-2 to C translator project for which a working front end had been completed already in 2016 was repurposed and relaunched as project MOTTO — Modula-2 Translator Tokyo. This translator will support all three classic Modula-2 dialects known as PIM2, PIM3 and PIM4, along with a MOCKA compatibility mode. For further details visit the MOTTO project page.


References

[1] Wikipedia entry on the Modula-2 programming language

[2] Programming in Modula-2, 3rd edition, N.Wirth, Springer, 1988

[3] Google translation of Wikipedia entry on the former GMD

[4] Former MOCKA project page at University of Karlsruhe


The Modula-2 Webring

All Sites | Previous Site | Next Site | Random Site | Join the Webring

[END OF FILE]

About

MOCKA Modula-2 Compiler System, originally by GMD

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages