1
0
Fork 0
mirror of https://github.com/ganelson/inform.git synced 2024-06-29 05:24:57 +03:00

typos in services/*/*.w

This commit is contained in:
Andrew 2022-05-01 08:25:26 -05:00
parent bfe5a878c5
commit 6f4fecec72
23 changed files with 26 additions and 26 deletions

View file

@ -428,7 +428,7 @@ int TargetVMs::compatible_with(target_vm *VM, text_stream *token) {
return FALSE; return FALSE;
} }
@h Ootions. @h Options.
Final code-generators can call this to see what special requests were made. Final code-generators can call this to see what special requests were made.
= =

View file

@ -151,7 +151,7 @@ void Calculus::Schemas::append(i6_schema *sch, char *fmt, ...) {
@ We recognise only a few escapes here: |%%|, a literal percentage sign; |%d|, @ We recognise only a few escapes here: |%%|, a literal percentage sign; |%d|,
an integer; |%s|, a C string; |%S|, a text stream; and three which are higher-level: an integer; |%s|, a C string; |%S|, a text stream; and three which are higher-level:
(a) |%k| takes a |kind| parameter and exoands to its weak ID; (a) |%k| takes a |kind| parameter and expands to its weak ID;
(b) |%L| takes a |local_variable| and expands to its identifier; (b) |%L| takes a |local_variable| and expands to its identifier;
(c) |%n| takes an |inter_name|, which expands more cautiously in a way which (c) |%n| takes an |inter_name|, which expands more cautiously in a way which
stores the actual |inter_name| reference: it is possible for two different stores the actual |inter_name| reference: it is possible for two different

View file

@ -224,7 +224,7 @@ the conjunction of the two propositions had 26 variables.)
if (k == 26) next_unused = 25; else next_unused = k; if (k == 26) next_unused = 25; else next_unused = k;
@h Getting rid of free variables. @h Getting rid of free variables.
Propositions with free variables are vague, and Inforn tries to minimise its Propositions with free variables are vague, and Inform tries to minimise its
use of them. Whole verb phrases such as "the tree is in the Courtyard" can in use of them. Whole verb phrases such as "the tree is in the Courtyard" can in
general become propositions with no free variables, while descriptions such as general become propositions with no free variables, while descriptions such as
"open containers which are in lighted rooms" will become propositions in which "open containers which are in lighted rooms" will become propositions in which
@ -256,7 +256,7 @@ pcalc_prop *Binding::bind_existential(pcalc_prop *prop,
} }
@ The second way is "substitution", for use when we do know the value of the @ The second way is "substitution", for use when we do know the value of the
free variable we want to remove. We replace every mention of it with sone free variable we want to remove. We replace every mention of it with some
other term: but as we shall see, this is trickier than it seems. other term: but as we shall see, this is trickier than it seems.
We begin with two utility routines to substitute into the variable "underneath" We begin with two utility routines to substitute into the variable "underneath"

View file

@ -273,7 +273,7 @@ int Propositions::is_complex(pcalc_prop *prop) {
} }
@h Primitive operations on propositions. @h Primitive operations on propositions.
Now for some basic operations, as shown in the following examoles: Now for some basic operations, as shown in the following examples:
= (text from Figures/operations.txt as REPL) = (text from Figures/operations.txt as REPL)
Note that the conjunction of A and B renamed the variable |x| in B to |y|, Note that the conjunction of A and B renamed the variable |x| in B to |y|,

View file

@ -131,7 +131,7 @@ and |prime(n)|.
@h Unary predicates. @h Unary predicates.
The //calculus// module aims to be agnostic about what unary predicates will The //calculus// module aims to be agnostic about what unary predicates will
exist. They are grouped into "families" -- see //Unary Predicate Families// exist. They are grouped into "families" -- see //Unary Predicate Families//
for details -- which loosely group them by implementation. So, for exanple, for details -- which loosely group them by implementation. So, for example,
Inform has a family of unary predicates in the form |calling='whatever'(x)| Inform has a family of unary predicates in the form |calling='whatever'(x)|
which assert that |x| represents something of a given name. But //calculus// which assert that |x| represents something of a given name. But //calculus//
is not concerned with the details. Only one family is built in: is not concerned with the details. Only one family is built in:

View file

@ -38,7 +38,7 @@ localisation_dictionary *Localisation::new(void) {
a typical entry might be |Index.Pages.Kinds.Caption|. At present, we do not a typical entry might be |Index.Pages.Kinds.Caption|. At present, we do not
take advantage of this to make a more efficient search (one could imagine take advantage of this to make a more efficient search (one could imagine
a tree structure of dictionaries): we just use these path-like identifiers a tree structure of dictionaries): we just use these path-like identifiers
as keys to a single dictionary. If we ever need really large localisatiom as keys to a single dictionary. If we ever need really large localisation
dictionaries, we might revisit this. dictionaries, we might revisit this.
= =

View file

@ -4,7 +4,7 @@ Lexical clusters are sets of noun or adjective forms, perhaps multiple
or in multiple languages, which have in common that they share a meaning. or in multiple languages, which have in common that they share a meaning.
@h Cluster. @h Cluster.
A cluster is a linked list of declensions, annotated with lingistic roles. For A cluster is a linked list of declensions, annotated with linguistic roles. For
example, the cluster of forms for the common noun "man" might be: example, the cluster of forms for the common noun "man" might be:
>> man (En, neuter singular), men (En, neuter plural), homme (Fr, masculine singular), hommes (Fr, masculine plural) >> man (En, neuter singular), men (En, neuter plural), homme (Fr, masculine singular), hommes (Fr, masculine plural)

View file

@ -219,9 +219,9 @@ int Lcon::same_but_for_sense(lcon_ti A, lcon_ti B) {
@h Axes. @h Axes.
We can think of a combination of the seven grammatical attributes above as We can think of a combination of the seven grammatical attributes above as
being like a position in seven-dimensional space, with each being a coordinate being like a position in seven-dimensional space, with each being a coordinate
on one of these sevem axes. on one of these seven axes.
In practice, we're oftem interested in only a few of the seven. Nouns, for In practice, we're often interested in only a few of the seven. Nouns, for
instance, do not have tenses; verbs do not have cases. It's convenient to instance, do not have tenses; verbs do not have cases. It's convenient to
represent the seven axes by the following constants, so that an arbitrary represent the seven axes by the following constants, so that an arbitrary
sum of these can represent a set of things we're interested in: sum of these can represent a set of things we're interested in:

View file

@ -535,8 +535,8 @@ void Kinds::mark_vocabulary_as_kind(vocabulary_entry *ve, kind *K) {
} }
@h From context. @h From context.
Sometimes we need to kmow the current values of the 26 kind variables, A Sometimes we need to know the current values of the 26 kind variables, A
to Z: that depemds on a much wider context than the |kinds| module can see, to Z: that depends on a much wider context than the |kinds| module can see,
so we need the client to help us. |v| is in the range 1 to 26. Returning so we need the client to help us. |v| is in the range 1 to 26. Returning
|NULL| means there is no current meaning; so if the client provides no |NULL| means there is no current meaning; so if the client provides no
function to tell us, then all variables are permanently unset. function to tell us, then all variables are permanently unset.

View file

@ -137,7 +137,7 @@ written as |k| and |l| (note lower case). So, for example, |list of k|.
|terms| is used only for proper constructors. For a unary constructor, it will |terms| is used only for proper constructors. For a unary constructor, it will
give one term; for binary, two terms, separated by a comma. Each term should give one term; for binary, two terms, separated by a comma. Each term should
be |covariant| or |contravariant|, with an ootional keyword after it: be |covariant| or |contravariant|, with an optional keyword after it:
(*) |optional| means that it is legal to name the constructor without naming (*) |optional| means that it is legal to name the constructor without naming
this term. For example, "activity" is a legal way to say "activity on nothing". this term. For example, "activity" is a legal way to say "activity on nothing".
(*) |list| means that it is legal to give a list of kinds here, in brackets (*) |list| means that it is legal to give a list of kinds here, in brackets

View file

@ -276,7 +276,7 @@ any, results from performing an arithmetic operation.
traditional usage of "type constructor", but note that Haskell and some other traditional usage of "type constructor", but note that Haskell and some other
functional languages mean something related but different by this. functional languages mean something related but different by this.
[2] So, for examole, Inform acts on text like "A weight is a kind of value." by [2] So, for example, Inform acts on text like "A weight is a kind of value." by
calling //Kinds::new_base//. calling //Kinds::new_base//.
[3] Inform's built-in kinds like |number| or |text| all come from such files, [3] Inform's built-in kinds like |number| or |text| all come from such files,

View file

@ -38,7 +38,7 @@ For example, the parent could define |INGREDIENTS_MC| and |RECIPES_MC| to
have two different namespaces, and then define |EXACT_PARSING_BITMAP| to have two different namespaces, and then define |EXACT_PARSING_BITMAP| to
be |INGREDIENTS_MC + RECIPES_MC| to make both of them parsed exactly. be |INGREDIENTS_MC + RECIPES_MC| to make both of them parsed exactly.
Mimimal default settings are made if the parent doesn't create these Minimal default settings are made if the parent doesn't create these
constants. constants.
@h Using callbacks. @h Using callbacks.

View file

@ -2,7 +2,7 @@
To specify standard verb-phrase nodes in the parse tree. To specify standard verb-phrase nodes in the parse tree.
@ This section lays out a sort of specification for what we ultinately want @ This section lays out a sort of specification for what we ultimately want
to turn sentences into: i.e., little sentence diagrams made up of parse nodes. to turn sentences into: i.e., little sentence diagrams made up of parse nodes.
We do that with the aid of the //syntax// module. So we must first set up We do that with the aid of the //syntax// module. So we must first set up
some new node types: some new node types:

View file

@ -225,7 +225,7 @@ small_word_set *Articles::add(small_word_set *sws, nonterminal *nt, article *a)
@h English articles. @h English articles.
So, then, these nonterminals are not parsed by Preform but are instead used So, then, these nonterminals are not parsed by Preform but are instead used
to stock small word sets above. The fornat is the same as the one used in to stock small word sets above. The format is the same as the one used in
//Pronouns//: rows are cases, within which the sequence is neuter singular, //Pronouns//: rows are cases, within which the sequence is neuter singular,
neuter plural, masculine singular, masculine plural, feminine singular, neuter plural, masculine singular, masculine plural, feminine singular,
feminine plural. In English, of course, articles hardly inflect at all, feminine plural. In English, of course, articles hardly inflect at all,

View file

@ -248,7 +248,7 @@ we might have |TW| being "is in the green bucket".
for (verb_usage *vu = tier->tier_contents; vu; vu = vu->next_within_tier) for (verb_usage *vu = tier->tier_contents; vu; vu = vu->next_within_tier)
@<Consider whether this usage is being made at this position@>; @<Consider whether this usage is being made at this position@>;
@ We must test whether our verb usage appears at the front of |TW|, thougn for @ We must test whether our verb usage appears at the front of |TW|, though for
efficiency's sake we first test whether the verb has a meaning. (There are efficiency's sake we first test whether the verb has a meaning. (There are
potentially a great many meaningless verbs, because of the way adaptive text potentially a great many meaningless verbs, because of the way adaptive text
is handled in Inform.) is handled in Inform.)

View file

@ -76,7 +76,7 @@ error message and return |FALSE|. If this callback is not provided, all non-empt
names are acceptable. See //Adjectives::declare//. names are acceptable. See //Adjectives::declare//.
(*) |ALLOW_VERB_IN_ASSERTIONS_LINGUISTICS_CALLBACK| and |ALLOW_VERB_LINGUISTICS_CALLBACK| (*) |ALLOW_VERB_IN_ASSERTIONS_LINGUISTICS_CALLBACK| and |ALLOW_VERB_LINGUISTICS_CALLBACK|
give the parent control over which forms of verbs are allowed: for examole, //core// give the parent control over which forms of verbs are allowed: for example, //core//
allows them in assertions only in the third person (singular or plural), whereas allows them in assertions only in the third person (singular or plural), whereas
it allows them in any form in non-assertion contexts. See it allows them in any form in non-assertion contexts. See
//VerbUsages::register_voices_of_verb//. //VerbUsages::register_voices_of_verb//.

View file

@ -208,6 +208,6 @@ asymmetric roles because the action is done by Peter but to the ball, and
@h Performance in practice. @h Performance in practice.
The following tabulates the linguistic stock accumulated by a typical Inform 7 The following tabulates the linguistic stock accumulated by a typical Inform 7
compilation (the same one used to generate the data in //inform7: Performance Metrics//). compilation (the same one used to generate the data in //inform7: Performance Metrics//).
Within each categpry, items are listed in order of creation. Within each category, items are listed in order of creation.
= (hyperlinked undisplayed text from Figures/stock-diagnostics.txt) = (hyperlinked undisplayed text from Figures/stock-diagnostics.txt)

View file

@ -127,7 +127,7 @@ text used by //StandardProblems::sentence_problem//.
= =
Here the punctuation; |%3| is expected to end with a full stop and |%2| not to. Here the punctuation; |%3| is expected to end with a full stop and |%2| not to.
Finally, the escape |%P| means "poragraph break here", and is used for adding Finally, the escape |%P| means "paragraph break here", and is used for adding
subsequent clarifications to long or complicated problems. subsequent clarifications to long or complicated problems.
@ //Problems, Level 3// contains functions for standardly-shaped problems, then. @ //Problems, Level 3// contains functions for standardly-shaped problems, then.

View file

@ -2,7 +2,7 @@
Setting up the use of this module. Setting up the use of this module.
@ This section simoly sets up the module in ways expected by //foundation//, @ This section simply sets up the module in ways expected by //foundation//,
and contains no code of interest. The following constant exists only in tools and contains no code of interest. The following constant exists only in tools
which use this module: which use this module:

View file

@ -37,7 +37,7 @@ useful for other projects.
The idea here is that we want an identifier based on a natural language The idea here is that we want an identifier based on a natural language
wording, but which passed the above validity tests, and which does not lead wording, but which passed the above validity tests, and which does not lead
tp namespace collisions. Such identifiers are composed in a pattern which to namespace collisions. Such identifiers are composed in a pattern which
uses an identifying letter (e.g., A for Action), a unique ID number uses an identifying letter (e.g., A for Action), a unique ID number
(preventing name-clashes) and then a truncated alphanumeric-safe form of (preventing name-clashes) and then a truncated alphanumeric-safe form of
the words used in the textual description, if any. For example, an object the words used in the textual description, if any. For example, an object

View file

@ -87,7 +87,7 @@ pointer results. For example, you could make a very crude calculator with:
<cardinal-number> plus <cardinal-number> ==> { R[1]+R[2], - } <cardinal-number> plus <cardinal-number> ==> { R[1]+R[2], - }
= =
Here |R[1]+R[2]| produces a result by composition of the two results of Here |R[1]+R[2]| produces a result by composition of the two results of
the <cardinal-number> nontermimal which occurred when parsing the line. the <cardinal-number> nonterminal which occurred when parsing the line.
So, for example, "seven" matches <arithmetic> with result 7, and "two plus So, for example, "seven" matches <arithmetic> with result 7, and "two plus
three" with result 5. three" with result 5.

View file

@ -481,7 +481,7 @@ rather than the next number counting upwards; see //About Preform//.
"too many tokens on production for nonterminal"); "too many tokens on production for nonterminal");
} }
@ Here we porse what is, to the Lexer, a single word (at word number |wn|), @ Here we parse what is, to the Lexer, a single word (at word number |wn|),
but which might actually be a row of possibilities divided by slashes: but which might actually be a row of possibilities divided by slashes:
for example, |onions/shallots|. for example, |onions/shallots|.

View file

@ -124,7 +124,7 @@ an internal NT, or try all possible productions for a regular one.
@h Middle level. @h Middle level.
So from here on down we look only at the regular case, where we're parsing the So from here on down we look only at the regular case, where we're parsing the
text against a production. Recall that a production's NTIC has the "ditto flag" text against a production. Recall that a production's NTIC has the "ditto flag"
if it is the same constraint as the previous productions's NTIC; in which if it is the same constraint as the previous production's NTIC; in which
case we have no need to recompute |violates|. case we have no need to recompute |violates|.
@<Try to match to a production@> = @<Try to match to a production@> =