Google
 

Trailing-Edge - PDP-10 Archives - decus_20tap1_198111 - decus/20-0004/a2lisp.doc
There are no other files named a2lisp.doc in the archive.


Appendix 2



 The INTERLISP Interpreter



The flow chart presented below describes the operation of the INTERLISP
interpreter, and corresponds to the m-expression definition of the LISP 1.5
interpreter to be found in the LISP 1.5 manual, [McC1].  Note that  car of a
form must be a function; it cannot evaluate to a function.



If  car of a form is atomic, its function cell must contain

(a) an S-expression of the form (LAMBDA ...) or (NLAMBDA ...); or

(b) a pointer to compiled code; or

(c) a SUBR definition (see Section 8);

    Otherwise the form is considered faulty.



If  car of a form is an S-expression beginning with LAMBDA or NLAMBDA, the
S-expression is the function.  If  car of the form begins with FUNARG, the
 funarg mechanism is invoked (see Section 11).  Otherwise the form is faulty.




































                                     A2.1














































                                  Figure A2-1

Note: variables  c and  d are for description only; they are not actually bound
      as variables.


















                                     A2.2