[Ed. note: this months you get metainformation only. Even the amount of metainformation available grew substantially, so there is danger to get lost even at this level. The ModulaTor helps you to find the right sources, be it software, reports or leisure books. If you have problems to get any part of software or publications mentioned here, please don't hesitate to contact me.]
Public Domain Software
http://oberon.ssw.uni-linz.ac.at/Public.html
The following software is freely available as source code from our department. All modules are written in Oberon-2 and usually run on all implementations of the ETH Oberon System. If a module is specific to the PowerMac Oberon implementation this is explicitly mentioned. The source modules are encoded with the AsciiCoder tool available under Oberon. Follow the link from a module name to the encoded source and copy the whole file to your Oberon System. Middle-click at the heading line (AsciiCoder.DecodeFiles) to decode the source. Then compile it.
Packages
* Coco generates a scanner and a recursive descent parser from an attributed
grammar.
* Dialogs A graphical user interface for Oberon V4.
* Post Mortem Debugger for Oberon for Windows (Included in the Oberon for
Windows version on this server).
* Debug A Run Time Debugger for Oberon for PowerMac
* Kepler An object oriented graphics editor
Tools
* Backup incremental backup of Macintosh directories.
* Class extracts Oberon-2 class interfaces from a source module.
* Count counts lines, statements and characters in an Oberon-2 module.
* Find compares files; lists all lines containing a certain pattern; lists
clients and imports of a module; searches files for attributes in
InfoElems (PowerMac Oberon only).
* Folds allows compilation of folded texts; sets and searches for error
markers in the compiled text.
* Lines extracts lines containing a specified pattern from a text.
* Make topologically sorts a set of Oberon source file names according to
their import relationship.
* Random Numbers calculates a random number
* Screen switches between a one-track and a two-track screen.
* Statistics implements some statistical distributions.
* StringSearch implements some popular string search algorithms.
* Trace provides a list of trace switches that can be set/reset with
commands.
* Xref generates a cross reference list for Oberon-2 programs.
Utilities
* Dsp allows screen output in low level modules that can neither import Out
nor Texts (PowerMac Oberon only).
* MoreMathL implements some additional mathematical functions (hyperbolic,
trigonometric and inverse functions).
* Strings provides string operations which are not supported by the Oberon-2
language.
* Timer provides time measurements of programs.
* XIn offers some (now and then) used functions to read in parameters.
Text Elements
For a documentation of the text elements click here. Note that some elements need our
extended version of Popup elements from below (not the one from the original Oberon
system).
* Auto menu elements search (when the text is loaded) for AutoMenuElems
throughout the text and add these to its menu (needs Handler elements).
* Balloon elements offer balloon help (i.e., popup explanations) in texts.
* Clock elements display the current time (original author: R. Griesemer,
ETH Zurich).
* Directory elements allow a user to conveniently switch between working
directories (PowerMac Oberon only).
* Error elements can be inserted into a text given the error list generated
by the compiler (original author: C. Szyperski, ETH Zurich).
* Fold elements can be used to partially and hierarchically fold texts.
* Font elements allow a user to conveniently set the font family, font size
and font style of a piece of text.
* Handler elements install a custom handler in the viewer's contents frame.
* Index elements mark a text position which may be used as the target of
hypertext links (LinkElems) or as bookmarks. Additionally index elements
can automatically create an index of the corresponding text.
* Info elements contain additional information about the text (author, date
of creation,...) in which the element is inserted.
* Kepler links allow setting a link from a text to a Kepler graphic and vice
versa.
* Link elements represent a hypertext link to a mark element (MarkElems).
* Mark elements see link elements.
* Picture elements insert PICT graphics from the clipboard into your text
(PowerMac Oberon only).
* Popup elements respond to a middle mouse click by showing a text of lines
(a popup menu). Extended version (original author: M. Franz, ETH Zurich).
* Version elements allow a user to maintain multiple versions of a module in
the same file. Similar to conditional compilation, but language
independent.
Miscellaneous Examples
* CrazyFiller draws a Mandelbrot set into the filler viewer.
* DayDif calculates the difference between two days
* LearnBox assists you at the (otherwise) annoying task of learning new
words
* Square Equation calculates the result of such equations
* TravelingSalesman a solution for this problem
* Calendar a calendar showing a year with its weeks
Technical reports are available from ftp://oberon.ssw.uni-linz.ac.at/pub/Reports as compressed PostScript files (.ps.z):
Report1 M.Knasmueller: Oberon Dialogs, User's Guide and Programming Interfaces. November 1994 *
Report2 K.Koskimies, H.M~ossenb~ock: Designing a Framework for Language Implementation. January 1995
Report3 H.M~ossenb~ock, K.Koskimies: Active Text for Structuring and Understanding Source Code. August 1995 *
Report4 K.Koskimies, H.M~ossenb~ock: Scenario-Based Browsing of Object-Oriented Systems. August 1995 *
Report5 M.Hof: A Run Time Debugger for Oberon. August 1995 *
Coco.Report H.M~ossenb~ock: Coco/R - A Generator for Fast Compiler Front-Ends. ETH Zuerich. February 1990 *
OfrontUser J.Templ: Ofront(tm) - Oberon-2 to C Translator, Version 1.0, User Guide, Software Templ, 1995 [ed. note: this describes commercial software]
* available with full Oberon source code via ftp from Linz
Example:
The source for Scene, which is a browser for visualizing the message flow in object-oriented programs is described in Report 4 (see above) is contained in
- Scene.Cod: The sources of Scene (the instrumenter and the browser)
- SceneExample.Cod: The sources of an example system that can be inspected with Scene (the one described in the report).]
The files are to be decoded with the Oberon utility AsciiCoder (just open them with Edit.Open and click on the command AsciiCoder.DecodeFiles in the first line of the text).
OOP examples
This directory contains examples for the use of Oberon-2 in object-oriented programming. The examples are taken from exercises of the OOP lecture that Hanspeter Moessenboeck gave from 1989 to 1993 at ETH Zurich. The implementation of examples was mostly done by Josef Templ, Robert Griesemer, Clemens Szyperski and Wolfgang Weck. You might want to use the examples (or a modified version of them) in your own lecture.
The examples were programmed for the Ceres computer and the Oberon V4 (sometimes V2) system. There might be some modifications necessary to get them running on your Oberon system.
There are 5 files containing 5 different examples, mostly subdivides in 3-4 exercises that the students had to work on for 2 weeks each. The files are encoded with Oberon's AsciiCoder.CodeFiles. The 5 files are:
Dialogs0.Cod A framework for user interface elements (similar to the full Dialogs package of Oberon V4)
Draft.Cod An extensible graphics editor
Formula.Cod A framework for formulas to be included in texts (text elements)
Game.Cod A framework for a board game
Simulation.Cod A framework for event-driven Simulation (still needs a Coroutines.Mod implementation for your computer)
Most of the examples also have the assignments written as text. Some of the assignments are missing, however.
A quote from Gramma Rose's book, selected by the editor of The ModulaTor, because of it's still reality in Europe, even 50 years after publication: "imagine that the currency changes at every State line, ... and that at any moment a Government decree may change the value of either kind... Go on imagining; you can not equal the European reality... Too much energy is subtracted from productive energy.", page 66).
I doubt that EMU will solve more problems that it'll create. See David DeRosa: *FaceOff* DeRosa Thrashes the Looming EMU
The ModulaTor isn't a publication about political philosophy or liberty, but the books mentioned here and in the last issue are important to understand such simple facts, why 50 years ago, as Rose wrote, it took a foreigner 6 weeks to get a permission by the French Authority to drive his own car and why today, in 1995, the same process takes 6 months. The first example was drawn from Gramma's book, while the second is actual experience by the editor.
IMPRESSUM: The ModulaTor is an unrefereed journal. Technical papers are to be
taken as working papers and personal rather than organizational statements.
Items are printed at the discretion of the Editor based upon his judgement on
the interest and relevancy to the readership. Letters, announcements, and
other items of professional interest are selected on the same basis. Office of
publication: The Editor of The ModulaTor is Guenter Dotzel; he can be reached
by tel/fax: [removed due to abuse] or by
mailto:[email deleted due to spam]
Home
Site_index
Contact
Legal
Buy_products
OpenVMS_compiler
Alpha_Oberon_System
XDS_family
DOS_compiler
ModulaTor
Bibliography
Oberon[-2]_links
Modula-2_links
Onduleurs
Webdesign by www.otolo.com/webworx,
13-Nov-1998