Archive-name: computer-lang/Modula2-faq/part1 Version: 2.27 Last-modified: 2003 03 26 Posting-frequency: Monthly Modula-2 Frequently Asked Questions What is new in version 2.27(2003 03 26)? Very little to be honest. The traffic to Modula-2.com has declined dramatically and few people seem to be reading the FAQ except for a handful of students. A new answer, A6 has been added in 1.11. An invalid Gardens Point URL has been changed. PMI has been removed. The StonyBrook Section has been revised with new information. We'll prune the dead stuff again in June, and no doubt make it a lot shorter. What was new in version 2.26 (2002 06 03)? Dead links have been ruthlessly pruned, a couple of spelling errors corrected, some directory links altered to reflect reorganizations, and the header tags corrected to remove a formatting problem under NOSCRIPT conditions. The answer at 5.8 has been expanded to include other similar questions. A new question on Top Speed has been inserted in the historical section at 1.10, and the entry on the company itself deleted. The Stony Brook section has been updated with new products for Linux (IA-32) and Solaris. Edinburgh Portable Compilers, which once made a variety of Modula-2 compilers has been taken over by a company called Analog Devices, who no longer support the compilers. The listing has been removed. ModulaWare has changed its name to ModulAware, and its listing has been revised. Peter Moylan's site has reappeared under a new URL and is listed in A4 under section 4.2. There are some under-the-hood changes to help out search engine spiders. SUMMARY: 1. Answers to many questions about Modula-2 as a programming notation may be found in the shareware textbook. As always, users should pay the shareware fee. See section 1.4. 2. Answers to most other frequently asked questions about Modula-2 will be collected by Rick Sutcliffe at Trinity Western University and included in this document from time to time as it is revised. 3. Submissions should be mailed to -- rsutc@arjay.bc.ca Anyone making a submission guarantees that they have the right to do so (copyright holder, or information in the public domain.) and that the information is not from any source whose copyright lies with another. 4. I will update this summary file and post to the newsgroups comp.lang.modula2 and to comp.answers and news.answers 5. The latest version will always be available in a Nisus (Mac) form in http://www.arjay.bc.ca/Modula-2/m2faq.html. It is also available from the site rtfm.mit.edu in plain text form as ftp://rtfm.mit.edu/pub/usenet-by-group/comp.answers/computer-lang/Modula2-faq/part1 and as ftp://rtfm.mit.edu/pub/usenet-by-group/comp.answers/computer-lang/Modula2-faq/part2 CONTENTS: Part 1 1. WHAT IS MODULA-2? 2. WHERE IS MODULA-2 DISCUSSED? 3. WHERE CAN I GET MODULA-2 COMPILERS? Part 2 4. WHERE CAN I GET SOURCE CODE, OTHER INFO? 5. SPECIFIC QUESTIONS ON CODE AND ALGORITHMS 6. WHAT ARE SOME REFERENCE MATERIALS ON MODULA-2? 7. REVIEWS Appendix: AUTHOR INFORMATION AND DISCLAIMERS 1. WHAT IS MODULA-2? A. Modula-2 is a programming notation that corrects some of the deficiencies of Pascal. It is suitable for learning programming, for large projects written and maintained in the fashion of professional software engineers, and for real time embedded systems. Modula-2 is small, expressive, easy to learn, and to read. 1.1 Who developed Modula-2? A. Modula-2 was developed by Niklaus Wirth at ETH in Zurich, Switzerland in the late 70's. Wirth also developed Algol-W, Pascal, Modula, and Oberon. 1.2 Where is this language described? A. In Programming in Modula-2 3rd edition published by Springer-Verlag in 1985. For the purposes of distinguishing this from later variants, this description will be referred to herein as classical Modula-2. 1.3 How do you pronounce Herr Wirth's name? A. It is incorrect to call him by his value (worth.) Instead his name is veart. 1.4 Can I get a simple introduction to ISO Modula-2? Yes, the latest revised and corrected edition of the shareware text as of 2000 05 24 is at http://www.arjay.bc.ca Mirrors (for the text, not the FAQ--some may be out of date): 1. TWU Main Site http://www.twu.ca/rsbook/index.html 2. TWU CS Students (Internal only) http://www.csc.twu.ca/rsbook/index.html 3. Brighton, UK http://burks.bton.ac.uk/burks/index.htm 1.5 How does Modula-2 fit into the language zoo? A. It is a descendent of Pascal and Modula, and one predecessor of Modula-2+, Modula-2*, Modula-3, Oberon, Oberon-2, and various object oriented versions of these. The latter languages are not replacements for Modula-2, merely later notations in the same family, having strengths and weaknesses of their own. Modula-2 is sometimes classified with Ada and C as the trio of modern languages in view of their expressive power. Modula-2 is smaller and more readable than either. 1.6 What are the differences between Modula-2 and Standard Pascal? A. Modula-2 has separately compiled library modules, and makes much less use of blocks (begin...) than Standard Pascal. Identifiers are case sensitive; there is no goto label; and I/O is in libraries rather than built in. The IF statement is more versatile; and there are facilities for concurrent programming via coroutines. Extended Pascals may have some of these features. 1.7 What is ISO Standard Modula-2? A. A committee of ISO JTC1/SC22/WG13 with delegates from several countries has met since 1987 to work on a standard description of Modula-2 and a set of standard library modules. A2. The official home of the ISO Modula-2 working group WG13 is at http://sc22wg13.twi.tudelft.nl/ 1.7.1 What is the status of ISO Standard Modula-2? A. The international standard (IS 10514) has been voted on and is now official. The Object oriented extensions and Generic extensions have also been voted on and are official. 1.7.2 Where can I get the Modula-2 standard? A1. Contact your national standards body or ISO (the publisher.) A2. For an older version, try looking in ftp://ftp.mathematik.uni-ulm.de/pub/soft/modula/standard/draft4/ 1.7.3 What format is the standard document in? A. Latex. 1.7.4 Who is the convenor of the standards group (WG13)? A.Martin Schoenhacker of Vienna is the convenor. 1.7.5 When was the last WG13 meeting? A1. It was March 17-18 1997 in Linz, Austria. For more details, follow http://sc22wg13.twi.tudelft.nl/docs/meetings.html 1.7.6 When is the next WG13 meeting? A1. No meeting is currently on the schedule. One may be held if necessary to do routine maintenance on the standards. 1.7.7 Will I be able to read the standard? A1. The concrete syntax is written in a variation of EBNF (Extended Backus-Naur Formalism) and should be accessible to most. A2. Much of the base document's details are written in VDM-SL (Vienna Development Method - Specification Language) which is a formalism for giving a precise definition of a programming language in a denotational style. It is worth learning VDM-SL if you plan to write a compiler or use formal methods to do any design work. 1.7.8 Can I at least get electronic copies of the definition modules? A. Yes, in ftp://FTP.twu.ca/pub/modula2/ISOLibraries/ISODEFMods/ or ftp://ftp.mathematik.uni-ulm.de/pub/soft/modula/standard/libdefs/ 1.7.9 Can I get ISO library code to port? A. Yes, this is available from Rick Sutcliffe, the FAQ maintainer. He has done an ISO I/O library for the Mac, and StonyBrook has ported this to their system. Anyone else is welcome to do a port provided: (1) TWU gets a license to the software produced (2) All code changes are marked and submitted to Rick Sutcliffe for the benefit of anyone else who wants to do a port. 1.7.10 Can I get copies of the grammer? A1. Yes, in http://www.twu.ca/rsbook/Appendices/Ap3.html A2. For classical Modula-2, see also Coco (section 4.9) A3. There are nice syntax diagrams for classical Modula-2 in http://cuiwww.unige.ch/db-research/Enseignement/analyseinfo/Modula2/BNFindex.html and there are syntax diagrams for ISO Modula-2 stored at http://www.twu.ca/rsbook/Appendices/Ap2.html 1.8 What difference is there between classical and ISO Modula-2? A. ISO Modula-2 has resolved most of the ambiguities in classical Modula-2. It adds the data type COMPLEX and LONGCOMPLEX, exceptions, module termination (FINALLY clause) and a complete standard I/O library. There are numerous minor differences and clarifications. 1.8.1 What else has WG13 done? A. WG13 has completed two additional standards (separate from the main one) for (a) object oriented Modula-2 and (b) generic programming facilities. Older versions of the generics proposal are stored in the directory ftp://FTP.twu.ca/pub/modula2/WG13/ 1.9 What is (was) Turbo Modula-2 A. Borland prepared CP/M versions of Modula-2 and sold them for a time in Europe (also in North America via a distributer.) One of these versions later migrated to become TopSpeed Modula-2. 1.10 What is (was) Top Speed Modula-2 See also 1.9. Eventually, Top Speed merged with Clarion, a maker of database products, who used Modula-2 as their DB language, and for a time sold Top Speed separately. Later still, this became SoftVelocity, but the Modula-2 compiler has vanished. A fuller history is available at http://www.attryde.com/clarion/. 1.11 Where and for what is Modula-2 used? A1. Modula-2 is widely used for teaching the fundamentals of sound programming techniques, data structures, and software engineering in many parts of the world. It has been the language of choice in much of Europe, though Java and C++ are making inroads. Modula-2 has features that make it superior to other languages for large projects and for programming and real time controllers. A2.Here is a reply by Andrew Trevorrow (akt@kagi.com) who is the author of the Macintosh programs written in p1 Modula-2: OzTex (standard Tex implementation on the Mac) X-Words (a meta-Scrabble word game), Anagrams (a fast and friendly anagram generator), LifeLab (a software laboratory for 2D cellular automata.) His home page is: http://www.trevorrow.com/ "Back in 92-93 I worked for the Australian National Uni's Research School of Earth Sciences writing Noble, a large suite of programs to control mass spectrometers and analyze all the data. Everything was written in Modula-2 (the only reason I took the job!). In fact, one of the reasons I decided to try making a living from shareware was so that I could keep using Modula-2." A3. General Motors and its subsidiary Delco do their programming in General Motors Modula-2. A4. Here is a message sent in by a maker of test equipment: Our BoardWizard range of test equipment has compilers,pseudo-code interpreters and a complete test operating system written in M2. The code was written for one tester in 1987 and has been maintained from that date to the present. New tester models have added and new interface and UI code has been written, indeed sections have been completely re-written but much of the core test logic is untouched since about 1990 when I shifted to management. Much of the code is unknown to those who maintain it - yet when i look at it after several years I can still explain it to others even though comments are sparse. I believe that that is the hallmark of a great programming language. (Emphasis added.) Dave Appleton, Technical Manager Goldtron Technologies Tel : (065)-870-9886 (Ex- Proteq Technologies) Fax: (065)-777-2118 26 Ayer Rajah Crescent #07-01 www: http://www.proteq.com.sg Singapore 139944 A5. Here is an answer sent in by a developer: Magic Mouse Productions 12615 Sir Francis Drake Blvd. Inverness, CA 94937 USA 1-415-669-7010 http://www.magicmouse.com The following products were made using Modula-2. The programs are all about 100,000 lines long, and 99% Modula-2, with about 1% assembler code for performance in critical areas. Flying Colors 2, Anime Designer DragonBall, Action Designer Ultraman, Tamagotchi Sketch, Curious George Paint & Print Set -- all paint and creativity programs. Gorgeous Mail -- a new years card making program JuniorNet web activities -- various creativity activities for JuniorNet web subscription service Discus -- CD label making program Web Workshop Deluxe -- Web site design product A5A. Here is a later rant sent in by the same person. We make commercial software using Modula-2, and have been doing so since the first appearance of the Logitech "Multiscope" compiler about 17 years ago, and about a million lines later we are still using Modula-2 to great effect. I am proud to announce that Web Workshop Pro, a kids website editor, is about to go "golden" and be released to the public. The program, written in 98% Modula-2 (with a small assembler section), is reliable, fast, and very efficiently coded. An almost identical product in feature set and user interface style (but not as good) called Site Central was written in C, and is 4 times larger in executable. There is no better way to compare languages than to see two similar products implemented in the same environment (macintosh + windows), and see the result. We use the excellent StonyBrook compiler (a fully integrated development environment) for Windows, and the wonderful p1 compiler under the Macintosh MPW development environment. We have a porting tool which converts between the two compilers, although recent improvements to the StonyBrook compiler make it almost possible to have identical source code. We have implemented a quickdraw emulation layer for windows which allows programs to run identically between macintosh and windows platforms. This very layer eluded a very large company years ago, and is crucial to having a single code base that operates on the mac and windows in an identical manner. 100,000 lines of code, about 10 months to do. one programmer. Less than 100 total bugs. I have an 800kb demo if anybody wants to have one e-mailed. Until I get a chance to build a compiler for my BEADS language, which will reduce programming effort by at least 10:1, Modula-2 is the simplest, cleanest, easiest to read, tends-to-build-a-reliable-product language on the planet. Java stinks! Modula-2 rules! (editor's note: Ouch!) A6. Frank Schoonjans mention MedCalc (statistical software for Windows, http://www.medcalc.be, developed using Stony Brook Modula-2, his main work. A7. The following survey results were once posted by Mat. Maher ssu94114@reading.ac.uk ORGANISATION LOCATION WORK COMPILER Statoil Norway StonyBrook Inst. for Space Nerology Austria datafile conversion TopSpeed dataviewers Boeing Washington Aerospace Eng. p1(MAC) CDSS UK embedded control sys. TopSpeed for submarines (self-employed) UK embedded Pcs and TopSpeed pc-like chips (manufacturer) Finland, 8051 embedded control Mod51 S.Africa, Australia, NZ, USA Pacific Software California Point-Of-Sale systems - Tele-Soft S. Africa Scientific CAD progs TopSpeed Databases (confidential) UK Instrumentation & TopSpeed & telemetry Custom tools USA Dept. of Energy Idaho Reusable components StonyBrook Idaho Nat. eng. labs systems programming Locheed Idaho technologies company Applied software resuse Products GiaStar Ltd UK Satcoms/Comms. Elect. TopSpeed design & m/facture. University of Reading UK Teaching,embedded ctrl TopSpeed University of Loughborough UK StonyBrook and Hertsfordshire TopSpeed (sole trader) UK Electronic Design TopSpeed Atomic Energy of Canada Canada Shutdown system for prototype in Ltd. (AECL) nuclear reactor TopSpeed final version in Hicross (HiWare) Wallac Oy Finland beta/gamma counters Logitech, control & data acquis. Multiscope Inspectron AG Switzerland remote surveillance Logitech, Multiscope Bank of New York USA funds transfer ModulAware.com (HP OpenVMS Alpha) customer enquiries Logitech (VAX/VMS) (freelance) Motorola IC production Logitech line tools. (Asia) Dexdyne Ltd UK Single-board Pcs & TopSpeed applications. (freelance) Australia Shareware p1 (mac) Multi-Master AS Norway Embedded systems, Logitech, remote control & acquis. Multiscope (confidential) room acoustic sim & TopSpeed (audio) virtual reality A7. Finally, the keeper of the FAQ notes that he still gets contracts to evaluate Modula-2 code in takeover situations and the like. 1.12 Why do universities use Modula-2 for teaching instead of C or C++? A1. Modula-2 is a type-safe language and its compilers will therefore catch many errors that otherwise show up at run time. While professional programmers need to learn C++ because it is commonly used, it is important to begin a discipline of deliberate, engineered programming at the outset. Modula-2 is easier to write in, easier to read (it reads left to right) and easier to debug. It lends itself well to software engineering. Modula-2 is a higher level language than C++, particularly with respect to pointers, all of which have types that depend on what is pointed to, and that can be treated as addresses only by flagging this fact in the code. A good computing science department (such as the one at Trinity Western University, where I teach,) tries to inculcate a way of thinking (as a software engineer, not a hacker) and beyond that, a breadth of ideas. At TWU C, C++, Java, Prolog and other languages, are taught in appropriate courses, and on a variety of platforms but not to beginners. Frankly, if I had to switch, my first choice would be Ada or Oberon, and my second Java (if it ever became cross platform.) If I had to try teaching beginners C++, I would retire. A2. Popularity no more implies soundness or superiority when considering tools such as Modula-2 and C++ than it does when considering hardware (Pentium vs PowerPC), operating systems (Windows vs Mac) and applications (Word vs Nisus). Marketing means selling the sizzle of appearance not the steak of content; those who know this and can apply it consistently win the marketing wars with inferior or even poor products. The market situation is no reason to give up on the basics of sound tools and methodology. If anything the cirisis implied by the inability of large companies to maintain poorly designed and bloated software and OSs implies that the industry needs to return to basics before it is going to advance much farther. 1.13 Why is Modula-2 a good language for large commercial projects? A1. It supports modular design which reduces errors and cuts down on maintenance time. This also allows platform dependencies to be isolated, increasing portability. I/O is found in several type-specific modules, so linkers only patch in the I/O code that's needed, making programs smaller and faster. This is in sharp contrast to the versatile but resource hungry printf in C. A2. see: Griffith, Laurie Modula-2 is three times less error prone than C, Proceedings of the Second International Modula-2 Conference, Loughborough University of Technology, UK, September 1991, pp 332-338. 1.14 Where do I get information on YAFL? A. This is yet another OO and Generic derivative of Modula-2. The homepage for the language is at http://www.phidani.be/yafl/index.html 2. WHERE IS MODULA-2 DISCUSSED? 2.1 COMP.LANG.MODULA-2 This is an internet newsgroup for questions, answers, and discussions on Modula-2. You may read it under this name on any machine on which you have a news account. 2.1.1 How do I post a message to comp.lang.modula2? A. Post it directly into that group using a news program on any computer connected to the network. 2.1.2 How do I retrieve old messages from comp.lang.modula2? A. Your local news server probably keeps old messages only for a few weeks. You should be able to mark the entire group as unread and browse whatever is available there. 2.2 Amiga lists 2.3.1 A general list for Amiga Modula2/Oberon programming. This is available in a similar manner at amiga-m2@virginia.edu. It is not oriented toward any specific compiler.To subscribe, send mail to majordomo@virginia.edu containing the message "subscribe yourid@youraddress.yourdom amiga-m2". 2.2.2 A mailing-list for the Amiga Turbo Modula-2 Compiler written by Amritpal S. Mann. To subscribe, send a message to maillist@econet.demon.co.uk with SignOn turbo-list as the Subject. Once subscribed, you will receive a copy of all messages sent to the address turbo-list@econet.demon.co.uk. 2.3 Gardens Point Modula-2 To join the GPM mailing list, send mail to majordomo@dstc.qut.edu.au with the subject line blank and the body of the message containing: subscribe gpm info gpm end Mail sent to gpm@dstc.qut.edu.au gets automatically forwarded to all subscribers on the list. The development team are of course subscribers. 2.4 Win32 To join, send mail to listserver@nhm-wien.ac.at with a blank subject line and the body Subscribe m2-win95-nt-l Maintainer: Peter Stadler 2.5 ModulaTor This is a regular publication by Guenter Dotzel of ModulAware. Back issues are available at: http://www.modulaware.com/mdltr_.htm 3. WHERE CAN I GET MODULA-2 COMPILERS? 3.1 Where can I get commercial Modula-2 compilers? In this section, the listings are by name of the manufacturer (marked M) or distributor (marked D.) A+L AG activity D products Compilers, applications, and books. platforms various office Daderiz 61 CH-2540 Grenchen Switzerland contact Albert Meier e-mail aplusl@spectraweb.ch voice +41/65/52 03 11 fax +41/65/52 03 79 Excelsior, LLC (replaces XDS) activity M products Native XDS-x86 - Modula-2/Oberon-2 2.32 compiler for x86 (Windows, OS/2, Linux) XDS-C - Modula-2/Oberon-2 "via C" cross compiler (multiple platforms) H2D (freeware) translates C header files to M2 Def Mods Portable run-time library in C source code form POSIX and Win32 API definition modules platforms PC/OS/2 V3 V4 (Warp), PC/Win95, PC/WNT PC/Linux, Sun/Sparc Solaris, Sun/Sparc SunOS, HP PA-Risc/HP-UX, others on request. (Mac no longer supported.) e-mail info@excelsior-usa.com also sold by ModulAware, and Real Time Associtaes check the shareware/demo section (below) for product availability Excelsior WWW home page: http://www.excelsior-usa.com/ fully functional evaluation kits are available from the site also see ModulaWare, and Real Time Associates for product availability Gardens Point activity MD products Gardens Point Modula-2 platforms Various Unix, including Linux and FreeBSD, DJGPP, EMX (OS/2) and MS-DOS (no Mac) office Queensland University of Technology Gardens Point Branch 2 George Street POB 2434 Brisbane Queensland Australia 4001 contact John Gough e-mail GOUGH@qut.edu.au contact Jeffrey Ledermann e-mail lederman@dstc.qut.edu.au web http://www.citi.qut.edu.au/research/plas/projects/gardens_point_modula.jsp voice +61 7-864-2132 fax +61 7-864-1801 see mail list and net sections Mandeno Granville Electronics Ltd activity MD products Mod51 : 80x51 Cross Compiler, ISO extensions Optimised for Embedded Control, Includes some IEC1131 Extensions. DbgX51 : Remote Debugger for Mod51 Compiler IcePGM : ICE and Programmers, for FLASH cores, using Mod51 platforms DOS Hosted office 128 Grange Rd Auckland 3 New Zealand contact e-mail Mod51@DesignTools.co.nz voice +64 9 6300 558 fax +64 9 6301 720 web http://www.designtools.co.nz/ The Mill Hill & Canterbury Corporation, Ltd. activity MD product Canterbury Modula-2 for OS/2 ( PIM, non-ISO, object oriented extensions similar to Oberon-2, SOM/WPS and Presentation Manager APIs ) platform OS/2 product Canterbury Modula-2 for Java 1.1 or 1.2 ( PIM, non-ISO, object oriented extensions similar to Oberon-2 ) platform Any operating system with Java, such as Windows-95/98/NT, OS/2, MacOS (incl. Metrowerks), Unix etc. product NITEK MATHPAK 87/32 for Canterbury Modula-2 OS/2 platform OS/2 contact S.Neuhoff e-mail mhc@webcom.com WWW http://www.mhccorp.com/modrelease.html demo http://www.webcom.com/mhc/java.html office P.O.Box 4310 Colchester CO12WL England ModulAware activity MD prod/plat Compaq OpenVMS Alpha: Modula-2 and Oberon-2 64 bit native-code compiler, MaX V5.02 and A2O V3.0, and 64 bit Oberon System V4 Compaq OpenVMS VAX: Modula-2 32 bit native-code compiler, MVR V4.16 office1 ModulAware La Chanenche F-04340 Meolans-Revel France tel/fax +33 492.813 099 contact Guenter Dotzel e-mail gd@modulAware.com web www.modulaware.com p1 GmbH activity MD products MPW and Metrowerks Code Warrier hosted ISO compliant compilers NOTE: Current versions of MPW have odds and sods for ISO Modula-2 written by R. Sutcliffe, for your editing enjoyment platforms Macintosh office Hogenbergstrasse. 20 80686 Munich Germany contact Elmar Henne e-mail eh@p1.space.net voice +49 89-546 13 10 fax +49 89-580 25 97 web http://www.awiedemann.de/compiler/index.html Real Time Associates Ltd. activity D products Compilers, books, and training courses platforms numerous office Canning House 59 Canning Road Croyden Surrey CR0 6QF UK Tel: +44 20 8656 7333 Fax: +44 20 8656 7334 Stony Brook Software activity MD products Stonybrook Modula-2 ISO compatible. (Environment, editor, resource editor, librarian, context sensitive help, optimizing compiler, linker, debugger, many extra libraries, including COM, RTL sources) Also offers Pascal+ platforms 16bit DOS, 32bit DOS extended, 16bit Windows, 32bit Windows 32-bit Linux on IA-32 processors, 32-bit Solaris/SunOS on SPARC processors. office 187 E. Wilbur, Suite 4 Thousand Oaks CA 91360, USA contact Norman Black e-mail sales@stonybrooksoftware.com Home page: http://www.stonybrooksoftware.com voice +1 (805) 496-5837 BBS +1 (805) 379-3357 FAX +1 (805) 496-7429 TERRA Datentechnik activity MD products Logitech/Multiscope Modula-2 and support Distributor for Stony Brook Modula-2 (see listing) Logitech compatible libraries for Stony Brook Modula-2 Real and protected mode ROM tools for 80x86 based embeeded Modula-2 systems TERRA M2VMS/Alpha and M2VMS/VAX platforms 16bit DOS, 32bit DOS extended, 16bit Windows, 32bit Windows, DEC OpenVMS/Alpha and OpenVMS/VAX office Bahnhofstrasse 33b CH-8703 Erlenbach Switzerland voice +41 01 910 35 55 fax +41 01 910 19 92 bbs +41 01 910 35 31 e-mail M2Master@TerraTerra.ch web http://www.TerraTerra.ch/ 3.2 Where can I get a free/shareware compiler on the net? Fitted Software Tools (FST) Modula-2 for DOS ftp://ftp.psg.com/pub/modula-2/fst/fst-40s.lzh contact: Roger Carvalho e-mail: res09tkd@verizon.co Note: This compiler was developed by Roger Carvalho but is no longer actively supported. It essentially conforms to PIM version 3, but also supports some simple and interesting OOP extensions. P. O. Box 867403 Plano, TX 75023 USA Warning: A reader cautions that FST may not work at all if you have an AMI BIOS. GCC Version Title: m2f Version: 4.2 Entered-date: 5NOV01 Description: a complete Modula-2 compiler based on 2nd Edition PIM Keywords: Modula-2 compiler linux Author: gaius@glam.ac.uk (Gaius Mulley) Maintained-by: gaius@glam.ac.uk Site: http://floppsie.comp.glam.ac.uk Platforms: gcc Copying-policy: GPL available in source & binary in rpm or tar.gz format from Features: + Full debugging via emacs/gdb + -students flag performs extra semantic checking for dangerous novice programming styles. NOTE: Mide3de2 is a windows IDE for the FST modula-2 compiler. It is available from http://sourceforge.net/projects/mide3de2/ GNU Version An earlier attempt to do this flopped, but a new attempt is being coordinated at http://floppsie.comp.glam.ac.uk/ Gardens Point Modula-2 for DOS, Linux and FreeBSD ftp://ftp.fit.qut.edu.au//pub/gpm_modula2/ ftp://ftp.psg.com/pub/modula-2/gpm (The EMX version runs under OS/2 in protected mode and can be used to generate OS/2 PM applications. It relies on the GNU tools from the EMX package ported by Eberhard Mattes mattes@azu.informatik.uni-stuttgart.de which can be found at: ftp.uni-stuttgart.de/pub/systems/os2/ and various other mirror sites. MacLogimo for the Macintosh ftp://ftp.psg.com/pub/modula-2/mac/maclogimo/ MacMETH Modula-2 for Macintosh http://www.ito.umnw.ethz.ch/SysEcol/SimSoftware/SimSoftware.html It's also available on CD from: http://www.celestin.com/ Note that MacMETH is also released as part of RAMSES http://www.ito.umnw.ethz.ch/SysEcol/SimSoftware/SimSoftware.html#RAMSES. RAMSES provides a full featured programming environment for the Macintosh, containing all of MacMETH (compilers, linkers, symbolic break debugger, macro editor or language support for Alpha editor) plus hundreds more of libary modules useful in the context of programing and for scientific applications. RAMSES contains also the 'Dialog Machine', a platform independent GUI (see http://www.ito.umnw.ethz.ch/SysEcol/SimSoftware/RAMSES/DialogMachine.html). 'Dialog Machine' implementations exist for MacOS, GEM (no longer available), Windows (3.1 .. up to current versions), and Unix. All software we have developed, is offered via the internet as freeware. Contact: Andreas Fischlin andreas.fischlin@ito.umnw.ethz.ch Megamax Modula-2 for the Atari This is freeware now and comes with complete source including compiler. It runs on all Atari Computers an compatibles and on emulators such as MagicMac (Macintosh) and MagiCPC (PC- compatibles). The documentation is entirely in german. Available from: ftp://ftp.fu-berlin.de//atari/programming/modula/Megamax_Modula-2_DevEnv.ZIP MOCKA - Modula Compiler Karlsruhe (Non ISO) Universitaet Karlsruhe Institut fuer Programm- und Datenstrukturen Vincenz-Priessnitz-Strasse 3 D-76128 Karlsruhe (FRG) Phone: *-49-721-608 6088 FAX: *-49-721-691462 contact: Thilo Gaul email: [modula|gaul]@ipd.info.uni-karlsruhe.de SUN 4 | SUN OS | SPARC | SUN 4 | Solaris2.x/SunOS 5.0| SPARC | DEC Station | ULTRIX | R3000, R2000 (MIPS) | Silicon | IRIX | R3000, R2000 (MIPS) | Graphics | | | Sony NEWS | News | MC 68020 with 68881 | SUN 3 | SUN OS | MC 68020 with 68881 | HP 9000/300 | HPUX | MC 68020 with 68881 | HP 9000/700 | HPUX | C back end | RS6000 | AIX | C back end | PC | Linux | 80386 | + PC | 386BSD | 80386 | + C-back end | UNIX | different | translates | | | M-2 To C | | | The versions marked with a + are free; no order form must be sent, no license fee to be paid. If you use them, please send an email to modula@ipd.info.uni-karlsruhe.de. For more information have a look to http://i44w3.info.uni-karlsruhe.de/~modula/ See also ftp://tsx-11.mit.edu/pub/linux/packages/modula-2/ or ftp://ftp.informatik.hu-berlin.de/pub/os/linux/mirrors/tsx-11.mit.edu/packages/modula-2/ for a Linux version. Ulm's Modula-2 System m2c (non-ISO) web page: http://www.mathematik.uni-ulm.de/modula/ all distributions come along with all sources which may be freely distributed under the terms of the GNU General Public License SPARCv8 / Solaris 2.x ftp://ftp.mathematik.uni-ulm.de/pub/soft/modula/ulm/sun4/ MC68020 / SunOS 4.x ftp://ftp.mathematik.uni-ulm.de/pub/soft/modula/ulm/sun3/ contact: Andreas Borchert borchert@mathematik.uni-ulm.de Excelsior, LLC ( Windows 95/NT, OS-2, Linux native code and "via C" compilers. ISO compatible.) Makes demo and pre-release versions with some restrictions available. The download site for all versions is: http://www.excelsior-usa.com M2Amiga (Open source Modula-2 Compiler for the Commodore Amiga) Sources and Binaries can be obtained from http://m2amiga.claudio.ch/ 3.3 How about a Summary of Commercial ISO Products for the Major Microcomputer platforms? MS-DOS: GPM, ModulAware, Stony Brook Windows95/NT: Stony Brook, XDS OS/2: Mill Hill, XDS MacOS: p1 3.4 Is there such a thing as a decompiler for Modula-2? Nope. But feel free to write one. Be sure to include a facility to produce the planning documents from which the Modula-2 code could be constructed and one to find out what the users wanted before the planning documents were written. 3.5 Is there any other free or cheap stuff available? A1. The ISO modules are; beyond that, contact the manufacturer. A2. BURKS (the Brighton University Resource Kit for Students) is a non-profit set of 2 CDs available from the University of Brighton (UK) or the George Washington University (USA), price UKP 5.00 / US $8.50 (plus shipping). Now in its third year, the current (3rd) edition has kindly been sponsored by GEC-Marconi and ROCC Computers. Aimed at Computer Science students, it provides around 1.1Gb of material including compilers, tutorials and reference material for over 20 programming languages; a copy of the Free Online Dictionary of Computing with over 11,000 definitions; a Linux distribution, together with a set of Linux manuals; FAQs, tutorials and specifications for Internet and PC related topics (e.g. HTML, FTP, XMS, Winsock, storage devices, modems...), and a large selection of MS-DOS and Windows software. Modula2-related material includes the FST and GPM compilers, Rick Sutcliffe's "Modula-2: Abstractions for Data and Programming Structures", the Coronado tuorial, the Modula-2 FAQ, and the GPM Language Reference Manual. The entire collection is available online at http://burks.bton.ac.uk/. Modula2-related material is at http://burks.bton.ac.uk/burks/language/modula2/. Ordering information (including shipping costs to various destinations) is also available online (at http://burks.bton.ac.uk/ordering.htm). -- Rick Sutcliffe Professor Math/Cmpt Trinity Western University. Try <http://www.arjay.bc.ca> for Christian SF, books on Modula-2 and Ethics in Technology. Philology site at <http://www.opundo.com>
úÁËÌÁÄËÉ ÎÁ ÓÁÊÔÅ ðÒÏÓÌÅÄÉÔØ ÚÁ ÓÔÒÁÎÉÃÅÊ |
Created 1996-2024 by Maxim Chirkov äÏÂÁ×ÉÔØ, ðÏÄÄÅÒÖÁÔØ, ÷ÅÂÍÁÓÔÅÒÕ |