mirror of
https://github.com/ganelson/inform.git
synced 2024-07-16 22:14:23 +03:00
99 lines
5.5 KiB
HTML
99 lines
5.5 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
|
<html>
|
|
<head>
|
|
<title>Extensions and Kits</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">
|
|
<link href="docs-assets/Colours.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="compiler.html">compiler tools</a></li>
|
|
<li><a href="other.html">other tools</a></li>
|
|
<li><span class="unlink">extensions and kits</span></li>
|
|
<li><a href="units.html">unit test tools</a></li>
|
|
</ul><h2>Extensions</h2><ul>
|
|
<li><a href="basic_inform/index.html">basic_inform</a></li>
|
|
<li><a href="standard_rules/index.html">standard_rules</a></li>
|
|
</ul><h2>Kits</h2><ul>
|
|
<li><a href="BasicInformKit/index.html">BasicInformKit</a></li>
|
|
<li><a href="BasicInformExtrasKit/index.html">BasicInformExtrasKit</a></li>
|
|
<li><a href="CommandParserKit/index.html">CommandParserKit</a></li>
|
|
<li><a href="EnglishLanguageKit/index.html">EnglishLanguageKit</a></li>
|
|
<li><a href="WorldModelKit/index.html">WorldModelKit</a></li>
|
|
|
|
</ul>
|
|
</nav>
|
|
<main role="main">
|
|
<!--Weave of 'Extensions and Kits' generated by Inweb-->
|
|
<div class="breadcrumbs">
|
|
<ul class="crumbs"><li><a href="index.html">Home</a></li><li><b>Extensions and Kits</b></li></ul></div>
|
|
<ul class="toc"><li><a href="S-all.html#SP1">§1. Extensions</a></li><li><a href="S-all.html#SP2">§2. Kits</a></li></ul><hr class="tocbar">
|
|
|
|
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>§1. Extensions. </b>An "extension" is a supplementary piece of Inform 7 source text. Inform
|
|
programs sometimes explicitly ask for these, with sentences like so:
|
|
</p>
|
|
|
|
<blockquote>
|
|
<p>Include Locksmith by Emily Short.</p>
|
|
</blockquote>
|
|
|
|
<p class="commentary">Their presence can also be implicitly required by the use of certain kits.
|
|
For example, if <a href="BasicInformKit/index.html" class="internal">BasicInformKit</a> is used (and it always is), then the
|
|
extension Basic Inform by Graham Nelson (<a href="basic_inform/index.html" class="internal">basic_inform</a>) is auto-included.
|
|
Similarly, use of either <a href="WorldModelKit/index.html" class="internal">WorldModelKit</a> or <a href="CommandParserKit/index.html" class="internal">CommandParserKit</a> mandates
|
|
the inclusion of the Standard Rules for interactive fiction (<a href="standard_rules/index.html" class="internal">standard_rules</a>).
|
|
</p>
|
|
|
|
<p class="commentary">The Inform GUI apps come with numerous other built-in extensions besides these
|
|
two, but all are smaller and easier to read, and they are not provided as webs.
|
|
See: <a href="https://github.com/ganelson/inform" class="external">https://github.com/ganelson/inform</a>
|
|
</p>
|
|
|
|
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>§2. Kits. </b>The middle phase of the Inform 7 compiler turns source text into a low-level
|
|
abstract program in a format called inter. The final phase merges this with
|
|
pre-compiled inter libraries called "kits".
|
|
</p>
|
|
|
|
<p class="commentary">Every source text needs a kit called <a href="BasicInformKit/index.html" class="internal">BasicInformKit</a>, and a kit associated
|
|
with the natural language it will eventually read or write, such as
|
|
<a href="EnglishLanguageKit/index.html" class="internal">EnglishLanguageKit</a>; but then one of two things can happen:
|
|
</p>
|
|
|
|
<ul class="items"><li>(a) If the user explicitly declares other kits to use, those are used;
|
|
</li><li>(b) Otherwise, <a href="WorldModelKit/index.html" class="internal">WorldModelKit</a> and <a href="CommandParserKit/index.html" class="internal">CommandParserKit</a> are used;
|
|
</li><li>(c) If neither <a href="WorldModelKit/index.html" class="internal">WorldModelKit</a> nor <a href="CommandParserKit/index.html" class="internal">CommandParserKit</a> is used, then
|
|
<a href="BasicInformExtrasKit/index.html" class="internal">BasicInformExtrasKit</a> is used.
|
|
</li></ul>
|
|
<p class="commentary">In effect, Inform by default assumes it is making an interactive fiction
|
|
of some kind, and must be explicitly told if it's to make a "basic" program
|
|
with no world model or command parser.
|
|
</p>
|
|
|
|
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>§3. </b>Each kit is a web. Inter code is highly verbose, very low-level and not at
|
|
all legible, so these webs do not contain textual Inter code: instead, they
|
|
are written in Inform 6 syntax. The <a href="inter/index.html" class="internal">inter</a> tool then converts these to
|
|
binary inter code in a process called "assimilation". This means that to
|
|
create or edit kits, you need to be able to write Inform 6 code, but it's a
|
|
simple C-like language to learn if all you're doing is writing functions.
|
|
</p>
|
|
|
|
<!--End of weave-->
|
|
|
|
</main>
|
|
</body>
|
|
</html>
|
|
|