Another inconclusive session: still nothing works, still making progress.

This commit is contained in:
Simon Brooke 2026-04-22 18:16:00 +01:00
parent ef59563e25
commit eed4711fee
35 changed files with 317 additions and 232 deletions

View file

@ -46,7 +46,7 @@ uint32_t calculate_hash( wint_t c, struct pso_pointer ptr ) {
case KEYTV:
case STRINGTV:
case SYMBOLTV:
if ( nilp( cell->payload.string.cdr ) ) {
if ( c_nilp( cell->payload.string.cdr ) ) {
result = ( uint32_t ) c;
} else {
result =
@ -69,12 +69,12 @@ uint32_t calculate_hash( wint_t c, struct pso_pointer ptr ) {
* char32_t in larger pso classes, so this function may be only for strings
* (and thus simpler).
*/
struct pso_pointer make_string_like_thing( struct pso4 *frame_pointer,
struct pso_pointer make_string_like_thing( struct pso_pointer frame_pointer,
wint_t c, struct pso_pointer tail,
char *tag ) {
struct pso_pointer pointer = tail;
if ( check_type( tail, tag ) || nilp( tail ) ) {
if ( check_type( tail, tag ) || c_nilp( tail ) ) {
pointer = allocate( frame_pointer, tag, CONS_SIZE_CLASS );
struct pso2 *cell = pointer_to_object( pointer );
@ -107,7 +107,7 @@ struct pso_pointer make_string_like_thing( struct pso4 *frame_pointer,
* @param c the character to add (prepend);
* @param tail the string which is being built.
*/
struct pso_pointer make_string( struct pso4 *frame_pointer, wint_t c,
struct pso_pointer make_string( struct pso_pointer frame_pointer, wint_t c,
struct pso_pointer tail ) {
return make_string_like_thing( frame_pointer, c, tail, STRINGTAG );
}
@ -120,7 +120,7 @@ struct pso_pointer make_string( struct pso4 *frame_pointer, wint_t c,
* @param c the character to add (prepend);
* @param tail the keyword which is being built.
*/
struct pso_pointer make_keyword( struct pso4 *frame_pointer, wint_t c,
struct pso_pointer make_keyword( struct pso_pointer frame_pointer, wint_t c,
struct pso_pointer tail ) {
return make_string_like_thing( frame_pointer, c, tail, KEYTAG );
}
@ -133,7 +133,7 @@ struct pso_pointer make_keyword( struct pso4 *frame_pointer, wint_t c,
* @param c the character to add (prepend);
* @param tail the symbol which is being built.
*/
struct pso_pointer make_symbol( struct pso4 *frame_pointer, wint_t c,
struct pso_pointer make_symbol( struct pso_pointer frame_pointer, wint_t c,
struct pso_pointer tail ) {
return make_string_like_thing( frame_pointer, c, tail, SYMBOLTAG );
}
@ -142,7 +142,7 @@ struct pso_pointer make_symbol( struct pso4 *frame_pointer, wint_t c,
/**
* Return a lisp string representation of this wide character string.
*/
struct pso_pointer c_string_to_lisp_string( struct pso4 *frame_pointer,
struct pso_pointer c_string_to_lisp_string( struct pso_pointer frame_pointer,
char32_t *string ) {
struct pso_pointer result = nil;
@ -164,7 +164,7 @@ struct pso_pointer c_string_to_lisp_string( struct pso4 *frame_pointer,
* Return a lisp symbol representation of this wide character string. In
* symbols, I am accepting only lower case characters.
*/
struct pso_pointer c_string_to_lisp_symbol( struct pso4 *frame_pointer,
struct pso_pointer c_string_to_lisp_symbol( struct pso_pointer frame_pointer,
char32_t *symbol ) {
struct pso_pointer result = nil;
@ -183,7 +183,7 @@ struct pso_pointer c_string_to_lisp_symbol( struct pso4 *frame_pointer,
* Return a lisp keyword representation of this wide character string. In
* keywords, I am accepting only lower case characters and numbers.
*/
struct pso_pointer c_string_to_lisp_keyword( struct pso4 *frame_pointer,
struct pso_pointer c_string_to_lisp_keyword( struct pso_pointer frame_pointer,
char32_t *symbol ) {
struct pso_pointer result = nil;