瀏覽代碼

Renamed Runtime module to built-ins as it mainly contains built-in functions for operations which the compiler or back-end do not support natively

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@8042 8c9fc860-2736-0410-a75d-ab315db34111
negelef 7 年之前
父節點
當前提交
aa8277863d

+ 2 - 2
source/AMD64.Runtime.Mod → source/AMD64.Builtins.Mod

@@ -1,4 +1,4 @@
-MODULE Runtime; (** AUTHOR "fof"; PURPOSE "runtime support for the Active Obero compiler"; *)
+MODULE Builtins; (** AUTHOR "fof"; PURPOSE "Built-in functions for the Active Oberon Compiler"; *)
 IMPORT SYSTEM;
 
 VAR
@@ -62,4 +62,4 @@ END CopyString;
 
 BEGIN
 	(*! assumed that modules = 0, implicit call of InsertModule *)
-END Runtime.
+END Builtins.

+ 2 - 2
source/ARM.Runtime.Mod → source/ARM.Builtins.Mod

@@ -1,4 +1,4 @@
-MODULE Runtime;
+MODULE Builtins;
 IMPORT SYSTEM, FPE64;
 
 CONST
@@ -685,4 +685,4 @@ TYPE
 		SYSTEM.MOVE(ADDRESSOF(source[0]), ADDRESSOF(destination[0]), sourceLength)
 	END CopyString;
 
-END Runtime.
+END Builtins.

+ 16 - 16
source/Builds.Tool

@@ -11,23 +11,23 @@ WIN32 -- 32-bit windows a2
 	
 	## Link A2.exe (bootconsole for graphical OS) ##
 		Linker.Link --path=NewAos/ --fileFormat=PE32 --fileName=A2.exe --extension=GofW --displacement=401000H
-			Runtime Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Commands Files WinFS Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Reflection Loader BootConsole ~		
+			Builtins Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Commands Files WinFS Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Reflection Loader BootConsole ~		
 
 	## command line shell
 	Linker.Link --path=NewAos/ --fileFormat=PE32CUI --fileName=oberon.exe --extension=GofW --displacement=401000H
-		Runtime Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Commands Files WinFS Clock Dates Reals Strings
+		Builtins Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Commands Files WinFS Clock Dates Reals Strings
 		Diagnostics BitSets StringPool ObjectFile GenericLinker Reflection Loader WinTrace StdIO
 		Traps RelativeFileSystem WMDefaultFont SystemTools StdIOShell ~
 
 	## Command line shell including compiler (and linker) ##
 		Linker.Link --path=NewAos/ --fileFormat=PE32CUI --fileName=oberon.exe --extension=GofW --displacement=401000H
-			Runtime Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Commands Files WinFS Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Reflection Loader WinTrace
+			Builtins Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Commands Files WinFS Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Reflection Loader WinTrace
 			StdIO Traps RelativeFileSystem SystemTools FSTools StdIOShell Shell Linker Compiler FoxOberonFrontend FoxARMBackend FoxAMDBackend ~
 
 FSTools.CloseFiles oberon.exe ~
 
 Compiler.Compile -p=Win32
-I386.Runtime.Mod Trace.Mod Windows.I386.Kernel32.Mod Windows.I386.Machine.Mod Heaps.Mod
+I386.Builtins.Mod Trace.Mod Windows.I386.Kernel32.Mod Windows.I386.Machine.Mod Heaps.Mod
 Modules.Mod Windows.I386.Objects.Mod Windows.Kernel.Mod KernelLog.Mod Plugins.Mod Streams.Mod Pipes.Mod
 Commands.Mod In.Mod Out.Mod I386.Reals.Mod Reflection.Mod TrapWriters.Mod CRC.Mod
 SystemVersion.Mod Windows.I386.Traps.Mod Windows.WinTrace.Mod Windows.StdIO.Mod Locks.Mod Windows.Clock.Mod
@@ -47,13 +47,13 @@ LINUX32 -- 32 bit linux a2
 	
 	## X11 bootconsole ##
 		Linker.Link -p=Linux32 --path=NewAos/
-		Runtime Trace Glue Unix Machine Heaps Modules Objects Kernel
+		Builtins Trace Glue Unix Machine Heaps Modules Objects Kernel
 		KernelLog Streams Commands Pipes StdIO TrapWriters Reflection Traps Files UnixFiles Clock Dates
 		Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Loader BootConsole ~
 	
 	## Command line shell including compiler (and linker) ##
 		Linker.Link -p=Linux32 --path=NewAos/
-			Runtime Trace Glue Unix Machine Heaps Modules Objects Kernel KernelLog Streams Commands Pipes StdIO
+			Builtins Trace Glue Unix Machine Heaps Modules Objects Kernel KernelLog Streams Commands Pipes StdIO
 			TrapWriters Reflection Traps Files UnixFiles Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Loader SystemTools StdIOShell
 			Shell ~ Linker Compiler FoxOberonFrontend FoxARMBackend FoxAMDBackend ~
 
@@ -65,13 +65,13 @@ LINUX64 -- 64 bit linux a2
 	
 	## X11 bootconsole ##
 		Linker.Link -p=Linux64 --path=NewAos/
-		Runtime Trace Glue Unix Machine Heaps Modules Objects Kernel
+		Builtins Trace Glue Unix Machine Heaps Modules Objects Kernel
 		KernelLog Streams Commands Pipes StdIO TrapWriters Reflection Traps Files UnixFiles Clock Dates
 		Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Loader BootConsole ~
 	
 	## Command line shell including compiler (and linker) ##
 		Linker.Link -p=Linux64 --path=NewAos/
-			Runtime Trace Glue Unix Machine Heaps Modules Objects Kernel KernelLog Streams Commands Pipes StdIO
+			Builtins Trace Glue Unix Machine Heaps Modules Objects Kernel KernelLog Streams Commands Pipes StdIO
 			TrapWriters Reflection Traps Files UnixFiles Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Loader SystemTools StdIOShell
 			Shell ~ Linker Compiler FoxOberonFrontend FoxARMBackend FoxAMDBackend ~
 
@@ -83,7 +83,7 @@ DARWIN32 -- 32 bit darwin a2
 	
 	## X11 bootconsole ##
 		Linker.Link -p=Darwin32 --path=./NewAos/
-				Runtime Trace Glue Unix Machine Heaps Modules Objects Kernel KernelLog Streams Commands Pipes StdIO TrapWriters Reflection
+				Builtins Trace Glue Unix Machine Heaps Modules Objects Kernel KernelLog Streams Commands Pipes StdIO TrapWriters Reflection
 				Traps Files UnixFiles Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Loader BootConsole ~
 		UnixBinary.Build oberon.bin -> A2Core ~
 
@@ -95,7 +95,7 @@ SOLARIS32 -- 32 bit solaris a2
 	
 	## X11 bootconsole ##
 		Linker.Link -p=Solaris32 --path=./NewAos/
-				Runtime Trace Glue Unix Machine Heaps Modules Objects Kernel KernelLog Streams Commands Pipes StdIO TrapWriters Reflection
+				Builtins Trace Glue Unix Machine Heaps Modules Objects Kernel KernelLog Streams Commands Pipes StdIO TrapWriters Reflection
 				Traps Files UnixFiles Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Loader BootConsole ~
 		UnixBinary.Build oberon.bin -> A2Core ~
 
@@ -106,7 +106,7 @@ WIN64 -- 64-bit windows a2
 	Release.Build --path=NewAos/ Win64 ~
 
 	Linker.Link --fileFormat=PE64CUI --fileName=oberon.exe --extension=GofWw --displacement=401000H
-		Runtime Trace Kernel32 Heaps Modules Objects Kernel KernelLog Streams Commands Files WinFS Clock Dates Reals Strings Diagnostics BitSets
+		Builtins Trace Kernel32 Heaps Modules Objects Kernel KernelLog Streams Commands Files WinFS Clock Dates Reals Strings Diagnostics BitSets
 		StringPool ObjectFile GenericLinker Reflection Loader Shell StdIOShell Traps SystemTools ~
 
 	FSTools.CloseFiles oberon.exe ~
