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