Browse Source

Unified spelling

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@8513 8c9fc860-2736-0410-a75d-ab315db34111
negelef 6 years ago
parent
commit
bb1f91b67a

+ 1 - 1
source/Fox.Tool

@@ -15,7 +15,7 @@ Compiler.Compile --noInterfaceCheck
 
 	BitSets.Mod ObjectFile.Mod GenericLinker.Mod Linker.Mod
 	FoxBasic.Mod  FoxProgTools.Mod  FoxScanner.Mod FoxCSharpScanner.Mod FoxSyntaxTree.Mod FoxGlobal.Mod
-	FoxFormats.Mod 	FoxFingerPrinter.Mod FoxPrintout.Mod
+	FoxFormats.Mod 	FoxFingerprinter.Mod FoxPrintout.Mod
 	FoxParser.Mod FoxCSharpParser.Mod  FoxSemanticChecker.Mod
 	FoxBackend.Mod FoxSections.Mod 
 	FoxFrontend.Mod 

+ 69 - 69
source/FoxFingerPrinter.Mod → source/FoxFingerprinter.Mod

@@ -1,10 +1,10 @@
-MODULE FoxFingerPrinter; (** AUTHOR "fof"; PURPOSE "FingerPrinting"; *)
+MODULE FoxFingerprinter; (** AUTHOR "fof"; PURPOSE "Fingerprinting"; *)
 (* literature for the fingerprinting: Dissertation Crelier *)
 
 IMPORT SyntaxTree := FoxSyntaxTree, Basic := FoxBasic, SYSTEM, Global := FoxGlobal,Scanner := FoxScanner,
 		D := Debugging, Streams;
 
-(** FingerPrinting
+(** Fingerprinting
 	FP(TypeDeclaration)        = 0 <*> fpModeType -> Name -> Visibility <*> FP(Type).
 	FP(ConstantDeclaration)    = 0 <*> fpModeConstant -> Name -> Visibility <*> FP(Type) -> Basic -> Value.
 	FP(VariableDeclaration)    = 0 <*> fpModePar -> Name -> Visibility <*> FP(Type).
@@ -61,7 +61,7 @@ IMPORT SyntaxTree := FoxSyntaxTree, Basic := FoxBasic, SYSTEM, Global := FoxGlob
 
 
 CONST
-	(*FingerPrints/Obj Modes*)
+	(*Fingerprints/Obj Modes*)
 	fpModeVar=1;
 	fpModePar=1;
 	fpModeVarPar=2;
@@ -73,7 +73,7 @@ CONST
 	fpModeInlineProcedure=9;
 	fpModeMethod=13;
 
-	(*FingerPrints/Type Forms*)
+	(*Fingerprints/Type Forms*)
 	fpTypeByte = 1;
 	fpTypeBoolean=2;
 	fpTypeChar8=3;
@@ -129,20 +129,20 @@ CONST
 	Trace=FALSE;
 
 TYPE
-	FingerPrint = SyntaxTree.FingerPrint;
+	Fingerprint = SyntaxTree.Fingerprint;
 
-	FingerPrinter*= OBJECT (SyntaxTree.Visitor)
+	Fingerprinter*= OBJECT (SyntaxTree.Visitor)
 	VAR
 		fp-: LONGINT; (* temporary fingerprint for values etc. *)
-		fingerprint: FingerPrint;
+		fingerprint: Fingerprint;
 		deep: BOOLEAN; (* public / private field of FP needed ? *)
 		traceLevel: LONGINT;
 
 		level: LONGINT;
 
-		PROCEDURE & InitFingerPrinter*();
+		PROCEDURE & InitFingerprinter*();
 		BEGIN fp:= 0; deep := FALSE; traceLevel := 0;
-		END InitFingerPrinter;
+		END InitFingerprinter;
 		(** types *)
 
 		(*
@@ -156,7 +156,7 @@ TYPE
 		END VisitBasicType;
 
 		PROCEDURE SetTypeFingerprint(x: SyntaxTree.Type; fp: LONGINT);
-		VAR fingerprint: FingerPrint;
+		VAR fingerprint: Fingerprint;
 		BEGIN
 			fingerprint := x.fingerprint;
 			IF ~fingerprint.shallowAvailable THEN
@@ -165,7 +165,7 @@ TYPE
 				fingerprint.private := fp;
 				fingerprint.shallowAvailable := TRUE;
 				fingerprint.deepAvailable := TRUE; (* no distinction between deep and shallow fp necessary *)
-				x.SetFingerPrint(fingerprint);
+				x.SetFingerprint(fingerprint);
 			END;
 			SELF.fingerprint := fingerprint;
 		END SetTypeFingerprint;
@@ -280,7 +280,7 @@ TYPE
 			fp enumeration type
 		**)
 		PROCEDURE VisitEnumerationType*(x: SyntaxTree.EnumerationType);
-		VAR fingerprint: FingerPrint; enumerator: SyntaxTree.Constant; fp: LONGINT;
+		VAR fingerprint: Fingerprint; enumerator: SyntaxTree.Constant; fp: LONGINT;
 		BEGIN
 			fingerprint := x.fingerprint;
 
@@ -302,7 +302,7 @@ TYPE
 				fingerprint.private := fingerprint.shallow;
 				fingerprint.shallowAvailable := TRUE;
 				fingerprint.deepAvailable := TRUE; (* no distinction between deep and shallow fp necessary *)
-				x.SetFingerPrint(fingerprint);
+				x.SetFingerprint(fingerprint);
 			END;
 
 			SELF.fingerprint := fingerprint
@@ -334,7 +334,7 @@ TYPE
 		PrivateFP(ArrayType)       = FP(arrayType).
 		*)
 		PROCEDURE VisitArrayType*(x: SyntaxTree.ArrayType);
-		VAR fingerprint: FingerPrint; deep: BOOLEAN; fp: LONGINT;
+		VAR fingerprint: Fingerprint; deep: BOOLEAN; fp: LONGINT;
 		BEGIN
 			IF Trace THEN TraceEnter("ArrayType") END;
 			fingerprint := x.fingerprint;
@@ -352,14 +352,14 @@ TYPE
 				END;
 				TypeName(fp,x);
 				fingerprint.shallow := fp;
-				x.SetFingerPrint(fingerprint);
+				x.SetFingerprint(fingerprint);
 				FPType(fp,x.arrayBase.resolved);
 
 				IF x.form = SyntaxTree.Static THEN FPNumber(fp,x.staticLength) END;
 				fingerprint.shallow := fp;
 				fingerprint.public := fingerprint.shallow;
 				fingerprint.private := fingerprint.shallow;
-				x.SetFingerPrint(fingerprint);
+				x.SetFingerprint(fingerprint);
 				SELF.deep := deep;
 			END;
 
@@ -367,7 +367,7 @@ TYPE
 				fingerprint.private := fingerprint.shallow;
 				fingerprint.public := fingerprint.shallow;
 				fingerprint.deepAvailable := TRUE; (* to avoid circles during base finger printing *)
-				x.SetFingerPrint(fingerprint);
+				x.SetFingerprint(fingerprint);
 				VType(x.arrayBase); (* make sure that base pointer is also deeply fped *)
 			END;
 
@@ -383,7 +383,7 @@ TYPE
 		PrivateFP(MathArrayType)   = FP(arrayType).
 		*)
 		PROCEDURE VisitMathArrayType*(x: SyntaxTree.MathArrayType);
-		VAR fingerprint: FingerPrint; deep: BOOLEAN; fp: LONGINT;
+		VAR fingerprint: Fingerprint; deep: BOOLEAN; fp: LONGINT;
 		BEGIN
 			fingerprint := x.fingerprint;
 			deep := SELF.deep;
@@ -409,7 +409,7 @@ TYPE
 				fingerprint.public := fingerprint.shallow;
 				fingerprint.private := fingerprint.shallow;
 				fingerprint.shallowAvailable := TRUE;
-				x.SetFingerPrint(fingerprint);
+				x.SetFingerprint(fingerprint);
 				SELF.deep := deep;
 			END;
 
@@ -418,7 +418,7 @@ TYPE
 				fingerprint.private := fingerprint.shallow;
 				fingerprint.public := fingerprint.shallow;
 				fingerprint.deepAvailable := TRUE;
-				x.SetFingerPrint(fingerprint);
+				x.SetFingerprint(fingerprint);
 			END;
 
 			IF Trace THEN TraceExit("MathArrayType",fingerprint) END;
@@ -508,7 +508,7 @@ TYPE
 					fingerprint.deepAvailable := TRUE;
 				END;
 				*)
-				x.SetFingerPrint(fingerprint);
+				x.SetFingerprint(fingerprint);
 				SELF.deep := deep;
 			END;
 			
@@ -524,7 +524,7 @@ TYPE
 		PrivateFP(PortType)     = 0.
 		*)
 		PROCEDURE VisitPortType*(x: SyntaxTree.PortType);
