|
|
1.1 ! root 1: #include "master.pri" ! 2: #include "process.pri" ! 3: #include "frame.pub" ! 4: #include "hostcore.h" ! 5: #include "format.pub" ! 6: #include <CC/stdio.h> ! 7: #include "expr.pub" ! 8: #include "symbol.h" ! 9: SRCFILE("batch.c") ! 10: ! 11: void BatchProcess::open() ! 12: { ! 13: core = (Core*) new HostCore(this, master); ! 14: char *error = core->open(); ! 15: if( error ){ ! 16: fprintf(stderr, "%s\n", error); ! 17: exit(1); ! 18: } ! 19: CallStk *c = core->callstack(); ! 20: for( long l = c->size-1; l>=0; --l ) ! 21: if( l<32 || l>c->size-32 ){ ! 22: Frame f = c->frame(l); ! 23: Bls t; ! 24: f.addsymbols(); ! 25: printf("%s\n", f.text(t)); ! 26: if( f.func ){ ! 27: BlkVars bv(f.func->blk(f.pc)); ! 28: Var *v; ! 29: while( v = bv.gen() ){ ! 30: Bls tt; ! 31: if( v->disc() == U_ARG ) continue; ! 32: Expr *e = E_Sym(v); ! 33: e->evaltext(&f, tt); ! 34: printf("\t%s\n", tt.text); ! 35: } ! 36: } ! 37: } ! 38: } ! 39: ! 40: BatchMaster::BatchMaster(char *c, char *a) ! 41: { ! 42: new BatchProcess(c, a)->open(); ! 43: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.