瀏覽代碼

rebuilt release

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@7537 8c9fc860-2736-0410-a75d-ab315db34111
felixf 7 年之前
父節點
當前提交
e8c2780370
共有 100 個文件被更改,包括 40 次插入599 次删除
  1. 二進制
      WinAos/A2.exe
  2. 二進制
      WinAos/oberon.exe
  3. 二進制
      WinAos/obg/ASN1.GofW
  4. 二進制
      WinAos/obg/AVI.GofW
  5. 二進制
      WinAos/obg/ArrayBase.GofW
  6. 二進制
      WinAos/obg/ArrayBaseOptimized.GofW
  7. 二進制
      WinAos/obg/BMPCodec.GofW
  8. 二進制
      WinAos/obg/Base64.GofW
  9. 二進制
      WinAos/obg/BenchXML.GofW
  10. 二進制
      WinAos/obg/Bimso.GofW
  11. 二進制
      WinAos/obg/BootShell.GofW
  12. 二進制
      WinAos/obg/CharacterLineup.GofW
  13. 二進制
      WinAos/obg/Compiler.GofW
  14. 1 1
      WinAos/obg/Compiler.SymW
  15. 二進制
      WinAos/obg/ComponentInfo.GofW
  16. 二進制
      WinAos/obg/ContextualDependency.GofW
  17. 二進制
      WinAos/obg/CryptoAES.GofW
  18. 二進制
      WinAos/obg/CryptoARC4.GofW
  19. 二進制
      WinAos/obg/CryptoBase64.GofW
  20. 二進制
      WinAos/obg/CryptoBigNumbers.GofW
  21. 二進制
      WinAos/obg/CryptoBlowfish.GofW
  22. 二進制
      WinAos/obg/CryptoCAST.GofW
  23. 二進制
      WinAos/obg/CryptoDES3.GofW
  24. 二進制
      WinAos/obg/CryptoDSA.GofW
  25. 二進制
      WinAos/obg/CryptoHMAC.GofW
  26. 二進制
      WinAos/obg/CryptoIDEA.GofW
  27. 二進制
      WinAos/obg/CryptoKeccakF1600.GofW
  28. 二進制
      WinAos/obg/CryptoMD5.GofW
  29. 二進制
      WinAos/obg/CryptoPrimes.GofW
  30. 二進制
      WinAos/obg/CryptoRSA.GofW
  31. 二進制
      WinAos/obg/CryptoTestCiphers.GofW
  32. 二進制
      WinAos/obg/CryptoTestHashes.GofW
  33. 二進制
      WinAos/obg/CryptoTwofish.GofW
  34. 二進制
      WinAos/obg/CryptoUtils.GofW
  35. 二進制
      WinAos/obg/CyrillicUtilities.GofW
  36. 二進制
      WinAos/obg/DES.GofW
  37. 二進制
      WinAos/obg/DTPData.GofW
  38. 二進制
      WinAos/obg/DTPEditor.GofW
  39. 二進制
      WinAos/obg/DTPRect.GofW
  40. 二進制
      WinAos/obg/DTPText.GofW
  41. 二進制
      WinAos/obg/DTPUtilities.GofW
  42. 二進制
      WinAos/obg/DTPView.GofW
  43. 二進制
      WinAos/obg/Dates.GofW
  44. 二進制
      WinAos/obg/DebugLog.GofW
  45. 二進制
      WinAos/obg/Decoder.GofW
  46. 二進制
      WinAos/obg/DiffLib.GofW
  47. 二進制
      WinAos/obg/DiskTests.GofW
  48. 二進制
      WinAos/obg/Display.GofW
  49. 二進制
      WinAos/obg/Displays.GofW
  50. 二進制
      WinAos/obg/DivXDecoder.GofW
  51. 二進制
      WinAos/obg/DivXHelper.GofW
  52. 二進制
      WinAos/obg/DivXTypes.GofW
  53. 二進制
      WinAos/obg/DynamicWebpagePlugin.GofW
  54. 二進制
      WinAos/obg/EFIGraphicalConsole.GofW
  55. 二進制
      WinAos/obg/ExerciseGroups.GofW
  56. 二進制
      WinAos/obg/FATFiles.GofW
  57. 二進制
      WinAos/obg/FATScavenger.GofW
  58. 二進制
      WinAos/obg/FoxAMD64Assembler.GofW
  59. 二進制
      WinAos/obg/FoxAMD64InstructionSet.GofW
  60. 30 593
      WinAos/obg/FoxAMD64InstructionSet.SymW
  61. 二進制
      WinAos/obg/FoxAMDBackend.GofW
  62. 二進制
      WinAos/obg/FoxARMAssembler.GofW
  63. 二進制
      WinAos/obg/FoxARMBackend.GofW
  64. 二進制
      WinAos/obg/FoxARMInstructionSet.GofW
  65. 二進制
      WinAos/obg/FoxActiveCells.GofW
  66. 二進制
      WinAos/obg/FoxArrayBase.GofW
  67. 二進制
      WinAos/obg/FoxArrayBaseOptimized.GofW
  68. 二進制
      WinAos/obg/FoxAssembler.GofW
  69. 2 2
      WinAos/obg/FoxAssembler.SymW
  70. 二進制
      WinAos/obg/FoxBasic.GofW
  71. 二進制
      WinAos/obg/FoxBinaryCode.GofW
  72. 2 2
      WinAos/obg/FoxBinaryCode.SymW
  73. 二進制
      WinAos/obg/FoxBinaryObjectFile.GofW
  74. 二進制
      WinAos/obg/FoxBinarySymbolFile.GofW
  75. 二進制
      WinAos/obg/FoxCSharpParser.GofW
  76. 二進制
      WinAos/obg/FoxCodeGenerators.GofW
  77. 二進制
      WinAos/obg/FoxDocumentationBackend.GofW
  78. 二進制
      WinAos/obg/FoxFingerPrinter.GofW
  79. 二進制
      WinAos/obg/FoxFormats.GofW
  80. 二進制
      WinAos/obg/FoxGenericObjectFile.GofW
  81. 二進制
      WinAos/obg/FoxGlobal.GofW
  82. 二進制
      WinAos/obg/FoxInterfaceComparison.GofW
  83. 二進制
      WinAos/obg/FoxIntermediateAssembler.GofW
  84. 二進制
      WinAos/obg/FoxIntermediateBackend.GofW
  85. 4 1
      WinAos/obg/FoxIntermediateBackend.SymW
  86. 二進制
      WinAos/obg/FoxIntermediateCode.GofW
  87. 二進制
      WinAos/obg/FoxIntermediateLinker.GofW
  88. 二進制
      WinAos/obg/FoxIntermediateParser.GofW
  89. 二進制
      WinAos/obg/FoxInterpreterBackend.GofW
  90. 二進制
      WinAos/obg/FoxMinosObjectFile.GofW
  91. 二進制
      WinAos/obg/FoxParser.GofW
  92. 二進制
      WinAos/obg/FoxPrintout.GofW
  93. 二進制
      WinAos/obg/FoxProfiler.GofW
  94. 二進制
      WinAos/obg/FoxProgTools.GofW
  95. 二進制
      WinAos/obg/FoxSemanticChecker.GofW
  96. 二進制
      WinAos/obg/FoxSyntaxTree.GofW
  97. 1 0
      WinAos/obg/FoxSyntaxTree.SymW
  98. 二進制
      WinAos/obg/FoxTRMAssembler.GofW
  99. 二進制
      WinAos/obg/FoxTRMBackend.GofW
  100. 二進制
      WinAos/obg/FoxTRMInstructionSet.GofW

二進制
WinAos/A2.exe


二進制
WinAos/oberon.exe


二進制
WinAos/obg/ASN1.GofW


二進制
WinAos/obg/AVI.GofW


二進制
WinAos/obg/ArrayBase.GofW


二進制
WinAos/obg/ArrayBaseOptimized.GofW


二進制
WinAos/obg/BMPCodec.GofW


二進制
WinAos/obg/Base64.GofW


二進制
WinAos/obg/BenchXML.GofW


二進制
WinAos/obg/Bimso.GofW


二進制
WinAos/obg/BootShell.GofW


二進制
WinAos/obg/CharacterLineup.GofW


二進制
WinAos/obg/Compiler.GofW


+ 1 - 1
WinAos/obg/Compiler.SymW

@@ -1,5 +1,5 @@
 MODULE Compiler;
-	IMPORT Basic := FoxBasic, Scanner := FoxScanner, Parser := FoxParser, SemanticChecker := FoxSemanticChecker, SyntaxTree := FoxSyntaxTree, Formats := FoxFormats, Streams, Commands, Diagnostics, Options, Kernel, Printout := FoxPrintout, Backend := FoxBackend, Strings, Global := FoxGlobal, Frontend := FoxFrontend, Files;
+	IMPORT Basic := FoxBasic, Scanner := FoxScanner, Parser := FoxParser, SemanticChecker := FoxSemanticChecker, SyntaxTree := FoxSyntaxTree, Formats := FoxFormats, Streams, Commands, Diagnostics, Options, Kernel, Printout := FoxPrintout, Backend := FoxBackend, Strings, Global := FoxGlobal, Frontend := FoxFrontend, Files, Machine;
 CONST 
 	Print* = 0; 
 	Silent* = 1; 

二進制
WinAos/obg/ComponentInfo.GofW


二進制
WinAos/obg/ContextualDependency.GofW


二進制
WinAos/obg/CryptoAES.GofW


二進制
WinAos/obg/CryptoARC4.GofW


二進制
WinAos/obg/CryptoBase64.GofW


二進制
WinAos/obg/CryptoBigNumbers.GofW


二進制
WinAos/obg/CryptoBlowfish.GofW


二進制
WinAos/obg/CryptoCAST.GofW


二進制
WinAos/obg/CryptoDES3.GofW


二進制
WinAos/obg/CryptoDSA.GofW


二進制
WinAos/obg/CryptoHMAC.GofW


二進制
WinAos/obg/CryptoIDEA.GofW


二進制
WinAos/obg/CryptoKeccakF1600.GofW


二進制
WinAos/obg/CryptoMD5.GofW


二進制
WinAos/obg/CryptoPrimes.GofW


二進制
WinAos/obg/CryptoRSA.GofW


二進制
WinAos/obg/CryptoTestCiphers.GofW


二進制
WinAos/obg/CryptoTestHashes.GofW


二進制
WinAos/obg/CryptoTwofish.GofW


二進制
WinAos/obg/CryptoUtils.GofW


二進制
WinAos/obg/CyrillicUtilities.GofW


二進制
WinAos/obg/DES.GofW


二進制
WinAos/obg/DTPData.GofW


二進制
WinAos/obg/DTPEditor.GofW


二進制
WinAos/obg/DTPRect.GofW


二進制
WinAos/obg/DTPText.GofW


二進制
WinAos/obg/DTPUtilities.GofW


二進制
WinAos/obg/DTPView.GofW


二進制
WinAos/obg/Dates.GofW


二進制
WinAos/obg/DebugLog.GofW


二進制
WinAos/obg/Decoder.GofW


二進制
WinAos/obg/DiffLib.GofW


二進制
WinAos/obg/DiskTests.GofW


二進制
WinAos/obg/Display.GofW


二進制
WinAos/obg/Displays.GofW


二進制
WinAos/obg/DivXDecoder.GofW


二進制
WinAos/obg/DivXHelper.GofW


二進制
WinAos/obg/DivXTypes.GofW


二進制
WinAos/obg/DynamicWebpagePlugin.GofW


二進制
WinAos/obg/EFIGraphicalConsole.GofW


二進制
WinAos/obg/ExerciseGroups.GofW


二進制
WinAos/obg/FATFiles.GofW


二進制
WinAos/obg/FATScavenger.GofW


二進制
WinAos/obg/FoxAMD64Assembler.GofW


二進制
WinAos/obg/FoxAMD64InstructionSet.GofW


文件差異過大導致無法顯示
+ 30 - 593
WinAos/obg/FoxAMD64InstructionSet.SymW


二進制
WinAos/obg/FoxAMDBackend.GofW


二進制
WinAos/obg/FoxARMAssembler.GofW


二進制
WinAos/obg/FoxARMBackend.GofW


二進制
WinAos/obg/FoxARMInstructionSet.GofW


二進制
WinAos/obg/FoxActiveCells.GofW


二進制
WinAos/obg/FoxArrayBase.GofW


二進制
WinAos/obg/FoxArrayBaseOptimized.GofW


二進制
WinAos/obg/FoxAssembler.GofW


+ 2 - 2
WinAos/obg/FoxAssembler.SymW

@@ -46,7 +46,7 @@ TYPE
 	Result* = RECORD 
 		type*: INTEGER; 
 		sizeInBits*: INTEGER; 
-		value*: LONGINT; 
+		value*: HUGEINT; 
 		valueR*: LONGREAL; 
 		fixup*: BinaryCode.Fixup; 
 	END; 
@@ -111,7 +111,7 @@ TYPE
 		PROCEDURE ^ Expression*(VAR x: Result; critical: BOOLEAN): BOOLEAN; 
 		PROCEDURE ^ Data(CONST ident: ARRAY OF CHAR): BOOLEAN; 
 		PROCEDURE ^ Reserve(CONST ident: ARRAY OF CHAR): BOOLEAN; 
-		PROCEDURE ^ PutBitsIfLastPass(data: LONGINT; size: BinaryCode.Bits); 
+		PROCEDURE ^ PutBitsIfLastPass(data: HUGEINT; size: BinaryCode.Bits); 
 		PROCEDURE ^ Instruction*(CONST mnemonic: ARRAY OF CHAR); 
 		PROCEDURE ^ IgnoreNewLines; 
 		PROCEDURE ^ DoAssemble; 

二進制
WinAos/obg/FoxBasic.GofW


二進制
WinAos/obg/FoxBinaryCode.GofW


+ 2 - 2
WinAos/obg/FoxBinaryCode.SymW

@@ -89,8 +89,8 @@ TYPE
 		PROCEDURE ^ SetAlignment*(fixed: BOOLEAN; alignat: LONGINT); 
 		PROCEDURE ^ CheckSize(size: LONGINT); 
 		PROCEDURE ^ CopyBits*(src: BitSets.BitSet; srcPos, len: Bits); 
-		PROCEDURE ^ PutBits*(d: LONGINT; size: Bits); 
-		PROCEDURE ^ PutBitsAt*(at: Unit; d: LONGINT; size: Bits); 
+		PROCEDURE ^ PutBits*(d: HUGEINT; size: Bits); 
+		PROCEDURE ^ PutBitsAt*(at: Unit; d: HUGEINT; size: Bits); 
 		PROCEDURE ^ PutByte*(b: LONGINT); 
 		PROCEDURE ^ PutWord*(w: LONGINT); 
 		PROCEDURE ^ PutDWord*(d: LONGINT); 

二進制
WinAos/obg/FoxBinaryObjectFile.GofW


二進制
WinAos/obg/FoxBinarySymbolFile.GofW


二進制
WinAos/obg/FoxCSharpParser.GofW


二進制
WinAos/obg/FoxCodeGenerators.GofW


二進制
WinAos/obg/FoxDocumentationBackend.GofW


二進制
WinAos/obg/FoxFingerPrinter.GofW


二進制
WinAos/obg/FoxFormats.GofW


二進制
WinAos/obg/FoxGenericObjectFile.GofW


二進制
WinAos/obg/FoxGlobal.GofW


二進制
WinAos/obg/FoxInterfaceComparison.GofW


二進制
WinAos/obg/FoxIntermediateAssembler.GofW


二進制
WinAos/obg/FoxIntermediateBackend.GofW


+ 4 - 1
WinAos/obg/FoxIntermediateBackend.SymW

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

二進制
WinAos/obg/FoxIntermediateCode.GofW


二進制
WinAos/obg/FoxIntermediateLinker.GofW


二進制
WinAos/obg/FoxIntermediateParser.GofW


二進制
WinAos/obg/FoxInterpreterBackend.GofW


二進制
WinAos/obg/FoxMinosObjectFile.GofW


二進制
WinAos/obg/FoxParser.GofW


二進制
WinAos/obg/FoxPrintout.GofW


二進制
WinAos/obg/FoxProfiler.GofW


二進制
WinAos/obg/FoxProgTools.GofW


二進制
WinAos/obg/FoxSemanticChecker.GofW


二進制
WinAos/obg/FoxSyntaxTree.GofW


+ 1 - 0
WinAos/obg/FoxSyntaxTree.SymW

@@ -1474,6 +1474,7 @@ TYPE
 		PROCEDURE ^ FindTypeDeclaration*(identifier: Identifier): TypeDeclaration; 
 		PROCEDURE ^ AddVariable*(v: Variable); 
 		PROCEDURE ^ PushVariable*(v: Variable); 
+		PROCEDURE ^ InsertVariable*(v: Variable; after: Variable); 
 		PROCEDURE ^ FindVariable*(identifier: Identifier): Variable; 
 		PROCEDURE ^ AddProcedure*(p: Procedure); 
 		PROCEDURE ^ AddProcedureDeclaration*(p: Procedure); 

二進制
WinAos/obg/FoxTRMAssembler.GofW


二進制
WinAos/obg/FoxTRMBackend.GofW


二進制
WinAos/obg/FoxTRMInstructionSet.GofW


部分文件因文件數量過多而無法顯示