aboutsummaryrefslogtreecommitdiff
path: root/src/interp/newaux.lisp.pamphlet
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2007-10-13 13:02:58 +0000
committerdos-reis <gdr@axiomatics.org>2007-10-13 13:02:58 +0000
commitc4d8dec2eec9c0eb7ae6639ecc0dd607a97b37b7 (patch)
treef8e046150d52c9133457315ad75948d303885160 /src/interp/newaux.lisp.pamphlet
parent154daf2e85eaa209486de6d41e8a1b067590bb8e (diff)
downloadopen-axiom-c4d8dec2eec9c0eb7ae6639ecc0dd607a97b37b7.tar.gz
Remove more pamphlets
Diffstat (limited to 'src/interp/newaux.lisp.pamphlet')
-rw-r--r--src/interp/newaux.lisp.pamphlet252
1 files changed, 0 insertions, 252 deletions
diff --git a/src/interp/newaux.lisp.pamphlet b/src/interp/newaux.lisp.pamphlet
deleted file mode 100644
index 687b2fbf..00000000
--- a/src/interp/newaux.lisp.pamphlet
+++ /dev/null
@@ -1,252 +0,0 @@
-\documentclass{article}
-\usepackage{axiom}
-\begin{document}
-\title{\$SPAD/src/interp newaux.lisp}
-\author{Timothy Daly}
-\maketitle
-\begin{abstract}
-\end{abstract}
-\eject
-\tableofcontents
-\eject
-\section{Operator Precedence Table Initialization}
-\begin{verbatim}
-; PURPOSE: This file sets up properties which are used by the Boot lexical
-; analyzer for bottom-up recognition of operators. Also certain
-; other character-class definitions are included, as well as
-; table accessing functions.
-;
-; ORGANIZATION: Each section is organized in terms of Creation and Access code.
-;
-; 1. Led and Nud Tables
-; 2. GLIPH Table
-; 3. RENAMETOK Table
-; 4. GENERIC Table
-; 5. Character syntax class predicates
-\end{verbatim}
-\subsection{LED and NUD Tables}
-\begin{verbatim}
-; **** 1. LED and NUD Tables
-
-; ** TABLE PURPOSE
-
-; Led and Nud have to do with operators. An operator with a Led property takes
-; an operand on its left (infix/suffix operator).
-
-; An operator with a Nud takes no operand on its left (prefix/nilfix).
-; Some have both (e.g. - ). This terminology is from the Pratt parser.
-; The translator for Scratchpad II is a modification of the Pratt parser which
-; branches to special handlers when it is most convenient and practical to
-; do so (Pratt's scheme cannot handle local contexts very easily).
-
-; Both LEDs and NUDs have right and left binding powers. This is meaningful
-; for prefix and infix operators. These powers are stored as the values of
-; the LED and NUD properties of an atom, if the atom has such a property.
-; The format is:
-
-; <Operator Left-Binding-Power Right-Binding-Power <Special-Handler>>
-
-; where the Special-Handler is the name of a function to be evaluated when that
-; keyword is encountered.
-
-; The default values of Left and Right Binding-Power are NIL. NIL is a
-; legitimate value signifying no precedence. If the Special-Handler is NIL,
-; this is just an ordinary operator (as opposed to a surfix operator like
-; if-then-else).
-
-\end{verbatim}
-<<LEDNUDTables>>=
-; ** TABLE CREATION
-
-(defparameter OpAssoc nil
- "Information used by OUT BOOT operator pretty printing routines")
-
-(defun MAKENEWOP (X Y) (MAKEOP X Y '|PARSE-NewKEY|))
-
-(defun MAKEOP (X Y KEYNAME)
- (if (OR (NOT (CDR X)) (NUMBERP (SECOND X)))
- (SETQ X (CONS (FIRST X) X)))
- (if (AND (alpha-char-p (ELT (STRINGIMAGE (FIRST X)) 0))
- (NOT (MEMBER (FIRST X) (EVAL KEYNAME))))
- (SET KEYNAME (CONS (FIRST X) (EVAL KEYNAME))))
- (MAKEPROP (FIRST X) Y X)
- (SETQ OPASSOC (ADDASSOC Y (CONS (CONS X X) (LASSOC Y OPASSOC)) OPASSOC))
- (SECOND X))
-
-(defvar |PARSE-NewKEY| nil) ;;list of keywords
-
-(mapcar #'(LAMBDA(J) (MAKENEWOP J '|Led|))
- '((* 800 801) (|rem| 800 801) (|mod| 800 801)
- (|quo| 800 801) (|div| 800 801)
- (/ 800 801) (** 900 901) (^ 900 901)
- (|exquo| 800 801) (+ 700 701)
- (\- 700 701) (\-\> 1001 1002) (\<\- 1001 1002)
- (\: 996 997) (\:\: 996 997)
- (\@ 996 997) (|pretend| 995 996)
- (\.) (\! \! 1002 1001)
- (\, 110 111)
- (\; 81 82 (|PARSE-SemiColon|))
- (\< 400 400) (\> 400 400)
- (\<\< 400 400) (\>\> 400 400)
- (\<= 400 400) (\>= 400 400)
- (= 400 400) (^= 400 400)
- (\~= 400 400)
- (|in| 400 400) (|case| 400 400)
- (|add| 400 120) (|with| 2000 400 (|PARSE-InfixWith|))
- (|has| 400 400)
- (|where| 121 104) ; must be 121 for SPAD, 126 for boot--> nboot
- (|when| 112 190)
- (|otherwise| 119 190 (|PARSE-Suffix|))
- (|is| 400 400) (|isnt| 400 400)
- (|and| 250 251) (|or| 200 201)
- (/\\ 250 251) (\\/ 200 201)
- (\.\. SEGMENT 401 699 (|PARSE-Seg|))
- (=\> 123 103)
- (+-\> 998 102)
- (== DEF 122 121)
- (==\> MDEF 122 121)
- (\| 108 111) ;was 190 190
- (\:- LETD 125 124) (\:= LET 125 124)))
-
-(mapcar #'(LAMBDA (J) (MAKENEWOP J `|Nud|))
- '((|for| 130 350 (|PARSE-Loop|))
- (|while| 130 190 (|PARSE-Loop|))
- (|until| 130 190 (|PARSE-Loop|))
- (|repeat| 130 190 (|PARSE-Loop|))
- (|import| 120 0 (|PARSE-Import|) )
- (|unless|)
- (|add| 900 120)
- (|with| 1000 300 (|PARSE-With|))
- (|has| 400 400)
- (\- 701 700) ; right-prec. wants to be -1 + left-prec
-;; (\+ 701 700)
- (\# 999 998)
- (\! 1002 1001)
- (\' 999 999 (|PARSE-Data|))
- (\<\< 122 120 (|PARSE-LabelExpr|))
- (\>\>)
- (^ 260 259 NIL)
- (\-\> 1001 1002)
- (\: 194 195)
- (|not| 260 259 NIL)
- (\~ 260 259 nil)
- (\= 400 700)
- (|return| 202 201 (|PARSE-Return|))
- (|leave| 202 201 (|PARSE-Leave|))
- (|exit| 202 201 (|PARSE-Exit|))
- (|from|)
- (|iterate|)
- (|yield|)
- (|if| 130 0 (|PARSE-Conditional|)) ; was 130
- (\| 0 190)
- (|suchthat|)
- (|then| 0 114)
- (|else| 0 114)))
-
-@
-\section{Gliph Table}
-Gliphs are symbol clumps. The gliph property of a symbol gives
-the tree describing the tokens which begin with that symbol.
-The token reader uses the gliph property to determine the longest token.
-Thus [[:=]] is read as one token not as [[:]] followed by [[=]].
-
-<<GLIPHTable>>=
-(mapcar #'(lambda (x) (makeprop (car x) 'gliph (cdr x)))
- `(
- ( \| (\)) )
- ( * (*) )
- ( \( (<) (\|) )
- ( + (- (>)) )
- ( - (>) )
- ( < (=) (<) )
- ;; ( / (\\) ) breaks */xxx
- ( \\ (/) )
- ( > (=) (>) (\)))
- ( = (= (>)) (>) )
- ( \. (\.) )
- ( ^ (=) )
- ( \~ (=) )
- ( \: (=) (-) (\:))))
-
-@
-\subsection{Rename Token Table}
-RENAMETOK defines alternate token strings which can be used for different
-keyboards which define equivalent tokens.
-<<RENAMETOKTable>>=
-(mapcar
- #'(lambda (x) (MAKEPROP (CAR X) 'RENAMETOK (CADR X)) (MAKENEWOP X NIL))
- '((\(\| \[) ; (| |) means []
- (\|\) \])
- (\(< \{) ; (< >) means {}
- (>\) \})))
-
-@
-\subsection{Generic function table}
-GENERIC operators be suffixed by [[$]] qualifications in SPAD code.
-[[$]] is then followed by a domain label, such as I for Integer, which
-signifies which domain the operator refers to. For example [[+$Integer]]
-is [[+]] for Integers.
-<<GENERICTable>>=
-(mapcar #'(lambda (x) (MAKEPROP X 'GENERIC 'TRUE))
- '(- = * |rem| |mod| |quo| |div| / ** |exquo| + - < > <= >= ^= ))
-
-@
-\subsection{Character Syntax Table}
-<<CharacterSyntaxTable>>=
-(defun SPECIALCASESYNTAX () (OR (AND (char= TOK '#\#) (DIGITP CHR))))
-
-(defun TERMINATOR (CHR)
- (member CHR '(#\ #\( #\) #\. #\; #\, #\Return)) :test #'char=)
-
-@
-\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.
-
-@
-<<*>>=
-<<license>>
-
-(IMPORT-MODULE "macros")
-(in-package "BOOT")
-
-<<LEDNUDTables>>
-<<GLIPHTable>>
-<<RENAMETOKTable>>
-<<GENERICTable>>
-<<CharacterSyntaxTable>>
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}