- 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.