Files
ngr/runtime/rts.c
2024-02-02 10:31:54 -08:00

44 lines
1.3 KiB
C

#include <stdint.h>
#include <stdio.h>
#include <inttypes.h>
void print(char *_ignore, char *variable_name, int64_t vtype, int64_t value) {
switch(vtype) {
case /* U8 = */ 10:
printf("%s = %" PRIu8 "u8\n", variable_name, (uint8_t)value);
break;
case /* U16 = */ 11:
printf("%s = %" PRIu16 "u16\n", variable_name, (uint16_t)value);
break;
case /* U32 = */ 12:
printf("%s = %" PRIu32 "u32\n", variable_name, (uint32_t)value);
break;
case /* U64 = */ 13:
printf("%s = %" PRIu64 "u64\n", variable_name, (uint64_t)value);
break;
case /* I8 = */ 20:
printf("%s = %" PRIi8 "i8\n", variable_name, (int8_t)value);
break;
case /* I16 = */ 21:
printf("%s = %" PRIi16 "i16\n", variable_name, (int16_t)value);
break;
case /* I32 = */ 22:
printf("%s = %" PRIi32 "i32\n", variable_name, (int32_t)value);
break;
case /* I64 = */ 23:
printf("%s = %" PRIi64 "i64\n", variable_name, value);
break;
case /* void = */ 255:
printf("%s = <void>\n", variable_name);
break;
default:
printf("%s = UNKNOWN VTYPE %d\n", variable_name, vtype);
}
}
extern void gogogo();
int main(int argc, char **argv) {
gogogo();
return 0;
}