mirror of
https://github.com/ganelson/inform.git
synced 2024-07-09 02:24:21 +03:00
4112 lines
464 KiB
HTML
4112 lines
464 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
|
<html>
|
|
<head>
|
|
<title>English Inflections</title>
|
|
<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="../inweb.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
|
|
|
</head>
|
|
<body>
|
|
<nav role="navigation">
|
|
<h1><a href="../index.html">
|
|
<img src="../docs-src/Figures/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><a href="../extensions.html">extensions and kits</a></li>
|
|
<li><a href="../units.html">unit test tools</a></li>
|
|
</ul><h2>Compiler Webs</h2><ul>
|
|
<li><a href="../inbuild/index.html">inbuild</a></li>
|
|
<li><a href="../inform7/index.html">inform7</a></li>
|
|
<li><a href="../inter/index.html">inter</a></li>
|
|
</ul><h2>Inbuild Modules</h2><ul>
|
|
<li><a href="../supervisor-module/index.html">supervisor</a></li>
|
|
</ul><h2>Inform7 Modules</h2><ul>
|
|
<li><a href="../core-module/index.html">core</a></li>
|
|
<li><a href="index.html"><span class="selectedlink">inflections</span></a></li>
|
|
<li><a href="../linguistics-module/index.html">linguistics</a></li>
|
|
<li><a href="../kinds-module/index.html">kinds</a></li>
|
|
<li><a href="../if-module/index.html">if</a></li>
|
|
<li><a href="../multimedia-module/index.html">multimedia</a></li>
|
|
<li><a href="../problems-module/index.html">problems</a></li>
|
|
<li><a href="../index-module/index.html">index</a></li>
|
|
</ul><h2>Inter Modules</h2><ul>
|
|
<li><a href="../bytecode-module/index.html">bytecode</a></li>
|
|
<li><a href="../building-module/index.html">building</a></li>
|
|
<li><a href="../codegen-module/index.html">codegen</a></li>
|
|
</ul><h2>Shared Modules</h2><ul>
|
|
<li><a href="../arch-module/index.html">arch</a></li>
|
|
<li><a href="../syntax-module/index.html">syntax</a></li>
|
|
<li><a href="../words-module/index.html">words</a></li>
|
|
<li><a href="../html-module/index.html">html</a></li>
|
|
<li><a href="../../../inweb/docs/foundation-module/index.html">foundation</a></li>
|
|
|
|
</ul>
|
|
</nav>
|
|
<main role="main">
|
|
|
|
<!--Weave of 'English Inflections' generated by 7-->
|
|
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../compiler.html">Inform7 Modules</a></li><li><a href="index.html">inflections</a></li><li><a href="index.html#4">Chapter 4: Default Language</a></li><li><b>English Inflections</b></li></ul><p class="purpose">To define how English nouns and verbs are inflected.</p>
|
|
|
|
<ul class="toc"><li><a href="#SP1">§1. Preface</a></li><li><a href="#SP3">§3. Noun inflections</a></li><li><a href="#SP7">§7. Plural inflections</a></li><li><a href="#SP16">§16. Verb inflections</a></li><li><a href="#SP47">§47. Present to past participles</a></li><li><a href="#SP48">§48. Adjective agreements</a></li></ul><hr class="tocbar">
|
|
|
|
<p class="inwebparagraph"><a id="SP1"></a><b>§1. Preface. </b>Inflections are modifications of words — usually word endings or beginnings —
|
|
for different circumstances. English is often called an uninflected language,
|
|
but this is an exaggeration. For example, we spell the word "tree" as
|
|
"trees" if it refers to more than one of them. Inform sometimes needs
|
|
to take text in one form and change it to another — for example, to turn
|
|
a singular noun into a plural one — and ordinary Preform parsing isn't good
|
|
enough to express this.
|
|
</p>
|
|
|
|
<p class="inwebparagraph">Inform uses a data structure called a "trie" as an efficient way to match
|
|
prefix and/or suffix patterns in words, and then to modify them. These tries
|
|
are created using the same notation as for Preform grammar, which is
|
|
convenient in many ways, but also a little misleading — they are parsed quite
|
|
differently. The rules are as follows:
|
|
</p>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<ul class="items"><li>(a) A nonterminal in trie grammar can either be a list of other tries, or it
|
|
can be a list of inflection rules. Mixtures of the two are not allowed. For
|
|
example <code class="display"><span class="extract"><singular-noun-to-its-indefinite-article></span></code> is a list of other tries, while
|
|
<code class="display"><span class="extract"><en-trie-indef-a></span></code> contains actual rules.
|
|
</li></ul>
|
|
<ul class="items"><li>(b) In a list of tries, each production consists only of a single nonterminal
|
|
identifying the trie to make use of. One exception: writing <code class="display"><span class="extract">...</span></code> before the
|
|
trie's name makes it work on the end of a word instead of the beginning.
|
|
Inform attempts to find a match using each trie in turn, until a match is
|
|
found.
|
|
</li></ul>
|
|
<ul class="items"><li>(c) In a list of inflection rules, each production consists of two words. The
|
|
first word is what to match; the second gives instructions on what to turn
|
|
it into. An asterisk is used to mean "any string of 0 or more letters";
|
|
a digit in the replacement text means "truncate by this many letters and
|
|
add...". (As a special case, the replacement text "0" means: make no
|
|
change.) Some examples:
|
|
</li></ul>
|
|
<p class="inwebparagraph"><code class="display"><span class="extract">lead gold</span></code> turns "lead" into "gold"
|
|
</p>
|
|
|
|
<p class="inwebparagraph"><code class="display"><span class="extract">codex codices</span></code> turns "codex" to "codices"
|
|
</p>
|
|
|
|
<p class="inwebparagraph"><code class="display"><span class="extract">*mouse 5mice</span></code> turns "mouse" to "mice", or "fieldmouse" to "fieldmice"
|
|
</p>
|
|
|
|
<p class="inwebparagraph">Designing a trie is not quite as easy as it looks. It looks as if this is a
|
|
sequence of tests to perform in succession, but it's better to think of the
|
|
rules all being performed at once. In general, if you need one inflection
|
|
rule to take precedence over another, put it in an earlier trie, rather than
|
|
putting it earlier in the same trie.
|
|
</p>
|
|
|
|
<p class="inwebparagraph"><a id="SP2"></a><b>§2. </b>Tries are highly language specific and should not be translated as such:
|
|
instead, an appropriate version needs to be written for every language.
|
|
</p>
|
|
|
|
<p class="inwebparagraph">Except at the very top level, translators are free to created new tries
|
|
and name them as they please. For example, the Spanish implementation of
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">singular</span><span class="plain">-</span><span class="identifier">noun</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">its</span><span class="plain">-</span><span class="identifier">indefinite</span><span class="plain">-</span><span class="identifier">article</span><span class="plain">></span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph">may look entirely unlike its English version, but at the top level it still
|
|
has to have that name.
|
|
</p>
|
|
|
|
<p class="inwebparagraph">Lower-level tries used in the implementation should have names beginning
|
|
with a language code: hence the names "en-" used below.
|
|
</p>
|
|
|
|
<p class="inwebparagraph"><a id="SP3"></a><b>§3. Noun inflections. </b>The following trie looks at the start of a word, which we assume to be a
|
|
noun, and decides whether to use the indefinite article "a" or "an".
|
|
This is much more complicated than simply looking for a vowel as the first
|
|
letter, as people often think until they try a few cases.
|
|
</p>
|
|
|
|
<p class="inwebparagraph">The following was compiled by Toby Nelson with the aid of a pronunciation
|
|
dictionary and the "Official Scrabble Wordlist".
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">singular</span><span class="plain">-</span><span class="identifier">noun</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">its</span><span class="plain">-</span><span class="identifier">indefinite</span><span class="plain">-</span><span class="identifier">article</span><span class="plain">> ::=</span>
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">indef</span><span class="plain">-</span><span class="identifier">a</span><span class="plain">> |</span>
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">indef</span><span class="plain">-</span><span class="identifier">b</span><span class="plain">> |</span>
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">indef</span><span class="plain">-</span><span class="identifier">c</span><span class="plain">></span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP4"></a><b>§4. </b>Exceptions to the exceptions:
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">indef</span><span class="plain">-</span><span class="identifier">a</span><span class="plain">> ::=</span>
|
|
<span class="identifier">oneir</span><span class="plain">* </span><span class="identifier">an</span><span class="plain"> |</span>
|
|
<span class="identifier">onero</span><span class="plain">* </span><span class="identifier">an</span><span class="plain"> |</span>
|
|
<span class="identifier">ukiyo</span><span class="plain">-</span><span class="identifier">e</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> | </span><span class="comment"> Japanese style of 17th-19th cent. printmaking</span>
|
|
<span class="identifier">urao</span><span class="plain">* </span><span class="identifier">an</span><span class="plain"> |</span>
|
|
<span class="identifier">urial</span><span class="plain">* </span><span class="identifier">an</span><span class="plain"> |</span>
|
|
<span class="identifier">uvarovite</span><span class="plain">* </span><span class="identifier">an</span><span class="plain"> </span><span class="comment"> a rare emerald-green garnet, Ca3Cr2(SiO4)3</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP5"></a><b>§5. </b>Then the exceptions:
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">indef</span><span class="plain">-</span><span class="identifier">b</span><span class="plain">> ::=</span>
|
|
<span class="identifier">eu</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> | </span><span class="comment"> e.g., euphoria, eulogy</span>
|
|
<span class="identifier">ewe</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> | </span><span class="comment"> female sheep</span>
|
|
<span class="identifier">ewftes</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> | </span><span class="comment"> Spens. form of an eft lizard</span>
|
|
<span class="identifier">ewghen</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> | </span><span class="comment"> made of yew, i.e., yewen</span>
|
|
<span class="identifier">ewk</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">houri</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">once</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> | </span><span class="comment"> a Once and Future King</span>
|
|
<span class="identifier">one</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> | </span><span class="comment"> but still use an for oneir- and onero-</span>
|
|
<span class="identifier">onst</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> | </span><span class="comment"> dialect form of once</span>
|
|
<span class="identifier">oui</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> | </span><span class="comment"> e.g., a Ouija board or a ouistiti (a marmoset)</span>
|
|
<span class="identifier">u</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> | </span><span class="comment"> the letter U</span>
|
|
<span class="identifier">u</span><span class="plain">-* </span><span class="identifier">a</span><span class="plain"> | </span><span class="comment"> e.g., U-boats</span>
|
|
<span class="identifier">u</span><span class="character">'* a | /* e.g., u'</span><span class="identifier">s</span><span class="plain"> */</span>
|
|
<span class="identifier">uakari</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> | </span><span class="comment"> the South American monkey</span>
|
|
<span class="identifier">ub</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> | </span><span class="comment"> e.g., ubiquitous</span>
|
|
<span class="identifier">udal</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">udomet</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">uey</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> | </span><span class="comment"> colloquial for "U-turn", as in "he pulled a uey"</span>
|
|
<span class="identifier">ueys</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">ufo</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">uganda</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> | </span><span class="comment"> the county Uganda</span>
|
|
<span class="identifier">ugr</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">uint</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">uk</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">ulex</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> | </span><span class="comment"> the genus of gorse</span>
|
|
<span class="identifier">uli</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">ulo</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">ulu</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">una</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> | </span><span class="comment"> from "una corda", the musical term</span>
|
|
<span class="identifier">unabomb</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> | </span><span class="comment"> the so-called Unabomber</span>
|
|
<span class="identifier">unalist</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">unanimit</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">unanimous</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">unesco</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> | </span><span class="comment"> the United Nations cultural body</span>
|
|
<span class="identifier">unescos</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">unia</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">unic</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">unif</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">unig</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">unil</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">unio</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">unip</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">uniq</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">unis</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">unit</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">univ</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">upas</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">ura</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">ure</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">uri</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">uru</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">usa</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">use</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">usi</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">usu</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">utas</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">ute</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">uti</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">uto</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">utr</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">uttoxeter</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> | </span><span class="comment"> the English town of Uttoxeter</span>
|
|
<span class="identifier">uva</span><span class="plain">* </span><span class="identifier">a</span><span class="plain"> |</span>
|
|
<span class="identifier">uvu</span><span class="plain">* </span><span class="identifier">a</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP6"></a><b>§6. </b>And finally the basic rules:
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">indef</span><span class="plain">-</span><span class="identifier">c</span><span class="plain">> ::=</span>
|
|
<span class="identifier">a</span><span class="plain">* </span><span class="identifier">an</span><span class="plain"> |</span>
|
|
<span class="identifier">e</span><span class="plain">* </span><span class="identifier">an</span><span class="plain"> |</span>
|
|
<span class="identifier">i</span><span class="plain">* </span><span class="identifier">an</span><span class="plain"> |</span>
|
|
<span class="identifier">o</span><span class="plain">* </span><span class="identifier">an</span><span class="plain"> |</span>
|
|
<span class="identifier">u</span><span class="plain">* </span><span class="identifier">an</span><span class="plain"> |</span>
|
|
<span class="identifier">f</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> |</span>
|
|
<span class="identifier">f</span><span class="character">'s an |</span>
|
|
<span class="character">f-* an |</span>
|
|
<span class="character">fbi an |</span>
|
|
<span class="character">fo an |</span>
|
|
<span class="character">frs an |</span>
|
|
<span class="character">h an |</span>
|
|
<span class="character">h'</span><span class="identifier">s</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> |</span>
|
|
<span class="identifier">h</span><span class="plain">-* </span><span class="identifier">an</span><span class="plain"> | </span><span class="comment"> e.g., H-bomb</span>
|
|
<span class="identifier">haute</span><span class="plain">* </span><span class="identifier">an</span><span class="plain"> | </span><span class="comment"> e.g., haute cuisine, hauteur</span>
|
|
<span class="identifier">heir</span><span class="plain">* </span><span class="identifier">an</span><span class="plain"> |</span>
|
|
<span class="identifier">hono</span><span class="plain">* </span><span class="identifier">an</span><span class="plain"> | </span><span class="comment"> e.g., honorific, honorary doctorate</span>
|
|
<span class="identifier">hour</span><span class="plain">* </span><span class="identifier">an</span><span class="plain"> |</span>
|
|
<span class="identifier">l</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> |</span>
|
|
<span class="identifier">l</span><span class="character">'s an |</span>
|
|
<span class="character">l-* an | </span><span class="comment"> e.g., L-plate</span>
|
|
<span class="character">m an |</span>
|
|
<span class="character">m'</span><span class="identifier">s</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> |</span>
|
|
<span class="identifier">m</span><span class="plain">-* </span><span class="identifier">an</span><span class="plain"> | </span><span class="comment"> e.g., M-ration</span>
|
|
<span class="identifier">n</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> |</span>
|
|
<span class="identifier">n</span><span class="character">'s an |</span>
|
|
<span class="character">n-* an | </span><span class="comment"> e.g., N-dimensional manifold</span>
|
|
<span class="character">r an |</span>
|
|
<span class="character">r'</span><span class="identifier">s</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> |</span>
|
|
<span class="identifier">r</span><span class="plain">-* </span><span class="identifier">an</span><span class="plain"> |</span>
|
|
<span class="identifier">rac</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> | </span><span class="comment"> Royal Automobile Club</span>
|
|
<span class="identifier">raf</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> | </span><span class="comment"> Royal Air Force</span>
|
|
<span class="identifier">rspca</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> | </span><span class="comment"> Royal Society for the Prevention of Cruelty to Animals</span>
|
|
<span class="identifier">rsvp</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> |</span>
|
|
<span class="identifier">s</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> |</span>
|
|
<span class="identifier">s</span><span class="character">'s an |</span>
|
|
<span class="character">s-* an |</span>
|
|
<span class="character">x an |</span>
|
|
<span class="character">x'</span><span class="identifier">s</span><span class="plain"> </span><span class="identifier">an</span><span class="plain"> |</span>
|
|
<span class="identifier">x</span><span class="plain">-* </span><span class="identifier">an</span><span class="plain"> | </span><span class="comment"> e.g., X-ray</span>
|
|
<span class="identifier">xmas</span><span class="plain">* </span><span class="identifier">an</span><span class="plain"> |</span>
|
|
<span class="identifier">yb</span><span class="plain">* </span><span class="identifier">an</span><span class="plain"> | </span><span class="comment"> these are mostly obs., Spens., and/or arch.</span>
|
|
<span class="identifier">yc</span><span class="plain">* </span><span class="identifier">an</span><span class="plain"> |</span>
|
|
<span class="identifier">yd</span><span class="plain">* </span><span class="identifier">an</span><span class="plain"> |</span>
|
|
<span class="identifier">yf</span><span class="plain">* </span><span class="identifier">an</span><span class="plain"> |</span>
|
|
<span class="identifier">yg</span><span class="plain">* </span><span class="identifier">an</span><span class="plain"> |</span>
|
|
<span class="identifier">ym</span><span class="plain">* </span><span class="identifier">an</span><span class="plain"> |</span>
|
|
<span class="identifier">yn</span><span class="plain">* </span><span class="identifier">an</span><span class="plain"> |</span>
|
|
<span class="identifier">yp</span><span class="plain">* </span><span class="identifier">an</span><span class="plain"> | </span><span class="comment"> e.g., ypsilon</span>
|
|
<span class="identifier">yr</span><span class="plain">* </span><span class="identifier">an</span><span class="plain"> |</span>
|
|
<span class="identifier">ys</span><span class="plain">* </span><span class="identifier">an</span><span class="plain"> |</span>
|
|
<span class="identifier">yt</span><span class="plain">* </span><span class="identifier">an</span><span class="plain"> | </span><span class="comment"> e.g., Ytterbium, Yttrium</span>
|
|
<span class="identifier">yw</span><span class="plain">* </span><span class="identifier">an</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP7"></a><b>§7. Plural inflections. </b>The following takes a single word, assumes it to be a noun which meaningfully
|
|
has a plural, and modifies it to the plural form. ("Golf" is a noun which
|
|
doesn't sensibly have a plural; the algorithm here would return "golves".)
|
|
</p>
|
|
|
|
<p class="inwebparagraph">The trie here was derived from a partial implementation of Damian Conway's
|
|
algorithm: see his paper "An Algorithmic Approach to English
|
|
Pluralization", online at his website. The use of tries makes this somewhat
|
|
faster than Conway's reference implementation, which for clarity's sake
|
|
consists of a long sequence of regular-expression matches.
|
|
</p>
|
|
|
|
<p class="inwebparagraph">Conway divides plurals into modern and classical forms, and in cases where a
|
|
noun has both, we take the modern form. Thus "phalanxes", not "phalanges".
|
|
Because we focus on single words, we also omit prepositional phrases ("under
|
|
water") and position names qualified by following adjectives ("procurator
|
|
fiscal", "postmaster general"). Otherwise we omit only two cases, both
|
|
involving capitalised proper nouns: nationality adjectives used as if they were
|
|
nouns ("I saw two Japanese walking into the airport") and names of people used
|
|
as if they were count nouns for a category of people like the one named ("We
|
|
need more Wills, more Henrys.") — these are not likely to arise much in Inform
|
|
usage, and they are awkward to implement with our tries because they depend on
|
|
prefix as well as suffix and require case-dependency.
|
|
</p>
|
|
|
|
<p class="inwebparagraph">In its written form (as of November 2009, anyway), Conway's paper omits an
|
|
important step from Algorithm 1, though it's present in his Perl implementation:
|
|
the regular case of a sibilant suffix. (Ironically, this means that as stated
|
|
Algorithm 1 pluralizes "suffix" incorrectly, as "suffixs".) I have filled
|
|
this omission. I have also amended step 11, which considers the regular plural
|
|
of a sibilant plus "o" suffix to include an "e", so that Conway produces
|
|
"torsoes", "bozoes"; we will have "torsos" and "bozos".
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">singular</span><span class="plain">-</span><span class="identifier">noun</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">its</span><span class="plain">-</span><span class="identifier">plural</span><span class="plain">> ::=</span>
|
|
<span class="plain">... <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">plural</span><span class="plain">-</span><span class="identifier">uninflected</span><span class="plain">> |</span>
|
|
<span class="plain">... <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">plural</span><span class="plain">-</span><span class="identifier">pronouns</span><span class="plain">> |</span>
|
|
<span class="plain">... <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">plural</span><span class="plain">-</span><span class="identifier">irregular</span><span class="plain">> |</span>
|
|
<span class="plain">... <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">plural</span><span class="plain">-</span><span class="identifier">irregular</span><span class="plain">-</span><span class="identifier">inflections</span><span class="plain">> |</span>
|
|
<span class="plain">... <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">plural</span><span class="plain">-</span><span class="identifier">assimilated</span><span class="plain">-</span><span class="identifier">classical</span><span class="plain">-</span><span class="identifier">inflections</span><span class="plain">> |</span>
|
|
<span class="plain">... <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">plural</span><span class="plain">-</span><span class="identifier">irregular</span><span class="plain">-</span><span class="identifier">o</span><span class="plain">-</span><span class="identifier">suffixes</span><span class="plain">> |</span>
|
|
<span class="plain">... <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">plural</span><span class="plain">-</span><span class="identifier">regular</span><span class="plain">-</span><span class="identifier">inflections</span><span class="plain">> |</span>
|
|
<span class="plain">... <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">plural</span><span class="plain">-</span><span class="identifier">append</span><span class="plain">-</span><span class="identifier">s</span><span class="plain">></span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP8"></a><b>§8. </b>See Conway's table A.2. The following nouns, mostly names of kinds of animal,
|
|
have the same plural as singular form: for example, chamois, salmon, goldfish.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">plural</span><span class="plain">-</span><span class="identifier">uninflected</span><span class="plain">> ::=</span>
|
|
<span class="plain">*</span><span class="identifier">fish</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">ois</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">sheep</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">deer</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">pox</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">itis</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">bison</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">flounder</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">pliers</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">bream</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">gallows</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">proceedings</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">breeches</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">graffiti</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">rabies</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">britches</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">headquarters</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">salmon</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">carp</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">herpes</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">scissors</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">chassis</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">high</span><span class="plain">-</span><span class="identifier">jinks</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">sea</span><span class="plain">-</span><span class="identifier">bass</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">clippers</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">homework</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">series</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">cod</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">innings</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">shears</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">contretemps</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">jackanapes</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">species</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">corps</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">mackerel</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">swine</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">debris</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">measles</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">trout</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">diabetes</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">mews</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">tuna</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">djinn</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">mumps</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">whiting</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">eland</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">news</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">wildebeest</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">elk</span><span class="plain"> </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="identifier">pincers</span><span class="plain"> </span><span class="constant">0</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP9"></a><b>§9. </b>We may as well pluralise pronouns while we're at it.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">plural</span><span class="plain">-</span><span class="identifier">pronouns</span><span class="plain">> ::=</span>
|
|
<span class="identifier">i</span><span class="plain"> </span><span class="identifier">we</span><span class="plain"> |</span>
|
|
<span class="identifier">you</span><span class="plain"> </span><span class="identifier">you</span><span class="plain"> |</span>
|
|
<span class="identifier">thou</span><span class="plain"> </span><span class="identifier">you</span><span class="plain"> |</span>
|
|
<span class="identifier">she</span><span class="plain"> </span><span class="identifier">they</span><span class="plain"> |</span>
|
|
<span class="identifier">he</span><span class="plain"> </span><span class="identifier">they</span><span class="plain"> |</span>
|
|
<span class="identifier">it</span><span class="plain"> </span><span class="identifier">they</span><span class="plain"> |</span>
|
|
<span class="identifier">they</span><span class="plain"> </span><span class="identifier">they</span><span class="plain"> |</span>
|
|
<span class="identifier">me</span><span class="plain"> </span><span class="identifier">us</span><span class="plain"> |</span>
|
|
<span class="identifier">you</span><span class="plain"> </span><span class="identifier">you</span><span class="plain"> |</span>
|
|
<span class="identifier">thee</span><span class="plain"> </span><span class="identifier">you</span><span class="plain"> |</span>
|
|
<span class="identifier">her</span><span class="plain"> </span><span class="identifier">them</span><span class="plain"> |</span>
|
|
<span class="identifier">him</span><span class="plain"> </span><span class="identifier">them</span><span class="plain"> |</span>
|
|
<span class="identifier">it</span><span class="plain"> </span><span class="identifier">them</span><span class="plain"> |</span>
|
|
<span class="identifier">them</span><span class="plain"> </span><span class="identifier">them</span><span class="plain"> |</span>
|
|
<span class="identifier">myself</span><span class="plain"> </span><span class="identifier">ourselves</span><span class="plain"> |</span>
|
|
<span class="identifier">yourself</span><span class="plain"> </span><span class="identifier">yourself</span><span class="plain"> |</span>
|
|
<span class="identifier">thyself</span><span class="plain"> </span><span class="identifier">yourself</span><span class="plain"> |</span>
|
|
<span class="identifier">herself</span><span class="plain"> </span><span class="identifier">themselves</span><span class="plain"> |</span>
|
|
<span class="identifier">himself</span><span class="plain"> </span><span class="identifier">themselves</span><span class="plain"> |</span>
|
|
<span class="identifier">itself</span><span class="plain"> </span><span class="identifier">themselves</span><span class="plain"> |</span>
|
|
<span class="identifier">themself</span><span class="plain"> </span><span class="identifier">themselves</span><span class="plain"> |</span>
|
|
<span class="identifier">oneself</span><span class="plain"> </span><span class="identifier">oneselves</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP10"></a><b>§10. </b>We now reach Conway step 4. These are irregular plurals mostly coming
|
|
from archaisms.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">plural</span><span class="plain">-</span><span class="identifier">irregular</span><span class="plain">> ::=</span>
|
|
<span class="identifier">beef</span><span class="plain"> </span><span class="identifier">beefs</span><span class="plain"> | </span><span class="comment"> we neglect the classical "beeves"</span>
|
|
<span class="identifier">brother</span><span class="plain"> </span><span class="identifier">brothers</span><span class="plain"> | </span><span class="comment"> and "brethren"</span>
|
|
<span class="identifier">child</span><span class="plain"> </span><span class="identifier">children</span><span class="plain"> |</span>
|
|
<span class="identifier">cow</span><span class="plain"> </span><span class="identifier">cows</span><span class="plain"> | </span><span class="comment"> and "kine"</span>
|
|
<span class="identifier">ephemeris</span><span class="plain"> </span><span class="identifier">ephemerides</span><span class="plain"> |</span>
|
|
<span class="identifier">genie</span><span class="plain"> </span><span class="identifier">genies</span><span class="plain"> | </span><span class="comment"> and "genii"</span>
|
|
<span class="identifier">money</span><span class="plain"> </span><span class="identifier">moneys</span><span class="plain"> | </span><span class="comment"> and "monies"</span>
|
|
<span class="identifier">mongoose</span><span class="plain"> </span><span class="identifier">mongooses</span><span class="plain"> |</span>
|
|
<span class="identifier">mythos</span><span class="plain"> </span><span class="identifier">mythoi</span><span class="plain"> |</span>
|
|
<span class="identifier">octopus</span><span class="plain"> </span><span class="identifier">octopuses</span><span class="plain"> | </span><span class="comment"> and "octopodes"</span>
|
|
<span class="identifier">ox</span><span class="plain"> </span><span class="identifier">oxen</span><span class="plain"> |</span>
|
|
<span class="identifier">soliloquy</span><span class="plain"> </span><span class="identifier">soliloquies</span><span class="plain"> |</span>
|
|
<span class="identifier">trilby</span><span class="plain"> </span><span class="identifier">trilbys</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP11"></a><b>§11. </b>Step 5. Now we reach a batch of irregular but fairly general inflected
|
|
endings; for example, protozoon to protozoa, or metamorphosis to metamorphoses.
|
|
Note that we differ from Conway in pluralizing blouse as blouses, not blice.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">plural</span><span class="plain">-</span><span class="identifier">irregular</span><span class="plain">-</span><span class="identifier">inflections</span><span class="plain">> ::=</span>
|
|
<span class="plain">*</span><span class="identifier">man</span><span class="plain"> </span><span class="constant">3</span><span class="identifier">men</span><span class="plain"> | </span><span class="comment"> Step 5 begins here</span>
|
|
<span class="plain">*</span><span class="identifier">blouse</span><span class="plain"> </span><span class="constant">2</span><span class="identifier">ses</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">louse</span><span class="plain"> </span><span class="constant">5</span><span class="identifier">lice</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">mouse</span><span class="plain"> </span><span class="constant">5</span><span class="identifier">mice</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">tooth</span><span class="plain"> </span><span class="constant">5</span><span class="identifier">teeth</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">goose</span><span class="plain"> </span><span class="constant">5</span><span class="identifier">geese</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">foot</span><span class="plain"> </span><span class="constant">4</span><span class="identifier">feet</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">zoon</span><span class="plain"> </span><span class="constant">4</span><span class="identifier">zoa</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">cis</span><span class="plain"> </span><span class="constant">3</span><span class="identifier">ces</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">sis</span><span class="plain"> </span><span class="constant">3</span><span class="identifier">ses</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">xis</span><span class="plain"> </span><span class="constant">3</span><span class="identifier">xes</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP12"></a><b>§12. </b>Step 6. These are inflections from Latin and Greek which have survived
|
|
into modern English:
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">plural</span><span class="plain">-</span><span class="identifier">assimilated</span><span class="plain">-</span><span class="identifier">classical</span><span class="plain">-</span><span class="identifier">inflections</span><span class="plain">> ::=</span>
|
|
<span class="identifier">alumna</span><span class="plain"> </span><span class="identifier">alumnae</span><span class="plain"> | </span><span class="comment"> from table A.10</span>
|
|
<span class="identifier">alga</span><span class="plain"> </span><span class="identifier">algae</span><span class="plain"> |</span>
|
|
<span class="identifier">vertebra</span><span class="plain"> </span><span class="identifier">vertebrae</span><span class="plain"> |</span>
|
|
<span class="identifier">codex</span><span class="plain"> </span><span class="identifier">codices</span><span class="plain"> | </span><span class="comment"> from table A.14</span>
|
|
<span class="identifier">murex</span><span class="plain"> </span><span class="identifier">murices</span><span class="plain"> |</span>
|
|
<span class="identifier">silex</span><span class="plain"> </span><span class="identifier">silices</span><span class="plain"> |</span>
|
|
<span class="identifier">aphelion</span><span class="plain"> </span><span class="identifier">aphelia</span><span class="plain"> | </span><span class="comment"> from table A.19</span>
|
|
<span class="identifier">hyperbaton</span><span class="plain"> </span><span class="identifier">hyperbata</span><span class="plain"> |</span>
|
|
<span class="identifier">perihelion</span><span class="plain"> </span><span class="identifier">perihelia</span><span class="plain"> |</span>
|
|
<span class="identifier">asyndeton</span><span class="plain"> </span><span class="identifier">asyndeta</span><span class="plain"> |</span>
|
|
<span class="identifier">noumenon</span><span class="plain"> </span><span class="identifier">noumena</span><span class="plain"> |</span>
|
|
<span class="identifier">phenomenon</span><span class="plain"> </span><span class="identifier">phenomena</span><span class="plain"> |</span>
|
|
<span class="identifier">criterion</span><span class="plain"> </span><span class="identifier">criteria</span><span class="plain"> |</span>
|
|
<span class="identifier">organon</span><span class="plain"> </span><span class="identifier">organa</span><span class="plain"> |</span>
|
|
<span class="identifier">prolegomenon</span><span class="plain"> </span><span class="identifier">prolegomena</span><span class="plain"> |</span>
|
|
<span class="identifier">agendum</span><span class="plain"> </span><span class="identifier">agenda</span><span class="plain"> | </span><span class="comment"> from table A.20</span>
|
|
<span class="identifier">datum</span><span class="plain"> </span><span class="identifier">data</span><span class="plain"> |</span>
|
|
<span class="identifier">extremum</span><span class="plain"> </span><span class="identifier">extrema</span><span class="plain"> |</span>
|
|
<span class="identifier">bacterium</span><span class="plain"> </span><span class="identifier">bacteria</span><span class="plain"> |</span>
|
|
<span class="identifier">desideratum</span><span class="plain"> </span><span class="identifier">desiderata</span><span class="plain"> |</span>
|
|
<span class="identifier">stratum</span><span class="plain"> </span><span class="identifier">strata</span><span class="plain"> |</span>
|
|
<span class="identifier">candelabrum</span><span class="plain"> </span><span class="identifier">candelabra</span><span class="plain"> |</span>
|
|
<span class="identifier">erratum</span><span class="plain"> </span><span class="identifier">errata</span><span class="plain"> |</span>
|
|
<span class="identifier">ovum</span><span class="plain"> </span><span class="identifier">ova</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP13"></a><b>§13. </b>Step 11a. (We're not implementing Conway's steps in sequence: see below.)
|
|
These -o endings are mostly loan words from Romance languages whose original
|
|
inflections are assimilated.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">plural</span><span class="plain">-</span><span class="identifier">irregular</span><span class="plain">-</span><span class="identifier">o</span><span class="plain">-</span><span class="identifier">suffixes</span><span class="plain">> ::=</span>
|
|
<span class="identifier">albino</span><span class="plain"> </span><span class="identifier">albinos</span><span class="plain"> |</span>
|
|
<span class="identifier">alto</span><span class="plain"> </span><span class="identifier">altos</span><span class="plain"> |</span>
|
|
<span class="identifier">archipelago</span><span class="plain"> </span><span class="identifier">archipelagos</span><span class="plain"> |</span>
|
|
<span class="identifier">armadillo</span><span class="plain"> </span><span class="identifier">armadillos</span><span class="plain"> |</span>
|
|
<span class="identifier">basso</span><span class="plain"> </span><span class="identifier">bassos</span><span class="plain"> |</span>
|
|
<span class="identifier">canto</span><span class="plain"> </span><span class="identifier">cantos</span><span class="plain"> |</span>
|
|
<span class="identifier">commando</span><span class="plain"> </span><span class="identifier">commandos</span><span class="plain"> |</span>
|
|
<span class="identifier">contralto</span><span class="plain"> </span><span class="identifier">contraltos</span><span class="plain"> |</span>
|
|
<span class="identifier">crescendo</span><span class="plain"> </span><span class="identifier">crescendos</span><span class="plain"> |</span>
|
|
<span class="identifier">ditto</span><span class="plain"> </span><span class="identifier">dittos</span><span class="plain"> |</span>
|
|
<span class="identifier">dynamo</span><span class="plain"> </span><span class="identifier">dynamos</span><span class="plain"> |</span>
|
|
<span class="identifier">embryo</span><span class="plain"> </span><span class="identifier">embryos</span><span class="plain"> |</span>
|
|
<span class="identifier">fiasco</span><span class="plain"> </span><span class="identifier">fiascos</span><span class="plain"> |</span>
|
|
<span class="identifier">generalissimo</span><span class="plain"> </span><span class="identifier">generalissimos</span><span class="plain"> |</span>
|
|
<span class="identifier">ghetto</span><span class="plain"> </span><span class="identifier">ghettos</span><span class="plain"> |</span>
|
|
<span class="identifier">guano</span><span class="plain"> </span><span class="identifier">guanos</span><span class="plain"> |</span>
|
|
<span class="identifier">inferno</span><span class="plain"> </span><span class="identifier">infernos</span><span class="plain"> |</span>
|
|
<span class="identifier">jumbo</span><span class="plain"> </span><span class="identifier">jumbos</span><span class="plain"> |</span>
|
|
<span class="identifier">lingo</span><span class="plain"> </span><span class="identifier">lingos</span><span class="plain"> |</span>
|
|
<span class="identifier">lumbago</span><span class="plain"> </span><span class="identifier">lumbagos</span><span class="plain"> |</span>
|
|
<span class="identifier">magneto</span><span class="plain"> </span><span class="identifier">magnetos</span><span class="plain"> |</span>
|
|
<span class="identifier">manifesto</span><span class="plain"> </span><span class="identifier">manifestos</span><span class="plain"> |</span>
|
|
<span class="identifier">medico</span><span class="plain"> </span><span class="identifier">medicos</span><span class="plain"> |</span>
|
|
<span class="identifier">octavo</span><span class="plain"> </span><span class="identifier">octavos</span><span class="plain"> |</span>
|
|
<span class="identifier">photo</span><span class="plain"> </span><span class="identifier">photos</span><span class="plain"> |</span>
|
|
<span class="identifier">pro</span><span class="plain"> </span><span class="identifier">pros</span><span class="plain"> |</span>
|
|
<span class="identifier">quarto</span><span class="plain"> </span><span class="identifier">quartos</span><span class="plain"> |</span>
|
|
<span class="identifier">rhino</span><span class="plain"> </span><span class="identifier">rhinos</span><span class="plain"> |</span>
|
|
<span class="identifier">solo</span><span class="plain"> </span><span class="identifier">solos</span><span class="plain"> |</span>
|
|
<span class="identifier">soprano</span><span class="plain"> </span><span class="identifier">sopranos</span><span class="plain"> |</span>
|
|
<span class="identifier">stylo</span><span class="plain"> </span><span class="identifier">stylos</span><span class="plain"> |</span>
|
|
<span class="identifier">tempo</span><span class="plain"> </span><span class="identifier">tempos</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP14"></a><b>§14. </b>Conway steps 8 to 11. These are regular inflections depending only on
|
|
word endings.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">plural</span><span class="plain">-</span><span class="identifier">regular</span><span class="plain">-</span><span class="identifier">inflections</span><span class="plain">> ::=</span>
|
|
<span class="plain">*</span><span class="identifier">ch</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">es</span><span class="plain"> | </span><span class="comment"> Step 8: "church" to "churches"</span>
|
|
<span class="plain">*</span><span class="identifier">sh</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">es</span><span class="plain"> | </span><span class="comment"> "rush" to "rushes"</span>
|
|
<span class="plain">*</span><span class="identifier">ss</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">es</span><span class="plain"> | </span><span class="comment"> "dress" to "dresses"</span>
|
|
<span class="plain">*</span><span class="identifier">alf</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ves</span><span class="plain"> | </span><span class="comment"> Step 9: "calf" to "calves"</span>
|
|
<span class="plain">*</span><span class="identifier">elf</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ves</span><span class="plain"> | </span><span class="comment"> "self" to "selves"</span>
|
|
<span class="plain">*</span><span class="identifier">olf</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ves</span><span class="plain"> | </span><span class="comment"> "wolf" to "wolves"</span>
|
|
<span class="plain">*</span><span class="identifier">eaf</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ves</span><span class="plain"> | </span><span class="comment"> "sheaf" to "sheaves"</span>
|
|
<span class="plain">*</span><span class="identifier">arf</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ves</span><span class="plain"> | </span><span class="comment"> "wharf" to "wharves"</span>
|
|
<span class="plain">*</span><span class="identifier">nife</span><span class="plain"> </span><span class="constant">2</span><span class="identifier">ves</span><span class="plain"> | </span><span class="comment"> "knife" to "knives"</span>
|
|
<span class="plain">*</span><span class="identifier">life</span><span class="plain"> </span><span class="constant">2</span><span class="identifier">ves</span><span class="plain"> | </span><span class="comment"> "life" to "lives"</span>
|
|
<span class="plain">*</span><span class="identifier">wife</span><span class="plain"> </span><span class="constant">2</span><span class="identifier">ves</span><span class="plain"> | </span><span class="comment"> "wife" to "wives"</span>
|
|
<span class="plain">*</span><span class="identifier">ax</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">es</span><span class="plain"> | </span><span class="comment"> Sibilant additions: "fax" to "faxes"</span>
|
|
<span class="plain">*</span><span class="identifier">ex</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">es</span><span class="plain"> | </span><span class="comment"> "sex" to "sexes"</span>
|
|
<span class="plain">*</span><span class="identifier">ix</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">es</span><span class="plain"> | </span><span class="comment"> "Weetabix" to "Weetabixes"</span>
|
|
<span class="plain">*</span><span class="identifier">ox</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">es</span><span class="plain"> | </span><span class="comment"> "fox" to "foxes"</span>
|
|
<span class="plain">*</span><span class="identifier">ux</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">es</span><span class="plain"> | </span><span class="comment"> "flux" to "fluxes"</span>
|
|
<span class="plain">*</span><span class="identifier">as</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">es</span><span class="plain"> | </span><span class="comment"> "gas" to "gases"</span>
|
|
<span class="plain">*</span><span class="identifier">es</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">es</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">is</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">es</span><span class="plain"> | </span><span class="comment"> "mantis" to "mantises"</span>
|
|
<span class="plain">*</span><span class="identifier">os</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">es</span><span class="plain"> | </span><span class="comment"> "thermos" to "thermoses"</span>
|
|
<span class="plain">*</span><span class="identifier">us</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">es</span><span class="plain"> | </span><span class="comment"> "abacus" to "abacuses"</span>
|
|
<span class="plain">*</span><span class="identifier">az</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">es</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">ez</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">es</span><span class="plain"> | </span><span class="comment"> "fez" to "fezes"</span>
|
|
<span class="plain">*</span><span class="identifier">iz</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">es</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">oz</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">es</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">uz</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">es</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">ay</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">s</span><span class="plain"> | </span><span class="comment"> Step 10 begins here</span>
|
|
<span class="plain">*</span><span class="identifier">by</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ies</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">cy</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ies</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">dy</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ies</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">ey</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">s</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">fy</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ies</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">gy</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ies</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">hy</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ies</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">iy</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">s</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">jy</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ies</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">ky</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ies</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">ly</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ies</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">my</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ies</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">ny</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ies</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">oy</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">s</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">py</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ies</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">qy</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ies</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">ry</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ies</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">sy</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ies</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">ty</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ies</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">uy</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">s</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">vy</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ies</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">wy</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ies</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">xy</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ies</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">yy</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ies</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">zy</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ies</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">ao</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">s</span><span class="plain"> | </span><span class="comment"> Step 11b begins here</span>
|
|
<span class="plain">*</span><span class="identifier">bo</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">oes</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">co</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">oes</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="reserved">do</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">oes</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">eo</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">s</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">fo</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">oes</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">go</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">oes</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">ho</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">oes</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">io</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">s</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">jo</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">oes</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">ko</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">oes</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">lo</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">oes</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">mo</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">oes</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">no</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">oes</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">oo</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">s</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">po</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">oes</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">qo</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">oes</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">ro</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">oes</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">so</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">s</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">to</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">oes</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">uo</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">s</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">vo</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">oes</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">wo</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">oes</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">xo</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">s</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">yo</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">oes</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">zo</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">s</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP15"></a><b>§15. </b>Lastly, the fallback if none of the above cases match: append an -s, of
|
|
course.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">plural</span><span class="plain">-</span><span class="identifier">append</span><span class="plain">-</span><span class="identifier">s</span><span class="plain">> ::=</span>
|
|
<span class="plain">* </span><span class="constant">0</span><span class="identifier">s</span><span class="plain"> </span><span class="comment"> Step 13</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP16"></a><b>§16. Verb inflections. </b>"Le verbe est l'âme d'une langue" (attributed to Georges Duhamel). And the
|
|
care of the soul is, of course, complicated. For example, the source text can
|
|
say something like this:
|
|
</p>
|
|
|
|
<blockquote>
|
|
<p>The verb to flaunt means to wear.</p>
|
|
|
|
</blockquote>
|
|
|
|
<p class="inwebparagraph">This tells Inform that a new verb's infinitive is "flaunt", but not how
|
|
to construct its other parts. We will use Preform grammar not only to
|
|
define how to construct English verbs, but also in a way enabling it to
|
|
be used with other languages too.
|
|
</p>
|
|
|
|
<p class="inwebparagraph">Inform uses five different tenses (present, past, present perfect, past
|
|
perfect, and future), three persons, two numbers, two senses (true
|
|
and false), and two moods (active and passive); in addition, it keeps
|
|
track of the infinitive, past participle and present participle of a verb.
|
|
Altogether that makes 123 potentially different versions of the original
|
|
text. But of course there's a great deal of duplication in this, and
|
|
almost all of the versions can be made using a much smaller number of
|
|
genuinely different inflected versions of the word.
|
|
</p>
|
|
|
|
<p class="inwebparagraph">Our general strategy works like this:
|
|
</p>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<ul class="items"><li>(a) Identify one or more verbs as being too irregular to fit into any
|
|
pattern, and handle those as special cases.
|
|
</li></ul>
|
|
<ul class="items"><li>(b) For all other verbs, identify a set of inflected forms which covers all
|
|
of the possibilities we need to make, and write a trie to handle each one.
|
|
</li></ul>
|
|
<ul class="items"><li>(c) Try to use a single conjugation to show how these forms are used, that
|
|
is, how the different word forms map onto the possible tenses, persons,
|
|
numbers, and so on.
|
|
</li></ul>
|
|
<p class="inwebparagraph"><a id="SP17"></a><b>§17. </b>This gives us a certain amount of choice. What exactly is "too irregular"?
|
|
In French, are all -er, -ir, and -re verbs "regular"? (Consider "aller",
|
|
for example.) In English, it's possible to say that there are seven or so
|
|
classes of verbs, all regular by their own standards; but most people say
|
|
there's just one class of verb, and then irregular exceptions.
|
|
</p>
|
|
|
|
<p class="inwebparagraph">Our approach will follow Greenbaum, "Oxford English Grammar", at 4.14.
|
|
Like Greenbaum, we will use the term "form type" for the different possible
|
|
inflected versions of a verb word. The verb "to be" has eight form
|
|
types (be, am, is, are, was, were, been, being), but it's unique in that
|
|
respect — so this is one we will consider to be "too irregular", and will
|
|
handle as a special case.
|
|
</p>
|
|
|
|
<p class="inwebparagraph">All other English verbs have five form types, though in many cases two or more
|
|
of these have the same spelling. These we will number as follows, for reasons
|
|
which will become clear below:
|
|
</p>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<ul class="items"><li>(1) Infinitive: flaunt.
|
|
</li><li>(2) Present participle: flaunting.
|
|
</li><li>(3) Past participle: flaunted.
|
|
</li><li>(5) Third person singular present (or just "present"): flaunts.
|
|
</li><li>(6) Third person singular past (or just "past"): flaunted.
|
|
</li></ul>
|
|
<p class="inwebparagraph">In regular verbs the past and past participle are the same, as they are here:
|
|
he flaunted (past); he had flaunted (past participle). But English has around
|
|
600 commonly occurring irregular verbs in which they are different, sometimes
|
|
unpredictably so: he went (past); he had gone (past participle). Irregularity
|
|
sometimes makes these forms coincide rather than making them different: for
|
|
example, to set has just three distinct forms — to set, he sets, he set, he
|
|
had set, setting.
|
|
</p>
|
|
|
|
<p class="inwebparagraph"><a id="SP18"></a><b>§18. </b>Form types are numbered from 0 up to, potentially, a constant
|
|
called <code class="display"><span class="extract">MAX_FORM_TYPES</span></code>. (This is so large that there shouldn't ever be need
|
|
for more.) Form type 0 is always the original text, and is used as the basis
|
|
from which the others are generated. For English verbs Inform always sets form
|
|
type 0 to the infinitive, but this needn't be true if it's more natural in
|
|
other languages to do something else.
|
|
</p>
|
|
|
|
<p class="inwebparagraph">We then reserve form types 1 to 3 for infinitive, present participle, and past
|
|
participle, respectively, and this is required to be the case in all
|
|
languages. Form type 4 is reserved for the "adjoint infinitive": if we
|
|
are given the English base text "be able to see", for example, this will
|
|
be recognised (see below) as "be able to" plus "see", and "see" will
|
|
be the "adjoint infinitive". For most verbs, we won't use it.
|
|
</p>
|
|
|
|
<p class="inwebparagraph">That means that form types 5 and upward are free to be used as needed by
|
|
each language. English needs two: the present (5) and past (6) forms.
|
|
</p>
|
|
|
|
|
|
<pre class="definitions">
|
|
<span class="definitionkeyword">define</span> <span class="constant">BASE_FORM_TYPE</span><span class="plain"> </span><span class="constant">0</span>
|
|
<span class="definitionkeyword">define</span> <span class="constant">INFINITIVE_FORM_TYPE</span><span class="plain"> </span><span class="constant">1</span>
|
|
<span class="definitionkeyword">define</span> <span class="constant">PRESENT_PARTICIPLE_FORM_TYPE</span><span class="plain"> </span><span class="constant">2</span>
|
|
<span class="definitionkeyword">define</span> <span class="constant">PAST_PARTICIPLE_FORM_TYPE</span><span class="plain"> </span><span class="constant">3</span>
|
|
<span class="definitionkeyword">define</span> <span class="constant">ADJOINT_INFINITIVE_FORM_TYPE</span><span class="plain"> </span><span class="constant">4</span>
|
|
<span class="definitionkeyword">define</span> <span class="constant">MAX_FORM_TYPES</span><span class="plain"> </span><span class="constant">123</span>
|
|
</pre>
|
|
<p class="inwebparagraph"><a id="SP19"></a><b>§19. </b>We're now ready to write the <code class="display"><span class="extract"><verb-conjugation-instructions></span></code>. This is
|
|
a block which looks at the infinitive of the verb and decides which of
|
|
several conjugations should be used. Badly irregular verbs get
|
|
conjugations of their own, and others are grouped together. In French,
|
|
for example, we might use this block of instructions to divide into different
|
|
cases for -er, -ir, and -re verbs.
|
|
</p>
|
|
|
|
<p class="inwebparagraph">Each row takes the form of a pattern of words to match, followed by a
|
|
nonterminal giving the conjugation to use if a match is made. Matches
|
|
are literal except:
|
|
</p>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<ul class="items"><li>(a) The tail <code class="display"><span class="extract">...</span></code> means any string of one or more words, but can only be used
|
|
as the tail. Any text matching it is written into the adjoint infinitive.
|
|
So <code class="display"><span class="extract">be able to ...</span></code> matches "be able to touch" and sets the adjoint
|
|
infinitive to "touch".
|
|
</li></ul>
|
|
<ul class="items"><li>(b) A pattern written in the form <code class="display"><span class="extract">-xyz</span></code> matches the tail of a verb. This
|
|
isn't useful for English, but in French it neatly spots classes of verbs:
|
|
for example, <code class="display"><span class="extract">-er</span></code> detects first-conjugation verbs such as "donner".
|
|
</li></ul>
|
|
<p class="inwebparagraph">Note that we have to make sure every possible infinitive text matches at
|
|
least one line, and the best way to ensure that is to finish up with <code class="display"><span class="extract">...</span></code>
|
|
as the last pattern — this matches anything.
|
|
</p>
|
|
|
|
<p class="inwebparagraph"><a id="SP20"></a><b>§20. </b>The instructions for English are quite concise, except for the presence
|
|
of the awkward contracted informal forms of verbs. (These aren't used in
|
|
Inform assertion sentences, but are needed for text substitutions.)
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">verb</span><span class="plain">-</span><span class="identifier">conjugation</span><span class="plain">-</span><span class="identifier">instructions</span><span class="plain">> ::=</span>
|
|
<span class="identifier">be</span><span class="plain"> <</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">be</span><span class="plain">-</span><span class="identifier">conjugation</span><span class="plain">> |</span>
|
|
<span class="identifier">be</span><span class="plain"> </span><span class="identifier">able</span><span class="plain"> </span><span class="identifier">to</span><span class="plain"> ... <</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">be</span><span class="plain">-</span><span class="identifier">able</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">auxiliary</span><span class="plain">> |</span>
|
|
<span class="identifier">be</span><span class="plain"> </span><span class="identifier">able</span><span class="plain"> </span><span class="identifier">to</span><span class="plain"> <</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">be</span><span class="plain">-</span><span class="identifier">able</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">conjugation</span><span class="plain">> |</span>
|
|
<span class="identifier">could</span><span class="plain"> <</span><span class="identifier">modal</span><span class="plain">-</span><span class="identifier">conjugation</span><span class="plain">> |</span>
|
|
<span class="identifier">may</span><span class="plain"> <</span><span class="identifier">modal</span><span class="plain">-</span><span class="identifier">conjugation</span><span class="plain">> |</span>
|
|
<span class="identifier">might</span><span class="plain"> <</span><span class="identifier">modal</span><span class="plain">-</span><span class="identifier">conjugation</span><span class="plain">> |</span>
|
|
<span class="identifier">must</span><span class="plain"> <</span><span class="identifier">modal</span><span class="plain">-</span><span class="identifier">conjugation</span><span class="plain">> |</span>
|
|
<span class="identifier">should</span><span class="plain"> <</span><span class="identifier">modal</span><span class="plain">-</span><span class="identifier">conjugation</span><span class="plain">> |</span>
|
|
<span class="identifier">would</span><span class="plain"> <</span><span class="identifier">modal</span><span class="plain">-</span><span class="identifier">conjugation</span><span class="plain">> |</span>
|
|
<span class="identifier">auxiliary</span><span class="plain">-</span><span class="identifier">have</span><span class="plain"> <</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">have</span><span class="plain">-</span><span class="identifier">conjugation</span><span class="plain">> |</span>
|
|
<span class="reserved">do</span><span class="plain"> <</span><span class="identifier">to</span><span class="plain">-</span><span class="reserved">do</span><span class="plain">-</span><span class="identifier">conjugation</span><span class="plain">> |</span>
|
|
<span class="character">'re <contracted-to-be-conjugation> |</span>
|
|
<span class="character">'</span><span class="identifier">ve</span><span class="plain"> <</span><span class="identifier">contracted</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">have</span><span class="plain">-</span><span class="identifier">conjugation</span><span class="plain">> |</span>
|
|
<span class="identifier">aren</span><span class="character">'t <arent-conjugation> |</span>
|
|
<span class="character">can'</span><span class="identifier">t</span><span class="plain"> <</span><span class="identifier">cant</span><span class="plain">-</span><span class="identifier">modal</span><span class="plain">-</span><span class="identifier">conjugation</span><span class="plain">> |</span>
|
|
<span class="identifier">don</span><span class="character">'t <informal-negated-modal-conjugation> |</span>
|
|
<span class="character">haven'</span><span class="identifier">t</span><span class="plain"> <</span><span class="identifier">informal</span><span class="plain">-</span><span class="identifier">negated</span><span class="plain">-</span><span class="identifier">modal</span><span class="plain">-</span><span class="identifier">conjugation</span><span class="plain">> |</span>
|
|
<span class="identifier">mayn</span><span class="character">'t <informal-negated-modal-conjugation> |</span>
|
|
<span class="character">mightn'</span><span class="identifier">t</span><span class="plain"> <</span><span class="identifier">informal</span><span class="plain">-</span><span class="identifier">negated</span><span class="plain">-</span><span class="identifier">modal</span><span class="plain">-</span><span class="identifier">conjugation</span><span class="plain">> |</span>
|
|
<span class="identifier">mustn</span><span class="character">'t <informal-negated-modal-conjugation> |</span>
|
|
<span class="character">wouldn'</span><span class="identifier">t</span><span class="plain"> <</span><span class="identifier">informal</span><span class="plain">-</span><span class="identifier">negated</span><span class="plain">-</span><span class="identifier">modal</span><span class="plain">-</span><span class="identifier">conjugation</span><span class="plain">> |</span>
|
|
<span class="identifier">couldn</span><span class="character">'t <informal-negated-modal-conjugation> |</span>
|
|
<span class="character">shouldn'</span><span class="identifier">t</span><span class="plain"> <</span><span class="identifier">informal</span><span class="plain">-</span><span class="identifier">negated</span><span class="plain">-</span><span class="identifier">modal</span><span class="plain">-</span><span class="identifier">conjugation</span><span class="plain">> |</span>
|
|
<span class="identifier">won</span><span class="character">'t <informal-negated-modal-conjugation> |</span>
|
|
<span class="character">... <regular-verb-conjugation></span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP21"></a><b>§21. </b>We will start with two auxiliary verbs, that is, verbs used to construct
|
|
forms of other verbs. The first is "to have"; as we'll see, English uses
|
|
this to construct perfect tenses:
|
|
</p>
|
|
|
|
<blockquote>
|
|
<p>Peter has opened the gate. Jane had closed it.</p>
|
|
|
|
</blockquote>
|
|
|
|
<p class="inwebparagraph">"To have" doesn't really mean that anybody possessed anything here, except
|
|
perhaps a history. It's simply used in conjunction with the past participle
|
|
("opened" and "closed") to form a tense. Verbs like this are called
|
|
"auxiliary".
|
|
</p>
|
|
|
|
<p class="inwebparagraph">But it's not actually true, despite what concise grammars say, that English
|
|
uses "to have" here; it uses a slight variation which differs in the negated
|
|
forms. We write
|
|
</p>
|
|
|
|
<blockquote>
|
|
<p>I have not taken the lantern.</p>
|
|
|
|
</blockquote>
|
|
|
|
<p class="inwebparagraph">rather than
|
|
</p>
|
|
|
|
<blockquote>
|
|
<p>I do not have taken the lantern.</p>
|
|
|
|
</blockquote>
|
|
|
|
<p class="inwebparagraph">which strictly speaking ought to be correct. Inform handles this by using a
|
|
modified form of "to have", which we'll call "to auxiliary-have", which
|
|
differs only in its negative forms. We're only going to give this present
|
|
and past tenses since it's never needed except as an auxiliary.
|
|
</p>
|
|
|
|
<p class="inwebparagraph">Anyway, this is an example of a "conjugation". The purpose of this is to
|
|
set a few special verb forms — such as the present and past participles —
|
|
and then give a recipe to make all of the many forms which the verb can
|
|
take within sentences. The verb forms are numbered — see above — and
|
|
the recipe is called a "tabulation". We'll specify the format for this
|
|
below, when we get to a more complicated example, but briefly: this one
|
|
sets the present participle (2) to "having", the past participle (3) to
|
|
"had", and then names <code class="display"><span class="extract"><to-have-tabulation></span></code> as the tabulation. The
|
|
text doesn't have to be a single word, and some ingenious tricks are
|
|
possible to form it from other verb forms; see below.
|
|
</p>
|
|
|
|
<p class="inwebparagraph">The marker <code class="display"><span class="extract"><auxiliary-verb-only></span></code> means that this form of "have" can
|
|
only be accessed from other verb conjugations, not via a text substitution
|
|
for "[have]".
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">have</span><span class="plain">-</span><span class="identifier">conjugation</span><span class="plain">> ::=</span>
|
|
<span class="constant">2</span><span class="plain"> </span><span class="identifier">having</span><span class="plain"> |</span>
|
|
<span class="constant">3</span><span class="plain"> </span><span class="identifier">had</span><span class="plain"> |</span>
|
|
<span class="plain"><</span><span class="identifier">auxiliary</span><span class="plain">-</span><span class="identifier">verb</span><span class="plain">-</span><span class="identifier">only</span><span class="plain">> |</span>
|
|
<span class="plain"><</span><span class="identifier">not</span><span class="plain">-</span><span class="identifier">instance</span><span class="plain">-</span><span class="identifier">of</span><span class="plain">-</span><span class="identifier">verb</span><span class="plain">-</span><span class="identifier">at</span><span class="plain">-</span><span class="identifier">run</span><span class="plain">-</span><span class="identifier">time</span><span class="plain">> |</span>
|
|
<span class="plain"><</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">have</span><span class="plain">-</span><span class="identifier">tabulation</span><span class="plain">></span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP22"></a><b>§22. </b>Tabulations give instructions for how to construct 120 possible versions
|
|
of the verb. These are divided up first into active and passive "moods":
|
|
</p>
|
|
|
|
<blockquote>
|
|
<p>Peter carries the lantern. [Active.]</p>
|
|
|
|
</blockquote>
|
|
|
|
<blockquote>
|
|
<p>The lantern is carried by Peter. [Passive.]</p>
|
|
|
|
</blockquote>
|
|
|
|
<p class="inwebparagraph">This makes two sets of 60. Each set contains five tenses, which in English
|
|
are present (1), past (2), perfect (3), past perfect (4) and future (5).
|
|
</p>
|
|
|
|
<blockquote>
|
|
<p>Peter carries the lantern. [1]</p>
|
|
|
|
</blockquote>
|
|
|
|
<blockquote>
|
|
<p>Peter carried the lantern. [2]</p>
|
|
|
|
</blockquote>
|
|
|
|
<blockquote>
|
|
<p>Peter has carried the lantern. [3]</p>
|
|
|
|
</blockquote>
|
|
|
|
<blockquote>
|
|
<p>Peter had carried the lantern. [4]</p>
|
|
|
|
</blockquote>
|
|
|
|
<blockquote>
|
|
<p>Peter will carry the lantern. [5]</p>
|
|
|
|
</blockquote>
|
|
|
|
<p class="inwebparagraph">This makes five sets of 12. In each set there are six persons: first person
|
|
singular, second person singular, third person singular, first person plural,
|
|
second person plural, third person plural. We always write them in that order:
|
|
</p>
|
|
|
|
<blockquote>
|
|
<p>I carry the lantern. [1PS]</p>
|
|
|
|
</blockquote>
|
|
|
|
<blockquote>
|
|
<p>You carry the lantern. [2PS]</p>
|
|
|
|
</blockquote>
|
|
|
|
<blockquote>
|
|
<p>He carries the lantern. [3PS]</p>
|
|
|
|
</blockquote>
|
|
|
|
<blockquote>
|
|
<p>We carry the lantern. [1PP]</p>
|
|
|
|
</blockquote>
|
|
|
|
<blockquote>
|
|
<p>You [more than one person] carry the lantern. [2PP]</p>
|
|
|
|
</blockquote>
|
|
|
|
<blockquote>
|
|
<p>They carry the lantern. [3PP]</p>
|
|
|
|
</blockquote>
|
|
|
|
<p class="inwebparagraph">And that makes six sets of 2: the positive sense and the negative.
|
|
</p>
|
|
|
|
<blockquote>
|
|
<p>I carry the lantern. [Positive.]</p>
|
|
|
|
</blockquote>
|
|
|
|
<blockquote>
|
|
<p>I do not carry the lantern. [Negative]</p>
|
|
|
|
</blockquote>
|
|
|
|
<p class="inwebparagraph">To sum up, two moods times five tenses times six persons times two senses,
|
|
which makes 120 versions in all.
|
|
</p>
|
|
|
|
<p class="inwebparagraph">A tabulation is best thought of as a short program to make these. Inform starts
|
|
out with all 120 versions blank, and each tabulation step sets one or more
|
|
versions. It's perfectly legal for later steps to override earlier ones;
|
|
and it's legal to leave some versions unset, marking them not to be used.
|
|
(We're going to ignore all of the passives and three of the active tenses,
|
|
so we're only going to set 48 versions, in the case of auxiliary-to-have.)
|
|
</p>
|
|
|
|
<p class="inwebparagraph">Each step consists of a selector, followed by a text. The selector simply
|
|
chooses which of the 120 forms to set. The selector always begins with "a"
|
|
or "p", meaning active or passive; it can then optionally give a digit from
|
|
1 to 5, narrowing down to a given tense; and it can optionally give a plus or
|
|
minus sign, narrowing down to positive or negative senses. In the following,
|
|
for example, <code class="display"><span class="extract">a2+</span></code> means active mood (a), past tense (2), positive (<code class="display"><span class="extract">+</span></code>).
|
|
This nails down the selection to just 6 versions of the verb.
|
|
</p>
|
|
|
|
<p class="inwebparagraph">The text is used literally, except for the following:
|
|
</p>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<ul class="items"><li>(a) The numbers 1, 2, 3, ..., expand into the verb forms with those numbers.
|
|
For example, 2 expands into the present participle for the verb. If the
|
|
number is followed by an open bracket, then an infinitive, then a close
|
|
bracket, then it expands to the verb form for that verb. For example, the
|
|
following expands to "sought":
|
|
</li></ul>
|
|
<pre class="display">
|
|
<span class="constant">3</span><span class="plain"> ( </span><span class="identifier">seek</span><span class="plain"> )</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<ul class="items"><li>(b) Text in the form <code class="display"><span class="extract">1+xyz</span></code> expands into verb form 1 but with the letters
|
|
"xyz" added. For example, <code class="display"><span class="extract">1+ed</span></code> for the verb "to mark" would expand to
|
|
"marked", since 1 is the infinitive form. This feature is much more useful
|
|
in heavily inflected languages like French.
|
|
</li></ul>
|
|
<ul class="items"><li>(c) If a bracket, an infinitive, then a close bracket, is given, it expands
|
|
to the corresponding version of that verb. For example, the step
|
|
<code class="display"><span class="extract">a1+ ( grab ) back</span></code> sets the positive present-tense versions of a verb to
|
|
"I grab back", "you grab back", "he grabs back", and so on. Note that
|
|
the matching persons are used, i.e., if we're expanding this to make the
|
|
first person singular, we use the first person singular of the verb we're
|
|
borrowing. Finally, we can change the tense by placing a tense marker inside
|
|
the open brackets: <code class="display"><span class="extract">a3+ ( t1 have ) grabbed</span></code> sets the perfects to "I have
|
|
grabbed", "you have grabbed", and so on — without the tense marker it
|
|
would have been "I have have had grabbed", because "have" would expand
|
|
to its perfect tense and not its present tense. The <code class="display"><span class="extract">t1</span></code> means present tense;
|
|
<code class="display"><span class="extract">t2</span></code> means past tense, and so on.
|
|
</li></ul>
|
|
<ul class="items"><li>(d) If a nonterminal name is given, then it will be set of six texts; these
|
|
are used for the six persons.
|
|
</li></ul>
|
|
<p class="inwebparagraph">A simple example, then, which uses only feature (d) of these exotica:
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">have</span><span class="plain">-</span><span class="identifier">tabulation</span><span class="plain">> ::=</span>
|
|
<span class="identifier">a1</span><span class="plain">+ <</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">have</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">> |</span>
|
|
<span class="identifier">a1</span><span class="plain">- <</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">have</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">> </span><span class="identifier">not</span><span class="plain"> |</span>
|
|
<span class="identifier">a2</span><span class="plain">+ </span><span class="identifier">had</span><span class="plain"> |</span>
|
|
<span class="identifier">a2</span><span class="plain">- </span><span class="identifier">had</span><span class="plain"> </span><span class="identifier">not</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP23"></a><b>§23. </b>And this is an example of splitting into cases for the six persons,
|
|
1PS, 2PS, 3PS, 1PP, 2PP, 3PP. I have, you have, he has, we have, you have,
|
|
they have. (This is more excitingly varied in other languages, of course.)
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">have</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">> ::=</span>
|
|
<span class="identifier">have</span><span class="plain"> | </span><span class="identifier">have</span><span class="plain"> | </span><span class="identifier">has</span><span class="plain"> | </span><span class="identifier">have</span><span class="plain"> | </span><span class="identifier">have</span><span class="plain"> | </span><span class="identifier">have</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP24"></a><b>§24. </b>Next we have "to do", which is like "to have" in being fairly regular,
|
|
as irregular verbs go. But we treat this as a special case because, again,
|
|
we're going to need as an auxiliary verb when forming negatives ("Peter
|
|
does not wear the hat" — note the "does not"). But this time we give
|
|
the full treatment, creating all 60 active forms.
|
|
</p>
|
|
|
|
<p class="inwebparagraph">For the passive, though, we do something new. The selector <code class="display"><span class="extract">p*</span></code> is actually
|
|
a way to set all 60 passive forms (which would normally be written <code class="display"><span class="extract">p</span></code>), but
|
|
it tells Inform to use "to be" as an auxiliary. When we write the <code class="display"><span class="extract">p*</span></code>
|
|
step:
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="identifier">p</span><span class="plain">* </span><span class="identifier">done</span><span class="plain"> </span><span class="identifier">by</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph">the effect is the same as writing:
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="identifier">p</span><span class="plain"> ( </span><span class="identifier">be</span><span class="plain"> ) </span><span class="identifier">done</span><span class="plain"> </span><span class="identifier">by</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph">The difference is that Inform more efficiently implements the <code class="display"><span class="extract">p*</span></code> version,
|
|
by implementing "done by" as if it were a preposition rather than as part
|
|
of a verb. This parses more quickly and makes English passive forms play
|
|
more nicely with implied uses of "to be". For example, in
|
|
</p>
|
|
|
|
<blockquote>
|
|
<p>number of things carried by the player [1]</p>
|
|
|
|
</blockquote>
|
|
|
|
<p class="inwebparagraph">Inform has to infer the meaning
|
|
</p>
|
|
|
|
<blockquote>
|
|
<p>number of things which are carried by the player [2]</p>
|
|
|
|
</blockquote>
|
|
|
|
<p class="inwebparagraph">and it can only do this if it recognises "carried by" as being prepositional
|
|
in nature, like "on" or "in". In other words, if we wrote the <code class="display"><span class="extract">p</span></code> step
|
|
above instead of the <code class="display"><span class="extract">p*</span></code> step, <sup id="fnref:2"><a href="#fn:2" rel="footnote">2</a></sup> would still work but <sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup> would not. (We
|
|
may have to revisit this for languages other than English.)
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">to</span><span class="plain">-</span><span class="reserved">do</span><span class="plain">-</span><span class="identifier">conjugation</span><span class="plain">> ::=</span>
|
|
<span class="constant">2</span><span class="plain"> </span><span class="identifier">doing</span><span class="plain"> |</span>
|
|
<span class="constant">3</span><span class="plain"> </span><span class="identifier">done</span><span class="plain"> |</span>
|
|
<span class="plain"><</span><span class="identifier">to</span><span class="plain">-</span><span class="reserved">do</span><span class="plain">-</span><span class="identifier">tabulation</span><span class="plain">></span>
|
|
|
|
<span class="plain"><</span><span class="identifier">to</span><span class="plain">-</span><span class="reserved">do</span><span class="plain">-</span><span class="identifier">tabulation</span><span class="plain">> ::=</span>
|
|
<span class="identifier">a1</span><span class="plain">+ <</span><span class="identifier">to</span><span class="plain">-</span><span class="reserved">do</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">> |</span>
|
|
<span class="identifier">a1</span><span class="plain">- <</span><span class="identifier">to</span><span class="plain">-</span><span class="reserved">do</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">> </span><span class="identifier">not</span><span class="plain"> |</span>
|
|
<span class="identifier">a2</span><span class="plain">+ </span><span class="identifier">did</span><span class="plain"> |</span>
|
|
<span class="identifier">a2</span><span class="plain">- </span><span class="identifier">did</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> |</span>
|
|
<span class="identifier">a3</span><span class="plain"> ( </span><span class="identifier">t1</span><span class="plain"> </span><span class="identifier">auxiliary</span><span class="plain">-</span><span class="identifier">have</span><span class="plain"> ) </span><span class="identifier">done</span><span class="plain"> |</span>
|
|
<span class="identifier">a4</span><span class="plain"> ( </span><span class="identifier">t2</span><span class="plain"> </span><span class="identifier">auxiliary</span><span class="plain">-</span><span class="identifier">have</span><span class="plain"> ) </span><span class="identifier">done</span><span class="plain"> |</span>
|
|
<span class="identifier">a5</span><span class="plain">+ </span><span class="identifier">will</span><span class="plain"> </span><span class="reserved">do</span><span class="plain"> |</span>
|
|
<span class="identifier">a5</span><span class="plain">- </span><span class="identifier">will</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> </span><span class="reserved">do</span><span class="plain"> |</span>
|
|
<span class="identifier">p</span><span class="plain">* </span><span class="identifier">done</span><span class="plain"> </span><span class="identifier">by</span>
|
|
|
|
<span class="plain"><</span><span class="identifier">to</span><span class="plain">-</span><span class="reserved">do</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">> ::=</span>
|
|
<span class="reserved">do</span><span class="plain"> | </span><span class="reserved">do</span><span class="plain"> | </span><span class="identifier">does</span><span class="plain"> | </span><span class="reserved">do</span><span class="plain"> | </span><span class="reserved">do</span><span class="plain"> | </span><span class="reserved">do</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP25"></a><b>§25. </b>Regular English verbs, then, look like so. We will, for the first time,
|
|
make heavy use of our numbered verb forms: for example, for the verb
|
|
"to take", they would be "take" (1), "taking" (2), "taken" (3),
|
|
"takes" (5) and "took" (6). We start with the infinitive ("take")
|
|
in verb form 1, but (2), (3), (5) and (6) are initially blank — we have
|
|
to make them somehow.
|
|
</p>
|
|
|
|
<p class="inwebparagraph">We do this by giving their definitions not as fixed wording, as we did
|
|
for the verbs above, but as tries which act on the infinitive to produce
|
|
a wording. For example, <code class="display"><span class="extract"><en-trie-present-participle></span></code> is a trie which
|
|
performs:
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="identifier">take</span><span class="plain"> --> </span><span class="identifier">taking</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph">We will have to define these tries below. Note that the infinitive can consist
|
|
of multiple words; if so, the first word is run through the tries, and the
|
|
remaining words are left alone. For example, "grab onto" would be inflected
|
|
to "grabs onto", "grabbing onto" and so on.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">regular</span><span class="plain">-</span><span class="identifier">verb</span><span class="plain">-</span><span class="identifier">conjugation</span><span class="plain">> ::=</span>
|
|
<span class="constant">2</span><span class="plain"> <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">-</span><span class="identifier">participle</span><span class="plain">> |</span>
|
|
<span class="constant">3</span><span class="plain"> <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">past</span><span class="plain">-</span><span class="identifier">participle</span><span class="plain">> |</span>
|
|
<span class="constant">5</span><span class="plain"> <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">-</span><span class="identifier">verb</span><span class="plain">-</span><span class="identifier">form</span><span class="plain">> |</span>
|
|
<span class="constant">6</span><span class="plain"> <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">past</span><span class="plain">> |</span>
|
|
<span class="plain"><</span><span class="identifier">regular</span><span class="plain">-</span><span class="identifier">verb</span><span class="plain">-</span><span class="identifier">tabulation</span><span class="plain">></span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP26"></a><b>§26. </b>Here we see our auxiliary verbs in use. For the negated present tense,
|
|
"Peter does not carry the ball"; for the negated past tense, "Peter did
|
|
not carry the ball" — in both cases, this is "to do" plus the infinitive
|
|
"take". For the perfect tenses, "to have" plus the past participle —
|
|
"Peter has carried the ball", "Peter had carried the ball". For the
|
|
future tense, "will" plus the infinitive — "Peter will carry the ball".
|
|
(We're actually not going to implement this as a verb because all its
|
|
forms are just "will", and because "to will" also means "to leave
|
|
a bequest".)
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">regular</span><span class="plain">-</span><span class="identifier">verb</span><span class="plain">-</span><span class="identifier">tabulation</span><span class="plain">> ::=</span>
|
|
<span class="identifier">a1</span><span class="plain">+ <</span><span class="identifier">regular</span><span class="plain">-</span><span class="identifier">verb</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">> |</span>
|
|
<span class="identifier">a1</span><span class="plain">- ( </span><span class="reserved">do</span><span class="plain"> ) </span><span class="constant">1</span><span class="plain"> |</span>
|
|
<span class="identifier">a2</span><span class="plain">+ </span><span class="constant">6</span><span class="plain"> |</span>
|
|
<span class="identifier">a2</span><span class="plain">- ( </span><span class="reserved">do</span><span class="plain"> ) </span><span class="constant">1</span><span class="plain"> |</span>
|
|
<span class="identifier">a3</span><span class="plain"> ( </span><span class="identifier">t1</span><span class="plain"> </span><span class="identifier">auxiliary</span><span class="plain">-</span><span class="identifier">have</span><span class="plain"> ) </span><span class="constant">3</span><span class="plain"> |</span>
|
|
<span class="identifier">a4</span><span class="plain"> ( </span><span class="identifier">t2</span><span class="plain"> </span><span class="identifier">auxiliary</span><span class="plain">-</span><span class="identifier">have</span><span class="plain"> ) </span><span class="constant">3</span><span class="plain"> |</span>
|
|
<span class="identifier">a5</span><span class="plain">+ </span><span class="identifier">will</span><span class="plain"> </span><span class="constant">1</span><span class="plain"> |</span>
|
|
<span class="identifier">a5</span><span class="plain">- </span><span class="identifier">will</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> </span><span class="constant">1</span><span class="plain"> |</span>
|
|
<span class="identifier">p</span><span class="plain">* </span><span class="constant">3</span><span class="plain"> </span><span class="identifier">by</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP27"></a><b>§27. </b>This looks odd, but what it says is that the present tense of a regular
|
|
English verb is always the infinitive (I take, you take, we take, and so on)
|
|
except for third person singular (he takes), which is different. (It's usually
|
|
what the plural of the infinitive would be if the infinitive were a noun,
|
|
as we'll see.)
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">regular</span><span class="plain">-</span><span class="identifier">verb</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">> ::=</span>
|
|
<span class="constant">1</span><span class="plain"> | </span><span class="constant">1</span><span class="plain"> | </span><span class="constant">5</span><span class="plain"> | </span><span class="constant">1</span><span class="plain"> | </span><span class="constant">1</span><span class="plain"> | </span><span class="constant">1</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP28"></a><b>§28. </b>Now for our most irregular verb: "to be".
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">be</span><span class="plain">-</span><span class="identifier">conjugation</span><span class="plain">> ::=</span>
|
|
<span class="constant">2</span><span class="plain"> </span><span class="identifier">being</span><span class="plain"> |</span>
|
|
<span class="constant">3</span><span class="plain"> </span><span class="identifier">been</span><span class="plain"> |</span>
|
|
<span class="plain"><</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">be</span><span class="plain">-</span><span class="identifier">tabulation</span><span class="plain">></span>
|
|
|
|
<span class="plain"><</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">be</span><span class="plain">-</span><span class="identifier">tabulation</span><span class="plain">> ::=</span>
|
|
<span class="identifier">a1</span><span class="plain">+ <</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">be</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">> |</span>
|
|
<span class="identifier">a1</span><span class="plain">- <</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">be</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">> </span><span class="identifier">not</span><span class="plain"> |</span>
|
|
<span class="identifier">a2</span><span class="plain">+ <</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">be</span><span class="plain">-</span><span class="identifier">past</span><span class="plain">> |</span>
|
|
<span class="identifier">a2</span><span class="plain">- <</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">be</span><span class="plain">-</span><span class="identifier">past</span><span class="plain">> </span><span class="identifier">not</span><span class="plain"> |</span>
|
|
<span class="identifier">a3</span><span class="plain"> ( </span><span class="identifier">t1</span><span class="plain"> </span><span class="identifier">auxiliary</span><span class="plain">-</span><span class="identifier">have</span><span class="plain"> ) </span><span class="identifier">been</span><span class="plain"> |</span>
|
|
<span class="identifier">a4</span><span class="plain"> ( </span><span class="identifier">t2</span><span class="plain"> </span><span class="identifier">auxiliary</span><span class="plain">-</span><span class="identifier">have</span><span class="plain"> ) </span><span class="identifier">been</span><span class="plain"> |</span>
|
|
<span class="identifier">a5</span><span class="plain">+ </span><span class="identifier">will</span><span class="plain"> </span><span class="identifier">be</span><span class="plain"> |</span>
|
|
<span class="identifier">a5</span><span class="plain">- </span><span class="identifier">will</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">be</span>
|
|
|
|
<span class="plain"><</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">be</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">> ::=</span>
|
|
<span class="identifier">am</span><span class="plain"> | </span><span class="identifier">are</span><span class="plain"> | </span><span class="identifier">is</span><span class="plain"> | </span><span class="identifier">are</span><span class="plain"> | </span><span class="identifier">are</span><span class="plain"> | </span><span class="identifier">are</span>
|
|
|
|
<span class="plain"><</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">be</span><span class="plain">-</span><span class="identifier">past</span><span class="plain">> ::=</span>
|
|
<span class="identifier">was</span><span class="plain"> | </span><span class="identifier">were</span><span class="plain"> | </span><span class="identifier">was</span><span class="plain"> | </span><span class="identifier">were</span><span class="plain"> | </span><span class="identifier">were</span><span class="plain"> | </span><span class="identifier">were</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP29"></a><b>§29. </b>Except for tense formation (Peter "will" take the ball), the most common
|
|
modal verb which can be used in Inform source text is "can". For example:
|
|
</p>
|
|
|
|
<blockquote>
|
|
<p>the number of people who can see the King</p>
|
|
|
|
</blockquote>
|
|
|
|
<p class="inwebparagraph">This is modal because it makes the seeing only a possibility, not an actuality.
|
|
An awkward thing about modal verbs in English is that they are deficient,
|
|
that is, not all their forms even exist. "Can" has no infinitive. ("To can"
|
|
means to put food into a sealed metal container, which isn't the same thing
|
|
at all.) "Can" also has no perfect or future tenses. On the other hand, it
|
|
does have inflected present and past tenses, and we need to implement that.
|
|
So we will invent the infinitive form "be able to", and make the verb from
|
|
that, but using "can" and "could" instead of "is able to" and "was able
|
|
to". "Can" is rather irregular as a verb: the third person singular doesn't
|
|
inflect ("he can", not "he cans"), and the negative is written "cannot"
|
|
instead of "can not", presumably because we find the two "n"s awkward
|
|
to elide, so we always pronounce it that way and the spelling now follows.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">be</span><span class="plain">-</span><span class="identifier">able</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">conjugation</span><span class="plain">> ::=</span>
|
|
<span class="constant">2</span><span class="plain"> <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">-</span><span class="identifier">participle</span><span class="plain">> |</span>
|
|
<span class="constant">3</span><span class="plain"> <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">past</span><span class="plain">-</span><span class="identifier">participle</span><span class="plain">> |</span>
|
|
<span class="plain"><</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">be</span><span class="plain">-</span><span class="identifier">able</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">tabulation</span><span class="plain">></span>
|
|
|
|
<span class="plain"><</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">be</span><span class="plain">-</span><span class="identifier">able</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">tabulation</span><span class="plain">> ::=</span>
|
|
<span class="identifier">a1</span><span class="plain">+ </span><span class="identifier">can</span><span class="plain"> ++1 |</span>
|
|
<span class="identifier">a1</span><span class="plain">- </span><span class="identifier">cannot</span><span class="plain"> ++1 |</span>
|
|
<span class="identifier">a2</span><span class="plain">+ </span><span class="identifier">could</span><span class="plain"> ++1 |</span>
|
|
<span class="identifier">a2</span><span class="plain">- </span><span class="identifier">could</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> ++1 |</span>
|
|
<span class="identifier">a3</span><span class="plain"> ( </span><span class="identifier">t1</span><span class="plain"> </span><span class="identifier">auxiliary</span><span class="plain">-</span><span class="identifier">have</span><span class="plain"> ) </span><span class="identifier">been</span><span class="plain"> </span><span class="identifier">able</span><span class="plain"> </span><span class="identifier">to</span><span class="plain"> ++1 |</span>
|
|
<span class="identifier">a4</span><span class="plain"> ( </span><span class="identifier">t2</span><span class="plain"> </span><span class="identifier">auxiliary</span><span class="plain">-</span><span class="identifier">have</span><span class="plain"> ) </span><span class="identifier">been</span><span class="plain"> </span><span class="identifier">able</span><span class="plain"> </span><span class="identifier">to</span><span class="plain"> ++1 |</span>
|
|
<span class="identifier">a5</span><span class="plain">+ </span><span class="identifier">will</span><span class="plain"> </span><span class="identifier">be</span><span class="plain"> </span><span class="identifier">able</span><span class="plain"> </span><span class="identifier">to</span><span class="plain"> ++1 |</span>
|
|
<span class="identifier">a5</span><span class="plain">- </span><span class="identifier">will</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">be</span><span class="plain"> </span><span class="identifier">able</span><span class="plain"> </span><span class="identifier">to</span><span class="plain"> ++1</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP30"></a><b>§30. </b>Inform has only a simple understanding of what "can" means, so it doesn't
|
|
allow the source text to use "can" in combination with arbitrary verbs.
|
|
Instead, each legal combination has to be declared explicitly:
|
|
</p>
|
|
|
|
<blockquote>
|
|
<p>To be able to reach is a verb meaning ...</p>
|
|
|
|
</blockquote>
|
|
|
|
<p class="inwebparagraph">Inform implements all of this by passing "be able to reach" through the
|
|
same verb-conjugation mechanisms as all other verbs ("take", "see", and
|
|
so on). But at least the conjugation used is now simple. Recall that when
|
|
the instructions grammar, right back at the start of this discussion of
|
|
verbs, chooses which conjugation to use, it converts the text matching
|
|
the wild-card <code class="display"><span class="extract">...</span></code> into the "adjoint infinitive" form (4). We get to
|
|
this conjugation by matching
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="identifier">be</span><span class="plain"> </span><span class="identifier">able</span><span class="plain"> </span><span class="identifier">to</span><span class="plain"> ...</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph">so, for example, "be able to reach" results in 4 being set to "reach".
|
|
</p>
|
|
|
|
<p class="inwebparagraph">Note also the construction <code class="display"><span class="extract">3 ( 4 )</span></code> in the passive. The 3 means "take the
|
|
past participle of the verb in brackets", and the 4 means that the text of
|
|
this verb's infinitive is the contents of verb form 4. So, for example,
|
|
for "be able to reach", <code class="display"><span class="extract">3 ( 4 )</span></code> expands to <code class="display"><span class="extract">3 ( reach )</span></code> which expands
|
|
to "reached", and we get passive forms like "Peter can be reached by
|
|
Jane".
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">be</span><span class="plain">-</span><span class="identifier">able</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">auxiliary</span><span class="plain">> ::=</span>
|
|
<span class="constant">2</span><span class="plain"> <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">-</span><span class="identifier">participle</span><span class="plain">> |</span>
|
|
<span class="constant">3</span><span class="plain"> <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">past</span><span class="plain">-</span><span class="identifier">participle</span><span class="plain">> |</span>
|
|
<span class="plain"><</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">be</span><span class="plain">-</span><span class="identifier">able</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">auxiliary</span><span class="plain">-</span><span class="identifier">tabulation</span><span class="plain">></span>
|
|
|
|
<span class="plain"><</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">be</span><span class="plain">-</span><span class="identifier">able</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">auxiliary</span><span class="plain">-</span><span class="identifier">tabulation</span><span class="plain">> ::=</span>
|
|
<span class="identifier">a</span><span class="plain"> ( </span><span class="identifier">be</span><span class="plain"> </span><span class="identifier">able</span><span class="plain"> </span><span class="identifier">to</span><span class="plain"> ) </span><span class="constant">4</span><span class="plain"> |</span>
|
|
<span class="identifier">p</span><span class="plain"> ( </span><span class="identifier">be</span><span class="plain"> </span><span class="identifier">able</span><span class="plain"> </span><span class="identifier">to</span><span class="plain"> ) </span><span class="identifier">be</span><span class="plain"> </span><span class="constant">3</span><span class="plain"> ( </span><span class="constant">4</span><span class="plain"> ) </span><span class="identifier">by</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP31"></a><b>§31. </b>The following handles the other English modal verbs ("might", "should"
|
|
and so on) surprisingly easily. The notation <code class="display"><span class="extract">++1</span></code> means that the verb
|
|
being modified should appear in verb form 1, and so on: for example,
|
|
"might not lead" as "might not" plus form 1 of "to lead", i.e., "lead".
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">modal</span><span class="plain">-</span><span class="identifier">conjugation</span><span class="plain">> ::=</span>
|
|
<span class="constant">2</span><span class="plain"> <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">-</span><span class="identifier">participle</span><span class="plain">> |</span>
|
|
<span class="constant">3</span><span class="plain"> <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">past</span><span class="plain">-</span><span class="identifier">participle</span><span class="plain">> |</span>
|
|
<span class="plain"><</span><span class="identifier">modal</span><span class="plain">-</span><span class="identifier">tabulation</span><span class="plain">></span>
|
|
|
|
<span class="plain"><</span><span class="identifier">modal</span><span class="plain">-</span><span class="identifier">tabulation</span><span class="plain">> ::=</span>
|
|
<span class="identifier">a1</span><span class="plain">+ </span><span class="constant">4</span><span class="plain"> ++1 |</span>
|
|
<span class="identifier">a1</span><span class="plain">- </span><span class="constant">4</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> ++1 |</span>
|
|
<span class="identifier">a2</span><span class="plain">+ </span><span class="constant">4</span><span class="plain"> </span><span class="identifier">have</span><span class="plain"> ++2 |</span>
|
|
<span class="identifier">a2</span><span class="plain">- </span><span class="constant">4</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">have</span><span class="plain"> ++2 |</span>
|
|
<span class="identifier">a3</span><span class="plain">+ </span><span class="constant">4</span><span class="plain"> </span><span class="identifier">have</span><span class="plain"> ++2 |</span>
|
|
<span class="identifier">a3</span><span class="plain">- </span><span class="constant">4</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">have</span><span class="plain"> ++2 |</span>
|
|
<span class="identifier">a4</span><span class="plain">+ </span><span class="constant">4</span><span class="plain"> </span><span class="identifier">have</span><span class="plain"> ++2 |</span>
|
|
<span class="identifier">a4</span><span class="plain">- </span><span class="constant">4</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">have</span><span class="plain"> ++2 |</span>
|
|
<span class="identifier">a5</span><span class="plain">+ </span><span class="constant">4</span><span class="plain"> ++1 |</span>
|
|
<span class="identifier">a5</span><span class="plain">- </span><span class="constant">4</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> ++1</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP32"></a><b>§32. </b>That completes our basic kit of verbs nicely. What's left is used only
|
|
for generating text at run-time — for printing adaptive messages, that is;
|
|
none of these oddball exceptional cases is otherwise used as a verb in
|
|
Inform source text. None of them has any meaning to Inform.
|
|
</p>
|
|
|
|
<p class="inwebparagraph">Inform could fairly easily support the contractions "isn't", "aren't",
|
|
"wasn't", "can't" and so on, but we've chosen not to do so. They save
|
|
very little typing, and they greatly change the aesthetic style of Inform
|
|
source text without changing its functionality. (If we allowed them, some
|
|
authors would use them all the time, and other authors never, but others
|
|
still would mix them incoherently.)
|
|
</p>
|
|
|
|
<p class="inwebparagraph">But we still want people to be able to write adaptive text which uses
|
|
these contracted forms: otherwise, how could we write classic messages
|
|
like
|
|
</p>
|
|
|
|
<blockquote>
|
|
<p>You can't go that way.</p>
|
|
|
|
</blockquote>
|
|
|
|
<p class="inwebparagraph">and have them adapt to other tenses and viewpoints?
|
|
</p>
|
|
|
|
<p class="inwebparagraph">First we'll tackle "to 's", the contracted form of "to be": I'm, you're,
|
|
and so on. Exactly how these contractions are used in different tenses is
|
|
something that varies with different dialects of English — for example,
|
|
"you'll not take the ball" is now a little obsolete except in rural
|
|
dialects — and we aren't even going to try to cope with that.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">contracted</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">be</span><span class="plain">-</span><span class="identifier">conjugation</span><span class="plain">> ::=</span>
|
|
<span class="constant">2</span><span class="plain"> </span><span class="identifier">being</span><span class="plain"> |</span>
|
|
<span class="constant">3</span><span class="plain"> </span><span class="identifier">been</span><span class="plain"> |</span>
|
|
<span class="plain"><</span><span class="identifier">not</span><span class="plain">-</span><span class="identifier">instance</span><span class="plain">-</span><span class="identifier">of</span><span class="plain">-</span><span class="identifier">verb</span><span class="plain">-</span><span class="identifier">at</span><span class="plain">-</span><span class="identifier">run</span><span class="plain">-</span><span class="identifier">time</span><span class="plain">> |</span>
|
|
<span class="plain"><</span><span class="identifier">contracted</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">be</span><span class="plain">-</span><span class="identifier">tabulation</span><span class="plain">></span>
|
|
|
|
<span class="plain"><</span><span class="identifier">contracted</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">be</span><span class="plain">-</span><span class="identifier">tabulation</span><span class="plain">> ::=</span>
|
|
<span class="identifier">a1</span><span class="plain">+ <</span><span class="identifier">contracted</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">be</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">> |</span>
|
|
<span class="identifier">a1</span><span class="plain">- <</span><span class="identifier">contracted</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">be</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">> </span><span class="identifier">not</span><span class="plain"> |</span>
|
|
<span class="identifier">a2</span><span class="plain">+ <</span><span class="identifier">contracted</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">be</span><span class="plain">-</span><span class="identifier">past</span><span class="plain">> |</span>
|
|
<span class="identifier">a2</span><span class="plain">- <</span><span class="identifier">contracted</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">be</span><span class="plain">-</span><span class="identifier">past</span><span class="plain">-</span><span class="identifier">negated</span><span class="plain">> |</span>
|
|
<span class="identifier">a3</span><span class="plain">+ <</span><span class="identifier">contracted</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">have</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">> </span><span class="identifier">been</span><span class="plain"> |</span>
|
|
<span class="identifier">a3</span><span class="plain">- <</span><span class="identifier">contracted</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">have</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">> </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">been</span><span class="plain"> |</span>
|
|
<span class="identifier">a4</span><span class="plain">+ </span><span class="character">'d been |</span>
|
|
<span class="character">a4- '</span><span class="identifier">d</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">been</span><span class="plain"> |</span>
|
|
<span class="identifier">a5</span><span class="plain">+ </span><span class="character">'ll be |</span>
|
|
<span class="character">a5- '</span><span class="identifier">ll</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> </span><span class="identifier">be</span>
|
|
|
|
<span class="plain"><</span><span class="identifier">contracted</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">be</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">> ::=</span>
|
|
<span class="character">'m | '</span><span class="identifier">re</span><span class="plain"> | </span><span class="character">'s | '</span><span class="identifier">re</span><span class="plain"> | </span><span class="character">'re | '</span><span class="identifier">re</span>
|
|
|
|
<span class="plain"><</span><span class="identifier">contracted</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">be</span><span class="plain">-</span><span class="identifier">past</span><span class="plain">> ::=</span>
|
|
<span class="identifier">was</span><span class="plain"> | </span><span class="identifier">were</span><span class="plain"> | </span><span class="identifier">was</span><span class="plain"> | </span><span class="identifier">were</span><span class="plain"> | </span><span class="identifier">were</span><span class="plain"> | </span><span class="identifier">were</span>
|
|
|
|
<span class="plain"><</span><span class="identifier">contracted</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">be</span><span class="plain">-</span><span class="identifier">past</span><span class="plain">-</span><span class="identifier">negated</span><span class="plain">> ::=</span>
|
|
<span class="identifier">wasn</span><span class="character">'t | weren'</span><span class="identifier">t</span><span class="plain"> | </span><span class="identifier">wasn</span><span class="character">'t | weren'</span><span class="identifier">t</span><span class="plain"> | </span><span class="identifier">weren</span><span class="character">'t | weren'</span><span class="identifier">t</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP33"></a><b>§33. </b>And now "to 've", the contracted form of "to have". A subtle dialect
|
|
point here concerns the negated present tense:
|
|
</p>
|
|
|
|
<blockquote>
|
|
<p>Sorry, I don't have a clue. [US]</p>
|
|
|
|
</blockquote>
|
|
|
|
<blockquote>
|
|
<p>Sorry, I haven't got a clue. [British]</p>
|
|
|
|
</blockquote>
|
|
|
|
<blockquote>
|
|
<p>Sorry, I haven't a clue. [British, but antiquated]</p>
|
|
|
|
</blockquote>
|
|
|
|
<blockquote>
|
|
<p>Sorry, I didn't have a clue. [US or British]</p>
|
|
|
|
</blockquote>
|
|
|
|
<blockquote>
|
|
<p>Sorry, I hadn't got a clue. [British]</p>
|
|
|
|
</blockquote>
|
|
|
|
<p class="inwebparagraph">But the American forms are becoming more common in British English, so we'll
|
|
go with those.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">contracted</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">have</span><span class="plain">-</span><span class="identifier">conjugation</span><span class="plain">> ::=</span>
|
|
<span class="constant">2</span><span class="plain"> </span><span class="identifier">having</span><span class="plain"> |</span>
|
|
<span class="constant">3</span><span class="plain"> </span><span class="identifier">had</span><span class="plain"> |</span>
|
|
<span class="plain"><</span><span class="identifier">not</span><span class="plain">-</span><span class="identifier">instance</span><span class="plain">-</span><span class="identifier">of</span><span class="plain">-</span><span class="identifier">verb</span><span class="plain">-</span><span class="identifier">at</span><span class="plain">-</span><span class="identifier">run</span><span class="plain">-</span><span class="identifier">time</span><span class="plain">> |</span>
|
|
<span class="plain"><</span><span class="identifier">contracted</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">have</span><span class="plain">-</span><span class="identifier">tabulation</span><span class="plain">></span>
|
|
|
|
<span class="plain"><</span><span class="identifier">contracted</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">have</span><span class="plain">-</span><span class="identifier">tabulation</span><span class="plain">> ::=</span>
|
|
<span class="identifier">a1</span><span class="plain">+ <</span><span class="identifier">contracted</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">have</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">> |</span>
|
|
<span class="identifier">a1</span><span class="plain">- <</span><span class="identifier">contracted</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">have</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">> </span><span class="identifier">not</span><span class="plain"> |</span>
|
|
<span class="identifier">a2</span><span class="plain">+ </span><span class="identifier">had</span><span class="plain"> |</span>
|
|
<span class="identifier">a2</span><span class="plain">- </span><span class="identifier">hadn</span><span class="character">'t |</span>
|
|
<span class="character">a3+ <contracted-to-have-present> had |</span>
|
|
<span class="character">a3- <contracted-to-have-present> not had |</span>
|
|
<span class="character">a4+ '</span><span class="identifier">d</span><span class="plain"> </span><span class="identifier">had</span><span class="plain"> |</span>
|
|
<span class="identifier">a4</span><span class="plain">- </span><span class="character">'d not had |</span>
|
|
<span class="character">a5+ '</span><span class="identifier">ll</span><span class="plain"> </span><span class="identifier">have</span><span class="plain"> |</span>
|
|
<span class="identifier">a5</span><span class="plain">- </span><span class="character">'ll not have</span>
|
|
|
|
<span class="character"><contracted-to-have-present> ::=</span>
|
|
<span class="character">'</span><span class="identifier">ve</span><span class="plain"> | </span><span class="character">'ve | '</span><span class="identifier">s</span><span class="plain"> | </span><span class="character">'ve | '</span><span class="identifier">ve</span><span class="plain"> | </span><span class="character">'ve</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP34"></a><b>§34. </b>Now we come to "aren't", a negated form of "to be", but where the
|
|
contraction occurs between the verb and the "not" rather than between
|
|
the subject and the verb.
|
|
</p>
|
|
|
|
<p class="inwebparagraph">Again, Inform doesn't know or care what this means. We're simply going to teach
|
|
it to conjugate it as if it were a verb in its own right. So "to aren't" will be
|
|
conjugated "I am not", "you aren't", "he isn't", and so on. (We don't
|
|
say "I amn't", possibly because the "mn" is too awkward, but possibly
|
|
also because we'd more likely say "I'm not". Because this would make the
|
|
spacing awkwardly difficult — we would need to backspace — we won't take
|
|
that option here.)
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">arent</span><span class="plain">-</span><span class="identifier">conjugation</span><span class="plain">> ::=</span>
|
|
<span class="constant">2</span><span class="plain"> <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">-</span><span class="identifier">participle</span><span class="plain">> |</span>
|
|
<span class="constant">3</span><span class="plain"> <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">past</span><span class="plain">-</span><span class="identifier">participle</span><span class="plain">> |</span>
|
|
<span class="plain"><</span><span class="identifier">not</span><span class="plain">-</span><span class="identifier">instance</span><span class="plain">-</span><span class="identifier">of</span><span class="plain">-</span><span class="identifier">verb</span><span class="plain">-</span><span class="identifier">at</span><span class="plain">-</span><span class="identifier">run</span><span class="plain">-</span><span class="identifier">time</span><span class="plain">> |</span>
|
|
<span class="plain"><</span><span class="identifier">arent</span><span class="plain">-</span><span class="identifier">tabulation</span><span class="plain">></span>
|
|
|
|
<span class="plain"><</span><span class="identifier">arent</span><span class="plain">-</span><span class="identifier">tabulation</span><span class="plain">> ::=</span>
|
|
<span class="identifier">a1</span><span class="plain">+ <</span><span class="identifier">arent</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">> |</span>
|
|
<span class="identifier">a2</span><span class="plain">+ <</span><span class="identifier">arent</span><span class="plain">-</span><span class="identifier">past</span><span class="plain">> |</span>
|
|
<span class="identifier">a3</span><span class="plain">+ <</span><span class="identifier">arent</span><span class="plain">-</span><span class="identifier">perfect</span><span class="plain">> |</span>
|
|
<span class="identifier">a4</span><span class="plain">+ </span><span class="identifier">hadn</span><span class="character">'t been |</span>
|
|
<span class="character">a5+ won'</span><span class="identifier">t</span><span class="plain"> </span><span class="identifier">be</span>
|
|
|
|
<span class="plain"><</span><span class="identifier">arent</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">> ::=</span>
|
|
<span class="identifier">am</span><span class="plain"> </span><span class="identifier">not</span><span class="plain"> | </span><span class="identifier">aren</span><span class="character">'t | isn'</span><span class="identifier">t</span><span class="plain"> | </span><span class="identifier">aren</span><span class="character">'t | aren'</span><span class="identifier">t</span><span class="plain"> | </span><span class="identifier">aren</span><span class="character">'t</span>
|
|
|
|
<span class="character"><arent-past> ::=</span>
|
|
<span class="character">wasn'</span><span class="identifier">t</span><span class="plain"> | </span><span class="identifier">weren</span><span class="character">'t | wasn'</span><span class="identifier">t</span><span class="plain"> | </span><span class="identifier">weren</span><span class="character">'t | weren'</span><span class="identifier">t</span><span class="plain"> | </span><span class="identifier">weren</span><span class="character">'t</span>
|
|
|
|
<span class="character"><arent-perfect> ::=</span>
|
|
<span class="character">haven'</span><span class="identifier">t</span><span class="plain"> </span><span class="identifier">been</span><span class="plain"> | </span><span class="identifier">haven</span><span class="character">'t been | hasn'</span><span class="identifier">t</span><span class="plain"> </span><span class="identifier">been</span><span class="plain"> | </span><span class="identifier">haven</span><span class="character">'t been | haven'</span><span class="identifier">t</span><span class="plain"> </span><span class="identifier">been</span><span class="plain"> | </span><span class="identifier">haven</span><span class="character">'t been</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP35"></a><b>§35. </b>And finally: the contracted informal negatives of various modal verbs which
|
|
it's useful to be able to print, like the "can't" in
|
|
</p>
|
|
|
|
<blockquote>
|
|
<p>You can't go that way.</p>
|
|
|
|
</blockquote>
|
|
|
|
<p class="inwebparagraph">English has more modal verbs than one tends to remember, and the definition
|
|
of "modal" itself arguable. This is the best we can do.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">informal</span><span class="plain">-</span><span class="identifier">negated</span><span class="plain">-</span><span class="identifier">modal</span><span class="plain">-</span><span class="identifier">conjugation</span><span class="plain">> ::=</span>
|
|
<span class="constant">2</span><span class="plain"> <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">-</span><span class="identifier">participle</span><span class="plain">> |</span>
|
|
<span class="constant">3</span><span class="plain"> <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">past</span><span class="plain">-</span><span class="identifier">participle</span><span class="plain">> |</span>
|
|
<span class="constant">5</span><span class="plain"> <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">modal</span><span class="plain">-</span><span class="identifier">contracted</span><span class="plain">-</span><span class="identifier">past</span><span class="plain">> |</span>
|
|
<span class="constant">6</span><span class="plain"> <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">modal</span><span class="plain">-</span><span class="identifier">contracted</span><span class="plain">-</span><span class="identifier">future</span><span class="plain">> |</span>
|
|
<span class="constant">7</span><span class="plain"> <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">modal</span><span class="plain">-</span><span class="identifier">contracted</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">> |</span>
|
|
<span class="plain"><</span><span class="identifier">not</span><span class="plain">-</span><span class="identifier">instance</span><span class="plain">-</span><span class="identifier">of</span><span class="plain">-</span><span class="identifier">verb</span><span class="plain">-</span><span class="identifier">at</span><span class="plain">-</span><span class="identifier">run</span><span class="plain">-</span><span class="identifier">time</span><span class="plain">> |</span>
|
|
<span class="plain"><</span><span class="identifier">informal</span><span class="plain">-</span><span class="identifier">negated</span><span class="plain">-</span><span class="identifier">modal</span><span class="plain">-</span><span class="identifier">tabulation</span><span class="plain">></span>
|
|
|
|
<span class="plain"><</span><span class="identifier">informal</span><span class="plain">-</span><span class="identifier">negated</span><span class="plain">-</span><span class="identifier">modal</span><span class="plain">-</span><span class="identifier">tabulation</span><span class="plain">> ::=</span>
|
|
<span class="identifier">a1</span><span class="plain">+ <</span><span class="identifier">informal</span><span class="plain">-</span><span class="identifier">negated</span><span class="plain">-</span><span class="identifier">modal</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">> ++1 |</span>
|
|
<span class="identifier">a2</span><span class="plain">+ </span><span class="constant">5</span><span class="plain"> ++2 |</span>
|
|
<span class="identifier">a3</span><span class="plain">+ </span><span class="constant">5</span><span class="plain"> ++2 |</span>
|
|
<span class="identifier">a4</span><span class="plain">+ </span><span class="constant">5</span><span class="plain"> ++2 |</span>
|
|
<span class="identifier">a5</span><span class="plain">+ </span><span class="constant">6</span><span class="plain"> ++1</span>
|
|
|
|
<span class="plain"><</span><span class="identifier">informal</span><span class="plain">-</span><span class="identifier">negated</span><span class="plain">-</span><span class="identifier">modal</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">> ::=</span>
|
|
<span class="constant">1</span><span class="plain"> | </span><span class="constant">1</span><span class="plain"> | </span><span class="constant">7</span><span class="plain"> | </span><span class="constant">1</span><span class="plain"> | </span><span class="constant">1</span><span class="plain"> | </span><span class="constant">1</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP36"></a><b>§36. </b>Together with special rules for can't, which is inevitably slightly different:
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">cant</span><span class="plain">-</span><span class="identifier">modal</span><span class="plain">-</span><span class="identifier">conjugation</span><span class="plain">> ::=</span>
|
|
<span class="constant">2</span><span class="plain"> <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">-</span><span class="identifier">participle</span><span class="plain">> |</span>
|
|
<span class="constant">3</span><span class="plain"> <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">past</span><span class="plain">-</span><span class="identifier">participle</span><span class="plain">> |</span>
|
|
<span class="plain"><</span><span class="identifier">not</span><span class="plain">-</span><span class="identifier">instance</span><span class="plain">-</span><span class="identifier">of</span><span class="plain">-</span><span class="identifier">verb</span><span class="plain">-</span><span class="identifier">at</span><span class="plain">-</span><span class="identifier">run</span><span class="plain">-</span><span class="identifier">time</span><span class="plain">> |</span>
|
|
<span class="plain"><</span><span class="identifier">cant</span><span class="plain">-</span><span class="identifier">modal</span><span class="plain">-</span><span class="identifier">tabulation</span><span class="plain">></span>
|
|
|
|
<span class="plain"><</span><span class="identifier">cant</span><span class="plain">-</span><span class="identifier">modal</span><span class="plain">-</span><span class="identifier">tabulation</span><span class="plain">> ::=</span>
|
|
<span class="identifier">a1</span><span class="plain">+ </span><span class="identifier">can</span><span class="character">'t ++1 |</span>
|
|
<span class="character">a2+ couldn'</span><span class="identifier">t</span><span class="plain"> ++1 |</span>
|
|
<span class="identifier">a3</span><span class="plain">+ ( </span><span class="identifier">t1</span><span class="plain"> </span><span class="identifier">haven</span><span class="character">'t ) been able to ++1 |</span>
|
|
<span class="character">a4+ ( t2 haven'</span><span class="identifier">t</span><span class="plain"> ) </span><span class="identifier">been</span><span class="plain"> </span><span class="identifier">able</span><span class="plain"> </span><span class="identifier">to</span><span class="plain"> ++1 |</span>
|
|
<span class="identifier">a5</span><span class="plain">+ </span><span class="identifier">won</span><span class="character">'t be able to ++1</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP37"></a><b>§37. </b>We have special tries just to list the forms of the cases we will
|
|
deal with. Tries can do fancy things (see below), but here they act just as
|
|
a look-up table: for example, "won't" has present "won't", past
|
|
"wouldn't" and future "won't".
|
|
</p>
|
|
|
|
<p class="inwebparagraph">Note that results of tries normally have to be single words; but that plus
|
|
signs can be used if we absolutely have to introduce spaces.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">modal</span><span class="plain">-</span><span class="identifier">contracted</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">> ::=</span>
|
|
<span class="identifier">can</span><span class="character">'t can'</span><span class="identifier">t</span><span class="plain"> |</span>
|
|
<span class="identifier">don</span><span class="character">'t doesn'</span><span class="identifier">t</span><span class="plain"> |</span>
|
|
<span class="identifier">haven</span><span class="character">'t hasn'</span><span class="identifier">t</span><span class="plain"> |</span>
|
|
<span class="identifier">won</span><span class="character">'t won'</span><span class="identifier">t</span><span class="plain"> |</span>
|
|
<span class="identifier">mayn</span><span class="character">'t mayn'</span><span class="identifier">t</span><span class="plain"> |</span>
|
|
<span class="identifier">mightn</span><span class="character">'t mightn'</span><span class="identifier">t</span><span class="plain"> |</span>
|
|
<span class="identifier">mustn</span><span class="character">'t mustn'</span><span class="identifier">t</span><span class="plain"> |</span>
|
|
<span class="identifier">wouldn</span><span class="character">'t wouldn'</span><span class="identifier">t</span><span class="plain"> |</span>
|
|
<span class="identifier">couldn</span><span class="character">'t couldn'</span><span class="identifier">t</span><span class="plain"> |</span>
|
|
<span class="identifier">shouldn</span><span class="character">'t shouldn'</span><span class="identifier">t</span>
|
|
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">modal</span><span class="plain">-</span><span class="identifier">contracted</span><span class="plain">-</span><span class="identifier">past</span><span class="plain">> ::=</span>
|
|
<span class="identifier">can</span><span class="character">'t couldn'</span><span class="identifier">t</span><span class="plain"> |</span>
|
|
<span class="identifier">don</span><span class="character">'t didn'</span><span class="identifier">t</span><span class="plain"> |</span>
|
|
<span class="identifier">haven</span><span class="character">'t hadn'</span><span class="identifier">t</span><span class="plain"> |</span>
|
|
<span class="identifier">won</span><span class="character">'t wouldn'</span><span class="identifier">t</span><span class="plain"> |</span>
|
|
<span class="identifier">mayn</span><span class="character">'t mayn'</span><span class="identifier">t</span><span class="plain">+</span><span class="identifier">have</span><span class="plain"> |</span>
|
|
<span class="identifier">mightn</span><span class="character">'t mightn'</span><span class="identifier">t</span><span class="plain">+</span><span class="identifier">have</span><span class="plain"> |</span>
|
|
<span class="identifier">mustn</span><span class="character">'t mustn'</span><span class="identifier">t</span><span class="plain">+</span><span class="identifier">have</span><span class="plain"> |</span>
|
|
<span class="identifier">wouldn</span><span class="character">'t wouldn'</span><span class="identifier">t</span><span class="plain">+</span><span class="identifier">have</span><span class="plain"> |</span>
|
|
<span class="identifier">couldn</span><span class="character">'t couldn'</span><span class="identifier">t</span><span class="plain">+</span><span class="identifier">have</span><span class="plain"> |</span>
|
|
<span class="identifier">shouldn</span><span class="character">'t shouldn'</span><span class="identifier">t</span><span class="plain">+</span><span class="identifier">have</span>
|
|
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">modal</span><span class="plain">-</span><span class="identifier">contracted</span><span class="plain">-</span><span class="identifier">future</span><span class="plain">> ::=</span>
|
|
<span class="identifier">can</span><span class="character">'t won'</span><span class="identifier">t</span><span class="plain">+</span><span class="identifier">be</span><span class="plain">+</span><span class="identifier">able</span><span class="plain">+</span><span class="identifier">to</span><span class="plain"> |</span>
|
|
<span class="identifier">don</span><span class="character">'t won'</span><span class="identifier">t</span><span class="plain"> |</span>
|
|
<span class="identifier">haven</span><span class="character">'t won'</span><span class="identifier">t</span><span class="plain">+</span><span class="identifier">have</span><span class="plain"> |</span>
|
|
<span class="identifier">won</span><span class="character">'t won'</span><span class="identifier">t</span><span class="plain"> |</span>
|
|
<span class="identifier">mayn</span><span class="character">'t mayn'</span><span class="identifier">t</span><span class="plain"> |</span>
|
|
<span class="identifier">mightn</span><span class="character">'t mightn'</span><span class="identifier">t</span><span class="plain"> |</span>
|
|
<span class="identifier">mustn</span><span class="character">'t mustn'</span><span class="identifier">t</span><span class="plain"> |</span>
|
|
<span class="identifier">wouldn</span><span class="character">'t wouldn'</span><span class="identifier">t</span><span class="plain"> |</span>
|
|
<span class="identifier">couldn</span><span class="character">'t couldn'</span><span class="identifier">t</span><span class="plain"> |</span>
|
|
<span class="identifier">shouldn</span><span class="character">'t shouldn'</span><span class="identifier">t</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP38"></a><b>§38. </b>That's the end of the conjugations — the easy part, it turns out. We now
|
|
need to create the four tries to make verb forms out of the infinitive:
|
|
the present participle, the past participle, the third-person singular
|
|
present tense, and the past tense.
|
|
</p>
|
|
|
|
<p class="inwebparagraph">We'll start with the present participle. This is actually quite hard,
|
|
because in some cases it depends on pronunciation rather than spelling.
|
|
Greenbaum's "Oxford English Grammar" summarises the general rules at
|
|
4.16, as follows:
|
|
</p>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<ul class="items"><li>(a) If the base ends in -e but not -ee, -oe or -ye, drop the final -e before
|
|
adding -ing: thus drive to driving, but see to seeing, dye to dyeing, and so on.
|
|
</li></ul>
|
|
<ul class="items"><li>(b) If the base ends in -ie, as well as dropping the -e, also change the -i
|
|
to -y: thus die to dying, untie to untying.
|
|
</li></ul>
|
|
<ul class="items"><li>(c) If the base ends in a stressed syllable whose spelling ends with a single
|
|
vowel and then a single consonant, then double the consonant before adding -ing.
|
|
Thus tip to tipping (not tiping), but break to breaking (not breakking).
|
|
</li></ul>
|
|
<ul class="items"><li>(d) If the base ends in a vowel and then -c, add -king. This is not quite the
|
|
same as consonant doubling and doesn't depend on the stress; thus mimic to
|
|
mimicking, picnic to picnicking.
|
|
</li></ul>
|
|
<p class="inwebparagraph">These are fairly clear-cut rules, though English doesn't enforce them in all
|
|
cases, so that most dictionaries let you say either focusing or focussing, for
|
|
example, and either gluing or glueing (note that rule (a) drops the -e from
|
|
-ue endings, but it's not at all clear why this case should be different,
|
|
which may be why people are doubtful here); and in America participles like
|
|
traveling or programing or worshiping are allowed by some people (with -l, -m,
|
|
-me, -p endings), but they aren't universal. Inform will stick to traditional
|
|
English as described above.
|
|
</p>
|
|
|
|
<p class="inwebparagraph">The tricky thing is that (c) is really a phonetic rule, not a spelling rule.
|
|
For example, we need to count a final -y and -w as vowels, not consonants,
|
|
because that's what they sound like. But at least that can be read from the
|
|
spelling, whereas the presence or absence of stress can't. An English word
|
|
generally stresses just one syllable, and always stresses at least one, so
|
|
a monosyllabic word is always stressed. With a polysyllabic word, there's
|
|
no easy way to tell. Consider deter to deterring (stress on second syllable
|
|
of deter), but meter to metering (stress on first syllable of meter).
|
|
</p>
|
|
|
|
<p class="inwebparagraph"><a id="SP39"></a><b>§39. </b>The following algorithm is due to Toby Nelson, who produced it from a
|
|
dictionary of 14,689 English verbs, some of them quite obscure (to torpefy,
|
|
anyone? to spuilzie? to cachinnate?). It's essentially a more detailed
|
|
version of Greenbaum's rules above.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">-</span><span class="identifier">participle</span><span class="plain">> ::=</span>
|
|
<span class="plain">... <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">irregular</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">-</span><span class="identifier">participle</span><span class="plain">> |</span>
|
|
<span class="plain">... <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">irregular</span><span class="plain">-</span><span class="identifier">compound</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">-</span><span class="identifier">participle</span><span class="plain">> |</span>
|
|
<span class="plain">... <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">regular</span><span class="plain">-</span><span class="identifier">a</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">-</span><span class="identifier">participle</span><span class="plain">> |</span>
|
|
<span class="plain">... <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">regular</span><span class="plain">-</span><span class="identifier">b</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">-</span><span class="identifier">participle</span><span class="plain">> |</span>
|
|
<span class="plain">... <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">regular</span><span class="plain">-</span><span class="identifier">c</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">-</span><span class="identifier">participle</span><span class="plain">></span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP40"></a><b>§40. </b>First of all there are some irregular cases — some for the usual suspects,
|
|
but others for oddball verbs where English breaks the normal phonetic rules
|
|
for the sake of clarity. For example, the participle of "singe" ought to
|
|
be "singing", but in fact we write "singeing", purely to make it different
|
|
from the act of producing a song.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">irregular</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">-</span><span class="identifier">participle</span><span class="plain">> ::=</span>
|
|
<span class="identifier">boob</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">had</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ding</span><span class="plain"> |</span>
|
|
<span class="identifier">quad</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ding</span><span class="plain"> |</span>
|
|
<span class="identifier">quod</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ding</span><span class="plain"> |</span>
|
|
<span class="identifier">squid</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ding</span><span class="plain"> |</span>
|
|
<span class="identifier">whid</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ding</span><span class="plain"> |</span>
|
|
<span class="identifier">ballad</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">salad</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">invalid</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">ref</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">fing</span><span class="plain"> |</span>
|
|
<span class="identifier">stravaig</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">scoog</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">scoug</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">yak</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">king</span><span class="plain"> |</span>
|
|
<span class="identifier">yok</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">king</span><span class="plain"> |</span>
|
|
<span class="identifier">lek</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">king</span><span class="plain"> |</span>
|
|
<span class="identifier">trek</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">king</span><span class="plain"> |</span>
|
|
<span class="identifier">spaniel</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ling</span><span class="plain"> |</span>
|
|
<span class="identifier">vermeil</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ling</span><span class="plain"> |</span>
|
|
<span class="identifier">madam</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">buckram</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">hem</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ming</span><span class="plain"> |</span>
|
|
<span class="identifier">emblem</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">item</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">slalom</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">alarum</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">possum</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">chalan</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">challan</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">tyran</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ning</span><span class="plain"> |</span>
|
|
<span class="identifier">den</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ning</span><span class="plain"> |</span>
|
|
<span class="identifier">hen</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ning</span><span class="plain"> |</span>
|
|
<span class="identifier">ken</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ning</span><span class="plain"> |</span>
|
|
<span class="identifier">misken</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ning</span><span class="plain"> |</span>
|
|
<span class="identifier">pen</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ning</span><span class="plain"> |</span>
|
|
<span class="identifier">unpen</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ning</span><span class="plain"> |</span>
|
|
<span class="identifier">sten</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ning</span><span class="plain"> |</span>
|
|
<span class="identifier">in</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ning</span><span class="plain"> |</span>
|
|
<span class="identifier">gin</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ning</span><span class="plain"> |</span>
|
|
<span class="identifier">begin</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ning</span><span class="plain"> |</span>
|
|
<span class="identifier">bin</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ning</span><span class="plain"> |</span>
|
|
<span class="identifier">sin</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ning</span><span class="plain"> |</span>
|
|
<span class="identifier">damaskin</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">trampolin</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">chagrin</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">satin</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">on</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ning</span><span class="plain"> |</span>
|
|
<span class="identifier">con</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ning</span><span class="plain"> |</span>
|
|
<span class="identifier">don</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ning</span><span class="plain"> |</span>
|
|
<span class="identifier">kon</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ning</span><span class="plain"> |</span>
|
|
<span class="identifier">fillip</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">turnip</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">sip</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ping</span><span class="plain"> |</span>
|
|
<span class="identifier">cop</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ping</span><span class="plain"> |</span>
|
|
<span class="identifier">lop</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ping</span><span class="plain"> |</span>
|
|
<span class="identifier">clop</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ping</span><span class="plain"> |</span>
|
|
<span class="identifier">flop</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ping</span><span class="plain"> |</span>
|
|
<span class="identifier">plop</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ping</span><span class="plain"> |</span>
|
|
<span class="identifier">slop</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ping</span><span class="plain"> |</span>
|
|
<span class="identifier">galop</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ping</span><span class="plain"> |</span>
|
|
<span class="identifier">up</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ping</span><span class="plain"> |</span>
|
|
<span class="identifier">cup</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ping</span><span class="plain"> |</span>
|
|
<span class="identifier">gar</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ring</span><span class="plain"> |</span>
|
|
<span class="identifier">mortar</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">sker</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ring</span><span class="plain"> |</span>
|
|
<span class="identifier">deter</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ring</span><span class="plain"> |</span>
|
|
<span class="identifier">inter</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ring</span><span class="plain"> |</span>
|
|
<span class="identifier">disinter</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ring</span><span class="plain"> |</span>
|
|
<span class="identifier">reinter</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ring</span><span class="plain"> |</span>
|
|
<span class="identifier">aver</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ring</span><span class="plain"> |</span>
|
|
<span class="identifier">abhor</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ring</span><span class="plain"> |</span>
|
|
<span class="identifier">vor</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ring</span><span class="plain"> |</span>
|
|
<span class="identifier">demur</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ring</span><span class="plain"> |</span>
|
|
<span class="identifier">fur</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ring</span><span class="plain"> |</span>
|
|
<span class="identifier">smur</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ring</span><span class="plain"> |</span>
|
|
<span class="identifier">caucus</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">sus</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">sing</span><span class="plain"> |</span>
|
|
<span class="identifier">combat</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">ballat</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">curat</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">quadrat</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">bet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="identifier">abet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="identifier">fet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="identifier">fidget</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">target</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">crochet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">epithet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">ratchet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">let</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="identifier">blet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="identifier">leaflet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="identifier">relet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="identifier">sublet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="identifier">underlet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="identifier">net</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="identifier">benet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="identifier">overnet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="identifier">pet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="identifier">spet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="identifier">ret</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="identifier">aret</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="identifier">fret</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="identifier">regret</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="identifier">basset</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">closet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">corset</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">cosset</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">gusset</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">posset</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">roset</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">russet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">briquet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="identifier">coquet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="identifier">duet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="identifier">parquet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="identifier">covet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">unrivet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">velvet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">discomfit</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">profit</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">limit</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">delimit</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">vomit</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">rit</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="identifier">frit</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="identifier">grit</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="identifier">bit</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="identifier">dit</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="identifier">kit</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="identifier">sit</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="identifier">besit</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="identifier">outsit</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="identifier">resit</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="identifier">picot</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">ballot</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">pilot</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">parrot</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">debut</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">brut</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">div</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">ante</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> | </span><span class="comment"> miscellaneous -e exceptions</span>
|
|
<span class="identifier">be</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">binge</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">birdie</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">centre</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">chasse</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">cicerone</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">dele</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">ensilage</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">facsimile</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">glace</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">jeelie</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">longe</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">lunge</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">ouglie</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">peenge</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">pie</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">quaere</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">queue</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">recce</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">route</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">reroute</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">restringe</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">saute</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">eing</span><span class="plain"> |</span>
|
|
<span class="identifier">schappe</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">segue</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">singe</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">sortie</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">stymie</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">winge</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">swinge</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">tinge</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">unbe</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">vise</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">vogue</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">whinge</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">aleye</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ing</span><span class="plain"> | </span><span class="comment"> a few -ye exceptions</span>
|
|
<span class="identifier">baye</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">herye</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">nye</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">rallye</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">reaedifye</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">stye</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="identifier">undersaye</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ing</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP41"></a><b>§41. </b>Now some exceptional forms where consonant doubling doesn't occur:
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">irregular</span><span class="plain">-</span><span class="identifier">compound</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">-</span><span class="identifier">participle</span><span class="plain">> ::=</span>
|
|
<span class="plain">*<</span><span class="identifier">gosyz</span><span class="plain">></span><span class="identifier">ie</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> | </span><span class="comment"> e.g. boogieing</span>
|
|
<span class="plain">*</span><span class="identifier">ae</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> | </span><span class="comment"> e.g. spaeing</span>
|
|
<span class="plain">*</span><span class="identifier">quit</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> | </span><span class="comment"> acquitting, quitting, requitting</span>
|
|
<span class="plain">*</span><span class="identifier">uret</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> | </span><span class="comment"> carburetting, sulphuretting</span>
|
|
<span class="plain">*</span><span class="identifier">budget</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> | </span><span class="comment"> budgeting, underbudgeting</span>
|
|
<span class="plain">*</span><span class="identifier">efer</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ring</span><span class="plain"> | </span><span class="comment"> deferring, preferring, referring</span>
|
|
<span class="plain">*</span><span class="identifier">nfer</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ring</span><span class="plain"> | </span><span class="comment"> conferring, inferring</span>
|
|
<span class="plain">*</span><span class="identifier">sfer</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ring</span><span class="plain"> | </span><span class="comment"> retransferring, transferring</span>
|
|
<span class="plain">*</span><span class="identifier">bias</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">sing</span><span class="plain"> | </span><span class="comment"> biassing, unbiassing</span>
|
|
<span class="plain">*</span><span class="identifier">bishop</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> | </span><span class="comment"> bishoping, unbishoping</span>
|
|
<span class="plain">*</span><span class="identifier">woman</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> | </span><span class="comment"> womaning, unwomaning</span>
|
|
<span class="plain">*</span><span class="identifier">jambok</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">king</span><span class="plain"> | </span><span class="comment"> jambokking, sjambokking</span>
|
|
<span class="plain">*</span><span class="identifier">alog</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> | </span><span class="comment"> dialoging, cataloging</span>
|
|
<span class="plain">*</span><span class="identifier">daub</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> </span><span class="comment"> daubing, bedaubing</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP42"></a><b>§42. </b>And now rules for consonant doubling:
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">regular</span><span class="plain">-</span><span class="identifier">a</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">-</span><span class="identifier">participle</span><span class="plain">> ::=</span>
|
|
<span class="plain">*<</span><span class="identifier">aeiouy</span><span class="plain">></span><span class="identifier">b</span><span class="plain"> </span><span class="constant">0b</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">dglmpw</span><span class="plain">></span><span class="identifier">ad</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ding</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bhlnrtw</span><span class="plain">></span><span class="identifier">ed</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ding</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bklr</span><span class="plain">></span><span class="identifier">id</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ding</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">cdghlnprst</span><span class="plain">></span><span class="identifier">od</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ding</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bchmprtw</span><span class="plain">></span><span class="identifier">ud</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ding</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">uf</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">fing</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">aeiouy</span><span class="plain">></span><span class="identifier">g</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ging</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bcdhiklmnprstuv</span><span class="plain">></span><span class="identifier">al</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ling</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bcdfghkmnprstuvwz</span><span class="plain">></span><span class="identifier">el</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ling</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">cfmnrtv</span><span class="plain">></span><span class="identifier">il</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ling</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bcrtv</span><span class="plain">></span><span class="identifier">ol</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ling</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">cn</span><span class="plain">></span><span class="identifier">ul</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ling</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bcdghjlprw</span><span class="plain">></span><span class="identifier">am</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ming</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">glt</span><span class="plain">></span><span class="identifier">em</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ming</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">dhklnrw</span><span class="plain">></span><span class="identifier">im</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ming</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">lom</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ming</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bcghlmrstv</span><span class="plain">></span><span class="identifier">um</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ming</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bcflmptvw</span><span class="plain">></span><span class="identifier">an</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ning</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">ry</span><span class="plain">></span><span class="identifier">en</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ning</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">dhklprtw</span><span class="plain">></span><span class="identifier">in</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ning</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">fw</span><span class="plain">></span><span class="identifier">on</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ning</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">dfghprst</span><span class="plain">></span><span class="identifier">un</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ning</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">cdghjlmnprstwyz</span><span class="plain">></span><span class="identifier">ap</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ping</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">klprt</span><span class="plain">></span><span class="identifier">ep</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ping</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">dhklnprtuyz</span><span class="plain">></span><span class="identifier">ip</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ping</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bdhmprstuw</span><span class="plain">></span><span class="identifier">op</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ping</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">dhpst</span><span class="plain">></span><span class="identifier">up</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ping</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">yp</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ping</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bcfhjmnptw</span><span class="plain">></span><span class="identifier">ar</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ring</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">fhmst</span><span class="plain">></span><span class="identifier">ir</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ring</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">dor</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ring</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bclp</span><span class="plain">></span><span class="identifier">ur</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ring</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bgmpv</span><span class="plain">></span><span class="identifier">as</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">sing</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">mnrsu</span><span class="plain">></span><span class="identifier">es</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">sing</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">hmpw</span><span class="plain">></span><span class="identifier">is</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">sing</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bcds</span><span class="plain">></span><span class="identifier">os</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">sing</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bclm</span><span class="plain">></span><span class="identifier">us</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">sing</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bcfhlmprtuvw</span><span class="plain">></span><span class="identifier">at</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">ghjstvw</span><span class="plain">></span><span class="identifier">et</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">fhlmnptw</span><span class="plain">></span><span class="identifier">it</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bcdhjlnprstw</span><span class="plain">></span><span class="identifier">ot</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bcghjlmnprt</span><span class="plain">></span><span class="identifier">ut</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ting</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">ei</span><span class="plain">></span><span class="identifier">v</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ving</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">iz</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">zing</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP43"></a><b>§43. </b>Finally:
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">regular</span><span class="plain">-</span><span class="identifier">b</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">-</span><span class="identifier">participle</span><span class="plain">> ::=</span>
|
|
<span class="plain">*<</span><span class="identifier">aeiou</span><span class="plain">></span><span class="identifier">c</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">king</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">eoy</span><span class="plain">></span><span class="identifier">e</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">ie</span><span class="plain"> </span><span class="constant">2</span><span class="identifier">ying</span>
|
|
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">regular</span><span class="plain">-</span><span class="identifier">c</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">-</span><span class="identifier">participle</span><span class="plain">> ::=</span>
|
|
<span class="plain">*</span><span class="identifier">e</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ing</span><span class="plain"> |</span>
|
|
<span class="plain">* </span><span class="constant">0</span><span class="identifier">ing</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP44"></a><b>§44. </b>Next the past participle. As noted above, for most verbs this is the same
|
|
as the past (e.g., he agreed and it was agreed); but there's a list of
|
|
exceptions for Anglo-Saxon survivals (e.g., he chose and it was chosen).
|
|
The exceptional cases were derived from Wikipedia's catalogue of irregular
|
|
English verbs as it stood in May 2011, with a few archaisms and obscenities
|
|
removed.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">past</span><span class="plain">-</span><span class="identifier">participle</span><span class="plain">> ::=</span>
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">irregular</span><span class="plain">-</span><span class="identifier">past</span><span class="plain">-</span><span class="identifier">participle</span><span class="plain">> |</span>
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">past</span><span class="plain">></span>
|
|
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">irregular</span><span class="plain">-</span><span class="identifier">past</span><span class="plain">-</span><span class="identifier">participle</span><span class="plain">> ::=</span>
|
|
<span class="identifier">be</span><span class="plain"> </span><span class="identifier">been</span><span class="plain"> |</span>
|
|
<span class="identifier">have</span><span class="plain"> </span><span class="identifier">had</span><span class="plain"> |</span>
|
|
<span class="reserved">do</span><span class="plain"> </span><span class="identifier">did</span><span class="plain"> |</span>
|
|
<span class="identifier">arise</span><span class="plain"> </span><span class="identifier">arisen</span><span class="plain"> |</span>
|
|
<span class="identifier">awake</span><span class="plain"> </span><span class="identifier">awoken</span><span class="plain"> |</span>
|
|
<span class="identifier">bear</span><span class="plain"> </span><span class="identifier">borne</span><span class="plain"> |</span>
|
|
<span class="identifier">beat</span><span class="plain"> </span><span class="identifier">beaten</span><span class="plain"> |</span>
|
|
<span class="identifier">become</span><span class="plain"> </span><span class="identifier">become</span><span class="plain"> |</span>
|
|
<span class="identifier">befall</span><span class="plain"> </span><span class="identifier">befallen</span><span class="plain"> |</span>
|
|
<span class="identifier">beget</span><span class="plain"> </span><span class="identifier">begotten</span><span class="plain"> |</span>
|
|
<span class="identifier">begin</span><span class="plain"> </span><span class="identifier">begun</span><span class="plain"> |</span>
|
|
<span class="identifier">bespeak</span><span class="plain"> </span><span class="identifier">bespoken</span><span class="plain"> |</span>
|
|
<span class="identifier">bite</span><span class="plain"> </span><span class="identifier">bitten</span><span class="plain"> |</span>
|
|
<span class="identifier">blow</span><span class="plain"> </span><span class="identifier">blown</span><span class="plain"> |</span>
|
|
<span class="reserved">break</span><span class="plain"> </span><span class="identifier">broken</span><span class="plain"> |</span>
|
|
<span class="identifier">browbeat</span><span class="plain"> </span><span class="identifier">browbeaten</span><span class="plain"> |</span>
|
|
<span class="identifier">choose</span><span class="plain"> </span><span class="identifier">chosen</span><span class="plain"> |</span>
|
|
<span class="identifier">cleave</span><span class="plain"> </span><span class="identifier">cloven</span><span class="plain"> |</span>
|
|
<span class="identifier">come</span><span class="plain"> </span><span class="identifier">come</span><span class="plain"> |</span>
|
|
<span class="identifier">dive</span><span class="plain"> </span><span class="identifier">dived</span><span class="plain"> |</span>
|
|
<span class="identifier">draw</span><span class="plain"> </span><span class="identifier">drawn</span><span class="plain"> |</span>
|
|
<span class="identifier">drink</span><span class="plain"> </span><span class="identifier">drunk</span><span class="plain"> |</span>
|
|
<span class="identifier">drive</span><span class="plain"> </span><span class="identifier">driven</span><span class="plain"> |</span>
|
|
<span class="identifier">eat</span><span class="plain"> </span><span class="identifier">eaten</span><span class="plain"> |</span>
|
|
<span class="identifier">fall</span><span class="plain"> </span><span class="identifier">fallen</span><span class="plain"> |</span>
|
|
<span class="identifier">fly</span><span class="plain"> </span><span class="identifier">flown</span><span class="plain"> |</span>
|
|
<span class="identifier">forbear</span><span class="plain"> </span><span class="identifier">forborne</span><span class="plain"> |</span>
|
|
<span class="identifier">forbid</span><span class="plain"> </span><span class="identifier">forbidden</span><span class="plain"> |</span>
|
|
<span class="identifier">forego</span><span class="plain"> </span><span class="identifier">foregone</span><span class="plain"> |</span>
|
|
<span class="identifier">foreknow</span><span class="plain"> </span><span class="identifier">foreknown</span><span class="plain"> |</span>
|
|
<span class="identifier">forelie</span><span class="plain"> </span><span class="identifier">forlain</span><span class="plain"> |</span>
|
|
<span class="identifier">forerun</span><span class="plain"> </span><span class="identifier">forerun</span><span class="plain"> |</span>
|
|
<span class="identifier">foresee</span><span class="plain"> </span><span class="identifier">foreseen</span><span class="plain"> |</span>
|
|
<span class="identifier">forget</span><span class="plain"> </span><span class="identifier">forgotten</span><span class="plain"> |</span>
|
|
<span class="identifier">forgive</span><span class="plain"> </span><span class="identifier">forgiven</span><span class="plain"> |</span>
|
|
<span class="identifier">forgo</span><span class="plain"> </span><span class="identifier">forgone</span><span class="plain"> |</span>
|
|
<span class="identifier">forsake</span><span class="plain"> </span><span class="identifier">forsaken</span><span class="plain"> |</span>
|
|
<span class="identifier">forswear</span><span class="plain"> </span><span class="identifier">forsworn</span><span class="plain"> |</span>
|
|
<span class="identifier">freeze</span><span class="plain"> </span><span class="identifier">frozen</span><span class="plain"> |</span>
|
|
<span class="identifier">ghostwrite</span><span class="plain"> </span><span class="identifier">ghostwritten</span><span class="plain"> |</span>
|
|
<span class="identifier">give</span><span class="plain"> </span><span class="identifier">given</span><span class="plain"> |</span>
|
|
<span class="identifier">go</span><span class="plain"> </span><span class="identifier">gone</span><span class="plain"> |</span>
|
|
<span class="identifier">grow</span><span class="plain"> </span><span class="identifier">grown</span><span class="plain"> |</span>
|
|
<span class="identifier">hew</span><span class="plain"> </span><span class="identifier">hewn</span><span class="plain"> |</span>
|
|
<span class="identifier">hide</span><span class="plain"> </span><span class="identifier">hidden</span><span class="plain"> |</span>
|
|
<span class="identifier">interweave</span><span class="plain"> </span><span class="identifier">interwoven</span><span class="plain"> |</span>
|
|
<span class="identifier">know</span><span class="plain"> </span><span class="identifier">known</span><span class="plain"> |</span>
|
|
<span class="identifier">lade</span><span class="plain"> </span><span class="identifier">laden</span><span class="plain"> |</span>
|
|
<span class="identifier">misbecome</span><span class="plain"> </span><span class="identifier">misbecome</span><span class="plain"> |</span>
|
|
<span class="identifier">misbeget</span><span class="plain"> </span><span class="identifier">misbegotten</span><span class="plain"> |</span>
|
|
<span class="identifier">mischoose</span><span class="plain"> </span><span class="identifier">mischosen</span><span class="plain"> |</span>
|
|
<span class="identifier">misdo</span><span class="plain"> </span><span class="identifier">misdone</span><span class="plain"> |</span>
|
|
<span class="identifier">misget</span><span class="plain"> </span><span class="identifier">misgotten</span><span class="plain"> |</span>
|
|
<span class="identifier">misgive</span><span class="plain"> </span><span class="identifier">misgiven</span><span class="plain"> |</span>
|
|
<span class="identifier">misknow</span><span class="plain"> </span><span class="identifier">misknown</span><span class="plain"> |</span>
|
|
<span class="identifier">misshape</span><span class="plain"> </span><span class="identifier">misshapen</span><span class="plain"> |</span>
|
|
<span class="identifier">misspeak</span><span class="plain"> </span><span class="identifier">misspoken</span><span class="plain"> |</span>
|
|
<span class="identifier">mistake</span><span class="plain"> </span><span class="identifier">mistaken</span><span class="plain"> |</span>
|
|
<span class="identifier">miswrite</span><span class="plain"> </span><span class="identifier">miswritten</span><span class="plain"> |</span>
|
|
<span class="identifier">mow</span><span class="plain"> </span><span class="identifier">mown</span><span class="plain"> |</span>
|
|
<span class="identifier">outdo</span><span class="plain"> </span><span class="identifier">outdone</span><span class="plain"> |</span>
|
|
<span class="identifier">outgrow</span><span class="plain"> </span><span class="identifier">outgrown</span><span class="plain"> |</span>
|
|
<span class="identifier">outgrow</span><span class="plain"> </span><span class="identifier">outgrown</span><span class="plain"> |</span>
|
|
<span class="identifier">outrun</span><span class="plain"> </span><span class="identifier">outrun</span><span class="plain"> |</span>
|
|
<span class="identifier">outshine</span><span class="plain"> </span><span class="identifier">outshone</span><span class="plain"> |</span>
|
|
<span class="identifier">outswear</span><span class="plain"> </span><span class="identifier">outsworn</span><span class="plain"> |</span>
|
|
<span class="identifier">outthrow</span><span class="plain"> </span><span class="identifier">outthrown</span><span class="plain"> |</span>
|
|
<span class="identifier">overbear</span><span class="plain"> </span><span class="identifier">overborne</span><span class="plain"> |</span>
|
|
<span class="identifier">overblow</span><span class="plain"> </span><span class="identifier">overblown</span><span class="plain"> |</span>
|
|
<span class="identifier">overclothe</span><span class="plain"> </span><span class="identifier">overclad</span><span class="plain"> |</span>
|
|
<span class="identifier">overcome</span><span class="plain"> </span><span class="identifier">overcome</span><span class="plain"> |</span>
|
|
<span class="identifier">overdo</span><span class="plain"> </span><span class="identifier">overdone</span><span class="plain"> |</span>
|
|
<span class="identifier">overdraw</span><span class="plain"> </span><span class="identifier">overdrawn</span><span class="plain"> |</span>
|
|
<span class="identifier">overdrink</span><span class="plain"> </span><span class="identifier">overdrunk</span><span class="plain"> |</span>
|
|
<span class="identifier">overdrive</span><span class="plain"> </span><span class="identifier">overdriven</span><span class="plain"> |</span>
|
|
<span class="identifier">overeat</span><span class="plain"> </span><span class="identifier">overeaten</span><span class="plain"> |</span>
|
|
<span class="identifier">overfly</span><span class="plain"> </span><span class="identifier">overflown</span><span class="plain"> |</span>
|
|
<span class="identifier">overgrow</span><span class="plain"> </span><span class="identifier">overgrown</span><span class="plain"> |</span>
|
|
<span class="identifier">overlie</span><span class="plain"> </span><span class="identifier">overlain</span><span class="plain"> |</span>
|
|
<span class="identifier">override</span><span class="plain"> </span><span class="identifier">overridden</span><span class="plain"> |</span>
|
|
<span class="identifier">overrun</span><span class="plain"> </span><span class="identifier">overrun</span><span class="plain"> |</span>
|
|
<span class="identifier">oversee</span><span class="plain"> </span><span class="identifier">overseen</span><span class="plain"> |</span>
|
|
<span class="identifier">oversew</span><span class="plain"> </span><span class="identifier">oversewn</span><span class="plain"> |</span>
|
|
<span class="identifier">overshake</span><span class="plain"> </span><span class="identifier">overshaken</span><span class="plain"> |</span>
|
|
<span class="identifier">overstride</span><span class="plain"> </span><span class="identifier">overstridden</span><span class="plain"> |</span>
|
|
<span class="identifier">overtake</span><span class="plain"> </span><span class="identifier">overtaken</span><span class="plain"> |</span>
|
|
<span class="identifier">overwear</span><span class="plain"> </span><span class="identifier">overworn</span><span class="plain"> |</span>
|
|
<span class="identifier">overwrite</span><span class="plain"> </span><span class="identifier">overwritten</span><span class="plain"> |</span>
|
|
<span class="identifier">partake</span><span class="plain"> </span><span class="identifier">partaken</span><span class="plain"> |</span>
|
|
<span class="identifier">plead</span><span class="plain"> </span><span class="identifier">pled</span><span class="plain"> |</span>
|
|
<span class="identifier">redo</span><span class="plain"> </span><span class="identifier">redone</span><span class="plain"> |</span>
|
|
<span class="identifier">redraw</span><span class="plain"> </span><span class="identifier">redrawn</span><span class="plain"> |</span>
|
|
<span class="identifier">regrow</span><span class="plain"> </span><span class="identifier">regrown</span><span class="plain"> |</span>
|
|
<span class="identifier">rerun</span><span class="plain"> </span><span class="identifier">rerun</span><span class="plain"> |</span>
|
|
<span class="identifier">resing</span><span class="plain"> </span><span class="identifier">resung</span><span class="plain"> |</span>
|
|
<span class="identifier">retake</span><span class="plain"> </span><span class="identifier">retaken</span><span class="plain"> |</span>
|
|
<span class="identifier">retread</span><span class="plain"> </span><span class="identifier">retrodden</span><span class="plain"> |</span>
|
|
<span class="identifier">rewrite</span><span class="plain"> </span><span class="identifier">rewritten</span><span class="plain"> |</span>
|
|
<span class="identifier">ride</span><span class="plain"> </span><span class="identifier">ridden</span><span class="plain"> |</span>
|
|
<span class="identifier">ring</span><span class="plain"> </span><span class="identifier">rung</span><span class="plain"> |</span>
|
|
<span class="identifier">rise</span><span class="plain"> </span><span class="identifier">risen</span><span class="plain"> |</span>
|
|
<span class="identifier">rive</span><span class="plain"> </span><span class="identifier">riven</span><span class="plain"> |</span>
|
|
<span class="identifier">run</span><span class="plain"> </span><span class="identifier">run</span><span class="plain"> |</span>
|
|
<span class="identifier">saw</span><span class="plain"> </span><span class="identifier">sawn</span><span class="plain"> |</span>
|
|
<span class="identifier">see</span><span class="plain"> </span><span class="identifier">seen</span><span class="plain"> |</span>
|
|
<span class="identifier">sew</span><span class="plain"> </span><span class="identifier">sewn</span><span class="plain"> |</span>
|
|
<span class="identifier">shake</span><span class="plain"> </span><span class="identifier">shaken</span><span class="plain"> |</span>
|
|
<span class="identifier">shave</span><span class="plain"> </span><span class="identifier">shaven</span><span class="plain"> |</span>
|
|
<span class="identifier">shear</span><span class="plain"> </span><span class="identifier">shorn</span><span class="plain"> |</span>
|
|
<span class="identifier">shine</span><span class="plain"> </span><span class="identifier">shone</span><span class="plain"> |</span>
|
|
<span class="identifier">shoe</span><span class="plain"> </span><span class="identifier">shodden</span><span class="plain"> |</span>
|
|
<span class="identifier">show</span><span class="plain"> </span><span class="identifier">shown</span><span class="plain"> |</span>
|
|
<span class="identifier">shrink</span><span class="plain"> </span><span class="identifier">shrunk</span><span class="plain"> |</span>
|
|
<span class="identifier">shrive</span><span class="plain"> </span><span class="identifier">shriven</span><span class="plain"> |</span>
|
|
<span class="identifier">sing</span><span class="plain"> </span><span class="identifier">sung</span><span class="plain"> |</span>
|
|
<span class="identifier">sink</span><span class="plain"> </span><span class="identifier">sunk</span><span class="plain"> |</span>
|
|
<span class="identifier">slay</span><span class="plain"> </span><span class="identifier">slain</span><span class="plain"> |</span>
|
|
<span class="identifier">smite</span><span class="plain"> </span><span class="identifier">smitten</span><span class="plain"> |</span>
|
|
<span class="identifier">sow</span><span class="plain"> </span><span class="identifier">sown</span><span class="plain"> |</span>
|
|
<span class="identifier">speak</span><span class="plain"> </span><span class="identifier">spoken</span><span class="plain"> |</span>
|
|
<span class="identifier">spin</span><span class="plain"> </span><span class="identifier">spun</span><span class="plain"> |</span>
|
|
<span class="identifier">spit</span><span class="plain"> </span><span class="identifier">spit</span><span class="plain"> |</span>
|
|
<span class="identifier">spring</span><span class="plain"> </span><span class="identifier">sprung</span><span class="plain"> |</span>
|
|
<span class="identifier">steal</span><span class="plain"> </span><span class="identifier">stolen</span><span class="plain"> |</span>
|
|
<span class="identifier">stink</span><span class="plain"> </span><span class="identifier">stunk</span><span class="plain"> |</span>
|
|
<span class="identifier">stride</span><span class="plain"> </span><span class="identifier">stridden</span><span class="plain"> |</span>
|
|
<span class="identifier">bestride</span><span class="plain"> </span><span class="identifier">bestridden</span><span class="plain"> |</span>
|
|
<span class="identifier">strike</span><span class="plain"> </span><span class="identifier">stricken</span><span class="plain"> |</span>
|
|
<span class="identifier">strive</span><span class="plain"> </span><span class="identifier">striven</span><span class="plain"> |</span>
|
|
<span class="identifier">swear</span><span class="plain"> </span><span class="identifier">sworn</span><span class="plain"> |</span>
|
|
<span class="identifier">swell</span><span class="plain"> </span><span class="identifier">swollen</span><span class="plain"> |</span>
|
|
<span class="identifier">take</span><span class="plain"> </span><span class="identifier">taken</span><span class="plain"> |</span>
|
|
<span class="identifier">tear</span><span class="plain"> </span><span class="identifier">torn</span><span class="plain"> |</span>
|
|
<span class="identifier">thrive</span><span class="plain"> </span><span class="identifier">thriven</span><span class="plain"> |</span>
|
|
<span class="identifier">throw</span><span class="plain"> </span><span class="identifier">thrown</span><span class="plain"> |</span>
|
|
<span class="identifier">tread</span><span class="plain"> </span><span class="identifier">trodden</span><span class="plain"> |</span>
|
|
<span class="identifier">underbear</span><span class="plain"> </span><span class="identifier">underborne</span><span class="plain"> |</span>
|
|
<span class="identifier">underdo</span><span class="plain"> </span><span class="identifier">underdone</span><span class="plain"> |</span>
|
|
<span class="identifier">underdraw</span><span class="plain"> </span><span class="identifier">underdrawn</span><span class="plain"> |</span>
|
|
<span class="identifier">undergo</span><span class="plain"> </span><span class="identifier">undergone</span><span class="plain"> |</span>
|
|
<span class="identifier">undergrow</span><span class="plain"> </span><span class="identifier">undergrown</span><span class="plain"> |</span>
|
|
<span class="identifier">underrun</span><span class="plain"> </span><span class="identifier">underrun</span><span class="plain"> |</span>
|
|
<span class="identifier">undertake</span><span class="plain"> </span><span class="identifier">undertaken</span><span class="plain"> |</span>
|
|
<span class="identifier">underwrite</span><span class="plain"> </span><span class="identifier">underwritten</span><span class="plain"> |</span>
|
|
<span class="identifier">undo</span><span class="plain"> </span><span class="identifier">undone</span><span class="plain"> |</span>
|
|
<span class="identifier">wake</span><span class="plain"> </span><span class="identifier">woken</span><span class="plain"> |</span>
|
|
<span class="identifier">wear</span><span class="plain"> </span><span class="identifier">worn</span><span class="plain"> |</span>
|
|
<span class="identifier">weave</span><span class="plain"> </span><span class="identifier">woven</span><span class="plain"> |</span>
|
|
<span class="identifier">withdraw</span><span class="plain"> </span><span class="identifier">withdrawn</span><span class="plain"> |</span>
|
|
<span class="identifier">wring</span><span class="plain"> </span><span class="identifier">wrung</span><span class="plain"> |</span>
|
|
<span class="identifier">write</span><span class="plain"> </span><span class="identifier">written</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP45"></a><b>§45. </b>That's the mandatory participles sorted out; so now we move on to the two
|
|
additional verb forms used by English. First, the present form: a curiosity
|
|
of English is that this is almost always formed as if it were the plural of the
|
|
infinitive — thus "touch" becomes "touches". There are just a handful
|
|
of exceptions to this.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">-</span><span class="identifier">verb</span><span class="plain">-</span><span class="identifier">form</span><span class="plain">> ::=</span>
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">irregular</span><span class="plain">-</span><span class="identifier">third</span><span class="plain">-</span><span class="identifier">person</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">> |</span>
|
|
<span class="plain">... <</span><span class="identifier">singular</span><span class="plain">-</span><span class="identifier">noun</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">its</span><span class="plain">-</span><span class="identifier">plural</span><span class="plain">></span>
|
|
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">irregular</span><span class="plain">-</span><span class="identifier">third</span><span class="plain">-</span><span class="identifier">person</span><span class="plain">-</span><span class="identifier">present</span><span class="plain">> ::=</span>
|
|
<span class="identifier">be</span><span class="plain"> </span><span class="identifier">is</span><span class="plain"> |</span>
|
|
<span class="identifier">have</span><span class="plain"> </span><span class="identifier">has</span><span class="plain"> |</span>
|
|
<span class="reserved">do</span><span class="plain"> </span><span class="identifier">does</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP46"></a><b>§46. </b>Second, the past. This is harder. Once again we have a catalogue of
|
|
Anglo-Saxon past forms (e.g., he chose, not he chooses); and after those
|
|
are out of the way, the rules are the same as for the present participle,
|
|
except for adding -ed instead of -ing. The tricky part, again, is spotting
|
|
when to double the consonant, which again depends on stress.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">past</span><span class="plain">> ::=</span>
|
|
<span class="plain">... <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">irregular</span><span class="plain">-</span><span class="identifier">past</span><span class="plain">> |</span>
|
|
<span class="plain">... <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">irregular</span><span class="plain">-</span><span class="identifier">compound</span><span class="plain">-</span><span class="identifier">past</span><span class="plain">> |</span>
|
|
<span class="plain">... <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">regular</span><span class="plain">-</span><span class="identifier">a</span><span class="plain">-</span><span class="identifier">past</span><span class="plain">> |</span>
|
|
<span class="plain">... <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">regular</span><span class="plain">-</span><span class="identifier">b</span><span class="plain">-</span><span class="identifier">past</span><span class="plain">> |</span>
|
|
<span class="plain">... <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">regular</span><span class="plain">-</span><span class="identifier">c</span><span class="plain">-</span><span class="identifier">past</span><span class="plain">></span>
|
|
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">irregular</span><span class="plain">-</span><span class="identifier">past</span><span class="plain">> ::=</span>
|
|
<span class="identifier">be</span><span class="plain"> </span><span class="identifier">was</span><span class="plain"> |</span>
|
|
<span class="reserved">do</span><span class="plain"> </span><span class="identifier">did</span><span class="plain"> |</span>
|
|
<span class="identifier">go</span><span class="plain"> </span><span class="identifier">went</span><span class="plain"> |</span>
|
|
<span class="identifier">in</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ned</span><span class="plain"> |</span>
|
|
<span class="identifier">on</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ned</span><span class="plain"> |</span>
|
|
<span class="identifier">up</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ped</span><span class="plain"> |</span>
|
|
<span class="identifier">bet</span><span class="plain"> </span><span class="identifier">bet</span><span class="plain"> |</span>
|
|
<span class="identifier">abet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> |</span>
|
|
<span class="identifier">bid</span><span class="plain"> </span><span class="identifier">bid</span><span class="plain"> |</span>
|
|
<span class="identifier">bin</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ned</span><span class="plain"> |</span>
|
|
<span class="identifier">bit</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> |</span>
|
|
<span class="identifier">buy</span><span class="plain"> </span><span class="identifier">bought</span><span class="plain"> |</span>
|
|
<span class="identifier">con</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ned</span><span class="plain"> |</span>
|
|
<span class="identifier">cop</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ped</span><span class="plain"> |</span>
|
|
<span class="identifier">cup</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ped</span><span class="plain"> |</span>
|
|
<span class="identifier">cut</span><span class="plain"> </span><span class="identifier">cut</span><span class="plain"> |</span>
|
|
<span class="identifier">den</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ned</span><span class="plain"> |</span>
|
|
<span class="identifier">dig</span><span class="plain"> </span><span class="identifier">dug</span><span class="plain"> |</span>
|
|
<span class="identifier">dit</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> |</span>
|
|
<span class="identifier">div</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">don</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ned</span><span class="plain"> |</span>
|
|
<span class="identifier">eat</span><span class="plain"> </span><span class="identifier">ate</span><span class="plain"> |</span>
|
|
<span class="identifier">fet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> |</span>
|
|
<span class="identifier">fit</span><span class="plain"> </span><span class="identifier">fitted</span><span class="plain"> |</span>
|
|
<span class="identifier">fly</span><span class="plain"> </span><span class="identifier">flew</span><span class="plain"> |</span>
|
|
<span class="identifier">fur</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">red</span><span class="plain"> |</span>
|
|
<span class="identifier">gar</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">red</span><span class="plain"> |</span>
|
|
<span class="identifier">get</span><span class="plain"> </span><span class="identifier">got</span><span class="plain"> |</span>
|
|
<span class="identifier">gin</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ned</span><span class="plain"> |</span>
|
|
<span class="identifier">had</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ded</span><span class="plain"> |</span>
|
|
<span class="identifier">hem</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">med</span><span class="plain"> |</span>
|
|
<span class="identifier">hen</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ned</span><span class="plain"> |</span>
|
|
<span class="identifier">hit</span><span class="plain"> </span><span class="identifier">hit</span><span class="plain"> |</span>
|
|
<span class="identifier">ken</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ned</span><span class="plain"> |</span>
|
|
<span class="identifier">kit</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> |</span>
|
|
<span class="identifier">kon</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ned</span><span class="plain"> |</span>
|
|
<span class="identifier">lay</span><span class="plain"> </span><span class="identifier">laid</span><span class="plain"> |</span>
|
|
<span class="identifier">lek</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ked</span><span class="plain"> |</span>
|
|
<span class="identifier">let</span><span class="plain"> </span><span class="identifier">let</span><span class="plain"> |</span>
|
|
<span class="identifier">let</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> |</span>
|
|
<span class="identifier">lop</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ped</span><span class="plain"> |</span>
|
|
<span class="identifier">net</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> |</span>
|
|
<span class="identifier">ante</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">nye</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">pay</span><span class="plain"> </span><span class="identifier">paid</span><span class="plain"> |</span>
|
|
<span class="identifier">pen</span><span class="plain"> </span><span class="identifier">penned</span><span class="plain"> |</span>
|
|
<span class="identifier">pet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> |</span>
|
|
<span class="identifier">pie</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">put</span><span class="plain"> </span><span class="identifier">put</span><span class="plain"> |</span>
|
|
<span class="identifier">ref</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">fed</span><span class="plain"> |</span>
|
|
<span class="identifier">ret</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> |</span>
|
|
<span class="identifier">aret</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> |</span>
|
|
<span class="identifier">rid</span><span class="plain"> </span><span class="identifier">rid</span><span class="plain"> |</span>
|
|
<span class="identifier">rit</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> |</span>
|
|
<span class="identifier">run</span><span class="plain"> </span><span class="identifier">ran</span><span class="plain"> |</span>
|
|
<span class="identifier">say</span><span class="plain"> </span><span class="identifier">said</span><span class="plain"> |</span>
|
|
<span class="identifier">see</span><span class="plain"> </span><span class="identifier">saw</span><span class="plain"> |</span>
|
|
<span class="identifier">set</span><span class="plain"> </span><span class="identifier">set</span><span class="plain"> |</span>
|
|
<span class="identifier">sin</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ned</span><span class="plain"> |</span>
|
|
<span class="identifier">sip</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ped</span><span class="plain"> |</span>
|
|
<span class="identifier">sit</span><span class="plain"> </span><span class="identifier">sat</span><span class="plain"> |</span>
|
|
<span class="identifier">sus</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">sed</span><span class="plain"> |</span>
|
|
<span class="identifier">aver</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">red</span><span class="plain"> |</span>
|
|
<span class="identifier">vor</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">red</span><span class="plain"> |</span>
|
|
<span class="identifier">wed</span><span class="plain"> </span><span class="identifier">wedded</span><span class="plain"> |</span>
|
|
<span class="identifier">wet</span><span class="plain"> </span><span class="identifier">wetted</span><span class="plain"> |</span>
|
|
<span class="identifier">win</span><span class="plain"> </span><span class="identifier">won</span><span class="plain"> |</span>
|
|
<span class="identifier">yak</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ked</span><span class="plain"> |</span>
|
|
<span class="identifier">yok</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ked</span><span class="plain"> |</span>
|
|
<span class="identifier">baye</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">bear</span><span class="plain"> </span><span class="identifier">bore</span><span class="plain"> |</span>
|
|
<span class="identifier">beat</span><span class="plain"> </span><span class="identifier">beat</span><span class="plain"> |</span>
|
|
<span class="identifier">bend</span><span class="plain"> </span><span class="identifier">bent</span><span class="plain"> |</span>
|
|
<span class="identifier">abhor</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">red</span><span class="plain"> |</span>
|
|
<span class="identifier">abide</span><span class="plain"> </span><span class="identifier">abided</span><span class="plain"> |</span>
|
|
<span class="identifier">bide</span><span class="plain"> </span><span class="identifier">bided</span><span class="plain"> |</span>
|
|
<span class="identifier">bind</span><span class="plain"> </span><span class="identifier">bound</span><span class="plain"> |</span>
|
|
<span class="identifier">bite</span><span class="plain"> </span><span class="identifier">bit</span><span class="plain"> |</span>
|
|
<span class="identifier">blet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> |</span>
|
|
<span class="identifier">blow</span><span class="plain"> </span><span class="identifier">blew</span><span class="plain"> |</span>
|
|
<span class="identifier">boob</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">brut</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">burn</span><span class="plain"> </span><span class="identifier">burnt</span><span class="plain"> |</span>
|
|
<span class="identifier">cast</span><span class="plain"> </span><span class="identifier">cast</span><span class="plain"> |</span>
|
|
<span class="identifier">clop</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ped</span><span class="plain"> |</span>
|
|
<span class="identifier">come</span><span class="plain"> </span><span class="identifier">came</span><span class="plain"> |</span>
|
|
<span class="identifier">deal</span><span class="plain"> </span><span class="identifier">dealt</span><span class="plain"> |</span>
|
|
<span class="identifier">dele</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">dive</span><span class="plain"> </span><span class="identifier">dove</span><span class="plain"> |</span>
|
|
<span class="identifier">drag</span><span class="plain"> </span><span class="identifier">dragged</span><span class="plain"> |</span>
|
|
<span class="identifier">draw</span><span class="plain"> </span><span class="identifier">drew</span><span class="plain"> |</span>
|
|
<span class="identifier">duet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> |</span>
|
|
<span class="identifier">fall</span><span class="plain"> </span><span class="identifier">fell</span><span class="plain"> |</span>
|
|
<span class="identifier">feed</span><span class="plain"> </span><span class="identifier">fed</span><span class="plain"> |</span>
|
|
<span class="identifier">feel</span><span class="plain"> </span><span class="identifier">felt</span><span class="plain"> |</span>
|
|
<span class="identifier">find</span><span class="plain"> </span><span class="identifier">found</span><span class="plain"> |</span>
|
|
<span class="identifier">flee</span><span class="plain"> </span><span class="identifier">fled</span><span class="plain"> |</span>
|
|
<span class="identifier">flop</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ped</span><span class="plain"> |</span>
|
|
<span class="identifier">fret</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> |</span>
|
|
<span class="identifier">frit</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> |</span>
|
|
<span class="identifier">give</span><span class="plain"> </span><span class="identifier">gave</span><span class="plain"> |</span>
|
|
<span class="identifier">grit</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> |</span>
|
|
<span class="identifier">grow</span><span class="plain"> </span><span class="identifier">grew</span><span class="plain"> |</span>
|
|
<span class="identifier">hang</span><span class="plain"> </span><span class="identifier">hung</span><span class="plain"> |</span>
|
|
<span class="identifier">have</span><span class="plain"> </span><span class="identifier">had</span><span class="plain"> |</span>
|
|
<span class="identifier">hear</span><span class="plain"> </span><span class="identifier">heard</span><span class="plain"> |</span>
|
|
<span class="identifier">hide</span><span class="plain"> </span><span class="identifier">hid</span><span class="plain"> |</span>
|
|
<span class="identifier">hold</span><span class="plain"> </span><span class="identifier">held</span><span class="plain"> |</span>
|
|
<span class="identifier">hurt</span><span class="plain"> </span><span class="identifier">hurt</span><span class="plain"> |</span>
|
|
<span class="identifier">item</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">keep</span><span class="plain"> </span><span class="identifier">kept</span><span class="plain"> |</span>
|
|
<span class="identifier">knit</span><span class="plain"> </span><span class="identifier">knit</span><span class="plain"> |</span>
|
|
<span class="identifier">know</span><span class="plain"> </span><span class="identifier">knew</span><span class="plain"> |</span>
|
|
<span class="identifier">lade</span><span class="plain"> </span><span class="identifier">laded</span><span class="plain"> |</span>
|
|
<span class="identifier">lead</span><span class="plain"> </span><span class="identifier">led</span><span class="plain"> |</span>
|
|
<span class="identifier">lend</span><span class="plain"> </span><span class="identifier">lent</span><span class="plain"> |</span>
|
|
<span class="identifier">aleye</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">lose</span><span class="plain"> </span><span class="identifier">lost</span><span class="plain"> |</span>
|
|
<span class="identifier">make</span><span class="plain"> </span><span class="identifier">made</span><span class="plain"> |</span>
|
|
<span class="identifier">mean</span><span class="plain"> </span><span class="identifier">meant</span><span class="plain"> |</span>
|
|
<span class="identifier">meet</span><span class="plain"> </span><span class="identifier">met</span><span class="plain"> |</span>
|
|
<span class="identifier">plop</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ped</span><span class="plain"> |</span>
|
|
<span class="identifier">quad</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ded</span><span class="plain"> |</span>
|
|
<span class="identifier">quit</span><span class="plain"> </span><span class="identifier">quit</span><span class="plain"> |</span>
|
|
<span class="identifier">quod</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ded</span><span class="plain"> |</span>
|
|
<span class="identifier">read</span><span class="plain"> </span><span class="identifier">read</span><span class="plain"> |</span>
|
|
<span class="identifier">redo</span><span class="plain"> </span><span class="identifier">redid</span><span class="plain"> |</span>
|
|
<span class="identifier">rend</span><span class="plain"> </span><span class="identifier">rent</span><span class="plain"> |</span>
|
|
<span class="identifier">ride</span><span class="plain"> </span><span class="identifier">rode</span><span class="plain"> |</span>
|
|
<span class="identifier">ring</span><span class="plain"> </span><span class="identifier">rang</span><span class="plain"> |</span>
|
|
<span class="identifier">arise</span><span class="plain"> </span><span class="identifier">arose</span><span class="plain"> |</span>
|
|
<span class="identifier">rise</span><span class="plain"> </span><span class="identifier">rose</span><span class="plain"> |</span>
|
|
<span class="identifier">rive</span><span class="plain"> </span><span class="identifier">rove</span><span class="plain"> |</span>
|
|
<span class="identifier">seek</span><span class="plain"> </span><span class="identifier">sought</span><span class="plain"> |</span>
|
|
<span class="identifier">sell</span><span class="plain"> </span><span class="identifier">sold</span><span class="plain"> |</span>
|
|
<span class="identifier">send</span><span class="plain"> </span><span class="identifier">sent</span><span class="plain"> |</span>
|
|
<span class="identifier">shed</span><span class="plain"> </span><span class="identifier">shed</span><span class="plain"> |</span>
|
|
<span class="identifier">shoe</span><span class="plain"> </span><span class="identifier">shoed</span><span class="plain"> |</span>
|
|
<span class="identifier">shut</span><span class="plain"> </span><span class="identifier">shut</span><span class="plain"> |</span>
|
|
<span class="identifier">sing</span><span class="plain"> </span><span class="identifier">sang</span><span class="plain"> |</span>
|
|
<span class="identifier">sink</span><span class="plain"> </span><span class="identifier">sank</span><span class="plain"> |</span>
|
|
<span class="identifier">sker</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">red</span><span class="plain"> |</span>
|
|
<span class="identifier">slip</span><span class="plain"> </span><span class="identifier">slipped</span><span class="plain"> |</span>
|
|
<span class="identifier">slit</span><span class="plain"> </span><span class="identifier">slit</span><span class="plain"> |</span>
|
|
<span class="identifier">slop</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ped</span><span class="plain"> |</span>
|
|
<span class="identifier">smur</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">red</span><span class="plain"> |</span>
|
|
<span class="identifier">spet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> |</span>
|
|
<span class="identifier">spin</span><span class="plain"> </span><span class="identifier">span</span><span class="plain"> |</span>
|
|
<span class="identifier">spit</span><span class="plain"> </span><span class="identifier">spat</span><span class="plain"> |</span>
|
|
<span class="identifier">sten</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ned</span><span class="plain"> |</span>
|
|
<span class="identifier">stye</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">swim</span><span class="plain"> </span><span class="identifier">swam</span><span class="plain"> |</span>
|
|
<span class="identifier">take</span><span class="plain"> </span><span class="identifier">took</span><span class="plain"> |</span>
|
|
<span class="identifier">tear</span><span class="plain"> </span><span class="identifier">tore</span><span class="plain"> |</span>
|
|
<span class="identifier">tell</span><span class="plain"> </span><span class="identifier">told</span><span class="plain"> |</span>
|
|
<span class="identifier">trek</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ked</span><span class="plain"> |</span>
|
|
<span class="identifier">unbe</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">undo</span><span class="plain"> </span><span class="identifier">undid</span><span class="plain"> |</span>
|
|
<span class="identifier">vise</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">awake</span><span class="plain"> </span><span class="identifier">awoke</span><span class="plain"> |</span>
|
|
<span class="identifier">wake</span><span class="plain"> </span><span class="identifier">woke</span><span class="plain"> |</span>
|
|
<span class="identifier">wear</span><span class="plain"> </span><span class="identifier">wore</span><span class="plain"> |</span>
|
|
<span class="identifier">weep</span><span class="plain"> </span><span class="identifier">wept</span><span class="plain"> |</span>
|
|
<span class="identifier">whid</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ded</span><span class="plain"> |</span>
|
|
<span class="identifier">wind</span><span class="plain"> </span><span class="identifier">wound</span><span class="plain"> |</span>
|
|
<span class="identifier">beget</span><span class="plain"> </span><span class="identifier">begot</span><span class="plain"> |</span>
|
|
<span class="identifier">begin</span><span class="plain"> </span><span class="identifier">began</span><span class="plain"> |</span>
|
|
<span class="identifier">benet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> |</span>
|
|
<span class="identifier">beset</span><span class="plain"> </span><span class="identifier">beset</span><span class="plain"> |</span>
|
|
<span class="identifier">besit</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> |</span>
|
|
<span class="identifier">binge</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">bleed</span><span class="plain"> </span><span class="identifier">bled</span><span class="plain"> |</span>
|
|
<span class="reserved">break</span><span class="plain"> </span><span class="identifier">broke</span><span class="plain"> |</span>
|
|
<span class="identifier">breed</span><span class="plain"> </span><span class="identifier">bred</span><span class="plain"> |</span>
|
|
<span class="identifier">bring</span><span class="plain"> </span><span class="identifier">brought</span><span class="plain"> |</span>
|
|
<span class="identifier">build</span><span class="plain"> </span><span class="identifier">built</span><span class="plain"> |</span>
|
|
<span class="identifier">burst</span><span class="plain"> </span><span class="identifier">burst</span><span class="plain"> |</span>
|
|
<span class="identifier">catch</span><span class="plain"> </span><span class="identifier">caught</span><span class="plain"> |</span>
|
|
<span class="identifier">cling</span><span class="plain"> </span><span class="identifier">clung</span><span class="plain"> |</span>
|
|
<span class="identifier">covet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">creep</span><span class="plain"> </span><span class="identifier">crept</span><span class="plain"> |</span>
|
|
<span class="identifier">curat</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">debut</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">demur</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">red</span><span class="plain"> |</span>
|
|
<span class="identifier">deter</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">red</span><span class="plain"> |</span>
|
|
<span class="identifier">drink</span><span class="plain"> </span><span class="identifier">drank</span><span class="plain"> |</span>
|
|
<span class="identifier">drive</span><span class="plain"> </span><span class="identifier">drove</span><span class="plain"> |</span>
|
|
<span class="identifier">fight</span><span class="plain"> </span><span class="identifier">fought</span><span class="plain"> |</span>
|
|
<span class="identifier">fling</span><span class="plain"> </span><span class="identifier">flung</span><span class="plain"> |</span>
|
|
<span class="identifier">forgo</span><span class="plain"> </span><span class="identifier">forwent</span><span class="plain"> |</span>
|
|
<span class="identifier">galop</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ped</span><span class="plain"> |</span>
|
|
<span class="identifier">glace</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">grind</span><span class="plain"> </span><span class="identifier">ground</span><span class="plain"> |</span>
|
|
<span class="identifier">herye</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">hoise</span><span class="plain"> </span><span class="identifier">hoist</span><span class="plain"> |</span>
|
|
<span class="identifier">inlay</span><span class="plain"> </span><span class="identifier">inlaid</span><span class="plain"> |</span>
|
|
<span class="identifier">input</span><span class="plain"> </span><span class="identifier">input</span><span class="plain"> |</span>
|
|
<span class="identifier">inset</span><span class="plain"> </span><span class="identifier">inset</span><span class="plain"> |</span>
|
|
<span class="identifier">inter</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">red</span><span class="plain"> |</span>
|
|
<span class="identifier">kneel</span><span class="plain"> </span><span class="identifier">knelt</span><span class="plain"> |</span>
|
|
<span class="identifier">alarum</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">leave</span><span class="plain"> </span><span class="identifier">left</span><span class="plain"> |</span>
|
|
<span class="identifier">light</span><span class="plain"> </span><span class="identifier">lit</span><span class="plain"> |</span>
|
|
<span class="identifier">limit</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">longe</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">lunge</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">madam</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">misdo</span><span class="plain"> </span><span class="identifier">misdid</span><span class="plain"> |</span>
|
|
<span class="identifier">outdo</span><span class="plain"> </span><span class="identifier">outdid</span><span class="plain"> |</span>
|
|
<span class="identifier">picot</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">pilot</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">prove</span><span class="plain"> </span><span class="identifier">proved</span><span class="plain"> |</span>
|
|
<span class="identifier">queue</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">reave</span><span class="plain"> </span><span class="identifier">reft</span><span class="plain"> |</span>
|
|
<span class="identifier">recce</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">recut</span><span class="plain"> </span><span class="identifier">recut</span><span class="plain"> |</span>
|
|
<span class="identifier">relet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> |</span>
|
|
<span class="identifier">repay</span><span class="plain"> </span><span class="identifier">repaid</span><span class="plain"> |</span>
|
|
<span class="identifier">rerun</span><span class="plain"> </span><span class="identifier">reran</span><span class="plain"> |</span>
|
|
<span class="identifier">reset</span><span class="plain"> </span><span class="identifier">reset</span><span class="plain"> |</span>
|
|
<span class="identifier">resit</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> |</span>
|
|
<span class="identifier">roset</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">route</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">salad</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">satin</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">saute</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">scoog</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">scoug</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">segue</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">shake</span><span class="plain"> </span><span class="identifier">shook</span><span class="plain"> |</span>
|
|
<span class="identifier">shall</span><span class="plain"> </span><span class="identifier">should</span><span class="plain"> |</span>
|
|
<span class="identifier">shape</span><span class="plain"> </span><span class="identifier">shaped</span><span class="plain"> |</span>
|
|
<span class="identifier">shave</span><span class="plain"> </span><span class="identifier">shaved</span><span class="plain"> |</span>
|
|
<span class="identifier">shine</span><span class="plain"> </span><span class="identifier">shined</span><span class="plain"> |</span>
|
|
<span class="identifier">shoot</span><span class="plain"> </span><span class="identifier">shot</span><span class="plain"> |</span>
|
|
<span class="identifier">singe</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">sleep</span><span class="plain"> </span><span class="identifier">slept</span><span class="plain"> |</span>
|
|
<span class="identifier">slide</span><span class="plain"> </span><span class="identifier">slid</span><span class="plain"> |</span>
|
|
<span class="identifier">sling</span><span class="plain"> </span><span class="identifier">slung</span><span class="plain"> |</span>
|
|
<span class="identifier">slink</span><span class="plain"> </span><span class="identifier">slunk</span><span class="plain"> |</span>
|
|
<span class="identifier">smite</span><span class="plain"> </span><span class="identifier">smote</span><span class="plain"> |</span>
|
|
<span class="identifier">speak</span><span class="plain"> </span><span class="identifier">spoke</span><span class="plain"> |</span>
|
|
<span class="identifier">speed</span><span class="plain"> </span><span class="identifier">sped</span><span class="plain"> |</span>
|
|
<span class="identifier">spell</span><span class="plain"> </span><span class="identifier">spelt</span><span class="plain"> |</span>
|
|
<span class="identifier">spend</span><span class="plain"> </span><span class="identifier">spent</span><span class="plain"> |</span>
|
|
<span class="identifier">split</span><span class="plain"> </span><span class="identifier">split</span><span class="plain"> |</span>
|
|
<span class="identifier">squid</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ded</span><span class="plain"> |</span>
|
|
<span class="identifier">stand</span><span class="plain"> </span><span class="identifier">stood</span><span class="plain"> |</span>
|
|
<span class="identifier">steal</span><span class="plain"> </span><span class="identifier">stole</span><span class="plain"> |</span>
|
|
<span class="identifier">stick</span><span class="plain"> </span><span class="identifier">stuck</span><span class="plain"> |</span>
|
|
<span class="identifier">sting</span><span class="plain"> </span><span class="identifier">stung</span><span class="plain"> |</span>
|
|
<span class="identifier">stink</span><span class="plain"> </span><span class="identifier">stank</span><span class="plain"> |</span>
|
|
<span class="identifier">swear</span><span class="plain"> </span><span class="identifier">swore</span><span class="plain"> |</span>
|
|
<span class="identifier">sweep</span><span class="plain"> </span><span class="identifier">swept</span><span class="plain"> |</span>
|
|
<span class="identifier">swing</span><span class="plain"> </span><span class="identifier">swung</span><span class="plain"> |</span>
|
|
<span class="identifier">teach</span><span class="plain"> </span><span class="identifier">taught</span><span class="plain"> |</span>
|
|
<span class="identifier">think</span><span class="plain"> </span><span class="identifier">thought</span><span class="plain"> |</span>
|
|
<span class="identifier">throw</span><span class="plain"> </span><span class="identifier">threw</span><span class="plain"> |</span>
|
|
<span class="identifier">tinge</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">tread</span><span class="plain"> </span><span class="identifier">trod</span><span class="plain"> |</span>
|
|
<span class="identifier">tyran</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ned</span><span class="plain"> |</span>
|
|
<span class="identifier">unpen</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ned</span><span class="plain"> |</span>
|
|
<span class="identifier">unset</span><span class="plain"> </span><span class="identifier">unset</span><span class="plain"> |</span>
|
|
<span class="identifier">upset</span><span class="plain"> </span><span class="identifier">upset</span><span class="plain"> |</span>
|
|
<span class="identifier">vogue</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">vomit</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">weave</span><span class="plain"> </span><span class="identifier">wove</span><span class="plain"> |</span>
|
|
<span class="identifier">winge</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">worth</span><span class="plain"> </span><span class="identifier">worth</span><span class="plain"> |</span>
|
|
<span class="identifier">wring</span><span class="plain"> </span><span class="identifier">wrang</span><span class="plain"> |</span>
|
|
<span class="identifier">write</span><span class="plain"> </span><span class="identifier">wrote</span><span class="plain"> |</span>
|
|
<span class="identifier">ballad</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">ballat</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">ballot</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">basset</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">become</span><span class="plain"> </span><span class="identifier">became</span><span class="plain"> |</span>
|
|
<span class="identifier">befall</span><span class="plain"> </span><span class="identifier">befell</span><span class="plain"> |</span>
|
|
<span class="identifier">behold</span><span class="plain"> </span><span class="identifier">beheld</span><span class="plain"> |</span>
|
|
<span class="identifier">birdie</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">caucus</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">centre</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">chalan</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">chasse</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">choose</span><span class="plain"> </span><span class="identifier">chose</span><span class="plain"> |</span>
|
|
<span class="identifier">cleave</span><span class="plain"> </span><span class="identifier">clove</span><span class="plain"> |</span>
|
|
<span class="identifier">closet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">clothe</span><span class="plain"> </span><span class="identifier">clothed</span><span class="plain"> |</span>
|
|
<span class="identifier">combat</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">coquet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> |</span>
|
|
<span class="identifier">corset</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">cosset</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">emblem</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">fidget</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">fillip</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">forbid</span><span class="plain"> </span><span class="identifier">forbade</span><span class="plain"> |</span>
|
|
<span class="identifier">forego</span><span class="plain"> </span><span class="identifier">forewent</span><span class="plain"> |</span>
|
|
<span class="identifier">forget</span><span class="plain"> </span><span class="identifier">forgot</span><span class="plain"> |</span>
|
|
<span class="identifier">freeze</span><span class="plain"> </span><span class="identifier">froze</span><span class="plain"> |</span>
|
|
<span class="identifier">gusset</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">jeelie</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">misfit</span><span class="plain"> </span><span class="identifier">misfitted</span><span class="plain"> |</span>
|
|
<span class="identifier">misget</span><span class="plain"> </span><span class="identifier">misgot</span><span class="plain"> |</span>
|
|
<span class="identifier">mishit</span><span class="plain"> </span><span class="identifier">mishit</span><span class="plain"> |</span>
|
|
<span class="identifier">misken</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ned</span><span class="plain"> |</span>
|
|
<span class="identifier">mislay</span><span class="plain"> </span><span class="identifier">mislaid</span><span class="plain"> |</span>
|
|
<span class="identifier">missay</span><span class="plain"> </span><span class="identifier">missaid</span><span class="plain"> |</span>
|
|
<span class="identifier">misset</span><span class="plain"> </span><span class="identifier">misset</span><span class="plain"> |</span>
|
|
<span class="identifier">mortar</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">naysay</span><span class="plain"> </span><span class="identifier">naysaid</span><span class="plain"> |</span>
|
|
<span class="identifier">ouglie</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">outbid</span><span class="plain"> </span><span class="identifier">outbid</span><span class="plain"> |</span>
|
|
<span class="identifier">output</span><span class="plain"> </span><span class="identifier">output</span><span class="plain"> |</span>
|
|
<span class="identifier">outrun</span><span class="plain"> </span><span class="identifier">outran</span><span class="plain"> |</span>
|
|
<span class="identifier">outsit</span><span class="plain"> </span><span class="identifier">outsat</span><span class="plain"> |</span>
|
|
<span class="identifier">overdo</span><span class="plain"> </span><span class="identifier">overdid</span><span class="plain"> |</span>
|
|
<span class="identifier">parrot</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">peenge</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">posset</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">possum</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">prepay</span><span class="plain"> </span><span class="identifier">prepaid</span><span class="plain"> |</span>
|
|
<span class="identifier">preset</span><span class="plain"> </span><span class="identifier">preset</span><span class="plain"> |</span>
|
|
<span class="identifier">profit</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">quaere</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">rallye</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">recast</span><span class="plain"> </span><span class="identifier">recast</span><span class="plain"> |</span>
|
|
<span class="identifier">redraw</span><span class="plain"> </span><span class="identifier">redrew</span><span class="plain"> |</span>
|
|
<span class="identifier">regret</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> |</span>
|
|
<span class="identifier">regrow</span><span class="plain"> </span><span class="identifier">regrew</span><span class="plain"> |</span>
|
|
<span class="identifier">re</span><span class="plain">-</span><span class="identifier">lay</span><span class="plain"> </span><span class="identifier">re</span><span class="plain">-</span><span class="identifier">laid</span><span class="plain"> |</span>
|
|
<span class="identifier">remake</span><span class="plain"> </span><span class="identifier">remade</span><span class="plain"> |</span>
|
|
<span class="identifier">reread</span><span class="plain"> </span><span class="identifier">reread</span><span class="plain"> |</span>
|
|
<span class="identifier">resell</span><span class="plain"> </span><span class="identifier">resold</span><span class="plain"> |</span>
|
|
<span class="identifier">resend</span><span class="plain"> </span><span class="identifier">resent</span><span class="plain"> |</span>
|
|
<span class="identifier">resing</span><span class="plain"> </span><span class="identifier">resang</span><span class="plain"> |</span>
|
|
<span class="identifier">retake</span><span class="plain"> </span><span class="identifier">retook</span><span class="plain"> |</span>
|
|
<span class="identifier">retell</span><span class="plain"> </span><span class="identifier">retold</span><span class="plain"> |</span>
|
|
<span class="identifier">rewind</span><span class="plain"> </span><span class="identifier">rewound</span><span class="plain"> |</span>
|
|
<span class="identifier">russet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">shrink</span><span class="plain"> </span><span class="identifier">shrank</span><span class="plain"> |</span>
|
|
<span class="identifier">shrive</span><span class="plain"> </span><span class="identifier">shrove</span><span class="plain"> |</span>
|
|
<span class="identifier">slalom</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">sortie</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">spread</span><span class="plain"> </span><span class="identifier">spread</span><span class="plain"> |</span>
|
|
<span class="identifier">spring</span><span class="plain"> </span><span class="identifier">sprang</span><span class="plain"> |</span>
|
|
<span class="identifier">stride</span><span class="plain"> </span><span class="identifier">strode</span><span class="plain"> |</span>
|
|
<span class="identifier">strike</span><span class="plain"> </span><span class="identifier">struck</span><span class="plain"> |</span>
|
|
<span class="identifier">string</span><span class="plain"> </span><span class="identifier">strung</span><span class="plain"> |</span>
|
|
<span class="identifier">strive</span><span class="plain"> </span><span class="identifier">strove</span><span class="plain"> |</span>
|
|
<span class="identifier">stymie</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">sublet</span><span class="plain"> </span><span class="identifier">sublet</span><span class="plain"> |</span>
|
|
<span class="identifier">sunset</span><span class="plain"> </span><span class="identifier">sunset</span><span class="plain"> |</span>
|
|
<span class="identifier">swinge</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">target</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">thrive</span><span class="plain"> </span><span class="identifier">throve</span><span class="plain"> |</span>
|
|
<span class="identifier">turnip</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">unbend</span><span class="plain"> </span><span class="identifier">unbent</span><span class="plain"> |</span>
|
|
<span class="identifier">unbind</span><span class="plain"> </span><span class="identifier">unbound</span><span class="plain"> |</span>
|
|
<span class="identifier">unhear</span><span class="plain"> </span><span class="identifier">unheard</span><span class="plain"> |</span>
|
|
<span class="identifier">unmake</span><span class="plain"> </span><span class="identifier">unmade</span><span class="plain"> |</span>
|
|
<span class="identifier">unwind</span><span class="plain"> </span><span class="identifier">unwound</span><span class="plain"> |</span>
|
|
<span class="identifier">uphold</span><span class="plain"> </span><span class="identifier">upheld</span><span class="plain"> |</span>
|
|
<span class="identifier">velvet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">waylay</span><span class="plain"> </span><span class="identifier">waylaid</span><span class="plain"> |</span>
|
|
<span class="identifier">whinge</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">writhe</span><span class="plain"> </span><span class="identifier">writhed</span><span class="plain"> |</span>
|
|
<span class="identifier">beseech</span><span class="plain"> </span><span class="identifier">besought</span><span class="plain"> |</span>
|
|
<span class="identifier">bespeak</span><span class="plain"> </span><span class="identifier">bespoke</span><span class="plain"> |</span>
|
|
<span class="identifier">briquet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> |</span>
|
|
<span class="identifier">buckram</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">chagrin</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">challan</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">crochet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">delimit</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">epithet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">forbear</span><span class="plain"> </span><span class="identifier">forbore</span><span class="plain"> |</span>
|
|
<span class="identifier">forelay</span><span class="plain"> </span><span class="identifier">forelaid</span><span class="plain"> |</span>
|
|
<span class="identifier">forelie</span><span class="plain"> </span><span class="identifier">forlay</span><span class="plain"> |</span>
|
|
<span class="identifier">forerun</span><span class="plain"> </span><span class="identifier">foreran</span><span class="plain"> |</span>
|
|
<span class="identifier">foresee</span><span class="plain"> </span><span class="identifier">foresaw</span><span class="plain"> |</span>
|
|
<span class="identifier">forgive</span><span class="plain"> </span><span class="identifier">forgave</span><span class="plain"> |</span>
|
|
<span class="identifier">forsake</span><span class="plain"> </span><span class="identifier">forsook</span><span class="plain"> |</span>
|
|
<span class="identifier">gainsay</span><span class="plain"> </span><span class="identifier">gainsaid</span><span class="plain"> |</span>
|
|
<span class="identifier">inbreed</span><span class="plain"> </span><span class="identifier">inbred</span><span class="plain"> |</span>
|
|
<span class="identifier">invalid</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">leaflet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> |</span>
|
|
<span class="identifier">lipread</span><span class="plain"> </span><span class="identifier">lipread</span><span class="plain"> |</span>
|
|
<span class="identifier">miscast</span><span class="plain"> </span><span class="identifier">miscast</span><span class="plain"> |</span>
|
|
<span class="identifier">misdeal</span><span class="plain"> </span><span class="identifier">misdealt</span><span class="plain"> |</span>
|
|
<span class="identifier">misfeed</span><span class="plain"> </span><span class="identifier">misfed</span><span class="plain"> |</span>
|
|
<span class="identifier">misgive</span><span class="plain"> </span><span class="identifier">misgave</span><span class="plain"> |</span>
|
|
<span class="identifier">mishear</span><span class="plain"> </span><span class="identifier">misheard</span><span class="plain"> |</span>
|
|
<span class="identifier">mishold</span><span class="plain"> </span><span class="identifier">misheld</span><span class="plain"> |</span>
|
|
<span class="identifier">miskeep</span><span class="plain"> </span><span class="identifier">miskept</span><span class="plain"> |</span>
|
|
<span class="identifier">misknow</span><span class="plain"> </span><span class="identifier">misknew</span><span class="plain"> |</span>
|
|
<span class="identifier">mislead</span><span class="plain"> </span><span class="identifier">misled</span><span class="plain"> |</span>
|
|
<span class="identifier">misread</span><span class="plain"> </span><span class="identifier">misread</span><span class="plain"> |</span>
|
|
<span class="identifier">missend</span><span class="plain"> </span><span class="identifier">missent</span><span class="plain"> |</span>
|
|
<span class="identifier">mistake</span><span class="plain"> </span><span class="identifier">mistook</span><span class="plain"> |</span>
|
|
<span class="identifier">outgrow</span><span class="plain"> </span><span class="identifier">outgrew</span><span class="plain"> |</span>
|
|
<span class="identifier">outride</span><span class="plain"> </span><span class="identifier">outrode</span><span class="plain"> |</span>
|
|
<span class="identifier">outsell</span><span class="plain"> </span><span class="identifier">outsold</span><span class="plain"> |</span>
|
|
<span class="identifier">outswim</span><span class="plain"> </span><span class="identifier">outswam</span><span class="plain"> |</span>
|
|
<span class="identifier">outtell</span><span class="plain"> </span><span class="identifier">outtold</span><span class="plain"> |</span>
|
|
<span class="identifier">outwear</span><span class="plain"> </span><span class="identifier">outwore</span><span class="plain"> |</span>
|
|
<span class="identifier">overbid</span><span class="plain"> </span><span class="identifier">overbid</span><span class="plain"> |</span>
|
|
<span class="identifier">overbuy</span><span class="plain"> </span><span class="identifier">overbought</span><span class="plain"> |</span>
|
|
<span class="identifier">overeat</span><span class="plain"> </span><span class="identifier">overate</span><span class="plain"> |</span>
|
|
<span class="identifier">overfly</span><span class="plain"> </span><span class="identifier">overflew</span><span class="plain"> |</span>
|
|
<span class="identifier">overhit</span><span class="plain"> </span><span class="identifier">overhit</span><span class="plain"> |</span>
|
|
<span class="identifier">overlay</span><span class="plain"> </span><span class="identifier">overlaid</span><span class="plain"> |</span>
|
|
<span class="identifier">overlie</span><span class="plain"> </span><span class="identifier">overlay</span><span class="plain"> |</span>
|
|
<span class="identifier">overnet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> |</span>
|
|
<span class="identifier">overpay</span><span class="plain"> </span><span class="identifier">overpaid</span><span class="plain"> |</span>
|
|
<span class="identifier">overrun</span><span class="plain"> </span><span class="identifier">overran</span><span class="plain"> |</span>
|
|
<span class="identifier">oversee</span><span class="plain"> </span><span class="identifier">oversaw</span><span class="plain"> |</span>
|
|
<span class="identifier">overset</span><span class="plain"> </span><span class="identifier">overset</span><span class="plain"> |</span>
|
|
<span class="identifier">parquet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> |</span>
|
|
<span class="identifier">partake</span><span class="plain"> </span><span class="identifier">partook</span><span class="plain"> |</span>
|
|
<span class="identifier">podcast</span><span class="plain"> </span><span class="identifier">podcast</span><span class="plain"> |</span>
|
|
<span class="identifier">precast</span><span class="plain"> </span><span class="identifier">precast</span><span class="plain"> |</span>
|
|
<span class="identifier">quadrat</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">ratchet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">rebuild</span><span class="plain"> </span><span class="identifier">rebuilt</span><span class="plain"> |</span>
|
|
<span class="identifier">reinter</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">red</span><span class="plain"> |</span>
|
|
<span class="identifier">reroute</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">reshoot</span><span class="plain"> </span><span class="identifier">reshot</span><span class="plain"> |</span>
|
|
<span class="identifier">rethink</span><span class="plain"> </span><span class="identifier">rethought</span><span class="plain"> |</span>
|
|
<span class="identifier">retread</span><span class="plain"> </span><span class="identifier">retrod</span><span class="plain"> |</span>
|
|
<span class="identifier">rewrite</span><span class="plain"> </span><span class="identifier">rewrote</span><span class="plain"> |</span>
|
|
<span class="identifier">schappe</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">spaniel</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">led</span><span class="plain"> |</span>
|
|
<span class="identifier">underdo</span><span class="plain"> </span><span class="identifier">underdid</span><span class="plain"> |</span>
|
|
<span class="identifier">undergo</span><span class="plain"> </span><span class="identifier">underwent</span><span class="plain"> |</span>
|
|
<span class="identifier">unrivet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">vermeil</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">led</span><span class="plain"> |</span>
|
|
<span class="identifier">webcast</span><span class="plain"> </span><span class="identifier">webcast</span><span class="plain"> |</span>
|
|
<span class="identifier">backbite</span><span class="plain"> </span><span class="identifier">backbit</span><span class="plain"> |</span>
|
|
<span class="identifier">bespread</span><span class="plain"> </span><span class="identifier">bespread</span><span class="plain"> |</span>
|
|
<span class="identifier">bestride</span><span class="plain"> </span><span class="identifier">bestrode</span><span class="plain"> |</span>
|
|
<span class="identifier">browbeat</span><span class="plain"> </span><span class="identifier">browbeat</span><span class="plain"> |</span>
|
|
<span class="identifier">cicerone</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">crosscut</span><span class="plain"> </span><span class="identifier">crosscut</span><span class="plain"> |</span>
|
|
<span class="identifier">damaskin</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">disinter</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">red</span><span class="plain"> |</span>
|
|
<span class="identifier">ensilage</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">forecast</span><span class="plain"> </span><span class="identifier">forecast</span><span class="plain"> |</span>
|
|
<span class="identifier">foreknow</span><span class="plain"> </span><span class="identifier">foreknew</span><span class="plain"> |</span>
|
|
<span class="identifier">foretell</span><span class="plain"> </span><span class="identifier">foretold</span><span class="plain"> |</span>
|
|
<span class="identifier">forswear</span><span class="plain"> </span><span class="identifier">forswore</span><span class="plain"> |</span>
|
|
<span class="identifier">intercut</span><span class="plain"> </span><span class="identifier">intercut</span><span class="plain"> |</span>
|
|
<span class="identifier">misbeget</span><span class="plain"> </span><span class="identifier">misbegot</span><span class="plain"> |</span>
|
|
<span class="identifier">misshape</span><span class="plain"> </span><span class="identifier">misshaped</span><span class="plain"> |</span>
|
|
<span class="identifier">misshoot</span><span class="plain"> </span><span class="identifier">misshot</span><span class="plain"> |</span>
|
|
<span class="identifier">misspeak</span><span class="plain"> </span><span class="identifier">misspoke</span><span class="plain"> |</span>
|
|
<span class="identifier">misspell</span><span class="plain"> </span><span class="identifier">misspelt</span><span class="plain"> |</span>
|
|
<span class="identifier">misspend</span><span class="plain"> </span><span class="identifier">misspent</span><span class="plain"> |</span>
|
|
<span class="identifier">miswrite</span><span class="plain"> </span><span class="identifier">miswrote</span><span class="plain"> |</span>
|
|
<span class="identifier">outdrink</span><span class="plain"> </span><span class="identifier">outdrunk</span><span class="plain"> |</span>
|
|
<span class="identifier">outfight</span><span class="plain"> </span><span class="identifier">outfought</span><span class="plain"> |</span>
|
|
<span class="identifier">outshine</span><span class="plain"> </span><span class="identifier">outshone</span><span class="plain"> |</span>
|
|
<span class="identifier">outspend</span><span class="plain"> </span><span class="identifier">outspent</span><span class="plain"> |</span>
|
|
<span class="identifier">outswear</span><span class="plain"> </span><span class="identifier">outswore</span><span class="plain"> |</span>
|
|
<span class="identifier">outthink</span><span class="plain"> </span><span class="identifier">outthought</span><span class="plain"> |</span>
|
|
<span class="identifier">outthrow</span><span class="plain"> </span><span class="identifier">outthrew</span><span class="plain"> |</span>
|
|
<span class="identifier">overbear</span><span class="plain"> </span><span class="identifier">overbore</span><span class="plain"> |</span>
|
|
<span class="identifier">overbend</span><span class="plain"> </span><span class="identifier">overbent</span><span class="plain"> |</span>
|
|
<span class="identifier">overblow</span><span class="plain"> </span><span class="identifier">overblew</span><span class="plain"> |</span>
|
|
<span class="identifier">overcast</span><span class="plain"> </span><span class="identifier">overcast</span><span class="plain"> |</span>
|
|
<span class="identifier">overcome</span><span class="plain"> </span><span class="identifier">overcame</span><span class="plain"> |</span>
|
|
<span class="identifier">overdraw</span><span class="plain"> </span><span class="identifier">overdrew</span><span class="plain"> |</span>
|
|
<span class="identifier">overfeed</span><span class="plain"> </span><span class="identifier">overfed</span><span class="plain"> |</span>
|
|
<span class="identifier">overgrow</span><span class="plain"> </span><span class="identifier">overgrew</span><span class="plain"> |</span>
|
|
<span class="identifier">overhang</span><span class="plain"> </span><span class="identifier">overhung</span><span class="plain"> |</span>
|
|
<span class="identifier">overhear</span><span class="plain"> </span><span class="identifier">overheard</span><span class="plain"> |</span>
|
|
<span class="identifier">overlend</span><span class="plain"> </span><span class="identifier">overlent</span><span class="plain"> |</span>
|
|
<span class="identifier">override</span><span class="plain"> </span><span class="identifier">overrode</span><span class="plain"> |</span>
|
|
<span class="identifier">oversell</span><span class="plain"> </span><span class="identifier">oversold</span><span class="plain"> |</span>
|
|
<span class="identifier">overslip</span><span class="plain"> </span><span class="identifier">overslipped</span><span class="plain"> |</span>
|
|
<span class="identifier">overtake</span><span class="plain"> </span><span class="identifier">overtook</span><span class="plain"> |</span>
|
|
<span class="identifier">overwear</span><span class="plain"> </span><span class="identifier">overwore</span><span class="plain"> |</span>
|
|
<span class="identifier">sightsee</span><span class="plain"> </span><span class="identifier">sightsaw</span><span class="plain"> |</span>
|
|
<span class="identifier">stravaig</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">telecast</span><span class="plain"> </span><span class="identifier">telecast</span><span class="plain"> |</span>
|
|
<span class="identifier">unclothe</span><span class="plain"> </span><span class="identifier">unclothed</span><span class="plain"> |</span>
|
|
<span class="identifier">underbid</span><span class="plain"> </span><span class="identifier">underbid</span><span class="plain"> |</span>
|
|
<span class="identifier">underbuy</span><span class="plain"> </span><span class="identifier">underbought</span><span class="plain"> |</span>
|
|
<span class="identifier">undercut</span><span class="plain"> </span><span class="identifier">undercut</span><span class="plain"> |</span>
|
|
<span class="identifier">underdig</span><span class="plain"> </span><span class="identifier">underdug</span><span class="plain"> |</span>
|
|
<span class="identifier">underlay</span><span class="plain"> </span><span class="identifier">underlaid</span><span class="plain"> |</span>
|
|
<span class="identifier">underlet</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> |</span>
|
|
<span class="identifier">underlie</span><span class="plain"> </span><span class="identifier">underlaid</span><span class="plain"> |</span>
|
|
<span class="identifier">underpay</span><span class="plain"> </span><span class="identifier">underpaid</span><span class="plain"> |</span>
|
|
<span class="identifier">underrun</span><span class="plain"> </span><span class="identifier">underran</span><span class="plain"> |</span>
|
|
<span class="identifier">unfreeze</span><span class="plain"> </span><span class="identifier">unfroze</span><span class="plain"> |</span>
|
|
<span class="identifier">withdraw</span><span class="plain"> </span><span class="identifier">withdrew</span><span class="plain"> |</span>
|
|
<span class="identifier">withhold</span><span class="plain"> </span><span class="identifier">withheld</span><span class="plain"> |</span>
|
|
<span class="identifier">broadcast</span><span class="plain"> </span><span class="identifier">broadcast</span><span class="plain"> |</span>
|
|
<span class="identifier">discomfit</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">facsimile</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">misbecome</span><span class="plain"> </span><span class="identifier">misbecame</span><span class="plain"> |</span>
|
|
<span class="identifier">mischoose</span><span class="plain"> </span><span class="identifier">mischose</span><span class="plain"> |</span>
|
|
<span class="identifier">outthrust</span><span class="plain"> </span><span class="identifier">outthrust</span><span class="plain"> |</span>
|
|
<span class="identifier">overbreed</span><span class="plain"> </span><span class="identifier">overbred</span><span class="plain"> |</span>
|
|
<span class="identifier">overbuild</span><span class="plain"> </span><span class="identifier">overbuilt</span><span class="plain"> |</span>
|
|
<span class="identifier">overdrink</span><span class="plain"> </span><span class="identifier">overdrank</span><span class="plain"> |</span>
|
|
<span class="identifier">overdrive</span><span class="plain"> </span><span class="identifier">overdrove</span><span class="plain"> |</span>
|
|
<span class="identifier">overshake</span><span class="plain"> </span><span class="identifier">overshook</span><span class="plain"> |</span>
|
|
<span class="identifier">overshine</span><span class="plain"> </span><span class="identifier">overshone</span><span class="plain"> |</span>
|
|
<span class="identifier">overshoot</span><span class="plain"> </span><span class="identifier">overshot</span><span class="plain"> |</span>
|
|
<span class="identifier">oversleep</span><span class="plain"> </span><span class="identifier">overslept</span><span class="plain"> |</span>
|
|
<span class="identifier">overslide</span><span class="plain"> </span><span class="identifier">overslid</span><span class="plain"> |</span>
|
|
<span class="identifier">overspend</span><span class="plain"> </span><span class="identifier">overspent</span><span class="plain"> |</span>
|
|
<span class="identifier">overswing</span><span class="plain"> </span><span class="identifier">overswung</span><span class="plain"> |</span>
|
|
<span class="identifier">overwrite</span><span class="plain"> </span><span class="identifier">overwrote</span><span class="plain"> |</span>
|
|
<span class="identifier">proofread</span><span class="plain"> </span><span class="identifier">proofread</span><span class="plain"> |</span>
|
|
<span class="identifier">reaedifye</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">restringe</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">simulcast</span><span class="plain"> </span><span class="identifier">simulcast</span><span class="plain"> |</span>
|
|
<span class="identifier">trampolin</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">underbear</span><span class="plain"> </span><span class="identifier">underbore</span><span class="plain"> |</span>
|
|
<span class="identifier">underbind</span><span class="plain"> </span><span class="identifier">underbound</span><span class="plain"> |</span>
|
|
<span class="identifier">undercast</span><span class="plain"> </span><span class="identifier">undercast</span><span class="plain"> |</span>
|
|
<span class="identifier">underdraw</span><span class="plain"> </span><span class="identifier">underdrew</span><span class="plain"> |</span>
|
|
<span class="identifier">underfeed</span><span class="plain"> </span><span class="identifier">underfed</span><span class="plain"> |</span>
|
|
<span class="identifier">undergrow</span><span class="plain"> </span><span class="identifier">undergrew</span><span class="plain"> |</span>
|
|
<span class="identifier">underhang</span><span class="plain"> </span><span class="identifier">underhung</span><span class="plain"> |</span>
|
|
<span class="identifier">undersaye</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="identifier">undersell</span><span class="plain"> </span><span class="identifier">undersold</span><span class="plain"> |</span>
|
|
<span class="identifier">undertake</span><span class="plain"> </span><span class="identifier">undertook</span><span class="plain"> |</span>
|
|
<span class="identifier">withstand</span><span class="plain"> </span><span class="identifier">withstood</span><span class="plain"> |</span>
|
|
<span class="identifier">ghostwrite</span><span class="plain"> </span><span class="identifier">ghostwrote</span><span class="plain"> |</span>
|
|
<span class="identifier">interbreed</span><span class="plain"> </span><span class="identifier">interbred</span><span class="plain"> |</span>
|
|
<span class="identifier">interweave</span><span class="plain"> </span><span class="identifier">interwove</span><span class="plain"> |</span>
|
|
<span class="identifier">overclothe</span><span class="plain"> </span><span class="identifier">overclothed</span><span class="plain"> |</span>
|
|
<span class="identifier">overstride</span><span class="plain"> </span><span class="identifier">overstrode</span><span class="plain"> |</span>
|
|
<span class="identifier">underbuild</span><span class="plain"> </span><span class="identifier">underbuilt</span><span class="plain"> |</span>
|
|
<span class="identifier">undershoot</span><span class="plain"> </span><span class="identifier">undershot</span><span class="plain"> |</span>
|
|
<span class="identifier">underspend</span><span class="plain"> </span><span class="identifier">underspent</span><span class="plain"> |</span>
|
|
<span class="identifier">understand</span><span class="plain"> </span><span class="identifier">understood</span><span class="plain"> |</span>
|
|
<span class="identifier">underwrite</span><span class="plain"> </span><span class="identifier">underwrote</span><span class="plain"> |</span>
|
|
<span class="identifier">underclothe</span><span class="plain"> </span><span class="identifier">underclothed</span><span class="plain"> |</span>
|
|
<span class="identifier">misunderstand</span><span class="plain"> </span><span class="identifier">misunderstood</span>
|
|
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">irregular</span><span class="plain">-</span><span class="identifier">compound</span><span class="plain">-</span><span class="identifier">past</span><span class="plain">> ::=</span>
|
|
<span class="plain">*<</span><span class="identifier">gosyz</span><span class="plain">></span><span class="identifier">ie</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> | </span><span class="comment"> e.g. boogied</span>
|
|
<span class="plain">*</span><span class="identifier">ae</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> | </span><span class="comment"> e.g. spaed</span>
|
|
<span class="plain">*</span><span class="identifier">quit</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> | </span><span class="comment"> acquitted , quitted , requitted</span>
|
|
<span class="plain">*</span><span class="identifier">uret</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> | </span><span class="comment"> carburetted , sulphuretted</span>
|
|
<span class="plain">*</span><span class="identifier">budget</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> | </span><span class="comment"> budgeted , underbudgeted</span>
|
|
<span class="plain">*</span><span class="identifier">efer</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">red</span><span class="plain"> | </span><span class="comment"> deferred , preferred , referred</span>
|
|
<span class="plain">*</span><span class="identifier">nfer</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">red</span><span class="plain"> | </span><span class="comment"> conferred , inferred</span>
|
|
<span class="plain">*</span><span class="identifier">sfer</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">red</span><span class="plain"> | </span><span class="comment"> retransferred , transferred</span>
|
|
<span class="plain">*</span><span class="identifier">bias</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">sed</span><span class="plain"> | </span><span class="comment"> biassed , unbiassed</span>
|
|
<span class="plain">*</span><span class="identifier">bishop</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> | </span><span class="comment"> bishoped , unbishoped</span>
|
|
<span class="plain">*</span><span class="identifier">woman</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> | </span><span class="comment"> womaned , unwomaned</span>
|
|
<span class="plain">*</span><span class="identifier">jambok</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ked</span><span class="plain"> | </span><span class="comment"> jambokked , sjambokked</span>
|
|
<span class="plain">*</span><span class="identifier">alog</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> | </span><span class="comment"> dialoged , cataloged</span>
|
|
<span class="plain">*</span><span class="identifier">daub</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> </span><span class="comment"> daubed , bedaubed</span>
|
|
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">regular</span><span class="plain">-</span><span class="identifier">a</span><span class="plain">-</span><span class="identifier">past</span><span class="plain">> ::=</span>
|
|
<span class="plain">*<</span><span class="identifier">aeiouy</span><span class="plain">></span><span class="identifier">b</span><span class="plain"> </span><span class="constant">0b</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">dglmpw</span><span class="plain">></span><span class="identifier">ad</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ded</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bhlnrtw</span><span class="plain">></span><span class="identifier">ed</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ded</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bklr</span><span class="plain">></span><span class="identifier">id</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ded</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">cdghlnprst</span><span class="plain">></span><span class="identifier">od</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ded</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bchmprtw</span><span class="plain">></span><span class="identifier">ud</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ded</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">uf</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">fed</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">aeiouy</span><span class="plain">></span><span class="identifier">g</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ged</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bcdhiklmnprstuv</span><span class="plain">></span><span class="identifier">al</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">led</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bcdfghkmnprstuvwz</span><span class="plain">></span><span class="identifier">el</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">led</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">cfmnrtv</span><span class="plain">></span><span class="identifier">il</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">led</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bcrtv</span><span class="plain">></span><span class="identifier">ol</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">led</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">cn</span><span class="plain">></span><span class="identifier">ul</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">led</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bcdghjlprw</span><span class="plain">></span><span class="identifier">am</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">med</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">glt</span><span class="plain">></span><span class="identifier">em</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">med</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">dhklnrw</span><span class="plain">></span><span class="identifier">im</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">med</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">lom</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">med</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bcghlmrstv</span><span class="plain">></span><span class="identifier">um</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">med</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bcflmptvw</span><span class="plain">></span><span class="identifier">an</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ned</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">ry</span><span class="plain">></span><span class="identifier">en</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ned</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">dhklprtw</span><span class="plain">></span><span class="identifier">in</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ned</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">fw</span><span class="plain">></span><span class="identifier">on</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ned</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">dfghprst</span><span class="plain">></span><span class="identifier">un</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ned</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">cdghjlmnprstwyz</span><span class="plain">></span><span class="identifier">ap</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ped</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">klprt</span><span class="plain">></span><span class="identifier">ep</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ped</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">dhklnprtuyz</span><span class="plain">></span><span class="identifier">ip</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ped</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bdhmprstuw</span><span class="plain">></span><span class="identifier">op</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ped</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">dhpst</span><span class="plain">></span><span class="identifier">up</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ped</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">yp</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ped</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bcfhjmnptw</span><span class="plain">></span><span class="identifier">ar</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">red</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">fhmst</span><span class="plain">></span><span class="identifier">ir</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">red</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">dor</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">red</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bclp</span><span class="plain">></span><span class="identifier">ur</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">red</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bgmpv</span><span class="plain">></span><span class="identifier">as</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">sed</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">mnrsu</span><span class="plain">></span><span class="identifier">es</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">sed</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">hmpw</span><span class="plain">></span><span class="identifier">is</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">sed</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bcds</span><span class="plain">></span><span class="identifier">os</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">sed</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bclm</span><span class="plain">></span><span class="identifier">us</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">sed</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bcfhlmprtuvw</span><span class="plain">></span><span class="identifier">at</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">ghjstvw</span><span class="plain">></span><span class="identifier">et</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">fhlmnptw</span><span class="plain">></span><span class="identifier">it</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bcdhjlnprstw</span><span class="plain">></span><span class="identifier">ot</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bcghjlmnprt</span><span class="plain">></span><span class="identifier">ut</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ted</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">ei</span><span class="plain">></span><span class="identifier">v</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ved</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">iz</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">zed</span>
|
|
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">regular</span><span class="plain">-</span><span class="identifier">b</span><span class="plain">-</span><span class="identifier">past</span><span class="plain">> ::=</span>
|
|
<span class="plain">*<</span><span class="identifier">aeiou</span><span class="plain">></span><span class="identifier">c</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ked</span><span class="plain"> | </span><span class="comment"> magicked</span>
|
|
<span class="plain">*<</span><span class="identifier">eioy</span><span class="plain">></span><span class="identifier">e</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> | </span><span class="comment"> dried</span>
|
|
<span class="plain">*<</span><span class="identifier">aeiou</span><span class="plain">></span><span class="identifier">y</span><span class="plain"> </span><span class="constant">0</span><span class="identifier">ed</span><span class="plain"> </span><span class="comment"> played, conveyed, convoyed, guyed, preyed</span>
|
|
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">regular</span><span class="plain">-</span><span class="identifier">c</span><span class="plain">-</span><span class="identifier">past</span><span class="plain">> ::=</span>
|
|
<span class="plain">*</span><span class="identifier">e</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ed</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">y</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ied</span><span class="plain"> | </span><span class="comment"> shied, tried</span>
|
|
<span class="plain">* </span><span class="constant">0</span><span class="identifier">ed</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP47"></a><b>§47. Present to past participles. </b>Sentences like
|
|
</p>
|
|
|
|
<blockquote>
|
|
<p>The verb to carry means the carrying relation.</p>
|
|
|
|
</blockquote>
|
|
|
|
<p class="inwebparagraph">are only one way in which Inform creates new verbs; it also implicitly creates
|
|
verbs when actions are declared:
|
|
</p>
|
|
|
|
<blockquote>
|
|
<p>Smoothing is an action applying to one thing.</p>
|
|
|
|
</blockquote>
|
|
|
|
<p class="inwebparagraph">Verbs like this are not stored in anything like the full conjugations above;
|
|
the action knows just two forms of its verb, the present and past participles.
|
|
This time the base text is the present participle ("smoothing"); the other
|
|
inflection we need is the past participle ("smoothed"), and we need a trie
|
|
which generates it from the present. This process is called "pasturising",
|
|
which is, er, not actually an approved term from linguistics.
|
|
</p>
|
|
|
|
<p class="inwebparagraph">English is replete with exceptions — "catching" must become "caught",
|
|
not "catched", for instance — so this trie consists of about 460 special
|
|
cases followed by two general rules.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">pasturise</span><span class="plain">-</span><span class="identifier">participle</span><span class="plain">> ::=</span>
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">pasturise</span><span class="plain">-</span><span class="identifier">exceptions</span><span class="plain">> |</span>
|
|
<span class="plain">... <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">pasturise</span><span class="plain">-</span><span class="identifier">regular</span><span class="plain">-</span><span class="identifier">y</span><span class="plain">> |</span>
|
|
<span class="plain">... <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">pasturise</span><span class="plain">-</span><span class="identifier">regular</span><span class="plain">></span>
|
|
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">pasturise</span><span class="plain">-</span><span class="identifier">exceptions</span><span class="plain">> ::=</span>
|
|
<span class="identifier">abiding</span><span class="plain"> </span><span class="identifier">abided</span><span class="plain"> |</span>
|
|
<span class="identifier">alighting</span><span class="plain"> </span><span class="identifier">alighted</span><span class="plain"> |</span>
|
|
<span class="identifier">arising</span><span class="plain"> </span><span class="identifier">arisen</span><span class="plain"> |</span>
|
|
<span class="identifier">awaking</span><span class="plain"> </span><span class="identifier">awakened</span><span class="plain"> |</span>
|
|
<span class="identifier">backbiting</span><span class="plain"> </span><span class="identifier">backbitten</span><span class="plain"> |</span>
|
|
<span class="identifier">backsliding</span><span class="plain"> </span><span class="identifier">backslidden</span><span class="plain"> |</span>
|
|
<span class="identifier">bearing</span><span class="plain"> </span><span class="identifier">born</span><span class="plain"> |</span>
|
|
<span class="identifier">beating</span><span class="plain"> </span><span class="identifier">beaten</span><span class="plain"> |</span>
|
|
<span class="identifier">becoming</span><span class="plain"> </span><span class="identifier">become</span><span class="plain"> |</span>
|
|
<span class="identifier">befalling</span><span class="plain"> </span><span class="identifier">befallen</span><span class="plain"> |</span>
|
|
<span class="identifier">begeting</span><span class="plain"> </span><span class="identifier">begotten</span><span class="plain"> |</span>
|
|
<span class="identifier">begining</span><span class="plain"> </span><span class="identifier">begun</span><span class="plain"> |</span>
|
|
<span class="identifier">beholding</span><span class="plain"> </span><span class="identifier">beheld</span><span class="plain"> |</span>
|
|
<span class="identifier">bending</span><span class="plain"> </span><span class="identifier">bent</span><span class="plain"> |</span>
|
|
<span class="identifier">bereaving</span><span class="plain"> </span><span class="identifier">bereaved</span><span class="plain"> |</span>
|
|
<span class="identifier">beseeching</span><span class="plain"> </span><span class="identifier">besought</span><span class="plain"> |</span>
|
|
<span class="identifier">besetting</span><span class="plain"> </span><span class="identifier">beset</span><span class="plain"> |</span>
|
|
<span class="identifier">bestrewing</span><span class="plain"> </span><span class="identifier">bestrewn</span><span class="plain"> |</span>
|
|
<span class="identifier">betting</span><span class="plain"> </span><span class="identifier">bet</span><span class="plain"> |</span>
|
|
<span class="identifier">betaking</span><span class="plain"> </span><span class="identifier">betaken</span><span class="plain"> |</span>
|
|
<span class="identifier">bethinking</span><span class="plain"> </span><span class="identifier">bethought</span><span class="plain"> |</span>
|
|
<span class="identifier">binding</span><span class="plain"> </span><span class="identifier">bound</span><span class="plain"> |</span>
|
|
<span class="identifier">biting</span><span class="plain"> </span><span class="identifier">bitten</span><span class="plain"> |</span>
|
|
<span class="identifier">bleeding</span><span class="plain"> </span><span class="identifier">bled</span><span class="plain"> |</span>
|
|
<span class="identifier">blowing</span><span class="plain"> </span><span class="identifier">blown</span><span class="plain"> |</span>
|
|
<span class="identifier">breaking</span><span class="plain"> </span><span class="identifier">broken</span><span class="plain"> |</span>
|
|
<span class="identifier">breeding</span><span class="plain"> </span><span class="identifier">bred</span><span class="plain"> |</span>
|
|
<span class="identifier">bringing</span><span class="plain"> </span><span class="identifier">brought</span><span class="plain"> |</span>
|
|
<span class="identifier">broadcasting</span><span class="plain"> </span><span class="identifier">broadcast</span><span class="plain"> |</span>
|
|
<span class="identifier">browbeating</span><span class="plain"> </span><span class="identifier">browbeaten</span><span class="plain"> |</span>
|
|
<span class="identifier">building</span><span class="plain"> </span><span class="identifier">built</span><span class="plain"> |</span>
|
|
<span class="identifier">burning</span><span class="plain"> </span><span class="identifier">burned</span><span class="plain"> |</span>
|
|
<span class="identifier">bursting</span><span class="plain"> </span><span class="identifier">burst</span><span class="plain"> |</span>
|
|
<span class="identifier">busting</span><span class="plain"> </span><span class="identifier">busted</span><span class="plain"> |</span>
|
|
<span class="identifier">buying</span><span class="plain"> </span><span class="identifier">bought</span><span class="plain"> |</span>
|
|
<span class="identifier">casting</span><span class="plain"> </span><span class="identifier">cast</span><span class="plain"> |</span>
|
|
<span class="identifier">catching</span><span class="plain"> </span><span class="identifier">caught</span><span class="plain"> |</span>
|
|
<span class="identifier">chiding</span><span class="plain"> </span><span class="identifier">chided</span><span class="plain"> |</span>
|
|
<span class="identifier">choosing</span><span class="plain"> </span><span class="identifier">chosen</span><span class="plain"> |</span>
|
|
<span class="identifier">claping</span><span class="plain"> </span><span class="identifier">clapped</span><span class="plain"> |</span>
|
|
<span class="identifier">clinging</span><span class="plain"> </span><span class="identifier">clung</span><span class="plain"> |</span>
|
|
<span class="identifier">clothing</span><span class="plain"> </span><span class="identifier">clothed</span><span class="plain"> |</span>
|
|
<span class="identifier">coming</span><span class="plain"> </span><span class="identifier">come</span><span class="plain"> |</span>
|
|
<span class="identifier">costing</span><span class="plain"> </span><span class="identifier">cost</span><span class="plain"> |</span>
|
|
<span class="identifier">creeping</span><span class="plain"> </span><span class="identifier">crept</span><span class="plain"> |</span>
|
|
<span class="identifier">crossbreeding</span><span class="plain"> </span><span class="identifier">crossbred</span><span class="plain"> |</span>
|
|
<span class="identifier">cutting</span><span class="plain"> </span><span class="identifier">cut</span><span class="plain"> |</span>
|
|
<span class="identifier">daring</span><span class="plain"> </span><span class="identifier">dared</span><span class="plain"> |</span>
|
|
<span class="identifier">daydreaming</span><span class="plain"> </span><span class="identifier">daydreamed</span><span class="plain"> |</span>
|
|
<span class="identifier">dealing</span><span class="plain"> </span><span class="identifier">dealt</span><span class="plain"> |</span>
|
|
<span class="identifier">diging</span><span class="plain"> </span><span class="identifier">dug</span><span class="plain"> |</span>
|
|
<span class="identifier">dighting</span><span class="plain"> </span><span class="identifier">dighted</span><span class="plain"> |</span>
|
|
<span class="identifier">disproving</span><span class="plain"> </span><span class="identifier">disproved</span><span class="plain"> |</span>
|
|
<span class="identifier">diving</span><span class="plain"> </span><span class="identifier">dived</span><span class="plain"> |</span>
|
|
<span class="identifier">doing</span><span class="plain"> </span><span class="identifier">done</span><span class="plain"> |</span>
|
|
<span class="identifier">drawing</span><span class="plain"> </span><span class="identifier">drawn</span><span class="plain"> |</span>
|
|
<span class="identifier">dreaming</span><span class="plain"> </span><span class="identifier">dreamed</span><span class="plain"> |</span>
|
|
<span class="identifier">drinking</span><span class="plain"> </span><span class="identifier">drunk</span><span class="plain"> |</span>
|
|
<span class="identifier">driving</span><span class="plain"> </span><span class="identifier">driven</span><span class="plain"> |</span>
|
|
<span class="identifier">dwelling</span><span class="plain"> </span><span class="identifier">dwelt</span><span class="plain"> |</span>
|
|
<span class="identifier">eating</span><span class="plain"> </span><span class="identifier">eaten</span><span class="plain"> |</span>
|
|
<span class="identifier">enwinding</span><span class="plain"> </span><span class="identifier">enwound</span><span class="plain"> |</span>
|
|
<span class="identifier">falling</span><span class="plain"> </span><span class="identifier">fallen</span><span class="plain"> |</span>
|
|
<span class="identifier">feeding</span><span class="plain"> </span><span class="identifier">fed</span><span class="plain"> |</span>
|
|
<span class="identifier">feeling</span><span class="plain"> </span><span class="identifier">felt</span><span class="plain"> |</span>
|
|
<span class="identifier">fighting</span><span class="plain"> </span><span class="identifier">fought</span><span class="plain"> |</span>
|
|
<span class="identifier">finding</span><span class="plain"> </span><span class="identifier">found</span><span class="plain"> |</span>
|
|
<span class="identifier">fitting</span><span class="plain"> </span><span class="identifier">fitted</span><span class="plain"> |</span>
|
|
<span class="identifier">fleeing</span><span class="plain"> </span><span class="identifier">fled</span><span class="plain"> |</span>
|
|
<span class="identifier">flinging</span><span class="plain"> </span><span class="identifier">flung</span><span class="plain"> |</span>
|
|
<span class="identifier">flying</span><span class="plain"> </span><span class="identifier">flown</span><span class="plain"> |</span>
|
|
<span class="identifier">forbearing</span><span class="plain"> </span><span class="identifier">forborne</span><span class="plain"> |</span>
|
|
<span class="identifier">forbiding</span><span class="plain"> </span><span class="identifier">forbidden</span><span class="plain"> |</span>
|
|
<span class="identifier">fordoing</span><span class="plain"> </span><span class="identifier">fordone</span><span class="plain"> |</span>
|
|
<span class="identifier">forecasting</span><span class="plain"> </span><span class="identifier">forecast</span><span class="plain"> |</span>
|
|
<span class="identifier">foregoing</span><span class="plain"> </span><span class="identifier">foregone</span><span class="plain"> |</span>
|
|
<span class="identifier">foreknowing</span><span class="plain"> </span><span class="identifier">foreknown</span><span class="plain"> |</span>
|
|
<span class="identifier">foreruning</span><span class="plain"> </span><span class="identifier">forerun</span><span class="plain"> |</span>
|
|
<span class="identifier">foreseeing</span><span class="plain"> </span><span class="identifier">foreseen</span><span class="plain"> |</span>
|
|
<span class="identifier">foreshowing</span><span class="plain"> </span><span class="identifier">foreshown</span><span class="plain"> |</span>
|
|
<span class="identifier">forespeaking</span><span class="plain"> </span><span class="identifier">forespoken</span><span class="plain"> |</span>
|
|
<span class="identifier">foretelling</span><span class="plain"> </span><span class="identifier">foretold</span><span class="plain"> |</span>
|
|
<span class="identifier">forgetting</span><span class="plain"> </span><span class="identifier">forgotten</span><span class="plain"> |</span>
|
|
<span class="identifier">forgiving</span><span class="plain"> </span><span class="identifier">forgiven</span><span class="plain"> |</span>
|
|
<span class="identifier">forsaking</span><span class="plain"> </span><span class="identifier">forsaken</span><span class="plain"> |</span>
|
|
<span class="identifier">forswearing</span><span class="plain"> </span><span class="identifier">forsworn</span><span class="plain"> |</span>
|
|
<span class="identifier">fraughting</span><span class="plain"> </span><span class="identifier">fraught</span><span class="plain"> |</span>
|
|
<span class="identifier">freezing</span><span class="plain"> </span><span class="identifier">frozen</span><span class="plain"> |</span>
|
|
<span class="identifier">frostbiting</span><span class="plain"> </span><span class="identifier">frostbitten</span><span class="plain"> |</span>
|
|
<span class="identifier">gainsaying</span><span class="plain"> </span><span class="identifier">gainsaid</span><span class="plain"> |</span>
|
|
<span class="identifier">getting</span><span class="plain"> </span><span class="identifier">got</span><span class="plain"> |</span>
|
|
<span class="identifier">gilding</span><span class="plain"> </span><span class="identifier">gilded</span><span class="plain"> |</span>
|
|
<span class="identifier">giving</span><span class="plain"> </span><span class="identifier">given</span><span class="plain"> |</span>
|
|
<span class="identifier">going</span><span class="plain"> </span><span class="identifier">gone</span><span class="plain"> |</span>
|
|
<span class="identifier">grinding</span><span class="plain"> </span><span class="identifier">ground</span><span class="plain"> |</span>
|
|
<span class="identifier">growing</span><span class="plain"> </span><span class="identifier">grown</span><span class="plain"> |</span>
|
|
<span class="identifier">halterbreaking</span><span class="plain"> </span><span class="identifier">halterbroken</span><span class="plain"> |</span>
|
|
<span class="identifier">hamstringing</span><span class="plain"> </span><span class="identifier">hamstrung</span><span class="plain"> |</span>
|
|
<span class="identifier">hand</span><span class="plain">-</span><span class="identifier">feeding</span><span class="plain"> </span><span class="identifier">hand</span><span class="plain">-</span><span class="identifier">fed</span><span class="plain"> |</span>
|
|
<span class="identifier">handwriting</span><span class="plain"> </span><span class="identifier">handwritten</span><span class="plain"> |</span>
|
|
<span class="identifier">hanging</span><span class="plain"> </span><span class="identifier">hung</span><span class="plain"> |</span>
|
|
<span class="identifier">hearing</span><span class="plain"> </span><span class="identifier">heard</span><span class="plain"> |</span>
|
|
<span class="identifier">heaving</span><span class="plain"> </span><span class="identifier">heaved</span><span class="plain"> |</span>
|
|
<span class="identifier">hewing</span><span class="plain"> </span><span class="identifier">hewn</span><span class="plain"> |</span>
|
|
<span class="identifier">hiding</span><span class="plain"> </span><span class="identifier">hidden</span><span class="plain"> |</span>
|
|
<span class="identifier">hitting</span><span class="plain"> </span><span class="identifier">hit</span><span class="plain"> |</span>
|
|
<span class="identifier">holding</span><span class="plain"> </span><span class="identifier">held</span><span class="plain"> |</span>
|
|
<span class="identifier">hurting</span><span class="plain"> </span><span class="identifier">hurt</span><span class="plain"> |</span>
|
|
<span class="identifier">inbreeding</span><span class="plain"> </span><span class="identifier">inbred</span><span class="plain"> |</span>
|
|
<span class="identifier">inlaying</span><span class="plain"> </span><span class="identifier">inlaid</span><span class="plain"> |</span>
|
|
<span class="identifier">inputing</span><span class="plain"> </span><span class="identifier">input</span><span class="plain"> |</span>
|
|
<span class="identifier">insetting</span><span class="plain"> </span><span class="identifier">inset</span><span class="plain"> |</span>
|
|
<span class="identifier">interbreeding</span><span class="plain"> </span><span class="identifier">interbred</span><span class="plain"> |</span>
|
|
<span class="identifier">intercutting</span><span class="plain"> </span><span class="identifier">intercut</span><span class="plain"> |</span>
|
|
<span class="identifier">interlaying</span><span class="plain"> </span><span class="identifier">interlaid</span><span class="plain"> |</span>
|
|
<span class="identifier">intersetting</span><span class="plain"> </span><span class="identifier">interset</span><span class="plain"> |</span>
|
|
<span class="identifier">interweaving</span><span class="plain"> </span><span class="identifier">interwoven</span><span class="plain"> |</span>
|
|
<span class="identifier">interwinding</span><span class="plain"> </span><span class="identifier">interwound</span><span class="plain"> |</span>
|
|
<span class="identifier">inweaving</span><span class="plain"> </span><span class="identifier">inwoven</span><span class="plain"> |</span>
|
|
<span class="identifier">jerry</span><span class="plain">-</span><span class="identifier">building</span><span class="plain"> </span><span class="identifier">jerry</span><span class="plain">-</span><span class="identifier">built</span><span class="plain"> |</span>
|
|
<span class="identifier">keeping</span><span class="plain"> </span><span class="identifier">kept</span><span class="plain"> |</span>
|
|
<span class="identifier">kneeling</span><span class="plain"> </span><span class="identifier">knelt</span><span class="plain"> |</span>
|
|
<span class="identifier">knitting</span><span class="plain"> </span><span class="identifier">knitted</span><span class="plain"> |</span>
|
|
<span class="identifier">knowing</span><span class="plain"> </span><span class="identifier">known</span><span class="plain"> |</span>
|
|
<span class="identifier">lading</span><span class="plain"> </span><span class="identifier">laden</span><span class="plain"> |</span>
|
|
<span class="identifier">landsliding</span><span class="plain"> </span><span class="identifier">landslid</span><span class="plain"> |</span>
|
|
<span class="identifier">laying</span><span class="plain"> </span><span class="identifier">laid</span><span class="plain"> |</span>
|
|
<span class="identifier">leading</span><span class="plain"> </span><span class="identifier">led</span><span class="plain"> |</span>
|
|
<span class="identifier">leaning</span><span class="plain"> </span><span class="identifier">leaned</span><span class="plain"> |</span>
|
|
<span class="identifier">leaping</span><span class="plain"> </span><span class="identifier">leaped</span><span class="plain"> |</span>
|
|
<span class="identifier">learning</span><span class="plain"> </span><span class="identifier">learned</span><span class="plain"> |</span>
|
|
<span class="identifier">leaving</span><span class="plain"> </span><span class="identifier">left</span><span class="plain"> |</span>
|
|
<span class="identifier">lending</span><span class="plain"> </span><span class="identifier">lent</span><span class="plain"> |</span>
|
|
<span class="identifier">letting</span><span class="plain"> </span><span class="identifier">let</span><span class="plain"> |</span>
|
|
<span class="identifier">lieing</span><span class="plain"> </span><span class="identifier">lain</span><span class="plain"> |</span>
|
|
<span class="identifier">lighting</span><span class="plain"> </span><span class="identifier">lit</span><span class="plain"> |</span>
|
|
<span class="identifier">lip</span><span class="plain">-</span><span class="identifier">reading</span><span class="plain"> </span><span class="identifier">lip</span><span class="plain">-</span><span class="identifier">read</span><span class="plain"> |</span>
|
|
<span class="identifier">losing</span><span class="plain"> </span><span class="identifier">lost</span><span class="plain"> |</span>
|
|
<span class="identifier">making</span><span class="plain"> </span><span class="identifier">made</span><span class="plain"> |</span>
|
|
<span class="identifier">meaning</span><span class="plain"> </span><span class="identifier">meant</span><span class="plain"> |</span>
|
|
<span class="identifier">meeting</span><span class="plain"> </span><span class="identifier">met</span><span class="plain"> |</span>
|
|
<span class="identifier">misbecoming</span><span class="plain"> </span><span class="identifier">misbecome</span><span class="plain"> |</span>
|
|
<span class="identifier">miscasting</span><span class="plain"> </span><span class="identifier">miscast</span><span class="plain"> |</span>
|
|
<span class="identifier">miscutting</span><span class="plain"> </span><span class="identifier">miscut</span><span class="plain"> |</span>
|
|
<span class="identifier">misdealing</span><span class="plain"> </span><span class="identifier">misdealt</span><span class="plain"> |</span>
|
|
<span class="identifier">misdoing</span><span class="plain"> </span><span class="identifier">misdone</span><span class="plain"> |</span>
|
|
<span class="identifier">mishearing</span><span class="plain"> </span><span class="identifier">misheard</span><span class="plain"> |</span>
|
|
<span class="identifier">mishitting</span><span class="plain"> </span><span class="identifier">mishit</span><span class="plain"> |</span>
|
|
<span class="identifier">mislaying</span><span class="plain"> </span><span class="identifier">mislaid</span><span class="plain"> |</span>
|
|
<span class="identifier">misleading</span><span class="plain"> </span><span class="identifier">misled</span><span class="plain"> |</span>
|
|
<span class="identifier">mislearning</span><span class="plain"> </span><span class="identifier">mislearned</span><span class="plain"> |</span>
|
|
<span class="identifier">misreading</span><span class="plain"> </span><span class="identifier">misread</span><span class="plain"> |</span>
|
|
<span class="identifier">missaying</span><span class="plain"> </span><span class="identifier">missaid</span><span class="plain"> |</span>
|
|
<span class="identifier">missending</span><span class="plain"> </span><span class="identifier">missent</span><span class="plain"> |</span>
|
|
<span class="identifier">missetting</span><span class="plain"> </span><span class="identifier">misset</span><span class="plain"> |</span>
|
|
<span class="identifier">misspeaking</span><span class="plain"> </span><span class="identifier">misspoken</span><span class="plain"> |</span>
|
|
<span class="identifier">misspelling</span><span class="plain"> </span><span class="identifier">misspelled</span><span class="plain"> |</span>
|
|
<span class="identifier">misspending</span><span class="plain"> </span><span class="identifier">misspent</span><span class="plain"> |</span>
|
|
<span class="identifier">misswearing</span><span class="plain"> </span><span class="identifier">missworn</span><span class="plain"> |</span>
|
|
<span class="identifier">mistaking</span><span class="plain"> </span><span class="identifier">mistaken</span><span class="plain"> |</span>
|
|
<span class="identifier">misteaching</span><span class="plain"> </span><span class="identifier">mistaught</span><span class="plain"> |</span>
|
|
<span class="identifier">mistelling</span><span class="plain"> </span><span class="identifier">mistold</span><span class="plain"> |</span>
|
|
<span class="identifier">misthinking</span><span class="plain"> </span><span class="identifier">misthought</span><span class="plain"> |</span>
|
|
<span class="identifier">misunderstanding</span><span class="plain"> </span><span class="identifier">misunderstood</span><span class="plain"> |</span>
|
|
<span class="identifier">miswearing</span><span class="plain"> </span><span class="identifier">misworn</span><span class="plain"> |</span>
|
|
<span class="identifier">misweding</span><span class="plain"> </span><span class="identifier">miswed</span><span class="plain"> |</span>
|
|
<span class="identifier">miswriting</span><span class="plain"> </span><span class="identifier">miswritten</span><span class="plain"> |</span>
|
|
<span class="identifier">mowing</span><span class="plain"> </span><span class="identifier">mowed</span><span class="plain"> |</span>
|
|
<span class="identifier">offsetting</span><span class="plain"> </span><span class="identifier">offset</span><span class="plain"> |</span>
|
|
<span class="identifier">outbiding</span><span class="plain"> </span><span class="identifier">outbid</span><span class="plain"> |</span>
|
|
<span class="identifier">outbreeding</span><span class="plain"> </span><span class="identifier">outbred</span><span class="plain"> |</span>
|
|
<span class="identifier">outdoing</span><span class="plain"> </span><span class="identifier">outdone</span><span class="plain"> |</span>
|
|
<span class="identifier">outdrawing</span><span class="plain"> </span><span class="identifier">outdrawn</span><span class="plain"> |</span>
|
|
<span class="identifier">outdrinking</span><span class="plain"> </span><span class="identifier">outdrunk</span><span class="plain"> |</span>
|
|
<span class="identifier">outdriving</span><span class="plain"> </span><span class="identifier">outdriven</span><span class="plain"> |</span>
|
|
<span class="identifier">outfighting</span><span class="plain"> </span><span class="identifier">outfought</span><span class="plain"> |</span>
|
|
<span class="identifier">outflying</span><span class="plain"> </span><span class="identifier">outflown</span><span class="plain"> |</span>
|
|
<span class="identifier">outgrowing</span><span class="plain"> </span><span class="identifier">outgrown</span><span class="plain"> |</span>
|
|
<span class="identifier">outlaying</span><span class="plain"> </span><span class="identifier">outlaid</span><span class="plain"> |</span>
|
|
<span class="identifier">outleaping</span><span class="plain"> </span><span class="identifier">outleaped</span><span class="plain"> |</span>
|
|
<span class="identifier">outputing</span><span class="plain"> </span><span class="identifier">output</span><span class="plain"> |</span>
|
|
<span class="identifier">outriding</span><span class="plain"> </span><span class="identifier">outridden</span><span class="plain"> |</span>
|
|
<span class="identifier">outruning</span><span class="plain"> </span><span class="identifier">outrun</span><span class="plain"> |</span>
|
|
<span class="identifier">outseeing</span><span class="plain"> </span><span class="identifier">outseen</span><span class="plain"> |</span>
|
|
<span class="identifier">outselling</span><span class="plain"> </span><span class="identifier">outsold</span><span class="plain"> |</span>
|
|
<span class="identifier">outshining</span><span class="plain"> </span><span class="identifier">outshined</span><span class="plain"> |</span>
|
|
<span class="identifier">outshooting</span><span class="plain"> </span><span class="identifier">outshot</span><span class="plain"> |</span>
|
|
<span class="identifier">outsinging</span><span class="plain"> </span><span class="identifier">outsung</span><span class="plain"> |</span>
|
|
<span class="identifier">outsitting</span><span class="plain"> </span><span class="identifier">outsat</span><span class="plain"> |</span>
|
|
<span class="identifier">outsleeping</span><span class="plain"> </span><span class="identifier">outslept</span><span class="plain"> |</span>
|
|
<span class="identifier">outsmelling</span><span class="plain"> </span><span class="identifier">outsmelled</span><span class="plain"> |</span>
|
|
<span class="identifier">outspeaking</span><span class="plain"> </span><span class="identifier">outspoken</span><span class="plain"> |</span>
|
|
<span class="identifier">outspeeding</span><span class="plain"> </span><span class="identifier">outsped</span><span class="plain"> |</span>
|
|
<span class="identifier">outspending</span><span class="plain"> </span><span class="identifier">outspent</span><span class="plain"> |</span>
|
|
<span class="identifier">outspining</span><span class="plain"> </span><span class="identifier">outspun</span><span class="plain"> |</span>
|
|
<span class="identifier">outspringing</span><span class="plain"> </span><span class="identifier">outsprung</span><span class="plain"> |</span>
|
|
<span class="identifier">outstanding</span><span class="plain"> </span><span class="identifier">outstood</span><span class="plain"> |</span>
|
|
<span class="identifier">outswearing</span><span class="plain"> </span><span class="identifier">outsworn</span><span class="plain"> |</span>
|
|
<span class="identifier">outswiming</span><span class="plain"> </span><span class="identifier">outswum</span><span class="plain"> |</span>
|
|
<span class="identifier">outtelling</span><span class="plain"> </span><span class="identifier">outtold</span><span class="plain"> |</span>
|
|
<span class="identifier">outthinking</span><span class="plain"> </span><span class="identifier">outthought</span><span class="plain"> |</span>
|
|
<span class="identifier">outthrowing</span><span class="plain"> </span><span class="identifier">outthrown</span><span class="plain"> |</span>
|
|
<span class="identifier">outwearing</span><span class="plain"> </span><span class="identifier">outworn</span><span class="plain"> |</span>
|
|
<span class="identifier">outwinding</span><span class="plain"> </span><span class="identifier">outwound</span><span class="plain"> |</span>
|
|
<span class="identifier">outwriting</span><span class="plain"> </span><span class="identifier">outwritten</span><span class="plain"> |</span>
|
|
<span class="identifier">overbearing</span><span class="plain"> </span><span class="identifier">overborne</span><span class="plain"> |</span>
|
|
<span class="identifier">overbiding</span><span class="plain"> </span><span class="identifier">overbid</span><span class="plain"> |</span>
|
|
<span class="identifier">overbreeding</span><span class="plain"> </span><span class="identifier">overbred</span><span class="plain"> |</span>
|
|
<span class="identifier">overbuilding</span><span class="plain"> </span><span class="identifier">overbuilt</span><span class="plain"> |</span>
|
|
<span class="identifier">overbuying</span><span class="plain"> </span><span class="identifier">overbought</span><span class="plain"> |</span>
|
|
<span class="identifier">overcasting</span><span class="plain"> </span><span class="identifier">overcast</span><span class="plain"> |</span>
|
|
<span class="identifier">overcoming</span><span class="plain"> </span><span class="identifier">overcome</span><span class="plain"> |</span>
|
|
<span class="identifier">overcutting</span><span class="plain"> </span><span class="identifier">overcut</span><span class="plain"> |</span>
|
|
<span class="identifier">overdoing</span><span class="plain"> </span><span class="identifier">overdone</span><span class="plain"> |</span>
|
|
<span class="identifier">overdrawing</span><span class="plain"> </span><span class="identifier">overdrawn</span><span class="plain"> |</span>
|
|
<span class="identifier">overdrinking</span><span class="plain"> </span><span class="identifier">overdrunk</span><span class="plain"> |</span>
|
|
<span class="identifier">overeating</span><span class="plain"> </span><span class="identifier">overeaten</span><span class="plain"> |</span>
|
|
<span class="identifier">overfeeding</span><span class="plain"> </span><span class="identifier">overfed</span><span class="plain"> |</span>
|
|
<span class="identifier">overhanging</span><span class="plain"> </span><span class="identifier">overhung</span><span class="plain"> |</span>
|
|
<span class="identifier">overhearing</span><span class="plain"> </span><span class="identifier">overheard</span><span class="plain"> |</span>
|
|
<span class="identifier">overlaying</span><span class="plain"> </span><span class="identifier">overlaid</span><span class="plain"> |</span>
|
|
<span class="identifier">overleaping</span><span class="plain"> </span><span class="identifier">overleaped</span><span class="plain"> |</span>
|
|
<span class="identifier">overlieing</span><span class="plain"> </span><span class="identifier">overlain</span><span class="plain"> |</span>
|
|
<span class="identifier">overpaying</span><span class="plain"> </span><span class="identifier">overpaid</span><span class="plain"> |</span>
|
|
<span class="identifier">overriding</span><span class="plain"> </span><span class="identifier">overridden</span><span class="plain"> |</span>
|
|
<span class="identifier">overruning</span><span class="plain"> </span><span class="identifier">overrun</span><span class="plain"> |</span>
|
|
<span class="identifier">overseeing</span><span class="plain"> </span><span class="identifier">overseen</span><span class="plain"> |</span>
|
|
<span class="identifier">overselling</span><span class="plain"> </span><span class="identifier">oversold</span><span class="plain"> |</span>
|
|
<span class="identifier">oversetting</span><span class="plain"> </span><span class="identifier">overset</span><span class="plain"> |</span>
|
|
<span class="identifier">oversewing</span><span class="plain"> </span><span class="identifier">oversewn</span><span class="plain"> |</span>
|
|
<span class="identifier">overshooting</span><span class="plain"> </span><span class="identifier">overshot</span><span class="plain"> |</span>
|
|
<span class="identifier">oversleeping</span><span class="plain"> </span><span class="identifier">overslept</span><span class="plain"> |</span>
|
|
<span class="identifier">oversowing</span><span class="plain"> </span><span class="identifier">oversown</span><span class="plain"> |</span>
|
|
<span class="identifier">overspeaking</span><span class="plain"> </span><span class="identifier">overspoken</span><span class="plain"> |</span>
|
|
<span class="identifier">overspending</span><span class="plain"> </span><span class="identifier">overspent</span><span class="plain"> |</span>
|
|
<span class="identifier">overspilling</span><span class="plain"> </span><span class="identifier">overspilled</span><span class="plain"> |</span>
|
|
<span class="identifier">overspining</span><span class="plain"> </span><span class="identifier">overspun</span><span class="plain"> |</span>
|
|
<span class="identifier">overspreading</span><span class="plain"> </span><span class="identifier">overspread</span><span class="plain"> |</span>
|
|
<span class="identifier">overspringing</span><span class="plain"> </span><span class="identifier">oversprung</span><span class="plain"> |</span>
|
|
<span class="identifier">overstanding</span><span class="plain"> </span><span class="identifier">overstood</span><span class="plain"> |</span>
|
|
<span class="identifier">overstrewing</span><span class="plain"> </span><span class="identifier">overstrewn</span><span class="plain"> |</span>
|
|
<span class="identifier">overstriding</span><span class="plain"> </span><span class="identifier">overstridden</span><span class="plain"> |</span>
|
|
<span class="identifier">overstriking</span><span class="plain"> </span><span class="identifier">overstruck</span><span class="plain"> |</span>
|
|
<span class="identifier">overtaking</span><span class="plain"> </span><span class="identifier">overtaken</span><span class="plain"> |</span>
|
|
<span class="identifier">overthinking</span><span class="plain"> </span><span class="identifier">overthought</span><span class="plain"> |</span>
|
|
<span class="identifier">overthrowing</span><span class="plain"> </span><span class="identifier">overthrown</span><span class="plain"> |</span>
|
|
<span class="identifier">overwearing</span><span class="plain"> </span><span class="identifier">overworn</span><span class="plain"> |</span>
|
|
<span class="identifier">overwinding</span><span class="plain"> </span><span class="identifier">overwound</span><span class="plain"> |</span>
|
|
<span class="identifier">overwriting</span><span class="plain"> </span><span class="identifier">overwritten</span><span class="plain"> |</span>
|
|
<span class="identifier">partaking</span><span class="plain"> </span><span class="identifier">partaken</span><span class="plain"> |</span>
|
|
<span class="identifier">paying</span><span class="plain"> </span><span class="identifier">paid</span><span class="plain"> |</span>
|
|
<span class="identifier">pleading</span><span class="plain"> </span><span class="identifier">pleaded</span><span class="plain"> |</span>
|
|
<span class="identifier">praying</span><span class="plain"> </span><span class="identifier">prayed</span><span class="plain"> |</span>
|
|
<span class="identifier">prebuilding</span><span class="plain"> </span><span class="identifier">prebuilt</span><span class="plain"> |</span>
|
|
<span class="identifier">predoing</span><span class="plain"> </span><span class="identifier">predone</span><span class="plain"> |</span>
|
|
<span class="identifier">premaking</span><span class="plain"> </span><span class="identifier">premade</span><span class="plain"> |</span>
|
|
<span class="identifier">prepaying</span><span class="plain"> </span><span class="identifier">prepaid</span><span class="plain"> |</span>
|
|
<span class="identifier">preselling</span><span class="plain"> </span><span class="identifier">presold</span><span class="plain"> |</span>
|
|
<span class="identifier">presetting</span><span class="plain"> </span><span class="identifier">preset</span><span class="plain"> |</span>
|
|
<span class="identifier">preshrinking</span><span class="plain"> </span><span class="identifier">preshrunk</span><span class="plain"> |</span>
|
|
<span class="identifier">presplitting</span><span class="plain"> </span><span class="identifier">presplit</span><span class="plain"> |</span>
|
|
<span class="identifier">proofreading</span><span class="plain"> </span><span class="identifier">proofread</span><span class="plain"> |</span>
|
|
<span class="identifier">proving</span><span class="plain"> </span><span class="identifier">proven</span><span class="plain"> |</span>
|
|
<span class="identifier">putting</span><span class="plain"> </span><span class="identifier">put</span><span class="plain"> |</span>
|
|
<span class="identifier">quick</span><span class="plain">-</span><span class="identifier">freezing</span><span class="plain"> </span><span class="identifier">quick</span><span class="plain">-</span><span class="identifier">frozen</span><span class="plain"> |</span>
|
|
<span class="identifier">quiting</span><span class="plain"> </span><span class="identifier">quit</span><span class="plain"> |</span>
|
|
<span class="identifier">reading</span><span class="plain"> </span><span class="identifier">read</span><span class="plain"> |</span>
|
|
<span class="identifier">reawaking</span><span class="plain"> </span><span class="identifier">reawaken</span><span class="plain"> |</span>
|
|
<span class="identifier">rebiding</span><span class="plain"> </span><span class="identifier">rebid</span><span class="plain"> |</span>
|
|
<span class="identifier">rebinding</span><span class="plain"> </span><span class="identifier">rebound</span><span class="plain"> |</span>
|
|
<span class="identifier">rebroadcasting</span><span class="plain"> </span><span class="identifier">rebroadcast</span><span class="plain"> |</span>
|
|
<span class="identifier">rebuilding</span><span class="plain"> </span><span class="identifier">rebuilt</span><span class="plain"> |</span>
|
|
<span class="identifier">recasting</span><span class="plain"> </span><span class="identifier">recast</span><span class="plain"> |</span>
|
|
<span class="identifier">recutting</span><span class="plain"> </span><span class="identifier">recut</span><span class="plain"> |</span>
|
|
<span class="identifier">redealing</span><span class="plain"> </span><span class="identifier">redealt</span><span class="plain"> |</span>
|
|
<span class="identifier">redoing</span><span class="plain"> </span><span class="identifier">redone</span><span class="plain"> |</span>
|
|
<span class="identifier">redrawing</span><span class="plain"> </span><span class="identifier">redrawn</span><span class="plain"> |</span>
|
|
<span class="identifier">reeving</span><span class="plain"> </span><span class="identifier">reeved</span><span class="plain"> |</span>
|
|
<span class="identifier">refitting</span><span class="plain"> </span><span class="identifier">refitted</span><span class="plain"> |</span>
|
|
<span class="identifier">regrinding</span><span class="plain"> </span><span class="identifier">reground</span><span class="plain"> |</span>
|
|
<span class="identifier">regrowing</span><span class="plain"> </span><span class="identifier">regrown</span><span class="plain"> |</span>
|
|
<span class="identifier">rehanging</span><span class="plain"> </span><span class="identifier">rehung</span><span class="plain"> |</span>
|
|
<span class="identifier">rehearing</span><span class="plain"> </span><span class="identifier">reheard</span><span class="plain"> |</span>
|
|
<span class="identifier">reknitting</span><span class="plain"> </span><span class="identifier">reknitted</span><span class="plain"> |</span>
|
|
<span class="identifier">relearning</span><span class="plain"> </span><span class="identifier">relearned</span><span class="plain"> |</span>
|
|
<span class="identifier">relighting</span><span class="plain"> </span><span class="identifier">relit</span><span class="plain"> |</span>
|
|
<span class="identifier">remaking</span><span class="plain"> </span><span class="identifier">remade</span><span class="plain"> |</span>
|
|
<span class="identifier">rending</span><span class="plain"> </span><span class="identifier">rent</span><span class="plain"> |</span>
|
|
<span class="identifier">repaying</span><span class="plain"> </span><span class="identifier">repaid</span><span class="plain"> |</span>
|
|
<span class="identifier">rereading</span><span class="plain"> </span><span class="identifier">reread</span><span class="plain"> |</span>
|
|
<span class="identifier">reruning</span><span class="plain"> </span><span class="identifier">rerun</span><span class="plain"> |</span>
|
|
<span class="identifier">reselling</span><span class="plain"> </span><span class="identifier">resold</span><span class="plain"> |</span>
|
|
<span class="identifier">resending</span><span class="plain"> </span><span class="identifier">resent</span><span class="plain"> |</span>
|
|
<span class="identifier">resetting</span><span class="plain"> </span><span class="identifier">reset</span><span class="plain"> |</span>
|
|
<span class="identifier">resewing</span><span class="plain"> </span><span class="identifier">resewn</span><span class="plain"> |</span>
|
|
<span class="identifier">retaking</span><span class="plain"> </span><span class="identifier">retaken</span><span class="plain"> |</span>
|
|
<span class="identifier">reteaching</span><span class="plain"> </span><span class="identifier">retaught</span><span class="plain"> |</span>
|
|
<span class="identifier">retearing</span><span class="plain"> </span><span class="identifier">retorn</span><span class="plain"> |</span>
|
|
<span class="identifier">retelling</span><span class="plain"> </span><span class="identifier">retold</span><span class="plain"> |</span>
|
|
<span class="identifier">rethinking</span><span class="plain"> </span><span class="identifier">rethought</span><span class="plain"> |</span>
|
|
<span class="identifier">retreading</span><span class="plain"> </span><span class="identifier">retread</span><span class="plain"> |</span>
|
|
<span class="identifier">retrofitting</span><span class="plain"> </span><span class="identifier">retrofitted</span><span class="plain"> |</span>
|
|
<span class="identifier">rewaking</span><span class="plain"> </span><span class="identifier">rewaken</span><span class="plain"> |</span>
|
|
<span class="identifier">rewearing</span><span class="plain"> </span><span class="identifier">reworn</span><span class="plain"> |</span>
|
|
<span class="identifier">reweaving</span><span class="plain"> </span><span class="identifier">rewoven</span><span class="plain"> |</span>
|
|
<span class="identifier">reweding</span><span class="plain"> </span><span class="identifier">rewed</span><span class="plain"> |</span>
|
|
<span class="identifier">reweting</span><span class="plain"> </span><span class="identifier">rewet</span><span class="plain"> |</span>
|
|
<span class="identifier">rewining</span><span class="plain"> </span><span class="identifier">rewon</span><span class="plain"> |</span>
|
|
<span class="identifier">rewinding</span><span class="plain"> </span><span class="identifier">rewound</span><span class="plain"> |</span>
|
|
<span class="identifier">rewriting</span><span class="plain"> </span><span class="identifier">rewritten</span><span class="plain"> |</span>
|
|
<span class="identifier">riding</span><span class="plain"> </span><span class="identifier">rid</span><span class="plain"> |</span>
|
|
<span class="identifier">riding</span><span class="plain"> </span><span class="identifier">ridden</span><span class="plain"> |</span>
|
|
<span class="identifier">ringing</span><span class="plain"> </span><span class="identifier">rung</span><span class="plain"> |</span>
|
|
<span class="identifier">rising</span><span class="plain"> </span><span class="identifier">risen</span><span class="plain"> |</span>
|
|
<span class="identifier">riving</span><span class="plain"> </span><span class="identifier">riven</span><span class="plain"> |</span>
|
|
<span class="identifier">roughcasting</span><span class="plain"> </span><span class="identifier">roughcast</span><span class="plain"> |</span>
|
|
<span class="identifier">running</span><span class="plain"> </span><span class="identifier">run</span><span class="plain"> |</span>
|
|
<span class="identifier">sand</span><span class="plain">-</span><span class="identifier">casting</span><span class="plain"> </span><span class="identifier">sand</span><span class="plain">-</span><span class="identifier">cast</span><span class="plain"> |</span>
|
|
<span class="identifier">sawing</span><span class="plain"> </span><span class="identifier">sawed</span><span class="plain"> |</span>
|
|
<span class="identifier">saying</span><span class="plain"> </span><span class="identifier">said</span><span class="plain"> |</span>
|
|
<span class="identifier">seeing</span><span class="plain"> </span><span class="identifier">seen</span><span class="plain"> |</span>
|
|
<span class="identifier">seeking</span><span class="plain"> </span><span class="identifier">sought</span><span class="plain"> |</span>
|
|
<span class="identifier">self</span><span class="plain">-</span><span class="identifier">feeding</span><span class="plain"> </span><span class="identifier">self</span><span class="plain">-</span><span class="identifier">fed</span><span class="plain"> |</span>
|
|
<span class="identifier">self</span><span class="plain">-</span><span class="identifier">sowing</span><span class="plain"> </span><span class="identifier">self</span><span class="plain">-</span><span class="identifier">sown</span><span class="plain"> |</span>
|
|
<span class="identifier">selling</span><span class="plain"> </span><span class="identifier">sold</span><span class="plain"> |</span>
|
|
<span class="identifier">sending</span><span class="plain"> </span><span class="identifier">sent</span><span class="plain"> |</span>
|
|
<span class="identifier">setting</span><span class="plain"> </span><span class="identifier">set</span><span class="plain"> |</span>
|
|
<span class="identifier">sewing</span><span class="plain"> </span><span class="identifier">sewn</span><span class="plain"> |</span>
|
|
<span class="identifier">shaking</span><span class="plain"> </span><span class="identifier">shaken</span><span class="plain"> |</span>
|
|
<span class="identifier">shaving</span><span class="plain"> </span><span class="identifier">shaved</span><span class="plain"> |</span>
|
|
<span class="identifier">shearing</span><span class="plain"> </span><span class="identifier">sheared</span><span class="plain"> |</span>
|
|
<span class="identifier">sheding</span><span class="plain"> </span><span class="identifier">shed</span><span class="plain"> |</span>
|
|
<span class="identifier">shining</span><span class="plain"> </span><span class="identifier">shined</span><span class="plain"> |</span>
|
|
<span class="identifier">shoeing</span><span class="plain"> </span><span class="identifier">shoed</span><span class="plain"> |</span>
|
|
<span class="identifier">shooting</span><span class="plain"> </span><span class="identifier">shot</span><span class="plain"> |</span>
|
|
<span class="identifier">showing</span><span class="plain"> </span><span class="identifier">shown</span><span class="plain"> |</span>
|
|
<span class="identifier">shrinking</span><span class="plain"> </span><span class="identifier">shrunk</span><span class="plain"> |</span>
|
|
<span class="identifier">shriving</span><span class="plain"> </span><span class="identifier">shriven</span><span class="plain"> |</span>
|
|
<span class="identifier">shutting</span><span class="plain"> </span><span class="identifier">shut</span><span class="plain"> |</span>
|
|
<span class="identifier">sight</span><span class="plain">-</span><span class="identifier">reading</span><span class="plain"> </span><span class="identifier">sight</span><span class="plain">-</span><span class="identifier">read</span><span class="plain"> |</span>
|
|
<span class="identifier">singing</span><span class="plain"> </span><span class="identifier">sung</span><span class="plain"> |</span>
|
|
<span class="identifier">sinking</span><span class="plain"> </span><span class="identifier">sunk</span><span class="plain"> |</span>
|
|
<span class="identifier">siting</span><span class="plain"> </span><span class="identifier">sat</span><span class="plain"> |</span>
|
|
<span class="identifier">skywriting</span><span class="plain"> </span><span class="identifier">skywritten</span><span class="plain"> |</span>
|
|
<span class="identifier">sleeping</span><span class="plain"> </span><span class="identifier">slept</span><span class="plain"> |</span>
|
|
<span class="identifier">sliding</span><span class="plain"> </span><span class="identifier">slid</span><span class="plain"> |</span>
|
|
<span class="identifier">slinging</span><span class="plain"> </span><span class="identifier">slung</span><span class="plain"> |</span>
|
|
<span class="identifier">slinking</span><span class="plain"> </span><span class="identifier">slinked</span><span class="plain"> |</span>
|
|
<span class="identifier">slitting</span><span class="plain"> </span><span class="identifier">slit</span><span class="plain"> |</span>
|
|
<span class="identifier">smelling</span><span class="plain"> </span><span class="identifier">smelled</span><span class="plain"> |</span>
|
|
<span class="identifier">smiting</span><span class="plain"> </span><span class="identifier">smitten</span><span class="plain"> |</span>
|
|
<span class="identifier">sneaking</span><span class="plain"> </span><span class="identifier">sneaked</span><span class="plain"> |</span>
|
|
<span class="identifier">sowing</span><span class="plain"> </span><span class="identifier">sown</span><span class="plain"> |</span>
|
|
<span class="identifier">speaking</span><span class="plain"> </span><span class="identifier">spoken</span><span class="plain"> |</span>
|
|
<span class="identifier">speeding</span><span class="plain"> </span><span class="identifier">sped</span><span class="plain"> |</span>
|
|
<span class="identifier">spelling</span><span class="plain"> </span><span class="identifier">spelled</span><span class="plain"> |</span>
|
|
<span class="identifier">spending</span><span class="plain"> </span><span class="identifier">spent</span><span class="plain"> |</span>
|
|
<span class="identifier">spilling</span><span class="plain"> </span><span class="identifier">spilled</span><span class="plain"> |</span>
|
|
<span class="identifier">spinning</span><span class="plain"> </span><span class="identifier">spun</span><span class="plain"> |</span>
|
|
<span class="identifier">spitting</span><span class="plain"> </span><span class="identifier">spit</span><span class="plain"> |</span>
|
|
<span class="identifier">splitting</span><span class="plain"> </span><span class="identifier">split</span><span class="plain"> |</span>
|
|
<span class="identifier">spoiling</span><span class="plain"> </span><span class="identifier">spoiled</span><span class="plain"> |</span>
|
|
<span class="identifier">spoon</span><span class="plain">-</span><span class="identifier">feeding</span><span class="plain"> </span><span class="identifier">spoon</span><span class="plain">-</span><span class="identifier">fed</span><span class="plain"> |</span>
|
|
<span class="identifier">spreading</span><span class="plain"> </span><span class="identifier">spread</span><span class="plain"> |</span>
|
|
<span class="identifier">springing</span><span class="plain"> </span><span class="identifier">sprung</span><span class="plain"> |</span>
|
|
<span class="identifier">stall</span><span class="plain">-</span><span class="identifier">feeding</span><span class="plain"> </span><span class="identifier">stall</span><span class="plain">-</span><span class="identifier">fed</span><span class="plain"> |</span>
|
|
<span class="identifier">standing</span><span class="plain"> </span><span class="identifier">stood</span><span class="plain"> |</span>
|
|
<span class="identifier">staving</span><span class="plain"> </span><span class="identifier">staved</span><span class="plain"> |</span>
|
|
<span class="identifier">stealing</span><span class="plain"> </span><span class="identifier">stolen</span><span class="plain"> |</span>
|
|
<span class="identifier">sticking</span><span class="plain"> </span><span class="identifier">stuck</span><span class="plain"> |</span>
|
|
<span class="identifier">stinging</span><span class="plain"> </span><span class="identifier">stung</span><span class="plain"> |</span>
|
|
<span class="identifier">stinking</span><span class="plain"> </span><span class="identifier">stunk</span><span class="plain"> |</span>
|
|
<span class="identifier">strewing</span><span class="plain"> </span><span class="identifier">strewn</span><span class="plain"> |</span>
|
|
<span class="identifier">striding</span><span class="plain"> </span><span class="identifier">stridden</span><span class="plain"> |</span>
|
|
<span class="identifier">striking</span><span class="plain"> </span><span class="identifier">struck</span><span class="plain"> |</span>
|
|
<span class="identifier">stringing</span><span class="plain"> </span><span class="identifier">strung</span><span class="plain"> |</span>
|
|
<span class="identifier">striping</span><span class="plain"> </span><span class="identifier">stripped</span><span class="plain"> |</span>
|
|
<span class="identifier">striving</span><span class="plain"> </span><span class="identifier">striven</span><span class="plain"> |</span>
|
|
<span class="identifier">subletting</span><span class="plain"> </span><span class="identifier">sublet</span><span class="plain"> |</span>
|
|
<span class="identifier">sunburning</span><span class="plain"> </span><span class="identifier">sunburned</span><span class="plain"> |</span>
|
|
<span class="identifier">swearing</span><span class="plain"> </span><span class="identifier">sworn</span><span class="plain"> |</span>
|
|
<span class="identifier">sweating</span><span class="plain"> </span><span class="identifier">sweat</span><span class="plain"> |</span>
|
|
<span class="identifier">sweeping</span><span class="plain"> </span><span class="identifier">swept</span><span class="plain"> |</span>
|
|
<span class="identifier">swelling</span><span class="plain"> </span><span class="identifier">swollen</span><span class="plain"> |</span>
|
|
<span class="identifier">swiming</span><span class="plain"> </span><span class="identifier">swum</span><span class="plain"> |</span>
|
|
<span class="identifier">swinging</span><span class="plain"> </span><span class="identifier">swung</span><span class="plain"> |</span>
|
|
<span class="identifier">taking</span><span class="plain"> </span><span class="identifier">taken</span><span class="plain"> |</span>
|
|
<span class="identifier">teaching</span><span class="plain"> </span><span class="identifier">taught</span><span class="plain"> |</span>
|
|
<span class="identifier">tearing</span><span class="plain"> </span><span class="identifier">torn</span><span class="plain"> |</span>
|
|
<span class="identifier">telecasting</span><span class="plain"> </span><span class="identifier">telecast</span><span class="plain"> |</span>
|
|
<span class="identifier">telling</span><span class="plain"> </span><span class="identifier">told</span><span class="plain"> |</span>
|
|
<span class="identifier">test</span><span class="plain">-</span><span class="identifier">driving</span><span class="plain"> </span><span class="identifier">test</span><span class="plain">-</span><span class="identifier">driven</span><span class="plain"> |</span>
|
|
<span class="identifier">test</span><span class="plain">-</span><span class="identifier">flying</span><span class="plain"> </span><span class="identifier">test</span><span class="plain">-</span><span class="identifier">flown</span><span class="plain"> |</span>
|
|
<span class="identifier">thinking</span><span class="plain"> </span><span class="identifier">thought</span><span class="plain"> |</span>
|
|
<span class="identifier">thriving</span><span class="plain"> </span><span class="identifier">thrived</span><span class="plain"> |</span>
|
|
<span class="identifier">throwing</span><span class="plain"> </span><span class="identifier">thrown</span><span class="plain"> |</span>
|
|
<span class="identifier">thrusting</span><span class="plain"> </span><span class="identifier">thrust</span><span class="plain"> |</span>
|
|
<span class="identifier">treading</span><span class="plain"> </span><span class="identifier">trodden</span><span class="plain"> |</span>
|
|
<span class="identifier">troubleshooting</span><span class="plain"> </span><span class="identifier">troubleshot</span><span class="plain"> |</span>
|
|
<span class="identifier">typecasting</span><span class="plain"> </span><span class="identifier">typecast</span><span class="plain"> |</span>
|
|
<span class="identifier">typesetting</span><span class="plain"> </span><span class="identifier">typeset</span><span class="plain"> |</span>
|
|
<span class="identifier">typewriting</span><span class="plain"> </span><span class="identifier">typewritten</span><span class="plain"> |</span>
|
|
<span class="identifier">unbearing</span><span class="plain"> </span><span class="identifier">unborn</span><span class="plain"> |</span>
|
|
<span class="identifier">unbending</span><span class="plain"> </span><span class="identifier">unbent</span><span class="plain"> |</span>
|
|
<span class="identifier">unbinding</span><span class="plain"> </span><span class="identifier">unbound</span><span class="plain"> |</span>
|
|
<span class="identifier">unbuilding</span><span class="plain"> </span><span class="identifier">unbuilt</span><span class="plain"> |</span>
|
|
<span class="identifier">underbiding</span><span class="plain"> </span><span class="identifier">underbid</span><span class="plain"> |</span>
|
|
<span class="identifier">underbuying</span><span class="plain"> </span><span class="identifier">underbought</span><span class="plain"> |</span>
|
|
<span class="identifier">undercutting</span><span class="plain"> </span><span class="identifier">undercut</span><span class="plain"> |</span>
|
|
<span class="identifier">underfeeding</span><span class="plain"> </span><span class="identifier">underfed</span><span class="plain"> |</span>
|
|
<span class="identifier">undergoing</span><span class="plain"> </span><span class="identifier">undergone</span><span class="plain"> |</span>
|
|
<span class="identifier">underlaying</span><span class="plain"> </span><span class="identifier">underlaid</span><span class="plain"> |</span>
|
|
<span class="identifier">underletting</span><span class="plain"> </span><span class="identifier">underlet</span><span class="plain"> |</span>
|
|
<span class="identifier">underlieing</span><span class="plain"> </span><span class="identifier">underlain</span><span class="plain"> |</span>
|
|
<span class="identifier">underruning</span><span class="plain"> </span><span class="identifier">underrun</span><span class="plain"> |</span>
|
|
<span class="identifier">underselling</span><span class="plain"> </span><span class="identifier">undersold</span><span class="plain"> |</span>
|
|
<span class="identifier">undershooting</span><span class="plain"> </span><span class="identifier">undershot</span><span class="plain"> |</span>
|
|
<span class="identifier">underspending</span><span class="plain"> </span><span class="identifier">underspent</span><span class="plain"> |</span>
|
|
<span class="identifier">understanding</span><span class="plain"> </span><span class="identifier">understood</span><span class="plain"> |</span>
|
|
<span class="identifier">undertaking</span><span class="plain"> </span><span class="identifier">undertaken</span><span class="plain"> |</span>
|
|
<span class="identifier">underthrusting</span><span class="plain"> </span><span class="identifier">underthrust</span><span class="plain"> |</span>
|
|
<span class="identifier">underwriting</span><span class="plain"> </span><span class="identifier">underwritten</span><span class="plain"> |</span>
|
|
<span class="identifier">undoing</span><span class="plain"> </span><span class="identifier">undone</span><span class="plain"> |</span>
|
|
<span class="identifier">undrawing</span><span class="plain"> </span><span class="identifier">undrawn</span><span class="plain"> |</span>
|
|
<span class="identifier">unfreezing</span><span class="plain"> </span><span class="identifier">unfrozen</span><span class="plain"> |</span>
|
|
<span class="identifier">unhanging</span><span class="plain"> </span><span class="identifier">unhung</span><span class="plain"> |</span>
|
|
<span class="identifier">unhiding</span><span class="plain"> </span><span class="identifier">unhidden</span><span class="plain"> |</span>
|
|
<span class="identifier">unholding</span><span class="plain"> </span><span class="identifier">unheld</span><span class="plain"> |</span>
|
|
<span class="identifier">unknitting</span><span class="plain"> </span><span class="identifier">unknitted</span><span class="plain"> |</span>
|
|
<span class="identifier">unlading</span><span class="plain"> </span><span class="identifier">unladen</span><span class="plain"> |</span>
|
|
<span class="identifier">unlaying</span><span class="plain"> </span><span class="identifier">unlaid</span><span class="plain"> |</span>
|
|
<span class="identifier">unlearning</span><span class="plain"> </span><span class="identifier">unlearned</span><span class="plain"> |</span>
|
|
<span class="identifier">unmaking</span><span class="plain"> </span><span class="identifier">unmade</span><span class="plain"> |</span>
|
|
<span class="identifier">unreeving</span><span class="plain"> </span><span class="identifier">unreeved</span><span class="plain"> |</span>
|
|
<span class="identifier">unsaying</span><span class="plain"> </span><span class="identifier">unsaid</span><span class="plain"> |</span>
|
|
<span class="identifier">unsewing</span><span class="plain"> </span><span class="identifier">unsewn</span><span class="plain"> |</span>
|
|
<span class="identifier">unslinging</span><span class="plain"> </span><span class="identifier">unslung</span><span class="plain"> |</span>
|
|
<span class="identifier">unspining</span><span class="plain"> </span><span class="identifier">unspun</span><span class="plain"> |</span>
|
|
<span class="identifier">unsticking</span><span class="plain"> </span><span class="identifier">unstuck</span><span class="plain"> |</span>
|
|
<span class="identifier">unstringing</span><span class="plain"> </span><span class="identifier">unstrung</span><span class="plain"> |</span>
|
|
<span class="identifier">unswearing</span><span class="plain"> </span><span class="identifier">unsworn</span><span class="plain"> |</span>
|
|
<span class="identifier">unteaching</span><span class="plain"> </span><span class="identifier">untaught</span><span class="plain"> |</span>
|
|
<span class="identifier">unthinking</span><span class="plain"> </span><span class="identifier">unthought</span><span class="plain"> |</span>
|
|
<span class="identifier">unweaving</span><span class="plain"> </span><span class="identifier">unwoven</span><span class="plain"> |</span>
|
|
<span class="identifier">unwinding</span><span class="plain"> </span><span class="identifier">unwound</span><span class="plain"> |</span>
|
|
<span class="identifier">unwriting</span><span class="plain"> </span><span class="identifier">unwritten</span><span class="plain"> |</span>
|
|
<span class="identifier">upholding</span><span class="plain"> </span><span class="identifier">upheld</span><span class="plain"> |</span>
|
|
<span class="identifier">upsetting</span><span class="plain"> </span><span class="identifier">upset</span><span class="plain"> |</span>
|
|
<span class="identifier">vexing</span><span class="plain"> </span><span class="identifier">vexed</span><span class="plain"> |</span>
|
|
<span class="identifier">waking</span><span class="plain"> </span><span class="identifier">woken</span><span class="plain"> |</span>
|
|
<span class="identifier">waylaying</span><span class="plain"> </span><span class="identifier">waylaid</span><span class="plain"> |</span>
|
|
<span class="identifier">wearing</span><span class="plain"> </span><span class="identifier">worn</span><span class="plain"> |</span>
|
|
<span class="identifier">weaving</span><span class="plain"> </span><span class="identifier">woven</span><span class="plain"> |</span>
|
|
<span class="identifier">weding</span><span class="plain"> </span><span class="identifier">wed</span><span class="plain"> |</span>
|
|
<span class="identifier">weeping</span><span class="plain"> </span><span class="identifier">wept</span><span class="plain"> |</span>
|
|
<span class="identifier">wetting</span><span class="plain"> </span><span class="identifier">wet</span><span class="plain"> |</span>
|
|
<span class="identifier">wining</span><span class="plain"> </span><span class="identifier">won</span><span class="plain"> |</span>
|
|
<span class="identifier">winding</span><span class="plain"> </span><span class="identifier">wound</span><span class="plain"> |</span>
|
|
<span class="identifier">withdrawing</span><span class="plain"> </span><span class="identifier">withdrawn</span><span class="plain"> |</span>
|
|
<span class="identifier">withholding</span><span class="plain"> </span><span class="identifier">withheld</span><span class="plain"> |</span>
|
|
<span class="identifier">withstanding</span><span class="plain"> </span><span class="identifier">withstood</span><span class="plain"> |</span>
|
|
<span class="identifier">wringing</span><span class="plain"> </span><span class="identifier">wrung</span><span class="plain"> |</span>
|
|
<span class="identifier">writing</span><span class="plain"> </span><span class="identifier">written</span>
|
|
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">pasturise</span><span class="plain">-</span><span class="identifier">regular</span><span class="plain">-</span><span class="identifier">y</span><span class="plain">> ::=</span>
|
|
<span class="plain">*</span><span class="identifier">aying</span><span class="plain"> </span><span class="constant">3</span><span class="identifier">ed</span><span class="plain"> | </span><span class="comment"> e.g., "slaying" to "slayed"</span>
|
|
<span class="plain">*</span><span class="identifier">eying</span><span class="plain"> </span><span class="constant">3</span><span class="identifier">ed</span><span class="plain"> | </span><span class="comment"> e.g., "preying" to "preyed"</span>
|
|
<span class="plain">*</span><span class="identifier">oying</span><span class="plain"> </span><span class="constant">3</span><span class="identifier">ed</span><span class="plain"> | </span><span class="comment"> e.g., "toying" to "toyed"</span>
|
|
<span class="plain">*</span><span class="identifier">ying</span><span class="plain"> </span><span class="constant">4</span><span class="identifier">ied</span><span class="plain"> </span><span class="comment"> e.g., "verifying" to "verified"</span>
|
|
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">trie</span><span class="plain">-</span><span class="identifier">pasturise</span><span class="plain">-</span><span class="identifier">regular</span><span class="plain">> ::=</span>
|
|
<span class="plain">*</span><span class="identifier">ing</span><span class="plain"> </span><span class="constant">3</span><span class="identifier">ed</span><span class="plain"> </span><span class="comment"> e.g., "smashing" to "smashed"</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP48"></a><b>§48. Adjective agreements. </b>English doesn't inflect adjectives at all (let's not argue about "blond"
|
|
and "blonde"), so the following are just stubs.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">adjective</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">plural</span><span class="plain">> ::=</span>
|
|
<span class="plain">* </span><span class="constant">0</span>
|
|
|
|
<span class="plain"><</span><span class="identifier">adjective</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">masculine</span><span class="plain">-</span><span class="identifier">singular</span><span class="plain">> ::=</span>
|
|
<span class="plain">* </span><span class="constant">0</span>
|
|
|
|
<span class="plain"><</span><span class="identifier">adjective</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">feminine</span><span class="plain">-</span><span class="identifier">singular</span><span class="plain">> ::=</span>
|
|
<span class="plain">* </span><span class="constant">0</span>
|
|
|
|
<span class="plain"><</span><span class="identifier">adjective</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">masculine</span><span class="plain">-</span><span class="identifier">plural</span><span class="plain">> ::=</span>
|
|
<span class="plain">* </span><span class="constant">0</span>
|
|
|
|
<span class="plain"><</span><span class="identifier">adjective</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">feminine</span><span class="plain">-</span><span class="identifier">plural</span><span class="plain">> ::=</span>
|
|
<span class="plain">* </span><span class="constant">0</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP49"></a><b>§49. </b>Grading of adjectives is more interesting. These spelling rules are taken
|
|
from the Oxford English Grammar at 4.24, "Gradability and comparison".
|
|
Something we can't easily implement is that a final vowel plus consonant
|
|
doesn't result in doubling the consonant (in the way that "big" becomes
|
|
"bigger") if that closing syllable is unstressed, but fortunately this is
|
|
rare in English adjectives.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">adjective</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">comparative</span><span class="plain">> ::=</span>
|
|
<span class="identifier">good</span><span class="plain"> </span><span class="identifier">better</span><span class="plain"> |</span>
|
|
<span class="identifier">well</span><span class="plain"> </span><span class="identifier">better</span><span class="plain"> |</span>
|
|
<span class="identifier">bad</span><span class="plain"> </span><span class="identifier">worse</span><span class="plain"> |</span>
|
|
<span class="identifier">far</span><span class="plain"> </span><span class="identifier">farther</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">e</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">er</span><span class="plain"> | </span><span class="comment"> e.g. "close" to "closer"</span>
|
|
<span class="plain">*<</span><span class="identifier">bcdfghkmlnprstvwxyz</span><span class="plain">></span><span class="identifier">y</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">ier</span><span class="plain"> | </span><span class="comment"> e.g. "ugly" to "uglier"</span>
|
|
<span class="plain">*<</span><span class="identifier">aeiou</span><span class="plain">><</span><span class="identifier">aeiou</span><span class="plain">><</span><span class="identifier">bcdfghkmlnprstvxyz</span><span class="plain">> </span><span class="constant">0</span><span class="identifier">er</span><span class="plain"> | </span><span class="comment"> e.g. "cheap" to "cheaper", not "cheapper"</span>
|
|
<span class="plain">*<</span><span class="identifier">aeiou</span><span class="plain">><</span><span class="identifier">bcdfghkmlnprstvxyz</span><span class="plain">> </span><span class="constant">0</span><span class="plain">+</span><span class="identifier">er</span><span class="plain"> | </span><span class="comment"> e.g. "fit" to "fitter"</span>
|
|
<span class="plain">* </span><span class="constant">0</span><span class="identifier">er</span>
|
|
|
|
<span class="plain"><</span><span class="identifier">adjective</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">superlative</span><span class="plain">> ::=</span>
|
|
<span class="identifier">good</span><span class="plain"> </span><span class="identifier">best</span><span class="plain"> |</span>
|
|
<span class="identifier">well</span><span class="plain"> </span><span class="identifier">best</span><span class="plain"> |</span>
|
|
<span class="identifier">bad</span><span class="plain"> </span><span class="identifier">worst</span><span class="plain"> |</span>
|
|
<span class="identifier">far</span><span class="plain"> </span><span class="identifier">farthest</span><span class="plain"> |</span>
|
|
<span class="plain">*</span><span class="identifier">e</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">est</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">bcdfghkmlnprstvwxyz</span><span class="plain">></span><span class="identifier">y</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">iest</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">aeiou</span><span class="plain">><</span><span class="identifier">aeiou</span><span class="plain">><</span><span class="identifier">bcdfghkmlnprstvxyz</span><span class="plain">> </span><span class="constant">0</span><span class="identifier">est</span><span class="plain"> |</span>
|
|
<span class="plain">*<</span><span class="identifier">aeiou</span><span class="plain">><</span><span class="identifier">bcdfghkmlnprstvxyz</span><span class="plain">> </span><span class="constant">0</span><span class="plain">+</span><span class="identifier">est</span><span class="plain"> |</span>
|
|
<span class="plain">* </span><span class="constant">0</span><span class="identifier">est</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP50"></a><b>§50. </b>To the best of my knowledge there's no technical term for "the noun which
|
|
is formed from an adjective to refer to the quality it measures", so the
|
|
Inform source code calls this the "quiddity". English permits several
|
|
competing forms of these to be constructed, depending on the adjective's
|
|
spelling (for example, "brutal" can become "brutality", but "small" can't
|
|
become "smallity"), but in general, except for Anglo-Saxon cases, the "-ness"
|
|
suffix seems universally possible. For simplicity we'll use that; note the
|
|
OEG's warning at 9.21 that this avoids problems where these forms, though
|
|
notionally equivalent, have diverged in meaning: e.g., "casualty" should
|
|
mean the same as "casualness", but no longer does. The "-ness" form is
|
|
sometimes less elegant, but never means the wrong thing.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">adjective</span><span class="plain">-</span><span class="identifier">to</span><span class="plain">-</span><span class="identifier">quiddity</span><span class="plain">> ::=</span>
|
|
<span class="plain">*</span><span class="identifier">ong</span><span class="plain"> </span><span class="constant">3</span><span class="identifier">ength</span><span class="plain"> | </span><span class="comment"> e.g. "strong" to "strength"</span>
|
|
<span class="plain">*<</span><span class="identifier">bcdfghkmlnprstvwxyz</span><span class="plain">></span><span class="identifier">y</span><span class="plain"> </span><span class="constant">1</span><span class="identifier">iness</span><span class="plain"> | </span><span class="comment"> e.g. "happy" to "happiness"</span>
|
|
<span class="plain">* </span><span class="constant">0</span><span class="identifier">ness</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP51"></a><b>§51. </b>English has almost no noun cases at all, with the only exceptions being
|
|
Anglo-Saxon pronouns (thus we distinguish "they" and "them" as nominative
|
|
and accusative, for example); and pronouns we handle separately in any
|
|
case. We won't bother to distinguish gender:
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">grammatical</span><span class="plain">-</span><span class="reserved">case</span><span class="plain">-</span><span class="identifier">names</span><span class="plain">> ::=</span>
|
|
<span class="identifier">nominative</span><span class="plain"> | </span><span class="identifier">accusative</span>
|
|
|
|
<span class="plain"><</span><span class="identifier">noun</span><span class="plain">-</span><span class="reserved">declension</span><span class="plain">> ::=</span>
|
|
<span class="plain">* <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">noun</span><span class="plain">-</span><span class="reserved">declension</span><span class="plain">-</span><span class="identifier">group</span><span class="plain">> <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">noun</span><span class="plain">-</span><span class="reserved">declension</span><span class="plain">-</span><span class="identifier">tables</span><span class="plain">></span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP52"></a><b>§52. </b>And the sorting into groups sorts everything into "group 1", the only group:
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">noun</span><span class="plain">-</span><span class="reserved">declension</span><span class="plain">-</span><span class="identifier">group</span><span class="plain">> ::=</span>
|
|
<span class="plain">* </span><span class="constant">1</span>
|
|
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">noun</span><span class="plain">-</span><span class="reserved">declension</span><span class="plain">-</span><span class="identifier">tables</span><span class="plain">> ::=</span>
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">noun</span><span class="plain">-</span><span class="reserved">declension</span><span class="plain">-</span><span class="identifier">uninflected</span><span class="plain">></span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP53"></a><b>§53. </b>And in this single group, nominative and accusative forms are identical
|
|
to the stem in both singular and plural.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">noun</span><span class="plain">-</span><span class="reserved">declension</span><span class="plain">-</span><span class="identifier">uninflected</span><span class="plain">> ::=</span>
|
|
<span class="constant">0</span><span class="plain"> | </span><span class="constant">0</span><span class="plain"> |</span>
|
|
<span class="constant">0</span><span class="plain"> | </span><span class="constant">0</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<p class="inwebparagraph"><a id="SP54"></a><b>§54. </b>English articles only inflect slightly, to show indefinite plurals; they
|
|
don't distinguish nominative from accusative.
|
|
</p>
|
|
|
|
<pre class="display">
|
|
<span class="plain"><</span><span class="identifier">article</span><span class="plain">-</span><span class="reserved">declension</span><span class="plain">> ::=</span>
|
|
<span class="plain">* <</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">article</span><span class="plain">-</span><span class="reserved">declension</span><span class="plain">></span>
|
|
|
|
<span class="plain"><</span><span class="identifier">en</span><span class="plain">-</span><span class="identifier">article</span><span class="plain">-</span><span class="reserved">declension</span><span class="plain">> ::=</span>
|
|
<span class="identifier">a</span><span class="plain"> </span><span class="identifier">a</span><span class="plain"> </span><span class="identifier">a</span>
|
|
<span class="identifier">some</span><span class="plain"> </span><span class="identifier">some</span><span class="plain"> |</span>
|
|
<span class="identifier">the</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> </span><span class="identifier">the</span><span class="plain"> |</span>
|
|
<span class="identifier">the</span><span class="plain"> </span><span class="identifier">the</span>
|
|
</pre>
|
|
|
|
<p class="inwebparagraph"></p>
|
|
|
|
<!--End of weave-->
|
|
<script src="http://code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
|
|
<script type="text/javascript">
|
|
(function() {
|
|
(function($) {
|
|
return $.bigfoot = function(options) {
|
|
var addBreakpoint, baseFontSize, bigfoot, buttonHover, calculatePixelDimension, cleanFootnoteLinks, clickButton, createPopover, defaults, deleteEmptyOrHR, escapeKeypress, footnoteInit, getSetting, makeDefaultCallbacks, popoverStates, positionTooltip, removeBackLinks, removeBreakpoint, removePopovers, replaceWithReferenceAttributes, repositionFeet, roomCalc, settings, touchClick, unhoverFeet, updateSetting, viewportDetails;
|
|
bigfoot = void 0;
|
|
defaults = {
|
|
actionOriginalFN: "hide",
|
|
activateCallback: function() {},
|
|
activateOnHover: false,
|
|
allowMultipleFN: false,
|
|
anchorPattern: /(fn|footnote|note)[:\-_\d]/gi,
|
|
anchorParentTagname: 'sup',
|
|
breakpoints: {},
|
|
deleteOnUnhover: false,
|
|
footnoteParentClass: 'footnote',
|
|
footnoteTagname: 'li',
|
|
hoverDelay: 250,
|
|
numberResetSelector: void 0,
|
|
popoverDeleteDelay: 300,
|
|
popoverCreateDelay: 100,
|
|
positionContent: true,
|
|
preventPageScroll: true,
|
|
scope: false,
|
|
useFootnoteOnlyOnce: true,
|
|
contentMarkup: "<aside class=\"bigfoot-footnote is-positioned-bottom\" data-footnote-number=\"{{FOOTNOTENUM}}\" data-footnote-identifier=\"{{FOOTNOTEID}}\" alt=\"Footnote {{FOOTNOTENUM}}\"> <div class=\"bigfoot-footnote__wrapper\"> <div class=\"bigfoot-footnote__content\"> {{FOOTNOTECONTENT}} </div></div> <div class=\"bigfoot-footnote__tooltip\"></div> </aside>",
|
|
buttonMarkup: "<div class='bigfoot-footnote__container'> <button class=\"bigfoot-footnote__button\" id=\"{{SUP:data-footnote-backlink-ref}}\" data-footnote-number=\"{{FOOTNOTENUM}}\" data-footnote-identifier=\"{{FOOTNOTEID}}\" alt=\"See Footnote {{FOOTNOTENUM}}\" rel=\"footnote\" data-bigfoot-footnote=\"{{FOOTNOTECONTENT}}\"> <svg class=\"bigfoot-footnote__button__circle\" viewbox=\"0 0 6 6\" preserveAspectRatio=\"xMinYMin\"><circle r=\"3\" cx=\"3\" cy=\"3\" fill=\"white\"></circle></svg> <svg class=\"bigfoot-footnote__button__circle\" viewbox=\"0 0 6 6\" preserveAspectRatio=\"xMinYMin\"><circle r=\"3\" cx=\"3\" cy=\"3\" fill=\"white\"></circle></svg> <svg class=\"bigfoot-footnote__button__circle\" viewbox=\"0 0 6 6\" preserveAspectRatio=\"xMinYMin\"><circle r=\"3\" cx=\"3\" cy=\"3\" fill=\"white\"></circle></svg> </button></div>"
|
|
};
|
|
settings = $.extend(defaults, options);
|
|
popoverStates = {};
|
|
footnoteInit = function() {
|
|
var $curResetElement, $currentLastFootnoteLink, $footnoteAnchors, $footnoteButton, $lastResetElement, $parent, $relevantFNLink, $relevantFootnote, finalFNLinks, footnoteButton, footnoteButtonSearchQuery, footnoteContent, footnoteIDNum, footnoteLinks, footnoteNum, footnotes, i, _i, _ref, _results;
|
|
footnoteButtonSearchQuery = settings.scope ? "" + settings.scope + " a[href*=\"#\"]" : "a[href*=\"#\"]";
|
|
$footnoteAnchors = $(footnoteButtonSearchQuery).filter(function() {
|
|
var $this, relAttr;
|
|
$this = $(this);
|
|
relAttr = $this.attr("rel");
|
|
if (relAttr === "null" || (relAttr == null)) {
|
|
relAttr = "";
|
|
}
|
|
return ("" + ($this.attr("href")) + relAttr).match(settings.anchorPattern) && $this.closest("[class*=" + settings.footnoteParentClass + "]:not(a):not(" + settings.anchorParentTagname + ")").length < 1;
|
|
});
|
|
footnotes = [];
|
|
footnoteLinks = [];
|
|
finalFNLinks = [];
|
|
cleanFootnoteLinks($footnoteAnchors, footnoteLinks);
|
|
$(footnoteLinks).each(function() {
|
|
var $closestFootnoteEl, relatedFN;
|
|
relatedFN = $(this).data("footnote-ref").replace(/[:.+~*\]\[]/g, "\\$&");
|
|
if (settings.useFootnoteOnlyOnce) {
|
|
relatedFN = "" + relatedFN + ":not(.footnote-processed)";
|
|
}
|
|
$closestFootnoteEl = $(relatedFN).closest(settings.footnoteTagname);
|
|
if ($closestFootnoteEl.length > 0) {
|
|
footnotes.push($closestFootnoteEl.first().addClass("footnote-processed"));
|
|
return finalFNLinks.push(this);
|
|
}
|
|
});
|
|
$currentLastFootnoteLink = $("[data-footnote-identifier]:last");
|
|
footnoteIDNum = $currentLastFootnoteLink.length < 1 ? 0 : +$currentLastFootnoteLink.data("footnote-identifier");
|
|
_results = [];
|
|
for (i = _i = 0, _ref = footnotes.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {
|
|
footnoteContent = removeBackLinks($(footnotes[i]).html().trim(), $(finalFNLinks[i]).data("footnote-backlink-ref"));
|
|
footnoteContent = footnoteContent.replace(/"/g, """).replace(/</g, "<sym;").replace(/>/g, ">sym;");
|
|
footnoteIDNum += 1;
|
|
footnoteButton = "";
|
|
$relevantFNLink = $(finalFNLinks[i]);
|
|
$relevantFootnote = $(footnotes[i]);
|
|
if (settings.numberResetSelector != null) {
|
|
$curResetElement = $relevantFNLink.closest(settings.numberResetSelector);
|
|
if ($curResetElement.is($lastResetElement)) {
|
|
footnoteNum += 1;
|
|
} else {
|
|
footnoteNum = 1;
|
|
}
|
|
$lastResetElement = $curResetElement;
|
|
} else {
|
|
footnoteNum = footnoteIDNum;
|
|
}
|
|
if (footnoteContent.indexOf("<") !== 0) {
|
|
footnoteContent = "<p>" + footnoteContent + "</p>";
|
|
}
|
|
footnoteButton = settings.buttonMarkup.replace(/\{\{FOOTNOTENUM\}\}/g, footnoteNum).replace(/\{\{FOOTNOTEID\}\}/g, footnoteIDNum).replace(/\{\{FOOTNOTECONTENT\}\}/g, footnoteContent);
|
|
footnoteButton = replaceWithReferenceAttributes(footnoteButton, "SUP", $relevantFNLink);
|
|
footnoteButton = replaceWithReferenceAttributes(footnoteButton, "FN", $relevantFootnote);
|
|
$footnoteButton = $(footnoteButton).insertBefore($relevantFNLink);
|
|
$parent = $relevantFootnote.parent();
|
|
switch (settings.actionOriginalFN.toLowerCase()) {
|
|
case "hide":
|
|
$relevantFNLink.addClass("footnote-print-only");
|
|
$relevantFootnote.addClass("footnote-print-only");
|
|
_results.push(deleteEmptyOrHR($parent));
|
|
break;
|
|
case "delete":
|
|
$relevantFNLink.remove();
|
|
$relevantFootnote.remove();
|
|
_results.push(deleteEmptyOrHR($parent));
|
|
break;
|
|
default:
|
|
_results.push($relevantFNLink.addClass("footnote-print-only"));
|
|
}
|
|
}
|
|
return _results;
|
|
};
|
|
cleanFootnoteLinks = function($footnoteAnchors, footnoteLinks) {
|
|
var $parent, $supChild, linkHREF, linkID;
|
|
if (footnoteLinks == null) {
|
|
footnoteLinks = [];
|
|
}
|
|
$parent = void 0;
|
|
$supChild = void 0;
|
|
linkHREF = void 0;
|
|
linkID = void 0;
|
|
$footnoteAnchors.each(function() {
|
|
var $child, $this;
|
|
$this = $(this);
|
|
linkHREF = "#" + ($this.attr("href")).split("#")[1];
|
|
$parent = $this.closest(settings.anchorParentTagname);
|
|
$child = $this.find(settings.anchorParentTagname);
|
|
if ($parent.length > 0) {
|
|
linkID = ($parent.attr("id") || "") + ($this.attr("id") || "");
|
|
return footnoteLinks.push($parent.attr({
|
|
"data-footnote-backlink-ref": linkID,
|
|
"data-footnote-ref": linkHREF
|
|
}));
|
|
} else if ($child.length > 0) {
|
|
linkID = ($child.attr("id") || "") + ($this.attr("id") || "");
|
|
return footnoteLinks.push($this.attr({
|
|
"data-footnote-backlink-ref": linkID,
|
|
"data-footnote-ref": linkHREF
|
|
}));
|
|
} else {
|
|
linkID = $this.attr("id") || "";
|
|
return footnoteLinks.push($this.attr({
|
|
"data-footnote-backlink-ref": linkID,
|
|
"data-footnote-ref": linkHREF
|
|
}));
|
|
}
|
|
});
|
|
};
|
|
deleteEmptyOrHR = function($el) {
|
|
var $parent;
|
|
$parent = void 0;
|
|
if ($el.is(":empty") || $el.children(":not(.footnote-print-only)").length === 0) {
|
|
$parent = $el.parent();
|
|
if (settings.actionOriginalFN.toLowerCase() === "delete") {
|
|
$el.remove();
|
|
} else {
|
|
$el.addClass("footnote-print-only");
|
|
}
|
|
return deleteEmptyOrHR($parent);
|
|
} else if ($el.children(":not(.footnote-print-only)").length === $el.children("hr:not(.footnote-print-only)").length) {
|
|
$parent = $el.parent();
|
|
if (settings.actionOriginalFN.toLowerCase() === "delete") {
|
|
$el.remove();
|
|
} else {
|
|
$el.children("hr").addClass("footnote-print-only");
|
|
$el.addClass("footnote-print-only");
|
|
}
|
|
return deleteEmptyOrHR($parent);
|
|
}
|
|
};
|
|
removeBackLinks = function(footnoteHTML, backlinkID) {
|
|
var regex;
|
|
if (backlinkID.indexOf(' ') >= 0) {
|
|
backlinkID = backlinkID.trim().replace(/\s+/g, "|").replace(/(.*)/g, "($1)");
|
|
}
|
|
regex = new RegExp("(\\s| )*<\\s*a[^#<]*#" + backlinkID + "[^>]*>(.*?)<\\s*/\\s*a>", "g");
|
|
return footnoteHTML.replace(regex, "").replace("[]", "");
|
|
};
|
|
replaceWithReferenceAttributes = function(string, referenceKeyword, $referenceElement) {
|
|
var refMatches, refRegex, refReplaceRegex, refReplaceText;
|
|
refRegex = new RegExp("\\{\\{" + referenceKeyword + ":([^\\}]*)\\}\\}", "g");
|
|
refMatches = void 0;
|
|
refReplaceText = void 0;
|
|
refReplaceRegex = void 0;
|
|
refMatches = refRegex.exec(string);
|
|
while (refMatches) {
|
|
if (refMatches[1]) {
|
|
refReplaceText = $referenceElement.attr(refMatches[1]) || "";
|
|
string = string.replace("{{" + referenceKeyword + ":" + refMatches[1] + "}}", refReplaceText);
|
|
}
|
|
refMatches = refRegex.exec(string);
|
|
}
|
|
return string;
|
|
};
|
|
buttonHover = function(event) {
|
|
var $buttonHovered, dataIdentifier, otherPopoverSelector;
|
|
if (settings.activateOnHover) {
|
|
$buttonHovered = $(event.target).closest(".bigfoot-footnote__button");
|
|
dataIdentifier = "[data-footnote-identifier=\"" + ($buttonHovered.attr("data-footnote-identifier")) + "\"]";
|
|
if ($buttonHovered.hasClass("is-active")) {
|
|
return;
|
|
}
|
|
$buttonHovered.addClass("is-hover-instantiated");
|
|
if (!settings.allowMultipleFN) {
|
|
otherPopoverSelector = ".bigfoot-footnote:not(" + dataIdentifier + ")";
|
|
removePopovers(otherPopoverSelector);
|
|
}
|
|
createPopover(".bigfoot-footnote__button" + dataIdentifier).addClass("is-hover-instantiated");
|
|
}
|
|
};
|
|
touchClick = function(event) {
|
|
var $nearButton, $nearFootnote, $target;
|
|
$target = $(event.target);
|
|
$nearButton = $target.closest(".bigfoot-footnote__button");
|
|
$nearFootnote = $target.closest(".bigfoot-footnote");
|
|
if ($nearButton.length > 0) {
|
|
event.preventDefault();
|
|
clickButton($nearButton);
|
|
} else if ($nearFootnote.length < 1) {
|
|
if ($(".bigfoot-footnote").length > 0) {
|
|
removePopovers();
|
|
}
|
|
}
|
|
};
|
|
clickButton = function($button) {
|
|
var dataIdentifier;
|
|
$button.blur();
|
|
dataIdentifier = "data-footnote-identifier=\"" + ($button.attr("data-footnote-identifier")) + "\"";
|
|
if ($button.hasClass("changing")) {
|
|
return;
|
|
} else if (!$button.hasClass("is-active")) {
|
|
$button.addClass("changing");
|
|
setTimeout((function() {
|
|
return $button.removeClass("changing");
|
|
}), settings.popoverCreateDelay);
|
|
createPopover(".bigfoot-footnote__button[" + dataIdentifier + "]");
|
|
$button.addClass("is-click-instantiated");
|
|
if (!settings.allowMultipleFN) {
|
|
removePopovers(".bigfoot-footnote:not([" + dataIdentifier + "])");
|
|
}
|
|
} else {
|
|
if (!settings.allowMultipleFN) {
|
|
removePopovers();
|
|
} else {
|
|
removePopovers(".bigfoot-footnote[" + dataIdentifier + "]");
|
|
}
|
|
}
|
|
};
|
|
createPopover = function(selector) {
|
|
var $buttons, $popoversCreated;
|
|
$buttons = void 0;
|
|
if (typeof selector !== "string" && settings.allowMultipleFN) {
|
|
$buttons = selector;
|
|
} else if (typeof selector !== "string") {
|
|
$buttons = selector.first();
|
|
} else if (settings.allowMultipleFN) {
|
|
$buttons = $(selector).closest(".bigfoot-footnote__button");
|
|
} else {
|
|
$buttons = $(selector + ":first").closest(".bigfoot-footnote__button");
|
|
}
|
|
$popoversCreated = $();
|
|
$buttons.each(function() {
|
|
var $content, $contentContainer, $this, content;
|
|
$this = $(this);
|
|
content = void 0;
|
|
try {
|
|
content = settings.contentMarkup.replace(/\{\{FOOTNOTENUM\}\}/g, $this.attr("data-footnote-number")).replace(/\{\{FOOTNOTEID\}\}/g, $this.attr("data-footnote-identifier")).replace(/\{\{FOOTNOTECONTENT\}\}/g, $this.attr("data-bigfoot-footnote")).replace(/\>sym\;/g, ">").replace(/\<sym\;/g, "<");
|
|
return content = replaceWithReferenceAttributes(content, "BUTTON", $this);
|
|
} finally {
|
|
$content = $(content);
|
|
try {
|
|
settings.activateCallback($content, $this);
|
|
} catch (_error) {}
|
|
$content.insertAfter($buttons);
|
|
popoverStates[$this.attr("data-footnote-identifier")] = "init";
|
|
$content.attr("bigfoot-max-width", calculatePixelDimension($content.css("max-width"), $content));
|
|
$content.css("max-width", 10000);
|
|
$contentContainer = $content.find(".bigfoot-footnote__content");
|
|
$content.attr("data-bigfoot-max-height", calculatePixelDimension($contentContainer.css("max-height"), $contentContainer));
|
|
repositionFeet();
|
|
$this.addClass("is-active");
|
|
$content.find(".bigfoot-footnote__content").bindScrollHandler();
|
|
$popoversCreated = $popoversCreated.add($content);
|
|
}
|
|
});
|
|
setTimeout((function() {
|
|
return $popoversCreated.addClass("is-active");
|
|
}), settings.popoverCreateDelay);
|
|
return $popoversCreated;
|
|
};
|
|
baseFontSize = function() {
|
|
var el, size;
|
|
el = document.createElement("div");
|
|
el.style.cssText = "display:inline-block;padding:0;line-height:1;position:absolute;visibility:hidden;font-size:1em;";
|
|
el.appendChild(document.createElement("M"));
|
|
document.body.appendChild(el);
|
|
size = el.offsetHeight;
|
|
document.body.removeChild(el);
|
|
return size;
|
|
};
|
|
calculatePixelDimension = function(dim, $el) {
|
|
if (dim === "none") {
|
|
dim = 10000;
|
|
} else if (dim.indexOf("rem") >= 0) {
|
|
dim = parseFloat(dim) * baseFontSize();
|
|
} else if (dim.indexOf("em") >= 0) {
|
|
dim = parseFloat(dim) * parseFloat($el.css("font-size"));
|
|
} else if (dim.indexOf("px") >= 0) {
|
|
dim = parseFloat(dim);
|
|
if (dim <= 60) {
|
|
dim = dim / parseFloat($el.parent().css("width"));
|
|
}
|
|
} else if (dim.indexOf("%") >= 0) {
|
|
dim = parseFloat(dim) / 100;
|
|
}
|
|
return dim;
|
|
};
|
|
$.fn.bindScrollHandler = function() {
|
|
if (!settings.preventPageScroll) {
|
|
return $(this);
|
|
}
|
|
$(this).on("DOMMouseScroll mousewheel", function(event) {
|
|
var $popover, $this, delta, height, prevent, scrollHeight, scrollTop, up;
|
|
$this = $(this);
|
|
scrollTop = $this.scrollTop();
|
|
scrollHeight = $this[0].scrollHeight;
|
|
height = parseInt($this.css("height"));
|
|
$popover = $this.closest(".bigfoot-footnote");
|
|
if ($this.scrollTop() > 0 && $this.scrollTop() < 10) {
|
|
$popover.addClass("is-scrollable");
|
|
}
|
|
if (!$popover.hasClass("is-scrollable")) {
|
|
return;
|
|
}
|
|
delta = event.type === "DOMMouseScroll" ? event.originalEvent.detail * -40 : event.originalEvent.wheelDelta;
|
|
up = delta > 0;
|
|
prevent = function() {
|
|
event.stopPropagation();
|
|
event.preventDefault();
|
|
event.returnValue = false;
|
|
return false;
|
|
};
|
|
if (!up && -delta > scrollHeight - height - scrollTop) {
|
|
$this.scrollTop(scrollHeight);
|
|
$popover.addClass("is-fully-scrolled");
|
|
return prevent();
|
|
} else if (up && delta > scrollTop) {
|
|
$this.scrollTop(0);
|
|
$popover.removeClass("is-fully-scrolled");
|
|
return prevent();
|
|
} else {
|
|
return $popover.removeClass("is-fully-scrolled");
|
|
}
|
|
});
|
|
return $(this);
|
|
};
|
|
unhoverFeet = function(e) {
|
|
if (settings.deleteOnUnhover && settings.activateOnHover) {
|
|
return setTimeout((function() {
|
|
var $target;
|
|
$target = $(e.target).closest(".bigfoot-footnote, .bigfoot-footnote__button");
|
|
if ($(".bigfoot-footnote__button:hover, .bigfoot-footnote:hover").length < 1) {
|
|
return removePopovers();
|
|
}
|
|
}), settings.hoverDelay);
|
|
}
|
|
};
|
|
escapeKeypress = function(event) {
|
|
if (event.keyCode === 27) {
|
|
return removePopovers();
|
|
}
|
|
};
|
|
removePopovers = function(footnotes, timeout) {
|
|
var $buttonsClosed, $linkedButton, $this, footnoteID;
|
|
if (footnotes == null) {
|
|
footnotes = ".bigfoot-footnote";
|
|
}
|
|
if (timeout == null) {
|
|
timeout = settings.popoverDeleteDelay;
|
|
}
|
|
$buttonsClosed = $();
|
|
footnoteID = void 0;
|
|
$linkedButton = void 0;
|
|
$this = void 0;
|
|
$(footnotes).each(function() {
|
|
$this = $(this);
|
|
footnoteID = $this.attr("data-footnote-identifier");
|
|
$linkedButton = $(".bigfoot-footnote__button[data-footnote-identifier=\"" + footnoteID + "\"]");
|
|
if (!$linkedButton.hasClass("changing")) {
|
|
$buttonsClosed = $buttonsClosed.add($linkedButton);
|
|
$linkedButton.removeClass("is-active is-hover-instantiated is-click-instantiated").addClass("changing");
|
|
$this.removeClass("is-active").addClass("disapearing");
|
|
return setTimeout((function() {
|
|
$this.remove();
|
|
delete popoverStates[footnoteID];
|
|
return $linkedButton.removeClass("changing");
|
|
}), timeout);
|
|
}
|
|
});
|
|
return $buttonsClosed;
|
|
};
|
|
repositionFeet = function(e) {
|
|
var type;
|
|
if (settings.positionContent) {
|
|
type = e ? e.type : "resize";
|
|
$(".bigfoot-footnote").each(function() {
|
|
var $button, $contentWrapper, $mainWrap, $this, dataIdentifier, identifier, lastState, marginSize, maxHeightInCSS, maxHeightOnScreen, maxWidth, maxWidthInCSS, positionOnTop, relativeToWidth, roomLeft, totalHeight;
|
|
$this = $(this);
|
|
identifier = $this.attr("data-footnote-identifier");
|
|
dataIdentifier = "data-footnote-identifier=\"" + identifier + "\"";
|
|
$contentWrapper = $this.find(".bigfoot-footnote__content");
|
|
$button = $this.siblings(".bigfoot-footnote__button");
|
|
roomLeft = roomCalc($button);
|
|
marginSize = parseFloat($this.css("margin-top"));
|
|
maxHeightInCSS = +($this.attr("data-bigfoot-max-height"));
|
|
totalHeight = 2 * marginSize + $this.outerHeight();
|
|
maxHeightOnScreen = 10000;
|
|
positionOnTop = roomLeft.bottomRoom < totalHeight && roomLeft.topRoom > roomLeft.bottomRoom;
|
|
lastState = popoverStates[identifier];
|
|
if (positionOnTop) {
|
|
if (lastState !== "top") {
|
|
popoverStates[identifier] = "top";
|
|
$this.addClass("is-positioned-top").removeClass("is-positioned-bottom");
|
|
$this.css("transform-origin", (roomLeft.leftRelative * 100) + "% 100%");
|
|
}
|
|
maxHeightOnScreen = roomLeft.topRoom - marginSize - 15;
|
|
} else {
|
|
if (lastState !== "bottom" || lastState === "init") {
|
|
popoverStates[identifier] = "bottom";
|
|
$this.removeClass("is-positioned-top").addClass("is-positioned-bottom");
|
|
$this.css("transform-origin", (roomLeft.leftRelative * 100) + "% 0%");
|
|
}
|
|
maxHeightOnScreen = roomLeft.bottomRoom - marginSize - 15;
|
|
}
|
|
$this.find(".bigfoot-footnote__content").css({
|
|
"max-height": Math.min(maxHeightOnScreen, maxHeightInCSS) + "px"
|
|
});
|
|
if (type === "resize") {
|
|
maxWidthInCSS = parseFloat($this.attr("bigfoot-max-width"));
|
|
$mainWrap = $this.find(".bigfoot-footnote__wrapper");
|
|
maxWidth = maxWidthInCSS;
|
|
if (maxWidthInCSS <= 1) {
|
|
relativeToWidth = (function() {
|
|
var jq, userSpecifiedRelativeElWidth;
|
|
userSpecifiedRelativeElWidth = 10000;
|
|
if (settings.maxWidthRelativeTo) {
|
|
jq = $(settings.maxWidthRelativeTo);
|
|
if (jq.length > 0) {
|
|
userSpecifiedRelativeElWidth = jq.outerWidth();
|
|
}
|
|
}
|
|
return Math.min(window.innerWidth, userSpecifiedRelativeElWidth);
|
|
})();
|
|
maxWidth = relativeToWidth * maxWidthInCSS;
|
|
}
|
|
maxWidth = Math.min(maxWidth, $this.find(".bigfoot-footnote__content").outerWidth() + 1);
|
|
$mainWrap.css("max-width", maxWidth + "px");
|
|
$this.css({
|
|
left: (-roomLeft.leftRelative * maxWidth + parseFloat($button.css("margin-left")) + $button.outerWidth() / 2) + "px"
|
|
});
|
|
positionTooltip($this, roomLeft.leftRelative);
|
|
}
|
|
if (parseInt($this.outerHeight()) < $this.find(".bigfoot-footnote__content")[0].scrollHeight) {
|
|
return $this.addClass("is-scrollable");
|
|
}
|
|
});
|
|
}
|
|
};
|
|
positionTooltip = function($popover, leftRelative) {
|
|
var $tooltip;
|
|
if (leftRelative == null) {
|
|
leftRelative = 0.5;
|
|
}
|
|
$tooltip = $popover.find(".bigfoot-footnote__tooltip");
|
|
if ($tooltip.length > 0) {
|
|
$tooltip.css("left", "" + (leftRelative * 100) + "%");
|
|
}
|
|
};
|
|
roomCalc = function($el) {
|
|
var elHeight, elLeftMargin, elWidth, leftRoom, topRoom, w;
|
|
elLeftMargin = parseFloat($el.css("margin-left"));
|
|
elWidth = parseFloat($el.outerWidth()) - elLeftMargin;
|
|
elHeight = parseFloat($el.outerHeight());
|
|
w = viewportDetails();
|
|
topRoom = $el.offset().top - w.scrollY + elHeight / 2;
|
|
leftRoom = $el.offset().left - w.scrollX + elWidth / 2;
|
|
return {
|
|
topRoom: topRoom,
|
|
bottomRoom: w.height - topRoom,
|
|
leftRoom: leftRoom,
|
|
rightRoom: w.width - leftRoom,
|
|
leftRelative: leftRoom / w.width,
|
|
topRelative: topRoom / w.height
|
|
};
|
|
};
|
|
viewportDetails = function() {
|
|
var $window;
|
|
$window = $(window);
|
|
return {
|
|
width: window.innerWidth,
|
|
height: window.innerHeight,
|
|
scrollX: $window.scrollLeft(),
|
|
scrollY: $window.scrollTop()
|
|
};
|
|
};
|
|
addBreakpoint = function(size, trueCallback, falseCallback, deleteDelay, removeOpen) {
|
|
var falseDefaultPositionSetting, minMax, mqListener, mql, query, s, trueDefaultPositionSetting;
|
|
if (deleteDelay == null) {
|
|
deleteDelay = settings.popoverDeleteDelay;
|
|
}
|
|
if (removeOpen == null) {
|
|
removeOpen = true;
|
|
}
|
|
mql = void 0;
|
|
minMax = void 0;
|
|
s = void 0;
|
|
if (typeof size === "string") {
|
|
s = size.toLowerCase() === "iphone" ? "<320px" : size.toLowerCase() === "ipad" ? "<768px" : size;
|
|
minMax = s.charAt(0) === ">" ? "min" : s.charAt(0) === "<" ? "max" : null;
|
|
query = minMax ? "(" + minMax + "-width: " + (s.substring(1)) + ")" : s;
|
|
mql = window.matchMedia(query);
|
|
} else {
|
|
mql = size;
|
|
}
|
|
if (mql.media && mql.media === "invalid") {
|
|
return {
|
|
added: false,
|
|
mq: mql,
|
|
listener: null
|
|
};
|
|
}
|
|
trueDefaultPositionSetting = minMax === "min";
|
|
falseDefaultPositionSetting = minMax === "max";
|
|
trueCallback = trueCallback || makeDefaultCallbacks(removeOpen, deleteDelay, trueDefaultPositionSetting, function($popover) {
|
|
return $popover.addClass("is-bottom-fixed");
|
|
});
|
|
falseCallback = falseCallback || makeDefaultCallbacks(removeOpen, deleteDelay, falseDefaultPositionSetting, function() {});
|
|
mqListener = function(mq) {
|
|
if (mq.matches) {
|
|
trueCallback(removeOpen, bigfoot);
|
|
} else {
|
|
falseCallback(removeOpen, bigfoot);
|
|
}
|
|
};
|
|
mql.addListener(mqListener);
|
|
mqListener(mql);
|
|
settings.breakpoints[size] = {
|
|
added: true,
|
|
mq: mql,
|
|
listener: mqListener
|
|
};
|
|
return settings.breakpoints[size];
|
|
};
|
|
makeDefaultCallbacks = function(removeOpen, deleteDelay, position, callback) {
|
|
return function(removeOpen, bigfoot) {
|
|
var $closedPopovers;
|
|
$closedPopovers = void 0;
|
|
if (removeOpen) {
|
|
$closedPopovers = bigfoot.close();
|
|
bigfoot.updateSetting("activateCallback", callback);
|
|
}
|
|
return setTimeout((function() {
|
|
bigfoot.updateSetting("positionContent", position);
|
|
if (removeOpen) {
|
|
return bigfoot.activate($closedPopovers);
|
|
}
|
|
}), deleteDelay);
|
|
};
|
|
};
|
|
removeBreakpoint = function(target, callback) {
|
|
var b, breakpoint, mq, mqFound;
|
|
mq = null;
|
|
b = void 0;
|
|
mqFound = false;
|
|
if (typeof target === "string") {
|
|
mqFound = settings.breakpoints[target] !== undefined;
|
|
} else {
|
|
for (b in settings.breakpoints) {
|
|
if (settings.breakpoints.hasOwnProperty(b) && settings.breakpoints[b].mq === target) {
|
|
mqFound = true;
|
|
}
|
|
}
|
|
}
|
|
if (mqFound) {
|
|
breakpoint = settings.breakpoints[b || target];
|
|
if (callback) {
|
|
callback({
|
|
matches: false
|
|
});
|
|
} else {
|
|
breakpoint.listener({
|
|
matches: false
|
|
});
|
|
}
|
|
breakpoint.mq.removeListener(breakpoint.listener);
|
|
delete settings.breakpoints[b || target];
|
|
}
|
|
return mqFound;
|
|
};
|
|
updateSetting = function(newSettings, value) {
|
|
var oldValue, prop;
|
|
oldValue = void 0;
|
|
if (typeof newSettings === "string") {
|
|
oldValue = settings[newSettings];
|
|
settings[newSettings] = value;
|
|
} else {
|
|
oldValue = {};
|
|
for (prop in newSettings) {
|
|
if (newSettings.hasOwnProperty(prop)) {
|
|
oldValue[prop] = settings[prop];
|
|
settings[prop] = newSettings[prop];
|
|
}
|
|
}
|
|
}
|
|
return oldValue;
|
|
};
|
|
getSetting = function(setting) {
|
|
return settings[setting];
|
|
};
|
|
$(document).ready(function() {
|
|
footnoteInit();
|
|
$(document).on("mouseenter", ".bigfoot-footnote__button", buttonHover);
|
|
$(document).on("touchend click", touchClick);
|
|
$(document).on("mouseout", ".is-hover-instantiated", unhoverFeet);
|
|
$(document).on("keyup", escapeKeypress);
|
|
$(window).on("scroll resize", repositionFeet);
|
|
return $(document).on("gestureend", function() {
|
|
return repositionFeet();
|
|
});
|
|
});
|
|
bigfoot = {
|
|
removePopovers: removePopovers,
|
|
close: removePopovers,
|
|
createPopover: createPopover,
|
|
activate: createPopover,
|
|
repositionFeet: repositionFeet,
|
|
reposition: repositionFeet,
|
|
addBreakpoint: addBreakpoint,
|
|
removeBreakpoint: removeBreakpoint,
|
|
getSetting: getSetting,
|
|
updateSetting: updateSetting
|
|
};
|
|
return bigfoot;
|
|
};
|
|
})(jQuery);
|
|
|
|
}).call(this);
|
|
|
|
</script>
|
|
<script type="text/javascript">
|
|
$.bigfoot();
|
|
</script>
|
|
|
|
<link href="Bigfoot.css" rel="stylesheet" rev="stylesheet" type="text/css">
|
|
</main>
|
|
</body>
|
|
</html>
|
|
|