-		VAR fingerprint: FingerPrint; fp: LONGINT; deep: BOOLEAN;
+		VAR fingerprint: Fingerprint; fp: LONGINT; deep: BOOLEAN;
 		BEGIN
 			IF Trace THEN TraceEnter("PortType");  END;
 			fingerprint := x.fingerprint;
@@ -553,7 +553,7 @@ TYPE
 		FP(Method)  = 0 <*> fpModeMethod -> Name(methodName) -> Signature(method).
 		*)
 		PROCEDURE FPrintMethod(VAR private,public: LONGINT; procedure,body: SyntaxTree.Procedure);
-		VAR fingerprint: FingerPrint; fp: LONGINT; name: ARRAY 256 OF CHAR;
+		VAR fingerprint: Fingerprint; fp: LONGINT; name: ARRAY 256 OF CHAR;
 		BEGIN
 			IF Trace THEN TraceEnter("Method");
 				D.Address(SYSTEM.VAL(ADDRESS,procedure));
@@ -572,7 +572,7 @@ TYPE
 				fingerprint.public := fingerprint.shallow;
 				fingerprint.private := fingerprint.shallow;
 				fingerprint.shallowAvailable := TRUE;
-				procedure.SetFingerPrint(fingerprint)
+				procedure.SetFingerprint(fingerprint)
 			ELSE
 				fp := fingerprint.shallow;
 			END;
@@ -591,7 +591,7 @@ TYPE
 		END FPrintMethod;
 
 		PROCEDURE VisitCellType*(x: SyntaxTree.CellType);
-		VAR fingerprint: FingerPrint; fp:LONGINT;
+		VAR fingerprint: Fingerprint; fp:LONGINT;
 		BEGIN
 			fingerprint := x.fingerprint;
 			deep := SELF.deep;
@@ -603,7 +603,7 @@ TYPE
 				fingerprint.private := fp;
 				fingerprint.deepAvailable := TRUE;
 				fingerprint.shallowAvailable := TRUE;
-				x.SetFingerPrint(fingerprint);
+				x.SetFingerprint(fingerprint);
 			END;
 			SELF.fingerprint := fingerprint
 		END VisitCellType;
@@ -618,7 +618,7 @@ TYPE
 		*)
 		PROCEDURE VisitRecordType*(x: SyntaxTree.RecordType);
 		VAR scope: SyntaxTree.RecordScope; fp: LONGINT; variable: SyntaxTree.Variable;
-			fingerprint,variableFingerPrint,variableTypeFingerPrint,baseFingerPrint: FingerPrint;flags: SET;
+			fingerprint,variableFingerprint,variableTypeFingerprint,baseFingerprint: Fingerprint;flags: SET;
 			symbol: SyntaxTree.Symbol; procedure: SyntaxTree.Procedure;  baseType: SyntaxTree.Type;
 			body: SyntaxTree.Body; name: ARRAY 256 OF CHAR;
 			deep: BOOLEAN;
@@ -663,7 +663,7 @@ TYPE
 				fingerprint.private := fingerprint.shallow;
 				fingerprint.shallowAvailable := TRUE;
 
-				x.SetFingerPrint(fingerprint);
+				x.SetFingerprint(fingerprint);
 				SELF.deep := deep;
 				IF Trace THEN TraceIndent; D.Str("RecordType Shallow Done "); TraceFP(fingerprint); D.Ln;  END;
 			END;
@@ -679,9 +679,9 @@ TYPE
 				baseType := x.GetBaseRecord();
 				IF  (baseType # NIL) THEN
 					IF baseType IS SyntaxTree.PointerType THEN baseType := baseType(SyntaxTree.PointerType).pointerBase.resolved END;
-					baseFingerPrint := TypeFP(baseType); (* deep finger print *)
-					FPNumber(fingerprint.private,baseFingerPrint.private);
-					FPNumber(fingerprint.public,baseFingerPrint.public);
+					baseFingerprint := TypeFP(baseType); (* deep finger print *)
+					FPNumber(fingerprint.private,baseFingerprint.private);
+					FPNumber(fingerprint.public,baseFingerprint.public);
 				END;
 
 				scope := x.recordScope;
@@ -701,7 +701,7 @@ TYPE
 
 				variable := scope.firstVariable;
 				WHILE variable # NIL DO
-					variableFingerPrint := variable.fingerprint;
+					variableFingerprint := variable.fingerprint;
 					IF variable.access * SyntaxTree.Public # {} THEN
 						(* variable fp =  & fpModeField & Name & Visibility [& fpUntraced] & Type *)
 						fp := 0;
@@ -710,13 +710,13 @@ TYPE
 
 						FPVisibility(fp,variable.access);
 						IF variable.untraced THEN FPNumber(fp,fpUntraced) END;
-						variableTypeFingerPrint := TypeFP(variable.type); (* deep finger print *)
-						FPNumber(fp,variableTypeFingerPrint.shallow);
-						variableFingerPrint.shallow := fp;
-						FPNumber(fingerprint.private,variableTypeFingerPrint.private);
+						variableTypeFingerprint := TypeFP(variable.type); (* deep finger print *)
+						FPNumber(fp,variableTypeFingerprint.shallow);
+						variableFingerprint.shallow := fp;
+						FPNumber(fingerprint.private,variableTypeFingerprint.private);
 						FPNumber(fingerprint.private,SHORT(variable.offsetInBits DIV 8));
 						FPNumber(fingerprint.private,fp);
-						FPNumber(fingerprint.public,variableTypeFingerPrint.public);
+						FPNumber(fingerprint.public,variableTypeFingerprint.public);
 						FPNumber(fingerprint.public,SHORT(variable.offsetInBits DIV 8));
 						FPNumber(fingerprint.public,fp);
 						IF Trace THEN TraceIndent; D.Str("RecordType Field "); D.Str0(variable.name); D.Str(" "); TraceFP(fingerprint); D.Ln; END;
@@ -750,7 +750,7 @@ TYPE
 				ASSERT(fingerprint.public # 0,101);
 				*)
 				fingerprint.deepAvailable := TRUE;
-				x.SetFingerPrint(fingerprint);
+				x.SetFingerprint(fingerprint);
 			END;
 
 			SELF.fingerprint := fingerprint;
@@ -765,7 +765,7 @@ TYPE
 		PrivateFP(ProcedureType)   = FP(arrayType)-> Signature(procedureType).
 		*)
 		PROCEDURE VisitProcedureType*(x: SyntaxTree.ProcedureType);
-		VAR fingerprint: FingerPrint; deep: BOOLEAN; fp: LONGINT;
+		VAR fingerprint: Fingerprint; deep: BOOLEAN; fp: LONGINT;
 		BEGIN
 			IF Trace THEN TraceEnter("ProcedureType") END;
 
@@ -778,7 +778,7 @@ TYPE
 				FPNumber(fp,fpTypeProcedure);
 				FPNumber(fp,fpTypeBasic);
 				IF x.isDelegate THEN FPNumber(fp,fpDelegate) END;
-				x.SetFingerPrint(fingerprint);
+				x.SetFingerprint(fingerprint);
 				TypeName(fp,x);
 
 				fingerprint.public := fp; fingerprint.private := fp;
@@ -787,7 +787,7 @@ TYPE
 				fingerprint.public := fp; fingerprint.private := fp;
 				fingerprint.shallow := fp;
 				fingerprint.deepAvailable := TRUE;
-				x.SetFingerPrint(fingerprint);
+				x.SetFingerprint(fingerprint);
 			END;
 
 			(*
@@ -980,8 +980,8 @@ TYPE
 		*)
 		PROCEDURE VisitTypeDeclaration*(x: SyntaxTree.TypeDeclaration);
 		VAR fp: LONGINT;
-			fingerprint: FingerPrint; deep: BOOLEAN;
-			typeFP: FingerPrint;
+			fingerprint: Fingerprint; deep: BOOLEAN;
+			typeFP: Fingerprint;
 		BEGIN
 			fingerprint := x.fingerprint;
 
@@ -1000,7 +1000,7 @@ TYPE
 				fingerprint.public := fp;
 				fingerprint.private := fp;
 				fingerprint.shallowAvailable := TRUE;
-				x.SetFingerPrint(fingerprint);
+				x.SetFingerprint(fingerprint);
 				SELF.deep := deep;
 				IF Trace THEN TraceExit("TypeDeclaration",fingerprint) END;
 			END;
@@ -1014,7 +1014,7 @@ TYPE
 				FPNumber(fingerprint.public, typeFP.public);
 				FPNumber(fingerprint.private, typeFP.private);
 				fingerprint.deepAvailable := TRUE;
-				x.SetFingerPrint(fingerprint);
+				x.SetFingerprint(fingerprint);
 			END;
 
 			SELF.fingerprint := fingerprint
@@ -1025,7 +1025,7 @@ TYPE
 		*)
 		PROCEDURE VisitConstant*(x: SyntaxTree.Constant);
 		VAR access: SET;
