1
0
Fork 0
mirror of https://github.com/ganelson/inform.git synced 2024-06-29 05:24:57 +03:00
inform7/docs/if-module/index.html
2022-04-28 17:37:28 +01:00

330 lines
16 KiB
HTML

<html>
<head>
<title>if</title>
<link href="../docs-assets/Breadcrumbs.css" rel="stylesheet" rev="stylesheet" type="text/css">
<meta name="viewport" content="width=device-width initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Language" content="en-gb">
<link href="../docs-assets/Contents.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Progress.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Navigation.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Fonts.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Base.css" rel="stylesheet" rev="stylesheet" type="text/css">
</head>
<body class="commentary-font">
<nav role="navigation">
<h1><a href="../index.html">
<img src="../docs-assets/Inform.png" height=72">
</a></h1>
<ul><li><a href="../index.html">home</a></li>
</ul><h2>Compiler</h2><ul>
<li><a href="../structure.html">structure</a></li>
<li><a href="../inbuildn.html">inbuild</a></li>
<li><a href="../inform7n.html">inform7</a></li>
<li><a href="../intern.html">inter</a></li>
<li><a href="../services.html">services</a></li>
<li><a href="../secrets.html">secrets</a></li>
</ul><h2>Other Tools</h2><ul>
<li><a href="../inblorbn.html">inblorb</a></li>
<li><a href="../indocn.html">indoc</a></li>
<li><a href="../inform6.html">inform6</a></li>
<li><a href="../inpolicyn.html">inpolicy</a></li>
<li><a href="../inrtpsn.html">inrtps</a></li>
</ul><h2>Resources</h2><ul>
<li><a href="../extensions.html">extensions</a></li>
<li><a href="../kits.html">kits</a></li>
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inform"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inweb/index.html">inweb</a></li>
<li><a href="../../../intest/index.html">intest</a></li>
</ul>
</nav>
<main role="main">
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../inform7n.html">Inform7</a></li><li><b>if</b></li></ul>
<p class="purpose">The interactive-fiction specific layer of Inform, as a module. This is version 1.</p>
<hr>
<div class="contentspage">
<ul class="chapterlist">
<li>
<p class="chapterentry"><a name="P"></a>
<span class="chaptertitle">Preliminaries</span></p>
<ul class="sectionlist">
<li>
<p class="sectionentry"><a href="P-wtmd.html">
<spon class="sectiontitle">What This Module Does</span></a> -
<span class="sectionpurpose">An overview of the if module's role and abilities.</span></p>
</li>
</ul>
</li>
<li>
<p class="chapterentry"><a name="1"></a>
<span class="chaptertitle">Chapter 1: Starting Up</span></p>
<ul class="sectionlist">
<li>
<p class="sectionentry"><a href="1-im.html">
<spon class="sectiontitle">IF Module</span></a> -
<span class="sectionpurpose">Setting up the use of this module.</span></p>
</li>
</ul>
</li>
<li>
<p class="chapterentry"><a name="2"></a>
<span class="chaptertitle">Chapter 2: Bibliographic Data</span></p>
<p class="chapterpurpose">ISBN-like data and cataloguing information, and Release... sentences.</p>
<ul class="sectionlist">
<li>
<p class="sectionentry"><a href="2-bd.html">
<spon class="sectiontitle">Bibliographic Data</span></a> -
<span class="sectionpurpose">To manage the special variables providing bibliographic data on the work of IF being generated (title, author's name and so forth), and to write the Library Card in the index.</span></p>
</li>
<li>
<p class="sectionentry"><a href="2-ri.html">
<spon class="sectiontitle">Release Instructions</span></a> -
<span class="sectionpurpose">To write the iFiction record for the work of IF compiled, its release instructions and its picture manifest, if any.</span></p>
</li>
<li>
<p class="sectionentry"><a href="2-tir.html">
<spon class="sectiontitle">The iFiction Record</span></a> -
<span class="sectionpurpose">To write the iFiction record for the work of IF compiled.</span></p>
</li>
<li>
<p class="sectionentry"><a href="2-tbf.html">
<spon class="sectiontitle">The Blurb File</span></a> -
<span class="sectionpurpose">To write the blurb file of instructions for inblorb to release the project.</span></p>
</li>
</ul>
</li>
<li>
<p class="chapterentry"><a name="3"></a>
<span class="chaptertitle">Chapter 3: Space and Time</span></p>
<p class="chapterpurpose">A simulated world of geography, spatial containment and scenes.</p>
<ul class="sectionlist">
<li>
<p class="sectionentry"><a href="3-sm.html">
<spon class="sectiontitle">Spatial Model</span></a> -
<span class="sectionpurpose">A plugin which constructs the fundamental spatial model used by IF, to represent containment, support, carrying, wearing, and incorporation.</span></p>
</li>
<li>
<p class="sectionentry"><a href="3-enah.html">
<spon class="sectiontitle">Everywhere, Nowhere and Here</span></a> -
<span class="sectionpurpose">To define the unary predicates for some anaphoric location adjectives.</span></p>
</li>
<li>
<p class="sectionentry"><a href="3-sr.html">
<spon class="sectiontitle">Spatial Relations</span></a> -
<span class="sectionpurpose">Binary predicates for spatial relationships.</span></p>
</li>
<li>
<p class="sectionentry"><a href="3-si.html">
<spon class="sectiontitle">Spatial Inferences</span></a> -
<span class="sectionpurpose">Six families of inference used by the spatial plugin.</span></p>
</li>
<li>
<p class="sectionentry"><a href="3-prs.html">
<spon class="sectiontitle">Persons</span></a> -
<span class="sectionpurpose">A plugin giving minimal support for switchable devices.</span></p>
</li>
<li>
<p class="sectionentry"><a href="3-tp.html">
<spon class="sectiontitle">The Player</span></a> -
<span class="sectionpurpose">A plugin to give a special role to a person who is the protagonist.</span></p>
</li>
<li>
<p class="sectionentry"><a href="3-dvc.html">
<spon class="sectiontitle">Devices</span></a> -
<span class="sectionpurpose">A plugin giving minimal support for switchable devices.</span></p>
</li>
<li>
<p class="sectionentry"><a href="3-bck.html">
<spon class="sectiontitle">Backdrops</span></a> -
<span class="sectionpurpose">A plugin to provide support for backdrop objects, which are present as scenery in multiple rooms at once.</span></p>
</li>
<li>
<p class="sectionentry"><a href="3-rgn.html">
<spon class="sectiontitle">Regions</span></a> -
<span class="sectionpurpose">A plugin providing support for grouping rooms together into named and nestable regions.</span></p>
</li>
<li>
<p class="sectionentry"><a href="3-tm.html">
<spon class="sectiontitle">The Map</span></a> -
<span class="sectionpurpose">A plugin to provide a geographical model, linking rooms and doors together in oppositely-paired directions.</span></p>
</li>
<li>
<p class="sectionentry"><a href="3-mcr.html">
<spon class="sectiontitle">Map Connection Relations</span></a> -
<span class="sectionpurpose">To define one binary predicate for each map direction, such as "mapped north of".</span></p>
</li>
<li>
<p class="sectionentry"><a href="3-tr.html">
<spon class="sectiontitle">Timed Rules</span></a> -
<span class="sectionpurpose">A plugin to support rules like "At 12:03AM: ...".</span></p>
</li>
<li>
<p class="sectionentry"><a href="3-scn.html">
<spon class="sectiontitle">Scenes</span></a> -
<span class="sectionpurpose">A plugin to support named periods of time during an interactive story.</span></p>
</li>
<li>
<p class="sectionentry"><a href="3-ts.html">
<spon class="sectiontitle">The Score</span></a> -
<span class="sectionpurpose">A plugin to support the score variables.</span></p>
</li>
<li>
<p class="sectionentry"><a href="3-mhr.html">
<spon class="sectiontitle">Mapping Hint Requests</span></a> -
<span class="sectionpurpose">Special sentences giving layout or design hints on how to produce the World map in the index and an EPS map.</span></p>
</li>
</ul>
</li>
<li>
<p class="chapterentry"><a name="4"></a>
<span class="chaptertitle">Chapter 4: Actions</span></p>
<p class="chapterpurpose">Actions are impulses to do something within the simulated world.</p>
<ul class="sectionlist">
<li>
<p class="sectionentry"><a href="4-ap.html">
<spon class="sectiontitle">Actions Plugin</span></a> -
<span class="sectionpurpose">A plugin for actions, by which animate characters change the world model.</span></p>
</li>
<li>
<p class="sectionentry"><a href="4-anaa.html">
<spon class="sectiontitle">Actions-Only Nodes and Annotations</span></a> -
<span class="sectionpurpose">Additional syntax tree node and annotation types used by the actions plugin.</span></p>
</li>
<li>
<p class="sectionentry"><a href="4-ak.html">
<spon class="sectiontitle">Action Kinds</span></a> -
<span class="sectionpurpose">Three action-related kinds of value.</span></p>
</li>
<li>
<p class="sectionentry"><a href="4-ac.html">
<spon class="sectiontitle">Action Conditions</span></a> -
<span class="sectionpurpose">A special condition for testing against action patterns.</span></p>
</li>
<li>
<p class="sectionentry"><a href="4-act.html">
<spon class="sectiontitle">Actions</span></a> -
<span class="sectionpurpose">Each different sort of impulse to do something is an "action name".</span></p>
</li>
<li>
<p class="sectionentry"><a href="4-as.html">
<spon class="sectiontitle">Action Semantics</span></a> -
<span class="sectionpurpose">Constraints on how actions may be used in the model world.</span></p>
</li>
<li>
<p class="sectionentry"><a href="4-av.html">
<spon class="sectiontitle">Action Variables</span></a> -
<span class="sectionpurpose">Variables shared by the rules of the rulebooks processing an action.</span></p>
</li>
<li>
<p class="sectionentry"><a href="4-ann.html">
<spon class="sectiontitle">Action Name Names</span></a> -
<span class="sectionpurpose">There is an annoying profusion of ways an action can have a name.</span></p>
</li>
<li>
<p class="sectionentry"><a href="4-ap2.html">
<spon class="sectiontitle">Action Patterns</span></a> -
<span class="sectionpurpose">An action pattern is a description which may match many actions or none. The text "doing something" matches every action, while "throwing something at a door in a dark room" is seldom matched.</span></p>
</li>
<li>
<p class="sectionentry"><a href="4-anl.html">
<spon class="sectiontitle">Action Name Lists</span></a> -
<span class="sectionpurpose">Action name lists are used in parsing action patterns, and identify which action names seem to be possible within them.</span></p>
</li>
<li>
<p class="sectionentry"><a href="4-apc.html">
<spon class="sectiontitle">Action Pattern Clauses</span></a> -
<span class="sectionpurpose">Pattern-matches on individual nouns in an action are called clauses.</span></p>
</li>
<li>
<p class="sectionentry"><a href="4-pap.html">
<spon class="sectiontitle">Parse Action Patterns</span></a> -
<span class="sectionpurpose">Turning text into APs.</span></p>
</li>
<li>
<p class="sectionentry"><a href="4-pc.html">
<spon class="sectiontitle">Parse Clauses</span></a> -
<span class="sectionpurpose">Parsing the clauses part of an AP from source text.</span></p>
</li>
<li>
<p class="sectionentry"><a href="4-ea.html">
<spon class="sectiontitle">Explicit Actions</span></a> -
<span class="sectionpurpose">An exactly specified action is called "explicit".</span></p>
</li>
<li>
<p class="sectionentry"><a href="4-nap.html">
<spon class="sectiontitle">Named Action Patterns</span></a> -
<span class="sectionpurpose">A named action pattern is a categorisation of behaviour.</span></p>
</li>
<li>
<p class="sectionentry"><a href="4-gng.html">
<spon class="sectiontitle">Going</span></a> -
<span class="sectionpurpose">A plugin to provide a little extra support for the "going" action.</span></p>
</li>
<li>
<p class="sectionentry"><a href="4-rpoa.html">
<spon class="sectiontitle">Rules Predicated on Actions</span></a> -
<span class="sectionpurpose">Rules can be set to run only if the action matches a given pattern.</span></p>
</li>
</ul>
</li>
<li>
<p class="chapterentry"><a name="5"></a>
<span class="chaptertitle">Chapter 5: Command Parser</span></p>
<p class="chapterpurpose">Understand... sentences become a grammar for the command parser to use at run-time.</p>
<ul class="sectionlist">
<li>
<p class="sectionentry"><a href="5-pp.html">
<spon class="sectiontitle">Parsing Plugin</span></a> -
<span class="sectionpurpose">A plugin for command-parser support.</span></p>
</li>
<li>
<p class="sectionentry"><a href="5-us.html">
<spon class="sectiontitle">Understand Sentences</span></a> -
<span class="sectionpurpose">Command parser grammar is laid out in special Understand... sentences.</span></p>
</li>
<li>
<p class="sectionentry"><a href="5-cg.html">
<spon class="sectiontitle">Command Grammars</span></a> -
<span class="sectionpurpose">The possible command text following a command verb, or referring to a single concept or object, is gathered into a "command grammar".</span></p>
</li>
<li>
<p class="sectionentry"><a href="5-cgl.html">
<spon class="sectiontitle">Command Grammar Lines</span></a> -
<span class="sectionpurpose">A CG line is a list of CG tokens to specify a textual pattern. For example, "take [something] out" is a CG line of three tokens.</span></p>
</li>
<li>
<p class="sectionentry"><a href="5-cgt.html">
<spon class="sectiontitle">Command Grammar Tokens</span></a> -
<span class="sectionpurpose">CGs are list of CG lines, which are lists of CG tokens.</span></p>
</li>
<li>
<p class="sectionentry"><a href="5-dt.html">
<spon class="sectiontitle">Determination Types</span></a> -
<span class="sectionpurpose">Command grammars, their lines and their tokens may each "determine" up to two values, and here we provide a way to describe the range of those.</span></p>
</li>
<li>
<p class="sectionentry"><a href="5-pv.html">
<spon class="sectiontitle">Property Visibility</span></a> -
<span class="sectionpurpose">Some properties can be referred to in the player's commands.</span></p>
</li>
<li>
<p class="sectionentry"><a href="5-ts.html">
<spon class="sectiontitle">Test Scripts</span></a> -
<span class="sectionpurpose">A rudimentary but useful testing system for runnign short sequences of commands through the command parser at runtime.</span></p>
</li>
</ul>
</li>
</ul>
</div>
<hr>
<p class="purpose">Powered by <a href="https://github.com/ganelson/inweb">Inweb</a>.</p>
</main>
</body>
</html>