Spotted with the help of 'codespell doc/*.texi*', then chasing down
source files with the same typos.  There are several public interfce
names that I specifically did not change; if wanted, this could be
done in later patches.  These include:
  hilighting to highlighting
  name>pronounciation to name>pronunciation
  defered? to deferred?

Other common non-typos include ANS and $tring (it's possible to run
codespell ignoring those common niche words).
---
 arch/r8c/errors.fs |   2 +-
 contrib/strings.fs |   2 +-
 cross-0.7.3.fs     |   2 +-
 cross.fs           |   4 +-
 doc/gforth.texi.in | 116 ++++++++++++++++++++++-----------------------
 doc/vmgen.texi     |  14 +++---
 ds2texi.fs         |   2 +-
 engine/main.c      |   2 +-
 engine/symver.h    |   2 +-
 kernel/comp.fs     |   2 +-
 kernel/stringk.fs  |   2 +-
 libcc.fs           |   2 +-
 locate1.fs         |   6 +--
 prims2x.fs         |   2 +-
 stuff.fs           |   8 ++--
 15 files changed, 84 insertions(+), 84 deletions(-)

diff --git a/arch/r8c/errors.fs b/arch/r8c/errors.fs
index ea0a89cd..a21235da 100644
--- a/arch/r8c/errors.fs
+++ b/arch/r8c/errors.fs
@@ -7,7 +7,7 @@ s" Undefined word" -&13 ErrLink linkstring
 s" Stack underflow" -&4 ErrLink linkstring
 s" Interpreting a compile-only word" -&14 ErrLink linkstring
 s" Control structure mismatch" -&22 ErrLink linkstring
-\ s" Pictured numeric ouput string overflow" -&17 ErrLink linkstring
+\ s" Pictured numeric output string overflow" -&17 ErrLink linkstring
 s" Attempt to use zero-length string as a name" -&16 ErrLink linkstring
 >ram

diff --git a/contrib/strings.fs b/contrib/strings.fs
index 436bdccf..a446e237 100644
--- a/contrib/strings.fs
+++ b/contrib/strings.fs
@@ -21,7 +21,7 @@
 \      07-12-2001  used built-in Forth words <# #s #> for conversions,
 \                    added ud>string and d>string. f>string now can handle
 \                     decimal places greater than 8  km
-\      09-21-2001  changed occurences of DO to ?DO  km
+\      09-21-2001  changed occurrences of DO to ?DO  km
 \      10-02-2001  added parse_args  km
 \      10-10-2001  fixed problem with f>string when number is 0e  km
 \      10-15-2001  added /STRING  km
diff --git a/cross-0.7.3.fs b/cross-0.7.3.fs
index 8ff88f85..e93ac35f 100644
--- a/cross-0.7.3.fs
+++ b/cross-0.7.3.fs
@@ -850,7 +850,7 @@ Struct
   \ whereas >exec-compile contains the semantic of s"
   cell% field >comp

-  \ Compilation sematics (while parsing) of this ghost. E.g. 
+  \ Compilation semantics (while parsing) of this ghost. E.g. 
   \ "\" will skip the rest of line.
   \ These semantics are defined by Cond: and
   \ if a word is made immediate in instant, then the >exec2 field
diff --git a/cross.fs b/cross.fs
index 87a6c496..e1d6e762 100644
--- a/cross.fs
+++ b/cross.fs
@@ -892,7 +892,7 @@ Struct
   \ whereas >exec-compile contains the semantic of s"
   cell% field >comp

-  \ Compilation sematics (while parsing) of this ghost. E.g. 
+  \ Compilation semantics (while parsing) of this ghost. E.g. 
   \ "\" will skip the rest of line.
   \ These semantics are defined by Cond: and
   \ if a word is made immediate in instant, then the >exec2 field
@@ -4543,7 +4543,7 @@ previous
 \ Sets the unique flag for a ghost. The assembler output
 \ generates labels with the ghostname concatenated with the address
 \ while cross-compiling. The address is concatenated
-\ because we have double occurences of the same name.
+\ because we have double occurrences of the same name.
 \ If we want to reference the labels from the assembler or C
 \ code we declare them unique, so the address is skipped.
   Ghost >ghost-flags dup @ <unique> or swap ! ;
diff --git a/doc/gforth.texi.in b/doc/gforth.texi.in
index 80c573f4..058384fe 100644
--- a/doc/gforth.texi.in
+++ b/doc/gforth.texi.in
@@ -390,7 +390,7 @@ Interpretation and Compilation Semantics
 * Where are interpretation semantics used?::
 * Where are compilation semantics used?::
 * Which semantics do existing words have?::
-* What sematics do normal definitions have?::
+* What semantics do normal definitions have?::
 * How to define immediate words::
 * How to define combined words::

