;;; -*- Mode:Common-Lisp; Package:Compiler2; Base:10 -*- ;;; ;;; RESTRICTED RIGHTS LEGEND ;;; ;;;Use, duplication, or disclosure by the Government is subject to ;;;restrictions as set forth in subdivision (c)(1)(ii) of the Rights in ;;;Technical Data and Computer Software clause at 52.227-7013. ;;; ;;; TEXAS INSTRUMENTS INCORPORATED. ;;; P.O. BOX 2909 ;;; AUSTIN, TEXAS 78769 ;;; MS 2151 ;;; ;;; Copyright (C) 1984-1989 Texas Instruments Incorporated. All rights reserved. ;;; Copyright (C) 1980 Massachusetts Institute of Technology ;;;; *-----------------------------------------------------------* ;;;; | -- TI Explorer Lisp Compiler -- | ;;;; | This file contains portions of the compiler that are | ;;;; | concerned with supporting compatibility with MacLisp. | ;;;; | This file does not need to be loaded unless MacLisp | ;;;; | support is needed. | ;;;; *-----------------------------------------------------------* ;;; 7/26/85 DNG - File QCOPT split into files P1OPT, P1STYLE, and MACLISP. ;;; 8/17/85 DNG - Include *LEXPR, *EXPR, and *FEXPR. ;;; 4/06/86 DNG - Converted from Zetalisp to Common Lisp. ;;; 5/10/86 DNG - Moved handling of MacLisp CATCH and THROW to here. ;;;------------------ The following done after Explorer release 3.0 ------ ;;; 6/23/87 DNG - Drop support for MacLisp CATCH and THROW because the MacLisp ;;; and Common Lisp usages of THROW cannot be reliably distinguished ;;; in Zetalisp mode. [SPR 5741] ;;; 4/25/89 DNG - Eliminate setting of unused ARGDESC property. (DEFUN *EXPR ("E &REST L) (MAPC #'COMPILATION-DEFINE L) NIL) (DEFF *LEXPR #'*EXPR) (DEFF *FEXPR #'*EXPR) (comment ; old way (DEFUN *LEXPR ("E &REST L) (DOLIST (X L) (COMPILATION-DEFINE X) (SETF (GET X 'ARGDESC) '((#o1005 (FEF-ARG-OPT FEF-QT-EVAL)))))) (DEFUN *EXPR ("E &REST L) (DOLIST (X L) (COMPILATION-DEFINE X) (SETF (GET X 'ARGDESC) '((#o1005 (FEF-ARG-OPT FEF-QT-EVAL)))))) (DEFUN *FEXPR ("E &REST L) (DOLIST (X L) (COMPILATION-DEFINE X) (SETF (GET X 'ARGDESC) '((#o1005 (FEF-ARG-OPT FEF-QT-QT)))))) ) ;; 5/10/86 DNG - Moved SUBSTITUTE-FUNCTION-NAME to file P1OPT. ;;; MacLisp floating point arithmetic (ADD-OPTIMIZER +$ SUBSTITUTE-FUNCTION-NAME) (ADD-OPTIMIZER -$ SUBSTITUTE-FUNCTION-NAME) (ADD-OPTIMIZER *$ SUBSTITUTE-FUNCTION-NAME) (ADD-OPTIMIZER /$ SUBSTITUTE-FUNCTION-NAME) (ADD-OPTIMIZER 1+$ SUBSTITUTE-FUNCTION-NAME) (ADD-OPTIMIZER 1-$ SUBSTITUTE-FUNCTION-NAME) ;;; modify signp to be (AND (NUMBERP