-			fingerprint: FingerPrint;
+			fingerprint: Fingerprint;
 			fp: LONGINT;
 			deep: BOOLEAN;
 		BEGIN
@@ -1047,7 +1047,7 @@ TYPE
 				fingerprint.public := fingerprint.shallow;
 				fingerprint.private := fingerprint.shallow;
 				fingerprint.shallowAvailable := TRUE;
-				x.SetFingerPrint(fingerprint);
+				x.SetFingerprint(fingerprint);
 				SELF.deep := deep;
 			END;
 			SELF.fingerprint := fingerprint
@@ -1057,7 +1057,7 @@ TYPE
 			FP(VariableDeclaration)    = 0 <*> fpModePar -> Name -> Visibility <*> FP(Type).
 		*)
 		PROCEDURE VisitVariable*(x: SyntaxTree.Variable);
-		VAR fingerprint: FingerPrint; deep: BOOLEAN; name: SyntaxTree.IdentifierString;
+		VAR fingerprint: Fingerprint; deep: BOOLEAN; name: SyntaxTree.IdentifierString;
 		BEGIN
 			fingerprint := x.fingerprint;
 
@@ -1075,7 +1075,7 @@ TYPE
 				fingerprint.public := fingerprint.shallow;
 				fingerprint.private := fingerprint.shallow;
 				fingerprint.shallowAvailable := TRUE;
-				x.SetFingerPrint(fingerprint);
+				x.SetFingerprint(fingerprint);
 				SELF.deep := deep;
 			END;
 			SELF.fingerprint := fingerprint
@@ -1091,7 +1091,7 @@ TYPE
 			FP(ParameterDeclaration)    = 0 <*> fpModePar -> Name -> Visibility <*> FP(Type).
 		*)
 		PROCEDURE VisitParameter*(x: SyntaxTree.Parameter);
-		VAR fingerprint: FingerPrint; deep: BOOLEAN; name: SyntaxTree.IdentifierString;
+		VAR fingerprint: Fingerprint; deep: BOOLEAN; name: SyntaxTree.IdentifierString;
 		BEGIN
 			fingerprint := x.fingerprint;
 
@@ -1109,7 +1109,7 @@ TYPE
 				fingerprint.public := fingerprint.shallow;
 				fingerprint.private := fingerprint.shallow;
 				fingerprint.shallowAvailable := TRUE;
-				x.SetFingerPrint(fingerprint);
+				x.SetFingerprint(fingerprint);
 				SELF.deep := deep;
 			END;
 			SELF.fingerprint := fingerprint
@@ -1120,7 +1120,7 @@ TYPE
 		                            | 0 <*> fpModeExportedProcedure -> Name -> Visibility <*> FP(Type)
 		*)
 		PROCEDURE VisitProcedure*(x: SyntaxTree.Procedure);
-		VAR fp: LONGINT; access: SET; fingerprint: FingerPrint; deep: BOOLEAN; code: SyntaxTree.Code; i: LONGINT;
+		VAR fp: LONGINT; access: SET; fingerprint: Fingerprint; deep: BOOLEAN; code: SyntaxTree.Code; i: LONGINT;
 			size,value: LONGINT; name: ARRAY 256 OF CHAR;
 		BEGIN
 			IF x.scope IS SyntaxTree.RecordScope THEN (* method *)
@@ -1163,7 +1163,7 @@ TYPE
 					fingerprint.public := fingerprint.shallow;
 					fingerprint.private := fingerprint.shallow;
 					fingerprint.shallowAvailable := TRUE;
-					x.SetFingerPrint(fingerprint);
+					x.SetFingerprint(fingerprint);
 					SELF.deep := deep;
 				END;
 			END;
@@ -1177,7 +1177,7 @@ TYPE
 		END VisitOperator;
 		
 		PROCEDURE VisitModule*(x: SyntaxTree.Module);
-		VAR fingerprint, symbolFingerPrint: FingerPrint; deep: BOOLEAN; fp: LONGINT; symbol: SyntaxTree.Symbol; scope: SyntaxTree.ModuleScope;
+		VAR fingerprint, symbolFingerprint: Fingerprint; deep: BOOLEAN; fp: LONGINT; symbol: SyntaxTree.Symbol; scope: SyntaxTree.ModuleScope;
 		BEGIN
 			fingerprint := x.fingerprint;
 			deep := SELF.deep;
@@ -1197,7 +1197,7 @@ TYPE
 				fingerprint.public := fingerprint.shallow;
 				fingerprint.private := fingerprint.shallow;
 				fingerprint.shallowAvailable := TRUE;
-				x.SetFingerPrint(fingerprint);
+				x.SetFingerprint(fingerprint);
 				SELF.deep := deep;
 				IF Trace THEN TraceIndent; D.Str("Module Shallow Done "); TraceFP(fingerprint); D.Ln;  END;
 			END;
@@ -1213,9 +1213,9 @@ TYPE
 				symbol := scope.firstSymbol;
 				WHILE symbol # NIL DO
 					IF symbol.access * SyntaxTree.Public # {} THEN
-						symbolFingerPrint := SymbolFP(symbol);
-						FPNumber(fingerprint.private,symbolFingerPrint.shallow);
-						FPNumber(fingerprint.public,symbolFingerPrint.shallow);
+						symbolFingerprint := SymbolFP(symbol);
+						FPNumber(fingerprint.private,symbolFingerprint.shallow);
+						FPNumber(fingerprint.public,symbolFingerprint.shallow);
 					END;
 					symbol := symbol.nextSymbol;
 				END;
@@ -1227,7 +1227,7 @@ TYPE
 				ASSERT(fingerprint.public # 0,101);
 				*)
 				fingerprint.deepAvailable := TRUE;
-				x.SetFingerPrint(fingerprint);
+				x.SetFingerprint(fingerprint);
 			END;
 
 			SELF.fingerprint := fingerprint;
@@ -1242,7 +1242,7 @@ TYPE
 			fingerprint.public := fingerprint.shallow;
 			fingerprint.private := fingerprint.shallow;
 			fingerprint.shallowAvailable := TRUE;
-			x.SetFingerPrint(fingerprint);
+			x.SetFingerprint(fingerprint);
 		END VisitSymbol;
 
 		PROCEDURE TraceIndent;
@@ -1259,13 +1259,13 @@ TYPE
 			D.Ln;
 		END TraceEnter;
 
-		PROCEDURE TraceExit(CONST name: ARRAY OF CHAR; fingerprint: FingerPrint);
+		PROCEDURE TraceExit(CONST name: ARRAY OF CHAR; fingerprint: Fingerprint);
 		BEGIN
 			TraceIndent; DEC(traceLevel);
 			D.Str("Exit "); D.Str(name); D.Str(" "); TraceFP(fingerprint); D.Ln;
 		END TraceExit;
 
-		PROCEDURE TraceFP(fingerprint: FingerPrint);
+		PROCEDURE TraceFP(fingerprint: Fingerprint);
 		BEGIN
 			D.Hex(fingerprint.shallow,-8); D.Str(" "); D.Hex(fingerprint.private,-8);
 			D.Str(" "); D.Hex(fingerprint.public,-8);
@@ -1273,7 +1273,7 @@ TYPE
 
 
 		(* returns the finger print (object) of a type *)
-		PROCEDURE TypeFP*(this: SyntaxTree.Type): FingerPrint;
+		PROCEDURE TypeFP*(this: SyntaxTree.Type): Fingerprint;
 		VAR deep: BOOLEAN;
 		BEGIN
 			IF Trace THEN TraceEnter("TypeFP");  END;
@@ -1292,7 +1292,7 @@ TYPE
 		END TypeFP;
 
 		(* returns the finger print (object) of a symbol *)
-		PROCEDURE SymbolFP*(this: SyntaxTree.Symbol): FingerPrint;
+		PROCEDURE SymbolFP*(this: SyntaxTree.Symbol): Fingerprint;
 		VAR deep: BOOLEAN;
 		BEGIN
 			deep := SELF.deep;
@@ -1308,10 +1308,10 @@ TYPE
 			RETURN fingerprint
 		END SymbolFP;
 
-	END FingerPrinter;
+	END Fingerprinter;
 
 
-	(** ---------- FingerPrinting primitives -------------- *)
+	(** ---------- Fingerprinting primitives -------------- *)
 	PROCEDURE IsOberonProcedure(type: SyntaxTree.ProcedureType): BOOLEAN;
 	BEGIN
 		RETURN type.callingConvention = SyntaxTree.OberonCallingConvention
@@ -1374,14 +1374,14 @@ TYPE
 		END
 	END FPVisibility;
 
-	PROCEDURE DumpFingerPrint*(w: Streams.Writer; fp: FingerPrint);
+	PROCEDURE DumpFingerprint*(w: Streams.Writer; fp: Fingerprint);
 	BEGIN
 		w.String("fingerprint: ");
 		w.String("shallow = "); w.Hex(fp.shallow,8);
 		w.String(", private = "); w.Hex(fp.private,8);
 		w.String(", public = "); w.Hex(fp.public,8);
 		w.Ln;
