This namespace contains classes that contain the business logic described in X3J20 chapter 4. Smalltalk Interchange Format.
The services in this namespace contain the functionality to process (and file-in) Smalltak Interchange File (normally known as .st files).
The main component is the InterchangeFormatProcessor, which processes a single source file according to the X3J20 definitions. It determines from the source file the version of the interchange file. It uses the given map to determine which InterchangeVersionService to use to process this file. The InterchangeVersionService is the object that knows how to interpret the contents of the source file. Currently only InterchangeVersionService10 is implemented, since we only support pure X3J20 definitions. IronSmalltalk may implement an extended service.
The InterchangeFormatProcessor converts the source code to parse nodes, which create definition objects for the corresponding source code. The definition objects inherit from IronSmalltalk.Runtime.Installer.Definitions.DefinitionBase and contain the information found in the source code. It is however possible to create those entirely from code without having source file.
The InterchangeFormatProcessor notifies an IInterchangeFileInProcessor for each element that it reads from the source file giving it the corresponding definition object. It is up to the IInterchangeFileInProcessor to evaluate it immediately or deffer the processing for later or perform transactional processing.
Note: To sum things up; classes here don't exactly know what to do with the code that is being filed-in. They pass the information to the IInterchangeFileInProcessor and let it do the work.
See also the Read Me.htm in the Compiler folder.