@@ -119,7 +119,7 @@ WIN64 -- 64-bit windows a2
 		FSTools.DeleteFiles -s NewAos/* ~
 		Release.Build --build --path=NewAos/ Linux64 ~
 		Linker.Link -p=Linux64 --path=NewAos/
-			Runtime Trace Glue Unix Machine Heaps Modules Objects Kernel KernelLog Streams Commands Pipes StdIO
+			Builtins Trace Glue Unix Machine Heaps Modules Objects Kernel KernelLog Streams Commands Pipes StdIO
 			TrapWriters Reflection Traps Files UnixFiles Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Loader SystemTools StdIOShell
 			Shell ~
 		FSTools.CopyFiles -oq NewAos/*.* => ../../Linux64/bin/*.* ~
@@ -128,7 +128,7 @@ WIN64 -- 64-bit windows a2
 		FSTools.DeleteFiles -s NewAos/* ~
 		Release.Build --build --path=NewAos/ Linux32 ~
 		Linker.Link -p=Linux32 --path=NewAos/
-			Runtime Trace Glue Unix Machine Heaps Modules Objects Kernel KernelLog Streams Commands Pipes StdIO
+			Builtins Trace Glue Unix Machine Heaps Modules Objects Kernel KernelLog Streams Commands Pipes StdIO
 			TrapWriters Reflection Traps Files UnixFiles Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Loader SystemTools StdIOShell
 			Shell ~
 		FSTools.CopyFiles -oq NewAos/*.* => ../../Linux32/bin/*.* ~
@@ -137,7 +137,7 @@ WIN64 -- 64-bit windows a2
 		FSTools.DeleteFiles -s NewAos/* ~
 		Release.Build --build --path=NewAos/ Win32 ~
 		Linker.Link --path=NewAos/ --fileFormat=PE32 --fileName=A2.exe --extension=GofW --displacement=401000H
-			Runtime Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Commands Files WinFS Clock Dates Reals Strings Diagnostics BitSets StringPool
+			Builtins Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Commands Files WinFS Clock Dates Reals Strings Diagnostics BitSets StringPool
 			ObjectFile GenericLinker Reflection Loader BootConsole ~		
 		FSTools.CopyFiles -oq NewAos/*.* => ../../WinAos/obg/*.* ~
 		FSTools.CopyFiles -o A2.exe => ../../WinAos/A2.exe ~
@@ -145,7 +145,7 @@ WIN64 -- 64-bit windows a2
 		FSTools.DeleteFiles -s NewAos/* ~
 		Release.Build --build --path=NewAos/ Win32 ~
 		Linker.Link --path=NewAos/ --fileFormat=PE32CUI --fileName=oberon.exe --extension=GofW --displacement=401000H
-			Runtime Trace Kernel32 Heaps Modules Objects Kernel KernelLog Streams Commands Files WinFS Clock Dates Reals Strings Diagnostics BitSets
+			Builtins Trace Kernel32 Heaps Modules Objects Kernel KernelLog Streams Commands Files WinFS Clock Dates Reals Strings Diagnostics BitSets
 			StringPool ObjectFile GenericLinker Reflection Loader Shell StdIOShell Traps SystemTools ~
 		FSTools.CopyFiles -oq NewAos/*.* => ../../Win32/bin/*.* ~
 		FSTools.CopyFiles -o oberon.exe => ../../Win32/oberon.exe ~
@@ -153,7 +153,7 @@ WIN64 -- 64-bit windows a2
 		FSTools.DeleteFiles -s NewAos/* ~
 		Release.Build --build --path=NewAos/ Win64 ~
 		Linker.Link --path=NewAos/ --fileFormat=PE64CUI --fileName=oberon.exe --extension=GofWw --displacement=401000H
-			Runtime Trace Kernel32 Heaps Modules Objects Kernel KernelLog Streams Commands Files WinFS Clock Dates Reals Strings Diagnostics BitSets
+			Builtins Trace Kernel32 Heaps Modules Objects Kernel KernelLog Streams Commands Files WinFS Clock Dates Reals Strings Diagnostics BitSets
 			StringPool ObjectFile GenericLinker Reflection Loader Shell StdIOShell Traps SystemTools ~
 		FSTools.CopyFiles -oq NewAos/*.* => ../../Win64/bin/*.* ~
 		FSTools.CopyFiles -o oberon.exe => ../../Win64/oberon.exe ~

+ 8 - 8
source/EFI.Tool

@@ -4,11 +4,11 @@
 
 SystemTools.DoCommands
 Compiler.Compile --bits=32 --traceModule=Trace
-	I386.Runtime.Mod Trace.Mod EFI.Mod I386.EFIMachine.Mod EFITrace.Mod EFIFileProtocol.Mod EFISimpleFS.Mod
+	I386.Builtins.Mod Trace.Mod EFI.Mod I386.EFIMachine.Mod EFITrace.Mod EFIFileProtocol.Mod EFISimpleFS.Mod
 	EFILoadedImage.Mod EFIGraphicsOutput.Mod EFILib.Mod EFIGraphicalConsole.Mod EFIA2Loader.Mod
 ~
 Linker.Link --fileName=E:/felix.svn/qemu/disk/A2Loader.efi --fileFormat=EFI32 --displacement=401000H
-	Runtime Trace EFI EFIMachine EFITrace EFISimpleFS  EFIFileProtocol EFILoadedImage EFIGraphicsOutput EFILib 
+	Builtins Trace EFI EFIMachine EFITrace EFISimpleFS  EFIFileProtocol EFILoadedImage EFIGraphicsOutput EFILib 
 	 EFIGraphicalConsole EFIA2Loader~
 ~
 
@@ -16,7 +16,7 @@ Linker.Link --fileName=E:/felix.svn/qemu/disk/A2Loader.efi --fileFormat=EFI32 --
 
 SystemTools.DoCommands
 Compiler.Compile --newObjectFile --mergeSections -b=AMD --objectFileExtension=.Gox --symbolFileExtension=.Syx --traceModule=Trace
-	I386.Runtime.Mod Trace.Mod EFI.I386.Machine.Mod EFIGraphicalConsole.Mod StartConsole.Mod Heaps.Mod Modules.Mod 
+	I386.Builtins.Mod Trace.Mod EFI.I386.Machine.Mod EFIGraphicalConsole.Mod StartConsole.Mod Heaps.Mod Modules.Mod 
 	Objects.Mod Kernel.Mod KernelLog.Mod Plugins.Mod Streams.Mod Pipes.Mod Commands.Mod I386.Reals.Mod 
 	Reflection.Mod TrapWriters.Mod CRC.Mod SystemVersion.Mod Traps.Mod Locks.Mod BIOS.PCI.Mod 
 	BIOS.Clock.Mod BIOS.I386.MemCache.Mod Disks.Mod Files.Mod Dates.Mod Strings.Mod UTF8Strings.Mod 
@@ -32,7 +32,7 @@ Linker.Link
 	--extension=Gox
 	--displacement=0100000H
 	--path="./"
-	Runtime Trace Machine EFIGraphicalConsole StartConsole Heaps Modules Objects Kernel 
+	Builtins Trace Machine EFIGraphicalConsole StartConsole Heaps Modules Objects Kernel 
 	KernelLog Streams Reflection  TrapWriters Traps  Plugins
 	Diagnostics BitSets StringPool ObjectFile Reals Clock Dates Strings GenericLinker 
 	Commands
@@ -53,11 +53,11 @@ SystemTools.FreeDownTo FoxIntermediateBackend ~
 ~
 SystemTools.DoCommands
 Compiler.Compile --bits=64 --traceModule=Trace
-	AMD64.Runtime.Mod Trace.Mod EFI.Mod AMD64.EFIMachine.Mod EFITrace.Mod EFIFileProtocol.Mod EFISimpleFS.Mod
+	AMD64.Builtins.Mod Trace.Mod EFI.Mod AMD64.EFIMachine.Mod EFITrace.Mod EFIFileProtocol.Mod EFISimpleFS.Mod
 	EFILoadedImage.Mod EFIGraphicsOutput.Mod EFILib.Mod EFIGraphicalConsole.Mod EFIA2Loader.Mod
 ~
 Linker.Link --fileName=E:/felix.svn/qemu/disk/A2Loader.efi --fileFormat=EFI64 --displacement=401000H
-	Runtime Trace EFI EFIMachine EFITrace EFISimpleFS  EFIFileProtocol EFILoadedImage EFIGraphicsOutput EFILib 
+	Builtins Trace EFI EFIMachine EFITrace EFISimpleFS  EFIFileProtocol EFILoadedImage EFIGraphicsOutput EFILib 
 	 EFIGraphicalConsole EFIA2Loader
 ~
 ~
@@ -66,7 +66,7 @@ Linker.Link --fileName=E:/felix.svn/qemu/disk/A2Loader.efi --fileFormat=EFI64 --
 	
 SystemTools.DoCommands
 	Compiler.Compile --newObjectFile -b=AMD --bits=64 --objectFileExtension=.Gos --symbolFileExtension=.Sys --traceModule=Trace
-	AMD64.Runtime.Mod Trace.Mod EFI.AMD64.Machine.Mod EFIGraphicalConsole.Mod StartConsole.Mod Heaps.Mod Modules.Mod Objects.Mod Kernel.Mod 
+	AMD64.Builtins.Mod Trace.Mod EFI.AMD64.Machine.Mod EFIGraphicalConsole.Mod StartConsole.Mod Heaps.Mod Modules.Mod Objects.Mod Kernel.Mod 
 	Interfaces.Mod KernelLog.Mod Plugins.Mod Streams.Mod Pipes.Mod Commands.Mod AMD64.Reals.Mod 
 	Reflection.Mod TrapWriters.Mod AMD64.Traps.Mod Locks.Mod BIOS.PCI.Mod BIOS.Clock.Mod AMD64.MemCache.Mod Disks.Mod Files.Mod 
 	Dates.Mod Strings.Mod UTF8Strings.Mod Caches.Mod DiskVolumes.Mod OldDiskVolumes.Mod 
@@ -77,7 +77,7 @@ SystemTools.DoCommands
 	--fileName=E:/felix.svn/qemu/disk/IDE.Bin
 	--extension=Gos
 	--displacement=0100000H
-	Runtime Trace Machine EFIGraphicalConsole StartConsole Heaps Modules Objects Kernel 
+	Builtins Trace Machine EFIGraphicalConsole StartConsole Heaps Modules Objects Kernel 
 	KernelLog Plugins Streams Commands Reals 
 	Reflection TrapWriters Traps Locks PCI Clock MemCache Disks Files 
 	ATADisks

+ 2 - 2
source/EFITest.Mod

@@ -64,6 +64,6 @@ BEGIN
 END EFITest.
 
 Compiler.Compile --extensions
-	I386.Runtime.Mod Trace.Mod EFI.Mod EFITrace.Mod EFIFileProtocol.Mod EFISimpleFS.Mod EFILib.Mod EFITest.Mod ~
+	I386.Builtins.Mod Trace.Mod EFI.Mod EFITrace.Mod EFIFileProtocol.Mod EFISimpleFS.Mod EFILib.Mod EFITest.Mod ~
 Linker.Link --fileName=test.efi --fileFormat=EFI32 --displacement=401000H
-	Runtime Trace EFI EFITrace EFISimpleFS EFIFileProtocol EFILib EFITest ~
+	Builtins Trace EFI EFITrace EFISimpleFS EFIFileProtocol EFILib EFITest ~

+ 2 - 2
source/Files64.Tool

@@ -3,9 +3,9 @@ Compiler.Compile  Streams64.Mod Files64.Mod Windows.HostFiles64.Mod RelativeFile
 
 # 2)
 # WINAOS generic
-	Linker.Link --fileFormat=PE32 --fileName=A2.exe --extension=GofW --displacement=401000H  Runtime Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Streams64 Commands Files Files64 WinFS HostFiles64 Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Reflection  Loader  BootConsole ~
+	Linker.Link --fileFormat=PE32 --fileName=A2.exe --extension=GofW --displacement=401000H  Builtins Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Streams64 Commands Files Files64 WinFS HostFiles64 Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Reflection  Loader  BootConsole ~
 # 	Command line shell:
-	Linker.Link  --fileFormat=PE32CUI --fileName=oberon.exe --extension=GofW --displacement=401000H Runtime Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Streams64 Commands Files  Files64 WinFS HostFiles64 Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Reflection Loader WinTrace StdIO  Traps RelativeFileSystem WMDefaultFont SystemTools StdIOShell ~
+	Linker.Link  --fileFormat=PE32CUI --fileName=oberon.exe --extension=GofW --displacement=401000H Builtins Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Streams64 Commands Files  Files64 WinFS HostFiles64 Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Reflection Loader WinTrace StdIO  Traps RelativeFileSystem WMDefaultFont SystemTools StdIOShell ~
 
 # 3)
 Edit Configuration.XML :

+ 1 - 1
source/Fox.Tool

@@ -128,7 +128,7 @@ some documentation rules
 Building a library: 
 
 	FoxGenericObjectFile.MakeLibrary 
-		Kernel.Lib Runtime.GofW Trace.GofW
+		Kernel.Lib Builtins.GofW Trace.GofW
 		Kernel32.GofW Machine.GofW Heaps.GofW Modules.GofW Objects.GofW
 		Kernel.GofW KernelLog.GofW Streams.GofW Commands.GofW Files.GofW 
 		WinFS.GofW Clock.GofW Dates.GofW Reals.GofW Strings.GofW Diagnostics.GofW BitSets.GofW StringPool.GofW ObjectFile.GofW GenericLinker.GofW Reflection.GofW 

+ 4 - 4
source/FoxAMDBackend.Mod

@@ -502,7 +502,7 @@ TYPE
 	CodeGeneratorAMD64 = OBJECT (CodeGenerators.GeneratorWithTickets)
 	VAR
 		(* static generator state variables, considered constant during generation *)
-		runtimeModuleName: SyntaxTree.IdentifierString;
+		builtinsModuleName: SyntaxTree.IdentifierString;
 		cpuBits: LONGINT;
 		opBP, opSP, opRA, opRB, opRC,  opRD, opRSI, opRDI, opR8, opR9, opR10, opR11, opR12, opR13, opR14, opR15: Assembler.Operand; (* base pointer, stack pointer, register A, depends on cpuBits*)
 		BP, SP, RA, RD, RS, RC: LONGINT; (* base pointer and stack pointer register index, depends on cpuBits *)
@@ -538,7 +538,7 @@ TYPE
 		VAR physicalRegisters: PhysicalRegisters; physicalRegisters32: PhysicalRegisters32; physicalRegisters64: PhysicalRegisters64;
 		BEGIN
 			SELF.backend := backend;
-			runtimeModuleName := runtime;
+			builtinsModuleName := runtime;
 			SELF.cpuBits := backend.bits;
 
 			NEW(emitter,diagnostics);
@@ -602,7 +602,7 @@ TYPE
 
 		PROCEDURE Supported*(CONST instruction: IntermediateCode.Instruction; VAR moduleName, procedureName: ARRAY OF CHAR): BOOLEAN;
 		BEGIN
-			COPY(runtimeModuleName, moduleName);
+			COPY(builtinsModuleName, moduleName);
 			IF (cpuBits=32) & (instruction.op2.type.sizeInBits = IntermediateCode.Bits64) & (instruction.op2.type.form IN IntermediateCode.Integer) THEN
 				CASE instruction.opcode OF
 				IntermediateCode.div:
@@ -3245,7 +3245,7 @@ TYPE
 
 		PROCEDURE Initialize*(diagnostics: Diagnostics.Diagnostics; log: Streams.Writer; flags: SET; checker: SemanticChecker.Checker; system: Global.System);
 		BEGIN
-			Initialize^(diagnostics,log, flags,checker,system); NEW(cg, runtimeModuleName, diagnostics, SELF);
+			Initialize^(diagnostics,log, flags,checker,system); NEW(cg, builtinsModuleName, diagnostics, SELF);
 		END Initialize;
 
 		PROCEDURE GetSystem*(): Global.System;

+ 5 - 5
source/FoxARMBackend.Mod

@@ -534,7 +534,7 @@ TYPE
 
 	CodeGeneratorARM = OBJECT(CodeGenerators.GeneratorWithTickets)
 	VAR
-		runtimeModuleName: SyntaxTree.IdentifierString;
+		builtinsModuleName: SyntaxTree.IdentifierString;
 		backend: BackendARM;
 
 		opSP, opFP, opPC, opLR, opRES, opRESHI, opRESFS, opRESFD, fpscr: InstructionSet.Operand;
@@ -550,11 +550,11 @@ TYPE
 
 
 
-		PROCEDURE & InitGeneratorARM(CONST runtimeModuleName: SyntaxTree.IdentifierString; diagnostics: Diagnostics.Diagnostics; backend: BackendARM);
+		PROCEDURE & InitGeneratorARM(CONST builtinsModuleName: SyntaxTree.IdentifierString; diagnostics: Diagnostics.Diagnostics; backend: BackendARM);
 		VAR
 			physicalRegisters: PhysicalRegisters;
 		BEGIN
-			SELF.runtimeModuleName := runtimeModuleName;
+			SELF.builtinsModuleName := builtinsModuleName;
 			SELF.backend := backend;
 
 			IF Trace THEN IF backend.useFPU32 THEN D.String("use FPU"); D.Ln ELSE D.String("don't use FPU"); D.Ln END END;
@@ -674,7 +674,7 @@ TYPE
 			END;
 
 			IF ~result THEN
-				COPY(runtimeModuleName, moduleName);
+				COPY(builtinsModuleName, moduleName);
 				GetRuntimeProcedureName(irInstruction, procedureName);
 			END;
 			RETURN result
@@ -3484,7 +3484,7 @@ TYPE
 		PROCEDURE Initialize*(diagnostics: Diagnostics.Diagnostics; log: Streams.Writer; flags: SET; checker: SemanticChecker.Checker; system: Global.System);
 		BEGIN
 			Initialize^(diagnostics, log, flags, checker, system);
-			NEW(cg, runtimeModuleName, diagnostics, SELF)
+			NEW(cg, builtinsModuleName, diagnostics, SELF)
 		END Initialize;
 
 		PROCEDURE EnterCustomBuiltins;

+ 1 - 1
source/FoxDocumentationBackend.Mod

@@ -134,7 +134,7 @@ The following describes how a documentation is generated from a module:
 
 
 IMPORT Basic := FoxBasic, SyntaxTree := FoxSyntaxTree, Global := FoxGlobal, Scanner := FoxScanner, Backend := FoxBackend, Formats := FoxFormats,
-		Options, Streams, Runtime, Strings, SymbolFileFormat := FoxTextualSymbolFile, Diagnostics,
+		Options, Streams, Strings, SymbolFileFormat := FoxTextualSymbolFile, Diagnostics,
 		DocumentationTree := FoxDocumentationTree, DocumentationPrinter := FoxDocumentationPrinter, DocumentationHtml := FoxDocumentationHtml, DocumentationParser := FoxDocumentationParser, DocumentationScanner := FoxDocumentationScanner,
 		D := Debugging, Files;
 

+ 1 - 1
source/FoxGlobal.Mod

@@ -1486,7 +1486,7 @@ TYPE
 
 		(* code snippets for unsigned
 		ELSE
-			m := Runtime.AslH(1,system.SizeOf(type));
+			m := Builtins.AslH(1,system.SizeOf(type));
 			RETURN (this >= 0) & (this < m)
 		END;
 

+ 13 - 13
source/FoxIntermediateBackend.Mod

@@ -57,7 +57,7 @@ CONST
 		SysLock* = 5;  SysUnlock* = 6;  SysStart* = 7;  SysAwait* = 8; SysInterfaceLookup* = 9;
 		SysRegisterInterface* = 10; SysGetProcedure* = 11;
 
-		DefaultRuntimeModuleName ="Runtime";
+		DefaultBuiltinsModuleName ="Builtins";
 		DefaultTraceModuleName ="KernelLog";
 		ChannelModuleName = "Channels";
 		
@@ -818,7 +818,7 @@ TYPE
 				IF ~inline  & ~(procedureType.noPAF) & ~x.isEntry & ~x.isExit THEN
 					IF ToMemoryUnits(system,stackSize) > 4*1024-256 THEN (* stack frame potentially larger than page size *) (*! get page size from backend *)
 						(*! unnecessary with new implementation of ENTER -- should potentially be called by backend
-						IF implementationVisitor.GetRuntimeProcedure(implementationVisitor.runtimeModuleName,"EnsureAllocatedStack",procedure,TRUE) THEN
+						IF implementationVisitor.GetRuntimeProcedure(implementationVisitor.builtinsModuleName,"EnsureAllocatedStack",procedure,TRUE) THEN
 							size := IntermediateCode.Immediate(addressType,ToMemoryUnits(system,stackSize+256));
 							ir.EmitAt(pc,Push(size));
 							implementationVisitor.StaticCallOperand(result,procedure);
@@ -1386,7 +1386,7 @@ TYPE
 		supportedImmediate: SupportedImmediateProcedure;
 		inData: BOOLEAN;  (* to prevent indirect reference to data within data sections, cf. VisitIntegerValue *)
 		emitLabels: BOOLEAN;
-		runtimeModuleName : SyntaxTree.IdentifierString;
+		builtinsModuleName : SyntaxTree.IdentifierString;
 		newObjectFile: BOOLEAN;
 		indexCounter: LONGINT;
 
@@ -1418,7 +1418,7 @@ TYPE
 			newObjectFile: BOOLEAN);
 		BEGIN
 			SELF.system := system;
-			SELF.runtimeModuleName := runtime;
+			SELF.builtinsModuleName := runtime;
 
 			currentScope := NIL;
 			hiddenPointerType := NIL;
@@ -3487,7 +3487,7 @@ TYPE
 			IF backend.cooperative THEN
 				CallThis(position,"Runtime",procedureName, 4);
 			ELSE
-				CallThis(position,runtimeModuleName,procedureName, 4);
+				CallThis(position,builtinsModuleName,procedureName, 4);
 			END;
 			IntermediateCode.InitRegister(reg,int8,IntermediateCode.GeneralPurposeRegister,AcquireRegister(int8,IntermediateCode.GeneralPurposeRegister));
 			Emit(Result(position,reg));
@@ -3530,7 +3530,7 @@ TYPE
 			IF backend.cooperative THEN
 				CallThis(position,"Runtime",procedureName, 4);
 			ELSE
-				CallThis(position,runtimeModuleName,procedureName,4);
+				CallThis(position,builtinsModuleName,procedureName,4);
 			END;
 			RestoreRegisters(saved);
 		END CopyString;
@@ -13888,7 +13888,7 @@ TYPE
 			simpleMetaData := FALSE;
 			newObjectFile := FALSE;
 			InitBackend;
-			SetRuntimeModuleName(DefaultRuntimeModuleName);
+			SetBuiltinsModuleName(DefaultBuiltinsModuleName);
 			SetTraceModuleName(DefaultTraceModuleName);
 		END InitIntermediateBackend;
 		
@@ -13921,7 +13921,7 @@ TYPE
 			Global.GetModuleName(x, name);
 			module.SetModuleName(name);
 
-			NEW(implementationVisitor,system,checker,supportedInstruction, supportedImmediate, Compiler.FindPC IN flags, runtimeModuleName, SELF, newObjectFile);
+			NEW(implementationVisitor,system,checker,supportedInstruction, supportedImmediate, Compiler.FindPC IN flags, builtinsModuleName, SELF, newObjectFile);
 			NEW(declarationVisitor,system,implementationVisitor,SELF,Compiler.ForceModuleBodies IN flags,trace & (Compiler.Info IN flags));
 
 			NEW(meta, implementationVisitor, declarationVisitor,simpleMetaData);
@@ -13992,7 +13992,7 @@ TYPE
 		BEGIN
 			DefineOptions^(options);
 			options.Add(0X,"trace",Options.String);
-			options.Add(0X,"runtime",Options.String);
+			options.Add(0X,"builtinsModule",Options.String);
 			options.Add(0X,"newObjectFile",Options.Flag);
 			options.Add(0X,"traceModule",Options.String);
 			options.Add(0X,"profile",Options.Flag);
@@ -14019,7 +14019,7 @@ TYPE
 			cooperative := options.GetFlag("cooperative");
 			IF options.GetFlag("newObjectFile") THEN newObjectFile := TRUE; 
 				IF cooperative THEN 
-					SetRuntimeModuleName("CPU") END
+					SetBuiltinsModuleName("CPU") END
 				END;
 			IF options.GetString("objectFile",string) & (string = "Minos") THEN 
 				simpleMetaData := TRUE
@@ -14029,7 +14029,7 @@ TYPE
 				ELSIF string ="full" THEN simpleMetaData := FALSE
 				END;
 			END;
-			IF options.GetString("runtime",name) THEN SetRuntimeModuleName(name) END;
+			IF options.GetString("builtinsModule",name) THEN SetBuiltinsModuleName(name) END;
 			IF options.GetString("traceModule",name) THEN SetTraceModuleName(name) END;
 			optimize := options.GetFlag("optimize");
 			preregisterStatic := options.GetFlag("preregisterStatic");
@@ -14940,13 +14940,13 @@ END FoxIntermediateBackend.
 Compiler.Compile -p=Win32 FoxIntermediateBackend.Mod ~
 
 #	Release.Build --path="/temp/obg/" Win32 ~
-#	Linker.Link --fileFormat=PE32 --fileName=A2H.exe --extension=GofW --displacement=401000H  Runtime Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Commands Files WinFS Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Reflection  Loader  BootConsole ~
+#	Linker.Link --fileFormat=PE32 --fileName=A2H.exe --extension=GofW --displacement=401000H  Builtins Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Commands Files WinFS Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Reflection  Loader  BootConsole ~
 FStols.CloseFiles A2Z.exe ~
 
 SystemTools.FreeDownTo FoxIntermediateBackend ~
 
 Compiler.Compile -p=Win32 --destPath=/temp/obg/ --traceModule=Trace
-I386.Runtime.Mod Trace.Mod Windows.I386.Kernel32.Mod Windows.I386.Machine.Mod Heaps.Mod 
+I386.Builtins.Mod Trace.Mod Windows.I386.Kernel32.Mod Windows.I386.Machine.Mod Heaps.Mod 
 Modules.Mod Windows.I386.Objects.Mod Windows.Kernel.Mod KernelLog.Mod Plugins.Mod Streams.Mod Pipes.Mod 
 Commands.Mod I386.Reals.Mod Reflection.Mod TrapWriters.Mod CRC.Mod SystemVersion.Mod 
 Windows.I386.Traps.Mod Locks.Mod Windows.Clock.Mod Disks.Mod Files.Mod Dates.Mod Strings.Mod UTF8Strings.Mod 

+ 4 - 4
source/FoxIntermediateCode.Mod

@@ -392,7 +392,7 @@ TYPE
 
 	IntermediateBackend*= OBJECT (Backend.Backend)
 	VAR
-		runtimeModuleName-: SyntaxTree.IdentifierString;
+		builtinsModuleName-: SyntaxTree.IdentifierString;
 
 		PROCEDURE SupportedInstruction*(CONST instr: Instruction; VAR moduleName,procedureName: ARRAY OF CHAR): BOOLEAN;
 		BEGIN
@@ -400,10 +400,10 @@ TYPE
 			RETURN TRUE
 		END SupportedInstruction;
 
-		PROCEDURE SetRuntimeModuleName*(CONST name: ARRAY OF CHAR);
+		PROCEDURE SetBuiltinsModuleName*(CONST name: ARRAY OF CHAR);
 		BEGIN
-			COPY(name, runtimeModuleName);
-		END SetRuntimeModuleName;
+			COPY(name, builtinsModuleName);
+		END SetBuiltinsModuleName;
 
 	END IntermediateBackend;
 

+ 4 - 4
source/FoxIntermediateLinker.Mod

@@ -717,9 +717,9 @@ TYPE
 			SELF.outputFormat := output;
 			NEW(irLinker, diagnostics, backend, ""); (* TODO: pass an optional path as third parameter *)
 			IF (inExtension # "") THEN irLinker.objectFile.SetExtension(inExtension) END;
-			IF ~irLinker.LoadModule(backend(IntermediateCode.IntermediateBackend).runtimeModuleName, TRUE) THEN
+			IF ~irLinker.LoadModule(backend(IntermediateCode.IntermediateBackend).builtinsModuleName, TRUE) THEN
 				error := TRUE;
-				Basic.Error(diagnostics, backend(IntermediateCode.IntermediateBackend).runtimeModuleName,Diagnostics.Invalid, Diagnostics.Invalid, "could not load ir file");
+				Basic.Error(diagnostics, backend(IntermediateCode.IntermediateBackend).builtinsModuleName,Diagnostics.Invalid, Diagnostics.Invalid, "could not load ir file");
 			END;
 			backend := irLinker.backend;
 			system := backend.system;
@@ -1017,9 +1017,9 @@ TYPE
 				IF diagnostics = NIL THEN diagnostics := Basic.GetDefaultDiagnostics() END;
 				SELF.objectFileFormat := objectFileFormat;
 				NEW(irLinker, specification.diagnostics, backend, ""); (* TODO: pass an optional path as third parameter *)
-				IF ~irLinker.LoadModule(backend(IntermediateCode.IntermediateBackend).runtimeModuleName, TRUE) THEN
+				IF ~irLinker.LoadModule(backend(IntermediateCode.IntermediateBackend).builtinsModuleName, TRUE) THEN
 					error := TRUE;
-					Basic.Error(diagnostics, backend(IntermediateCode.IntermediateBackend).runtimeModuleName,Diagnostics.Invalid, Diagnostics.Invalid, "could not load ir file");
+					Basic.Error(diagnostics, backend(IntermediateCode.IntermediateBackend).builtinsModuleName,Diagnostics.Invalid, Diagnostics.Invalid, "could not load ir file");
 				END;
 				IF ~irLinker.LoadModule(specification.name,TRUE) THEN
 					error := TRUE;

+ 1 - 1
source/FoxIntermediateObjectFile.Mod

@@ -534,7 +534,7 @@ TYPE ObjectFileFormat* = OBJECT (Formats.ObjectFileFormat)
 END FoxIntermediateObjectFile.
 
 SystemTools.FreeDownTo FoxIntermediateObjectFile ~
-FoxIntermediateObjectFile.Show Runtime  ~
+FoxIntermediateObjectFile.Show Builtins  ~
 
 			(* test code to compare ..
 			backend: Backend.Backend;

+ 4 - 4
source/FoxTRMBackend.Mod

@@ -195,7 +195,7 @@ TYPE
 		stackSize, spillStackPosition: LONGINT;
 		stackSizeKnown: BOOLEAN;
 		inStackAllocation: BOOLEAN;
-		runtimeModuleName: SyntaxTree.IdentifierString;
+		builtinsModuleName: SyntaxTree.IdentifierString;
 
 		forwardFixups: ForwardFixupList;
 		spillStackStart: LONGINT;
@@ -213,7 +213,7 @@ TYPE
 		VAR physicalRegisters: PhysicalRegisters;
 		BEGIN
 			inStackAllocation := FALSE;
-			SELF.runtimeModuleName := runtime;
+			SELF.builtinsModuleName := runtime;
 			SELF.instructionSet:=instructionSet;
 			backend := b;
 			NEW(physicalRegisters,FALSE);
@@ -349,7 +349,7 @@ TYPE
 		BEGIN
 			opcode := instr.opcode;
 			form := instr.op1.type.form;
-			COPY(runtimeModuleName, moduleName);
+			COPY(builtinsModuleName, moduleName);
 			IF opcode = IntermediateCode.conv THEN (* conversions between float and integer types in a library *)
 				IF form = IntermediateCode.Float THEN
 					IF instr.op2.type.form = IntermediateCode.Float THEN
@@ -2231,7 +2231,7 @@ TYPE
 			Initialize^(diagnostics, log, flags, checker, system); (*goes up the inheritance hierarchy all the way to Backend.Mod*)
 			
 			
-			NEW(cg, runtimeModuleName, diagnostics, SELF,myInstructionSet);
+			NEW(cg, builtinsModuleName, diagnostics, SELF,myInstructionSet);
 			cg.patchSpartan6 := patchSpartan6;
 			recentInstructionWidth := Sections.UnknownSize;
 		END Initialize;

+ 3 - 3
source/Heaps.Mod

@@ -10,7 +10,7 @@ MODULE Heaps;	(** AUTHOR "pjm/Luc Bläser/U. Glavitsch (ug)"; PURPOSE "Heap mana
 		Knuth, The Art of Computer Programming, Volume 1, Section 2.3.5, Algorithm C
 *)
 
-IMPORT Runtime (* enforce import order *), SYSTEM, Trace, Machine;
+IMPORT Builtins (* enforce import order *), SYSTEM, Trace, Machine;
 
 CONST
 	EnableRefCount =TRUE;
@@ -2132,7 +2132,7 @@ Co
 
 
 Compiler.Compile -p=Win32 --writeBarriers --traceModule=Trace
-I386.Runtime.Mod Trace.Mod Windows.I386.Kernel32.Mod Windows.I386.Machine.Mod Heaps.Mod 
+I386.Builtins.Mod Trace.Mod Windows.I386.Kernel32.Mod Windows.I386.Machine.Mod Heaps.Mod 
 Modules.Mod Windows.I386.Objects.Mod Windows.Kernel.Mod KernelLog.Mod Plugins.Mod Streams.Mod Pipes.Mod 
 Commands.Mod I386.Reals.Mod Reflection.Mod
 Windows.I386.Traps.Mod Windows.WinTrace.Mod Windows.StdIO.Mod Locks.Mod Windows.Clock.Mod Disks.Mod Files.Mod 
@@ -2145,7 +2145,7 @@ StringPool.Mod ObjectFile.Mod GenericLinker.Mod Loader.Mod BootConsole.Mod
 ~
 
 Compiler.Compile -p=Win32 --traceModule=Trace --writeBarriers Heaps.Mod ~
-Linker.Link --fileFormat=PE32 --fileName=A2.exe --extension=GofW --displacement=401000H Runtime Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Commands FIles WinFS Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Reflection  Loader  BootConsole ~
+Linker.Link --fileFormat=PE32 --fileName=A2.exe --extension=GofW --displacement=401000H Builtins Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Commands FIles WinFS Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Reflection  Loader  BootConsole ~
 FSTools.CloseFiles A2.exe ~
 
 

+ 3 - 3
source/I386.Runtime.Mod → source/I386.Builtins.Mod

@@ -1,4 +1,4 @@
-MODULE Runtime; (** AUTHOR "fof"; PURPOSE "runtime support for the Active Oberon compiler"; *)
+MODULE Builtins; (** AUTHOR "fof"; PURPOSE "Built-in functions for the Active Oberon Compiler"; *)
 IMPORT SYSTEM;
 
 VAR
@@ -476,7 +476,7 @@ END EnsureAllocatedStack;
 
 BEGIN
 	(*! assumed that modules = 0, implicit call of InsertModule *)
-END Runtime.
+END Builtins.
 
 
-Runtime.Obw
+Builtins.Obw

+ 2 - 2
source/Linux.AMD64.Glue.Mod

@@ -212,7 +212,7 @@ SystemTools.FreeDownTo FoxIntermediateBackend ~
 
 SystemTools.DoCommands
 	Compiler.Compile -p=Linux32
-		I386.Runtime.Mod Trace.Mod Linux.I386.Glue.Mod Linux.I386.Unix.Mod Unix.I386.Machine.Mod Heaps.Mod  Modules.Mod 
+		I386.Builtins.Mod Trace.Mod Linux.I386.Glue.Mod Linux.I386.Unix.Mod Unix.I386.Machine.Mod Heaps.Mod  Modules.Mod 
 		Unix.Objects.Mod 
 		Unix.Kernel.Mod KernelLog.Mod Plugins.Mod Streams.Mod 
 		Pipes.Mod Commands.Mod I386.Reals.Mod Reflection.Mod TrapWriters.Mod CRC.Mod SystemVersion.Mod 
@@ -224,7 +224,7 @@ SystemTools.DoCommands
 	~
 
 	Linker.Link --fileFormat=Raw --fileName=simple_elf --extension=.GofU --displacement=08048000H
-		Runtime Trace Glue Unix Machine Heaps Modules Objects Kernel KernelLog 
+		Builtins Trace Glue Unix Machine Heaps Modules Objects Kernel KernelLog 
 Streams Commands StdIO TrapWriters Traps 
 Files UnixFiles Clock Dates Reals Strings Diagnostics 
 BitSets StringPool ObjectFile GenericLinker Reflection  Loader  

+ 2 - 2
source/Linux.I386.Glue.Mod

@@ -212,7 +212,7 @@ SystemTools.FreeDownTo FoxIntermediateBackend ~
 
 SystemTools.DoCommands
 	Compiler.Compile -p=Linux32
-		I386.Runtime.Mod Trace.Mod Linux.I386.Glue.Mod Linux.I386.Unix.Mod Unix.I386.Machine.Mod Heaps.Mod  Modules.Mod 
+		I386.Builtins.Mod Trace.Mod Linux.I386.Glue.Mod Linux.I386.Unix.Mod Unix.I386.Machine.Mod Heaps.Mod  Modules.Mod 
 		Unix.Objects.Mod 
 		Unix.Kernel.Mod KernelLog.Mod Plugins.Mod Streams.Mod 
 		Pipes.Mod Commands.Mod I386.Reals.Mod Reflection.Mod TrapWriters.Mod CRC.Mod SystemVersion.Mod 
@@ -224,7 +224,7 @@ SystemTools.DoCommands
 	~
 
 	Linker.Link --fileFormat=Raw --fileName=simple_elf --extension=.GofU --displacement=08048000H
-		Runtime Trace Glue Unix Machine Heaps Modules Objects Kernel KernelLog 
+		Builtins Trace Glue Unix Machine Heaps Modules Objects Kernel KernelLog 
 Streams Commands StdIO TrapWriters Traps 
 Files UnixFiles Clock Dates Reals Strings Diagnostics 
 BitSets StringPool ObjectFile GenericLinker Reflection  Loader  

+ 2 - 2
source/Modules.Mod

@@ -872,7 +872,7 @@ o GetProcedure race: process A calls ThisModule, the module is published, but be
 
 
 Linker.Link --fileFormat=PE32 --fileName=A2M.exe --extension=GofW --displacement=401000H  
-Runtime Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Commands 
+Builtins Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Commands 
 FIles WinFS Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Reflection  
 Loader  BootConsole
 
@@ -1016,4 +1016,4 @@ SystemTools
 Linker
 ~
 
-SystemTools.ListModules -l ~
+SystemTools.ListModules -l ~

+ 1 - 1
source/Reflection.Mod

@@ -1299,4 +1299,4 @@ BEGIN
 END Reflection.
 
 
-Linker.Link --fileFormat=PE32 --fileName=A2.exe --extension=GofW --displacement=401000H  Runtime Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Commands Files WinFS Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Reflection  Loader  BootConsole ~
+Linker.Link --fileFormat=PE32 --fileName=A2.exe --extension=GofW --displacement=401000H  Builtins Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Commands Files WinFS Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Reflection  Loader  BootConsole ~

+ 9 - 9
source/Release.Tool

@@ -17,23 +17,23 @@
 #
 # WINAOS
 #	Release.Build Win32 ~
-#	Linker.Link --fileFormat=PE32 --fileName=A2.exe --extension=GofW --displacement=401000H Runtime Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Commands Files WinFS Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Reflection Loader BootConsole ~
+#	Linker.Link --fileFormat=PE32 --fileName=A2.exe --extension=GofW --displacement=401000H Builtins Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Commands Files WinFS Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Reflection Loader BootConsole ~
 #	Do not forget to add the object file path to the path and to add ObjectFileExtension= ".ObfW" to your .ini file in order to configure the loader.
 # Command line shell:
-# Linker.Link --fileFormat=PE32CUI --fileName=oberon.exe --extension=GofW --displacement=401000H Runtime Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Commands Files WinFS Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Reflection Loader WinTrace StdIO Traps RelativeFileSystem WMDefaultFont SystemTools StdIOShell ~
+# Linker.Link --fileFormat=PE32CUI --fileName=oberon.exe --extension=GofW --displacement=401000H Builtins Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Commands Files WinFS Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Reflection Loader WinTrace StdIO Traps RelativeFileSystem WMDefaultFont SystemTools StdIOShell ~
 #
 # LinuxAOS
 #	Release.Build Linux32 ~
 # Command line version:
-#	Linker.Link -p=Linux32 Runtime Trace Glue Unix Machine Heaps Modules Objects Kernel KernelLog Streams Commands Pipes StdIO TrapWriters Reflection Traps Files UnixFiles Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Loader Shell SystemTools StdIOShell ~
+#	Linker.Link -p=Linux32 Builtins Trace Glue Unix Machine Heaps Modules Objects Kernel KernelLog Streams Commands Pipes StdIO TrapWriters Reflection Traps Files UnixFiles Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Loader Shell SystemTools StdIOShell ~
 # X11 Bootconsole:
-#	Linker.Link -p=Linux32 Runtime Trace Glue Unix Machine Heaps Modules Objects Kernel KernelLog Streams Commands Pipes StdIO TrapWriters Reflection Traps Files UnixFiles Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Loader BootConsole ~
+#	Linker.Link -p=Linux32 Builtins Trace Glue Unix Machine Heaps Modules Objects Kernel KernelLog Streams Commands Pipes StdIO TrapWriters Reflection Traps Files UnixFiles Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Loader BootConsole ~
 #
 # SolarisAOS
 #	Release.Build Solaris32 ~
 # X11 Bootconsole:
 #	Linker.Link -p=Solaris32 --path=NewAos/
-#		Runtime Trace Glue Unix Machine Heaps Modules Objects Kernel KernelLog Streams Pipes
+#		Builtins Trace Glue Unix Machine Heaps Modules Objects Kernel KernelLog Streams Pipes
 #		Commands StdIO TrapWriters Traps Files UnixFiles Clock Dates Reals Strings Diagnostics
 #		BitSets StringPool GenericLinker Reflection Loader BootConsole ~
 #	UnixBinary.Build oberon.bin -> A2Core ~
@@ -42,7 +42,7 @@
 #	Release.Build Darwin32 ~
 # X11 Bootconsole:
 #	Linker.Link -p=Darwin32 --path=NewAos/
-#		Runtime Trace Glue Unix Machine Heaps Modules Objects Kernel KernelLog Streams Pipes
+#		Builtins Trace Glue Unix Machine Heaps Modules Objects Kernel KernelLog Streams Pipes
 #		Commands StdIO TrapWriters Traps Files UnixFiles Clock Dates Reals Strings Diagnostics
 #		BitSets StringPool GenericLinker Reflection Loader BootConsole ~
 #	UnixBinary.Build oberon.bin -> A2Core ~
@@ -233,8 +233,8 @@ PACKAGE Kernel ARCHIVE "Kernel.zip" SOURCE "KernelSrc.zip" DESCRIPTION "A2 Kerne
 # Active Oberon run-time
 
 	# Runtime support for HUGEINT and strings
-	UNCOOP32 { I386.Runtime.Mod }
-	UNCOOP64 { AMD64.Runtime.Mod }
+	UNCOOP32 { I386.Builtins.Mod }
+	UNCOOP64 { AMD64.Builtins.Mod }
 	BIOS32C, WIN32C { I386.CPU.Mod }
 	RPIC { RPI.CPU.Mod }
 	ZYNQC { Zynq.CPU.Mod }
@@ -248,7 +248,7 @@ PACKAGE Kernel ARCHIVE "Kernel.zip" SOURCE "KernelSrc.zip" DESCRIPTION "A2 Kerne
 	WINCOOP { Coop.Windows.I386.Kernel32.Mod Windows.Processors.Mod Windows.Timer.Mod }
 	RPIC { RPI.Processors.Mod RPI.Timer.Mod }
 	ZYNQC { Zynq.Processors.Mod Zynq.Timer.Mod }
-	COOP { Queues.Mod BaseTypes.Mod Activities.Mod ExclusiveBlocks.Mod Interrupts.Mod Coop.Runtime.Mod }
+	COOP { Queues.Mod BaseTypes.Mod Activities.Mod ExclusiveBlocks.Mod Interrupts.Mod Runtime.Mod }
 	BIOS32C { HeapManager.Mod BIOS.Environment.Mod }
 	RPIC { HeapManager.Mod RPI.Environment.Mod }
 	ZYNQC { HeapManager.Mod Zynq.Environment.Mod }

+ 2 - 2
source/ReleaseVisualizer.Mod

@@ -779,7 +779,7 @@ TYPE
 			DEC(j); DEC(i);
 				AddSubSystem(i, "FoxBasic", "A2", 06060FFFFH, j, TRUE);
 				AddSubSystem(i, "BitSets", "A2", 06060FFFFH, j, TRUE);
-				AddSubSystem(i, "Runtime", "A2", 06060FFFFH, j, TRUE);
+				AddSubSystem(i, "Builtins", "A2", 06060FFFFH, j, TRUE);
 				AddSubSystem(i, "ObjectFile", "A2", 06060FFFFH, j, TRUE);
 				AddSubSystem(i, "FoxProgTools", "A2", 06060FFFFH, j, TRUE);
 			DEC(j); DEC(i);
@@ -1236,4 +1236,4 @@ ReleaseVisualizer.Open ~
 
 ReleaseVisualizer.Open ../TestA2/*.Mod ~
 
-ReleaseVisualizer.Open --trace ../TestA2/*.Mod ~
+ReleaseVisualizer.Open --trace ../TestA2/*.Mod ~

+ 0 - 0
source/Coop.Runtime.Mod → source/Runtime.Mod


+ 4 - 4
source/StdIOShell.Mod

@@ -68,19 +68,19 @@ END StdIOShell.
 Linking a command line shell:
 
 Command line shell: (Windows):
-Linker.Link  --fileFormat=PE32CUI --fileName=oberon.exe --extension=GofW --displacement=401000H Runtime Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Commands Files  WinFS Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Reflection Loader WinTrace StdIO  Traps RelativeFileSystem WMDefaultFont SystemTools Shell StdIOShell ~
+Linker.Link  --fileFormat=PE32CUI --fileName=oberon.exe --extension=GofW --displacement=401000H Builtins Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Commands Files  WinFS Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Reflection Loader WinTrace StdIO  Traps RelativeFileSystem WMDefaultFont SystemTools Shell StdIOShell ~
 
 Command line shell including compiler (and linker)
-Linker.Link  --fileFormat=PE32CUI --fileName=oberon.exe --extension=GofW --displacement=401000H Runtime Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Commands Files  WinFS Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Reflection Loader WinTrace StdIO  Traps RelativeFileSystem SystemTools FSTools StdIOShell 
+Linker.Link  --fileFormat=PE32CUI --fileName=oberon.exe --extension=GofW --displacement=401000H Builtins Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Commands Files  WinFS Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Reflection Loader WinTrace StdIO  Traps RelativeFileSystem SystemTools FSTools StdIOShell 
 Shell Linker Compiler FoxOberonFrontend FoxARMBackend FoxAMDBackend
 ~
 
 
 Command line shell: (Linux):
-Linker.Link -p=Linux32 Runtime Trace Glue Unix Machine Heaps Modules Objects Kernel KernelLog  Streams Commands Pipes StdIO TrapWriters Reflection Traps Files UnixFiles Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker   Loader Shell SystemTools StdIOShell ~
+Linker.Link -p=Linux32 Builtins Trace Glue Unix Machine Heaps Modules Objects Kernel KernelLog  Streams Commands Pipes StdIO TrapWriters Reflection Traps Files UnixFiles Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker   Loader Shell SystemTools StdIOShell ~
 
 Command line shell including compiler (and linker)
-Linker.Link -p=Linux32 Runtime Trace Glue Unix Machine Heaps Modules Objects Kernel KernelLog  Streams Commands Pipes StdIO TrapWriters Reflection Traps Files UnixFiles Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker   Loader Shell SystemTools StdIOShell 
+Linker.Link -p=Linux32 Builtins Trace Glue Unix Machine Heaps Modules Objects Kernel KernelLog  Streams Commands Pipes StdIO TrapWriters Reflection Traps Files UnixFiles Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker   Loader Shell SystemTools StdIOShell 
 Linker Compiler FoxOberonFrontend FoxARMBackend FoxAMDBackend
 ~
 

+ 2 - 2
source/Unix.AMD64.Glue.Mod

@@ -77,7 +77,7 @@ END Glue.
  Building the SolarisA2 Generic elf binary:
 
 Compiler.Compile -p=Linux64
-		I386.Runtime.Mod Trace.Mod 
+		I386.Builtins.Mod Trace.Mod 
 		Unix.I386.Glue.Mod  Solaris.I386.Unix.Mod  Unix.I386.Machine.Mod	
 		Heaps.Mod  Modules.Mod  Solaris.Objects.Mod  Unix.Kernel.Mod
 		KernelLog.Mod  Streams.Mod  Pipes.Mod  Commands.Mod  TrapWriters.Mod  Reflection.Mod	
@@ -91,7 +91,7 @@ Compiler.Compile -p=Linux64
 		
 	
 Linker.Link  -p=Solaris64
-		Runtime Trace Glue 
+		Builtins Trace Glue 
 		Unix  Machine  Heaps Modules  Objects  Kernel  KernelLog 
 		Streams  Pipes  Commands  StdIO  TrapWriters  Traps 
 		Files  UnixFiles  Clock  Dates  Reals  Strings  Diagnostics 

+ 2 - 2
source/Unix.I386.Glue.Mod

@@ -77,7 +77,7 @@ END Glue.
  Building the SolarisA2 Generic elf binary:
 
 Compiler.Compile -p=Linux32
-		I386.Runtime.Mod Trace.Mod 
+		I386.Builtins.Mod Trace.Mod 
 		Unix.I386.Glue.Mod  Solaris.I386.Unix.Mod  Unix.I386.Machine.Mod	
 		Heaps.Mod  Modules.Mod  Solaris.Objects.Mod  Unix.Kernel.Mod
 		KernelLog.Mod  Streams.Mod  Pipes.Mod  Commands.Mod  TrapWriters.Mod  Reflection.Mod	
@@ -91,7 +91,7 @@ Compiler.Compile -p=Linux32
 		
 	
 Linker.Link  -p=Solaris32
-		Runtime Trace Glue 
+		Builtins Trace Glue 
 		Unix  Machine  Heaps Modules  Objects  Kernel  KernelLog 
 		Streams  Pipes  Commands  StdIO  TrapWriters  Traps 
 		Files  UnixFiles  Clock  Dates  Reals  Strings  Diagnostics 

+ 1 - 1
source/Windows.AMD64.Objects.Mod

@@ -1348,4 +1348,4 @@ SystemTools.ShowStacks ~
 
 Heaps.SetMetaData 
 
-Linker.Link --fileFormat=PE32 --fileName=A2GC.exe --extension=GofW --displacement=401000H Runtime Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Commands FIles WinFS Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Reflection  Loader  BootConsole ~
+Linker.Link --fileFormat=PE32 --fileName=A2GC.exe --extension=GofW --displacement=401000H Builtins Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Commands FIles WinFS Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Reflection  Loader  BootConsole ~

+ 1 - 1
source/Windows.I386.Objects.Mod

@@ -1375,4 +1375,4 @@ SystemTools.ShowStacks ~
 
 Heaps.SetMetaData 
 
-Linker.Link --fileFormat=PE32 --fileName=A2GC.exe --extension=GofW --displacement=401000H Runtime Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Commands FIles WinFS Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Reflection  Loader  BootConsole ~
+Linker.Link --fileFormat=PE32 --fileName=A2GC.exe --extension=GofW --displacement=401000H Builtins Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Commands FIles WinFS Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Reflection  Loader  BootConsole ~

+ 2 - 2
source/Windows.StdIO.Mod

@@ -67,7 +67,7 @@ END  StdIO.
 SystemTools.DoCommands 
 
 	Compiler.Compile  -b=AMD --newObjectFile  --objectFileExtension=.Gox --symbolFileExtension=.Syx --mergeSections
-		I386.Runtime.Mod Trace.Mod Windows.I386.Kernel32.Mod Windows.I386.Machine.Mod Heaps.Mod 
+		I386.Builtins.Mod Trace.Mod Windows.I386.Kernel32.Mod Windows.I386.Machine.Mod Heaps.Mod 
 		Modules.Mod Windows.I386.Objects.Mod Windows.Kernel.Mod KernelLog.Mod Streams.Mod Commands.Mod 
 		I386.Reals.Mod Reflection.Mod Locks.Mod Windows.Clock.Mod Files.Mod Dates.Mod Strings.Mod 
 
@@ -84,7 +84,7 @@ SystemTools.DoCommands
 		
 		
 	Linker.Link --fileFormat=PE32CUI --fileName=fox.exe --extension=Gox --displacement=401000H
-		Runtime Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Commands Files 
+		Builtins Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Commands Files 
 		WinFS Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Reflection Loader
 		WinTrace StdIO Pipes Shell TestStdIO ~
 		

+ 2 - 2
tools/builds/a2/makefile

@@ -28,8 +28,8 @@ FoxArrayBase$(object): ComplexNumbers$(object)
 
 # Fox Compiler
 
-oberon: $(addsuffix $(object), Runtime Trace Glue Unix Machine Heaps Modules Objects 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 SystemTools Debugging FoxBasic FoxScanner FoxSyntaxTree FoxGlobal FoxParser FoxFingerPrinter FoxPrintout FoxFormats FoxSemanticChecker FoxBackend FoxFrontend Compiler FoxOberonFrontend FoxSections FoxBinaryCode FoxIntermediateCode FoxInterfaceComparison FoxTextualSymbolFile FoxIntermediateBackend FoxAMD64InstructionSet FoxAMD64Assembler FoxCodeGenerators FoxAMDBackend FoxGenericObjectFile Math MathL ComplexNumbers FoxArrayBase FoxArrayBaseOptimized Linker DependencyWalker Localization Repositories UnicodeProperties TextUtilities ReleaseThreadPool Zlib ZlibBuffers ZlibInflate ZlibReaders ZlibDeflate ZlibWriters Zip CompilerInterface Release)
-	@$(tool) Linker.Link -p=$(target) --fileName=$@ Runtime Traps UnixFiles Loader WMDefaultFont StdIOShell Shell SystemTools Compiler FoxOberonFrontend FoxAMDBackend FoxArrayBase FoxArrayBaseOptimized Linker DependencyWalker Release && chmod +x $@
+oberon: $(addsuffix $(object), Builtins Trace Glue Unix Machine Heaps Modules Objects 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 SystemTools Debugging FoxBasic FoxScanner FoxSyntaxTree FoxGlobal FoxParser FoxFingerPrinter FoxPrintout FoxFormats FoxSemanticChecker FoxBackend FoxFrontend Compiler FoxOberonFrontend FoxSections FoxBinaryCode FoxIntermediateCode FoxInterfaceComparison FoxTextualSymbolFile FoxIntermediateBackend FoxAMD64InstructionSet FoxAMD64Assembler FoxCodeGenerators FoxAMDBackend FoxGenericObjectFile Math MathL ComplexNumbers FoxArrayBase FoxArrayBaseOptimized Linker DependencyWalker Localization Repositories UnicodeProperties TextUtilities ReleaseThreadPool Zlib ZlibBuffers ZlibInflate ZlibReaders ZlibDeflate ZlibWriters Zip CompilerInterface Release)
+	@$(tool) Linker.Link -p=$(target) --fileName=$@ Builtins Traps UnixFiles Loader WMDefaultFont StdIOShell Shell SystemTools Compiler FoxOberonFrontend FoxAMDBackend FoxArrayBase FoxArrayBaseOptimized Linker DependencyWalker Release && chmod +x $@
 # grep ":processing\s$" oberon.log | grep "^[^:]\+" -o | tr '\n' ' '
 
 compiler: $(addsuffix $(object), FoxA2Interface FoxActiveCells FoxAMD64Assembler FoxAMD64InstructionSet FoxAMDBackend FoxARMAssembler FoxARMBackend FoxARMInstructionSet FoxArrayBase FoxArrayBaseOptimized FoxAssembler FoxBackend FoxBasic FoxBinaryCode FoxCodeGenerators Compiler 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 TextCompiler FoxTextualSymbolFile FoxTranspilerBackend FoxTRMAssembler FoxTRMBackend FoxTRMInstructionSet)

二進制
tools/builds/a2/original