pipeline
Contents
- Chapter 1: Setting Up
- Pipeline Module - Setting up the use of this module.
- Chapter 2: Pipelines
- Parsing Pipelines - To parse pipelines from text files.
- Running Pipelines - To run through pipelines of code generation stages.
- Pipeline Errors - To issue problem messages when parsing or running erroneous pipelines.
- New Stage - This stage takes an empty tree and equips it with just the absolute basics, so that it is ready to have substantive material added at a later stage.
- Read Move Stop Stages - Four simple pipeline stages.
- Chapter 3: Assimilation
- Parsing Stages - Two stages which accept raw I6-syntax material in the parse tree, either from insertions made using Inform 7's low-level features, or after reading the source code for a kit.
- Resolve Conditional Compilation Stage - To generate the initial state of storage for variables.
- Compile Splats Stage - To replace each splat node with a sequence of pure Inter nodes having the same meaning, thus purging the tree of all raw I6 syntax entirely.
- Chapter 4: Linking
- Load Binary Kits Stage - Reading other Inter trees as binary files, and attaching them at given points in the main Inter tree.
- Shorten Wiring Stage - To catch missing resources with suitable errors, to remove plugs and sockets as no longer necessary, and to shorten wiring as much as possible.
- Detect Indirect Calls Stage - To handle function calls made to functions identified by symbols which turn out, during linking, to be variables rather than constants.
- Make Identifiers Unique Stage- To make sure certain symbol names translate into globally unique target symbols.
- Reconcile Verbs Stage - To reconcile clashes between assimilated and originally generated verbs.
- The Standard Kits - The layout and naming conventions for functions and other resources provided by the standard kits, and which are called or accessed from code generated by Inter or by the Inform 7 compiler.
- Chapter 5: Synoptic Module
- Make Synoptic Module Stage - Creating a top-level module of synoptic resources.
- Synoptic Hierarchy - The layout and naming conventions for the contents of the main/synoptic module.
- Synoptic Utilities - Utility functions for generating the code in the synoptic module.
- Extensions - To renumber the extensions and construct suitable functions and arrays.
- Literal Text - To alphabetise literal texts, deduplicate them, and store a canonical set in the synoptic/texts submodule.
- Responses (pipeline) - To compile the main/synoptic/responses submodule.
- Rules (pipeline) - To compile the main/synoptic/rules and main/synoptic/rulebooks submodules.
- Activities (pipeline) - To compile the main/synoptic/activities submodule.
- Actions (pipeline) - To compile the main/synoptic/actions submodule.
- Instances (pipeline) - To compile the main/synoptic/instances submodule.
- Dialogue (pipeline) - To compile the main/synoptic/dialogue submodule.
- Kinds (pipeline) - To compile the main/synoptic/kinds submodule.
- Properties (pipeline) - To compile the main/synoptic/properties submodule.
- Relations (pipeline) - To compile the main/synoptic/relations submodule.
- Tables (pipeline) - To compile the main/synoptic/tables submodule.
- Chronology (pipeline) - To compile the main/synoptic/chronology submodule.
- Scenes (pipeline) - To compile the main/synoptic/scenes submodule.
- Multimedia (pipeline) - To compile the main/synoptic/multimedia submodule.
- Use Options (pipeline) - To compile the main/synoptic/use_options submodule.
- Verbs (pipeline) - To compile the main/synoptic/verbs submodule.
- Tests (pipeline) - To compile the main/synoptic/tests submodule.
Chapter 6: Optimisation - Eliminate Redundant Matter Stage - To remove definitions which are never used: for example, functions which are never called or referred to.
- Eliminate Redundant Labels Stage - To remove labels which are defined but never jumped to.
- Eliminate Redundant Operations Stage - To remove logical or arithmetic operations which neither do anything, nor have side-effects.