|
@@ -212,7 +212,9 @@ TYPE
|
|
PROCEDURE ^ GetUsage(VAR use: VariableUse);
|
|
PROCEDURE ^ GetUsage(VAR use: VariableUse);
|
|
PROCEDURE ^ SetUsage(CONST use: VariableUse);
|
|
PROCEDURE ^ SetUsage(CONST use: VariableUse);
|
|
PROCEDURE ^ GetVariable(i: LONGINT): SyntaxTree.Variable;
|
|
PROCEDURE ^ GetVariable(i: LONGINT): SyntaxTree.Variable;
|
|
|
|
+ PROCEDURE ^ SetVariable(pos: LONGINT; v: SyntaxTree.Variable);
|
|
PROCEDURE ^ Occupy(pos: LONGINT);
|
|
PROCEDURE ^ Occupy(pos: LONGINT);
|
|
|
|
+ PROCEDURE ^ Occupied(pos: LONGINT): BOOLEAN;
|
|
PROCEDURE ^ AddVariable(v: SyntaxTree.Variable);
|
|
PROCEDURE ^ AddVariable(v: SyntaxTree.Variable);
|
|
PROCEDURE ^ CompatibleType(t1, t2: SyntaxTree.Type): BOOLEAN;
|
|
PROCEDURE ^ CompatibleType(t1, t2: SyntaxTree.Type): BOOLEAN;
|
|
PROCEDURE ^ GetFreeVariable(type: SyntaxTree.Type; untraced: BOOLEAN; VAR pos: LONGINT): SyntaxTree.Variable;
|
|
PROCEDURE ^ GetFreeVariable(type: SyntaxTree.Type; untraced: BOOLEAN; VAR pos: LONGINT): SyntaxTree.Variable;
|
|
@@ -240,6 +242,7 @@ TYPE
|
|
section: IntermediateCode.Section;
|
|
section: IntermediateCode.Section;
|
|
registerUsageCount: RegisterUsageCount;
|
|
registerUsageCount: RegisterUsageCount;
|
|
usedRegisters: RegisterEntry;
|
|
usedRegisters: RegisterEntry;
|
|
|
|
+ temporaries: Variables;
|
|
END;
|
|
END;
|
|
VAR
|
|
VAR
|
|
system: Global.System;
|
|
system: Global.System;
|
|
@@ -267,7 +270,7 @@ TYPE
|
|
registerUsageCount: RegisterUsageCount;
|
|
registerUsageCount: RegisterUsageCount;
|
|
usedRegisters: RegisterEntry;
|
|
usedRegisters: RegisterEntry;
|
|
nil, one, fp, sp, ap, lr, true, false: IntermediateCode.Operand;
|
|
nil, one, fp, sp, ap, lr, true, false: IntermediateCode.Operand;
|
|
- bool, addressType, setType, sizeType, byteType: IntermediateCode.Type;
|
|
|
|
|
|
+ bool, addressType, setType, sizeType, lenType, byteType: IntermediateCode.Type;
|
|
commentPrintout: Printout.Printer;
|
|
commentPrintout: Printout.Printer;
|
|
dump: Streams.Writer;
|
|
dump: Streams.Writer;
|
|
tagsAvailable: BOOLEAN;
|
|
tagsAvailable: BOOLEAN;
|