暫無描述

driver.c 478B

    /* a simple driver for scheme_entry */ #include <stdio.h> #define fixnum_mask 3 // 11 #define fixnum_tag 0 // 00 #define fixnum_shift 2 #define empty_list 47 // 00101111 int scheme_entry(); int main(int argc, char **argv) { int val = scheme_entry(); if ((val & fixnum_mask) == fixnum_tag) { printf("%d\n", val >> fixnum_shift); } else if (val == empty_list) { printf("()\n"); } else { printf("Error: unhandled value: %d\n", val); return 1; } return 0; }