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