Expected results for test: P3-46.pl460 P3-46.pl460 : (define (function0 V0) (cond ((list? V0) (display "value is a list")) ((not (number? V0)) (display "value is not numeric")) ((zero? V0) (display "value is 9")) ((< V0 5) (display "value is less than 5")) ((and (> V0 3) (< V0 29)) (display "value is between 3 and 29")) ((or (= V0 29) (= V0 25)) (display "value is 29 or 25")) ((>= V0 19) (display "value is greater than or equal to 19")) ((<= V0 -1) (display "value is less than or equal to -1")) (else (display "value is greater than 29 but not 25")) ) ) (define (main) (function0 '(0 1 2)) (newline) (function0 2) (newline) (function0 5) (newline) (function0 03) (newline) (function0 9) (newline) (function0 -5) (newline) (function0 "Hello") (newline) (function0 15) (newline) ) (main) Input file: P3-46.pl460 0 errors found in input file P3-46.cpp : // Autogenerated PL460 to C++ Code // File: P3-46.cpp #include #include "Object.h" using namespace std; Object function0 (Object V0) { Object __RetVal; if (listp (V0)) { cout << Object("value is a list"); } else if (! (numberp (V0))) { cout << Object("value is not numeric"); } else if (zerop (V0)) { cout << Object("value is 9"); } else if ((V0 < Object("5"))) { cout << Object("value is less than 5"); } else if (((V0 > Object("3")) && (V0 < Object("29")))) { cout << Object("value is between 3 and 29"); } else if (((V0 == Object("29")) || (V0 == Object("25")))) { cout << Object("value is 29 or 25"); } else if ((V0 >= Object("19"))) { cout << Object("value is greater than or equal to 19"); } else if ((V0 <= Object("-1"))) { cout << Object("value is less than or equal to -1"); } else { cout << Object("value is greater than 29 but not 25"); } return __RetVal; } int main () { Object __RetVal; __RetVal = function0(Object("(0 1 2 )")); cout << endl; __RetVal = function0(Object("2")); cout << endl; __RetVal = function0(Object("5")); cout << endl; __RetVal = function0(Object("03")); cout << endl; __RetVal = function0(Object("9")); cout << endl; __RetVal = function0(Object("-5")); cout << endl; __RetVal = function0(Object("Hello")); cout << endl; __RetVal = function0(Object("15")); cout << endl; return 0; } PL460 program output: value is a list value is less than 5 value is between 3 and 29 value is less than 5 value is between 3 and 29 value is less than 5 value is not numeric value is between 3 and 29 C++ program output: value is a list value is less than 5 value is between 3 and 29 value is less than 5 value is between 3 and 29 value is less than 5 value is not numeric value is between 3 and 29 Differences: < pl460 | cpp > value is a list value is a list value is less than 5 value is less than 5 value is between 3 and 29 value is between 3 and 29 value is less than 5 value is less than 5 value is between 3 and 29 value is between 3 and 29 value is less than 5 value is less than 5 value is not numeric value is not numeric value is between 3 and 29 value is between 3 and 29