1implement Tokenize; 2 3include "sys.m"; 4 sys: Sys; 5 6include "draw.m"; 7 8Tokenize: module 9{ 10 init: fn(nil: ref Draw->Context, nil: list of string); 11}; 12 13stderr: ref Sys->FD; 14 15usage() 16{ 17 sys->fprint(stderr, "Usage: tokenize string delimiters\n"); 18 raise "fail: usage"; 19} 20 21init(nil: ref Draw->Context, args : list of string) 22{ 23 sys = load Sys Sys->PATH; 24 stderr = sys->fildes(2); 25 26 if(args != nil) 27 args = tl args; 28 if(len args != 2) 29 usage(); 30 (nil, l) := sys->tokenize(hd args, hd tl args); 31 for(; l != nil; l = tl l) 32 sys->print("%s\n", hd l); 33} 34