author: Michel Dagenais
copyright: Michel Dagenais, GNU General Public License, 1998
date: 18 January 1998
keyword: modula-3
keyword: compiler

# The SRC Modula-3 compiler

## Abstract

The DEC SRC compiler and supporting libraries.

## The Compiler

m3build
  The Modula-3 compiler.
m3ship
  The Modula-3 package installer.
m3where
  An application to find the Modula-3 files used by a package.

## Language restrictions, pragmas and runtime

- The Linker's Inclusion Algorithm
- Implementation restrictions
- Pragmas
- Runtime arguments
- Garbage collection
- A tour of the runtime
- Thread scheduling
- Unix signals usage

## Compiler bootstrap and export procedures, and internal libraries

m3bootstrap
  A script to generate bootstrap versions of the compiler for the supported platforms.
m3export
  A script to export source code, bootstrap packages and binaries for the Polytechnique Montreal (PM3) distribution of the DEC SRC Modula-3 compiler.
m3driver
  Compiler driver.
m3front
  Modula-3 compiler front end.
m3linker
  Modula-3 pre-linker.
m3loader
  Experimental program loader to compile directly into memory for immediate execution.
m3middle
  Interface between the frontend and the backend.
m3templates
  Compiler specific quake functions (used by m3build to interpret m3makefiles).
m3cc
  GCC based code generator.
m3objfile
  Support library for direct code generation.
m3back
  Direct code generation for supported platforms.
m3staloneback
  Debugging tool for code generation.
cg-burs
  Experimental burs based code generator.
m3tests
  Tests for the Modula-3 compiler.