-
Notifications
You must be signed in to change notification settings - Fork 2
Home
Welcome to the Wiki of the M2PP Modula-2 Preprocessor Project
The objective of this project is to develop and maintain a portable dialect independent preprocessor for Modula-2.
The primary purpose of the M2PP preprocessor is to provide a means to to write and maintain dialect independent code that is portable across different Modula-2 dialects. However, it can also be used for generic programming where the Modula-2 dialect or compiler does not support generics.
M2PP can process source file templates of any Modula-2 dialect and may even be used with other languages of the Pascal family. In fact it may be used with any language that uses nestable block comments delimited by (*
and *)
and does not use the symbols /*
, */
and ##
.
M2PP is licensed under the GNU Lesser General Public License (LGPL) v.2.1.
M2PP is written in the Modula-2 dialect described in the third and fourth editions of Niklaus Wirth's "Programming in Modula-2". Therefore any Modula-2 compiler that supports PIM3, PIM4 or ISO Modula-2 should be able to compile the sources.
The following libraries from Wirth's "Programming in Modula-2" are required.
- Storage
- Terminal
- FileSystem
These libraries should be part of any PIM Modula-2 compiler's library. For use with ISO Modula-2 compilers, M2PP provides shim libraries for adaptation to ISO Modula-2 libraries.
There are no dependencies on any third party libraries.
For detailed dependency graphs for all project modules, please see section
M2PP will run on any operating system with target support by the compiler with which it was built.
If you would like to contribute to the project, please get in touch via
or by email
trijezdci (gmail)
At present, some of the following tasks could use a little help from collaborators:
- launch script for AmigaOS
- build configuration script for AmigaOS
- build configuration script for Windows
- build configuration script for OpenVMS
- implementation of module
FileSystemAdapter
for Aglet Modula-2 - implementation of module
FileSystemAdapter
for Clarion Modula-2 - foreign definition modules
stdio
andunistd
for Ulm's Modula-2 System
- implement
--show-settings
output
- implement procedure
AppendSliceToArray
inCharArray.iso.mod
- implement procedure
AppendSliceToArray
inCharArray.pim.mod
Copyright © 2017 Modula-2 Software Foundation