-	END DumpFingerPrint;
+	END DumpFingerprint;
 
 
-END FoxFingerPrinter.
+END FoxFingerprinter.

+ 23 - 23
source/FoxGenericObjectFile.Mod

@@ -3,7 +3,7 @@ MODULE FoxGenericObjectFile; (** AUTHOR "negelef"; PURPOSE "Generic Object File
 IMPORT
 	StringPool, Streams, Commands, Basic := FoxBasic, Formats := FoxFormats, Sections := FoxSections, IntermediateCode := FoxIntermediateCode,
 	SyntaxTree := FoxSyntaxTree, BinaryCode := FoxBinaryCode,
-	FingerPrinter := FoxFingerPrinter, Files, Options, ObjectFile, SymbolFileFormat := FoxTextualSymbolFile, Strings, KernelLog, D := Debugging;
+	Fingerprinter := FoxFingerprinter, Files, Options, ObjectFile, SymbolFileFormat := FoxTextualSymbolFile, Strings, KernelLog, D := Debugging;
 
 CONST
 	Version = 5;
@@ -40,7 +40,7 @@ TYPE ObjectFileFormat* = OBJECT (Formats.ObjectFileFormat)
 
 
 		PROCEDURE Export* (module: Formats.GeneratedModule; symbolFileFormat: Formats.SymbolFileFormat): BOOLEAN;
-		VAR fileName: Files.FileName; file: Files.File; writer: Files.Writer; fingerPrinter: FingerPrinter.FingerPrinter; poolMap: ObjectFile.PoolMap;
+		VAR fileName: Files.FileName; file: Files.File; writer: Files.Writer; fingerprinter: Fingerprinter.Fingerprinter; poolMap: ObjectFile.PoolMap;
 
 			PROCEDURE ExportSection (section: IntermediateCode.Section): BOOLEAN;
 			VAR name: ARRAY 256 OF CHAR; (* debugging *)
@@ -55,7 +55,7 @@ TYPE ObjectFileFormat* = OBJECT (Formats.ObjectFileFormat)
 						D.String('"section.resolved = NIL" for '); D.String(name); D.Ln;
 						RETURN FALSE
 					END;
-					section.resolved.os.identifier.fingerprint := GetFingerPrint (section, fingerPrinter);
+					section.resolved.os.identifier.fingerprint := GetFingerprint (section, fingerprinter);
 					CopyFixups (NIL, section.resolved, section.resolved, 0);
 					ObjectFile.WriteSection(writer,section.resolved.os,binary, poolMap);
 				(*
@@ -127,7 +127,7 @@ TYPE ObjectFileFormat* = OBJECT (Formats.ObjectFileFormat)
 							IF resolved.os.alignment # 0 THEN
 							codeSection.Align(resolved.os.alignment);
 							END;
-							resolved.os.identifier.fingerprint := GetFingerPrint (section, fingerPrinter);
+							resolved.os.identifier.fingerprint := GetFingerprint (section, fingerprinter);
 
 							NEW(alias, resolved.os.identifier, codeSection.pc);
 							IF ~AliasOnlyExported OR exported THEN  codeSection.aliasList.AddAlias(alias) END;
@@ -138,7 +138,7 @@ TYPE ObjectFileFormat* = OBJECT (Formats.ObjectFileFormat)
 							IF resolved.os.alignment # 0 THEN
 							dataSection.Align(resolved.os.alignment);
 							END;
-							resolved.os.identifier.fingerprint := GetFingerPrint (section, fingerPrinter);
+							resolved.os.identifier.fingerprint := GetFingerprint (section, fingerprinter);
 							NEW(alias, resolved.os.identifier, dataSection.pc);
 							IF ~AliasOnlyExported OR exported THEN dataSection.aliasList.AddAlias(alias) END;
 							section(IntermediateCode.Section).SetAlias(dataSection, dataSection.pc);
@@ -147,7 +147,7 @@ TYPE ObjectFileFormat* = OBJECT (Formats.ObjectFileFormat)
 							IF resolved.os.alignment # 0 THEN
 							constSection.Align(resolved.os.alignment);
 							END;
-							resolved.os.identifier.fingerprint := GetFingerPrint (section, fingerPrinter);
+							resolved.os.identifier.fingerprint := GetFingerprint (section, fingerprinter);
 							NEW(alias, resolved.os.identifier, constSection.pc);
 							IF ~AliasOnlyExported OR exported THEN constSection.aliasList.AddAlias(alias) END;
 							section(IntermediateCode.Section).SetAlias(constSection, constSection.pc);
@@ -169,17 +169,17 @@ TYPE ObjectFileFormat* = OBJECT (Formats.ObjectFileFormat)
 
 
 				IF codeSection # NIL THEN
-					UpdateAliases (codeSection, fingerPrinter);
+					UpdateAliases (codeSection, fingerprinter);
 					irSection := IntermediateCode.NewSection(sections, SHORTINT(codeSection.os.type), codeSection.os.identifier.name, NIL, FALSE);
 					irSection.SetResolved(codeSection);
 				END;
 				IF dataSection # NIL THEN
-					UpdateAliases (dataSection, fingerPrinter);
+					UpdateAliases (dataSection, fingerprinter);
 					irSection := IntermediateCode.NewSection(sections, SHORTINT(dataSection.os.type), dataSection.os.identifier.name, NIL, FALSE);
 					irSection.SetResolved(dataSection);
 				END;
 				IF constSection # NIL THEN
-					UpdateAliases (constSection, fingerPrinter);
+					UpdateAliases (constSection, fingerprinter);
 					irSection := IntermediateCode.NewSection(sections, SHORTINT(constSection.os.type), constSection.os.identifier.name, NIL, FALSE);
 					irSection.SetResolved(constSection);
 				END;
@@ -203,7 +203,7 @@ TYPE ObjectFileFormat* = OBJECT (Formats.ObjectFileFormat)
 								test := sections.GetSection(j);
 								IF (test(IntermediateCode.Section).resolved # NIL)
 								&  (test(IntermediateCode.Section).resolved.os.identifier.fingerprint = section(IntermediateCode.Section).resolved.os.identifier.fingerprint) THEN
-									msg := "duplicate fingerPrints: ";
+									msg := "duplicate fingerprints: ";
 									ObjectFile.SegmentedNameToString(section(IntermediateCode.Section).resolved.os.identifier.name,name);
 									Strings.Append(msg, name);
 									Strings.Append(msg, ", ");
@@ -282,7 +282,7 @@ TYPE ObjectFileFormat* = OBJECT (Formats.ObjectFileFormat)
 						import := import.nextImport;
 					END;
 				END;
-				WriteHeader(writer,binary,module.allSections, poolMap, offers, requires, fingerPrinter);
+				WriteHeader(writer,binary,module.allSections, poolMap, offers, requires, fingerprinter);
 				INC(statHeaders); INC(statHeadersSize, writer.Pos()-pos);
 				result := ExportSections (module.allSections);
 				INC(statModules); INC(statModulesSize, writer.Pos()-pos);
@@ -308,7 +308,7 @@ TYPE ObjectFileFormat* = OBJECT (Formats.ObjectFileFormat)
 				RETURN FALSE;
 			END;
 
-			NEW (fingerPrinter);
+			NEW (fingerprinter);
 			Files.OpenWriter (writer, file, 0);
 			IF ExportModule (module(Sections.Module)) THEN
 				writer.Update;
@@ -344,8 +344,8 @@ TYPE ObjectFileFormat* = OBJECT (Formats.ObjectFileFormat)
 
 	END ObjectFileFormat;
 
-	PROCEDURE GetFingerPrint (section: Sections.Section; fingerPrinter: FingerPrinter.FingerPrinter): LONGINT;
-	VAR fingerPrint: SyntaxTree.FingerPrint; fp: LONGINT; string: Basic.SectionName;
+	PROCEDURE GetFingerprint (section: Sections.Section; fingerprinter: Fingerprinter.Fingerprinter): LONGINT;
+	VAR fingerprint: SyntaxTree.Fingerprint; fp: LONGINT; string: Basic.SectionName;
 	BEGIN
 		IF section.fingerprint # 0 THEN
 			fp := section.fingerprint
@@ -353,14 +353,14 @@ TYPE ObjectFileFormat* = OBJECT (Formats.ObjectFileFormat)
 			fp := 0;
 			IF (section(IntermediateCode.Section).resolved # NIL) THEN
 				Basic.SegmentedNameToString(section.name, string);
-				FingerPrinter.FPString(fp, string)
+				Fingerprinter.FPString(fp, string)
 			END
-		ELSIF fingerPrinter # NIL THEN
-			fingerPrint := fingerPrinter.SymbolFP (section.symbol);
-			fp := fingerPrint.shallow;
+		ELSIF fingerprinter # NIL THEN
+			fingerprint := fingerprinter.SymbolFP (section.symbol);
+			fp := fingerprint.shallow;
 		END;
 		RETURN fp
-	END GetFingerPrint;
+	END GetFingerprint;
 
 	PROCEDURE CheckAlias(sections: Sections.SectionList; VAR identifier: ObjectFile.Identifier; VAR offset: LONGINT);
 	VAR section: Sections.Section; alias: BinaryCode.Section;
@@ -434,7 +434,7 @@ TYPE ObjectFileFormat* = OBJECT (Formats.ObjectFileFormat)
 	BEGIN
 		fixup := from.fixupList.firstFixup; i := 0; fixups := to.os.fixups; fixupList := to.os.fixup;
 		WHILE fixup # NIL DO
-			(*! fingerprint := GetFingerPrint(fixup.symbol, fingerPrinter);  *)
+			(*! fingerprint := GetFingerprint(fixup.symbol, fingerprinter);  *)
 			aliasSymbol := fixup.symbol;
 			CheckAlias(sections, aliasSymbol, aliasOffset);
 			IF PatchFixups & (aliasSymbol.name = to.os.identifier.name) & (fixup.mode = BinaryCode.Relative) THEN
@@ -449,12 +449,12 @@ TYPE ObjectFileFormat* = OBJECT (Formats.ObjectFileFormat)
 		from.fixupList.InitFixupList; (* delete the source list *)
 	END CopyFixups;
 
-	PROCEDURE UpdateAliases (section: BinaryCode.Section;  fingerPrinter: FingerPrinter.FingerPrinter);
+	PROCEDURE UpdateAliases (section: BinaryCode.Section;  fingerprinter: Fingerprinter.Fingerprinter);
 	VAR alias: BinaryCode.Alias; i: INTEGER; aliasList: ObjectFile.Aliases; aliases: LONGINT; index: LONGINT;
 	BEGIN
 		alias := section.aliasList.firstAlias; i := 0; aliases := 0; aliasList := NIL;
 		WHILE alias # NIL DO
-			(*! fingerprint := GetFingerPrint(alias.symbol, fingerPrinter);  *)
+			(*! fingerprint := GetFingerprint(alias.symbol, fingerprinter);  *)
 			index := ObjectFile.AddAlias(aliases, aliasList, alias.identifier.name, alias.identifier.fingerprint, alias.offset);
 			alias := alias.nextAlias; INC (i);
 		END;
@@ -500,7 +500,7 @@ TYPE ObjectFileFormat* = OBJECT (Formats.ObjectFileFormat)
 		RETURN version;
 	END ReadHeader;
 
-	PROCEDURE WriteHeader(writer: Streams.Writer; binary: BOOLEAN; sections: Sections.SectionList; VAR poolMap: ObjectFile.PoolMap; offers, requires: ObjectFile.NameList; fingerPrinter:FingerPrinter.FingerPrinter);
+	PROCEDURE WriteHeader(writer: Streams.Writer; binary: BOOLEAN; sections: Sections.SectionList; VAR poolMap: ObjectFile.PoolMap; offers, requires: ObjectFile.NameList; fingerprinter:Fingerprinter.Fingerprinter);
 	VAR i: LONGINT; section: Sections.Section;
 
 		PROCEDURE ProcessSection(section: IntermediateCode.Section);

+ 1 - 1
source/FoxGlobal.Mod

@@ -39,7 +39,7 @@ CONST
 	StringRealtime* = "REALTIME";
 	StringDynamic* = "DYNAMIC";
 	
-	StringFingerprint*="FingerPrint";
+	StringFingerprint*="Fingerprint";
 	
 	StringInstructionWidth*="InstructionWidth";
 	StringDataMemorySize*= "DataMemorySize";

+ 8 - 8
source/FoxInterfaceComparison.Mod

@@ -1,6 +1,6 @@
 MODULE FoxInterfaceComparison; (** AUTHOR "fof"; PURPOSE "compare interfaces / check symbol file compliances"; *)
 
-IMPORT Basic := FoxBasic, SyntaxTree := FoxSyntaxTree, Formats := FoxFormats, FingerPrinter := FoxFingerPrinter, Global := FoxGlobal, SemanticChecker := FoxSemanticChecker, Diagnostics, Strings, D := Debugging;
+IMPORT Basic := FoxBasic, SyntaxTree := FoxSyntaxTree, Formats := FoxFormats, Fingerprinter := FoxFingerprinter, Global := FoxGlobal, SemanticChecker := FoxSemanticChecker, Diagnostics, Strings, D := Debugging;
 
 CONST
 	Redefined*=0;
@@ -8,10 +8,10 @@ CONST
 	Trace=FALSE;
 
 	PROCEDURE CompareThis*(module: SyntaxTree.Module; symbolFileFormat: Formats.SymbolFileFormat; diagnostics: Diagnostics.Diagnostics; importCache: SyntaxTree.ModuleScope;  VAR flags: SET);
-	VAR fname: Basic.FileName; importedModule: SyntaxTree.Module; fingerprinter: FingerPrinter.FingerPrinter;
+	VAR fname: Basic.FileName; importedModule: SyntaxTree.Module; fingerprinter: Fingerprinter.Fingerprinter;
 
 	PROCEDURE SameType(new,old: SyntaxTree.Type): BOOLEAN;
-	VAR fpNew,fpOld: SyntaxTree.FingerPrint;
+	VAR fpNew,fpOld: SyntaxTree.Fingerprint;
 	BEGIN
 		old := old.resolved; new := new.resolved;
 
@@ -25,14 +25,14 @@ CONST
 		fpOld := fingerprinter.TypeFP(old);
 		IF Trace THEN
 			D.String("-->"); D.Ln;
-			D.String("fpOld "); FingerPrinter.DumpFingerPrint(D.Log,fpOld); D.Ln;
-			D.String("fpNew "); FingerPrinter.DumpFingerPrint(D.Log,fpNew); D.Ln;
+			D.String("fpOld "); Fingerprinter.DumpFingerprint(D.Log,fpOld); D.Ln;
+			D.String("fpNew "); Fingerprinter.DumpFingerprint(D.Log,fpNew); D.Ln;
 		END;
 		RETURN (fpNew.private = fpOld.private) & (fpNew.public = fpOld.public) & (fpNew.shallow = fpOld.shallow);
 	END SameType;
 
 	PROCEDURE CompareSymbols(new,old: SyntaxTree.Symbol): BOOLEAN;
-	VAR fpNew,fpOld: SyntaxTree.FingerPrint; oldType, newType: SyntaxTree.Type;
+	VAR fpNew,fpOld: SyntaxTree.Fingerprint; oldType, newType: SyntaxTree.Type;
 	BEGIN
 		fpNew := fingerprinter.SymbolFP(new);
 		fpOld := fingerprinter.SymbolFP(old);
@@ -42,8 +42,8 @@ CONST
 		IF (fpNew.shallow # fpOld.shallow) THEN
 			IF Trace THEN
 				D.String("fp of "); D.Str0(new.name); D.Ln;
-				D.String("fpOld "); FingerPrinter.DumpFingerPrint(D.Log,fpOld); D.Ln;
-				D.String("fpNew "); FingerPrinter.DumpFingerPrint(D.Log,fpNew); D.Ln;
+				D.String("fpOld "); Fingerprinter.DumpFingerprint(D.Log,fpOld); D.Ln;
+				D.String("fpNew "); Fingerprinter.DumpFingerprint(D.Log,fpNew); D.Ln;
 			END;
 			RETURN FALSE
 		ELSIF (new IS SyntaxTree.TypeDeclaration) & (old IS SyntaxTree.TypeDeclaration) THEN

+ 24 - 24
source/FoxIntermediateBackend.Mod

@@ -3,7 +3,7 @@ MODULE FoxIntermediateBackend; (** AUTHOR ""; PURPOSE ""; *)
 IMPORT Basic := FoxBasic, SyntaxTree := FoxSyntaxTree, SemanticChecker := FoxSemanticChecker, Backend := FoxBackend, Global := FoxGlobal,
 	Scanner := FoxScanner, IntermediateCode := FoxIntermediateCode, Sections := FoxSections, BinaryCode := FoxBinaryCode,  Printout := FoxPrintout,
 	SYSTEM, Strings, Options, Streams, Compiler, Formats := FoxFormats, SymbolFileFormat := FoxTextualSymbolFile, D := Debugging,
-	FingerPrinter := FoxFingerPrinter, StringPool, CRC;
+	Fingerprinter := FoxFingerprinter, StringPool, CRC;
 
 CONST
 		(* operand modes *)
@@ -1327,7 +1327,7 @@ TYPE
 		numberProcedures: LONGINT;
 		procedureResultDesignator : SyntaxTree.Designator;
 		operatorInitializationCodeSection: IntermediateCode.Section;
-		fingerPrinter: FingerPrinter.FingerPrinter;
+		fingerprinter: Fingerprinter.Fingerprinter;
 
 		temporaries: Variables;
 		canBeLoaded : BOOLEAN;
@@ -1399,7 +1399,7 @@ TYPE
 			NEW(registerUsageCount);
 			usedRegisters := NIL;
 			procedureResultDesignator := NIL;
-			NEW(fingerPrinter);
+			NEW(fingerprinter);
 			NEW(temporaries);
 			currentIsInline := FALSE;
 			NeedDescriptor := FALSE;
@@ -1436,10 +1436,10 @@ TYPE
 		END ReturnToContext;
 
 		PROCEDURE NewSection(list: Sections.SectionList; type: SHORTINT; CONST name: Basic.SegmentedName; syntaxTreeSymbol: SyntaxTree.Symbol; dump: BOOLEAN): IntermediateCode.Section;
-		VAR fp: SyntaxTree.FingerPrint; section: IntermediateCode.Section;
+		VAR fp: SyntaxTree.Fingerprint; section: IntermediateCode.Section;
 		BEGIN
 			IF (syntaxTreeSymbol # NIL) & ~((syntaxTreeSymbol IS SyntaxTree.Procedure) & (syntaxTreeSymbol(SyntaxTree.Procedure).isInline)) THEN
-				fp := fingerPrinter.SymbolFP(syntaxTreeSymbol)
+				fp := fingerprinter.SymbolFP(syntaxTreeSymbol)
 			END;
 			section := IntermediateCode.NewSection(list, type, name, syntaxTreeSymbol, dump);
 			section.SetExported(IsExported(syntaxTreeSymbol));
@@ -1456,13 +1456,13 @@ TYPE
 
 		PROCEDURE GetFingerprintString(symbol: SyntaxTree.Symbol; VAR string: ARRAY OF CHAR);
 		VAR
-			fingerPrint: SyntaxTree.FingerPrint;
-			fingerPrintString: ARRAY 32 OF CHAR;
+			fingerprint: SyntaxTree.Fingerprint;
+			fingerprintString: ARRAY 32 OF CHAR;
 		BEGIN
-			fingerPrint := fingerPrinter.SymbolFP(symbol);
+			fingerprint := fingerprinter.SymbolFP(symbol);
 			string := "[";
-			Strings.IntToHexStr(fingerPrint.public, 8, fingerPrintString);
-			Strings.Append(string, fingerPrintString);
+			Strings.IntToHexStr(fingerprint.public, 8, fingerprintString);
+			Strings.Append(string, fingerprintString);
 			Strings.Append(string, "]");
 		END GetFingerprintString;
 		
@@ -6185,7 +6185,7 @@ TYPE
 			recordType: SyntaxTree.RecordType;
 			operatorSelectionProcedureOperand: Operand;
 			operatorSelectionProcedure: SyntaxTree.Procedure;
-			fingerPrint: SyntaxTree.FingerPrint;
+			fingerprint: SyntaxTree.Fingerprint;
 			isCallOfDynamicOperator, hasDynamicOperands: BOOLEAN;
 			identifierNumber: LONGINT;
 
@@ -6520,8 +6520,8 @@ TYPE
 
 							(* push fingerprint *)
 							(* IF dump # NIL THEN dump.String("push fingerprint"); dump.Ln; dump.Update END; *) (* TENTATIVE *)
-							fingerPrint := fingerPrinter.TypeFP(formalParameter.type.resolved);
-							Emit(Push(position,IntermediateCode.Immediate(IntermediateCode.GetType(system, system.longintType), fingerPrint.public))) (* TODO: push the type's fingerprint *)
+							fingerprint := fingerprinter.TypeFP(formalParameter.type.resolved);
+							Emit(Push(position,IntermediateCode.Immediate(IntermediateCode.GetType(system, system.longintType), fingerprint.public))) (* TODO: push the type's fingerprint *)
 						END
 					END;
 					formalParameter := formalParameter.nextParameter
@@ -6870,7 +6870,7 @@ TYPE
 			VAR
 				arg: IntermediateCode.Operand;
 				recordType: SyntaxTree.RecordType;
-				fingerPrint: SyntaxTree.FingerPrint;
+				fingerprint: SyntaxTree.Fingerprint;
 			BEGIN
 				IF type = NIL THEN
 					(* no type: push 'NoType' *)
@@ -6884,8 +6884,8 @@ TYPE
 				ELSE
 					(* non-pointer to record type: push fingerprint *)
 					(* IF dump # NIL THEN dump.String("push fingerprint"); dump.Ln; dump.Update END; *) (* TENTATIVE *)
-					fingerPrint := fingerPrinter.TypeFP(type.resolved);
-					arg := IntermediateCode.Immediate(IntermediateCode.GetType(system, system.longintType), fingerPrint.public)
+					fingerprint := fingerprinter.TypeFP(type.resolved);
+					arg := IntermediateCode.Immediate(IntermediateCode.GetType(system, system.longintType), fingerprint.public)
 				END;
 				operatorInitializationCodeSection.Emit(Push(position,arg))
 			END PushTypeInfo;
@@ -12346,7 +12346,7 @@ TYPE
 		PROCEDURE GetFingerprint(symbol: SyntaxTree.Symbol): LONGINT;
 		BEGIN
 			IF (symbol # NIL) THEN
-				RETURN fingerPrinter.SymbolFP(symbol).public
+				RETURN fingerprinter.SymbolFP(symbol).public
 			ELSE
 				RETURN 0
 			END;
@@ -12962,7 +12962,7 @@ TYPE
 
 		PROCEDURE ExportDesc(source: IntermediateCode.Section);
 		VAR
-			i: LONGINT; section: Sections.Section; fingerPrinter : FingerPrinter.FingerPrinter;
+			i: LONGINT; section: Sections.Section; fingerprinter : Fingerprinter.Fingerprinter;
 			sectionArray: POINTER TO ARRAY OF Sections.Section;
 			poolMap: Basic.HashTableInt;
 			namePool: IntermediateCode.Section;
@@ -13021,12 +13021,12 @@ TYPE
 		PROCEDURE ExportDesc2(
 			source: IntermediateCode.Section; 
 			namePool: IntermediateCode.Section;
-			fingerPrinter: FingerPrinter.FingerPrinter;
+			fingerprinter: Fingerprinter.Fingerprinter;
 			symbol: Sections.Section;
 			name: StringPool.Index;
 			VAR patchAdr: LONGINT
 			): BOOLEAN;
-		VAR fingerPrint: SyntaxTree.FingerPrint; 
+		VAR fingerprint: SyntaxTree.Fingerprint; 
 		BEGIN
 			(*IF  (implementationVisitor.backend.cooperative) & (symbol.symbol = NIL) OR (symbol.symbol # NIL) & (symbol.type # Sections.InitCodeSection)
 				& (symbol.type # Sections.InlineCodeSection)
@@ -13039,8 +13039,8 @@ TYPE
 
 				IF (symbol = NIL) OR (symbol # NIL) & (symbol.type # Sections.InlineCodeSection) THEN
 					IF (symbol # NIL) & (symbol.symbol # NIL) THEN 
-						fingerPrint := fingerPrinter.SymbolFP(symbol.symbol);
-						Longint(source,fingerPrint.public);
+						fingerprint := fingerprinter.SymbolFP(symbol.symbol);
+						Longint(source,fingerprint.public);
 					ELSE
 						Longint(source, 0);
 					END;
@@ -13124,7 +13124,7 @@ TYPE
 								ELSE
 									sym := NIL;
 								END;
-								IF ExportDesc2(scopes[level].section, namePool, fingerPrinter, sym, this[level], scopes[level].patchAdr)
+								IF ExportDesc2(scopes[level].section, namePool, fingerprinter, sym, this[level], scopes[level].patchAdr)
 								THEN
 									INC(scopes[olevel].elements);
 								END;
@@ -13160,7 +13160,7 @@ TYPE
 			END Export;
 			
 		BEGIN
-			NEW(fingerPrinter);
+			NEW(fingerprinter);
 			NEW(poolMap, 64);
 			(* this is the name pool private to the export table -- it is sorted and should not be mixed / used for other names in a module *)
 			namePool := Block("Heaps","SystemBlockDesc",".@NamePool",namePoolOffset); 

+ 3 - 3
source/FoxMinosObjectFile.Mod

@@ -1,7 +1,7 @@
 MODULE FoxMinosObjectFile; (** AUTHOR "fof"; PURPOSE "Oberon Compiler Minos Object File Writer"; *)
 
 IMPORT
-	Scanner := FoxScanner, Basic := FoxBasic, SyntaxTree := FoxSyntaxTree, Global := FoxGlobal, SemanticChecker := FoxSemanticChecker, FingerPrinter := FoxFingerPrinter, Sections := FoxSections,
+	Scanner := FoxScanner, Basic := FoxBasic, SyntaxTree := FoxSyntaxTree, Global := FoxGlobal, SemanticChecker := FoxSemanticChecker, Fingerprinter := FoxFingerprinter, Sections := FoxSections,
 	Streams, D := Debugging, Files, SYSTEM,Strings, BinaryCode := FoxBinaryCode, KernelLog, Diagnostics, SymbolFileFormat := FoxTextualSymbolFile, Options,
 	Formats := FoxFormats, IntermediateCode := FoxIntermediateCode, Machine
 	;
@@ -260,9 +260,9 @@ TYPE
 
 	PROCEDURE WriteObjectFile*(w:Streams.Writer; module: Sections.Module; symbolFile: Files.File; diagnostics: Diagnostics.Diagnostics): BOOLEAN;
 	VAR codeSize, dataSize, bodyOffset: LONGINT;
-		moduleScope: SyntaxTree.ModuleScope; fingerprinter: FingerPrinter.FingerPrinter;
+		moduleScope: SyntaxTree.ModuleScope; fingerprinter: Fingerprinter.Fingerprinter;
 		code: ByteArray;
-		fp: SyntaxTree.FingerPrint;
+		fp: SyntaxTree.Fingerprint;
 		error : BOOLEAN;
 		(** helper procedures *)
 		PROCEDURE GetEntries(moduleScope: SyntaxTree.ModuleScope; VAR numberEntries: LONGINT; VAR entries: ARRAY 256 OF IntermediateCode.Section);

+ 5 - 5
source/FoxPrintout.Mod

@@ -2,7 +2,7 @@ MODULE FoxPrintout; (** AUTHOR "fof & fn"; PURPOSE "Oberon Compiler Module Outpu
 (* (c) fof ETHZ 2009 *)
 
 IMPORT
-	Scanner := FoxScanner, SyntaxTree := FoxSyntaxTree, Global := FoxGlobal, Basic := FoxBasic, FingerPrinter := FoxFingerPrinter, Streams, D:=Debugging, SYSTEM;
+	Scanner := FoxScanner, SyntaxTree := FoxSyntaxTree, Global := FoxGlobal, Basic := FoxBasic, Fingerprinter := FoxFingerprinter, Streams, D:=Debugging, SYSTEM;
 
 CONST
 	(* print modes *)
@@ -19,7 +19,7 @@ TYPE
 		useCase: BOOLEAN; (* TRUE to enable case conversion in "Identifier" *)
 
 		alertCount, commentCount: LONGINT;
-		fingerPrinter:FingerPrinter.FingerPrinter;
+		fingerprinter:Fingerprinter.Fingerprinter;
 
 		PROCEDURE Small(CONST name: ARRAY OF CHAR; VAR result: ARRAY OF CHAR);
 		VAR ch: CHAR; i: LONGINT;
@@ -1187,7 +1187,7 @@ TYPE
 		END Access;
 
 		PROCEDURE VisitProcedure*(x: SyntaxTree.Procedure);
-		VAR type: SyntaxTree.ProcedureType;  first: BOOLEAN; fp: SyntaxTree.FingerPrint;
+		VAR type: SyntaxTree.ProcedureType;  first: BOOLEAN; fp: SyntaxTree.Fingerprint;
 		BEGIN
 			IF Visible(x) THEN
 				
@@ -1218,8 +1218,8 @@ TYPE
 				END;
 
 				IF x.isInline & (mode = SymbolFile) THEN
-					IF fingerPrinter = NIL THEN NEW(fingerPrinter) END;
-					fp := fingerPrinter.SymbolFP(x);
+					IF fingerprinter = NIL THEN NEW(fingerprinter) END;
+					fp := fingerprinter.SymbolFP(x);
 					Value(Global.NameFingerprint, fp.public, first) 
 				END;
 				FlagEnd(first);

+ 3 - 3
source/FoxSemanticChecker.Mod

@@ -6190,7 +6190,7 @@ TYPE
 			value: Basic.Integer;
 			modifiers: SyntaxTree.Modifier; recentIsRealtime, recentIsBodyProcedure: BOOLEAN;
 			position: Position;
-			fp: SyntaxTree.FingerPrint;
+			fp: SyntaxTree.Fingerprint;
 		BEGIN
 			IF Trace THEN D.Str("ResolveProcedure "); D.Str0(procedure.name);  D.Ln;  END;
 			IF IsOberonInline(procedure) THEN
@@ -6244,12 +6244,12 @@ TYPE
 				ELSIF HasFlag(modifiers,Global.NameAbstract,position) THEN procedure.SetAbstract(TRUE)
 				END;
 				IF HasValue(modifiers, Global.NameFingerprint, position, value) THEN 
-					SyntaxTree.InitFingerPrint(fp);
+					SyntaxTree.InitFingerprint(fp);
 					fp.shallow := LONGINT(value); (* TODO: fix explicit integer truncation *)
 					fp.public := LONGINT(value); (* TODO: fix explicit integer truncation *)
 					fp.private := LONGINT(value); (* TODO: fix explicit integer truncation *)
 					fp.shallowAvailable := TRUE;
-					procedure.SetFingerPrint(fp);
+					procedure.SetFingerprint(fp);
 				END;
 
 				CheckModifiers(modifiers, TRUE);

+ 16 - 16
source/FoxSyntaxTree.Mod

@@ -49,7 +49,7 @@ CONST
 	SemiDynamic*=4;
 
 	(** node states, important for checker to avoid cycles *)
-	Undefined*={}; BeingResolved*=1; Resolved*=2; FingerPrinted*=3; Warned*=4;
+	Undefined*={}; BeingResolved*=1; Resolved*=2; Fingerprinted*=3; Warned*=4;
 
 	(* context in which a range expression is used *)
 	ArrayIndex* = 0;
@@ -475,7 +475,7 @@ TYPE
 		read*, write*: POINTER TO ARRAY OF Operator; (* fixed-dim. operators *)
 	END;
 
-	FingerPrint*= RECORD
+	Fingerprint*= RECORD
 		shallow*,public*, private*: LONGINT;
 		shallowAvailable*, deepAvailable*: BOOLEAN;
 	END;
@@ -545,7 +545,7 @@ TYPE
 			state-: SET;
 			hasPointers-: BOOLEAN;
 
-			fingerprint-: FingerPrint;
+			fingerprint-: Fingerprint;
 
 			isRealtime-: BOOLEAN;
 			recursion: BOOLEAN;
@@ -565,7 +565,7 @@ TYPE
 			isRealtime := FALSE;
 			recursion := FALSE;
 			hasPointers := FALSE;
-			InitFingerPrint(fingerprint);
+			InitFingerprint(fingerprint);
 		END InitType;
 
 		
@@ -582,10 +582,10 @@ TYPE
 		BEGIN SELF.position.end := position;
 		END End;
 
-		PROCEDURE SetFingerPrint*(CONST fp: FingerPrint);
+		PROCEDURE SetFingerprint*(CONST fp: Fingerprint);
 		BEGIN
 			SELF.fingerprint := fp
-		END SetFingerPrint;
+		END SetFingerprint;
 
 		PROCEDURE SetState*(state: LONGINT);
 		BEGIN	INCL(SELF.state,state);
@@ -2595,16 +2595,16 @@ TYPE
 	(**** values ****)
 
 	Value* = OBJECT (Expression)
-	VAR fingerprint-: FingerPrint;
+	VAR fingerprint-: Fingerprint;
 
 		PROCEDURE &InitValue(position: Position);
-		BEGIN SELF.position := position; resolved := SELF; InitFingerPrint(fingerprint);
+		BEGIN SELF.position := position; resolved := SELF; InitFingerprint(fingerprint);
 		END InitValue;
 
-		PROCEDURE SetFingerPrint*(CONST fp: FingerPrint);
+		PROCEDURE SetFingerprint*(CONST fp: Fingerprint);
 		BEGIN
 			SELF.fingerprint := fp
-		END SetFingerPrint;
+		END SetFingerprint;
 
 
 		PROCEDURE Equals*(v: Value):BOOLEAN;
@@ -2912,7 +2912,7 @@ TYPE
 		alignment-: LONGINT;
 
 		position-, end-: Position; state-: SET;
-		fingerprint-: FingerPrint;
+		fingerprint-: Fingerprint;
 
 		comment-: Comment;
 
@@ -2932,7 +2932,7 @@ TYPE
 			alignment := 0; (* take default *)
 			fixed := FALSE;
 			used := FALSE; written := FALSE;
-			InitFingerPrint(fingerprint);
+			InitFingerprint(fingerprint);
 			comment := NIL;
 		END InitSymbol;
 
@@ -2940,10 +2940,10 @@ TYPE
 		BEGIN SELF.alignment := align; fixed := fix;
 		END SetAlignment;
 
-		PROCEDURE SetFingerPrint*(CONST fp: FingerPrint);
+		PROCEDURE SetFingerprint*(CONST fp: Fingerprint);
 		BEGIN
 			SELF.fingerprint := fp
-		END SetFingerPrint;
+		END SetFingerprint;
 
 		PROCEDURE SetState*(state: LONGINT);
 		BEGIN	INCL(SELF.state,state);
@@ -5143,14 +5143,14 @@ VAR
 
 	indexListSeparator-: Expression;
 
-	PROCEDURE InitFingerPrint*(VAR fingerprint: FingerPrint);
+	PROCEDURE InitFingerprint*(VAR fingerprint: Fingerprint);
 	BEGIN
 		fingerprint.shallowAvailable := FALSE;
 		fingerprint.deepAvailable := FALSE;
 		fingerprint.shallow := 0;
 		fingerprint.private := 0;
 		fingerprint.public := 0;
-	END InitFingerPrint;
+	END InitFingerprint;
 
 	PROCEDURE NewModule*( CONST sourceName: ARRAY OF CHAR; position: Position;  name: Identifier;scope: ModuleScope; case: LONGINT ): Module;
 	VAR module: Module;

+ 1 - 1
source/Release.Tool

@@ -708,7 +708,7 @@ PACKAGE Compiler ARCHIVE "Compiler.zip" SOURCE "CompilerSrc.zip" DESCRIPTION "Ac
 	Fox.Tool
 	BitSets.Mod ObjectFile.Mod GenericLinker.Mod Linker.Mod
 	FoxBasic.Mod FoxProgTools.Mod FoxScanner.Mod FoxCSharpScanner.Mod FoxSyntaxTree.Mod FoxGlobal.Mod
-	FoxActiveCells.Mod FoxHardware.Mod FoxFormats.Mod FoxFingerPrinter.Mod FoxPrintout.Mod
+	FoxActiveCells.Mod FoxHardware.Mod FoxFormats.Mod FoxFingerprinter.Mod FoxPrintout.Mod
 	FoxParser.Mod FoxCSharpParser.Mod FoxSemanticChecker.Mod
 	FoxBackend.Mod FoxSections.Mod FoxFrontend.Mod
 	Compiler.Mod FoxOberonFrontend.Mod FoxCSharpFrontend.Mod

+ 2 - 2
tools/builds/a2/makefile

@@ -30,11 +30,11 @@ FoxArrayBase$(object): ComplexNumbers$(object)
 
 # Fox Compiler
 
-oberon: $(addsuffix $(object), Builtins Trace Glue Unix Machine Heaps Modules Objects RealConversions Streams Kernel Reflection KernelLog TrapWriters Commands Pipes StdIO Traps Files UnixFiles BitSets StringPool ObjectFile Diagnostics Reals Clock Dates Strings GenericLinker Loader WMRectangles CLUTs Plugins Displays Raster UTF8Strings WMRasterScale SoundDevices XMLObjects DynamicStrings XML XMLScanner XMLParser Configuration Inflate CRC Unzip WMEvents Locks FP1616 Texts Archives Codecs WMGraphics WMDefaultFont StdIOShell Shell Options ProcessInfo0 ProcessInfo SystemVersion System Debugging FoxBasic FoxScanner FoxSyntaxTree FoxGlobal FoxParser FoxFingerPrinter FoxPrintout FoxFormats FoxSemanticChecker FoxBackend FoxFrontend Compiler FoxOberonFrontend FoxSections FoxBinaryCode FoxIntermediateCode FoxInterfaceComparison FoxTextualSymbolFile FoxIntermediateBackend FoxAMD64InstructionSet FoxAMD64Assembler FoxGenericObjectFile FoxCodeGenerators FoxAMDBackend FoxDisassembler FoxARMInstructionSet FoxAssembler FoxARMAssembler FoxARMBackend MathL Math ComplexNumbers FoxArrayBase FoxArrayBaseOptimized Localization Repositories UnicodeProperties TextUtilities TestSuite Versioning CompilerInterface FoxTest Linker DependencyWalker ReleaseThreadPool Zlib ZlibBuffers ZlibInflate ZlibReaders ZlibDeflate ZlibWriters Zip Release)
+oberon: $(addsuffix $(object), Builtins Trace Glue Unix Machine Heaps Modules Objects RealConversions Streams Kernel Reflection KernelLog TrapWriters Commands Pipes StdIO Traps Files UnixFiles BitSets StringPool ObjectFile Diagnostics Reals Clock Dates Strings GenericLinker Loader WMRectangles CLUTs Plugins Displays Raster UTF8Strings WMRasterScale SoundDevices XMLObjects DynamicStrings XML XMLScanner XMLParser Configuration Inflate CRC Unzip WMEvents Locks FP1616 Texts Archives Codecs WMGraphics WMDefaultFont StdIOShell Shell Options ProcessInfo0 ProcessInfo SystemVersion System Debugging FoxBasic FoxScanner FoxSyntaxTree FoxGlobal FoxParser FoxFingerprinter FoxPrintout FoxFormats FoxSemanticChecker FoxBackend FoxFrontend Compiler FoxOberonFrontend FoxSections FoxBinaryCode FoxIntermediateCode FoxInterfaceComparison FoxTextualSymbolFile FoxIntermediateBackend FoxAMD64InstructionSet FoxAMD64Assembler FoxGenericObjectFile FoxCodeGenerators FoxAMDBackend FoxDisassembler FoxARMInstructionSet FoxAssembler FoxARMAssembler FoxARMBackend MathL Math ComplexNumbers FoxArrayBase FoxArrayBaseOptimized Localization Repositories UnicodeProperties TextUtilities TestSuite Versioning CompilerInterface FoxTest Linker DependencyWalker ReleaseThreadPool Zlib ZlibBuffers ZlibInflate ZlibReaders ZlibDeflate ZlibWriters Zip Release)
 	@$(tool) Linker.Link -p=$(target) --fileName=$@ $+ && chmod +x $@
 # grep ":processing\s$" oberon.log | grep "^[^:]\+" -o | tr '\n' ' '
 
-Self\ Compilation: $(addsuffix $(object), Compiler CompilerInterface FoxA2Interface FoxActiveCells FoxAMD64Assembler FoxAMD64InstructionSet FoxAMDBackend FoxARMAssembler FoxARMBackend FoxARMInstructionSet FoxArrayBase FoxArrayBaseOptimized FoxAssembler FoxBackend FoxBasic FoxBinaryCode FoxCodeGenerators FoxCSharpFrontend FoxCSharpParser FoxCSharpScanner FoxDisassembler FoxDocumentationBackend FoxDocumentationHtml FoxDocumentationParser FoxDocumentationPrinter FoxDocumentationScanner FoxDocumentationTree FoxFingerPrinter FoxFormats FoxFrontend FoxGenericObjectFile FoxGlobal FoxHardware FoxInterfaceComparison FoxIntermediateAssembler FoxIntermediateBackend FoxIntermediateCode FoxIntermediateLinker FoxIntermediateObjectFile FoxIntermediateParser FoxInterpreterBackend FoxMinosObjectFile FoxOberonFrontend FoxParser FoxPrintout FoxProfiler FoxProgTools FoxScanner FoxSections FoxSemanticChecker FoxSyntaxTree FoxTest FoxTextualSymbolFile FoxTranspilerBackend FoxTRMAssembler FoxTRMBackend FoxTRMInstructionSet TextCompiler)
+Self\ Compilation: $(addsuffix $(object), Compiler CompilerInterface FoxA2Interface FoxActiveCells FoxAMD64Assembler FoxAMD64InstructionSet FoxAMDBackend FoxARMAssembler FoxARMBackend FoxARMInstructionSet FoxArrayBase FoxArrayBaseOptimized FoxAssembler FoxBackend FoxBasic FoxBinaryCode FoxCodeGenerators FoxCSharpFrontend FoxCSharpParser FoxCSharpScanner FoxDisassembler FoxDocumentationBackend FoxDocumentationHtml FoxDocumentationParser FoxDocumentationPrinter FoxDocumentationScanner FoxDocumentationTree FoxFingerprinter FoxFormats FoxFrontend FoxGenericObjectFile FoxGlobal FoxHardware FoxInterfaceComparison FoxIntermediateAssembler FoxIntermediateBackend FoxIntermediateCode FoxIntermediateLinker FoxIntermediateObjectFile FoxIntermediateParser FoxInterpreterBackend FoxMinosObjectFile FoxOberonFrontend FoxParser FoxPrintout FoxProfiler FoxProgTools FoxScanner FoxSections FoxSemanticChecker FoxSyntaxTree FoxTest FoxTextualSymbolFile FoxTranspilerBackend FoxTRMAssembler FoxTRMBackend FoxTRMInstructionSet TextCompiler)
 # grep "^\(Fox\|Compiler\|TextCompiler\)" modules | sed 's/\.Mod//g' | sort | tr '\n' ' '
 
 Compilation\ Tests: Oberon.Compilation.Test.Diff