Hermit Crab: Phonological Characteristics
Hermit Crab implements classical generative phonology, with some enhancements and limitations. This page describes this in more detail.
"Classical generative phonology" is used here to mean pre-autosegmental (and pre-metrical) generative phonology, roughly as it existed in The Sound Pattern of English (Chomsky and Halle 1968), but with some enhancements borrowed from the theory of Lexical Phonology. Specifically, here are the limitations (as compared with SPE):
- Angle Brackets: Hermit Crab does not support the angle bracket notation of SPE.
- Curly Braces: Hermit Crab does not support the curly brace notation of SPE. (However, Hermit Crab does support multiple right-hand sides of phonological rules, i.e. everything to the right of the arrow; and these right-hand sides are disjunctively ordered. So while you can't use curly braces with individual parts of the rule, you can effectively use them with the entire right-hand side.)
- Cyclic Application: As currently implemented, Hermit Crab does not support cyclic rule application. This would not be difficult to add (although implementing some sort of strict cyclicity might be tricky). The chief drawback is that it would slow down parsing when used (but adding the capability to do cyclic rule application would not affect parsing speed with grammars that do not invoke cyclicity).
- Deletion Rules: By default, a deletion rule applies in simultaneous fashion, not iteratively (see below re multiple application). This means that you can't write a rule like C --> 0 / C__#, and use it to delete all but the left-most consonant at the end of a word. Rather, such a rule will only delete one word-final consonant. You can get around this limit by setting a variable to allow deletion rules to re-apply a certain number of times, at the cost of slowing parsing.
...and the enhancements (as compared with SPE):
- Multiple Application: Hermit Crab supports not only simultaneously application of a phonological rule, but also right-to-left iterative application and left-to-right iterative application (the latter is the default).
- Strata: Hermit Crab supports the use of strata of rules (as in Lexical Phonology).