DEFINITION MODULE PL0SCA;

IMPORT FIO;

CONST
  out = FIO.StandardOutput;
  err = FIO.ErrorOutput;

TYPE
  TSymbol = (
    null, odd, times, div, plus, minus,
    eql, neq, lss, leq, gtr, geq,
    comma, rparen, then, do, lparen,
    becomes, number, ident, semicolon, end,
    call, if, while, begin, read, write,
    const, var, procedure, period, eof
  );

VAR
  sym: TSymbol;        (* last symbol read *)
  id : CARDINAL;       (* last string read (+write index)*)
  num: CARDINAL;       (* last number read *)
  src: FIO.File;

PROCEDURE Diff( u,v: CARDINAL ): INTEGER;
PROCEDURE KeepId();
PROCEDURE Mark( n: CARDINAL );
PROCEDURE GetSym();
PROCEDURE Init();
PROCEDURE Close();

(* debugging *)
PROCEDURE WrId( f: FIO.File );

END PL0SCA.
