10 int main(int argc
, char *argv
[])
12 size_t offset
, stacksize
= 1;
13 char *b
= malloc(stacksize
);
16 struct nest
*t
, *callstack
= NULL
;
20 fprintf(stderr
, "Usage: %s PROGRAM\n", argv
[0]);
24 if((in
= fopen(argv
[1], "r")) == NULL
){
35 if(ptr
> b
+stacksize
){
37 b
= realloc(b
, stacksize
*= 2);
39 memset(ptr
, 0, stacksize
/2);
44 fprintf(stderr
, "There is no stack position -1...\n");
64 callstack
= malloc(sizeof(struct nest
));
66 if((callstack
->pos
= ftell(in
)) == -1){
71 while(fgetc(in
) != ']');
75 if(fseek(in
, callstack
->pos
-1, SEEK_SET
) == -1){
80 callstack
= callstack
->next
;