file: PasVars.mesa
modified by Ramshaw, January 20, 1984 1:51 pm
written by McCreight, September 22, 1980 5:14 PM
Pavel, May 29, 1985 6:51:09 pm PDT
DIRECTORY
Commander USING [Handle],
PasPrivate,
PasPrivateVars,
SafeStorage USING [GetSystemZone];
PasVars: CEDAR PROGRAM IMPORTS SafeStorage EXPORTS PasPrivateVars = PUBLIC
BEGIN OPEN PasPrivate, PasPrivateVars;
Variables
PascalIntegerName: ROPE ← "INT";
PascalRealName: ROPE ← "REAL";
Z: ZONE ← SafeStorage.GetSystemZone[];
commandHandle: Commander.Handle;
ch: CHARACTER;
contextBuffer: REF TEXTZ.NEW[TEXT[contextBufferLength]]; -- initialized by the Scanner
contextBufferIndex: NAT ← 0;
positionInInputFile: INT ← 0;
nameOfInputFile: ROPE ← "commandLine";
sy: Symbol;
op: Operator;
ident: Name ← NIL;
sourceFileSeq: SourceFileSeqPtr; -- the sequence of source files
capitalizeChars: BOOLEANFALSE;
capitalizeStrings: BOOLEANFALSE;
targetLanguage: TargetLanguage ← cedar;
pointerName: ROPE ← "LONG POINTER TO ";
varPointerName: ROPE ← "LONG POINTER TO ";
paramsHaveNames: BOOLEANFALSE;
useVarNamesForFileNames: BOOLEANTRUE;
modularize: BOOLFALSE;
defsModules: IdentifierSetPtr;
implModules: IdentifierSetPtr;
configImports: IdentifierSetPtr;
configExports: IdentifierSetPtr;
segments: IdentifierPtr; -- the procedures mentioned as containing funny arrays
segmentsTail: SegmentIdentifierTailPtr;
config: IdentifierPtr;
configTail: REF config IdentifierTail;
defaultDest: ARRAY ItemType OF DestinationPtr;
initCodeQPtr: OutputQueuePtr;
lexLevel: LexLevel;
display: ARRAY LexLevel OF DisplayEntryPtr;
outLevel: LexLevel ← 0;
outQStk: ARRAY LexLevel OF OutputQueuePtr;
outBuf: REF TEXTZ.NEW[TEXT[outBufMaxLength]];
integer: ScalarTypePtr ← Z.NEW[scalar Type ← [scalar[firstId: NIL, size: 0]]]; -- dummy
real: ScalarTypePtr ← Z.NEW[scalar Type ← [scalar[firstId: NIL, size: 0]]]; -- dummy
string: ScalarTypePtr ← Z.NEW[scalar Type ← [scalar[firstId: NIL, size: 0]]]; -- dummy
char: ScalarTypePtr ← Z.NEW[scalar Type ← [scalar[firstId: NIL, size: 256]]];
boolean: ScalarTypePtr ← Z.NEW[scalar Type ← [scalar[firstId: NIL, size: 2]]];
nil: PointerTypePtr ← Z.NEW[pointer Type←[pointer[elType: NIL]]];
integerId, realId, charId, booleanId, stringId: IdentifierPtr;
maxIntegerId, falseId, trueId, nilId: IdentifierPtr;
END. -- of PasVars --