- Home
- Inter Modules
- pipeline
The code generation pipeline. This is version 1.
-
-
What This Module Does - An overview of the pipeline module's role and abilities.
-
-
-
Pipeline Module - Setting up the use of this module.
-
-
-
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.
-
-
-
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.
-
-
-
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.
-
-
-
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 - To compile the main/synoptic/responses submodule.
-
Rules - To compile the main/synoptic/rules and main/synoptic/rulebooks submodules.
-
Activities - To compile the main/synoptic/activities submodule.
-
Actions - To compile the main/synoptic/actions submodule.
-
Instances - To compile the main/synoptic/instances submodule.
-
Dialogue - To compile the main/synoptic/dialogue submodule.
-
Kinds - To compile the main/synoptic/kinds submodule.
-
Properties - To compile the main/synoptic/properties submodule.
-
Relations - To compile the main/synoptic/relations submodule.
-
Tables - To compile the main/synoptic/tables submodule.
-
Chronology - To compile the main/synoptic/chronology submodule.
-
Scenes - To compile the main/synoptic/scenes submodule.
-
Multimedia - To compile the main/synoptic/multimedia submodule.
-
Use Options - To compile the main/synoptic/use_options submodule.
-
Verbs - To compile the main/synoptic/verbs submodule.
-
Tests - To compile the main/synoptic/tests submodule.
-
-
-
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.
-
Powered by Inweb.