(* Copyright (C) 1989, Digital Equipment Corporation *) (* All rights reserved. *) (* See the file COPYRIGHT for a full description. *) (* File: Scanner.i3 *) (* Last modified on Tue Jun 27 14:45:22 1989 by kalsow *) INTERFACE Scanner; IMPORT Token, Rd, String, Text; TYPE Symbol = RECORD token : Token.T; string : String.T; value : INTEGER; offset : INTEGER; END; VAR cur : Symbol; (* READONLY *) offset : INTEGER; PROCEDURE Match (t: Token.T; READONLY a, b: Token.Set); PROCEDURE MatchID (READONLY a, b: Token.Set): String.T; PROCEDURE GetToken (); PROCEDURE Fail (msg: Text.T; READONLY stop: Token.Set); PROCEDURE Here (VAR file: String.T; VAR line: INTEGER); PROCEDURE Push (name: String.T; file: Rd.T); PROCEDURE Pop (); PROCEDURE Initialize (); END Scanner.