I think read will now read integers and symbols, but it's untested.

Everything compiles.
This commit is contained in:
Simon Brooke 2026-04-01 16:06:16 +01:00
parent cc8e96eda4
commit 9eb0d3c5a0
28 changed files with 594 additions and 293 deletions

View file

@ -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;
}