Jump to content

Canterbury Modula-2: Difference between revisions

From EDM2
No edit summary
Ak120 (talk | contribs)
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==Description==
[[Image:Mod32.png|280px|right]]
A PIM4 compatible [[Modula 2]] and [[Oberon-2]] compiler and IDE for OS/2 that was called just "Canterbury Modula-2" or "MHC Modula-2" even though Oberon was supported as well. Came in two versions, "Regular Edition" for OS/2 Text mode and PM development (Sold for £59 UK or $99 US) and a "Professional Edition" that also allowed SOM/WPS development via a built in direct to [[SOM]] compiler (Sold for £89 UK or $149 US). In addition the company offered a free library for extended compatibility with [[TopSpeed Modula-2]] and sold an assembly coded MATHPAK 87/32 specially adapted to the compiler.
A [[Modula 2]] and [[Oberon-2]] compiler and IDE for 32 and 16-bit OS/2 released by [[Mill Hill & Canterbury Corporation]] in 1998. The compiler was called just "MHC Modula-2" or "Canterbury Modula-2" even though Oberon and Oberon-2 were supported as well, we refer to it as Canterbury Modula-2 to synchronise with the naming conventions used on the later Java compilers from the same company. In addition to PIM4 compatibility, the Modula-2 side of the compiler offers object-oriented extensions similar to Oberon-2.


Note that while the company still appears to have a website it is a personal website of the lead developer, the actual company ceased to exist around 2001 and Mr. Neuhoff no longer offers any support for the compiler and exited the programming tools market altogether around 2010.
The Canterbury Modula-2 compiler was sold in two versions, the "Regular Edition" offered support for OS/2 Text mode and PM development and retailed for £59 UKP or $99 USD while the "Professional Edition" added support for SOM/WPS development via a built-in direct to [[SOM]] compiler, the "Professional Edition sold for £89 UKP or $149 USD. In addition, the company offered a free library for extended compatibility with [[TopSpeed Modula-2]] and sold an assembly coded MATHPAK 87/32 specially adapted to the compiler.


==Version==
==Version==
* '''Last version:''' 2.01k
* 2.01i - Public beta: [mod201i.zip]
* 2.01k (1999-03-16)
 
==Features==
===Standards supported===
* Modula-2 language according to: Niklaus Wirth: Programming in Modula-2. Fourth edition (PIM4)
* Oberon-2 compliance with; and Modula-2 object-oriented extensions modelled after the Oberon extensions in Hanspeter Mössenböck's [http://ssw.jku.at/Research/Books/Oberon2.pdf Object-Oriented Programming in Oberon-2] Second Edition
* Oberon-2 library modules adhere to [[The Oakwood Guidelines for Oberon-2 Compiler Developers]]
* HLL3 compatible debug records
 
===Compiler targets & target libraries===
* OS/2 32-bit v2.1 and higher native target.
* OS/2 Presentation Manager development libraries.
* OS/2 Text mode development libraries.
* Direct-to-SOM compilation, for SOM v2 or higher, only available in the "Professional version"
* OS/2 16 bit
* OS/2 16 bit DLL's
* OS/2 32 bit DLL's
According to the author of the package, the compiler supports the following targets as well, but they cannot be used since no library or linker support had been created by the time the development of the package was dropped.
* Windows 3.x 16 bit
* Windows 32 bit
* DOS 16 bit
* DOS 32 bit
===Generic language extensions===
*Set types with up to 256 elements
*Bitwise operators 'AND' 'OR' 'XOR' 'SHL' 'SHR' 'NOT'
*New logical operator 'XOR'
*Initialized variables expressed as typed constants
*Multidimensional open arrays
*Symbolic INLINE assembler
*NEAR or FAR keywords for INTEL 80x86 segmentation
*Extended imports
 
===OS/2 specific language extensions and features===
* Allows underscore '_' for identifier names (OS/2 APIs use this C like "feature")
* REXX library development
* Definition modules for external .OBJ .DLL .LIB files
 
===Other features===
* Integrated Make & Build, Make recompiles dependent updated modules, while Build recompiles all dependent modules.
* Topspeed compatible libraries available
 
===Prerequisites===
* Link.exe for building 16 bit executables
* Link386.exe for building 32 bit executables


==Articles==
==Articles==
* Jean-Pierre Dezaire: [http://www.modula2.org/projects/FileIO_4_MOD32.php FileIO for the COCO compiler generator] implemented for Canterbury Modula 2.
* Jean-Pierre Dezaire: [http://www.modula2.org/projects/FileIO_4_MOD32.php FileIO for the COCO compiler generator] implemented for Canterbury Modula-2.


==Author==
==Author==
* Mill Hill & Canterbury.
* [[Mill Hill & Canterbury Corporation]]
* Jürgen Neuhoff
* Jürgen Neuhoff


==Links==
==License==
http://hobbes.nmsu.edu/download/pub/os2/dev/modula/mod201i.zip (Open beta release of the MHC Modula 2 compiler v2.01i, only slightly older than the full release)
* Commercial product & license - Discontinued.
 
http://www.mhccorp.com (Mill Hill & Canterbury.)
 
==Compiler targets & target libraries==
* OS/2 32 bit v2.1 and higher native target.
* OS/2 Presentation Manager development libraries.
* OS/2 Text mode development libraries.
* Direct-to-SOM compilation, for SOM v2 or higher, only available in the "Professional version"
According to the author of the package the compiler supports the following targets as well, but they cannot be used since no library or linker support had been created by the time the development of the package was dropped.
*Windows 3.x 16 bit
*Windows 32 bit
*DOS 16 bit
*DOS 32 bit
 
==Standards supported==
* Modula-2 language according to: Niklaus Wirth: Programming in Modula-2. Fourth edition (PIM4)
* Oberon-2 compliance with and object oriented extensions modelled after the Oberon extensions in Hanspeter Mössenböck's [http://ssw.jku.at/Research/Books/Oberon2.pdf Object-Oriented Programming in Oberon-2] Second Edition


[[Category:Tools]] [[Category:Modula-2]] [[Category:Oberon]]
[[Category:Modula-2]][[Category:Oberon]]

Latest revision as of 14:17, 16 September 2024

A Modula 2 and Oberon-2 compiler and IDE for 32 and 16-bit OS/2 released by Mill Hill & Canterbury Corporation in 1998. The compiler was called just "MHC Modula-2" or "Canterbury Modula-2" even though Oberon and Oberon-2 were supported as well, we refer to it as Canterbury Modula-2 to synchronise with the naming conventions used on the later Java compilers from the same company. In addition to PIM4 compatibility, the Modula-2 side of the compiler offers object-oriented extensions similar to Oberon-2.

The Canterbury Modula-2 compiler was sold in two versions, the "Regular Edition" offered support for OS/2 Text mode and PM development and retailed for £59 UKP or $99 USD while the "Professional Edition" added support for SOM/WPS development via a built-in direct to SOM compiler, the "Professional Edition sold for £89 UKP or $149 USD. In addition, the company offered a free library for extended compatibility with TopSpeed Modula-2 and sold an assembly coded MATHPAK 87/32 specially adapted to the compiler.

Version

  • 2.01i - Public beta: [mod201i.zip]
  • 2.01k (1999-03-16)

Features

Standards supported

Compiler targets & target libraries

  • OS/2 32-bit v2.1 and higher native target.
  • OS/2 Presentation Manager development libraries.
  • OS/2 Text mode development libraries.
  • Direct-to-SOM compilation, for SOM v2 or higher, only available in the "Professional version"
  • OS/2 16 bit
  • OS/2 16 bit DLL's
  • OS/2 32 bit DLL's

According to the author of the package, the compiler supports the following targets as well, but they cannot be used since no library or linker support had been created by the time the development of the package was dropped.

  • Windows 3.x 16 bit
  • Windows 32 bit
  • DOS 16 bit
  • DOS 32 bit

Generic language extensions

  • Set types with up to 256 elements
  • Bitwise operators 'AND' 'OR' 'XOR' 'SHL' 'SHR' 'NOT'
  • New logical operator 'XOR'
  • Initialized variables expressed as typed constants
  • Multidimensional open arrays
  • Symbolic INLINE assembler
  • NEAR or FAR keywords for INTEL 80x86 segmentation
  • Extended imports

OS/2 specific language extensions and features

  • Allows underscore '_' for identifier names (OS/2 APIs use this C like "feature")
  • REXX library development
  • Definition modules for external .OBJ .DLL .LIB files

Other features

  • Integrated Make & Build, Make recompiles dependent updated modules, while Build recompiles all dependent modules.
  • Topspeed compatible libraries available

Prerequisites

  • Link.exe for building 16 bit executables
  • Link386.exe for building 32 bit executables

Articles

Author

License

  • Commercial product & license - Discontinued.