-
Notifications
You must be signed in to change notification settings - Fork 3
Home
Welcome to the Wiki of the M2Sharp Modula-2 Compiler & Translator Project
The objective of this project is to develop a highly portable, reliable, readable and maintainable multi-dialect Modula-2 to C# translator and via-C# compiler that is 100% feature compatible with the M2C and M2J translators/compilers.
The purpose of the new M2Sharp compiler is to provide a means:
- to compile and run program examples from early Modula-2 books (PIM3/PIM4), in particular works by Wirth.
- to develop, build and bootstrap a .NET compiler for Modula-2 Revision 2010 written in a subset of M2 R10.
The M2Sharp compiler shall support the classic Modula-2 language described in the third and fourth editions of "Programming in Modula-2" (Wirth, 1983-1985) and selected features of the revised Modula-2 language described in "Modula-2 Revision 2010" (Kowarsch and Sutcliffe, 2010-2015). For details, see section M2Sharp Language Extensions further below. The ISO Modula-2 dialect will not be supported.
Details on dialect options and language extensions are here.
The grammar of the compiler is in the project repository
https://github.com/m2sf/m2sharp/blob/master/m2sharp-grammar.gll
The M2Sharp compiler is licensed under the GNU Lesser General Public License (LGPL) both v.2.1 and v.3.
The M2Sharp compiler is written in C# and therefore a C# compiler is required to build it. There are no dependencies on any third party libraries. A .NET or Mono execution environment is required to execute it.
The M2Sharp compiler will run on any operating system with a .NET or Mono execution environment installed.
The M2Sharp compiler will be integrated with Vim, possibly with MS Visual Studio and Xamarin Studio.
If you would like to contribute to the project, please get in touch by email
trijezdci (gmail)
+++
Copyright (C) 2017 Modula-2 Software Foundation