Dealing with top-level declarations in Inform source text. This is version 1.
-
-
What This Module Does - An overview of the assertions module's role and abilities.
-
-
Chapter 1: Configuration and Control
-
Assertions Module - Setting up the use of this module.
-
-
Passing three times through top-level declarations and assertion sentences.
-
Booting Verbs - In Inform even verbs are created with natural language sentences, but this process has to start somewhere.
-
Passes through Major Nodes - To manage the overall process of traversing the parse tree for top-level declarations and assertion sentences.
-
Anaphoric References - To keep track of the current object and subject of discussion.
-
Classifying Sentences - To work out the verbs used and to diagram sentences in the source.
-
Property Sentences - To examine assertion sentences for property creation.
-
Imperative Subtrees - To tidy up blocks of rule and phrase definition in the syntax tree.
-
-
Sentences, often imperative, which have special meanings.
-
Debugging Log Requests - Special sentences for changing what goes into the debugging log.
-
Pluralisation Requests - Special sentences for setting exotic plural forms of nouns.
-
Translation Requests - Three unrelated senses of "X translates into Y as Z" sentences.
-
New Use Option Requests - Special sentences for creating new use options.
-
Use Option Requests - Special sentences for setting compilation options.
-
Test Requests - Special sentences for requesting unit tests or providing test scripts.
-
Define by Table Requests - Special sentences declaring that tables amount to massed groups of assertions.
-
Rule Placement Requests - Special sentences for listing named rules in particular rulebooks.
-
New Activity Requests - Special sentences creating new activities.
-
New Literal Pattern Requests - Special sentences creating new notations for literal values.
-
New Relation Requests - Special sentences for creating new relations.
-
New Property Requests - Special sentences creating new either/or properties.
-
New Verb Requests - Special sentences for creating new verbs.
-
New Adjective Requests - Special sentences for creating new adjectives.
-
Intervention Requests - Special sentences for inserting low-level material written in Inform 6 notation.
-
Licence Declaration Requests - Special sentences for declaring details of the licence on an extension or a project.
-
-
Turning regular assertion sentences into propositions about the model world.
-
Name Resolution - To resolve abbreviated or ambiguous nouns in context of their headings.
-
Refine Parse Tree - To determine which subjects are referred to by noun phrases such as "the table" or "a paper cup" found in assertion sentences.
-
The Creator - This is where all objects, kinds of object, named values, kinds of value and global variables are made.
-
Assertions - To infer facts about the model world, or take other action, based on sentences asserted as being true in the source text.
-
New Property Assertions - When regular assertion sentences create properties.
-
Property Knowledge - This section draws inferences from assertions which seem to be about the properties of things, independent of their location.
-
Relation Knowledge - This section draws inferences about the relationships between objects or values.
-
Assemblies - To build the complex multi-object assemblies which result from allowing the source text to say things like "in every room is a vehicle".
-
Implications - To keep track of a dangerous form of super-assertion called an implication, which is allowed to generalise about properties.
-
-
What happens to preambles, colons, and blocks of imperative code.
-
Imperative Definitions - Each IMPERATIVE node in the syntax tree makes a definition using imperative code.
-
Imperative Definition Families - Different categories of imperative definition.
-
Adjectival Definition Family - Imperative definitions of "Definition: X is Y: ..." adjectives.
-
To Phrase Family - Imperative definitions of "To..." phrases.
-
Phrase Type Data - To create, manage, compare the logical specificity of, and assist excerpt parsing concerning, the type of a To phrase.
-
Parsing Type Data - To parse the prototype text of a To... phrase into its type data.
-
Phrase Options - To create and subsequently parse against the list of phrase options with which the user can choose to invoke a To phrase.
-
Rule Family - Imperative definitions of rules.
-
Runtime Context Data - To store the circumstances in which a rule phrase should fire.
-
-
Chapter 6: Rules, Rulebooks and Activities
Rules are named phrases which are invoked in a particular way, and rulebooks a way to organise lists of them.
-
Rules - Rules contain imperative code which is executed when certain actions, activities or other processes are being followed.
-
Rule Bookings - Bookings are assignments of rules to rulebooks.
-
Booking Lists - Booking lists are linked lists of rule bookings. The content of a rulebook is a booking list.
-
Rulebooks - Rulebooks collate rules and provide an organised way for them to collaborate on a larger task.
-
Focus and Outcome - What a rulebook works on, and what it produces.
-
Activities - To create and manage activities, which are bundles of rules for carrying out tasks.
-
Shared Variables - Shared variables are held in common by all rules working in some goal.
-
-
Tables and equations do not look like sentences, but are also top-level.
-
Table Columns - To manage the named columns which appear in tables.
-
Tables - To manage and compile tables, which are two-dimensional arrays with associative look-up facilities provided at run-time.
-
Equations - To manage and compile equations, which relate numerical quantities.
-
-
Unary and then binary predicates for the calculus module to conjure with.
-
Kind Predicates Revisited - To define how the kind predicates behave in the Inform language.
-
The Creation Predicates - To define the predicates causing instances to be created.
-
The Equality Relation Revisited - To define how equality behaves in the Inform language.
-
Quasinumeric Relations - To define the binary predicates corresponding to numerical comparisons.
-
The Universal Relation - To define the universal relation, which can apply and therefore subsumes all other relations.
-
Explicit Relations - To draw inferences from the relations created explicitly by the source text.
-
Listed-In Relations - To define the binary predicates corresponding to table columns, and which determine whether a given value is listed in that column.
-
Adjective Ambiguity - Managing the multiple contextual meanings which a single adjective can have.
-
Adjective Meanings - One individual meaning which an adjective can have.
-
Adjective Meaning Domains - What a single sense of an adjective can apply to: perhaps a kind or an instance.
-
Adjectives by Phrase - Adjectives defined by an I7 phrase written out longhand.
-
Adjectives by Condition - Adjectives defined by a one-line I7 condition.
-
Adjectives by Inter Function - Defining an adjective with an Inter function to test or make it true.
-
Adjectives by Inter Condition - Defining an adjective with an Inter condition.
-
Calculus Utilities - Utility functions for creating basic propositions using these predicates.
-
Powered by Inweb.