Gordon P. Hemsley

English P3IM Morphophonological Algorithm

In English, the regular past tense (-ed), possessive (-'s), and plural (-s) inflectional morphemes (which I am abbreviating as P3IM) all use the same phonological algorithm when attaching to a word. I have enumerated the process below, in the form of a textual flowchart. A key is also available to explain the syntax I used.

Note: In step 6(a), "similar" refers to two places of articulation that are very close together, usually sharing a portion of their name (e.g. alveolar and postalveolar).

Algorithm

  1. Input word W, with final sound F.
    Determine suffix morpheme M, where M = M0 + M1.
  2. M1+consonant +alveolar
  3. What type of marker is M?
    1. Past tense M1+plosive
      Go to step 4.
    2. Plural/Possession M1+fricative
      Go to step 4.
  4. What type of sound is F?
    1. Vowel
      Go to step 7(b).
    2. Consonant
      Go to step 5.
  5. How does the manner of articulation of F compare to that of M1?
    1. Different
      Go to step 7.
    2. Same
      Go to step 6.
  6. How does the place of articulation of F compare to that of M1?
    1. Same/Similar M0+vowel +central −stress +reduction +voicing
      Go to step 7(b).
    2. Different
      Go to step 7.
  7. What is the voicing of F?
    1. Voiceless M1−voicing
      Go to step 8.
    2. Voiced M1+voicing
      Go to step 8.
  8. Output W + M.

Key

Variable
A placeholder used to store information that can be manipulated or analyzed.
±feature
A phonological feature that can be set (+) or unset (−) for a given sound (usually stored in a variable).
Command
A command that is to be executed, either by using an independent algorithm (e.g. Input, Output) or as a result of the current algorithm (e.g. Determine).
Decision
An analysis or decision that has to be made to determine the correct path to take.
Path
A possible outcome of a decision, which determines what processing is to occur next.
Action/Calculation
An internal action or calculation that the algorithm must perform, usually involving variable manipulation.
=
Assign the value on the right to the variable on the left.
+
In the case of numbers, add the value on the right to the value on the left.
In the case of strings, concatenate the value on the right to the value on the left.
Manipulate the variable on the left using the instructions (usually feature settings) on the right.
Go to
Skip to the specified step and continue processing.