-- file: WeaveVarsImpl2.mesa
-- Pascal-to-Mesa translator output, translated at September 15, 1985 4:11:16 pm PDT


DIRECTORY
  PascalBasic,
  PascalWizardFiles,
  WeaveVars;

WeaveVarsImpl2: PROGRAM IMPORTS PascalBasic EXPORTS WeaveVars = PUBLIC
BEGIN OPEN PascalBasic, PascalWizardFiles, WeaveVars;
--:39----45:

ModuleCount: PascalInteger[0..MaxModules];

ChangedModule: LONG POINTER TO PACKED ARRAY PascalInteger[0..2000] OF PascalBoolean ← PascalStaticZone.NEW[PACKED ARRAY PascalInteger[0..2000] OF PascalBoolean];


ChangeExists: PascalBoolean;


XrefPtr: XrefNumber;

XrefSwitch: PascalInteger[0..10240];

ModXrefSwitch: PascalInteger[0..10240];
--:49----54:
TokMem: LONG POINTER TO PACKED ARRAY PascalInteger[0..20000] OF SixteenBits ← PascalStaticZone.NEW[PACKED ARRAY PascalInteger[0..20000] OF SixteenBits];

TokStart: LONG POINTER TO ARRAY TextPointer OF SixteenBits ← PascalStaticZone.NEW[ARRAY TextPointer OF SixteenBits];

TextPtr: TextPointer;


TokPtr: PascalInteger[0..MaxToks];
--MAX←TOK←PTR,MAX←TXT←PTR:0..MAX←TOKS;----:54----56:

IdFirst: PascalInteger[0..LongBufSize];

IdLoc: PascalInteger[0..LongBufSize];

Hash: LONG POINTER TO ARRAY PascalInteger[0..353] OF SixteenBits ← PascalStaticZone.NEW[ARRAY PascalInteger[0..353] OF SixteenBits];
--:56----64:--
CurName: NamePointer;

--:64----66:--ModText: LONG POINTER TO ARRAY PascalInteger[0..400] OF AsciiCode ← PascalStaticZone.NEW[ARRAY PascalInteger[0..400] OF AsciiCode];
--:66----72:

Line: PascalInteger;

OtherLine: PascalInteger;

TempLine: PascalInteger;


Limit: PascalInteger[0..LongBufSize];

Loc: PascalInteger[0..LongBufSize];

InputHasEnded: PascalBoolean;


Changing: PascalBoolean;
--:72----74:
ChangeBuffer: LONG POINTER TO ARRAY PascalInteger[0..5000] OF AsciiCode ← PascalStaticZone.NEW[ARRAY PascalInteger[0..5000] OF AsciiCode];

ChangeLimit: PascalInteger[0..BufSize];

--:74----94:--
CurModule: NamePointer;

ScanningHex: PascalBoolean;
--:94----109:

NextControl: EightBits;
--:109----115:--
Lhs: NamePointer;

Rhs: NamePointer;
--:115----119:

CurXref: XrefNumber;
--:119----122:
OutBuf: LONG POINTER TO ARRAY PascalInteger[0..80] OF AsciiCode ← PascalStaticZone.NEW[ARRAY PascalInteger[0..80] OF AsciiCode];

OutPtr: PascalInteger[0..LineLength];


OutLine: PascalInteger;
--:122----130:--Dig: LONG POINTER TO ARRAY PascalInteger[0..4] OF PascalInteger[0..9] ← PascalStaticZone.NEW[ARRAY PascalInteger[0..4] OF PascalInteger[0..9]];
--:130----145:
Cat: LONG POINTER TO ARRAY PascalInteger[0..1000] OF EightBits ← PascalStaticZone.NEW[ARRAY PascalInteger[0..1000] OF EightBits];

Trans: LONG POINTER TO ARRAY PascalInteger[0..1000] OF PascalInteger[0..10239] ← PascalStaticZone.NEW[ARRAY PascalInteger[0..1000] OF PascalInteger[0..10239]];

Pp: PascalInteger[0..MaxScraps];


ScrapBase: PascalInteger[0..MaxScraps];

ScrapPtr: PascalInteger[0..MaxScraps];

LoPtr: PascalInteger[0..MaxScraps];


HiPtr: PascalInteger[0..MaxScraps];
--MAX←SCR←PTR:0..MAX←SCRAPS;----:145----178:
--TRACING:0..2;----:178----203:--
CurState: OutputState;

Stack: LONG POINTER TO ARRAY PascalInteger[1..200] OF OutputState ← PascalStaticZone.NEW[ARRAY PascalInteger[1..200] OF OutputState];

StackPtr: PascalInteger[0..StackSize];

--MAX←STACK←PTR:0..STACK←SIZE;----:203----220:--
SaveLine: PascalInteger;


SavePlace: SixteenBits;
--:220----230:--
ThisModule: NamePointer;
--:230
--235:--
NextXref: XrefNumber;

ThisXref: XrefNumber;

FirstXref: XrefNumber;

MidXref: XrefNumber;
--:235----241:

KModule: PascalInteger[0..MaxModules];
--:241----243:
Bucket: LONG POINTER TO ARRAY AsciiCode OF NamePointer ← PascalStaticZone.NEW[ARRAY AsciiCode OF NamePointer];

NextName: NamePointer;


C: AsciiCode;

H: PascalInteger[0..HashSize];
Blink: LONG POINTER TO ARRAY PascalInteger[0..5000] OF SixteenBits ← PascalStaticZone.NEW[ARRAY PascalInteger[0..5000] OF SixteenBits];

--:243----245:--
CurDepth: EightBits;

CurByte: PascalInteger[0..MaxBytes];

CurBank: PascalInteger[0..1];


CurVal: SixteenBits;
--MAX←SORT←PTR:0..MAX←SCRAPS;----:245----247:
Collate: LONG POINTER TO ARRAY PascalInteger[0..100] OF AsciiCode ← PascalStaticZone.NEW[ARRAY PascalInteger[0..100] OF AsciiCode];

END.