Răsfoiți Sursa

Adapted to revision 8150

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@8151 8c9fc860-2736-0410-a75d-ab315db34111
negelef 7 ani în urmă
părinte
comite
dbbf2c5427

+ 4 - 4
source/ActiveCellsRuntime.mod

@@ -415,7 +415,7 @@ type
 		
 		
 		i := Strings.IndexOfByte2(".",cellNet);
 		i := Strings.IndexOfByte2(".",cellNet);
 		if i = -1 then
 		if i = -1 then
-			diagnostics.Error("",Diagnostics.Invalid,Diagnostics.Invalid, "CELLNET type name is malformed");
+			diagnostics.Error("",Diagnostics.Invalid, "CELLNET type name is malformed");
 			return;
 			return;
 		end;
 		end;
 
 
@@ -424,14 +424,14 @@ type
 
 
 		unloaded := FreeDownTo(moduleName);
 		unloaded := FreeDownTo(moduleName);
 		if unloaded > 0 then
 		if unloaded > 0 then
-			(*param.ctx.Information("", Diagnostics.Invalid,Diagnostics.Invalid,"unloaded " & unloaded & " modules")*)
+			(*param.ctx.Information("", Diagnostics.Invalid,"unloaded " & unloaded & " modules")*)
 		end;
 		end;
 		m := Modules.ThisModule(moduleName,res,str);
 		m := Modules.ThisModule(moduleName,res,str);
 
 
 		if m = nil then
 		if m = nil then
 			Strings.Concat('failed to load module "',moduleName,str);
 			Strings.Concat('failed to load module "',moduleName,str);
 			Strings.Concat(str,'"',str);
 			Strings.Concat(str,'"',str);
-			diagnostics.Error("",Diagnostics.Invalid,-1,str);
+			diagnostics.Error("",Diagnostics.Invalid,str);
 			return;
 			return;
 		end;
 		end;
 		typeInfo := Modules.ThisType(m,typeName);
 		typeInfo := Modules.ThisType(m,typeName);
@@ -440,7 +440,7 @@ type
 			Strings.Concat(str,'" in module "',str);
 			Strings.Concat(str,'" in module "',str);
 			Strings.Concat(str,moduleName,str);
 			Strings.Concat(str,moduleName,str);
 			Strings.Concat(str,'"',str);
 			Strings.Concat(str,'"',str);
-			diagnostics.Error("",Diagnostics.Invalid,-1,str);
+			diagnostics.Error("",Diagnostics.Invalid,str);
 			return;
 			return;
 		end;
 		end;
 
 

+ 1 - 1
source/FoxActiveCells.Mod

@@ -988,7 +988,7 @@ TYPE
 				 	module := modules.GetModule(i);
 				 	module := modules.GetModule(i);
 				 	Strings.Append(msg," "); Strings.Append(msg,module.name);
 				 	Strings.Append(msg," "); Strings.Append(msg,module.name);
 				 END;
 				 END;
-				 diagnostics.Error("",Diagnostics.Invalid, Diagnostics.Invalid, msg);
+				 diagnostics.Error("",Diagnostics.Invalid, msg);
 			END;
 			END;
 			RETURN ~linker.error
 			RETURN ~linker.error
 		END LinkType;
 		END LinkType;

+ 17 - 17
source/FoxIntermediateLinker.Mod

