aboutsummaryrefslogtreecommitdiff
path: root/src/boot/initial-env.lisp.pamphlet
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2008-01-28 04:16:25 +0000
committerdos-reis <gdr@axiomatics.org>2008-01-28 04:16:25 +0000
commita27cc2ac7bf6a0ad60cc6c9f949a988d0444bb4e (patch)
treecb71095e082c97f38f06f11828ca1f898ba3f72e /src/boot/initial-env.lisp.pamphlet
parent58cae19381750526539e986ca1de122803ac2293 (diff)
downloadopen-axiom-a27cc2ac7bf6a0ad60cc6c9f949a988d0444bb4e.tar.gz
* boot/Makefile.pamphlet: Remove.
* boot/translator.boot: New. * boot/translator.boot: Remove. * boot/tokens.boot: New. * boot/tokens.boot.pamphlet: Remove. * boot/scanner.boot: New. * boot/scanner.boot.pamphlet: Remove. * boot/pile.boot: New. * boot/pile.boot.pamphlet: Remove. * boot/parser.boot: New. * boot/parser.boot.pamphlet: New. * boot/initial-env.lisp: New. * boot/initial-env.lisp.pamphlet: Remove. * boot/includer.boot: New. * boot/includer.boot.pamphlet: Remove. * boot/ast.boot: New. * boot/ast.boot.pamphlet: Remove.
Diffstat (limited to 'src/boot/initial-env.lisp.pamphlet')
-rw-r--r--src/boot/initial-env.lisp.pamphlet243
1 files changed, 0 insertions, 243 deletions
diff --git a/src/boot/initial-env.lisp.pamphlet b/src/boot/initial-env.lisp.pamphlet
deleted file mode 100644
index d3242458..00000000
--- a/src/boot/initial-env.lisp.pamphlet
+++ /dev/null
@@ -1,243 +0,0 @@
-%% Oh Emacs, this is a -*- Lisp -*- file despite apperance.
-\documentclass{article}
-\usepackage{axiom}
-
-\title{\File{src/boot/initial-env.lisp} Pamphlet}
-\author{Gabriel Dos~Reis \and Timothy Daly}
-
-\begin{document}
-\maketitle
-
-\begin{abstract}
- This pamphlet defines the base initial environment for building
- a Boot translator image. It essentially etablishes a namespace
- (package \Code{Boot}) for the Boot translator, and defines
- some macros that need to be present during translation of Boot
- source files.
-\end{abstract}
-
-\tableofcontents
-\eject
-
-\section{License}
-
-<<license>>=
-;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
-;; All rights reserved.
-;;
-;; Redistribution and use in source and binary forms, with or without
-;; modification, are permitted provided that the following conditions are
-;; met:
-;;
-;; - Redistributions of source code must retain the above copyright
-;; notice, this list of conditions and the following disclaimer.
-;;
-;; - Redistributions in binary form must reproduce the above copyright
-;; notice, this list of conditions and the following disclaimer in
-;; the documentation and/or other materials provided with the
-;; distribution.
-;;
-;; - Neither the name of The Numerical ALgorithms Group Ltd. nor the
-;; names of its contributors may be used to endorse or promote products
-;; derived from this software without specific prior written permission.
-;;
-;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-;; IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-;; TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-;; PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-;; OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-;; EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-;; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-;; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-@
-
-\section{The \code{BOOTTRAN} package}
-
-All Boot translator functions are defined in the package
-\code{BOOTTRAN}. It is expected that the translator interfaces
-with the rest of the system only through the functions explicitly exported
-by \code{BOOTTRAN}:
-<<boot-translator>>=
-(defpackage "BOOTTRAN"
- (:use "AxiomCore")
- #+:common-lisp (:use "COMMON-LISP")
- #-:common-lisp (:use "LISP"))
-
-@
-
-\section{I/O macros}
-
-The Boot translator source codes make uses of some
-higher order functions. For various reasons, including efficiency,
-they are defined as Lisp macros and must therefore be available in each
-source file that uses them.
-
-\subsection{[[shoeInputFile]]}
-
-<<with-input-file>>=
-(defmacro |shoeOpenInputFile|
- (stream fn prog)
- `(with-open-file (,stream ,fn :direction :input
- :if-does-not-exist nil) ,prog))
-@
-
-This macro creates a input stream object from a file name [[fn]], and
-processes it with [[prog]]. If the file name designates a non-existent
-file, the standard input is used instead.
-
-\subsection{[[shoeOpenOutputFile]]}
-<<with-output-file>>=
-(defmacro |shoeOpenOutputFile|
- (stream fn prog)
- `(with-open-file (,stream ,fn :direction :output
- :if-exists :supersede) ,prog))
-@
-
-This macro creates an output stream object from a file name [[fn]], and
-processes it with [[prog]]. The output file is overwritten if it exists.
-
-\section{Putting it together}
-
-<<*>>=
-<<license>>
-
-<<boot-translator>>
-
-(in-package "BOOTTRAN")
-
-;## need the conditional here so it appears in boottran
-#+:ieee-floating-point (defparameter $ieee t)
-#-:ieee-floating-point (defparameter $ieee nil)
-
-(defmacro memq (a b) `(member ,a ,b :test #'eq))
-(defvar *lisp-bin-filetype* "o")
-(defvar *lisp-source-filetype* "lisp")
-(defun setdifference (x y) (set-difference x y))
-(defun make-cvec (sint) (make-string sint))
-(defun MAKE-VEC (n) (make-array n))
-(defun concat (&rest l)
- (progn
- (setq l (mapcar #'string l))
- (apply #'concatenate 'string l)))
-
-(defun |shoeInputFile| (filespec )
- (open filespec :direction :input :if-does-not-exist nil))
-
-<<with-input-file>>
-
-<<with-output-file>>
-
-(defun shoeprettyprin1 (x &optional (stream *standard-output*))
- (let ((*print-pretty* t)
- (*print-array* t)
- (*print-circle* t)
- (*print-level* nil)
- (*print-length* nil))
- (prin1 x stream)))
-
-(defun reallyprettyprint (x &optional (stream *terminal-io*))
- (shoeprettyprin1 x stream) (terpri stream))
-
-(defun shoeprettyprin0 (x &optional (stream *standard-output*))
- (let ((*print-pretty* nil)
- (*print-array* t)
- (*print-circle* t)
- (*print-level* nil)
- (*print-length* nil))
- (prin1 x stream)))
-
-(defun shoenotprettyprint (x &optional (stream *terminal-io*))
- (shoeprettyprin0 x stream) (terpri stream))
-
-(defun make-full-cvec (sint &optional (char #\space))
- (make-string sint :initial-element (character char)))
-
-(defun |shoePLACEP| (item)
- (eq item nil))
-
-(defun substring (cvec start length)
- (if length (subseq cvec start (+ start length))
- (subseq cvec start)))
-
-(defun MAKE-HASHTABLE (id1)
- (let ((test (case id1
- ((EQ ID) #'eq)
- (CVEC #'equal)
- ((UEQUAL EQUAL) #'equal)
- (otherwise (error "bad arg to make-hashtable")))))
- (make-hash-table :test test)))
-
-(defun HKEYS (table)
- (let (keys)
- (maphash #'(lambda (key val)
- (declare (ignore val))
- (push key keys)) table)
- keys))
-
-
-(defun HPUT (table key value)
- (setf (gethash key table) value))
-
-(defun QENUM (cvec ind)
- (char-code (char cvec ind)))
-
-(defun charmem (a b)
- (member a b :test #'eql))
-
-(defun |shoeIdChar| (x)
- (or (ALPHANUMERICP x)
- (charmem x '(#\' #\? #\%))))
-
-(defun |shoeStartsId| (x)
- (or (alpha-char-p x)
- (charmem x '(#\$ #\? #\%))))
-
-(defun strpos (what in start dontcare)
- (setq what (string what) in (string in))
- (if dontcare (progn (setq dontcare (character dontcare))
- (search what in :start2 start
- :test #'(lambda (x y) (or (eql x dontcare)
- (eql x y)))))
- (search what in :start2 start)))
-
-
-(defun strposl (table cvec sint item)
- (setq cvec (string cvec))
- (if (not item)
- (position table cvec :test #'(lambda (x y) (position y x)) :start sint)
- (position table cvec :test-not #'(lambda (x y) (position y x))
- :start sint )))
-
-(defun VEC-SETELT (vec ind val)
- (setf (elt vec ind) val))
-
-(defun bvec-make-full (n x)
- (make-array (list n) :element-type 'bit :initial-element x))
-
-(defun make-bvec (n)
- (bvec-make-full n 0))
-
-(defun bvec-setelt (bv i x)
- (setf (sbit bv i) x))
-
-(defun size (l)
- (cond ((vectorp l) (length l))
- ((consp l) (list-length l))
- (t 0)))
-
-(defun identp (a)
- (and (symbolp a) a))
-
-(defun |shoeReadLisp| (s n)
- (multiple-value-list (read-from-string s nil nil :start n)))
-
-(defun |last| (x)
- (car (last x)))
-@
-
-
-\end{document}