DEFINITION CRS; (* portable *)

 IMPORT Texts;

 TYPE
  ErrorProc = PROCEDURE (n: INTEGER; pos: LONGINT);

 VAR 
  src: Texts.Text;
  pos: LONGINT;
  line, col, len: INTEGER;
  nextPos: LONGINT;
  nextLine, nextCol, nextLen: INTEGER;
  errors: INTEGER;
  Error: ErrorProc;
 PROCEDURE Get (VAR sym: INTEGER);
 PROCEDURE GetName (pos: LONGINT; len: INTEGER; VAR s: ARRAY OF CHAR);
 PROCEDURE StdErrorProc (n: INTEGER; pos: LONGINT);
 PROCEDURE Reset (t: Texts.Text; pos: LONGINT; errProc: ErrorProc);

END CRS.