StdIOShell.Mod 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275
  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. str := "Shell.Start";
  11. END;
  12. IF str = "compile" THEN str := "Compiler.Compile"
  13. ELSIF str="link" THEN str := "StaticLinker.Link"
  14. ELSIF (str="i") OR (str = "interpreter") THEN str := "InterpreterShell.Start"
  15. ELSIF (str = "run") OR (str="r") THEN str := "SystemTools.DoFile"
  16. END;
  17. Commands.Activate(str, context, {Commands.Wait}, res, msg);
  18. IF res # 0 THEN context.error.String(msg); context.error.Ln; END;
  19. END Execute;
  20. (* do not add commands here -- the module loader does not finish here and they will not become available *)
  21. BEGIN
  22. Execute(StdIO.env);
  23. Modules.Shutdown(Modules.PowerDown);
  24. LOOP END;
  25. END StdIOShell.
  26. SystemTools.Free StaticLinker ~
  27. SystemTools.DoCommands
  28. StaticLinker.Link -p=Linux32G
  29. Runtime Traps UnixFiles RelativeFileSystem GenericLoader
  30. WMDefaultFont
  31. StdIOShell
  32. Compiler
  33. StaticLinker
  34. FoxOberonFrontend
  35. FoxAMDBackend
  36. FoxARMBackend
  37. FoxGenericObjectFile
  38. InterpreterShell
  39. SystemTools
  40. FSTools
  41. PCAAMD64
  42. BootManager
  43. VirtualDisks
  44. DiskFS
  45. Partitions
  46. ~
  47. FSTools.CloseFiles oberon ~
  48. ~
  49. SystemTools.DoCommands
  50. StaticLinker.Link --fileFormat=PE32CUI --fileName=oberon.exe --extension=GofW --displacement=401000H
  51. Runtime Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Commands Files
  52. WinFS Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Reflection GenericLoader
  53. WinTrace StdIO
  54. Runtime Traps RelativeFileSystem GenericLoader
  55. WMDefaultFont
  56. StdIOShell
  57. Compiler
  58. StaticLinker
  59. FoxOberonFrontend
  60. FoxAMDBackend
  61. FoxARMBackend
  62. FoxGenericObjectFile
  63. InterpreterShell
  64. SystemTools
  65. FSTools
  66. PCAAMD64
  67. BootManager
  68. VirtualDisks
  69. DiskFS
  70. Partitions
  71. ~
  72. FSTools.CloseFiles oberon.exe ~
  73. ~
  74. (** LINUX **)
  75. SystemTools.DoCommands
  76. Compiler.Compile -p=Linux32G --mergeSections
  77. Runtime.Mod Trace.Mod Generic.Linux.I386.Glue.Mod Generic.Linux.I386.Unix.Mod Generic.Unix.I386.Machine.Mod Heaps.Mod Generic.Modules.Mod
  78. Generic.Unix.Objects.Mod
  79. Unix.Kernel.Mod KernelLog.Mod Plugins.Mod Streams.Mod
  80. Pipes.Mod Commands.Mod I386.Reals.Mod Generic.Reflection.Mod TrapWriters.Mod CRC.Mod SystemVersion.Mod
  81. Unix.StdIO.Mod Generic.Unix.Traps.Mod Locks.Mod Unix.Clock.Mod Disks.Mod Files.Mod Dates.Mod Strings.Mod
  82. UTF8Strings.Mod FileTrapWriter.Mod Caches.Mod DiskVolumes.Mod OldDiskVolumes.Mod RAMVolumes.Mod
  83. DiskFS.Mod OldDiskFS.Mod OberonFS.Mod FATVolumes.Mod FATFiles.Mod ISO9660Volumes.Mod
  84. ISO9660Files.Mod Unix.UnixFiles.Mod RelativeFileSystem.Mod BitSets.Mod StringPool.Mod Diagnostics.Mod
  85. ObjectFile.Mod GenericLinker.Mod GenericLoader.Mod Unix.BootConsole.Mod
  86. Pipes.Mod Shell.Mod StdIOShell.Mod
  87. Options.Mod Debugging.Mod
  88. StaticLinker.Mod
  89. FoxBasic.Mod FoxProgTools.Mod FoxScanner.Mod FoxCSharpScanner.Mod FoxSyntaxTree.Mod FoxGlobal.Mod
  90. FoxActiveCells.Mod FoxHardware.Mod FoxFormats.Mod FoxPrintout.Mod
  91. FoxParser.Mod FoxCSharpParser.Mod FoxSemanticChecker.Mod
  92. FoxBackend.Mod FoxSections.Mod
  93. FoxFrontend.Mod
  94. FoxCompiler.Mod
  95. FoxOberonFrontend.Mod FoxCSharpFrontend.Mod
  96. FoxFingerPrinter.Mod FoxInterfaceComparison.Mod FoxTextualSymbolFile.Mod FoxBinarySymbolFile.Mod
  97. FoxBinaryCode.Mod FoxIntermediateCode.Mod FoxIntermediateBackend.Mod FoxCodeGenerators.Mod
  98. FoxBinaryObjectFile.Mod FoxGenericObjectFile.Mod
  99. FoxAMD64InstructionSet.Mod FoxAMD64Assembler.Mod FoxAMDBackend.Mod
  100. FoxAssembler.Mod FoxIntermediateAssembler.Mod FoxDisassembler.Mod
  101. FoxARMInstructionSet.Mod FoxARMAssembler.Mod FoxARMBackend.Mod FoxMinosObjectFile.Mod
  102. FoxIntermediateParser.Mod FoxIntermediateObjectFile.Mod FoxIntermediateLinker.Mod
  103. FoxTRMInstructionSet.Mod FoxTRMAssembler.Mod FoxTRMBackend.Mod
  104. FoxInterpreterBackend.Mod FoxTranspilerBackend.Mod
  105. FoxDocumentationScanner.Mod FoxDocumentationTree.Mod FoxDocumentationPrinter.Mod FoxDocumentationHtml.Mod
  106. FoxDocumentationParser.Mod FoxDocumentationBackend.Mod
  107. DynamicStrings.Mod XMLObjects.Mod XML.Mod XMLScanner.Mod UTF8Strings.Mod XMLParser.Mod
  108. PersistentObjects.Mod FoxInterpreterSymbols.Mod FoxInterpreter.Mod
  109. InterpreterShell.Mod
  110. FoxProfiler.Mod
  111. ProcessInfo0.Mod ProcessInfo.Mod Plugins.Mod SystemTools.Mod
  112. ~
  113. StaticLinker.Link -p=Linux32G
  114. Runtime Trace Glue Unix Machine Heaps Modules Objects Kernel KernelLog
  115. Streams Commands StdIO TrapWriters Traps
  116. Files UnixFiles Clock Dates Reals Strings Diagnostics
  117. BitSets StringPool ObjectFile GenericLinker Reflection GenericLoader
  118. Pipes Shell StdIOShell
  119. Options Locks Debugging
  120. StaticLinker
  121. FoxBasic FoxProgTools FoxScanner FoxSyntaxTree FoxGlobal
  122. FoxActiveCells FoxHardware FoxFormats FoxPrintout
  123. FoxParser FoxSemanticChecker
  124. FoxBackend FoxSections
  125. FoxFrontend
  126. Compiler FoxOberonFrontend
  127. FoxFingerPrinter FoxInterfaceComparison FoxTextualSymbolFile FoxBinarySymbolFile
  128. FoxBinaryCode FoxIntermediateCode FoxIntermediateBackend FoxCodeGenerators
  129. FoxBinaryObjectFile FoxGenericObjectFile
  130. FoxAMD64InstructionSet FoxAMD64Assembler FoxAMDBackend
  131. FoxAssembler FoxIntermediateAssembler FoxDisassembler
  132. FoxARMInstructionSet FoxARMAssembler FoxARMBackend
  133. FoxMinosObjectFile
  134. FoxIntermediateParser FoxIntermediateObjectFile FoxIntermediateLinker
  135. FoxTRMInstructionSet FoxTRMAssembler FoxTRMBackend
  136. FoxInterpreterBackend FoxTranspilerBackend
  137. FoxDocumentationScanner FoxDocumentationTree FoxDocumentationPrinter FoxDocumentationHtml
  138. FoxDocumentationParser FoxDocumentationBackend
  139. DynamicStrings XMLObjects XML XMLScanner UTF8Strings XMLParser
  140. PersistentObjects FoxInterpreterSymbols FoxInterpreter
  141. InterpreterShell
  142. CRC SystemVersion ProcessInfo0 ProcessInfo Plugins SystemTools
  143. ~
  144. FSTools.CloseFiles oberon
  145. ~
  146. ~
  147. (** WINDOWS **)
  148. SystemTools.DoCommands
  149. Compiler.Compile -p=Win32G
  150. Runtime.Mod Trace.Mod Generic.Win32.Kernel32.Mod Win32.Machine.Mod Heaps.Mod
  151. Generic.Modules.Mod Win32.Objects.Mod Win32.Kernel.Mod KernelLog.Mod Streams.Mod Commands.Mod
  152. I386.Reals.Mod Generic.Reflection.Mod Locks.Mod Win32.Clock.Mod Files.Mod Dates.Mod Strings.Mod
  153. Diagnostics.Mod StringPool.Mod BitSets.Mod ObjectFile.Mod
  154. GenericLinker.Mod GenericLoader.Mod Options.Mod Debugging.Mod
  155. TrapWriters.Mod CRC.Mod SystemVersion.Mod Win32.Traps.Mod
  156. Win32.WinTrace.Mod Win32.WinFS.Mod
  157. Win32.StdIO.Mod Pipes.Mod Shell.Mod StdIOShell.Mod
  158. StaticLinker.Mod
  159. FoxBasic.Mod FoxProgTools.Mod FoxScanner.Mod FoxCSharpScanner.Mod FoxSyntaxTree.Mod FoxGlobal.Mod
  160. FoxActiveCells.Mod FoxHardware.Mod FoxFormats.Mod FoxPrintout.Mod
  161. FoxParser.Mod FoxCSharpParser.Mod FoxSemanticChecker.Mod
  162. FoxBackend.Mod FoxSections.Mod
  163. FoxFrontend.Mod
  164. FoxCompiler.Mod
  165. FoxOberonFrontend.Mod FoxCSharpFrontend.Mod
  166. FoxFingerPrinter.Mod FoxInterfaceComparison.Mod FoxTextualSymbolFile.Mod FoxBinarySymbolFile.Mod
  167. FoxBinaryCode.Mod FoxIntermediateCode.Mod FoxIntermediateBackend.Mod FoxCodeGenerators.Mod
  168. FoxBinaryObjectFile.Mod FoxGenericObjectFile.Mod
  169. FoxAMD64InstructionSet.Mod FoxAMD64Assembler.Mod FoxAMDBackend.Mod
  170. FoxAssembler.Mod FoxIntermediateAssembler.Mod FoxDisassembler.Mod
  171. FoxARMInstructionSet.Mod FoxARMAssembler.Mod FoxARMBackend.Mod FoxMinosObjectFile.Mod
  172. FoxIntermediateParser.Mod FoxIntermediateObjectFile.Mod FoxIntermediateLinker.Mod
  173. FoxTRMInstructionSet.Mod FoxTRMAssembler.Mod FoxTRMBackend.Mod
  174. FoxInterpreterBackend.Mod FoxTranspilerBackend.Mod
  175. FoxDocumentationScanner.Mod FoxDocumentationTree.Mod FoxDocumentationPrinter.Mod FoxDocumentationHtml.Mod
  176. FoxDocumentationParser.Mod FoxDocumentationBackend.Mod
  177. DynamicStrings.Mod XMLObjects.Mod XML.Mod XMLScanner.Mod UTF8Strings.Mod XMLParser.Mod
  178. PersistentObjects.Mod FoxInterpreterSymbols.Mod FoxInterpreter.Mod
  179. InterpreterShell.Mod
  180. FoxProfiler.Mod
  181. ProcessInfo0.Mod ProcessInfo.Mod Plugins.Mod SystemTools.Mod
  182. ~
  183. (* first lines can be replaced by Kernel.lib *)
  184. StaticLinker.Link --fileFormat=PE32CUI --fileName=oberon.exe --extension=GofW --displacement=401000H
  185. Runtime Trace Kernel32 Machine Heaps Modules Objects Kernel KernelLog Streams Commands Files
  186. WinFS Clock Dates Reals Strings Diagnostics BitSets StringPool ObjectFile GenericLinker Reflection GenericLoader
  187. WinTrace StdIO
  188. TrapWriters CRC SystemVersion Traps
  189. Pipes Shell StdIOShell
  190. Options Locks Debugging
  191. StaticLinker
  192. FoxBasic FoxProgTools FoxScanner FoxSyntaxTree FoxGlobal
  193. FoxActiveCells FoxHardware FoxFormats FoxPrintout
  194. FoxParser FoxSemanticChecker
  195. FoxBackend FoxSections
  196. FoxFrontend
  197. Compiler
  198. FoxOberonFrontend
  199. FoxFingerPrinter FoxInterfaceComparison FoxTextualSymbolFile FoxBinarySymbolFile
  200. FoxBinaryCode FoxIntermediateCode FoxIntermediateBackend FoxCodeGenerators
  201. FoxBinaryObjectFile FoxGenericObjectFile
  202. FoxAMD64InstructionSet FoxAMD64Assembler FoxAMDBackend
  203. FoxAssembler FoxIntermediateAssembler FoxDisassembler
  204. FoxARMInstructionSet FoxARMAssembler FoxARMBackend
  205. FoxMinosObjectFile
  206. FoxIntermediateParser FoxIntermediateObjectFile FoxIntermediateLinker
  207. FoxTRMInstructionSet FoxTRMAssembler FoxTRMBackend
  208. FoxInterpreterBackend FoxTranspilerBackend
  209. FoxDocumentationScanner FoxDocumentationTree FoxDocumentationPrinter FoxDocumentationHtml
  210. FoxDocumentationParser FoxDocumentationBackend
  211. XML XMLScanner DynamicStrings UTF8Strings XMLParser XMLObjects
  212. PersistentObjects FoxInterpreterSymbols FoxInterpreter
  213. InterpreterShell
  214. ProcessInfo0 ProcessInfo Plugins SystemTools
  215. ~
  216. FSTools.CloseFiles oberon.exe ~
  217. ~
  218. FoxGenericObjectFile.MakeLibrary
  219. Kernel.Lib Runtime.GofW Trace.GofW
  220. Kernel32.GofW Machine.GofW Heaps.GofW Modules.GofW Objects.GofW
  221. Kernel.GofW KernelLog.GofW Streams.GofW Commands.GofW Files.GofW
  222. WinFS.GofW Clock.GofW Dates.GofW Reals.GofW Strings.GofW Diagnostics.GofW BitSets.GofW StringPool.GofW ObjectFile.GofW GenericLinker.GofW Reflection.GofW
  223. GenericLoader.GofW
  224. WinTrace.GofW WinApplication.GofW
  225. ~
  226. ~