Generating runtime support code for resources needed in Inform texts. This is version 1.
-
-
What This Module Does - An overview of the runtime module's role and abilities.
-
-
Chapter 1: Configuration and Control
-
Runtime Module - Setting up the use of this module.
-
-
-
Hierarchy - To provide an enforced structure and set of naming conventions for packages and names in the Inter code we generate.
-
Noun Identifiers - Instances and kinds are both referred to by nouns, and here we create corresponding inames for use in compiled Inter code, and identifiers for use in the index.
-
Compilation Units - The source text is divided into compilation units, and the material they lead to is similarly divided up.
-
Emit - "Emitting" is the process of generating Inter bytecode, and this section provides a comprehensive API for the runtime and imperative modules to do that.
-
Emit Code - Here is how bytecode for instructions inside functions is emitted.
-
Emit Arrays - Here is how bytecode to create ready-initialised arrays of Inter data is emitted.
-
Interventions - Material written in low-level Inform 6 notation can be emitted for later linking, a distasteful process called "intervening".
-
Shared Variables - Functions to create sets of shared variables.
-
The Heap - Texts, lists and other flexibly-sized structures make use of a pool of run-time storage called "the heap".
-
Default Values - An unusual feature of Inform is that every kind has a default value, so that it is impossible for any variable or property to be uninitialised.
-
Equality Schemas - To define how to compile a comparison of two values.
-
Instance Counting - Though a feature, for convenience of implementation, this code is always active and provides for efficient loops through instances at runtime.
-
Kind Declarations - Each different kind used anywhere in the tree must be declared with an Inter kind declaration.
-
Showme Command - A feature to provide some support for the SHOWME testing command.
-
Here, Nowhere and Everywhere - Almost a Beatles song, but really a set of schemas for compiling the meaning of the unary predicates here, nowhere and everywhere.
-
Short Names - To compile the "short name" and "capitalised short name" properties.
-
General Parsing Routines - To compile "general parsing routines", or GPRs, which are runtime functions used to match noun phrases in the command parser.
-
Index Extensions - To keep details of the extensions currently loaded, their authors, titles, versions and rubrics, and to index and credit them suitably.
-
-
-
Generic Module - A variety of Inter constants which do not depend on the content of the program.
-
Completion Module - The completion module contains material turning the collection of resources into a playable work.
-
Use Options - To give use options a presence at run-time.
-
-
-
Enclosures - Packages which contain all the resources any of their subpackages will need are called "enclosures".
-
List Literals - Each enclosure contains the literal lists needed by its functions.
-
Text Literals - In this section we compile text constants.
-
Text Substitutions - In this section we compile text with substitutions.
-
Responses - In this section we keep track of response texts.
-
Box Quotations - In this section we compile text constants.
-
Relation Literals - In fact there is only one literal relation: the empty one, used as a default value.
-
Stored Action Literals - Explicit actions stored in memory as literals.
-
Version Number Literals - Explicit actions stored in memory as literals.
-
Group Together - The "group together" phrase in the Standard Rules needs support functions, which are compiled within the user's enclosure.
-
Looping Over Scope - To compile functions which implement conditions such as "in the presence of Mrs Dalloway".
-
-
Chapter 5: Provision Submodules
-
Activities - To compile the activities submodule for a compilation unit, which contains _activity packages.
-
Adjectives - To compile the adjectives submodule for a compilation unit, which contains _adjective, _adjective_phrase and _measurement packages.
-
Chronology - To compile the chronology submodule for a compilation unit, which contains _past_condition and _action_history_condition packages.
-
Conjugations - To compile the conjugations submodule for a compilation unit, which contains _verb, _modal_verb and _verb_form packages.
-
Equations - To compile the equations submodule for a compilation unit, which contains _equation packages.
-
Instances - To compile the instances submodule for a compilation unit, which contains _instance packages.
-
Backdrop Instances - Some additions to an _instance package for instances of the kind "backdrop".
-
Door Instances - Property values for two-sided doors to make them interconnect with the map at runtime.
-
Region Instances - Some additions to an _instance package for instances of the kind "region".
-
Scene Instances - Some additions to an _instance package for instances of the kind "backdrop".
-
Multimedia - To compile the multimedia submodule for a compilation unit, which contains _external_file, _figure and _sound packages.
-
Tables - To compile the tables submodule for a compilation unit, which contains _table packages containing _table_column_usage subpackages.
-
Table Columns - To compile the table_columns submodule for a compilation unit, which contains _table_column packages.
-
Dialogue Beat Instances - To compile any dialogue details in the instances submodule.
-
Dialogue Line Instances - To compile any dialogue details in the instances submodule.
-
Dialogue Choice Instances - To compile any dialogue details in the instances submodule.
-
Rules - To compile the rules submodule for a compilation unit, which contains _rule packages.
-
Rulebooks - To compile the rulebooks submodule for a compilation unit, which contains _rulebook and _outcome packages.
-
Variables - To compile the variables submodule for a compilation unit, which contains _variable packages.
-
Properties - To compile the properties submodule for a compilation unit, which contains _property packages.
-
Relations - To compile the relations submodule for a compilation unit, which contains _relation packages.
-
Literal Patterns - Compiled code to print and parse values expressed as literals.
-
Kind Constructors - Each kind constructor has an Inter package of resources.
-
Kind IDs - To compile the equations submodule for a compilation unit, which contains _equation packages.
-
Actions - To compile the actions submodule for a compilation unit, which contains _action packages.
-
Named Action Patterns - To compile the named_action_patterns submodule for a compilation unit, which contains _named_action_pattern packages.
-
Test Scripts - To compile the tests submodule for a compilation unit, which contains _test packages.
-
-
Chapter 6: Completion Resources
-
Bibliographic Data - Recording bibliographic data, such as title and authorship, in Inter.
-
The Player - Providing for the player and her initial situation, that is, at the start of play.
-
The Map - The runtime representation of the spatial map for works of interactive fiction: that is, how the rooms and doors connect up.
-
Property Permissions - Each property needs permission to be used, and here we emit the Inter statements necessary.
-
Property Values - Compiling Inter property value instructions for the properties of instances and kinds.
-
Action Bitmap Property - To compile tiny arrays as values of the action_bitmap property.
-
Phrasebook Index - Compiling what amounts to the Phrasebook index into the Inter hierarchy.
-
Mapping Hints - To transcribe mapping hints for the World Index into suitable packages.
-
Inferences - To index inferences.
-
-
-
Command Grammars - Runtime support for CGs.
-
Command Grammar Lines - Compiling lines of command parser grammar.
-
Command Grammar Tokens - Compiling single command parser tokens.
-
Kind GPRs - General parsing routine (GPR) functions to match values of non-object kinds in the command parser.
-
Noun Filter Tokens - General parsing routine (GPR) functions to match objects which fit some description, or have some scoping requirement.
-
Name Properties - Small arrays of dictionary words which are values of the name property for objects.
-
Parse Name Properties - Functions which are values of the parse_name property for objects.
-
Powered by Inweb.