… | |
… | |
378 | } |
378 | } |
379 | |
379 | |
380 | #define car(p) ((p)->object.cons.car + 0) |
380 | #define car(p) ((p)->object.cons.car + 0) |
381 | #define cdr(p) ((p)->object.cons.cdr + 0) |
381 | #define cdr(p) ((p)->object.cons.cdr + 0) |
382 | |
382 | |
383 | #define caar(p) car (car (p)) |
383 | static pointer caar (pointer p) { return car (car (p)); } |
384 | #define cadr(p) car (cdr (p)) |
384 | static pointer cadr (pointer p) { return car (cdr (p)); } |
385 | #define cdar(p) cdr (car (p)) |
385 | static pointer cdar (pointer p) { return cdr (car (p)); } |
386 | #define cddr(p) cdr (cdr (p)) |
386 | static pointer cddr (pointer p) { return cdr (cdr (p)); } |
387 | |
387 | |
388 | #define cadar(p) car (cdr (car (p))) |
388 | static pointer cadar (pointer p) { return car (cdr (car (p))); } |
389 | #define caddr(p) car (cdr (cdr (p))) |
389 | static pointer caddr (pointer p) { return car (cdr (cdr (p))); } |
390 | #define cdaar(p) cdr (car (car (p))) |
390 | static pointer cdaar (pointer p) { return cdr (car (car (p))); } |
391 | |
391 | |
392 | INTERFACE void |
392 | INTERFACE void |
393 | set_car (pointer p, pointer q) |
393 | set_car (pointer p, pointer q) |
394 | { |
394 | { |
395 | p->object.cons.car = q; |
395 | p->object.cons.car = q; |