The tiniest bit of actual progress.

This commit is contained in:
Simon Brooke 2026-04-12 13:32:58 +01:00
parent 114c64501a
commit 0b2aa4e070
3 changed files with 20 additions and 5 deletions

View file

@ -136,4 +136,10 @@
*/ */
#define payload(obj) ((tag32(obj) < 7) ? ((obj & MASK32) << 4) : (obj << 8)) #define payload(obj) ((tag32(obj) < 7) ? ((obj & MASK32) << 4) : (obj << 8))
#define errorp(obj) (tag32(obj) == ERRORTV)
#define integerp(obj) (tag32(obj) == INTEGERTV)
#define charp(obj) (tag32(obj) == CHARTV)
#endif #endif

View file

@ -31,6 +31,18 @@ void showbits( unsigned int x )
printf("\n"); printf("\n");
} }
void show(uint64_t x) {
if(integerp(x)) {
// integer
printf("%d", (int)payload(x));
} else if(charp(x)) {
// character
printf("#\\%c", (char)payload(x));
}
// we're compiling Lisp, not Scheme, so we don't have an explicit boolean
// type
}
int main(int argc, char **argv) { int main(int argc, char **argv) {
printf( "Naegling, a compiler for Beowulf: version %s\n", VERSION); printf( "Naegling, a compiler for Beowulf: version %s\n", VERSION);
@ -39,6 +51,3 @@ int main(int argc, char **argv) {
printf("%d\n", val); printf("%d\n", val);
return 0; return 0;
} }
return 0;
}

View file

@ -10,6 +10,6 @@
#ifndef __naegling_version_h #ifndef __naegling_version_h
#define __naegling_version_h #define __naegling_version_h
#define VERSIOM "Aelfhere" #define VERSION "Aelfhere"
#ifndef #endif