% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % File: gikuyu.dtr % % Purpose: Gikuyu nominal and adjectival inflection % % Author: Gerald Gazdar, 17th October, 1994 % % Email: geraldg@cogs.sussex.ac.uk % % Address: COGS, Sussex University, Brighton BN1 9QH, UK % % Documentation: see reference below % % Related files: nyanja.dtr, kikuyu.dtr, swahili1.dtr, swahili2.dtr % % Version: 2.00 (September 1995) % % % % Copyright (c) University of Sussex 1995. All rights reserved. % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % Based initially on the description to be found in A. Ruffell Barlow % (1960) Studies in Kikuyu Grammar and Idiom. Edinburgh: printed for % the Foreign Mission Committee of the Church of Scotland [ARB, % henceforth]. % % Subsequently revised in the light of invaluable data provided by John % Mugane (CSLI, Stanford) [JM, henceforth]. % % My interest in this material was originally triggered by reading Greg % Stump's (1993) "Reconstituting morphology: the case of Bantu % preprefixation", Linguistic Analysis 23, 169-204. The present % fragment started out simply as a DATR implementation of his PFM % account of Gikuyu preprefixation but then took on a life of its own % as I attempted to develop a theory that covered all the relevant data % available from ARB and JM. % % I am indebted to Geoff Pullum for his assistance on morphophonological % aspects of the analysis. % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % For substantives (i.e., nouns or adjectives), the phonological word % is derived by applying the Morphophonology function to the % morphological word; by default, the morphological word consists of a % prefix followed by a stem and, by default, the stem is the same as % the root; the choice of prefix is made by applying the Prefix % function to two arguments, the first being the prefix-id resulting % from the application of the Select function to the gender and number % of the word, and the second being the syntactic category of the word; % by default, the syntactic gender is the same as the morphological % class. Substantive: == Morphophonology:<""> == [ "" ] == "" == Prefix:"> ""> == "". % Note: the brackets introduced in the rule that expands are % purely for expository purposes (they serve to reveal the implicit % right-branching tree structure in the output) and are deleted (by the % StripBrackets function) prior to morphophonological processing. % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % Select is a function from gender number pairs to prefix-ids: if the % number is singular it returns the first prefix-id from the gender % (where a gender is an ordered pair of prefix-ids notated 'id1 / id2'); % if the number is plural then it returns the second prefix-id. # vars $d: norm dimn. Select: <$sg / $pl $d sg> == $sg <$sg / $pl $d pl> == $pl. % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % Prefix is a two-argument function that takes a prefix-id and a % syntactic category and returns a prefix. Usually the choice of % syntactic category makes no difference to the result, but for the % prefix-ids 5, 8 and 14, different morphemes are returned, depending % on whether the word as a noun or an adjective. # atom N. Prefix: < 1> == mu < 2> == a < 3> == <1> < 4> == m i < 5 noun> == riN % i/_C ri/_V < 5 adj> == riA % i/_C ri/_V|_C < 6> == ma < 7> == k i < 8 noun> == ci % i/_C ci/_V < 8 adj> == <9> < 9> == N <10> == <9> <11> == r u <12> == ka <13> == tu <14 noun> == u <14 adj> == <1> <15> == ku <16> == h a. % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % An Adjective is a just a subclass of Substantive with syntactic % category adj: Adjective: <> == Substantive == regular adjective == adj. % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % A NounA is a subclass of Substantive with syntactic category noun; % whose gender in diminutives is 12/13; and whose default morphological % class is 7/8. NounA: <> == Substantive == noun == 12 / 13 == diminutive stem is normal stem == little "" == 7 / 8. % Nodes NounB through NounH encode further subclasses of noun % differentiated by the way their morphological stem or word is % constructed. In each case, a morphological class is also specified, % either explicitly or implicitly (by inheritance from the parent % node). But this class is no more than a default and may be % overridden by one or more of the lexeme daughters (thus NounA, for % example, has lexeme daughters in classes 1/2, 3/4, 5/6, 7/8, 11/10 % and 15/6). Conversely, lexeme instances of a particular % morphological class may appear as daughters of different nodes (thus % instances of the 11/10 class, for example, can be found as daughters % of NounA, NounB and NounF). Categorization of nouns by node parent % and categorization by morphological class are orthogonal. NounB: <> == NounA == 9 / 10 == diminutive stem is normal word == "". NounC: <> == NounB == 5 / 6 == NounB , diminutive plural stem is diminutive singular stem == "". NounD: <> == NounB == 14 / 6 == NounB , normal word is normal stem == "". NounE: <> == NounB == NounB , normal singular word is normal singular stem == "". NounF: <> == NounB == NounB , normal plural stem is normal singular word == "". NounG: <> == NounF == NounD == NounF , diminutive plural stem is normal plural stem == "". NounH: <> == NounG == NounF , diminutive singular stem is normal singular stem == "". % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % Lexeme nodes for nouns and one adjective (the node names for lexemes are % based on the spelling of their roots, not of their citation forms): % ARB: sg/pl/dim-sg/dim-pl [pages]; JM: sg/pl/dim-sg/dim-pl % ARB: kiana/ciana/kaana/ [101,25] Ana1: == animal cub <> == NounA. % ARB: mwana/ciana// [101]; JM: mwana/ciana/kaana/twana Ana2: <> == NounA == child == 1 / 8. % ARB: mburi/mburi/kaburi/ [18,260] Buri: == goat <> == NounF. % ARB: cuba//gacuba [261] Cuba: == bottle <> == NounD. % ARB: ucuru//gacuru/ [261] Curu: == gruel <> == NounH. % ARB: mwene/ene// [15]; JM: mwene/ene/keene/twene Ene: <> == NounA == person == 1 / 2. % ARB: kuguru/maguru/kaguru/ [92, 261] Guru: <> == NounA == leg == 15 / 6. % ARB: kihaato/ihaato// [92] Haato: == broom <> == NounA. % ARB: ihiga/mahiga/kahiga/ [92,261]; JM: ihiga/mahiga/kahiga/tuhiga Higa: <> == NounA == stone == 5 / 6. % ARB: hiti//kahiti/ [260] Hiti: == hyena <> == NounF. % ARB: ruhiu/hiu/kahiu/ [19,261] Hiu: <> == NounA == knife == 11 / 10. % ARB: uhoro/mohoro// [92,22] Horo: == affair <> == NounG. % ARB: muiritu//kairitu/tuiritu [260] Iritu: <> == NounA == girl == 1 / 2. % ARB: riitho/maitho/gaitho/ [92,261]; JM: riitho/maitho/karitho/tuitho % OR turitho Itho: == eye <> == NounC. % ARB: ngo//gako/ [260] Ko: == shield <> == NounF. % ARB: ruku/ngu/karuku/ [92,25] 25: alt dim sg = ga ku Ku: <> == NounB == piece of firewood == 11 / 10. % ARB: mundu/andu/kamundu/tumundu [92,25,260] Ndu: <> == NounC == person == 1 / 2. % ARB: kiondo/ciondo// [92] Ondo: == string bag <> == NounA. % ARB: [92] Raya: == tall <> == Adjective. % ARB: ruriri/nduriri// [101] Riri: <> == NounF == nation == 11 / 10. % ARB: muro//karo/ [260] Ro: <> == NounA == digging stick == 3 / 4. % JM: taama/ndaama/gataama/tutaama % (ARB: taama/mataama/gataama/ [22,23,261] implying 14/6) Taama: == cloth <> == NounE. % ARB: muti/miti/kamuti/tumiti [15,260] 260: alt dim sg/pl = ga ti / tu ti Ti: <> == NounB == tree == 3 / 4. % ARB: nyumba/nyumba/kanyumba/ [92,25] Yumba: == house <> == NounF. % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % Summary of noun analysis and phonological forms induced % % LEXEME TYPE GENDER SING PLUR DIM-SING DIM-PLUR % % Ana1 NounA 7 / 8 kiana ciana kaana twana % Ana2 NounA 1 / 8 mwana ciana kaana twana % Buri NounF 9 / 10 mburi mburi kaburi tuburi % Cuba NounD 14 / 6 cuba cuba gacuba tucuba % Curu NounH 14 / 6 ucuru mocuru gacuru tuucuru % Ene NounA 1 / 2 mwene ene kene twene % Guru NounA 15 / 6 kuguru maguru kaguru tuguru % Haato NounA 7 / 8 kihaato ihaato kahaato tuhaato % Higa NounA 5 / 6 ihiga mahiga kahiga tuhiga % Hiti NounF 9 / 10 hiti hiti kahiti tuhiti % Hiu NounA 11 / 10 ruhiu hiu kahiu tuhiu % Horo NounG 14 / 6 uhoro mohoro koihoro tuuhoro % Iritu NounA 1 / 2 muiritu airitu kairitu tuiritu % Itho NounC 5 / 6 riitho maitho kariitho turiitho % Ko NounF 9 / 10 ngo ngo gako tuko % Ku NounB 11 / 10 ruku ngu karuku tuku % Ndu NounC 1 / 2 mundu andu kamundu tumundu % Ondo NounA 7 / 8 kiondo ciondo kondo tuondo % Riri NounF 11 / 10 ruriri nduriri karuriri tururiri % Ro NounA 3 / 4 muro miro karo turo % Taama NounE 9 / 10 taama ndaama gataama tutaama % Ti NounB 3 / 4 muti miti kamuti tumiti % Yumba NounF 9 / 10 nyumba nyumba kanyumba tunyumba % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % Eight word nodes for the Raya adjective lexeme: Raya1: <> == Raya == 1 / 2. Raya2: <> == Raya == 3 / 4. Raya3: <> == Raya == 5 / 6. Raya4: <> == Raya == 7 / 8. Raya5: <> == Raya == 9 / 10. Raya6: <> == Raya == 11 / 10. Raya7: <> == Raya == 12 / 13. Raya8: <> == Raya == 14 / 6. Raya9: <> == Raya == 15 / 6. % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % The Morphophonology node applies the MorphoPhonFST function to the % morphological string after the latter has been stripped of its % (expository) brackets by the StripBrackets function: Morphophonology: <> == MorphoPhonFST:>. % The MorphoPhonFST node encodes a deterministic finite state transducer % (with look ahead) to do (some of) the morphophonology. It is a % function that maps one string of symbols (the morphological % representation) into another string of symbols (the phonological % representation). The string that represents the morphology now only % provides a very partial encoding of the morphological structure via % the choice of symbols used for the various prefixes (the riA/riN % distinction being an obvious example). The rules are largely based % on those given by ARB, pages 4-9. Some simplifications have been % made, thus diacritically distinct vowels are not distinguished here % (but probably should be). ARB's book does not include an account of % the tonal structure of Gikuyu, and the present fragment follows him % in this. This rather crude and brute-force treatment of Gikuyu % morphophonology is included, not for any merits of its own (these % might be somewhat hard to identify), but simply because there is enough % morphophonology (and phonology) going on in Gikuyu to make the % morphological representations rather abstract. In the absence of a % fully explicit algorithm mapping from the morphology to the % phonology, it would be hard to decide, in some cases, whether or not % the morphological theory was making correct predictions. For % example, our morphological representation for diminutive singular of % 'Ko' is 'kaNko', but this is realized phonologically as 'gako'. # vars $seg: a b c d e g h i k m n o r t th u w y. # vars $con: b c d g h k m n r t th w y. # vars $nas: m n. # vars $nlo: c k t th. % nlo = nonlabial obstruents # vars $vw1: a e i o u. # vars $vw2: a e i o u. # vars $ae: a e. % mu iritu =/=> mwiritu ! # vars $n: 0 1 2 3 4 5 6 7 8 9. MorphoPhonFST: % By default, apply the identity mapping to segments found in the % input string: <$seg> == $seg <> == e <> % == i <> == o <> == o == == % <$vw1 $vw1> == $vw1 <> == n <> == n == n == n == == == == == == == == == == == == == == == == == == == == == == r == '(' r ')' % Dahl's law (exceptions ignored): == == % Delete diacritic numerals used to distinguish two lexemes with % the same root: <$n> == <> % If the input string ends or an unknown symbol is encountered, % then terminate processing: <> == . % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % This repulsive little function does exactly what it says for % right-branching structures of exactly the kind that it will be % applied to. It will not return sensible results if presented with % any other kind of structure. It is defined in this rather opaque way % so as to avoid having to explicitly declare the $any variable. The % right bracket is returned as an end-marker to cut terminate string % processing in MorphoPhonFST. StripBrackets: <$any> == $any <> <$any [> == <$any> <$any ]> == $any ] <> == ]. % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % The following declaration is convenient for testing and development % purposes (i.e., when the whole inflectional paradigm is for display) % but will need to be replaced with proper equations once % query nodes are in use. # nc seq node: . % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # hide Adjective Morphophonology MorphoPhonFST NounA NounB NounC NounD NounE NounF NounG NounH Prefix Select StripBrackets Substantive Raya. # show . % The next line is the Revision Control System Id: do not delete it. % $Id: archive.dtr,v 1.1 1997/04/09 20:40:33 root Exp $