Csc 4330/6330, Programming Language Concepts (Summer 2020)

Project 1 Sample Run

macbook-pro:lisp raj$ python3 Lisp.py
LISP: 34;

The value is 34.0

LISP: (+ 20 30);

The value is 50.0

LISP: (/ 9 (- 2 2));

EVALUATION ERROR: Divide by 0!

LISP: (* (+ 1 2) (/ 8 4));

The value is 6.0

LISP: (* (car (2 4 (+ 2 4) 8)) (/ 27 9));

The value is 6.0

LISP: (+ (car (2 3 4)) (car (cdr (cdr (9 8 7 6)))));

The value is 9.0

LISP: (+ 2 3 4);

SYNTAX ERROR

LISP: (* (car 4) 22);

SYNTAX ERROR

LISP: (+ 3 (car (cdr (cdr (cdr (1 2))))));

CDR of empty list Error!

LISP: (cdr (1 2 3 4));

The value is (2.0 3.0 4.0)

LISP: (cdr (cons (+ 2 3) (4 5 6)));

The value is (4.0 5.0 6.0)

LISP: (cdr (cdr (1 2 3 4)));

The value is (3.0 4.0)

LISP: (cdr (cdr (3 4)));

The value is ()

LISP: (cdr (cdr (3)));

CDR of empty list Error!

LISP: (let ((x 10) (y (+ 25 (car (20 30)))) (z (+ 10 23)))  (+ x (car (y 20 z))) );

The value is 55.0

LISP: (let ((x 2)(y 3)) (+ (* x 4) (*y 3)));

The value is 17.0

LISP: (let ((x 2)(y 3)) (+ (* x 4) (* z 3)));       

EVALUATION ERROR: Uninstantiated Variable z

LISP: (let ((x 2)(y 3)) (let ((x 10)(z 20)) (+ x (+ y z))));

The value is 33.0

LISP: (car (cdr (cdr (1 2))));

Cannot evaluate CAR of EMPTY List!

LISP: exit;