-
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 by email
trijezdci (gmail)
At present, some of the following tasks could use a little help from collaborators:
- write launch script for AmigaOS
- write build configuration script for AmigaOS
- write build configuration script for OpenVMS
- complete build configuration script for Windows
- implement module
BasicFileSys
for Aglet Modula-2 - implement module
BasicFileSys
for Clarion Modula-2
- implement
--show-settings
output - implement
concat()
andcomparison()
in moduleString
Copyright © 2017 Modula-2 Software Foundation