Scorpion System, Version 6.0 now available (Rick Snodgrass)
Fri, 12 Nov 1993 22:31:04 GMT

          From comp.compilers

Related articles
Scorpion System, Version 6.0 now available (1993-11-12)
| List of all articles for this month |

Newsgroups: comp.compilers
From: (Rick Snodgrass)
Keywords: tools, available, FTP
Organization: University of Arizona CS Department, Tucson AZ
Date: Fri, 12 Nov 1993 22:31:04 GMT

Version 6.0 of the Scorpion System is now available either on magnetic
tape or via anonymous FTP. It runs on the following machines under

DEC3100 running Ultrix 4.3
DEC VAX running 4.3BSD UNIX
HP 9000 running HP-UX 8.07
Iris running IRIX 4.0.1
Sequent Symmetry running Dynix 3.0 (BSD universe)
Sun-3 running SunOS Release 4.1.1
Sun-4 running SunOS Release 4.1.1
Sun-4 running Solaris 2.x

The system is entirely in the public domain, and all source code and
documentation is included. The system includes some 110,000 lines of code,
and generates another 160,000 lines of code of itself. The documentation
totals some 500 pages, in 15 documents.

The Scorpion System is an integrated set of tools that support
transmission of instances of complex data structures between phases of a
compiler. The Scorpion System has been used to construct a variety of
compilers at Bell Labs, Columbia University, DEC SRC, Georgia Tech, Los
Alamos National Lab, Mitre, Purdue University, the University of Arizona,
the University of New Hampshire, and the University of North Carolina.

Release 6.0 adds a binary external representation, which is stingier in
its space and runtime usage. The release also adds two tools, idlconstgen,
which converts a data instance into an object file to be linked with the
program, and idldiff, which finds the minimum distance between two data
instances. The idlc compiler is also significantly faster, as it uses the
binary representation as well as idlconstgen.

Scorpion currently uses the Interface Description Language (IDL) as a data
specification formalism. IDL allows graph structures containing
attributed nodes to be described. It provides a class type system with
multiple inheritance. IDL specifies only the data component; method
components are supplied by conventional compiler development tools such as
parser generators. IDL was designed to specify structures, such as parse
trees, symbol tables, and computation graphs, that are commonly passed
between phases of a compiler. These descriptions get translated into
target language data declarations and library routines, so that the
application can read and write data instances. Basic type generators are
sets and sequences, from which iterators are generated. Multiple
representations, e.g., of sets as linked lists or as arrays, are

There are two ways to get the system.

1. Obtain an order form either from the following address or by email
(; please provide your postal address.

The Scorpion Project
Department of Computer Science
Gould-Simpson Building
The University of Arizona
Tucson, AZ 85721
(602) 621-8448

Shipments include a 1/2" magnetic tape at 1600bpi or a Sun DC-300
cartridge, plus optional printed copies of the documentation, and an
optional copy of "The Interface Description Language: Definition and Use",
by Richard Snodgrass, which is an essential introduction and reference
text for using Scorpion. This book, published by Computer Science Press
in 1989, is also available through your bookstore (ISBN 0-7167-8198-0).
The system is available for a nominal distribution fee; for example, the
system on 9-track tape with full documentation (the book and all manuals)
costs $105.00, including shipping and handling.

2. FTP the code to your site over the net by typing the following
bracketed text without brackets. You should see similar output (the number
of bytes is only approximate). Converting to binary mode to transfer the
compressed tar file is crucial.

% [ ftp ]
Connected to optima.CS.Arizona.EDU.
220 optima FTP server (Version 2.1aWU(4) Tue Jul 20 10:19:38 MST 1993) ready.
Name ( [anonymous]
331 Guest login ok, send your complete e-mail address as password.
Password: [ yourlogin@yourhost ]
230-Please read the file README
230- it was last modified on Mon May 24 16:00:52 1993 - 164 days ago
230 Guest login ok, access restrictions apply.
ftp> [ cd scorpion ]
250-Please read the file README
250- it was last modified on Thu Nov 4 11:28:48 1993 - 0 days ago
250 CWD command successful.
ftp> [ get REAME ]
200 PORT command successful.
150 Opening ASCII mode data connection for README (11484 bytes).
226 Transfer complete.
local: README remote: README
11713 bytes received in 0.15 seconds (74 Kbytes/s)
ftp> [ get ]
200 PORT command successful.
150 Opening ASCII mode data connection for (89814 bytes).
226 Transfer complete.
local: remote:
96460 bytes received in 0.82 seconds (1.1e+02 Kbytes/s)
ftp> [ get installation.txt ]
200 PORT command successful.
150 Opening ASCII mode data connection for installation.txt (54004 bytes).
226 Transfer complete.
local: installation.txt remote: installation.txt
55474 bytes received in 0.51 seconds (1.1e+02 Kbytes/s)
ftp> [ binary ]
200 Type set to I.
ftp> [ get scorpion6.0.tar.Z ]
200 PORT command successful.
150 Opening BINARY mode data connection for scorpion6.0.tar.Z (6299779 bytes).
226 Transfer complete.
local: scorpion6.0.tar.Z remote: scorpion6.0.tar.Z
6299779 bytes received in 74 seconds (83 Kbytes/s)
ftp> [ quit ]
221 Goodbye.

At that point, you can print out the README file and the installation
instructions (they come as raw text and as a postscript-format file).

Questions should be directed to, or to the
address above.

Richard Snodgrass
Associate Professor
Department of Computer Science
University of Arizona
Tucson, AZ 85721

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.