home *** CD-ROM | disk | FTP | other *** search
- Overview of the DEC Scheme->C Compiler.
-
- ;* Copyright 1989 Digital Equipment Corporation
- ;* All Rights Reserved
- ;*
- ;* Permission to use, copy, and modify this software and its documentation is
- ;* hereby granted only under the following terms and conditions. Both the
- ;* above copyright notice and this permission notice must appear in all copies
- ;* of the software, derivative works or modified versions, and any portions
- ;* thereof, and both notices must appear in supporting documentation.
- ;*
- ;* Users of this software agree to the terms and conditions set forth herein,
- ;* and hereby grant back to Digital a non-exclusive, unrestricted, royalty-free
- ;* right and license under any changes, enhancements or extensions made to the
- ;* core functions of the software, including but not limited to those affording
- ;* compatibility with other hardware or software environments, but excluding
- ;* applications which incorporate this software. Users further agree to use
- ;* their best efforts to return to Digital any such changes, enhancements or
- ;* extensions that they make and inform Digital of noteworthy uses of this
- ;* software. Correspondence should be provided to Digital at:
- ;*
- ;* Director of Licensing
- ;* Western Research Laboratory
- ;* Digital Equipment Corporation
- ;* 100 Hamilton Avenue
- ;* Palo Alto, California 94301
- ;*
- ;* This software may be distributed (but not offered for sale or transferred
- ;* for compensation) to third parties, provided such third parties agree to
- ;* abide by the terms and conditions of this notice.
- ;*
- ;* THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
- ;* WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
- ;* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT
- ;* CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
- ;* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
- ;* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
- ;* ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- ;* SOFTWARE.
-
- This is the root directory for the Scheme-to-C compiler which was done at
- Digital Equipment Corporation's Western Research Laboratory. The compiler
- distribution consists of several directories:
-
- doc contains documentation:
-
- index.mss a Scribe reference document for the language
- which is in the form of an annoted index to
- the Revised**3 Scheme standard.
-
- index.psf Postscript for index.mss.
-
- intro.mss a Scribe document introducing Scheme->C.
-
- intro.psf Postscript for intro.mss.
-
- scc.l UNIX man page for the Scheme->C compiler.
-
- sci.l UNIX man page for the Scheme->C interpreter.
-
- gnuemacs contains emacs lisp code
-
- scrt contains the runtime system.
-
- scsc contains the compiler.
-
- test contains compiler and runtime test programs.
-
- cdecl a C declaration compiler written in Scheme.
-
- xlib X11 Xlib stubs for Scheme->C.
-
- In order to install the compiler and interpreter on a system, the following
- steps must be done.
-
- 1. Verify that this directory contains the previously mentioned directories.
-
- 2. Edit the makefile in this directory so that the directory definitions
- at the head of the file are correct for your installation:
-
- SRCDIR full name of this directory
-
- MIPSDIR full name of the directory that should be used to build
- Scheme->C for a DECstation 3100.
-
- VAXDIR full name of the directory that should be used to build
- Scheme->C for a VAX.
-
- The other definitions need not be changed.
-
- 2. Create directories for a specific processor. For a VAX this is done
- by:
-
- 1 >make forVAX
-
- and for a DECstation 3100, this is done by:
-
- 1 >make forMIPS
-
- 3. Build Scheme->C for a specific processor. For a VAX this is done
- by:
-
- 2 >cd VAXDIR (defined in step 2)
- 3 >make port
-
- and for a DECstation 3100, this is done by:
-
- 2 >cd MIPSDIR (defined in step 2)
- 3 >make port
-
- N.B. During the compilation of scrt/signal.c on DECstations, you may get
- the warning: "cpp: warning /usr/include/mips/cpu.h:504: CONS redefined".
- This warning can be ignored.
-
- 4. Verify that the interpreter and compiler were correctly built:
-
- 4 >cd test
- 5 >../scrt/sci
- SCHEME->C -- ...
- > (load "test51.sc")
- MODULE form ignored
- TEST51
- "test51.sc"
- > (test51 '())
- Hello world!
- #F
- > ^D
- 6 >make test51
- ../scsc/sccomp -schf ../scsc/sccomp.heap -C test51.sc
- test51.sc:
- ../scsc/sccomp -schf ../scsc/sccomp.heap -c -g test51.c
- cc -o test51 -g test51.o ../scrt/libsc.a -lm
- 7 >test51
- Hello world!
-
- 5. Install the libraries, compiler, and interpreter in some directory
- such as ~/bin:
-
- 8 >cd ..
- 9 >make "destdir = /udir/`whoami`/bin" install-private
- 10 >rehash
-
- Given that this directory in the current search path, the compiler can
- now be accessed by "scc" and the interpreter by "sci".
-
- N.B. Users of DECstations will see two or three sequences of error messages
- ending with "*** Error code 1 (ignored)." These errors may be ignored.
-
- 6. At this point, the source in cdecl and xlib can now be compiled as
- desired.
-