For Lab 3, I'm doing the first package. Armenian singular and plural and six cases on nouns and pronouns: nominative, accusative, genitive, dative, ablative, and instrumental (although the nominative/accusative and genitive/dative distinctions are neutralized on many nouns). It has no grammatical gender, even on pronouns -- the third person pronoun is used for "he", "she", and "it". Verbs are inflected to agree in person and number with the subject. I implemented a person and number distinction on nouns and pronouns as described in the lab, and also all six cases. This required adding the (often suppletive) pronoun paradigms to the lexicon, and adding the appropriate covert determiner rules for common nouns and pronouns. The common-noun-lex type declares all common nouns to be third person, and also marks them INFLECTED minus, because a lexical rule is going to apply to each one. The pronoun-lex type, on the other hand, does not say anything about person or INFLECTED, because all the pronoun forms are currently defined, fully inflected, in the lexicon. To faciliate this, I made the types [123]{sg|pl}-pronoun-lex so that the entries in lexicon.tdl don't have to be too repetitive. I then wrote lexical rules for the common nouns (which require a common-noun-lex daughter rather than just a noun because I don't want them to touch pronouns), and the corresponding rules in irules.tdl and lrules.tdl. These rules only apply the most common case suffix paradigm to all the nouns, although some nouns are irregular, but this irregularity is optional. To quote Hagop Andonian: There are other forms of declension, mostly inherited from ancient Armenian, which we shall give later on as they are deeply rooted in modern Armenian and the student should therefore know them even though the tendency now is to break away from them as much as possible and to use the basic form of declension. I may add the other declensions later, but I'm sticking with the basic one for now. For verbs, I created new subtypes of the transitive and intransitive verb types that select for certain types on the subject and object: nom-verb-lex-i, nom-acc-verb-lex-t, and nom-dat-verb-lex-t. This last is for verbs that take a direct object in the dative case, of which I only have one example in the lexicon: spasel, "to wait" (which also has an intransitive variant). All verbs in the lexicon are now based on these types. Since the types are INFLECTED minus, I also added lexical rules to change the infinitive forms (which is how the verbs now appear in the lexicon) into the proper person/number suffixes, handling all three conjugations: e-stem, i-stem, and a-stem. Verbs therefore call for the correct case on their subjects and objects, and must agree with their subjects in person and number. To test this all, I've rearranged my test files a bit. The files associated with various old labs are now in subdirectories called "labN". The new test.items contains the test sentences for this lab, and test.all contains all test sentences. The sentences in test.all that are from previous labs have been tweaked, however, in two ways: since the matrix now handles postfix determiners, I reversed the order of all NPs, and I also fixed the orthography of the verb utel (to eat), which used to say "ke ute" instead of "k ute". The new sentences include: a bunch of versions of mard ("man") phrrshtal ("sneezes"), with every combination of case and number on the noun matched with the third person singular and third person plural versions of the verb. Only the correct two parse: nominative singular "man" with third person singular "sneezes" and nominative plural "men" with third person plural "sneeze", demonstrating both case and number agreement. There are also sentences with every pronoun form in subject and direct object position of the verb lval ("wash") (with the other position filled by kov, "cow"), with only the correct forms parsing. Finally, for completeness, a few sentences with the dative-object verb spasel "to wait" are included -- they compare sentences with an accusative direct object, which don't parse, with sentences with a dative direct object, which do.