40 lines
569 B
C
40 lines
569 B
C
#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);
|
|
} |