I think read will now read integers and symbols, but it's untested.
Everything compiles.
This commit is contained in:
parent
cc8e96eda4
commit
9eb0d3c5a0
28 changed files with 594 additions and 293 deletions
|
|
@ -11,10 +11,31 @@
|
|||
#include "memory/node.h"
|
||||
#include "memory/pointer.h"
|
||||
#include "memory/pso.h"
|
||||
#include "memory/pso4.h"
|
||||
#include "memory/tags.h"
|
||||
|
||||
#include "payloads/exception.h"
|
||||
|
||||
struct pso_pointer make_exception( struct pso_pointer message, struct pso_pointer frame_pointer, struct pso_pointer cause) {
|
||||
struct pso_pointer make_exception( struct pso_pointer message,
|
||||
struct pso_pointer frame_pointer, struct pso_pointer cause) {
|
||||
// TODO: not yet implemented
|
||||
return nil;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief When an exception is freed, all its pointers must be decremented.
|
||||
*
|
||||
* Lisp calling conventions; one expected arg, the pointer to the object to
|
||||
* be destroyed.
|
||||
*/
|
||||
struct pso_pointer destroy_exception( struct pso_pointer fp,
|
||||
struct pso_pointer env) {
|
||||
if (stackp(fp)) {
|
||||
struct pso4 *frame = pointer_to_pso4( fp);
|
||||
struct pso_pointer p = frame->payload.stack_frame.arg[0];
|
||||
|
||||
// TODO: decrement every pointer indicated by an exception.
|
||||
}
|
||||
|
||||
return nil;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue