StdIOShell.Mod 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. MODULE StdIOShell; (** AUTHOR ""; PURPOSE ""; *)
  2. IMPORT StdIO, Commands, Streams, Modules, Objects, Shell;
  3. PROCEDURE Execute(context: Commands.Context);
  4. VAR str, msg: ARRAY 256 OF CHAR; res: LONGINT; shell: Shell.Shell;
  5. BEGIN
  6. IF ~context.arg.GetString(str) THEN
  7. context.out.String("Critical error: no arg");
  8. RETURN END;
  9. IF ~context.arg.GetString(str) THEN
  10. NEW(shell, context.in, context.out, context.error, FALSE, ">");
  11. shell.AwaitDeath;
  12. RETURN
  13. END;
  14. IF str = "compile" THEN str := "Compiler.Compile"
  15. ELSIF str="link" THEN str := "StaticLinker.Link"
  16. ELSIF (str="i") OR (str = "interpreter") THEN str := "InterpreterShell.Start"
  17. END;
  18. Commands.Activate(str, context, {Commands.Wait}, res, msg);
  19. IF res # 0 THEN context.error.String(msg); context.error.Ln; END;
  20. END Execute;
  21. BEGIN
  22. Execute(StdIO.env);
  23. Modules.Shutdown(Modules.PowerDown);
  24. END StdIOShell.
  25. (** LINUX **)
  26. SystemTools.DoCommands
  27. Compiler.Compile -p=Linux32G --traceModule=Trace
  28. Runtime.Mod Trace.Mod Generic.Linux.I386.Glue.Mod Generic.Linux.I386.Unix.Mod Generic.Unix.I386.Machine.Mod Heaps.Mod Generic.Modules.Mod
  29. Generic.Unix.Objects.Mod
  30. Unix.Kernel.Mod KernelLog.Mod Plugins.Mod Streams.Mod
  31. Pipes.Mod Commands.Mod I386.Reals.Mod Generic.Reflection.Mod TrapWriters.Mod CRC.Mod SystemVersion.Mod
  32. Unix.StdIO.Mod Generic.Unix.Traps.Mod Locks.Mod Unix.Clock.Mod Disks.Mod Files.Mod Dates.Mod Strings.Mod
  33. UTF8Strings.Mod FileTrapWriter.Mod Caches.Mod DiskVolumes.Mod OldDiskVolumes.Mod RAMVolumes.Mod
  34. DiskFS.Mod OldDiskFS.Mod OberonFS.Mod FATVolumes.Mod FATFiles.Mod ISO9660Volumes.Mod
  35. ISO9660Files.Mod Generic.Unix.UnixFiles.Mod RelativeFileSystem.Mod BitSets.Mod StringPool.Mod DIagnostics.Mod
  36. ObjectFile.Mod GenericLinker.Mod GenericLoader.Mod Unix.BootConsole.Mod
  37. Pipes.Mod Shell.Mod StdIOShell.Mod
  38. ~
  39. StaticLinker.Link -p=Linux32G
  40. Runtime Trace Glue Unix Machine Heaps Modules Objects Kernel KernelLog
  41. Streams Commands StdIO TrapWriters Traps
  42. Files UnixFiles Clock Dates Reals Strings Diagnostics
  43. BitSets StringPool ObjectFile GenericLinker Reflection GenericLoader
  44. Pipes Shell StdIOShell
  45. ~
  46. FSTools.CloseFiles oberon
  47. ~
  48. ~
  49. (** WINDOWS **)
  50. SystemTools.DoCommands
  51. Compiler.Compile -p=Win32G
  52. Runtime.Mod Trace.Mod Generic.Win32.Kernel32.Mod Win32.Machine.Mod Heaps.Mod
  53. Generic.Modules.Mod Win32.Objects.Mod Win32.Kernel.Mod KernelLog.Mod Streams.Mod Commands.Mod
  54. I386.Reals.Mod Reflection.Mod Locks.Mod Win32.Clock.Mod Files.Mod Dates.Mod Strings.Mod
  55. Diagnostics.Mod StringPool.Mod BitSets.Mod ObjectFile.Mod
  56. GenericLinker.Mod GenericLoader.Mod Options.Mod Debugging.Mod
  57. TrapWriters.Mod CRC.Mod SystemVersion.Mod Win32.Traps.Mod
  58. Win32.WinTrace.Mod Win32.WinFS.Mod
  59. Win32.StdIO.Mod Pipes.Mod Shell.Mod StdIOShell.Mod
  60. StaticLinker.Mod
  61. FoxBasic.Mod FoxProgTools.Mod FoxScanner.Mod FoxCSharpScanner.Mod FoxSyntaxTree.Mod FoxGlobal.Mod
  62. FoxActiveCells.Mod FoxHardware.Mod FoxFormats.Mod FoxPrintout.Mod
  63. FoxParser.Mod FoxCSharpParser.Mod FoxSemanticChecker.Mod
  64. FoxBackend.Mod FoxSections.Mod
  65. FoxFrontend.Mod FoxOberonFrontend.Mod FoxCSharpFrontend.Mod
  66. FoxCompiler.Mod FoxFingerPrinter.Mod FoxInterfaceComparison.Mod FoxTextualSymbolFile.Mod FoxBinarySymbolFile.Mod
  67. FoxBinaryCode.Mod FoxIntermediateCode.Mod FoxIntermediateBackend.Mod FoxCodeGenerators.Mod
  68. FoxBinaryObjectFile.Mod FoxGenericObjectFile.Mod
  69. FoxAMD64InstructionSet.Mod FoxAMD64Assembler.Mod FoxAMDBackend.Mod
  70. FoxAssembler.Mod FoxIntermediateAssembler.Mod FoxDisassembler.Mod
  71. FoxARMInstructionSet.Mod FoxARMAssembler.Mod FoxARMBackend.Mod FoxMinosObjectFile.Mod
  72. FoxIntermediateParser.Mod FoxIntermediateObjectFile.Mod FoxIntermediateLinker.Mod
  73. FoxTRMInstructionSet.Mod FoxTRMAssembler.Mod FoxTRMBackend.Mod
  74. FoxInterpreterBackend.Mod FoxTranspilerBackend.Mod
  75. FoxDocumentationScanner.Mod FoxDocumentationTree.Mod FoxDocumentationPrinter.Mod FoxDocumentationHtml.Mod
  76. FoxDocumentationParser.Mod FoxDocumentationBackend.Mod
  77. FoxProfiler.Mod System.Mod
  78. ~
  79. (* first lines can be replaced by Kernel.lib *)
  80. StaticLinker.Link --fileFormat=PE32CUI --fileName=oberon.exe --extension=GofW --displacement=401000H
  81. Runtime Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Commands Files
  82. WinFS Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Reflection GenericLoader
  83. WinTrace StdIO
  84. TrapWriters CRC SystemVersion Traps
  85. Pipes Shell StdIOShell
  86. Options Locks Debugging
  87. StaticLinker
  88. FoxBasic FoxProgTools FoxScanner FoxSyntaxTree FoxGlobal
  89. FoxActiveCells FoxHardware FoxFormats FoxPrintout
  90. FoxParser FoxSemanticChecker
  91. FoxBackend FoxSections
  92. FoxFrontend FoxOberonFrontend
  93. Compiler FoxFingerPrinter FoxInterfaceComparison FoxTextualSymbolFile FoxBinarySymbolFile
  94. FoxBinaryCode FoxIntermediateCode FoxIntermediateBackend FoxCodeGenerators
  95. FoxBinaryObjectFile FoxGenericObjectFile
  96. FoxAMD64InstructionSet FoxAMD64Assembler FoxAMDBackend
  97. FoxAssembler FoxIntermediateAssembler FoxDisassembler
  98. FoxARMInstructionSet FoxARMAssembler FoxARMBackend
  99. FoxMinosObjectFile
  100. FoxIntermediateParser FoxIntermediateObjectFile FoxIntermediateLinker
  101. FoxTRMInstructionSet FoxTRMAssembler FoxTRMBackend
  102. FoxInterpreterBackend FoxTranspilerBackend
  103. FoxDocumentationScanner FoxDocumentationTree FoxDocumentationPrinter FoxDocumentationHtml
  104. FoxDocumentationParser FoxDocumentationBackend
  105. System
  106. ~
  107. FSTools.CloseFiles oberon.exe ~
  108. ~
  109. FoxGenericObjectFile.MakeLibrary
  110. Kernel.Lib Runtime.GofW Trace.GofW
  111. Kernel32.GofW Machine.GofW Heaps.GofW Modules.GofW Objects.GofW
  112. Kernel.GofW KernelLog.GofW Streams.GofW Commands.GofW Files.GofW
  113. WinFS.GofW Clock.GofW Dates.GofW Reals.GofW Strings.GofW Diagnostics.GofW BitSets.GofW StringPool.GofW ObjectFile.GofW GenericLinker.GofW Reflection.GofW
  114. GenericLoader.GofW
  115. WinTrace.GofW WinApplication.GofW
  116. ~
  117. ~