[Oberon] install

mcintosh at vima.austin.tx.us mcintosh at vima.austin.tx.us
Wed Jul 31 06:43:20 CEST 2002


| "Pat Hacker" <pat at picoworks.com> wrote:

| > Perhaps this is in the documentation somewhere and I just haven't discovered
| > it yet, is there a way to quickly map the import hierarchy for modules?
| > It's always nice to have a map when entering new territory.
| 

muller at inf.ethz.ch wrote
| The Native Oberon release doesn't currently have a tool for this.  
| Normally the programmer creates a .Tool text for every project, 
| with the modules listed in topological order, typically in a 
| ready-to-click Compiler.Compile command.  In the latest alpha
| version all the modules of the system are listed in Native.Tool
| in Build/SourceB.zip .
| 


I thought that this was a pretty serious shortcoming in the system. 
So I wrote a program that goes by various names, such as Gather,
AlmGather, depending on which epoch the archive was made.

This program was specifically designed to read a list of source
files, and to read all of the IMPORT statements in those files until
all of the imports have been examined.

The output viewer is sorted in compilation correct order.  In fact,
there is a ready to execute command followed by the file list.  If
any sources are not found, they are listed as missing sources at the
top.  Files that are not imported, i.e., they are only referenced in
the command line, are marked in red in the output, in the current
version.

I think that this is a really nifty utility, one that I use
frequently.  I don't think that it was ever put into the
distribution. (and TarDump was dropped)

This program differs from "Build" that is in some of the S3 (ETH
Oberon) releases in that Build only sorts the list that it is given,
and AlmGather hunts on the disk for all of the additional implied
imports.

A module that is at the top of a library may be listed first in the
list, and all of the modules the library imports will be listed at
the top of the file list.  This makes it easy, for example, to
execute a command    

  AlmGather Oberon.Mod TaylorCustomLibrary.Mod  MyNiftyApp.Mod ~
  
and produce a "package" that has intelligent segregation to it.

I did run this program in the "BlueBottle" environment as one of the
first things after I had a stable install.  I have de-commissioned
that install while working on another project that required me to
re-format the disk and change the network and video cards, but after
I am back in town next week, I'll be glad to boot BlueBottle from my
CD archive, and put AlmGather and the BlueBottle results on the web.

There is a V4 version as well as an S3 (ETH Oberon) version located on the web at

http://wuarchive.wustl.edu/languages/oberon/ETHOberon/Contrib/Alm/AlmGather.Cod
http://wuarchive.wustl.edu/languages/oberon/ETHOberon/Contrib/Alm/AlmGather15s3.Cod

I would love to hear from anyone who thinks it is useful.

-- Aubrey



More information about the Oberon mailing list