Example #1
0
int main(int argc,char **argv)
{
  uint64 u;
  int result;

  for (u = 0;u < 1000;++u) {
    if (!str0_uint64(&n,0,u)) break;
    str0_putline(&n);
  }
  return 0;
}
Example #2
0
int main(int argc,char **argv)
{
  for (;;)
    switch(str0_getline(&inputline,0)) {
      case 1: case 2:
	if (!str0_uint64(&key,0,inputlinesnum)) nomem();
	if (!str0_concatc(&key,0,":")) nomem();
	if (!str0_concat(&key,0,&inputline)) nomem();
        if (!critbit0_insert(&inputlines,0,&key)) nomem();
	++inputlinesnum;
        break;
      case 0:
	doit();
	return 0;
      default:
	return 111; /* XXX: louder? */
    }
}
Example #3
0
void doit(void)
{
  int64 i;

  if (critbit0_allprefixed(&inputlines,0,&inputline,&empty,findvars) < 1) nomem();
  if (critbit0_allprefixed(&inputlines,0,&inputline,&empty,finduses) < 1) nomem();
  if (critbit0_allprefixed(&inputlines,0,&inputline,&empty,findentries) < 1) nomem();
  if (critbit0_allprefixed(&inputlines,0,&inputline,&empty,findblocks) < 1) nomem();
  traceassignment_state = 0;
  if (critbit0_allprefixed(&assignments,0,&v,&empty,traceassignment) < 1) nomem();
  traceassignment_state = 1;
  if (critbit0_allprefixed(&reads,0,&v,&empty,traceassignment) < 1) nomem();
  traceassignment_state = 2;
  if (critbit0_allprefixed(&blockvisible,0,&v,&empty,traceassignment) < 1) nomem();
  critbit0_clear(&traced,0);
  critbit0_clear(&totrace,0);
  if (!str0_copyc(&value,0,"0")) nomem();
  if (critbit0_allprefixed(&assignments,0,&x,&empty,tracevalue) < 1) nomem();
  if (critbit0_allprefixed(&reads,0,&x,&empty,tracevalue) < 1) nomem();
  if (critbit0_allprefixed(&blocklive,0,&x,&empty,tracevalue) < 1) nomem();

  allocate_state = 1;
  critbit0_clear(&traced,0);
  critbit0_clear(&totrace,0);
  if (critbit0_allprefixed(&entries,0,&n,&empty,allocate) < 1) nomem();

  for (i = 0;i < inputlinesnum;++i) {
    if (!str0_uint64(&reglimitprefix,0,i)) nomem();
    if (!str0_concatc(&reglimitprefix,0,"<")) nomem();
    if (critbit0_allprefixed(&reglimitok,0,&x,&reglimitprefix,preallocate) < 1) nomem();
    if (!str0_uint64(&reglimitprefix,0,i)) nomem();
    if (!str0_concatc(&reglimitprefix,0,">")) nomem();
    if (critbit0_allprefixed(&reglimitok,0,&x,&reglimitprefix,preallocate) < 1) nomem();
  }

  allocate_state = 2;
  critbit0_clear(&traced,0);
  critbit0_clear(&totrace,0);
  if (critbit0_allprefixed(&entries,0,&n,&empty,allocate) < 1) nomem();

  for (i = 0;i < inputlinesnum;++i) {
    if (!str0_uint64(&n,0,i)) nomem();
    if (!str0_copy(&key,0,&n)) nomem();
    if (!str0_concatc(&key,0,":")) nomem();
    if (critbit0_firstprefixed(&inputlines,0,&inputline,&key) < 1) nomem();
    str0_free(&outputline,0);
    convert_state = 0;
    if (str0_colon(&inputfield,0,&inputline,convert) < 1) nomem();
    printreg_write = 0;
    if (!str0_copy(&key,0,&n)) nomem();
    if (!str0_concatc(&key,0,"=")) nomem();
    if (critbit0_allprefixed(&blocklive,0,&v,&key,printreg) < 1) nomem();
    if (critbit0_contains(&entries,&n)) {
      printreg_write = 1;
      if (critbit0_allprefixed(&inputregs,0,&v,&empty,printreg) < 1) nomem();
    }
    if (!str0_copy(&key,0,&n)) nomem();
    if (!str0_concatc(&key,0,"<")) nomem();
    if (critbit0_allprefixed(&finalreads,0,&v,&key,printkill) < 1) nomem();
    str0_putline(&outputline);

    if (!str0_copyc(&outputline,0,"op:livefloat80:")) nomem();
    if (!str0_copy(&key,0,&n)) nomem();
    if (!str0_concatc(&key,0,":")) nomem();
    if (critbit0_allprefixed(&float80after,0,&v,&key,printlivevalues) < 1) nomem();
    str0_putline(&outputline);
  }
}