-- file: TexInteraction.mesa
-- Pascal-to-Mesa translator output, translated at September 27, 1985 10:21:36 am PDT


DIRECTORY
  PascalBasic,
  PascalWizardFiles,
  TexTypes;

TexInteraction: DEFINITIONS IMPORTS  =
BEGIN OPEN PascalBasic, PascalWizardFiles, TexTypes;
Xord: LONG POINTER TO ARRAY PascalChar OF  AsciiCode;
Xchr: LONG POINTER TO ARRAY AsciiCode OF  PascalChar;
NameOfFile: LONG POINTER TO  PACKED ARRAY PascalInteger[1..FileNameSize] OF  PascalChar;

NameLength: PascalInteger[0..FileNameSize];
Buffer: LONG POINTER TO ARRAY PascalInteger[0..BufSize] OF  AsciiCode;

First: PascalInteger[0..BufSize];

Last: PascalInteger[0..BufSize];

MaxBufStack: PascalInteger[0..BufSize];

TermIn: AlphaFile;

TermOut: AlphaFile;
StrPool: LONG POINTER TO  PACKED ARRAY PoolPointer OF  AsciiCode;
StrStart: LONG POINTER TO ARRAY StrNumber OF  PoolPointer;

PoolPtr: PoolPointer;

StrPtr: StrNumber;

PoolFile: AlphaFile;

LogFile: AlphaFile;

Selector: PascalInteger[0..21];
Dig: LONG POINTER TO ARRAY PascalInteger[0..22] OF  PascalInteger[0..15];

Tally: PascalInteger;

TermOffset: PascalInteger[0..MaxPrintLine];

FileOffset: PascalInteger[0..MaxPrintLine];
TrickBuf: LONG POINTER TO ARRAY PascalInteger[0..ErrorLine] OF  AsciiCode;

TrickCount: PascalInteger;

FirstCount: PascalInteger;

Interaction: PascalInteger[0..3];

DeletionsAllowed: PascalBoolean;

ErrorCount: PascalInteger[-1..100];
HelpLine: LONG POINTER TO ARRAY PascalInteger[0..5] OF  StrNumber;

HelpPtr: PascalInteger[0..6];

Interrupt: PascalInteger;

OkToInterrupt: PascalBoolean;

ArithError: PascalBoolean;

Remainder: Scaled;

TempPtr: Halfword;

TexArea: StrNumber;

TexFontArea: StrNumber;

 PrintLn: PROCEDURE
;

 PrintChar: PROCEDURE[S: AsciiCode];

--:58----59:-- Print: PROCEDURE[S: PascalInteger];

 SlowPrint: PROCEDURE[S: PascalInteger];

--:60----62:-- PrintNl: PROCEDURE[S: StrNumber]
;

 PrintEsc: PROCEDURE[S: StrNumber];

 PrintDigs: PROCEDURE[K: EightBits]
;

 PrintInt: PROCEDURE[N: PascalInteger];

--:78----81:-- JumpOut: PROCEDURE
;

 Error: PROCEDURE;

 FatalError: PROCEDURE[S: StrNumber];

 Overflow: PROCEDURE[S: StrNumber,N: PascalInteger];

 Confusion: PROCEDURE[S: StrNumber];

--:28----31:
 InputLn: PROCEDURE[ F: LONG POINTER TO AlphaFile,BypassEoln: PascalBoolean] RETURNS[InputLnResult: PascalBoolean]
;

--:37----43:-- MakeString: PROCEDURE RETURNS[MakeStringResult: StrNumber]
;

 StrEqBuf: PROCEDURE[S: StrNumber,K: PascalInteger] RETURNS[StrEqBufResult: PascalBoolean]
;

 StrEqStr: PROCEDURE[S,T: StrNumber] RETURNS[StrEqStrResult: PascalBoolean];

 PrintTwo: PROCEDURE[N: PascalInteger];

 PrintHex: PROCEDURE[N: PascalInteger];

--:67----68:-- PrintAscii: PROCEDURE[C: PascalInteger]
;

--69:-- PrintRomanInt: PROCEDURE[N: PascalInteger];

--70:-- PrintCurrentString: PROCEDURE;


 TermInput: PROCEDURE;

 IntError: PROCEDURE[N: PascalInteger]
;

 PauseForInstructions: PROCEDURE
;

 Half: PROCEDURE[X: PascalInteger] RETURNS[HalfResult: PascalInteger]
;

 RoundDecimals: PROCEDURE[K: SmallNumber] RETURNS[RoundDecimalsResult: Scaled];

 PrintScaled: PROCEDURE[S: Scaled];

 NxPlusY: PROCEDURE[N: PascalInteger,
X,Y: Scaled] RETURNS[NxPlusYResult: Scaled];

 XOverN: PROCEDURE[X: Scaled,
N: PascalInteger] RETURNS[XOverNResult: Scaled];

 XnOverD: PROCEDURE[X: Scaled,N,D: PascalInteger] RETURNS[XnOverDResult: Scaled];

 Badness: PROCEDURE[T,S: Scaled] RETURNS[BadnessResult: Halfword];

 PrintWord: PROCEDURE[W: MemoryWord]
;

 GetToken: PROCEDURE;

END.