Charles.Forsyth20060303a828770d19 years agoHistory
70 lines · 999 B · Brainfuck
RawDownload
implement Irtest; include "sys.m";	sys: Sys;include "draw.m";include "ir.m";	ir: Ir; Irtest: module{	init:	fn(nil: ref Draw->Context, argv: list of string);}; stderr: ref Sys->FD; init(nil: ref Draw->Context, nil: list of string){	x := chan of int;	p := chan of int; 	sys = load Sys Sys->PATH;	stderr = sys->fildes(2); 	ir = load Ir Ir->PATH;	if(ir == nil)		ir = load Ir Ir->SIMPATH;	if(ir == nil) {		sys->fprint(stderr, "load ir: %r\n");		return;	} 	if(ir->init(x,p) != 0) {		sys->fprint(stderr, "Ir->init: %r\n");		return;	}	<-p; 	names := array[] of {		"Zero",		"One",		"Two",		"Three",		"Four",		"Five",		"Six",		"Seven",		"Eight",		"Nine",		"ChanUP",		"ChanDN",		"VolUP",		"VolDN",		"FF",		"Rew",		"Up",		"Dn",		"Select",		"Power",	}; 	while((c := <-x) != Ir->EOF){		c = ir->translate(c);		if(c == ir->Error)			sys->print("Error\n");		else if(c >= len names)			sys->print("unknown %d\n", c);		else			sys->print("%s\n", names[c]);	}	}