# rusforir.gra - central AGFL grammar module of the Russian grammar for Information Retrieval. # # This file is a module of the Russian Parser for Information Retrieval (RuForIR) AGFL grammar, # version 2.1, 25.10.2002. # It can be processed usg the AGFL parser generator to generate the RuForIR parser. # # The grammar is based on the Affix Grammar for Basic Russian. # Original version 1997 # Updated by I. Azarova, 2002 # # Copyright 1997-2002 Saint-Petersburg University GRAMMAR rusforir. #|segment mode| |invisible characters " :\t\n\r\'\`\"\(\)"| |word terminators " \t\n+:,;.!?/%\$\'\`\""| #----------------------------ROOT------------------------------# ANIM :: anm | inanm. CASE :: CASE_ALL | nom. CASE_ALL :: CASE_O | acc. # gen, dat, abl, loc, acc CASE_O :: CASEO | LOC. # gen, dat, abl, loc CASEO :: GEN | DIRP. # gen, dat, abl CASEM :: CENTRE | PERIPH. # all CENTRE :: DIR | GEN. # nom, gen, acc PERIPH :: DIRP | LOC. # dat, abl, loc DIRP :: DAT | ABL. # dat, abl. DIR :: nom | acc. FCASE :: GEN | DAT | LOC. GEN :: gen. # | ADD. #ADD :: part. DAT :: dat. ABL :: abl. LOC :: loc. # | ADDL. #ADDL :: rloc. NUMBER :: sg | pl. QUANT :: small | plur. ASPECT :: perf | imperf. GENPER :: GENDER | PERSON. GENDER :: MASC | FEM | NEUT. GENMN :: MASC | NEUT. # masc | neut GENFN :: FEM | NEUT. # fem | neut MASC :: masc. FEM :: fem. NEUT :: neut. PERSON :: MAN | third. MAN :: first | second. MOOD :: TENSE | UNREAL. UNREAL :: subj | imper. TENSE :: PRFUT | past. PRFUT :: pres | fut | presfut. TRANS :: tran | intran. REFL :: refl | non. VOICE :: active | passive. PRPERSON :: PERSON | refl. SENTYPE :: one_comp | two_comp. COMMTYPE :: affir | ques. CONJTYPE :: COORD | SUBORD. COORD :: union | oppos | expl. SUBORD :: subord | comp. #LEMMA :: TEXT. TEXT :: LEMMA. TEXT :: VALUE. ROOT segment. INCLUDES phrases. INCLUDES rmeta. INCLUDES rinterface. INCLUDES rinflexnoun. INCLUDES rinflexverb. INCLUDES rinflexadjective. INCLUDES rmorphnoun. INCLUDES rmorphverb. INCLUDES rmorphadjective. INCLUDES rmorphpronoun. INCLUDES rnounphrase. INCLUDES rverbphrase. segment : phrase, [pmark(COMMTYPE)] / phrase; oneword / oneword. phrase: adj_phrase (GENDER, ANIM, NUMBER, CASE)/"\n", adj_phrase, "\n"; expanded_noun (GENDER, ANIM, NUMBER, CASE)/ "\n", expanded_noun, "\n"; verb_phrase_exp (MOOD, ASPECT, GENDER, PERSON, NUMBER, TRANS, REFL, VOICE)/ "\n", verb_phrase_exp, "\n". oneword: terminal_verb (MOOD, ASPECT, GENDER, PERSON, NUMBER, TRANS, REFL, VOICE)/ "\n", terminal_verb, "\n"; terminal_infinitive (ASPECT, TRANS, REFL, VOICE)/ "\n", terminal_infinitive, "\n"; terminal_pred_adjective (GENDER, NUMBER)/ "\n", terminal_pred_adjective, "\n"; functional_word / "\n", functional_word, "\n"; terminal_particle (PARTTYPE)/ "\n", terminal_particle, "\n"; terminal_adverb / "\n", terminal_adverb, "\n"; terminal_noun (GENDER, ANIM, NUMBER, CASE) / "\n", terminal_noun, "\n"; terminal_pron (PERSON, NUMBER, CASE)/ "\n", terminal_pron, "\n"; terminal_pron_th (GENDER, third, NUMBER, CASE) / "\n", terminal_pron_th, "\n"; terminal_pron_th_prep (GENDER, third, NUMBER, CASE) / "\n", terminal_pron_th_prep, "\n"; terminal_pronoun (ANIM, CASE, PROTY)/ "\n", terminal_pronoun, "\n"; prepositional_terminal_pronoun (ANIM, CASE, PROTY)/ "\n", prepositional_terminal_pronoun, "\n"; terminal_adjective (GENDER, ANIM, NUMBER, CASE)/ "\n", terminal_adjective, "\n"; terminal_numeral (QUANT, CASE, GENDER) / "\n", terminal_numeral, "\n"; terminal_preposition (CASE_ALL)/ "\n", terminal_preposition, "\n".