@@ -1087,7 +1087,7 @@ static superinstructions.
 @item --ss-min-nexts
 Use specified metric for determining the cost of a primitive or static
 superinstruction for static superinstruction selection.  @code{Codesize}
-is the native code size of the primive or static superinstruction,
+is the native code size of the primitive or static superinstruction,
 @code{ls} is the number of loads and stores, @code{lsu} is the number of
 loads, stores, and updates, and @code{nexts} is the number of dispatches
 (not taking dynamic superinstructions into account), i.e. every
@@ -1151,13 +1151,13 @@ E.g., one line might look like:
 ?branch           1-1  0   21 1575   73 0x5573e4048c33 len= 4+ 25+ 3 send=0
 @end example

-The colums are, from left to right: name of the primitive,
+The columns are, from left to right: name of the primitive,
 stack-caching state transition (from a state with 1 stack item in a
 register to the same state in the example), IP offset for this version
 of the primitive (0 for most primitives, but, e.g., for @code{?branch}
 there are also versions with 0-zero offset), index of the primitive,
 index of the corresponding branch-to-IP variant (in case of a branch),
-static number of occurences of the primitive in the loaded/compiled
+static number of occurrences of the primitive in the loaded/compiled
 code, address of the code of the primitive (or @code{(nil)} if the
 primitive is not relocatable), length of the parts of this code:
 ip-update+main+dispatch, and whether the primitive ends a superblock
@@ -1936,7 +1936,7 @@ gforth @var{code.fs} @var{tests.fs} -e bye
 restart this command without ado.

 The advantage of this approach is that the tests can be repeated easily
-every time the program ist changed, making it easy to catch bugs
+every time the program is changed, making it easy to catch bugs
 introduced by the change.

 Reference: @ref{Forth source files}.
@@ -4186,7 +4186,7 @@ two cards, work out that their sum is 6, shuffle them 
into the pack,
 look for a 6 and place that on the table. You now have just one item on
 the stack. What happens if you try to do a third addition? Pick up the
 first card, pick up the second card -- ah! There is no second card. This
-is called a @dfn{stack underflow} and consitutes an error. If you try to
+is called a @dfn{stack underflow} and constitutes an error. If you try to
 do the same thing with Forth it often reports an error (probably a Stack
 Underflow or an Invalid Memory Address error).

@@ -4258,7 +4258,7 @@ To examine these claims in more detail, consider these 
sums:
 If you're just learning maths or your maths is very rusty, you will
 probably come up with the answer 44 for the first and 26 for the
 second. If you are a bit of a whizz at maths you will remember the
-@i{convention} that multiplication takes precendence over addition, and
+@i{convention} that multiplication takes precedence over addition, and
 you'd come up with the answer 26 both times. To explain the answer 26
 to someone who got the answer 44, you'd probably rewrite the first sum
 like this:
@@ -4406,7 +4406,7 @@ words of your own.
 @c be better to keep them (or add run-time semantics), to make it easier to
 @c explain what compilation semantics usually does. - anton

-@c nac-> I removed the term ``default compilation sematics'' from the
+@c nac-> I removed the term ``default compilation semantics'' from the
 @c introductory chapter. Removing ``execution semantics'' was making
 @c everything simpler to explain, then I think the use of this term made
 @c everything more complex again. I replaced it with ``default
@@ -4785,15 +4785,15 @@ the whole of this manual and find out what you've 
missed.
 @section Exercises
 @cindex exercises

-TODO: provide a set of programming excercises linked into the stuff done
+TODO: provide a set of programming exercises linked into the stuff done
 already and into other sections of the manual. Provide solutions to all
 the exercises in a .fs file in the distribution.

 @c Get some inspiration from Starting Forth and Kelly&Spies.

-@c excercises:
+@c exercises:
 @c 1. take inches and convert to feet and inches.
-@c 2. take temperature and convert from fahrenheight to celcius;
+@c 2. take temperature and convert from fahrenheit to celsius;
 @c    may need to care about symmetric vs floored??
 @c 3. take input line and do character substitution
 @c    to encipher or decipher
@@ -5167,7 +5167,7 @@ parentheses that display the stack picture at this point; 
there is no
 @code{--} in these places, because there is no before-after
 situation.

-@cindex pronounciation of words
+@cindex pronunciation of words
 @item pronunciation
 How the word is pronounced.