@@ -719,7 +719,7 @@ TYPE
 			IF (inExtension # "") THEN irLinker.objectFile.SetExtension(inExtension) END;
 			IF (inExtension # "") THEN irLinker.objectFile.SetExtension(inExtension) END;
 			IF ~irLinker.LoadModule(backend(IntermediateCode.IntermediateBackend).builtinsModuleName, TRUE) THEN
 			IF ~irLinker.LoadModule(backend(IntermediateCode.IntermediateBackend).builtinsModuleName, TRUE) THEN
 				error := TRUE;
 				error := TRUE;
-				Basic.Error(diagnostics, backend(IntermediateCode.IntermediateBackend).builtinsModuleName,Diagnostics.Invalid, Diagnostics.Invalid, "could not load ir file");
+				Basic.Error(diagnostics, backend(IntermediateCode.IntermediateBackend).builtinsModuleName,Diagnostics.Invalid, "could not load ir file");
 			END;
 			END;
 			backend := irLinker.backend;
 			backend := irLinker.backend;
 			system := backend.system;
 			system := backend.system;
@@ -744,7 +744,7 @@ TYPE
 		BEGIN
 		BEGIN
 			irLinker.PrearrangeReachableDataSections;
 			irLinker.PrearrangeReachableDataSections;
 			IF irLinker.GenerateObjectFile(outputFormat, NIL, instanceName) THEN
 			IF irLinker.GenerateObjectFile(outputFormat, NIL, instanceName) THEN
-				Basic.Information(diagnostics, instanceName, Diagnostics.Invalid, Diagnostics.Invalid, "generated.");
+				Basic.Information(diagnostics, instanceName, Diagnostics.Invalid, "generated.");
 				RETURN TRUE
 				RETURN TRUE
 			ELSE
 			ELSE
 				RETURN FALSE
 				RETURN FALSE
@@ -810,7 +810,7 @@ TYPE
 						Strings.Append(msg, device.name);
 						Strings.Append(msg, device.name);
 						Strings.Append(msg," in cell ");
 						Strings.Append(msg," in cell ");
 						instance.AppendToMsg(msg);
 						instance.AppendToMsg(msg);
-						Basic.Error(diagnostics, specification.name,Diagnostics.Invalid, Diagnostics.Invalid, msg);
+						Basic.Error(diagnostics, specification.name,Diagnostics.Invalid, msg);
 						error := TRUE;
 						error := TRUE;
 					END;
 					END;
 				ELSE
 				ELSE
@@ -819,7 +819,7 @@ TYPE
 						Strings.Append(msg, device.name);
 						Strings.Append(msg, device.name);
 						Strings.Append(msg," in cell ");
 						Strings.Append(msg," in cell ");
 						instance.AppendToMsg(msg);
 						instance.AppendToMsg(msg);
-						Basic.Warning(diagnostics, specification.name,Diagnostics.Invalid,Diagnostics.Invalid,msg);
+						Basic.Warning(diagnostics, specification.name,Diagnostics.Invalid,msg);
 					END;
 					END;
 				END;
 				END;
 			END;
 			END;
@@ -829,7 +829,7 @@ TYPE
 			objectFileFormat.GetExtension(objectFileExtension);
 			objectFileFormat.GetExtension(objectFileExtension);
 			irLinker.PrearrangeReachableDataSections;
 			irLinker.PrearrangeReachableDataSections;
 			IF ~irLinker.GenerateObjectFile(objectFileFormat, specification.log, instanceName) THEN
 			IF ~irLinker.GenerateObjectFile(objectFileFormat, specification.log, instanceName) THEN
-				Basic.Error(diagnostics, specification.name,Diagnostics.Invalid, Diagnostics.Invalid, "could not generate object file");
+				Basic.Error(diagnostics, specification.name,Diagnostics.Invalid, "could not generate object file");
 				RETURN FALSE
 				RETURN FALSE
 			END;
 			END;
 
 
@@ -861,7 +861,7 @@ TYPE
 			END;
 			END;
 
 
 			IF (instructionMemorySize > 0) & (instructionMemorySize < code.SizeInBits() DIV system.codeUnit) THEN
 			IF (instructionMemorySize > 0) & (instructionMemorySize < code.SizeInBits() DIV system.codeUnit) THEN
-				Basic.Error(diagnostics, instanceName,Diagnostics.Invalid, Diagnostics.Invalid, "specified instruction memory size too small");
+				Basic.Error(diagnostics, instanceName,Diagnostics.Invalid, "specified instruction memory size too small");
 				error := TRUE;
 				error := TRUE;
 			ELSIF instructionMemorySize = 0 THEN
 			ELSIF instructionMemorySize = 0 THEN
 				instructionMemorySize := code.SizeInBits() DIV system.codeUnit;
 				instructionMemorySize := code.SizeInBits() DIV system.codeUnit;
@@ -872,7 +872,7 @@ TYPE
 			instance.SetDataMemorySize(dataMemorySize);
 			instance.SetDataMemorySize(dataMemorySize);
 
 
 			IF (dataMemorySize - data.SizeInBits() DIV system.dataUnit) < MinimalStackSize THEN
 			IF (dataMemorySize - data.SizeInBits() DIV system.dataUnit) < MinimalStackSize THEN
-				Basic.Error(diagnostics, specification.name,Diagnostics.Invalid, Diagnostics.Invalid, "specified data memory size too small");
+				Basic.Error(diagnostics, specification.name,Diagnostics.Invalid, "specified data memory size too small");
 				error := TRUE;
 				error := TRUE;
 			END;
 			END;
 
 
@@ -900,7 +900,7 @@ TYPE
 			ELSE
 			ELSE
 				msg := "could not link ";
 				msg := "could not link ";
 				Strings.Append(msg,linkRoot);
 				Strings.Append(msg,linkRoot);
-				Basic.Error(diagnostics, "",Diagnostics.Invalid, Diagnostics.Invalid, msg);
+				Basic.Error(diagnostics, "",Diagnostics.Invalid, msg);
 			END;
 			END;
 			RETURN ~linker.error & ~error
 			RETURN ~linker.error & ~error
 		END LinkInstance;
 		END LinkInstance;
@@ -1019,11 +1019,11 @@ TYPE
 				NEW(irLinker, specification.diagnostics, backend, ""); (* TODO: pass an optional path as third parameter *)
 				NEW(irLinker, specification.diagnostics, backend, ""); (* TODO: pass an optional path as third parameter *)
 				IF ~irLinker.LoadModule(backend(IntermediateCode.IntermediateBackend).builtinsModuleName, TRUE) THEN
 				IF ~irLinker.LoadModule(backend(IntermediateCode.IntermediateBackend).builtinsModuleName, TRUE) THEN
 					error := TRUE;
 					error := TRUE;
-					Basic.Error(diagnostics, backend(IntermediateCode.IntermediateBackend).builtinsModuleName,Diagnostics.Invalid, Diagnostics.Invalid, "could not load ir file");
+					Basic.Error(diagnostics, backend(IntermediateCode.IntermediateBackend).builtinsModuleName,Diagnostics.Invalid, "could not load ir file");
 				END;
 				END;
 				IF ~irLinker.LoadModule(specification.name,TRUE) THEN
 				IF ~irLinker.LoadModule(specification.name,TRUE) THEN
 					error := TRUE;
 					error := TRUE;
-					Basic.Error(diagnostics, specification.name,Diagnostics.Invalid, Diagnostics.Invalid, "could not load ir file");
+					Basic.Error(diagnostics, specification.name,Diagnostics.Invalid, "could not load ir file");
 				END;
 				END;
 				backend := irLinker.backend;
 				backend := irLinker.backend;
 				system := backend.system;
 				system := backend.system;
@@ -1083,7 +1083,7 @@ TYPE
 				objectFileFormat.GetExtension(objectFileExtension);
 				objectFileFormat.GetExtension(objectFileExtension);
 				irLinker.PrearrangeReachableDataSections;
 				irLinker.PrearrangeReachableDataSections;
 				IF ~irLinker.GenerateObjectFile(objectFileFormat, specification.log, instanceName) THEN
 				IF ~irLinker.GenerateObjectFile(objectFileFormat, specification.log, instanceName) THEN
-					Basic.Error(diagnostics, specification.name,Diagnostics.Invalid, Diagnostics.Invalid, "could not generate object file");
+					Basic.Error(diagnostics, specification.name,Diagnostics.Invalid, "could not generate object file");
 					RETURN FALSE
 					RETURN FALSE
 				END;
 				END;
 
 
@@ -1115,7 +1115,7 @@ TYPE
 				END;
 				END;
 
 
 				IF (instructionMemorySize > 0) & (instructionMemorySize < code.SizeInBits() DIV system.codeUnit) THEN
 				IF (instructionMemorySize > 0) & (instructionMemorySize < code.SizeInBits() DIV system.codeUnit) THEN
-					Basic.Error(diagnostics, instanceName,Diagnostics.Invalid, Diagnostics.Invalid, "specified instruction memory size too small");
+					Basic.Error(diagnostics, instanceName,Diagnostics.Invalid, "specified instruction memory size too small");
 					error := TRUE;
 					error := TRUE;
 				ELSIF instructionMemorySize = 0 THEN
 				ELSIF instructionMemorySize = 0 THEN
 					instructionMemorySize := code.SizeInBits() DIV system.codeUnit;
 					instructionMemorySize := code.SizeInBits() DIV system.codeUnit;
@@ -1126,7 +1126,7 @@ TYPE
 				instance.SetDataMemorySize(dataMemorySize);
 				instance.SetDataMemorySize(dataMemorySize);
 
 
 				IF (dataMemorySize - data.SizeInBits() DIV system.dataUnit) < MinimalStackSize THEN
 				IF (dataMemorySize - data.SizeInBits() DIV system.dataUnit) < MinimalStackSize THEN
-					Basic.Error(diagnostics, specification.name,Diagnostics.Invalid, Diagnostics.Invalid, "specified data memory size too small");
+					Basic.Error(diagnostics, specification.name,Diagnostics.Invalid, "specified data memory size too small");
 					error := TRUE;
 					error := TRUE;
 				END;
 				END;
 
 
@@ -1154,7 +1154,7 @@ TYPE
 				ELSE
 				ELSE
 					msg := "could not link ";
 					msg := "could not link ";
 					Strings.Append(msg,linkRoot);
 					Strings.Append(msg,linkRoot);
-					Basic.Error(diagnostics, "",Diagnostics.Invalid, Diagnostics.Invalid, msg);
+					Basic.Error(diagnostics, "",Diagnostics.Invalid, msg);
 				END;
 				END;
 				RETURN ~linker.error & ~error
 				RETURN ~linker.error & ~error
 			END LinkInstance;
 			END LinkInstance;
@@ -1461,9 +1461,9 @@ TYPE
 				assemblinker.MarkReachabilityOfAll(TRUE);
 				assemblinker.MarkReachabilityOfAll(TRUE);
 				FileNameToModuleName(filename, moduleName);
 				FileNameToModuleName(filename, moduleName);
 				IF (targetFile = "") & assemblinker.GenerateObjectFile(objectFileFormat, context.out, moduleName) THEN
 				IF (targetFile = "") & assemblinker.GenerateObjectFile(objectFileFormat, context.out, moduleName) THEN
-					Basic.Information(diagnostics, filename, Diagnostics.Invalid, Diagnostics.Invalid, "done.")
+					Basic.Information(diagnostics, filename, Diagnostics.Invalid, "done.")
 				ELSIF targetFile # "" THEN
 				ELSIF targetFile # "" THEN
-					Basic.Information(diagnostics, filename,  Diagnostics.Invalid, Diagnostics.Invalid, "loaded.")
+					Basic.Information(diagnostics, filename,  Diagnostics.Invalid, "loaded.")
 				ELSE
 				ELSE
 					error := TRUE
 					error := TRUE
 				END
 				END
@@ -1477,7 +1477,7 @@ TYPE
 			assemblinker.PrearrangeReachableDataSections;
 			assemblinker.PrearrangeReachableDataSections;
 			IF 	assemblinker.GenerateObjectFile(objectFileFormat, context.out, targetFile)
 			IF 	assemblinker.GenerateObjectFile(objectFileFormat, context.out, targetFile)
 			THEN
 			THEN
-				Basic.Information(diagnostics, targetFile, Diagnostics.Invalid, Diagnostics.Invalid, "generated.")
+				Basic.Information(diagnostics, targetFile, Diagnostics.Invalid, "generated.")
 			ELSE error := FALSE
 			ELSE error := FALSE
 			END;
 			END;
 		END;
 		END;

+ 8 - 8
source/FoxTRMTools.Mod

@@ -122,7 +122,7 @@ IMPORT Files,Commands,Options,Strings,Basic := FoxBasic, Diagnostics, BitSets,Ob
 		COPY(source, inputFileName);
 		COPY(source, inputFileName);
 		inputFile := Files.Old(inputFileName);
 		inputFile := Files.Old(inputFileName);
 		IF inputFile= NIL THEN
 		IF inputFile= NIL THEN
-			diagnostics.Error(inputFileName,Diagnostics.Invalid,Diagnostics.Invalid,"could not open file");
+			diagnostics.Error(inputFileName,Diagnostics.Invalid,"could not open file");
 			RETURN FALSE
 			RETURN FALSE
 		END;
 		END;
 		Files.OpenReader( reader,inputFile,0);
 		Files.OpenReader( reader,inputFile,0);
@@ -196,7 +196,7 @@ IMPORT Files,Commands,Options,Strings,Basic := FoxBasic, Diagnostics, BitSets,Ob
 		COPY(source, fileName);
 		COPY(source, fileName);
 		oldFile := Files.Old(fileName);
 		oldFile := Files.Old(fileName);
 		IF oldFile = NIL THEN
 		IF oldFile = NIL THEN
-			diagnostics.Error(fileName,Diagnostics.Invalid,Diagnostics.Invalid,"could not open file");
+			diagnostics.Error(fileName,Diagnostics.Invalid,"could not open file");
 			RETURN FALSE
 			RETURN FALSE
 		END;
 		END;
 		Files.OpenReader( reader,oldFile,0);
 		Files.OpenReader( reader,oldFile,0);
@@ -208,13 +208,13 @@ IMPORT Files,Commands,Options,Strings,Basic := FoxBasic, Diagnostics, BitSets,Ob
 			GetFileName(i,fileName);
 			GetFileName(i,fileName);
 			newFiles[i] := Files.New(fileName);
 			newFiles[i] := Files.New(fileName);
 			IF newFiles[i]= NIL THEN
 			IF newFiles[i]= NIL THEN
-				diagnostics.Error(fileName,Diagnostics.Invalid,Diagnostics.Invalid,"could not open file");
+				diagnostics.Error(fileName,Diagnostics.Invalid,"could not open file");
 				RETURN FALSE
 				RETURN FALSE
 			ELSE
 			ELSE
 				Files.OpenWriter(writers[i],newFiles[i],0);
 				Files.OpenWriter(writers[i],newFiles[i],0);
 			END;
 			END;
 			IF verbose THEN
 			IF verbose THEN
-				diagnostics.Information(fileName,Diagnostics.Invalid,Diagnostics.Invalid,"file generated");
+				diagnostics.Information(fileName,Diagnostics.Invalid,"file generated");
 			END;
 			END;
 		END;
 		END;
 		(*If strided: read line by line, fill round robin into the output files*)
 		(*If strided: read line by line, fill round robin into the output files*)
@@ -237,7 +237,7 @@ IMPORT Files,Commands,Options,Strings,Basic := FoxBasic, Diagnostics, BitSets,Ob
 			INC(line);
 			INC(line);
 		END;
 		END;
 		IF reader.Available()>0 THEN
 		IF reader.Available()>0 THEN
-			diagnostics.Warning(source,Diagnostics.Invalid,Diagnostics.Invalid,"source file truncated");
+			diagnostics.Warning(source,Diagnostics.Invalid,"source file truncated");
 		END;
 		END;
 		FOR i := 0 TO blocks-1 DO
 		FOR i := 0 TO blocks-1 DO
 			writers[i].Update; Files.Register(newFiles[i])
 			writers[i].Update; Files.Register(newFiles[i])
@@ -296,11 +296,11 @@ IMPORT Files,Commands,Options,Strings,Basic := FoxBasic, Diagnostics, BitSets,Ob
 		IF ~options.GetString("target",targetName) THEN targetName:="default.mem" END;
 		IF ~options.GetString("target",targetName) THEN targetName:="default.mem" END;
 		NEW(diagnostics,context.out);
 		NEW(diagnostics,context.out);
 		
 		
-		diagnostics.Information("target name", 0, 0, targetName);
+		diagnostics.Information("target name", Diagnostics.Invalid, targetName);
 		done:=TRUE;
 		done:=TRUE;
 		WHILE done & context.arg.GetString (name) DO
 		WHILE done & context.arg.GetString (name) DO
 		
 		
-			diagnostics.Information("source name", 0, 0, name);
+			diagnostics.Information("source name", Diagnostics.Invalid, name);
 			done := SplitColumns(name,  targetName, insW, numB, baseD, diagnostics);
 			done := SplitColumns(name,  targetName, insW, numB, baseD, diagnostics);
 		END;
 		END;
 	END SplitColumnsCmd;
 	END SplitColumnsCmd;
@@ -624,4 +624,4 @@ A = fscanf(file,'%d');
 fclose(file)
 fclose(file)
 A = reshape(A,16,16);
 A = reshape(A,16,16);
 
 
-M{numel(M)+1}=A;
+M{numel(M)+1}=A;

+ 2 - 2
source/InterpreterShell.Mod

@@ -816,7 +816,7 @@ TYPE
 				NEW(scope, Interpreter.global, container);
 				NEW(scope, Interpreter.global, container);
 				NEW(interpreter, scope, diagnostics, context);
 				NEW(interpreter, scope, diagnostics, context);
 				LOOP
 				LOOP
-				(*diagnostics.Information("interpreter",Diagnostics.Invalid,Diagnostics.Invalid,"start statement");*)
+				(*diagnostics.Information("interpreter",Diagnostics.Invalid,"start statement");*)
 				seq := SyntaxTree.NewStatementSequence();
 				seq := SyntaxTree.NewStatementSequence();
 				IF parser.Optional(Scanner.Questionmark) THEN
 				IF parser.Optional(Scanner.Questionmark) THEN
 					first := TRUE;
 					first := TRUE;
@@ -846,7 +846,7 @@ TYPE
 					IF interpreter.error THEN interpreter.Reset END;
 					IF interpreter.error THEN interpreter.Reset END;
 				ELSE
 				ELSE
 					IF ~parser.error & first THEN 
 					IF ~parser.error & first THEN 
-						diagnostics.Error("",Diagnostics.Invalid, Diagnostics.Invalid, "no statement");
+						diagnostics.Error("",Diagnostics.Invalid, "no statement");
 						first := FALSE;
 						first := FALSE;
 						context.out.Ln;
 						context.out.Ln;
 						context.out.String(">");
 						context.out.String(">");