#include "chibicc-uxn/varvara.h" char mem[100]; unsigned mem_length; char * aalloc(unsigned size) { unsigned pos = mem_length; mem_length += size; return (char *)&mem[pos]; } void afree() { mem_length = 0; } char * amcpy(char *from, unsigned length) { char *ptr = aalloc(length); for (unsigned i = 0; i < length; i++) { ptr[i] = from[i]; } return ptr; } char* nat_to_str(unsigned n) { char buffer[5]; unsigned i = 5; do { buffer[--i] = '0' + n % 10; n /= 10; } while(n > 0); return amcpy(buffer + i, 5 - i); }