Installing a Modula-2 Environment
[ top ] Microsoft Windows (and DOS)
- XDS Modula-2/Oberon-2 by Excelsior comes with two IDEs since 2016. There is the classic IDE and an Eclipse based development environment for the compiler which works very well and offers perfect capabilities for mixed language development and integrates with all the tools available in the Eclipse universe. Excelsior describe their product as follows: "Native XDS-x86 is the most advanced optimizing ISO Modula-2 and Oberon-2 compiler for Intel x86 based platforms available on the market. It allows you to freely mix those languages, access the operating system API, and use third-party C libraries". Well, this for sure is a mature product which also comes with great documentation and a useful set of libraries. Visit Excelsior for details about their products (Eclipse IDE including old IDE and compiler is available here). For people targeting other platforms it may be of interest that a Modula-2 to C translator is also available as is a Topspeed compatibility pack.
- ADW Modula-2 is available for free for some time now. The compiler is being updated and comes with a stable and solid IDE, the package includes a debugger and some handy utilities. The help files are very useful and I want to emphasize that ADW Modula-2 (which is the successor of Stony Brook Modula-2) is the only free compiler available which implements the complete ISO Modula-2 standard. In difference to other compilers this includes the extensions of the standard for object orientation and the generics extension of ISO Modula-2.
- For those familiar to Linux or other Unix-like environments GNU Modula-2 is the best choice. Using the Cygwin environment you can use the whole GNU toolchain. Cygwin is surely something one has to get used to, but there are lots of great applications like Emacs, GVim and rxvt on top of a X-Server which can be installed via the setup program. You can use any any program to write Modula-2 programs for the GNU Modula-2 compiler and it is for sure advisable to use GNU Make with GCC. The big advantage of this setup is that your programs will configure, build and mostly work on nearly every GCC-based operating system like Linux or the BSDs.
- People using plain DOS environments may want to have a look at Set's Editor which is a great tool for programmers. The editor is also available for Linux and gives you a standardized environment e.g. for the Gardens Point Compiler under different operating systems. Like Set's Editor GPM Total is a DOS-IDE especially made for Gardens Point Modula-2. A fast Turbo-Vision-like Editor with Error-Redirection makes the thing quite usable, but the IDE lacks a few things I really would like to see, e.g. it does not offer syntax-highlighting.
This section is discontinued as most people using Linux oder BSD have their favorite toolchain to use their favorite Modula-2 compiler. Most people will use GNU Modula-2, GNU Make and some text editor like Emacs or VIM.
[OFFLINE?] Roberto Aragón has some information in Spanish language available which is readable through online translators. You can view his page as a tutorial to start working with a Modula-2 compiler (Mocka), a good editor (Kate) and an easy to use debugger (GNU DDD which works as a frontend for debuggers). Mr. Aragón also provides a few interesting scripts for better integration of the Modula-2 compiler with Kate.
[ top ] Free Editors with M-2 Highlighting
- Vim: vi improved - love it or hate it. It's half a day of learning the basics (and that's four hours of real learning), after this you'll know if you like the program. I use a version called gvim to edit this page.
- Emacs: I did never get used to it. Some say it's the best, some hate it (just because they never learned to use it?).
- Kate, the KDE Advanced Text Editor provides Modula-2 syntax highlighting. The syntax-scheme may easily be modified as each language is defined in a simple XML-file. Some people may have to fetch the Modula-2 file from the homepage.
- ATOM is a "hackable text editor for the 21st Century" which is available for a lot of platforms. It is a powerful program coming with Modula-2 syntax highlighting which can be installed via the internal package management system of the program.
- Modulipse: An IDE based on Eclipse. It is no longer maintained or developed and I do not know if it is useful.
- IntelliJ IDEA is described as "The Most Intelligent Java IDE" - by its makers. I cannot judge on that, I don't like Java. But there is an experimental plugin for the Modula-2 language available.
- Notepad++ "is a free (free as in "free speech", but also as in "free beer") source code editor and Notepad replacement, which supports several programming languages, running under the MS Windows environment. This project, based on the Scintilla edit component (a very powerful editor component), written in C++ with pure win32 api and STL (that ensures the higher execution speed and smaller size of the program), is under the GPL Licence." Syntax highlighting files for the editor are available from the download-area.
- PSPad: An editor which can easily be adapted to new programming languages. It comes with a file for Modula-2. Never used it but looks promising. A kind visitor of my Modula-2 pages also pointed out: "It makes a nice combination with the XDS IDE as each is 'aware' of when a file has been modified and asks if you want to reload it."
- Crimson Editor supports Modula-2 since version 3.5; It is another simple but powerful tool. User tools like a Modula-2 compiler can be invoked, there is a macro function, syntax highlighting and project management.
- Programmer's Notepad is a simple editor based on Scintilla. It is a lightweight application which is still quite powerful. Modula-2 syntax highlighting is built in.
- Proton: editor by Uli Meybohm - a good and easy to use editor. I added an experimental ISO Modula-2 syntax highlighting file to this package. There is another Modula-2 scheme in a folder called supplications. This program is only available in a german version.
- SynWrite is a free source code editor for Windows systems. It tries to be a full-featured alternative not only to simple Notepad, but also to such rich applications as Notepad++. A very nice program! You have to install the Modula-2 Lexer from an archive distributed with the program (found in the readme subdirectory). Some of us may also want to add ".def" to the Modula-2 file extensions.
- CudaText is a cross-platform text editor - somehow a successor of SynWrite created with Lazarus which can easily be extended to support Modula-2 syntax highlighting. The program can utilize the lexers written for SynWrite.
- ConText: powerful editor for programmers (win32). You'll have to download the editor from the site given above, then fetch the Modula-2 syntax-file from the local download-area.
- SynEdit is now available from the local download-area. The editor by Matthew Inman (MKI Design) is NOT the "multi-line edit control for Borland Delphi and C++Builder" wich you can find at SourceForge.net (wich is common for SynEdit now). It is a complete and free editor with lots of functions wich is no longer developed. It's got problems (really slow) with really big files (0.5MB+), but it's usable for good modularized projects.
- Set's Editor: Linux and Windows. Lots of options and highly configurable. Like the Borland-Turbo-Vision look-and-feel.
- MBEdit is a multi platform editor written by Michael Braun. It supports lots of programming languages and offers a simple text-based interface. Its available for Microsoft Windows / MS-DOS, many Unix Dialects like DEC ultrix, hp-ux, SuSE Linux, Motorola, OSF/1, QNX, SCO, SGI-IRIX, sun-os, etc. and for OS-9 / OS-9000 Microware. A HEX-editor and a macro function are also provided.
- I also want to mention some packages which are not available for free. For example the Alpha editor family which is distributed as Shareware. According to the homepage the editor "is a powerful, scriptable, multi-purpose text editor. It has modes for most programming language and markup languages (LaTeX, HTML, XML, etc.) It uses Tcl as extension language, and most of its functionality is provided by the AlphaTcl library." A Modula-2 mode is distributed as part of the standard releases of the editor which is available for Mac OS X (AlphaX) and Windows (AlphaTk). A legacy Mac OS Classic is available from the original authors homepage at Kelehers.org and via FTP. Then there is TextPad, a general purpose editor with Modula-2 syntax highlighting. And there is Sublime Text, a "sophisticated text editor for code, markup and prose". There is a Modula-2 syntax support package available for this program.