Regx : module { PATH : con "/dis/o/regx.dis"; NRange : con 10; Range : adt { q0 : int; q1 : int; }; Rangeset : type array of Range; Infinity : con 16r7fffffff; # huge value for regexp address init : fn(d: Oxdat); rxinit : fn(); rxcompile: fn(r : string) : int; rxexecute: fn(t : ref Tblks->Blks, r: string, startp : int, eof : int) : (int, Rangeset); rxbexecute: fn(t : ref Tblks->Blks, startp : int) : (int, Rangeset); isaddrc : fn(r : int) : int; isregexc : fn(r : int) : int; address : fn(t : ref Tblks->Blks, lim : Range, ar : Range, a0 : ref Tblks->Blks, a1 : string, q0 : int, q1 : int, eval : int) : (int, int, Range); };