(* tab p; *) function printable(ch : char) : boolean; begin if ch in (.' '..'~'.) then printable := true else printable := false end; function nextch(line_image : line;var count : integer) : char; begin nextch := line_image(.count.); count := count + 1; end; procedure get_line(var line_image : line;var count : integer); var ch : char; index : integer; begin index := 1; repeat ch := inbt(log_unit); line_image(.index.) := ch; index := index +1; until ch = chr(lf); count := 1; end; procedure skip_until_number(var line_image: line;var count : integer); begin repeat get_line(line_image,count); until line_image(.1.) in (.'0'..'9'.); end; procedure print_line(line_image : line); var index : integer; ch : char; begin index := 1; repeat ch := line_image(.index.); outbt(1,ch); index := index +1; until ch = chr(lf); end; procedure back_wind(line_image : line;var count : integer); begin count := count - 1; if count = 0 then halt('ERROR : not possible to backwind 1'); end;