… | |
… | |
4557 | pointer d = cdr (x); |
4557 | pointer d = cdr (x); |
4558 | int r; |
4558 | int r; |
4559 | |
4559 | |
4560 | switch (op) |
4560 | switch (op) |
4561 | { |
4561 | { |
4562 | case OP_NOT: /* not */ |
4562 | case OP_NOT: /* not */ r = is_false (a) ; break; |
4563 | r = is_false (a); break; |
4563 | case OP_BOOLP: /* boolean? */ r = a == S_F || a == S_T; break; |
4564 | |
4564 | case OP_EOFOBJP: /* eof-object? */ r = a == S_EOF ; break; |
4565 | case OP_BOOLP: /* boolean? */ |
4565 | case OP_NULLP: /* null? */ r = a == NIL ; break; |
4566 | r = a == S_F || a == S_T; break; |
4566 | case OP_SYMBOLP: /* symbol? */ r = is_symbol (a) ; break; |
4567 | |
4567 | case OP_NUMBERP: /* number? */ r = is_number (a) ; break; |
4568 | case OP_EOFOBJP: /* eof-object? */ |
4568 | case OP_STRINGP: /* string? */ r = is_string (a) ; break; |
4569 | r = a == S_EOF; break; |
4569 | case OP_INTEGERP: /* integer? */ r = is_integer (a) ; break; |
4570 | |
4570 | case OP_REALP: /* real? */ r = is_number (a) ; break; /* all numbers are real */ |
4571 | case OP_NULLP: /* null? */ |
4571 | case OP_CHARP: /* char? */ r = is_character (a) ; break; |
4572 | r = a == NIL; break; |
|
|
4573 | |
|
|
4574 | case OP_SYMBOLP: /* symbol? */ |
|
|
4575 | r = is_symbol (a); break; |
|
|
4576 | |
|
|
4577 | case OP_NUMBERP: /* number? */ |
|
|
4578 | r = is_number (a); break; |
|
|
4579 | |
|
|
4580 | case OP_STRINGP: /* string? */ |
|
|
4581 | r = is_string (a); break; |
|
|
4582 | |
|
|
4583 | case OP_INTEGERP: /* integer? */ |
|
|
4584 | r = is_integer (a); break; |
|
|
4585 | |
|
|
4586 | case OP_REALP: /* real? */ |
|
|
4587 | r = is_number (a); break; /* all numbers are real */ |
|
|
4588 | |
|
|
4589 | case OP_CHARP: /* char? */ |
|
|
4590 | r = is_character (a); break; |
|
|
4591 | |
4572 | |
4592 | #if USE_CHAR_CLASSIFIERS |
4573 | #if USE_CHAR_CLASSIFIERS |
4593 | case OP_CHARAP: /* char-alphabetic? */ |
4574 | case OP_CHARAP: /* char-alphabetic? */ r = Cisalpha (ivalue (a)); break; |
4594 | r = Cisalpha (ivalue (a)); break; |
4575 | case OP_CHARNP: /* char-numeric? */ r = Cisdigit (ivalue (a)); break; |
4595 | |
|
|
4596 | case OP_CHARNP: /* char-numeric? */ |
|
|
4597 | r = Cisdigit (ivalue (a)); break; |
|
|
4598 | |
|
|
4599 | case OP_CHARWP: /* char-whitespace? */ |
4576 | case OP_CHARWP: /* char-whitespace? */ r = Cisspace (ivalue (a)); break; |
4600 | r = Cisspace (ivalue (a)); break; |
|
|
4601 | |
|
|
4602 | case OP_CHARUP: /* char-upper-case? */ |
4577 | case OP_CHARUP: /* char-upper-case? */ r = Cisupper (ivalue (a)); break; |
4603 | r = Cisupper (ivalue (a)); break; |
|
|
4604 | |
|
|
4605 | case OP_CHARLP: /* char-lower-case? */ |
4578 | case OP_CHARLP: /* char-lower-case? */ r = Cislower (ivalue (a)); break; |
4606 | r = Cislower (ivalue (a)); break; |
|
|
4607 | #endif |
4579 | #endif |
4608 | |
4580 | |
4609 | #if USE_PORTS |
4581 | #if USE_PORTS |
4610 | case OP_PORTP: /* port? */ |
4582 | case OP_PORTP: /* port? */ r = is_port (a) ; break; |
4611 | r = is_port (a); break; |
|
|
4612 | |
|
|
4613 | case OP_INPORTP: /* input-port? */ |
4583 | case OP_INPORTP: /* input-port? */ r = is_inport (a) ; break; |
4614 | r = is_inport (a); break; |
|
|
4615 | |
|
|
4616 | case OP_OUTPORTP: /* output-port? */ |
4584 | case OP_OUTPORTP: /* output-port? */ r = is_outport (a); break; |
4617 | r = is_outport (a); break; |
|
|
4618 | #endif |
4585 | #endif |
4619 | |
4586 | |
4620 | case OP_PROCP: /* procedure? */ |
4587 | case OP_PROCP: /* procedure? */ |
4621 | |
4588 | |
4622 | /*-- |
4589 | /*-- |
… | |
… | |
4625 | * in R^3 report sec. 6.9 |
4592 | * in R^3 report sec. 6.9 |
4626 | */ |
4593 | */ |
4627 | r = is_proc (a) || is_closure (a) || is_continuation (a) || is_foreign (a); |
4594 | r = is_proc (a) || is_closure (a) || is_continuation (a) || is_foreign (a); |
4628 | break; |
4595 | break; |
4629 | |
4596 | |
4630 | case OP_PAIRP: /* pair? */ |
4597 | case OP_PAIRP: /* pair? */ r = is_pair (a) ; break; |
4631 | r = is_pair (a); break; |
4598 | case OP_LISTP: /* list? */ r = list_length (SCHEME_A_ a) >= 0; break; |
4632 | |
4599 | case OP_ENVP: /* environment? */ r = is_environment (a) ; break; |
4633 | case OP_LISTP: /* list? */ |
4600 | case OP_VECTORP: /* vector? */ r = is_vector (a) ; break; |
4634 | r = list_length (SCHEME_A_ a) >= 0; break; |
4601 | case OP_EQ: /* eq? */ r = a == cadr (x) ; break; |
4635 | |
4602 | case OP_EQV: /* eqv? */ r = eqv (a, cadr (x)) ; break; |
4636 | case OP_ENVP: /* environment? */ |
|
|
4637 | r = is_environment (a); break; |
|
|
4638 | |
|
|
4639 | case OP_VECTORP: /* vector? */ |
|
|
4640 | r = is_vector (a); break; |
|
|
4641 | |
|
|
4642 | case OP_EQ: /* eq? */ |
|
|
4643 | r = a == cadr (x); break; |
|
|
4644 | |
|
|
4645 | case OP_EQV: /* eqv? */ |
|
|
4646 | r = eqv (a, cadr (x)); break; |
|
|
4647 | } |
4603 | } |
4648 | |
4604 | |
4649 | s_retbool (r); |
4605 | s_retbool (r); |
4650 | } |
4606 | } |
4651 | |
4607 | |