@@ -5625,7 +5625,7 @@ data in @code{reci[} to compute the quotient.
 There are some limitations: Only positive divisors are supported for
 @code{/f-stage1m}; for @code{u/-stage1m} you can use a divisor of 2 or
 higher.  You get an error if you try to use an unsupported divisor.
-You must initalize the reciprocal buffer for the floored second-stage
+You must initialize the reciprocal buffer for the floored second-stage
 words with @code{/f-stage1m} and for the unsigned second-stage words
 with @code{u/-stage1m}.  You must not modify the reciprocal buffer
 between the first stage and the second stage; basically, don't treat
@@ -6064,7 +6064,7 @@ reasons for its existence, in @ref{Locals implementation}.
 @subsection Stack pointer manipulation
 @cindex stack pointer manipulation words

-In the stack effects of the following words, ignore the occurences of
+In the stack effects of the following words, ignore the occurrences of
 ``...''  in the stack-pointer fetching words.

 @c removed s0 r0 l0 -- they are obsolete aliases for sp0 rp0 lp0
@@ -6993,7 +6993,7 @@ doc-string,
 Control structures in Forth cannot be used interpretively, only in a
 colon definition@footnote{To be precise, in Standard Forth the
 control-flow words have no interpretation semantics, and in Gforth the
-interpetation semantics of the control-flow words are not useful for
+interpretation semantics of the control-flow words are not useful for
 interpretive control flow (@pxref{Interpretation and Compilation
 Semantics}).}. We do not like this limitation, but have not seen a
 satisfying way around it yet, although many schemes have been
@@ -7888,7 +7888,7 @@ However, you have to ensure that this code does not cause 
an exception
 itself, otherwise the @code{iferror}/@code{restore} code will loop.
 Moreover, you should also make sure that the stack contents needed by
 the @code{iferror}/@code{restore} code exist everywhere between
-@code{try} and @code{endtry}; in our example this is achived by
+@code{try} and @code{endtry}; in our example this is achieved by
 putting the data in a local before the @code{try} (you cannot use the
 return stack because the exception frame (@i{sys1}) is in the way
 there).
@@ -8373,7 +8373,7 @@ such a word anonymously inside @code{print-some-warning}:
   [: cr ." warning# " . ;] stderr outfile-execute ;
 @end example

-The quotation is bouded by @code{[:} and @code{;]}.  It produces an
+The quotation is bounded by @code{[:} and @code{;]}.  It produces an
 execution token at run-time.

 doc-[:
@@ -8795,7 +8795,7 @@ changeable through @word{>body}.
 @subsubsection Advanced does> usage example

 The MIPS disassembler (@file{arch/mips/disasm.fs}) contains many words
-for disassembling instructions, that follow a very repetetive scheme:
+for disassembling instructions, that follow a very repetitive scheme:

 @example
 :noname @var{disasm-operands} s" @var{inst-name}" type ;
@@ -9376,7 +9376,7 @@ use of @word{preserve} is shown in this example:
 : smalltalk ( -- )
   greet ."  Isn't the weather nice?" ;

-\ here GREET perfroms GREET2
+\ here GREET performs GREET2
 : when-in-rome ( xt -- )
   [: ." Buon Giorno!" ;] is greet
   execute
@@ -9972,7 +9972,7 @@ semantics, but these are mostly discussed elsewhere 
(@pxref{Values},
 * Where are interpretation semantics used?::
 * Where are compilation semantics used?::
 * Which semantics do existing words have?::
-* What sematics do normal definitions have?::
+* What semantics do normal definitions have?::
 * How to define immediate words::
 * How to define combined words::
 @end menu
@@ -10048,7 +10048,7 @@ word @i{w} with @code{``@i{w} name>compile}, 
@code{comp' @i{w}}, or
 @i{w} and then accesses the compilation token with
 @word{name>compile}.

-@node Which semantics do existing words have?, What sematics do normal 
definitions have?, Where are compilation semantics used?, Interpretation and 
Compilation Semantics
+@node Which semantics do existing words have?, What semantics do normal 
definitions have?, Where are compilation semantics used?, Interpretation and 
Compilation Semantics
 @subsection Which semantics do existing words have?

 For words built into Gforth, the documentation specifies the semantics.
@@ -10083,7 +10083,7 @@ and this manual describe the interpretation/execution 
semantics of
 words with default semantics without preceding these semantics with a
 label (the label ``execution'' or ``interpretation'' would be
 appropriate).  The compilation semantics of such words are the implied
-default compilation semantics (@pxref{What sematics do normal
+default compilation semantics (@pxref{What semantics do normal
 definitions have?}).

 For words that have some non-default semantics, the standard specifies
@@ -10094,12 +10094,12 @@ standard leaves the subsection for interpretation or 
compilation
 semantics away, and leaves it to the default mechanism to derive those
 semantics from execution semantics.}).  This manual often takes a more
 informal approach.  The approach taken in this manual may be more
-accomodating for everyday use, while the standard approach is more
+accommodating for everyday use, while the standard approach is more
 precise for reasoning about details of the language.


-@node What sematics do normal definitions have?, How to define immediate 
words, Which semantics do existing words have?, Interpretation and Compilation 
Semantics
-@subsection What sematics do normal definitions have?
+@node What semantics do normal definitions have?, How to define immediate 
words, Which semantics do existing words have?, Interpretation and Compilation 
Semantics
+@subsection What semantics do normal definitions have?

 Most defining words normally produce words with default interpretation
 semantics and default compilation semantics; those that do not (e.g,
@@ -10130,7 +10130,7 @@ Here the interpretation semantics of @i{w} is appended 
to the
 interpretation semantics of @i{name}.


-@node How to define immediate words, How to define combined words, What 
sematics do normal definitions have?, Interpretation and Compilation Semantics
+@node How to define immediate words, How to define combined words, What 
semantics do normal definitions have?, Interpretation and Compilation Semantics
 @subsection How to define immediate words
 @cindex immediate words

@@ -10204,7 +10204,7 @@ then      \ warning: THEN is compile-only
 [
 @end source

-Note thet switching to compile state in the last four lines silences
+Note that switching to compile state in the last four lines silences
 the ``is compile-only'' warnings, because in these lines the
 compilation semantics of the words is performed.

@@ -10438,7 +10438,7 @@ In Standard Forth the xt is just an abstract data type 
(i.e., defined
 by the operations that produce or consume it).  The concrete
 implementation (since Gforth 1.0) is the body address (for old
 hands: PFA) of the word; in Gforth 0.7 and earlier, the xt was
-implemented as code field addres (CFA, 2 cells before the PFA).
+implemented as code field address (CFA, 2 cells before the PFA).

 doc-execute
 doc-execute-exit
@@ -10720,7 +10720,7 @@ accordingly produces:
 1 2 foo .
 @end example

-You will occassionally find the need to POSTPONE several words;
+You will occasionally find the need to POSTPONE several words;
 putting POSTPONE before each such word is cumbersome, so Gforth
 provides a more convenient syntax: @code{]] ... [[}.  This
 allows us to write @code{[compile-+]} as:
@@ -11410,7 +11410,7 @@ strings, e.g., @code{"mystring"}, with @code{rec-string}
 complex numbers, e.g., @code{0e+1ei}, with @code{rec-complex}

 @item
-storing a value or changing a defered word, e.g., @code{->myvalue},
+storing a value or changing a deferred word, e.g., @code{->myvalue},
 with @code{rec-to}

 @item
@@ -11516,7 +11516,7 @@ implement it as actual table, with three xts inside.  
The first xt is
 the interpretation/run-time xt, it performs the interpretation semantics
 on the data (usually, this means it just leaves the data on the stack).
 The second xt performs the compilation semantics, it gets the data and
-the run-time semantics xt.  The third xt perfoms the postpone semantics,
+the run-time semantics xt.  The third xt performs the postpone semantics,
 it also gets the data and the run-time semantics xt.  You can use
 @code{postponing} to postpone the run-time xt.

@@ -11897,7 +11897,7 @@ doc-xchar-encoding
 doc-max-xchar
 doc-xchar-maxmem

-Several environemtal queries are there for determining the presence of
+Several environmental queries are there for determining the presence of
 the Forth-94 version of a wordset; they all have the stack effect
 @code{( -- f )} if the string is present (so the @code{environment?}
 stack effect for these queries is @code{( c-addr u -- false / f true
@@ -12389,7 +12389,7 @@ When you read and write blocks under program control, 
Gforth uses a
 number of @dfn{block buffers} as intermediate storage. These buffers are
 not used when you use @code{load} to interpret the contents of a block.

-The behaviour of the block buffers is analagous to that of a cache.
+The behaviour of the block buffers is analogous to that of a cache.
 Each block buffer has three states:

 @itemize @bullet
@@ -12768,7 +12768,7 @@ doc-.\"
 doc-."
 doc-.(

-If you don't want to worry about wether to use @code{.( hello)} or
+If you don't want to worry about whether to use @code{.( hello)} or
 @code{." hello"}, you can write @code{"hello" type}, which gives you
 what you usually want (but is less portable to other Forth systems).

@@ -12871,7 +12871,7 @@ doc-compile-color
 @c doc-attr!

 @subsubsection Color themes
-Depending on wether you prefer bright or dark background the
+Depending on whether you prefer bright or dark background the
 foreground colors-theme can be changed by:

 doc-light-mode
@@ -13015,7 +13015,7 @@ doc-simple-fkey-string
 @subsection Line input and conversion
 @cindex line input from terminal
 @cindex input, linewise from terminal
-@cindex convertin strings to numbers
+@cindex converting strings to numbers
 @cindex I/O - see input

 For ways of storing character strings in memory see @ref{String
@@ -14658,7 +14658,7 @@ interface. The positive offsets in the map are reserved 
for class
 methods, therefore interface map pointers have negative
 offsets. Interfaces have offsets that are unique throughout the
 system, unlike class selectors, whose offsets are only unique for the
-classes where the selector is available (invokable).
+classes where the selector is available (invocable).

 This structure means that interface selectors have to perform one
 indirection more than class selectors to find their method. Their body
@@ -15124,7 +15124,7 @@ end-class circle \ "graphical" is the parent class
 @end example

 There is no implicit init method, so we have to define one. The creation
-code of the object now has to call init explicitely.
+code of the object now has to call init explicitly.

 @example
 circle new Constant my-circle
@@ -15423,7 +15423,7 @@ As an example, consider a word that sums up the results 
of a function
   loop ;
 @end source

-You can add up the values of the functon 1/n for n=1..10 with:
+You can add up the values of the function 1/n for n=1..10 with:

 @source
 11 1 [: s>f -1e f** ;] sum f.
@@ -16104,12 +16104,12 @@ doc-dump
 @c  anton: other, maybe better places for this subsection: Defining Words;
 @c  Dictionary allocation.  At least a reference should be there.

-Forth allows you to forget words (and everything that was alloted in the
-dictonary after them) in a LIFO manner.
+Forth allows you to forget words (and everything that was allotted in the
+dictionary after them) in a LIFO manner.

 doc-marker

-The most common use of this feature is during progam development: when
+The most common use of this feature is during program development: when
 you change a source file, forget all the words it defined and load it
 again (since you also forget everything defined after the source file
 was loaded, you have to reload that, too).  Note that effects like
@@ -16170,9 +16170,9 @@ doc-debug-fid

 @cindex filenames in @code{~~} output
 @code{~~} (and assertions) will usually print the wrong file name if a
-marker is executed in the same file after their occurance.  They will
+marker is executed in the same file after their occurrence.  They will
 print @samp{*somewhere*} as file name if a marker is executed in the
-same file before their occurance.
+same file before their occurrence.

 doc-once
 doc-~~bt
@@ -16252,9 +16252,9 @@ probably more appropriate than an assertion).

 @cindex filenames in assertion output
 Assertions (and @code{~~}) will usually print the wrong file name if a
-marker is executed in the same file after their occurance.  They will
+marker is executed in the same file after their occurrence.  They will
 print @samp{*somewhere*} as file name if a marker is executed in the
-same file before their occurance.
+same file before their occurrence.

 Definitions in Standard Forth for these assertion words are provided
 in @file{compat/assert.fs}.
@@ -16522,7 +16522,7 @@ are really concurrent tasks (at least on a multi-core 
CPU), and
 therefore, several techniques to avoid conflicts when accessing the same
 resources.

-Semaphores can only be aquired by one thread, all other threads have to
+Semaphores can only be acquired by one thread, all other threads have to
 wait until the semapohre is released.

 doc-semaphore
@@ -16931,7 +16931,7 @@ generated, the tools used to generated them (in 
particular, the C
 compiler and libtool) are no longer needed, so the interface can be used
 even on machines that do not have the tools installed.  The build system
 of Gforth can even cross-compile these libraries, so that the libraries
-are available for plattforms on which build tools aren't installed.
+are available for platforms on which build tools aren't installed.

 doc-c-library-name
 doc-c++-library-name
@@ -16949,7 +16949,7 @@ doc-end-c-library
 For calling some C functions, you need to link with a specific
 OS-level library that contains that function.  E.g., the @code{sin}
 function requires linking a special library by using the command line
-switch @code{-lm}.  In our C iterface you do the equivalent thing by
+switch @code{-lm}.  In our C interface you do the equivalent thing by
 calling @code{add-lib} as follows:

 @example
@@ -17289,7 +17289,7 @@ between Gforth versions, or even between different 
compilations of the
 same Gforth version (e.g., if you use a different GCC version).  If
 you are using @code{CODE} instead of @code{ABI-CODE}, and you want to
 refer to Gforth's registers (e.g., the stack pointer or TOS), I
-recommend defining your own words for refering to these registers, and
+recommend defining your own words for referring to these registers, and
 using them later on; then you can adapt to a changed register
 assignment.

@@ -17566,7 +17566,7 @@ ABI-CODE aRDTSC   ( -- TSCl TSCh )
                            RDTSC        \ DX:AX := TSC
    $FFFFFFFF #     AX      AND          \ Clear upper 32 bit AX
   0xFFFFFFFF #     DX      AND          \ Clear upper 32 bit DX
-       AX          R8      MOV          \ Tempory save AX
+       AX          R8      MOV          \ Temporarily save AX
    -16 DI  D)      AX      LEA          \ SPout := SPin + 2
        R8      8   AX  D)  MOV          \ TOS-1 := saved AX = TSC low
        DX          AX  )   MOV          \ TOS := Dx = TSC high
@@ -17581,7 +17581,7 @@ ABI-CODE RDTSC   ( -- TSC )
                            RDTSC        \ DX:AX := TSC
    $FFFFFFFF #     AX      AND          \ Clear upper 32 bit AX
    32  #           DX      SHL          \ Move lower 32 bit DX to upper 32 bit
-       AX          DX      OR           \ Combine AX wit DX in DX
+       AX          DX      OR           \ Combine AX with DX in DX
    -8  DI  D)      AX      LEA          \ SPout := SPin + 1
        DX          AX  )   MOV          \ TOS := DX
                            RET
@@ -18235,7 +18235,7 @@ doc-doabicode:
 For a word @i{X} defined with @code{set-does>}, the code address
 points to @code{dodoes:}, and the @code{>hmextra} field of the header
 methods contains the xt of the word that is called after pushing the
-body addres of @i{X}.
+body address of @i{X}.

 If you want to know whether a word is a @code{DOES>}-defined word, and
 what Forth code it executes, @code{>does-code} tells you that:
@@ -18471,7 +18471,7 @@ empty line (in interpretation state) against these 
depths at the last
 empty line (in interpretation state).  If the depths are not equal,
 the position in the file and the stack contents are printed with
 @code{~~} (@pxref{Debugging}).  This indicates that a stack depth
-change has occured in the paragraph of non-empty lines before the
+change has occurred in the paragraph of non-empty lines before the
 indicated line.  It is a good idea to leave an empty line at the end
 of the file, so the last paragraph is checked, too.

@@ -18485,7 +18485,7 @@ gforth depth-changes.fs -e "' all-lines is 
depth-changes-filter" my-file.fs
 @end example

 This checks the stack depth at every end-of-line.  So the depth change
-occured in the line reported by the @code{~~} (not in the line
+occurred in the line reported by the @code{~~} (not in the line
 before).

 Note that, while this offers better accuracy in indicating where the
@@ -18940,7 +18940,7 @@ These are located in writable memory and can be 
modified.
 @item overflow of the pictured numeric output string:
 @cindex overflow of the pictured numeric output string
 @cindex pictured numeric output string, overflow
-@code{-17 throw} (Pictured numeric ouput string overflow).
+@code{-17 throw} (Pictured numeric output string overflow).

 @item parsed string overflow:
 @cindex parsed string overflow
@@ -20973,7 +20973,7 @@ There are various schemes that distribute the different 
operations of
 NEXT between these parts in several ways; in general, different schemes
 perform best on different processors.  We use a scheme for most
 architectures that performs well for most processors of this
-architecture; in the future we may switch to benchmarking and chosing
+architecture; in the future we may switch to benchmarking and choosing
 the scheme on installation time.


@@ -21498,7 +21498,7 @@ while you usually can't execute the code compiled by 
cross, because the
 code you are compiling is typically for a different computer than the
 one you are compiling on.

-@c anton: This chapter is somewhat different from waht I would expect: I
+@c anton: This chapter is somewhat different from what I would expect: I
 @c would expect an explanation of the cross language and how to create an
 @c application image with it.  The section explains some aspects of
 @c creating a Gforth kernel.
diff --git a/doc/vmgen.texi b/doc/vmgen.texi
index 59513ab5..34e0d0ac 100644
--- a/doc/vmgen.texi
+++ b/doc/vmgen.texi
@@ -60,7 +60,7 @@ Software Foundation raise funds for GNU development.''
 * Input File Format::           
 * Error messages::              reported by Vmgen
 * Using the generated code::    
-* Hints::                       VM archictecture, efficiency
+* Hints::                       VM architecture, efficiency
 * The future::                  
 * Changes::                     from earlier versions
 * Contact::                     Bug reporting etc.
@@ -682,7 +682,7 @@ the @samp{\C}).  This is useful mainly for conditional 
compilation

 @cindex sync lines
 @cindex @code{#line}
-In addition to the syntax given in the grammer, Vmgen also processes
+In addition to the syntax given in the grammar, Vmgen also processes
 sync lines (lines starting with @samp{#line}), as produced by @samp{m4
 -s} (@pxref{Invoking m4, , Invoking m4, m4.info, GNU m4}) and similar
 tools.  This allows associating C compiler error messages with the
@@ -1099,7 +1099,7 @@ lit_sub = lit sub
 action as the sequence @code{lit} and @code{sub}.  It is generated
 automatically by the VM code generation functions whenever that sequence
 occurs, so if you want to use this superinstruction, you just need to
-add this definition (and even that can be partially automatized,
+add this definition (and even that can be partially automated,
 @pxref{VM profiler}).

 @cindex prefixes of superinstructions
@@ -1779,7 +1779,7 @@ VM instruction table.
 @cindex @file{profile.c}
 @cindex @file{-profile.i} output file

-The VM profiler is designed for getting execution and occurence counts
+The VM profiler is designed for getting execution and occurrence counts
 for VM instruction sequences, and these counts can then be used for
 selecting sequences as superinstructions.  The VM profiler is probably
 not useful as profiling tool for the interpretive system.  I.e., the VM
@@ -1802,8 +1802,8 @@ executed 9227465 times.
 @cindex @file{stat.awk}
 @cindex @file{seq2rule.awk}
 This output can be combined in various ways.  E.g.,
-@file{vmgen-ex/stat.awk} adds up the occurences of a given sequence wrt
-dynamic execution, static occurence, and per-program occurence.  E.g.,
+@file{vmgen-ex/stat.awk} adds up the occurrences of a given sequence wrt
+dynamic execution, static occurrence, and per-program occurrence.  E.g.,

 @example
       2      16        36910041 loadlocal lit 
@@ -1882,7 +1882,7 @@ The simpler approach is to use a separate floating-point 
stack.  This
 allows you to choose FP value size without considering the size of the
 integers/pointers, and you avoid a number of performance problems.  The
 main downside is that this needs an FP stack pointer (and that may not
-fit in the register file on the 386 arhitecture, costing some
+fit in the register file on the 386 architecture, costing some
 performance, but comparatively little if you take the other option into
 account).  If you use a separate FP stack (with stack pointer @code{fp}),
 using an fpTOS is helpful on most machines, but some spill the fpTOS
diff --git a/ds2texi.fs b/ds2texi.fs
index 34d2adce..96f821da 100644
--- a/ds2texi.fs
+++ b/ds2texi.fs
@@ -747,7 +747,7 @@ defer type-ds ( c-addr u )
     2drop ;

 : string-split {: d: s d: sep -- d: first d: rest :}
-    \ split s into first and res, with the first occurence of sep
+    \ split s into first and res, with the first occurrence of sep
     \ being between first and rest
     s sep search if {: d: match :}
         s drop match drop over - match sep nip /string
diff --git a/engine/main.c b/engine/main.c
index b2048b5d..efaa661f 100644
--- a/engine/main.c
+++ b/engine/main.c
@@ -1059,7 +1059,7 @@ static void prepare_super_table()
           if (is_relocatable(i)) {
             if (c->state_in==CANONICAL_STATE && c->state_out==CANONICAL_STATE) 
{
               /* this is actually from the ip-update series */
-              assert(ip_update0 == 0); /* no second occurence */
+              assert(ip_update0 == 0); /* no second occurrence */
               ip_update0 = i;
               min_ip_update = priminfos[i].min_ip_offset;
               max_ip_update = priminfos[i].max_ip_offset;
diff --git a/engine/symver.h b/engine/symver.h
index bfe9ce02..2d465a86 100644
--- a/engine/symver.h
+++ b/engine/symver.h
@@ -10,7 +10,7 @@
  * run it on an old OS that doesn't.  Installing several glibcs alongside is
  * also not supported well (essentially, you need a chroot or a container for
  * that).  So well, as workaround, just like people did for the memmove case
- * in glibc 2.14, you can define the symver explicitely.  Note that only a few
+ * in glibc 2.14, you can define the symver explicitly.  Note that only a few
  * platforms actually support that stuff, and they have different versions for
  * th older symbol.  Therefore, we don't activate that here, you need a GCC
  * option.
diff --git a/kernel/comp.fs b/kernel/comp.fs
index 4f33b696..3698bf44 100644
--- a/kernel/comp.fs
+++ b/kernel/comp.fs
@@ -736,7 +736,7 @@ Create hmtemplate
     \ This here needs to be optimizing even for gforth-itc, because
     \ otherwise this code won't work: for locals, the xt is no longer
     \ valid at run-time, so we have to optimize it away at compile
-    \ time; this is achived by explicitly calling >LITS and
+    \ time; this is achieved by explicitly calling >LITS and
     \ OPT!-COMPILE,.
 ;

diff --git a/kernel/stringk.fs b/kernel/stringk.fs
index e30704ff..8aad33e2 100644
--- a/kernel/stringk.fs
+++ b/kernel/stringk.fs
@@ -113,7 +113,7 @@
 : $split ( c-addr u char -- c-addr u1 c-addr2 u2 ) \ gforth string-split
     \G Divides a string @i{c-addr u} into two, with @i{char} as
     \G separator.  @i{U1} is the length of the string up to, but
-    \G excluding the first occurence of the separator, @i{c-addr2 u2}
+    \G excluding the first occurrence of the separator, @i{c-addr2 u2}
     \G is the part of the input string behind the separator.  If the
     \G separator does not occur in the string, @i{u1}=@i{u}, @i{u2}=0
     \G and @i{c-addr2}=@i{c-addr}+@i{u}.
diff --git a/libcc.fs b/libcc.fs
index f6a475fb..5293bfde 100644
--- a/libcc.fs
+++ b/libcc.fs
@@ -134,7 +134,7 @@ require string.fs
 \ these words are generally useful and used by at least one user

 : scan-back { c-addr u1 c -- c-addr u2 } \ gforth
-    \G The last occurence of @i{c} in @i{c-addr u1} is at
+    \G The last occurrence of @i{c} in @i{c-addr u1} is at
     \G @i{c-addr}+@i{u2}@minus{}1; if it does not occur, @i{u2}=0.
     c-addr u1 1 mem-do
        i c@ c = if
diff --git a/locate1.fs b/locate1.fs
index 718d2032..1fb3dddf 100644
--- a/locate1.fs
+++ b/locate1.fs
@@ -438,7 +438,7 @@ short-where
 : where ( "name" -- ) \ gforth
     \g Show all places where @i{name} is used (text-interpreted).  You
     \g can then use @code{ww}, @code{nw} or @code{bw} to inspect
-    \g specific occurences more closely.  Gforth's @code{where} does
+    \g specific occurrences more closely.  Gforth's @code{where} does
     \g not show the definition of @i{name}; use @code{locate} for
     \g that.
     ['] noop ['] filename>display
@@ -513,7 +513,7 @@ Variable browse-results
     \g @i{subname} is defined (@code{mwords}-like, @pxref{Word
     \g Lists}).  You can then use @code{ww}, @code{nw} or @code{bw}
     \g (@pxref{Locating uses of a word}) to inspect specific
-    \g occurences more closely.
+    \g occurrences more closely.
     ['] noop ['] filename>display
     [: where-setup source-pos# source-line# 2>r
        (browse) 2r> where-reset ;] wrap-xt ;
@@ -670,7 +670,7 @@ interpret/compile: s` ( "eval-string" -- addr u )
     \g Like @code{where}, but puts the output in the editor.  In
     \g Emacs, you can then use the compilation-mode commands
     \g (@pxref{Compilation Mode,,,emacs,GNU Emacs Manual}) to inspect
-    \g specific occurences more closely.
+    \g specific occurrences more closely.
     delete-whereg
     s` mktemp /tmp/gforth-whereg-XXXXXX` 1- save-mem 2dup whereg-filename 2!
     2dup r/w open-file throw
diff --git a/prims2x.fs b/prims2x.fs
index 2d4783f3..e886af18 100644
--- a/prims2x.fs
+++ b/prims2x.fs
@@ -181,7 +181,7 @@ struct%
  cell%    field item-stack  \ descriptor for the stack used, 0 is default
  cell%    field item-type   \ descriptor for the item type
  cell%    field item-offset \ offset in stack items, 0 for the deepest element
- cell%   field item-first  \ true if this is the first occurence of the item
+ cell%   field item-first  \ true if this is the first occurrence of the item
 end-struct item%

 struct%
diff --git a/stuff.fs b/stuff.fs
index 9be30ac8..0b474f21 100644
--- a/stuff.fs
+++ b/stuff.fs
@@ -122,12 +122,12 @@ AUser CSP
 \ easier definer of noname words that are assigned to a deferred word

 : :is ( "name" -- ) \ gforth-experimental
-    \G define a noname that is assigned to the deffered word @var{name}
+    \G define a noname that is assigned to the deferred word @var{name}
     \G at @code{;}.
     :noname colon-sys-xt-offset n>r drop
     record-name (') ['] defer! nr> drop ;
 : :method ( class "name" -- ) \ gforth-experimental
-    \G define a noname that is assigned to the deffered word @var{name}
+    \G define a noname that is assigned to the deferred word @var{name}
     \G in @var{class} at @code{;}.
     :noname colon-sys-xt-offset n>r drop
     swap record-name (') ['] defer! nr> drop ;
@@ -233,13 +233,13 @@ opt: @ 2 swap (to), ;
     ['] forth-recognize set-recognizer-sequence ;

 : -stack { x stack -- } \ gforth-experimental minus-stack
-    \G Delete every occurence of @i{x} from anywhere in @i{stack}.
+    \G Delete every occurrence of @i{x} from anywhere in @i{stack}.
     stack get-stack  0 stack set-stack 0 ?DO
         dup x <> IF  stack >back  ELSE drop  THEN
     LOOP ;

 : +after { x1 x2 stack -- } \ gforth-experimental plus-after
-    \G Insert @var{x1} below every occurence @var{x2} in @i{stack}.
+    \G Insert @var{x1} below every occurrence @var{x2} in @i{stack}.
     stack get-stack  0 stack set-stack 0 ?DO
        dup stack >back x2 = IF  x1 stack >back  THEN
     LOOP ;

base-commit: 6774cc10f61c41d3ab2cd78b369174f3cf9b909b
-- 
2.50.1



Reply via email to