mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-27 08:58:55 -06:00
Merge branch 'master' into new-rus-rg
This commit is contained in:
@@ -67,6 +67,16 @@ http://acl.ldc.upenn.edu/W/W07/W07-08.pdf
|
||||
//and agreement of constructions with numerals.//
|
||||
|
||||
|
||||
===Basque===
|
||||
|
||||
- **Source**: https://github.com/GrammaticalFramework/gf-rgl/tree/master/src/basque (Inari Listenmaa, Francis Tyers)
|
||||
|
||||
- **Publications**
|
||||
|
||||
Inari Listenmaa.
|
||||
//Formal Methods for Testing Grammars.// PhD thesis. Chalmers University of Technology and University of Gothenburg. 2019. [PDF https://gupea.ub.gu.se/bitstream/2077/59037/1/gupea_2077_59037_1.pdf]
|
||||
#BR
|
||||
//Mentioned in Chapter 5 of the thesis.//
|
||||
|
||||
|
||||
===Bulgarian===
|
||||
@@ -117,6 +127,10 @@ Appendix to the GF book (A. Ranta, //Grammatical Framework//, CSLI 2011),
|
||||
http://www.grammaticalframework.org/gf-book/gf-chinese-appendix.pdf
|
||||
|
||||
|
||||
===Czech===
|
||||
|
||||
- **Source**: https://github.com/GrammaticalFramework/gf-rgl/tree/master/src/czech (Aarne Ranta, Michal Měchura)
|
||||
|
||||
|
||||
===Danish===
|
||||
|
||||
@@ -155,8 +169,13 @@ The GF Resource Grammar Library.
|
||||
|
||||
- **Source**: http://www.grammaticalframework.org/lib/src/estonian (Kaarel Kaljurand, Inari Listenmaa)
|
||||
|
||||
%- **Publications**
|
||||
- **Publications**
|
||||
|
||||
Inari Listenmaa and Kaarel Kaljurand.
|
||||
Computational Estonian Grammar in Grammatical Framework.
|
||||
//Proceedings of the SALTMIL Workshop at LREC//,
|
||||
2014.
|
||||
[PDF http://ixa2.si.ehu.es/~jipsagak/SALTMIL/LREC_2014_Workshop_Proceedings_Saltmil.pdf]
|
||||
|
||||
|
||||
===Finnish===
|
||||
@@ -256,6 +275,9 @@ In The 3rd Workshop
|
||||
on South and Southeast Asian NLP, COLING 2012. //Reprinted in Shafqat's thesis//
|
||||
|
||||
|
||||
===Hungarian===
|
||||
|
||||
- **Source**: https://github.com/GrammaticalFramework/gf-rgl/tree/master/src/hungarian (Inari Listenmaa, Julia Jansson)
|
||||
|
||||
|
||||
===Icelandic===
|
||||
@@ -281,8 +303,6 @@ Bjarki Traustason, MSc thesis, Chalmers
|
||||
%- **Publications**
|
||||
|
||||
|
||||
|
||||
|
||||
===Japanese===
|
||||
|
||||
- **Source**: http://www.grammaticalframework.org/lib/src/japanese (Liza Zimina)
|
||||
@@ -302,14 +322,31 @@ Lecture Notes in Computer Science Volume 7614, 2012, pp 156-167.
|
||||
http://link.springer.com/chapter/10.1007%2F978-3-642-33983-7_16
|
||||
|
||||
|
||||
===Korean===
|
||||
|
||||
- **Source**: https://github.com/GrammaticalFramework/gf-rgl/tree/master/src/korean (Inari Listenmaa)
|
||||
|
||||
|
||||
|
||||
===Latin===
|
||||
|
||||
- **Source**: http://www.grammaticalframework.org/lib/src/latin (Aarne Ranta)
|
||||
- **Source**: http://www.grammaticalframework.org/lib/src/latin (Herbert Lange, Aarne Ranta)
|
||||
|
||||
%- **Publications**
|
||||
- **Publications**
|
||||
|
||||
Herbert Lange.
|
||||
Erstellen einer Grammatik für das Lateinische im “Grammatical Framework”,
|
||||
Master’s thesis (Magiserarbeit), Ludwig-Maximilians-University Munich, 2013.
|
||||
|
||||
Herbert Lange. Implementation of a Latin Grammar in Grammatical Framework, //DATeCH//, 2017.
|
||||
|
||||
Herbert Lange and Peter Ljunglöf.
|
||||
MULLE: A grammar-based Latin language learning tool to supplement the classroom setting.
|
||||
//Proceedings of the 5th Workshop on Natural Language Processing Techniques for Educational Applications//,
|
||||
2018.
|
||||
[PDF https://www.aclweb.org/anthology/W18-3715.pdf]
|
||||
#BR
|
||||
//Latin RGL used in a language-learning application.//
|
||||
|
||||
|
||||
===Latvian===
|
||||
@@ -397,6 +434,15 @@ Slide presentation, TYPES 2010, Warsaw,
|
||||
http://www.mimuw.edu.pl/~asl/publications/types2010-slides.pdf
|
||||
|
||||
|
||||
===Portuguese===
|
||||
|
||||
- **Source**: https://github.com/GrammaticalFramework/gf-rgl/tree/master/src/portuguese (Bruno Cuconato)
|
||||
|
||||
- **Publications**
|
||||
|
||||
Bruno Cuconato Claro.
|
||||
//A computational grammar for Portuguese//. MSc thesis. Rio de Janeiro, 2019.
|
||||
|
||||
|
||||
===Punjabi===
|
||||
|
||||
@@ -438,7 +484,7 @@ LNCS 6008,
|
||||
|
||||
===Russian===
|
||||
|
||||
- **Source**: http://www.grammaticalframework.org/lib/src/russian (Janna Khegai, Nikita Frolov)
|
||||
- **Source**: http://www.grammaticalframework.org/lib/src/russian (Janna Khegai, Nikita Frolov, Roman Suzi)
|
||||
|
||||
- **Publications**
|
||||
|
||||
@@ -475,6 +521,21 @@ MSc Thesis, Chalmers University of Technology,
|
||||
http://publications.lib.chalmers.se/records/fulltext/163234.pdf
|
||||
|
||||
|
||||
===Slovak===
|
||||
|
||||
- **Source**: https://github.com/GrammaticalFramework/gf-rgl/tree/master/src/slovak (Aarne Ranta, Slavomír Čéplö, Michal Měchura)
|
||||
|
||||
|
||||
===Slovenian===
|
||||
|
||||
- **Source**: https://github.com/GrammaticalFramework/gf-rgl/tree/master/src/slovenian (Krasimir Angelov, Anna Ehrlemark)
|
||||
|
||||
|
||||
===Somali===
|
||||
|
||||
- **Source**: https://github.com/GrammaticalFramework/gf-rgl/tree/master/src/somali (Inari Listenmaa)
|
||||
|
||||
|
||||
===Spanish===
|
||||
|
||||
- **Source**: http://www.grammaticalframework.org/lib/src/spanish http://www.grammaticalframework.org/lib/src/romance
|
||||
@@ -485,7 +546,8 @@ http://publications.lib.chalmers.se/records/fulltext/163234.pdf
|
||||
|
||||
===Swahili===
|
||||
|
||||
- **Source**: http://www.grammaticalframework.org/lib/src/swahili (Wanjiku Ng'ang'a)
|
||||
- **Source**: http://www.grammaticalframework.org/lib/src/swahili (Benson Kituku).
|
||||
- **Previous version**: https://github.com/GrammaticalFramework/gf-rgl/tree/master/src/swahili/old (Wanjiku Ng'ang'a).
|
||||
|
||||
|
||||
- **Publications**
|
||||
@@ -519,10 +581,6 @@ P. Sojka et al (eds), TSD 2012, LNCS 7499, pp. 183-190.
|
||||
http://link.springer.com/content/pdf/10.1007%2F978-3-642-32790-2_22.pdf
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
===Thai===
|
||||
|
||||
- **Source**: http://www.grammaticalframework.org/lib/src/thai (Aarne Ranta, Chotiros Kairoje)
|
||||
@@ -556,3 +614,17 @@ July 21-22, 2007, LSA 2007 Linguistic Institute, Stanford University.
|
||||
2007.
|
||||
|
||||
See also **Hindi** above.
|
||||
|
||||
|
||||
===Zulu===
|
||||
|
||||
- **Source:** https://github.com/LauretteM/gf-rgl-zul/tree/master/src/zulu (Laurette Marais, Laurette Pretorius)
|
||||
|
||||
- **Publications**
|
||||
|
||||
Laurette Marais, Johannes A. Louw, Jaco Badenhorst, Karen Calteaux, Ilana Wilken, Nina van Niekerk,and Glenn Stein.
|
||||
AwezaMed: A Multilingual, MultimodalSpeech-To-Speech Translation Application for Maternal Health Care.
|
||||
//Proceedings of the 23rd International Conference on Information Fusion//.
|
||||
July 6-9, 2020.
|
||||
#BR
|
||||
//The article presents a health care translation system, which uses the Zulu resource grammar.//
|
||||
|
||||
109
doc/status.txt
109
doc/status.txt
@@ -11,60 +11,63 @@ For another view, see the
|
||||
[The Resource Grammar Library coverage map http://www.postcrashgames.com/gf_world/] .
|
||||
|
||||
Corrections and additions are welcome! Notice that only those parts of implementations
|
||||
that are currently available via http://grammaticalframework.org
|
||||
that are currently available via https://github.com/GrammaticalFramework/gf-rgl/
|
||||
are marked in the table
|
||||
|
||||
|
||||
|| ISO | Language | Git | Mini | Parad | Lex | Lang | API | Symb | Irreg | Dict | Trans | tested | publ | authors ||
|
||||
| Afr | Afrikaans | + | - | ++ | + | + | + | - | - | - | - | - | - | *LP,LM
|
||||
| Amh | Amharic | + | + | ++ | + | + | - | - | - | - | - | - | + | *MK
|
||||
| Ara | Arabic | + | + | + | + | + | + | + | - | - | - | + | + | AD,*IL
|
||||
| Bul | Bulgarian | + | + | + | + | + | + | + | + | + | + | ++ | + | *KA
|
||||
| Cat | Catalan | + | + | ++ | + | + | + | + | + | - | + | ++ | - | *JS,*IL
|
||||
| Chi | Chinese | + | - | ++ | + | + | + | - | - | + | + | - | + | ZL,*AR,*CP,QH
|
||||
| Dan | Danish | + | + | ++ | + | + | + | + | + | - | - | + | - | *AR
|
||||
| Dut | Dutch | + | + | ++ | + | + | + | + | + | - | + | + | - | *AR,FJ
|
||||
| Eng | English | + | + | ++ | + | + | + | + | + | + | + | ++ | + | *AR,BB,KA
|
||||
| Est | Estonian | + | - | ++ | + | + | + | - | - | + | + | + | + | *KK,*IL
|
||||
| Eus | Basque | + | - | ++ | + | + | + | - | - | - | - | - | + | *IL
|
||||
| Fin | Finnish | + | + | ++ | + | + | + | + | - | + | + | ++ | + | *AR,*IL
|
||||
| Fre | French | + | + | ++ | + | + | + | + | + | + | + | ++ | - | *AR,RE
|
||||
| Ger | German | + | + | ++ | + | + | + | + | + | + | + | ++ | - | *AR,HH,EG
|
||||
| Gre | Greek(mod) | + | - | ++ | + | + | + | - | - | - | - | - | + | *IP
|
||||
| Grc | Greek(anc) | - | - | - | - | - | - | - | - | - | - | - | + | *HLe
|
||||
| Heb | Hebrew | + | - | - | - | - | - | - | - | - | - | - | + | *DD
|
||||
| Hin | Hindi | + | + | ++ | + | + | + | + | - | - | + | + | + | *SV,*KP,MH,AR,PK
|
||||
| Ice | Icelandic | + | - | ++ | + | + | + | - | - | - | - | - | + | *BT
|
||||
| Ina | Interlingua | + | + | ++ | + | + | - | - | - | - | - | - | - | JB
|
||||
| Ita | Italian | + | + | ++ | + | + | + | + | - | - | + | ++ | - | *AR,*RE,GP
|
||||
| Jpn | Japanese | + | - | ++ | + | + | + | - | - | - | + | + | + | *LZ
|
||||
| Lat | Latin | + | - | - | - | - | - | - | - | + | - | - | - | *AR,*HLa
|
||||
| Lav | Latvian | + | - | ++ | + | + | + | - | - | - | - | + | + | *NG,*PP
|
||||
| Mlt | Maltese | + | + | ++ | + | + | + | + | - | - | - | - | + | *JC
|
||||
| Mon | Mongolian | + | - | ++ | + | + | + | - | - | + | - | - | + | *NE
|
||||
| Nep | Nepali | + | + | ++ | + | + | - | - | - | - | - | - | + | *DS
|
||||
| Nno | Norwegian(n) | + | + | ++ | + | + | + | + | + | - | - | - | - | *SRE
|
||||
| Nor | Norwegian(b) | + | + | ++ | + | + | + | + | + | - | - | + | - | *AR
|
||||
| Pes | Persian | + | - | + | + | + | + | - | - | - | - | + | + | SV,EA,SM,*IL
|
||||
| Pnb | Punjabi | + | + | + | + | + | + | + | - | - | - | - | + | *SV,MH
|
||||
| Pol | Polish | + | + | + | + | + | + | + | - | - | - | + | + | IN,*AS
|
||||
| Por | Portuguese | + | + | ++ | + | + | + | + | + | - | + | + | - | *BC
|
||||
| Ron | Romanian | + | + | ++ | + | + | + | + | - | - | - | + | + | *RE
|
||||
| Rus | Russian | + | + | ++ | + | + | + | - | - | + | + | - | + | JK,*NF
|
||||
| Snd | Sindhi | + | + | ++ | + | + | + | + | - | - | - | - | + | *SV,*JD
|
||||
| Spa | Spanish | + | + | ++ | + | + | + | + | + | - | + | ++ | - | *AR,IA,TS,*IL
|
||||
| Swa | Swahili | + | - | - | - | - | - | - | - | - | - | - | + | *WN,JM
|
||||
| Swe | Swedish | + | + | ++ | + | + | + | + | + | + | + | ++ | + | *MA,*AR,MF
|
||||
| Tha | Thai | + | - | ++ | + | + | + | + | - | - | + | + | - | *AR,CK
|
||||
| Tsn | Tswana | - | - | - | - | - | - | - | - | - | - | - | - | *LP,AB
|
||||
| Tur | Turkish | + | - | ++ | + | - | - | - | - | + | - | - | - | *SC,KA
|
||||
| Urd | Urdu | + | + | ++ | + | + | + | + | - | - | - | + | + | *SV,MH
|
||||
|| ISO | Language | Parad | Lex | Lang | API | Symb | Irreg | Dict | WN | tested | publ | authors ||
|
||||
| Afr | Afrikaans | ++ | + | + | + | - | - | - | - | - | - | *LP,LM |
|
||||
| Amh | Amharic | ++ | + | + | - | - | - | - | - | - | + | *MK |
|
||||
| Ara | Arabic | + | + | + | + | + | - | - | - | + | + | AD,*IL |
|
||||
| Bul | Bulgarian | + | + | + | + | + | + | + | + | ++ | + | *KA |
|
||||
| Cat | Catalan | ++ | + | + | + | + | + | - | + | ++ | - | *JS,*IL |
|
||||
| Chi | Chinese | ++ | + | + | + | - | - | + | + | - | + | ZL,*AR,*CP,QH |
|
||||
| Cze | Czech | + | + | + | + | - | - | - | - | + | - | *AR,*MM |
|
||||
| Dan | Danish | ++ | + | + | + | + | + | - | - | + | - | *AR |
|
||||
| Dut | Dutch | ++ | + | + | + | + | + | - | + | + | - | *AR,FJ |
|
||||
| Eng | English | ++ | + | + | + | + | + | + | + | ++ | + | *AR,BB,KA |
|
||||
| Est | Estonian | ++ | + | + | + | - | - | + | + | + | + | *KK,*IL |
|
||||
| Eus | Basque | ++ | + | + | + | - | - | - | - | - | + | *IL |
|
||||
| Fin | Finnish | ++ | + | + | + | + | - | + | + | ++ | + | *AR,*IL |
|
||||
| Fre | French | ++ | + | + | + | + | + | + | - | ++ | - | *AR,RE |
|
||||
| Ger | German | ++ | + | + | + | + | + | + | - | ++ | - | *AR,HH,EG |
|
||||
| Gre | Greek(mod) | ++ | + | + | + | - | - | - | - | - | + | *IP |
|
||||
| Grc | Greek(anc) | - | - | - | - | - | - | - | - | - | + | *HLe |
|
||||
| Heb | Hebrew | - | - | - | - | - | - | - | - | - | + | *DD |
|
||||
| Hin | Hindi | ++ | + | + | + | + | - | - | - | + | + | *SV,*KP,MH,AR,PK |
|
||||
| Hun | Hungarian | ++ | + | + | + | + | - | - | - | + | - | *IL,*JJ |
|
||||
| Ice | Icelandic | ++ | + | + | + | - | - | - | - | - | + | *BT |
|
||||
| Ina | Interlingua | ++ | + | + | - | - | - | - | - | - | - | JB |
|
||||
| Ita | Italian | ++ | + | + | + | + | - | - | + | ++ | - | *AR,*RE,GP |
|
||||
| Jpn | Japanese | ++ | + | + | + | - | - | - | - | + | + | *LZ |
|
||||
| Kor | Korean | ++ | + | + | + | + | - | - | - | + | - | *IL |
|
||||
| Lat | Latin | - | - | - | - | - | - | + | - | - | - | *AR,*HLa |
|
||||
| Lav | Latvian | ++ | + | + | + | - | - | - | - | + | + | *NG,*PP |
|
||||
| Mlt | Maltese | ++ | + | + | + | + | - | - | - | - | + | *JC |
|
||||
| Mon | Mongolian | ++ | + | + | + | - | - | + | - | - | + | *NE |
|
||||
| Nep | Nepali | ++ | + | + | - | - | - | - | - | - | + | *DS |
|
||||
| Nno | Norwegian(n) | ++ | + | + | + | + | + | - | - | - | - | *SRE |
|
||||
| Nor | Norwegian(b) | ++ | + | + | + | + | + | - | - | + | - | *AR |
|
||||
| Pes | Persian | + | + | + | + | - | - | - | - | + | + | SV,EA,SM,*IL |
|
||||
| Pnb | Punjabi | + | + | + | + | + | - | - | - | - | + | *SV,MH |
|
||||
| Pol | Polish | + | + | + | + | + | - | - | - | + | + | IN,*AS |
|
||||
| Por | Portuguese | ++ | + | + | + | + | + | + | + | + | + | *BC |
|
||||
| Ron | Romanian | ++ | + | + | + | + | - | - | - | + | + | *RE |
|
||||
| Rus | Russian | ++ | + | + | + | - | - | + | - | - | + | JK,NF,*RS |
|
||||
| Slk | Slovak | + | + | + | + | - | - | - | - | + | - | *AR,*MM,SČ |
|
||||
| Slv | Slovene | ++ | + | + | + | - | - | - | + | + | - | *KA,AE |
|
||||
| Snd | Sindhi | ++ | + | + | + | + | - | - | - | - | + | *SV,*JD |
|
||||
| Som | Somali | + | - | - | - | - | - | - | - | - | - | *IL |
|
||||
| Spa | Spanish | ++ | + | + | + | + | + | - | + | ++ | - | *AR,IA,TS,*IL |
|
||||
| Swa | Swahili | + | + | - | - | - | - | - | - | - | + | *WN,JM,BK |
|
||||
| Swe | Swedish | ++ | + | + | + | + | + | + | + | ++ | + | *MA,*AR,MF |
|
||||
| Tha | Thai | ++ | + | + | + | + | - | - | + | + | - | *AR,CK |
|
||||
| Tur | Turkish | ++ | + | - | - | - | - | + | + | - | - | *SC,KA |
|
||||
| Urd | Urdu | ++ | + | + | + | + | - | - | - | + | + | *SV,MH |
|
||||
|
||||
ISO = 3-letter ISO language code, used in library file names
|
||||
(mostly ISO 639-2 B (bibliographic))
|
||||
|
||||
Git = available in the gf-rgl Git repository
|
||||
|
||||
Parad = ``Paradigms`` file complete for major POS, ++ means with smart paradigms
|
||||
|
||||
Lex = the resource ``Lexicon`` (nearly) complete
|
||||
@@ -73,13 +76,13 @@ Lang = the resource ``Syntax`` (nearly) complete
|
||||
|
||||
API = the ``Syntax`` compiles
|
||||
|
||||
Symb = the ``Symbolic`` API compiles
|
||||
Symb = the ``Symbolic`` API complete
|
||||
|
||||
Irreg = the ``Irreg`` module with irregular verbs exists
|
||||
|
||||
Dict = the ``Dict`` module, large-scale morphological lexicon, exists
|
||||
|
||||
Trans = large-scale translation module and dictionary exists
|
||||
WN = WordNet lexicon exists
|
||||
|
||||
tested = tested in some applications, ++ means extensively tested with no major issues
|
||||
|
||||
@@ -93,10 +96,12 @@ authors = main contributors, * means still active
|
||||
|
||||
AB Ansu Berg,
|
||||
AD Ali El Dada,
|
||||
AE Anna Ehrlemark,
|
||||
AR Aarne Ranta,
|
||||
AS Adam Slaski,
|
||||
BB Björn Bringert,
|
||||
BC Bruno Cuconato,
|
||||
BK Benson Kituku,
|
||||
BT Bjarki Traustason,
|
||||
CK Chotiros Kairoje,
|
||||
CP Chen Peng,
|
||||
@@ -116,6 +121,7 @@ IP Ioanna Papadopoulou,
|
||||
JB Jean-Philippe Bernardy,
|
||||
JC John J. Camilleri,
|
||||
JD Jherna Devi,
|
||||
JJ Julia Jansson,
|
||||
JK Janna Khegai,
|
||||
JM Juliet Mutahi,
|
||||
JS Jordi Saludes,
|
||||
@@ -129,13 +135,16 @@ MA Malin Ahlberg,
|
||||
MF Markus Forsberg,
|
||||
MK Markos Kassa Gobena,
|
||||
MH Muhammad Humayoun,
|
||||
MM Michal Měchura,
|
||||
NE Nyamsuren Erdenebadrakh,
|
||||
NF Nick Frolov,
|
||||
NG Normunds Gruzitis,
|
||||
QH Qiao Haiyan,
|
||||
RE Ramona Enache,
|
||||
RS Roman Suzi,
|
||||
PP Peteris Paikens,
|
||||
SC Server Cimen,
|
||||
SČ Slavomír Čéplö,
|
||||
SM Sofy Moradi,
|
||||
SRE Stian Rødven Eide,
|
||||
SV Shafqat Virk,
|
||||
@@ -147,7 +156,7 @@ ZL Zhuo Lin Qiqige
|
||||
|
||||
==Rules==
|
||||
|
||||
Only components available at http://grammaticalframework.org are indicated in the table.
|
||||
Only components available at https://github.com/GrammaticalFramework/gf-rgl/ are indicated in the table.
|
||||
|
||||
If you want to work on a language already in the table, please be kind and contact the
|
||||
active authors of it.
|
||||
|
||||
@@ -99,4 +99,4 @@ oper whoSg_IP : IP = notYet "whoSg_IP" ;
|
||||
oper youPl_Pron : Pron = notYet "youPl_Pron" ;
|
||||
oper youPol_Pron : Pron = notYet "youPol_Pron" ;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,28 +30,28 @@ lin
|
||||
UsePron pron = {
|
||||
s = table {
|
||||
Nom | Voc => pron.nom ;
|
||||
Gen => pron.gen ;
|
||||
Dat => pron.dat ;
|
||||
Acc => pron.acc ;
|
||||
Loc => pron.loc ;
|
||||
Ins => pron.ins
|
||||
Gen => pron.gen ;
|
||||
Dat => pron.dat ;
|
||||
Acc => pron.acc ;
|
||||
Loc => pron.loc ;
|
||||
Ins => pron.ins
|
||||
} ;
|
||||
clit = table {
|
||||
Nom => pron.cnom ;
|
||||
Voc => pron.nom ;
|
||||
Gen => pron.cgen ;
|
||||
Dat => pron.cdat ;
|
||||
Acc => pron.cacc ;
|
||||
Loc => pron.loc ;
|
||||
Ins => pron.ins
|
||||
Voc => pron.nom ;
|
||||
Gen => pron.cgen ;
|
||||
Dat => pron.cdat ;
|
||||
Acc => pron.cacc ;
|
||||
Loc => pron.loc ;
|
||||
Ins => pron.ins
|
||||
} ;
|
||||
prep = table {
|
||||
Nom | Voc => pron.nom ;
|
||||
Gen => pron.pgen ;
|
||||
Dat => pron.pdat ;
|
||||
Acc => pron.pacc ;
|
||||
Loc => pron.loc ;
|
||||
Ins => pron.pins
|
||||
Gen => pron.pgen ;
|
||||
Dat => pron.pdat ;
|
||||
Acc => pron.pacc ;
|
||||
Loc => pron.loc ;
|
||||
Ins => pron.pins
|
||||
} ;
|
||||
a = pron.a ;
|
||||
hasClit = True ;
|
||||
|
||||
729
src/rukiga/.unimplemented_func_lines.txt
Normal file
729
src/rukiga/.unimplemented_func_lines.txt
Normal file
@@ -0,0 +1,729 @@
|
||||
LangCgg
|
||||
AdAdv
|
||||
AddAdvQVP
|
||||
AdnCAdv
|
||||
AdvAP
|
||||
AdvIAdv
|
||||
AdvIP
|
||||
AdvQVP
|
||||
AdvS
|
||||
AdvSlash
|
||||
BaseAP
|
||||
BaseAdV
|
||||
BaseAdv
|
||||
BaseCN
|
||||
BaseDAP
|
||||
BaseIAdv
|
||||
BaseNP
|
||||
BaseRS
|
||||
BaseS
|
||||
CAdvAP
|
||||
CleftAdv
|
||||
CleftNP
|
||||
ComparA
|
||||
ComparAdvAdj
|
||||
ComparAdvAdjS
|
||||
ComplA
|
||||
ComplSlashIP
|
||||
ConjAP
|
||||
ConjAdV
|
||||
ConjAdv
|
||||
ConjCN
|
||||
ConjDet
|
||||
ConjIAdv
|
||||
ConjNP
|
||||
ConjRS
|
||||
ConjS
|
||||
ConsAP
|
||||
ConsAdV
|
||||
ConsAdv
|
||||
ConsCN
|
||||
ConsDAP
|
||||
ConsIAdv
|
||||
ConsNP
|
||||
ConsRS
|
||||
ConsS
|
||||
EmbedQS
|
||||
EmbedS
|
||||
EmbedVP
|
||||
ExistIP
|
||||
ExistIPAdv
|
||||
ExistNP
|
||||
ExistNPAdv
|
||||
ExtAdvS
|
||||
ExtAdvVP
|
||||
FunRP
|
||||
GenericCl
|
||||
IdetQuant
|
||||
ImpP
|
||||
ImpPl
|
||||
ImpersCl
|
||||
InLanguage
|
||||
InflectionA
|
||||
InflectionA
|
||||
InflectionAdv
|
||||
InflectionN
|
||||
InflectionN
|
||||
InflectionN
|
||||
InflectionPrep
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionVA
|
||||
InflectionVQ
|
||||
InflectionVS
|
||||
InflectionVV
|
||||
MarkupAP
|
||||
MarkupAdv
|
||||
MarkupCN
|
||||
MarkupNP
|
||||
MarkupPhr
|
||||
MarkupS
|
||||
MarkupText
|
||||
MarkupUtt
|
||||
MkDefinition
|
||||
MkDefinitionEx
|
||||
MkDocument
|
||||
MkTag
|
||||
NoDefinition
|
||||
PConjConj
|
||||
PassV
|
||||
PositAdAAdj
|
||||
PositAdvAdj
|
||||
PredSCVP
|
||||
PrepIP
|
||||
ProgrVP
|
||||
QuestQVP
|
||||
ReflA
|
||||
ReflVP
|
||||
RelS
|
||||
SSubjS
|
||||
SelfAdVVP
|
||||
SelfAdvVP
|
||||
SelfNP
|
||||
SentAP
|
||||
SentCN
|
||||
SlashPrep
|
||||
SlashV
|
||||
SlashV
|
||||
SlashV
|
||||
SlashV
|
||||
SlashV
|
||||
VNP
|
||||
SlashVS
|
||||
SubjS
|
||||
UseA
|
||||
UseSlash
|
||||
VPSlashPrep
|
||||
VocNP
|
||||
Mark
|
||||
above
|
||||
Prep
|
||||
active
|
||||
passive
|
||||
afrikaans
|
||||
Language
|
||||
airplane
|
||||
already
|
||||
Adv
|
||||
although
|
||||
Subj
|
||||
amharic
|
||||
Language
|
||||
answer
|
||||
apartment
|
||||
april
|
||||
Month
|
||||
arabic
|
||||
Language
|
||||
art
|
||||
as
|
||||
CAdv
|
||||
ashes
|
||||
ask
|
||||
at
|
||||
most
|
||||
AdN
|
||||
august
|
||||
Month
|
||||
Mark
|
||||
back
|
||||
bank
|
||||
bark
|
||||
beautiful
|
||||
because
|
||||
Subj
|
||||
before
|
||||
Prep
|
||||
beg
|
||||
belly
|
||||
blow
|
||||
bone
|
||||
boot
|
||||
boss
|
||||
both
|
||||
and
|
||||
DConj
|
||||
bottle
|
||||
of
|
||||
CN
|
||||
breast
|
||||
breathe
|
||||
broad
|
||||
brother
|
||||
brown
|
||||
bulgarian
|
||||
Language
|
||||
burn
|
||||
butter
|
||||
by
|
||||
agent
|
||||
Prep
|
||||
by
|
||||
means
|
||||
Prep
|
||||
camera
|
||||
cap
|
||||
carpet
|
||||
catalan
|
||||
Language
|
||||
ceiling
|
||||
chair
|
||||
cheese
|
||||
chinese
|
||||
Language
|
||||
church
|
||||
clever
|
||||
coat
|
||||
correct
|
||||
country
|
||||
cousin
|
||||
cup
|
||||
of
|
||||
CN
|
||||
danish
|
||||
Language
|
||||
dayMonthAdv
|
||||
dayMonthYearAdv
|
||||
day
|
||||
day
|
||||
Timeunit
|
||||
dconcat
|
||||
december
|
||||
Month
|
||||
die
|
||||
dig
|
||||
digits
|
||||
num
|
||||
digits
|
||||
numeral
|
||||
dirty
|
||||
dn
|
||||
dn
|
||||
dn
|
||||
dn
|
||||
dn
|
||||
dn
|
||||
dn
|
||||
doctor
|
||||
door
|
||||
dry
|
||||
dull
|
||||
during
|
||||
Prep
|
||||
dust
|
||||
dutch
|
||||
Language
|
||||
ear
|
||||
earth
|
||||
easy
|
||||
egg
|
||||
eightHour
|
||||
eighteenHour
|
||||
either
|
||||
or
|
||||
DConj
|
||||
elevenHour
|
||||
empty
|
||||
enemy
|
||||
english
|
||||
Language
|
||||
estonian
|
||||
Language
|
||||
everybody
|
||||
NP
|
||||
everything
|
||||
NP
|
||||
except
|
||||
Prep
|
||||
eye
|
||||
factory
|
||||
fall
|
||||
far
|
||||
Adv
|
||||
fat
|
||||
feather
|
||||
february
|
||||
Month
|
||||
few
|
||||
short
|
||||
of
|
||||
fifteenHour
|
||||
fight
|
||||
fingernail
|
||||
finnish
|
||||
Language
|
||||
fiveHour
|
||||
float
|
||||
floor
|
||||
flow
|
||||
fly
|
||||
fog
|
||||
foot
|
||||
for
|
||||
Prep
|
||||
forest
|
||||
forget
|
||||
fourHour
|
||||
fourteenHour
|
||||
freeze
|
||||
french
|
||||
Language
|
||||
friday
|
||||
Weekday
|
||||
fridge
|
||||
fruit
|
||||
full
|
||||
fun
|
||||
AV
|
||||
garden
|
||||
german
|
||||
Language
|
||||
glass
|
||||
of
|
||||
CN
|
||||
glove
|
||||
gold
|
||||
grass
|
||||
greek
|
||||
Language
|
||||
guts
|
||||
Mark
|
||||
Mark
|
||||
hair
|
||||
hand
|
||||
harbour
|
||||
has
|
||||
age
|
||||
VP
|
||||
hat
|
||||
hate
|
||||
have
|
||||
name
|
||||
Cl
|
||||
head
|
||||
hear
|
||||
heart
|
||||
hebrew
|
||||
Language
|
||||
here
|
||||
from
|
||||
Adv
|
||||
here
|
||||
to
|
||||
Adv
|
||||
hill
|
||||
hindi
|
||||
Language
|
||||
hit
|
||||
hold
|
||||
horn
|
||||
hour
|
||||
Timeunit
|
||||
how
|
||||
much
|
||||
IAdv
|
||||
how
|
||||
far
|
||||
QCl
|
||||
how
|
||||
old
|
||||
QCl
|
||||
hungry
|
||||
VP
|
||||
hunt
|
||||
husband
|
||||
Mark
|
||||
ice
|
||||
if
|
||||
Subj
|
||||
if
|
||||
then
|
||||
Conj
|
||||
ill
|
||||
VP
|
||||
important
|
||||
industry
|
||||
intMonthday
|
||||
intYear
|
||||
iron
|
||||
is
|
||||
right
|
||||
VP
|
||||
is
|
||||
wrong
|
||||
VP
|
||||
italian
|
||||
Language
|
||||
january
|
||||
Month
|
||||
japanese
|
||||
Language
|
||||
july
|
||||
Month
|
||||
june
|
||||
Month
|
||||
king
|
||||
knee
|
||||
know
|
||||
lake
|
||||
lamp
|
||||
languageCN
|
||||
languageNP
|
||||
language
|
||||
title
|
||||
Utt
|
||||
latin
|
||||
Language
|
||||
latvian
|
||||
Language
|
||||
laugh
|
||||
leaf
|
||||
learn
|
||||
leather
|
||||
leave
|
||||
left
|
||||
Ord
|
||||
leg
|
||||
less
|
||||
CAdv
|
||||
li
|
||||
Mark
|
||||
lie
|
||||
like
|
||||
listen
|
||||
liver
|
||||
long
|
||||
lose
|
||||
louse
|
||||
love
|
||||
maltese
|
||||
Language
|
||||
march
|
||||
Month
|
||||
married
|
||||
married
|
||||
Cl
|
||||
may
|
||||
Month
|
||||
meat
|
||||
minute
|
||||
Timeunit
|
||||
monday
|
||||
Weekday
|
||||
monthAdv
|
||||
monthN
|
||||
monthPN
|
||||
monthYearAdv
|
||||
month
|
||||
Timeunit
|
||||
moon
|
||||
more
|
||||
CAdv
|
||||
mother
|
||||
mountain
|
||||
mouth
|
||||
much
|
||||
Det
|
||||
units
|
||||
AP
|
||||
units
|
||||
of
|
||||
NP
|
||||
name
|
||||
narrow
|
||||
nd
|
||||
nd
|
||||
nd
|
||||
nd
|
||||
nd
|
||||
near
|
||||
neck
|
||||
nepali
|
||||
Language
|
||||
newspaper
|
||||
night
|
||||
nineHour
|
||||
nineteenHour
|
||||
no
|
||||
Utt
|
||||
nobody
|
||||
NP
|
||||
norwegian
|
||||
Language
|
||||
nose
|
||||
nothing
|
||||
NP
|
||||
november
|
||||
Month
|
||||
num
|
||||
digits
|
||||
number
|
||||
october
|
||||
Month
|
||||
oil
|
||||
oneHour
|
||||
open
|
||||
Mark
|
||||
paint
|
||||
paper
|
||||
part
|
||||
Prep
|
||||
peace
|
||||
pen
|
||||
persian
|
||||
Language
|
||||
person
|
||||
planet
|
||||
plastic
|
||||
play
|
||||
policeman
|
||||
polish
|
||||
Language
|
||||
possess
|
||||
Prep
|
||||
priest
|
||||
probable
|
||||
AS
|
||||
pull
|
||||
punjabi
|
||||
Language
|
||||
push
|
||||
put
|
||||
queen
|
||||
question
|
||||
quite
|
||||
Adv
|
||||
radio
|
||||
rain
|
||||
rain
|
||||
ready
|
||||
VP
|
||||
reason
|
||||
religion
|
||||
restaurant
|
||||
right
|
||||
Ord
|
||||
road
|
||||
rock
|
||||
romanian
|
||||
Language
|
||||
roof
|
||||
root
|
||||
rope
|
||||
rotten
|
||||
round
|
||||
rub
|
||||
rubber
|
||||
rule
|
||||
russian
|
||||
Language
|
||||
salt
|
||||
sand
|
||||
saturday
|
||||
Weekday
|
||||
scared
|
||||
VP
|
||||
school
|
||||
science
|
||||
scratch
|
||||
second
|
||||
Timeunit
|
||||
seed
|
||||
seek
|
||||
september
|
||||
Month
|
||||
sevenHour
|
||||
seventeenHour
|
||||
sew
|
||||
sharp
|
||||
sheep
|
||||
shirt
|
||||
shoe
|
||||
shop
|
||||
short
|
||||
silver
|
||||
sindhi
|
||||
Language
|
||||
sing
|
||||
sister
|
||||
sit
|
||||
sixHour
|
||||
sixteenHour
|
||||
skin
|
||||
sky
|
||||
smell
|
||||
smoke
|
||||
smooth
|
||||
snake
|
||||
snow
|
||||
sock
|
||||
somebody
|
||||
NP
|
||||
something
|
||||
NP
|
||||
somewhere
|
||||
Adv
|
||||
song
|
||||
spanish
|
||||
Language
|
||||
speak
|
||||
spit
|
||||
split
|
||||
squeeze
|
||||
stab
|
||||
stand
|
||||
steel
|
||||
stick
|
||||
stone
|
||||
stop
|
||||
stove
|
||||
straight
|
||||
student
|
||||
stupid
|
||||
suck
|
||||
sun
|
||||
sunday
|
||||
Weekday
|
||||
swahili
|
||||
Language
|
||||
swedish
|
||||
Language
|
||||
swell
|
||||
switch
|
||||
off
|
||||
switch
|
||||
on
|
||||
table
|
||||
Mark
|
||||
table
|
||||
tail
|
||||
td
|
||||
Mark
|
||||
teacher
|
||||
television
|
||||
tenHour
|
||||
thai
|
||||
Language
|
||||
there
|
||||
from
|
||||
Adv
|
||||
there
|
||||
to
|
||||
Adv
|
||||
there
|
||||
Adv
|
||||
they
|
||||
Pron
|
||||
thick
|
||||
thin
|
||||
think
|
||||
thirsty
|
||||
VP
|
||||
thirteenHour
|
||||
threeHour
|
||||
through
|
||||
Prep
|
||||
throw
|
||||
thursday
|
||||
Weekday
|
||||
tie
|
||||
timeHour
|
||||
timeHourMinute
|
||||
timeunitAdv
|
||||
tired
|
||||
VP
|
||||
today
|
||||
Adv
|
||||
tongue
|
||||
tooth
|
||||
tr
|
||||
Mark
|
||||
tuesday
|
||||
Weekday
|
||||
turkish
|
||||
Language
|
||||
turn
|
||||
twelveHour
|
||||
twentyFourHour
|
||||
twentyHour
|
||||
twentyOneHour
|
||||
twentyThreeHour
|
||||
twentyTwoHour
|
||||
twoHour
|
||||
ugly
|
||||
ul
|
||||
Mark
|
||||
uncertain
|
||||
university
|
||||
urdu
|
||||
Language
|
||||
village
|
||||
vomit
|
||||
war
|
||||
wash
|
||||
watch
|
||||
weather
|
||||
adjCl
|
||||
wednesday
|
||||
Weekday
|
||||
week
|
||||
Timeunit
|
||||
weekdayHabitualAdv
|
||||
weekdayLastAdv
|
||||
weekdayN
|
||||
weekdayNextAdv
|
||||
weekdayPN
|
||||
weekdayPunctualAdv
|
||||
wet
|
||||
what
|
||||
name
|
||||
QCl
|
||||
when
|
||||
Subj
|
||||
wide
|
||||
wife
|
||||
win
|
||||
wind
|
||||
window
|
||||
wing
|
||||
wipe
|
||||
without
|
||||
Prep
|
||||
wonder
|
||||
VQ
|
||||
wood
|
||||
worm
|
||||
write
|
||||
yearAdv
|
||||
year
|
||||
year
|
||||
Timeunit
|
||||
yes
|
||||
Utt
|
||||
youPol
|
||||
Pron
|
||||
729
src/rukiga/.unimplented_func_lines.txt
Normal file
729
src/rukiga/.unimplented_func_lines.txt
Normal file
@@ -0,0 +1,729 @@
|
||||
LangCgg
|
||||
AdAdv
|
||||
AddAdvQVP
|
||||
AdnCAdv
|
||||
AdvAP
|
||||
AdvIAdv
|
||||
AdvIP
|
||||
AdvQVP
|
||||
AdvS
|
||||
AdvSlash
|
||||
BaseAP
|
||||
BaseAdV
|
||||
BaseAdv
|
||||
BaseCN
|
||||
BaseDAP
|
||||
BaseIAdv
|
||||
BaseNP
|
||||
BaseRS
|
||||
BaseS
|
||||
CAdvAP
|
||||
CleftAdv
|
||||
CleftNP
|
||||
ComparA
|
||||
ComparAdvAdj
|
||||
ComparAdvAdjS
|
||||
ComplA
|
||||
ComplSlashIP
|
||||
ConjAP
|
||||
ConjAdV
|
||||
ConjAdv
|
||||
ConjCN
|
||||
ConjDet
|
||||
ConjIAdv
|
||||
ConjNP
|
||||
ConjRS
|
||||
ConjS
|
||||
ConsAP
|
||||
ConsAdV
|
||||
ConsAdv
|
||||
ConsCN
|
||||
ConsDAP
|
||||
ConsIAdv
|
||||
ConsNP
|
||||
ConsRS
|
||||
ConsS
|
||||
EmbedQS
|
||||
EmbedS
|
||||
EmbedVP
|
||||
ExistIP
|
||||
ExistIPAdv
|
||||
ExistNP
|
||||
ExistNPAdv
|
||||
ExtAdvS
|
||||
ExtAdvVP
|
||||
FunRP
|
||||
GenericCl
|
||||
IdetQuant
|
||||
ImpP
|
||||
ImpPl
|
||||
ImpersCl
|
||||
InLanguage
|
||||
InflectionA
|
||||
InflectionA
|
||||
InflectionAdv
|
||||
InflectionN
|
||||
InflectionN
|
||||
InflectionN
|
||||
InflectionPrep
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionVA
|
||||
InflectionVQ
|
||||
InflectionVS
|
||||
InflectionVV
|
||||
MarkupAP
|
||||
MarkupAdv
|
||||
MarkupCN
|
||||
MarkupNP
|
||||
MarkupPhr
|
||||
MarkupS
|
||||
MarkupText
|
||||
MarkupUtt
|
||||
MkDefinition
|
||||
MkDefinitionEx
|
||||
MkDocument
|
||||
MkTag
|
||||
NoDefinition
|
||||
PConjConj
|
||||
PassV
|
||||
PositAdAAdj
|
||||
PositAdvAdj
|
||||
PredSCVP
|
||||
PrepIP
|
||||
ProgrVP
|
||||
QuestQVP
|
||||
ReflA
|
||||
ReflVP
|
||||
RelS
|
||||
SSubjS
|
||||
SelfAdVVP
|
||||
SelfAdvVP
|
||||
SelfNP
|
||||
SentAP
|
||||
SentCN
|
||||
SlashPrep
|
||||
SlashV
|
||||
SlashV
|
||||
SlashV
|
||||
SlashV
|
||||
SlashV
|
||||
VNP
|
||||
SlashVS
|
||||
SubjS
|
||||
UseA
|
||||
UseSlash
|
||||
VPSlashPrep
|
||||
VocNP
|
||||
Mark
|
||||
above
|
||||
Prep
|
||||
active
|
||||
passive
|
||||
afrikaans
|
||||
Language
|
||||
airplane
|
||||
already
|
||||
Adv
|
||||
although
|
||||
Subj
|
||||
amharic
|
||||
Language
|
||||
answer
|
||||
apartment
|
||||
april
|
||||
Month
|
||||
arabic
|
||||
Language
|
||||
art
|
||||
as
|
||||
CAdv
|
||||
ashes
|
||||
ask
|
||||
at
|
||||
most
|
||||
AdN
|
||||
august
|
||||
Month
|
||||
Mark
|
||||
back
|
||||
bank
|
||||
bark
|
||||
beautiful
|
||||
because
|
||||
Subj
|
||||
before
|
||||
Prep
|
||||
beg
|
||||
belly
|
||||
blow
|
||||
bone
|
||||
boot
|
||||
boss
|
||||
both
|
||||
and
|
||||
DConj
|
||||
bottle
|
||||
of
|
||||
CN
|
||||
breast
|
||||
breathe
|
||||
broad
|
||||
brother
|
||||
brown
|
||||
bulgarian
|
||||
Language
|
||||
burn
|
||||
butter
|
||||
by
|
||||
agent
|
||||
Prep
|
||||
by
|
||||
means
|
||||
Prep
|
||||
camera
|
||||
cap
|
||||
carpet
|
||||
catalan
|
||||
Language
|
||||
ceiling
|
||||
chair
|
||||
cheese
|
||||
chinese
|
||||
Language
|
||||
church
|
||||
clever
|
||||
coat
|
||||
correct
|
||||
country
|
||||
cousin
|
||||
cup
|
||||
of
|
||||
CN
|
||||
danish
|
||||
Language
|
||||
dayMonthAdv
|
||||
dayMonthYearAdv
|
||||
day
|
||||
day
|
||||
Timeunit
|
||||
dconcat
|
||||
december
|
||||
Month
|
||||
die
|
||||
dig
|
||||
digits
|
||||
num
|
||||
digits
|
||||
numeral
|
||||
dirty
|
||||
dn
|
||||
dn
|
||||
dn
|
||||
dn
|
||||
dn
|
||||
dn
|
||||
dn
|
||||
doctor
|
||||
door
|
||||
dry
|
||||
dull
|
||||
during
|
||||
Prep
|
||||
dust
|
||||
dutch
|
||||
Language
|
||||
ear
|
||||
earth
|
||||
easy
|
||||
egg
|
||||
eightHour
|
||||
eighteenHour
|
||||
either
|
||||
or
|
||||
DConj
|
||||
elevenHour
|
||||
empty
|
||||
enemy
|
||||
english
|
||||
Language
|
||||
estonian
|
||||
Language
|
||||
everybody
|
||||
NP
|
||||
everything
|
||||
NP
|
||||
except
|
||||
Prep
|
||||
eye
|
||||
factory
|
||||
fall
|
||||
far
|
||||
Adv
|
||||
fat
|
||||
feather
|
||||
february
|
||||
Month
|
||||
few
|
||||
short
|
||||
of
|
||||
fifteenHour
|
||||
fight
|
||||
fingernail
|
||||
finnish
|
||||
Language
|
||||
fiveHour
|
||||
float
|
||||
floor
|
||||
flow
|
||||
fly
|
||||
fog
|
||||
foot
|
||||
for
|
||||
Prep
|
||||
forest
|
||||
forget
|
||||
fourHour
|
||||
fourteenHour
|
||||
freeze
|
||||
french
|
||||
Language
|
||||
friday
|
||||
Weekday
|
||||
fridge
|
||||
fruit
|
||||
full
|
||||
fun
|
||||
AV
|
||||
garden
|
||||
german
|
||||
Language
|
||||
glass
|
||||
of
|
||||
CN
|
||||
glove
|
||||
gold
|
||||
grass
|
||||
greek
|
||||
Language
|
||||
guts
|
||||
Mark
|
||||
Mark
|
||||
hair
|
||||
hand
|
||||
harbour
|
||||
has
|
||||
age
|
||||
VP
|
||||
hat
|
||||
hate
|
||||
have
|
||||
name
|
||||
Cl
|
||||
head
|
||||
hear
|
||||
heart
|
||||
hebrew
|
||||
Language
|
||||
here
|
||||
from
|
||||
Adv
|
||||
here
|
||||
to
|
||||
Adv
|
||||
hill
|
||||
hindi
|
||||
Language
|
||||
hit
|
||||
hold
|
||||
horn
|
||||
hour
|
||||
Timeunit
|
||||
how
|
||||
much
|
||||
IAdv
|
||||
how
|
||||
far
|
||||
QCl
|
||||
how
|
||||
old
|
||||
QCl
|
||||
hungry
|
||||
VP
|
||||
hunt
|
||||
husband
|
||||
Mark
|
||||
ice
|
||||
if
|
||||
Subj
|
||||
if
|
||||
then
|
||||
Conj
|
||||
ill
|
||||
VP
|
||||
important
|
||||
industry
|
||||
intMonthday
|
||||
intYear
|
||||
iron
|
||||
is
|
||||
right
|
||||
VP
|
||||
is
|
||||
wrong
|
||||
VP
|
||||
italian
|
||||
Language
|
||||
january
|
||||
Month
|
||||
japanese
|
||||
Language
|
||||
july
|
||||
Month
|
||||
june
|
||||
Month
|
||||
king
|
||||
knee
|
||||
know
|
||||
lake
|
||||
lamp
|
||||
languageCN
|
||||
languageNP
|
||||
language
|
||||
title
|
||||
Utt
|
||||
latin
|
||||
Language
|
||||
latvian
|
||||
Language
|
||||
laugh
|
||||
leaf
|
||||
learn
|
||||
leather
|
||||
leave
|
||||
left
|
||||
Ord
|
||||
leg
|
||||
less
|
||||
CAdv
|
||||
li
|
||||
Mark
|
||||
lie
|
||||
like
|
||||
listen
|
||||
liver
|
||||
long
|
||||
lose
|
||||
louse
|
||||
love
|
||||
maltese
|
||||
Language
|
||||
march
|
||||
Month
|
||||
married
|
||||
married
|
||||
Cl
|
||||
may
|
||||
Month
|
||||
meat
|
||||
minute
|
||||
Timeunit
|
||||
monday
|
||||
Weekday
|
||||
monthAdv
|
||||
monthN
|
||||
monthPN
|
||||
monthYearAdv
|
||||
month
|
||||
Timeunit
|
||||
moon
|
||||
more
|
||||
CAdv
|
||||
mother
|
||||
mountain
|
||||
mouth
|
||||
much
|
||||
Det
|
||||
units
|
||||
AP
|
||||
units
|
||||
of
|
||||
NP
|
||||
name
|
||||
narrow
|
||||
nd
|
||||
nd
|
||||
nd
|
||||
nd
|
||||
nd
|
||||
near
|
||||
neck
|
||||
nepali
|
||||
Language
|
||||
newspaper
|
||||
night
|
||||
nineHour
|
||||
nineteenHour
|
||||
no
|
||||
Utt
|
||||
nobody
|
||||
NP
|
||||
norwegian
|
||||
Language
|
||||
nose
|
||||
nothing
|
||||
NP
|
||||
november
|
||||
Month
|
||||
num
|
||||
digits
|
||||
number
|
||||
october
|
||||
Month
|
||||
oil
|
||||
oneHour
|
||||
open
|
||||
Mark
|
||||
paint
|
||||
paper
|
||||
part
|
||||
Prep
|
||||
peace
|
||||
pen
|
||||
persian
|
||||
Language
|
||||
person
|
||||
planet
|
||||
plastic
|
||||
play
|
||||
policeman
|
||||
polish
|
||||
Language
|
||||
possess
|
||||
Prep
|
||||
priest
|
||||
probable
|
||||
AS
|
||||
pull
|
||||
punjabi
|
||||
Language
|
||||
push
|
||||
put
|
||||
queen
|
||||
question
|
||||
quite
|
||||
Adv
|
||||
radio
|
||||
rain
|
||||
rain
|
||||
ready
|
||||
VP
|
||||
reason
|
||||
religion
|
||||
restaurant
|
||||
right
|
||||
Ord
|
||||
road
|
||||
rock
|
||||
romanian
|
||||
Language
|
||||
roof
|
||||
root
|
||||
rope
|
||||
rotten
|
||||
round
|
||||
rub
|
||||
rubber
|
||||
rule
|
||||
russian
|
||||
Language
|
||||
salt
|
||||
sand
|
||||
saturday
|
||||
Weekday
|
||||
scared
|
||||
VP
|
||||
school
|
||||
science
|
||||
scratch
|
||||
second
|
||||
Timeunit
|
||||
seed
|
||||
seek
|
||||
september
|
||||
Month
|
||||
sevenHour
|
||||
seventeenHour
|
||||
sew
|
||||
sharp
|
||||
sheep
|
||||
shirt
|
||||
shoe
|
||||
shop
|
||||
short
|
||||
silver
|
||||
sindhi
|
||||
Language
|
||||
sing
|
||||
sister
|
||||
sit
|
||||
sixHour
|
||||
sixteenHour
|
||||
skin
|
||||
sky
|
||||
smell
|
||||
smoke
|
||||
smooth
|
||||
snake
|
||||
snow
|
||||
sock
|
||||
somebody
|
||||
NP
|
||||
something
|
||||
NP
|
||||
somewhere
|
||||
Adv
|
||||
song
|
||||
spanish
|
||||
Language
|
||||
speak
|
||||
spit
|
||||
split
|
||||
squeeze
|
||||
stab
|
||||
stand
|
||||
steel
|
||||
stick
|
||||
stone
|
||||
stop
|
||||
stove
|
||||
straight
|
||||
student
|
||||
stupid
|
||||
suck
|
||||
sun
|
||||
sunday
|
||||
Weekday
|
||||
swahili
|
||||
Language
|
||||
swedish
|
||||
Language
|
||||
swell
|
||||
switch
|
||||
off
|
||||
switch
|
||||
on
|
||||
table
|
||||
Mark
|
||||
table
|
||||
tail
|
||||
td
|
||||
Mark
|
||||
teacher
|
||||
television
|
||||
tenHour
|
||||
thai
|
||||
Language
|
||||
there
|
||||
from
|
||||
Adv
|
||||
there
|
||||
to
|
||||
Adv
|
||||
there
|
||||
Adv
|
||||
they
|
||||
Pron
|
||||
thick
|
||||
thin
|
||||
think
|
||||
thirsty
|
||||
VP
|
||||
thirteenHour
|
||||
threeHour
|
||||
through
|
||||
Prep
|
||||
throw
|
||||
thursday
|
||||
Weekday
|
||||
tie
|
||||
timeHour
|
||||
timeHourMinute
|
||||
timeunitAdv
|
||||
tired
|
||||
VP
|
||||
today
|
||||
Adv
|
||||
tongue
|
||||
tooth
|
||||
tr
|
||||
Mark
|
||||
tuesday
|
||||
Weekday
|
||||
turkish
|
||||
Language
|
||||
turn
|
||||
twelveHour
|
||||
twentyFourHour
|
||||
twentyHour
|
||||
twentyOneHour
|
||||
twentyThreeHour
|
||||
twentyTwoHour
|
||||
twoHour
|
||||
ugly
|
||||
ul
|
||||
Mark
|
||||
uncertain
|
||||
university
|
||||
urdu
|
||||
Language
|
||||
village
|
||||
vomit
|
||||
war
|
||||
wash
|
||||
watch
|
||||
weather
|
||||
adjCl
|
||||
wednesday
|
||||
Weekday
|
||||
week
|
||||
Timeunit
|
||||
weekdayHabitualAdv
|
||||
weekdayLastAdv
|
||||
weekdayN
|
||||
weekdayNextAdv
|
||||
weekdayPN
|
||||
weekdayPunctualAdv
|
||||
wet
|
||||
what
|
||||
name
|
||||
QCl
|
||||
when
|
||||
Subj
|
||||
wide
|
||||
wife
|
||||
win
|
||||
wind
|
||||
window
|
||||
wing
|
||||
wipe
|
||||
without
|
||||
Prep
|
||||
wonder
|
||||
VQ
|
||||
wood
|
||||
worm
|
||||
write
|
||||
yearAdv
|
||||
year
|
||||
year
|
||||
Timeunit
|
||||
yes
|
||||
Utt
|
||||
youPol
|
||||
Pron
|
||||
@@ -15,6 +15,11 @@ lin
|
||||
|
||||
{-Assumed that a PrepNP is always Acc-}
|
||||
PrepNP prep np = {s = prep.s ++ np.s ! Acc; agr = AgrNo}; -- aha meza
|
||||
|
||||
-- Subordinate clauses can function as adverbs.
|
||||
|
||||
--SubjS : Subj -> S -> Adv ; -- when she sleeps
|
||||
SubjS subjunctive sent = {s=subjunctive.s ++ sent.s; agr=AgrNo};
|
||||
|
||||
--PositAdvAdj : A -> Adv ; -- warmly
|
||||
--"Impossible to implement because each is lexically different word."
|
||||
|
||||
5
src/rukiga/AllCgg.gf
Normal file
5
src/rukiga/AllCgg.gf
Normal file
@@ -0,0 +1,5 @@
|
||||
--# -path=.:../abstract:../common:../prelude
|
||||
|
||||
concrete AllCgg of AllCggAbs =
|
||||
LangCgg, SentenceExtraCgg,LexiconExtraCgg
|
||||
** {} ;
|
||||
7
src/rukiga/AllCggAbs.gf
Normal file
7
src/rukiga/AllCggAbs.gf
Normal file
@@ -0,0 +1,7 @@
|
||||
--# -path=.:../abstract:../common:prelude
|
||||
|
||||
abstract AllCggAbs =
|
||||
Lang,
|
||||
SentenceExtra,
|
||||
LexiconExtra
|
||||
** {} ;
|
||||
@@ -20,6 +20,9 @@ lincat
|
||||
[CN] = {s1,s2 : Number => Case => Str};
|
||||
[DAP] = {s1,s2 : Str ; n : Number};
|
||||
-}
|
||||
|
||||
|
||||
|
||||
{-
|
||||
--1 Conjunction: Coordination
|
||||
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
abstract DictCggAbs = Cat ** {
|
||||
|
||||
{- --beginning of comment
|
||||
|
||||
fun
|
||||
{-
|
||||
--since this is a structural word, maybe take it to
|
||||
Extend module for structural as you have done for Dict.
|
||||
We have ahandi = at another place whic has no English equivalent.
|
||||
-}
|
||||
------ Structural words
|
||||
{-aditions-}
|
||||
here1_Adv; -- hanu
|
||||
here2_Adv; -- hanuuya --exactly here or here with emphasis
|
||||
there1_Adv; -- hariya
|
||||
outside_Adv; -- aheeru
|
||||
near_Adv; --haihi
|
||||
hare_Adv; --far
|
||||
|
||||
-} --end of comment
|
||||
|
||||
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
abstract ExtraCatAbs = Cat **{
|
||||
cat
|
||||
TenseExtra;
|
||||
TempExtra;
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
abstract ExtraCggAbs = Cat **{
|
||||
|
||||
-- there is a default linearization for abstract
|
||||
-- categories Tense and Temp
|
||||
-- these in TenseX
|
||||
--
|
||||
cat
|
||||
AllTenses;
|
||||
--TempExtra;
|
||||
fun
|
||||
UseClExtra : TempExtra -> Pol -> Cl -> S ; -- she had not slept
|
||||
UseQClExtra : TempExtra -> Pol -> QCl -> QS ; -- who had not slept
|
||||
UseRClExtra : TempExtra -> Pol -> RCl -> RS ; -- that had not slept
|
||||
UseSlashExtra : TempExtra -> Pol -> ClSlash -> SSlash ; -- (that) she had not seen
|
||||
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
concrete ExtraCggAbsCgg of ExtraCggAbs = CatCgg
|
||||
open (R=ResCgg), (P=ParamX) in {
|
||||
|
||||
lincat
|
||||
AllTenses = {s : Str ; t : P.Tense; tExtra : R.TensesExtra } ;
|
||||
TempExtra = {s : Str ; t : R.TensesExtra } ;
|
||||
--TempExtraWithAspects = {s : Str ; t : P.Tense ; a : R.AspectsExtra } ;
|
||||
fun
|
||||
UseClExtra : TempTempExtra -> Pol -> Cl -> S ; -- she had not slept
|
||||
UseQClExtra : TempTempExtra -> Pol -> QCl -> QS ; -- who had not slept
|
||||
UseRClExtra : TempTempExtra -> Pol -> RCl -> RS ; -- that had not slept
|
||||
UseSlashExtra : TempTempExtra -> Pol -> ClSlash -> SSlash ; -- (that) she had not seen
|
||||
|
||||
}
|
||||
@@ -1,97 +0,0 @@
|
||||
abstract ExtraStructuralAbs = Cat ** {
|
||||
|
||||
fun
|
||||
--Pronouns additional
|
||||
it_N_N_Sg_Pron : Pron;
|
||||
it_N_N_Pl_Pron : Pron;
|
||||
|
||||
it_KU_MA _Sg_Pron : Pron ;
|
||||
it_KU_MA_Pl_Pron : Pron;
|
||||
|
||||
it_BU_MA_Sg_Pron : Pron;
|
||||
it_BU_MA_Pl_Pron : Pron;
|
||||
|
||||
it_RU_BU_Sg_Pron : Pron;
|
||||
it_RU_BU_Pl_Pron : Pron;
|
||||
|
||||
it_GU_GA_Sg_Pron : Pron;
|
||||
it_GU_GA_Pl_Pron : Pron;
|
||||
|
||||
it_ZERO_ZERO_Sg_Pron : Pron; --what do you do with this?
|
||||
it_ZERO_ZERO_Pl_Pron : Pron; --what would you do with this?
|
||||
|
||||
it_MU_MI_Sg_Pron : Pron;
|
||||
it_MU_MI_Pl_Pron : Pron;
|
||||
|
||||
it_RI_MA_Sg_Pron : Pron;
|
||||
it_RI_MA_Pl_Pron : Pron;
|
||||
|
||||
it_I_MA_Sg_Pron : Pron;
|
||||
it_I_MA_Pl_Pron : Pron;
|
||||
|
||||
it_KA_BU_Sg_Pron : Pron;
|
||||
it_KA_BU_Pl_Pron : Pron;
|
||||
|
||||
it_KA_TU_Sg_Pron : Pron;
|
||||
it_KA_TU_Pl_Pron : Pron;
|
||||
|
||||
it_RU_N_Sg_Pron : Pron;
|
||||
it_RU_N_Pl_Pron : Pron;
|
||||
|
||||
it_RU_MA_Sg_Pron : Pron;
|
||||
it_RU_MA_Pl_Pron : Pron;
|
||||
|
||||
it_HA_Sg_Pron : Pron;
|
||||
it_HA_Pl_Pron : Pron;
|
||||
|
||||
it_HA_Sg_Pron : Pron; -- might have to remove this.
|
||||
it_HA_Pl_Pron : Pron;
|
||||
|
||||
it_MU_Sg_Pron : Pron;
|
||||
it_MU_Pl_Pron : Pron;
|
||||
|
||||
it_KU_Sg_Pron : Pron;
|
||||
it_KU_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_BU_Sg_Pron : Pron;
|
||||
it_ZERO_BU_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_BI_Sg_Pron : Pron;
|
||||
it_ZERO_BI_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_BI_Sg_Pron : Pron;
|
||||
it_ZERO_BI_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_MA_Sg_Pron : Pron;
|
||||
it_ZERO_MA_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_MI_Sg_Pron : Pron;
|
||||
it_ZERO_MI_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_TU_Sg_Pron : Pron;
|
||||
it_ZERO_TU_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_N_Sg_Pron : Pron;
|
||||
it_ZERO_N_Pl_Pron : Pron;
|
||||
|
||||
it_I_ZERO_Sg_Pron : Pron;
|
||||
--it_I_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_RI_ZERO_Sg_Pron : Pron;
|
||||
--it_RI_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_KU_ZERO_Sg_Pron : Pron;
|
||||
--it_KU_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_MU_ZERO_Sg_Pron : Pron;
|
||||
it_MU_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_RU_ZERO_Sg_Pron : Pron;
|
||||
--it_RU_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_KA_ZERO_Sg_Pron : Pron;
|
||||
--it_KA_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_ZERO_BAA_Sg_Pron : Pron;
|
||||
--it_ZERO_BAA_Pl_Pron : Pron;
|
||||
}
|
||||
@@ -1,97 +0,0 @@
|
||||
abstract ExtraStructuralAbs = Cat ** {
|
||||
|
||||
fun
|
||||
--Pronouns additional
|
||||
it_N_N_Sg_Pron : Pron;
|
||||
it_N_N_Pl_Pron : Pron;
|
||||
|
||||
it_KU_MA _Sg_Pron : Pron ;
|
||||
it_KU_MA_Pl_Pron : Pron;
|
||||
|
||||
it_BU_MA_Sg_Pron : Pron;
|
||||
it_BU_MA_Pl_Pron : Pron;
|
||||
|
||||
it_RU_BU_Sg_Pron : Pron;
|
||||
it_RU_BU_Pl_Pron : Pron;
|
||||
|
||||
it_GU_GA_Sg_Pron : Pron;
|
||||
it_GU_GA_Pl_Pron : Pron;
|
||||
|
||||
it_ZERO_ZERO_Sg_Pron : Pron; --what do you do with this?
|
||||
it_ZERO_ZERO_Pl_Pron : Pron; --what would you do with this?
|
||||
|
||||
it_MU_MI_Sg_Pron : Pron;
|
||||
it_MU_MI_Pl_Pron : Pron;
|
||||
|
||||
it_RI_MA_Sg_Pron : Pron;
|
||||
it_RI_MA_Pl_Pron : Pron;
|
||||
|
||||
it_I_MA_Sg_Pron : Pron;
|
||||
it_I_MA_Pl_Pron : Pron;
|
||||
|
||||
it_KA_BU_Sg_Pron : Pron;
|
||||
it_KA_BU_Pl_Pron : Pron;
|
||||
|
||||
it_KA_TU_Sg_Pron : Pron;
|
||||
it_KA_TU_Pl_Pron : Pron;
|
||||
|
||||
it_RU_N_Sg_Pron : Pron;
|
||||
it_RU_N_Pl_Pron : Pron;
|
||||
|
||||
it_RU_MA_Sg_Pron : Pron;
|
||||
it_RU_MA_Pl_Pron : Pron;
|
||||
|
||||
it_HA_Sg_Pron : Pron;
|
||||
it_HA_Pl_Pron : Pron;
|
||||
|
||||
it_HA_Sg_Pron : Pron; -- might have to remove this.
|
||||
it_HA_Pl_Pron : Pron;
|
||||
|
||||
it_MU_Sg_Pron : Pron;
|
||||
it_MU_Pl_Pron : Pron;
|
||||
|
||||
it_KU_Sg_Pron : Pron;
|
||||
it_KU_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_BU_Sg_Pron : Pron;
|
||||
it_ZERO_BU_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_BI_Sg_Pron : Pron;
|
||||
it_ZERO_BI_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_BI_Sg_Pron : Pron;
|
||||
it_ZERO_BI_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_MA_Sg_Pron : Pron;
|
||||
it_ZERO_MA_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_MI_Sg_Pron : Pron;
|
||||
it_ZERO_MI_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_TU_Sg_Pron : Pron;
|
||||
it_ZERO_TU_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_N_Sg_Pron : Pron;
|
||||
it_ZERO_N_Pl_Pron : Pron;
|
||||
|
||||
it_I_ZERO_Sg_Pron : Pron;
|
||||
--it_I_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_RI_ZERO_Sg_Pron : Pron;
|
||||
--it_RI_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_KU_ZERO_Sg_Pron : Pron;
|
||||
--it_KU_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_MU_ZERO_Sg_Pron : Pron;
|
||||
it_MU_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_RU_ZERO_Sg_Pron : Pron;
|
||||
--it_RU_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_KA_ZERO_Sg_Pron : Pron;
|
||||
--it_KA_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_ZERO_BAA_Sg_Pron : Pron;
|
||||
--it_ZERO_BAA_Pl_Pron : Pron;
|
||||
}
|
||||
@@ -1,97 +0,0 @@
|
||||
abstract ExtraStructuralCggAbs = Cat ** {
|
||||
|
||||
fun
|
||||
--Pronouns additional
|
||||
it_N_N_Sg_Pron : Pron;
|
||||
it_N_N_Pl_Pron : Pron;
|
||||
|
||||
it_KU_MA _Sg_Pron : Pron ;
|
||||
it_KU_MA_Pl_Pron : Pron;
|
||||
|
||||
it_BU_MA_Sg_Pron : Pron;
|
||||
it_BU_MA_Pl_Pron : Pron;
|
||||
|
||||
it_RU_BU_Sg_Pron : Pron;
|
||||
it_RU_BU_Pl_Pron : Pron;
|
||||
|
||||
it_GU_GA_Sg_Pron : Pron;
|
||||
it_GU_GA_Pl_Pron : Pron;
|
||||
|
||||
it_ZERO_ZERO_Sg_Pron : Pron; --what do you do with this?
|
||||
it_ZERO_ZERO_Pl_Pron : Pron; --what would you do with this?
|
||||
|
||||
it_MU_MI_Sg_Pron : Pron;
|
||||
it_MU_MI_Pl_Pron : Pron;
|
||||
|
||||
it_RI_MA_Sg_Pron : Pron;
|
||||
it_RI_MA_Pl_Pron : Pron;
|
||||
|
||||
it_I_MA_Sg_Pron : Pron;
|
||||
it_I_MA_Pl_Pron : Pron;
|
||||
|
||||
it_KA_BU_Sg_Pron : Pron;
|
||||
it_KA_BU_Pl_Pron : Pron;
|
||||
|
||||
it_KA_TU_Sg_Pron : Pron;
|
||||
it_KA_TU_Pl_Pron : Pron;
|
||||
|
||||
it_RU_N_Sg_Pron : Pron;
|
||||
it_RU_N_Pl_Pron : Pron;
|
||||
|
||||
it_RU_MA_Sg_Pron : Pron;
|
||||
it_RU_MA_Pl_Pron : Pron;
|
||||
|
||||
it_HA_Sg_Pron : Pron;
|
||||
it_HA_Pl_Pron : Pron;
|
||||
|
||||
it_HA_Sg_Pron : Pron; -- might have to remove this.
|
||||
it_HA_Pl_Pron : Pron;
|
||||
|
||||
it_MU_Sg_Pron : Pron;
|
||||
it_MU_Pl_Pron : Pron;
|
||||
|
||||
it_KU_Sg_Pron : Pron;
|
||||
it_KU_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_BU_Sg_Pron : Pron;
|
||||
it_ZERO_BU_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_BI_Sg_Pron : Pron;
|
||||
it_ZERO_BI_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_BI_Sg_Pron : Pron;
|
||||
it_ZERO_BI_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_MA_Sg_Pron : Pron;
|
||||
it_ZERO_MA_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_MI_Sg_Pron : Pron;
|
||||
it_ZERO_MI_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_TU_Sg_Pron : Pron;
|
||||
it_ZERO_TU_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_N_Sg_Pron : Pron;
|
||||
it_ZERO_N_Pl_Pron : Pron;
|
||||
|
||||
it_I_ZERO_Sg_Pron : Pron;
|
||||
--it_I_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_RI_ZERO_Sg_Pron : Pron;
|
||||
--it_RI_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_KU_ZERO_Sg_Pron : Pron;
|
||||
--it_KU_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_MU_ZERO_Sg_Pron : Pron;
|
||||
it_MU_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_RU_ZERO_Sg_Pron : Pron;
|
||||
--it_RU_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_KA_ZERO_Sg_Pron : Pron;
|
||||
--it_KA_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_ZERO_BAA_Sg_Pron : Pron;
|
||||
--it_ZERO_BAA_Pl_Pron : Pron;
|
||||
}
|
||||
@@ -1,101 +0,0 @@
|
||||
concrete ExtraStructuralCggAbsCgg of ExtraStructuralCggAbs = CatCgg ** open ResCgg {
|
||||
|
||||
{-
|
||||
lin
|
||||
--Pronouns additional
|
||||
|
||||
it_N_N_Sg_Pron : Pron;
|
||||
it_N_N_Pl_Pron : Pron;
|
||||
|
||||
it_KU_MA _Sg_Pron : Pron ;
|
||||
it_KU_MA_Pl_Pron : Pron;
|
||||
|
||||
it_BU_MA_Sg_Pron : Pron;
|
||||
it_BU_MA_Pl_Pron : Pron;
|
||||
|
||||
it_RU_BU_Sg_Pron : Pron;
|
||||
it_RU_BU_Pl_Pron : Pron;
|
||||
|
||||
it_GU_GA_Sg_Pron : Pron;
|
||||
it_GU_GA_Pl_Pron : Pron;
|
||||
|
||||
it_ZERO_ZERO_Sg_Pron : Pron; --what do you do with this?
|
||||
it_ZERO_ZERO_Pl_Pron : Pron; --what would you do with this?
|
||||
|
||||
it_MU_MI_Sg_Pron : Pron;
|
||||
it_MU_MI_Pl_Pron : Pron;
|
||||
|
||||
it_RI_MA_Sg_Pron : Pron;
|
||||
it_RI_MA_Pl_Pron : Pron;
|
||||
|
||||
it_I_MA_Sg_Pron : Pron;
|
||||
it_I_MA_Pl_Pron : Pron;
|
||||
|
||||
it_KA_BU_Sg_Pron : Pron;
|
||||
it_KA_BU_Pl_Pron : Pron;
|
||||
|
||||
it_KA_TU_Sg_Pron : Pron;
|
||||
it_KA_TU_Pl_Pron : Pron;
|
||||
|
||||
it_RU_N_Sg_Pron : Pron;
|
||||
it_RU_N_Pl_Pron : Pron;
|
||||
|
||||
it_RU_MA_Sg_Pron : Pron;
|
||||
it_RU_MA_Pl_Pron : Pron;
|
||||
|
||||
it_HA_Sg_Pron : Pron;
|
||||
it_HA_Pl_Pron : Pron;
|
||||
|
||||
it_HA_Sg_Pron : Pron; -- might have to remove this.
|
||||
it_HA_Pl_Pron : Pron;
|
||||
|
||||
it_MU_Sg_Pron : Pron;
|
||||
it_MU_Pl_Pron : Pron;
|
||||
|
||||
it_KU_Sg_Pron : Pron;
|
||||
it_KU_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_BU_Sg_Pron : Pron;
|
||||
it_ZERO_BU_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_BI_Sg_Pron : Pron;
|
||||
it_ZERO_BI_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_BI_Sg_Pron : Pron;
|
||||
it_ZERO_BI_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_MA_Sg_Pron : Pron;
|
||||
it_ZERO_MA_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_MI_Sg_Pron : Pron;
|
||||
it_ZERO_MI_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_TU_Sg_Pron : Pron;
|
||||
it_ZERO_TU_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_N_Sg_Pron : Pron;
|
||||
it_ZERO_N_Pl_Pron : Pron;
|
||||
|
||||
it_I_ZERO_Sg_Pron : Pron;
|
||||
--it_I_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_RI_ZERO_Sg_Pron : Pron;
|
||||
--it_RI_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_KU_ZERO_Sg_Pron : Pron;
|
||||
--it_KU_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_MU_ZERO_Sg_Pron : Pron;
|
||||
it_MU_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_RU_ZERO_Sg_Pron : Pron;
|
||||
--it_RU_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_KA_ZERO_Sg_Pron : Pron;
|
||||
--it_KA_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_ZERO_BAA_Sg_Pron : Pron;
|
||||
--it_ZERO_BAA_Pl_Pron : Pron;
|
||||
|
||||
-}
|
||||
}
|
||||
@@ -6,7 +6,8 @@ concrete GrammarCgg of Grammar =
|
||||
AdjectiveCgg,
|
||||
AdverbCgg,
|
||||
NumeralCgg,
|
||||
SentenceCgg,
|
||||
SentenceCgg,
|
||||
--SentenceExtraCgg,
|
||||
QuestionCgg,
|
||||
RelativeCgg,
|
||||
ConjunctionCgg,
|
||||
|
||||
@@ -17,7 +17,7 @@ lin
|
||||
bread_N = mkN "omugati" MU_MI;
|
||||
car_N = mkN "emootoka" N_N ;
|
||||
cat_N = mkN "enjangu" N_N ;
|
||||
--chair_N = mkN "entebbe" N_N ;
|
||||
chair_N = mkN "entebbe" N_N ;
|
||||
child_N = mkN "omwana" MU_BA ;
|
||||
city_N = mkN "ekibúga" KI_BI; --orurêmbo pl endêmbo
|
||||
cloud_N = mkN "ekikyu" KI_BI ;
|
||||
@@ -25,6 +25,7 @@ lin
|
||||
cow_N = mkN "ente" N_N ;
|
||||
dog_N = mkN "embwa" N_N ;
|
||||
--person_N = mkN "omuntu" "abantu" MU_BA ;
|
||||
eye_N = mkN "eriisho" RI_MA;
|
||||
fire_N = mkN "omuriro" MU_MI ;
|
||||
fish_N = mkN "eky'ényanja" KI_BI ;
|
||||
flower_N = mkN "ekimuri" KI_BI ;
|
||||
@@ -44,9 +45,11 @@ lin
|
||||
horse_N = mkN "embaráàsi" N_N ;
|
||||
house_N = mkN "enju" N_N ;
|
||||
language_N = mkN "orurími" "endími" RU_N ;
|
||||
meat_N = mkN "enyama" N_N;
|
||||
man_N = mkN "omushaija" MU_BA ;
|
||||
milk_N = mkN "amate" ZERO_MA ;
|
||||
music_N = mkN "music" ZERO_ZERO ; -- I have not found the translation
|
||||
rule_N = mkN "ekiragiro" KI_BI;
|
||||
river_N = mkN "omugyera" MU_MI ; --omurîndi,
|
||||
sea_N = mkN "enyanja" N_N ;
|
||||
ship_N = mkN "ekyombo" KI_BI ; -- eméèri [NC_n_n]
|
||||
@@ -56,7 +59,9 @@ lin
|
||||
water_N = mkN "amáìzi" ZERO_MA ;
|
||||
wine_N = mkN "víìnyo" ZERO_ZERO ;
|
||||
woman_N = mkN "omwishiki" MU_BA ;
|
||||
|
||||
reason_N = mkN "enshoonga" N_N;
|
||||
sheep_N = mkN "entaama" N_N;
|
||||
hat_N = mkN "enkofira" N_N;
|
||||
--Proper Nouns
|
||||
john_PN = mkPN "Yohana" (AgP3 Sg MU_BA) False;
|
||||
paris_PN = mkPN "Paris" (AgP3 Sg N_N) True; --Noun class for places???
|
||||
@@ -68,24 +73,26 @@ lin
|
||||
black_A = mkAdjective "kwirangura" Post False False;
|
||||
blue_A = mkAdjective "buuru" Post True True ;
|
||||
clean_A = mkAdjective "yonjo" Post False False; --: A ;
|
||||
cold_A = mkAdjective "rikufuka" Post False False; --: A ;
|
||||
cold_A = mkAdjective "kufuka" Post False False; --: A ;
|
||||
correct_A = mkAdjective "hikire" Post False False; --: A ;
|
||||
good_A =mkAdjective "rungi" Post False False; --: A ;
|
||||
heavy_A = mkAdjective "rikuremeera" Post False False; --: A ; --notice ri as a verb is
|
||||
hot_A = mkAdjective "rikwotsya" Post False False; -- rikutagata -- problematic words like hot we need a new set of clitics
|
||||
heavy_A = mkAdjective "kuremeera" Post False False; --: A ; --notice ri as a verb is
|
||||
hot_A = mkAdjective "kwosya" Post False False; -- rikutagata -- problematic words like hot we need a new set of clitics
|
||||
new_A = mkAdjective "sya" Post False False; --: A ;
|
||||
old_A = mkAdjective "kúru" Post False False; --: A ;
|
||||
ready_A = mkAdjective "eteekateekire" Post False False; --: A ;
|
||||
red_A = mkAdjective "ríkutukura" Post False False; --: A ;
|
||||
red_A = mkAdjective "kutukura" Post False False; --: A ;
|
||||
small_A = mkAdjective "kye" Post False False;
|
||||
warm_A = mkAdjective "rikutagata" Post False False;--: A ;
|
||||
warm_A = mkAdjective "kutagata" Post False False;--: A ;
|
||||
white_A = mkAdjective "rikwera" Post False False;--: A ;
|
||||
yellow_A = mkAdjective "kinekye" Post True True;--: A ; or yero, or kyenju
|
||||
young_A = mkAdjective "to" Post False False;--: A ;
|
||||
green_A =mkAdjective "kijubwe" Post False True;
|
||||
thin_A = mkAdjective "kye" Post False False;
|
||||
|
||||
--ditransitive verbs
|
||||
bite_V2 = mkV2 "rum";
|
||||
break_V2 = mkV2 "hend"; --: V2 ;
|
||||
break_V2 = mkV2 "hen" "da" "zire"; --: V2 ;
|
||||
buy_V2 = mkV2 "gur" ; --: V2 ;
|
||||
close_V2 = mkV2 "king";
|
||||
count_V2 = mkV2 "ba" "ra" "zire";
|
||||
@@ -96,13 +103,13 @@ lin
|
||||
fear_V2 = mkV2 "tiin";
|
||||
find_V2 = mkV2 "bon" ; --: V2 ; -- many words; kureeba, kubóna,kushanga, kumamya,kujumbura
|
||||
kill_V2 = mkV2 "it"; --: V2 ;
|
||||
love_V2 = mkV2 "kûnd"; --: V2 ;
|
||||
love_V2 = mkV2 "kûnd" "da" "zire"; --: V2 ;
|
||||
read_V2 = mkV2 "shom";--: V2 ;
|
||||
see_V2 = mkV2 "reeb"; --: V2 ;
|
||||
teach_V2 = mkV2 "shomes" ; --: V2 ; or kwegyesa
|
||||
understand_V2 = mkV2 "étegyerez"; --: V2 ;
|
||||
wait_V2 = mkV2 "tegyerez"; --: V2 ;
|
||||
|
||||
|
||||
-- ditransitive verbs
|
||||
add_V3 = mkV3 "gáìt";
|
||||
give_V3 = mkV3 "héére" "za" "ize";
|
||||
@@ -113,12 +120,13 @@ lin
|
||||
|
||||
-- Intransitive verbs
|
||||
come_V = mkV "ij";
|
||||
go_V = mkV "gyend"; --: V ; -- Many words: kuza, kuraba,kutoora, kugyenda=go away, kushuma=go down
|
||||
die_V = mkV "f";
|
||||
go_V = mkV "gyen" "da" "zire"; --: V ; -- Many words: kuza, kuraba,kutoora, kugyenda=go away, kushuma=go down
|
||||
jump_V = mkV "guruk" ;
|
||||
play_V = mkV "záàn"; --: V ;
|
||||
live_V = mkV "tuur" ; --manyF: kutuura i.e. live somewhere, stay = kuráàra
|
||||
run_V = mkV "íruk"; -- : V ;
|
||||
sleep_V = mkV "nyama" ; --: V ;--Kugwejegyera, kubyama
|
||||
sleep_V = mkV "gwejegyer" ; --: V ;--Kugwejegyera, kubyama
|
||||
swim_V = mkV "og"; --: V ;
|
||||
travel_V = mkV "gyen" "da" "zire" ;--: V ;
|
||||
walk_V = mkV "ribá" "ta" "si"; --: V ; or kuribata Runynakore it is different
|
||||
@@ -143,7 +151,7 @@ lin
|
||||
now_Adv = mkAdv "hati" AgrNo;
|
||||
--far_Adv = mkAdv "hare";
|
||||
|
||||
--today_Adv = mkAdv "erizooba" AgrNo;
|
||||
today_Adv = mkAdv "erizooba" AgrNo;
|
||||
|
||||
father_N2 = mkN2 (mkN "tata" ZERO_BAA) (lin Prep (mkPrep [] [] True)) ;
|
||||
|
||||
@@ -151,6 +159,247 @@ lin
|
||||
|
||||
alas_Interj ={s="ryakareeba"; }; --: Interj ;
|
||||
|
||||
|
||||
-- New Lexicon
|
||||
switch8off_V2 = mkV2 "raza" "za" "riize";
|
||||
television_N = mkN "TV" N_N;
|
||||
doctor_N = mkN "omushaho" MU_BA;
|
||||
clever_A =mkAdjective "amagyezi" Post False True;
|
||||
laugh_V = mkV "sheka";
|
||||
|
||||
airplane_N = mkN "endegye" N_N;
|
||||
{--
|
||||
answer_V2S
|
||||
apartment_N
|
||||
art_N
|
||||
ashes_N
|
||||
ask_V2Q
|
||||
back_N
|
||||
bank_N
|
||||
bark_N
|
||||
beautiful_A
|
||||
beg_V2V
|
||||
belly_N
|
||||
blow_V
|
||||
bone_N
|
||||
boot_N
|
||||
boss_N
|
||||
breast_N
|
||||
breathe_V
|
||||
broad_A
|
||||
brother_N2
|
||||
brown_A
|
||||
burn_V
|
||||
butter_N
|
||||
camera_N
|
||||
cap_N
|
||||
carpet_N
|
||||
ceiling_N
|
||||
cheese_N
|
||||
church_N
|
||||
coat_N
|
||||
country_N
|
||||
cousin_N
|
||||
day_N
|
||||
dig_V
|
||||
dirty_A
|
||||
doctor_N
|
||||
door_N
|
||||
dry_A
|
||||
dull_A
|
||||
dust_N
|
||||
ear_N
|
||||
earth_N
|
||||
easy_A2V
|
||||
egg_N
|
||||
empty_A
|
||||
enemy_N
|
||||
factory_N
|
||||
fall_V
|
||||
far_Adv
|
||||
fat_N
|
||||
feather_N
|
||||
fight_V2
|
||||
fingernail_N
|
||||
float_V
|
||||
floor_N
|
||||
flow_V
|
||||
fly_V
|
||||
fog_N
|
||||
foot_N
|
||||
forest_N
|
||||
forget_V2
|
||||
freeze_V
|
||||
fridge_N
|
||||
fruit_N
|
||||
full_A
|
||||
fun_AV
|
||||
garden_N
|
||||
glove_N
|
||||
gold_N
|
||||
grass_N
|
||||
guts_N
|
||||
hair_N
|
||||
hand_N
|
||||
harbour_N
|
||||
hat_N
|
||||
hate_V2
|
||||
head_N
|
||||
hear_V2
|
||||
heart_N
|
||||
hill_N
|
||||
hit_V2
|
||||
hold_V2
|
||||
horn_N
|
||||
hunt_V2
|
||||
husband_N
|
||||
ice_N
|
||||
important_A
|
||||
industry_N
|
||||
iron_N
|
||||
king_N
|
||||
knee_N
|
||||
know_V2
|
||||
lake_N
|
||||
lamp_N
|
||||
leaf_N
|
||||
learn_V2
|
||||
leather_N
|
||||
leave_V2
|
||||
left_Ord
|
||||
leg_N
|
||||
lie_V
|
||||
like_V2
|
||||
listen_V2
|
||||
liver_N
|
||||
long_A
|
||||
lose_V2
|
||||
louse_N
|
||||
love_N
|
||||
married_A2
|
||||
moon_N
|
||||
mother_N2
|
||||
mountain_N
|
||||
mouth_N
|
||||
name_N
|
||||
narrow_A
|
||||
near_A
|
||||
neck_N
|
||||
newspaper_N
|
||||
night_N
|
||||
nose_N
|
||||
number_N
|
||||
oil_N
|
||||
open_V2
|
||||
paint_V2A
|
||||
paper_N
|
||||
peace_N
|
||||
pen_N
|
||||
person_N
|
||||
planet_N
|
||||
plastic_N
|
||||
play_V2
|
||||
policeman_N
|
||||
priest_N
|
||||
probable_AS
|
||||
pull_V2
|
||||
push_V2
|
||||
put_V2
|
||||
queen_N
|
||||
question_N
|
||||
radio_N
|
||||
rain_N
|
||||
rain_V0
|
||||
religion_N
|
||||
restaurant_N
|
||||
right_Ord
|
||||
road_N
|
||||
rock_N
|
||||
roof_N
|
||||
root_N
|
||||
rope_N
|
||||
rotten_A
|
||||
round_A
|
||||
rub_V2
|
||||
rubber_N
|
||||
salt_N
|
||||
sand_N
|
||||
school_N
|
||||
science_N
|
||||
scratch_V2
|
||||
seed_N
|
||||
seek_V2
|
||||
sew_V
|
||||
sharp_A
|
||||
shirt_N
|
||||
shoe_N
|
||||
shop_N
|
||||
short_A
|
||||
silver_N
|
||||
sing_V
|
||||
sister_N
|
||||
sit_V
|
||||
skin_N
|
||||
sky_N
|
||||
smell_V
|
||||
smoke_N
|
||||
smooth_A
|
||||
snake_N
|
||||
snow_N
|
||||
sock_N
|
||||
song_N
|
||||
speak_V2
|
||||
spit_V
|
||||
split_V2
|
||||
squeeze_V2
|
||||
stab_V2
|
||||
stand_V
|
||||
steel_N
|
||||
stick_N
|
||||
stone_N
|
||||
stop_V
|
||||
stove_N
|
||||
straight_A
|
||||
student_N
|
||||
stupid_A
|
||||
suck_V2
|
||||
sun_N
|
||||
swell_V
|
||||
switch8on_V2
|
||||
table_N
|
||||
tail_N
|
||||
teacher_N
|
||||
thick_A
|
||||
think_V
|
||||
throw_V2
|
||||
tie_V2
|
||||
tongue_N
|
||||
tooth_N
|
||||
turn_V
|
||||
ugly_A
|
||||
uncertain_A
|
||||
university_N
|
||||
village_N
|
||||
vomit_V
|
||||
war_N
|
||||
wash_V2
|
||||
watch_V2
|
||||
wet_A
|
||||
wide_A
|
||||
wife_N
|
||||
win_V2
|
||||
wind_N
|
||||
window_N
|
||||
wing_N
|
||||
wipe_V2
|
||||
wonder_VQ
|
||||
wood_N
|
||||
worm_N
|
||||
write_V2
|
||||
|
||||
--}
|
||||
year_N = mkN "omwaka" "emyaka" MU_MI;
|
||||
-- End of New Lexicon
|
||||
oper
|
||||
aboutP = mkPrep "about" ;
|
||||
atP = mkPrep "at" ;
|
||||
|
||||
2322
src/rukiga/LexiconExtra.gf
Normal file
2322
src/rukiga/LexiconExtra.gf
Normal file
File diff suppressed because it is too large
Load Diff
2325
src/rukiga/LexiconExtraCgg.gf
Normal file
2325
src/rukiga/LexiconExtraCgg.gf
Normal file
File diff suppressed because it is too large
Load Diff
@@ -18,20 +18,14 @@ lin
|
||||
--UsePron pron = pron; -- the result of use pron is a NounPhrase
|
||||
--MassNP : CN -> NP ; -- (beer)
|
||||
MassNP cn = {s = \\_ =>cn.s ! Sg ! Complete; agr = AgP3 Sg cn.gender; nounCat = ComNoun}; --: CN -> NP ; -- milk
|
||||
--DetCN det cn = mkDeterminer det cn; --Should be nemed mkDetCN
|
||||
--DetCN det cn = mkDeterminer det cn; --Should be named mkDetCN
|
||||
DetCN det cn = mkDetCN det cn; -- the man
|
||||
{-
|
||||
case det.pos of{
|
||||
PreDeterminer =>{s = det.s ++ cn.s!det.ntype!det.num} ;
|
||||
PostDeterminer=>{s = cn.s!det.ntype!det.num ++ mkNCParticles!SubjM!AgP3 det.num cn.nc + det.s}
|
||||
}; --use a function because code is becoming long
|
||||
-}
|
||||
UseN noun = noun ;
|
||||
|
||||
--Noun = {s : NounType=>Number => Str ; nc : NClass} ;
|
||||
--AdjCN ap cn = {s=\\ntype, num=>cn.s!ntype!num ++ ap.s!AgP3 num cn.nc; nc=cn.nc};
|
||||
--AdjCN : AP -> CN -> CN ; -- big house
|
||||
AdjCN ap cn =
|
||||
AdjCN ap cn =
|
||||
case <ap.position, ap.isProper, > of {
|
||||
<Pre, True> => {
|
||||
s = \\ num, ns =>ap.s ! AgP3 num cn.gender ++ cn.s ! num ! ns ;
|
||||
@@ -39,7 +33,7 @@ lin
|
||||
};
|
||||
<Post, False> => case ap.isPrep of {
|
||||
False => {
|
||||
s = \\ num, ns => cn.s ! num ! ns ++ mkAdjPronIVClitic (AgP3 num cn.gender)
|
||||
s = \\ num, ns => cn.s ! num ! ns ++ mkAdjClitic ! (AgP3 num cn.gender)
|
||||
++ ap.s ! AgP3 Sg KI_BI;
|
||||
gender = cn.gender; nounCat = cn.nounCat
|
||||
};
|
||||
@@ -62,7 +56,8 @@ lin
|
||||
}; -- big house
|
||||
|
||||
--RelCN : CN -> RS -> CN ; -- house that John bought
|
||||
RelCN cn rs = {s=\\n,ns => cn.s !n ! ns ++ rs.s! (RF RObj); gender = cn.gender; nounCat = cn.nounCat};
|
||||
--RelCN cn rs = {s=\\n,ns => cn.s !n ! ns ++ rs.s! (RF RObj); gender = cn.gender; nounCat = cn.nounCat};
|
||||
RelCN cn rs = {s=\\n,ns => cn.s !n ! ns ++ mkRPsNoClitic !RObj ! (AgP3 n cn.gender) ++ rs.s! (RF RObj); gender = cn.gender; nounCat = cn.nounCat};
|
||||
|
||||
{-
|
||||
A predeterminer is any word that modifies a noun Phrase.
|
||||
@@ -95,8 +90,8 @@ lin
|
||||
-- quantifier and an optional numeral can be discerned.
|
||||
--DetQuant : Quant -> Num -> Det ; -- these five
|
||||
DetQuant quant num = case quant.isPron of {
|
||||
True => {s=[]; s2 = quant.s2; ntype = Incomplete; num = num.n; pos=Pre; doesAgree = quant.doesAgree};
|
||||
False => {s= quant.s.s ! Nom; s2 =\\_ =>[]; ntype = Complete; num = num.n; pos=Pre; doesAgree = quant.doesAgree} --
|
||||
False => {s=[]; s2 = quant.s2; ntype = Incomplete; num = num.n; pos=Pre; doesAgree = quant.doesAgree; numeralS = num.s; numeralExists=num.numeralExists;};
|
||||
True => {s= quant.s.s ! Nom; s2 =\\_ =>[]; ntype = Complete; num = num.n; pos=Pre; doesAgree = quant.doesAgree; numeralS = num.s; numeralExists=num.numeralExists;} --
|
||||
};
|
||||
|
||||
--DetQuantOrd : Quant -> Num -> Ord -> Det ; -- these five best
|
||||
@@ -106,13 +101,15 @@ lin
|
||||
ntype = Complete;
|
||||
num = num.n;
|
||||
pos = Pre;
|
||||
doesAgree = True
|
||||
doesAgree = True;
|
||||
numeralS = num.s;
|
||||
numeralExists = num.numeralExists
|
||||
};
|
||||
|
||||
NumSg = {s=\\_=>[]; n=Sg}; --Num
|
||||
NumPl = {s=\\_=>[]; n=Pl}; --Num
|
||||
NumSg = {s=\\_=>[]; n=Sg; numeralExists=False}; --Num
|
||||
NumPl = {s=\\_=>[]; n=Pl; numeralExists=False}; --Num
|
||||
--NumCard : Card -> Num ; -- one/five [explicit numeral]
|
||||
NumCard card = {s =\\agr =>card.s ! agr; n=card.n };
|
||||
NumCard card = {s =\\agr =>card.s ! agr; n=card.n; numeralExists=True; };
|
||||
--Quant = {s : Res.Pronoun; s2 :Res.Agreement => Str; doesAgree : Bool; isPron: Bool} ;
|
||||
IndefArt = {s={s=\\_=>[]; third = \\_,_=>[];agr = AgrNo }; s2 = \\_=>[]; doesAgree = False; isPron=False};
|
||||
DefArt = {s={s =\\_=>[]; third = \\_,_=>[]; agr = AgrNo }; s2 = \\_=>[]; doesAgree = False; isPron = False}; -- noun with initial vowel
|
||||
@@ -151,7 +148,9 @@ lin
|
||||
ntype = dap.ntype ;
|
||||
num = dap.num ;
|
||||
pos = dap.pos;
|
||||
doesAgree= True
|
||||
doesAgree= True;
|
||||
numeralS = dap.numeralS;
|
||||
numeralExists=dap.numeralExists;
|
||||
};
|
||||
|
||||
--DetDAP : Det -> DAP ; -- this (or that)
|
||||
|
||||
@@ -37,6 +37,7 @@ oper
|
||||
mkV3 = overload {
|
||||
mkV3 : Str -> Verb3 = \root ->mkV2 root ** {comp2 =[]};
|
||||
mkV3 : Str -> Str ->Str -> Verb3 = \root ,s1,s2 ->mkV2 root s1 s2 ** {comp2 =[]};
|
||||
--mkV3 : Str -> Str ->Str ->Str ->Verb3 =\root, s1, s2, prep
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -62,6 +62,7 @@ lin
|
||||
--UttAP : AP -> Utt ; -- fine
|
||||
--UttInterj : Interj -> Utt ; -- alas
|
||||
UttInterj interj = let agr = AgMUBAP2 Pl in {s= mkObjClitic agr ++ interj.s};
|
||||
|
||||
{-
|
||||
--1 Phrase: Phrases and Utterances
|
||||
|
||||
|
||||
@@ -61,34 +61,34 @@ lin
|
||||
whichRel = RF RSubj;
|
||||
};
|
||||
|
||||
--RelSlash : RP -> ClSlash -> RCl ; -- whom John loves
|
||||
RelSlash rp clSlash =
|
||||
let comp = case clSlash.complType of{
|
||||
Ap => clSlash.ap;
|
||||
Adverbial => clSlash.adv;
|
||||
AdverbialVerb => clSlash.adV;
|
||||
_ => []
|
||||
};
|
||||
isCompApStem = case clSlash.complType of{
|
||||
Adverbial => True;
|
||||
_ => False
|
||||
};
|
||||
in
|
||||
{
|
||||
s = clSlash.s;
|
||||
agr = AgrYes clSlash.subjAgr;
|
||||
rp = rp.s;
|
||||
--rObjVariant2 = rp.rObjVariant2;
|
||||
pres = clSlash.pres;
|
||||
perf = clSlash.perf;
|
||||
root = clSlash.root;
|
||||
--morphs = clSlash.morphs;
|
||||
isPresBlank = clSlash.isPresBlank;
|
||||
isPerfBlank = clSlash.isPerfBlank;
|
||||
compl = comp;
|
||||
isCompApStem = isCompApStem;
|
||||
whichRel = RF RObj;
|
||||
};
|
||||
--RelSlash : RP -> ClSlash -> RCl ; -- whom John loves
|
||||
RelSlash rp clSlash =
|
||||
let comp = case clSlash.complType of{
|
||||
Ap => clSlash.ap;
|
||||
Adverbial => clSlash.adv;
|
||||
AdverbialVerb => clSlash.adV;
|
||||
_ => []
|
||||
};
|
||||
isCompApStem = case clSlash.complType of{
|
||||
Adverbial => True;
|
||||
_ => False
|
||||
};
|
||||
in
|
||||
{
|
||||
s = clSlash.s;
|
||||
agr = AgrYes clSlash.subjAgr;
|
||||
rp = rp.s;
|
||||
--rObjVariant2 = rp.rObjVariant2;
|
||||
pres = clSlash.pres;
|
||||
perf = clSlash.perf;
|
||||
root = clSlash.root;
|
||||
--morphs = clSlash.morphs;
|
||||
isPresBlank = clSlash.isPresBlank;
|
||||
isPerfBlank = clSlash.isPerfBlank;
|
||||
compl = comp;
|
||||
isCompApStem = isCompApStem;
|
||||
whichRel = RF RObj;
|
||||
};
|
||||
|
||||
{-
|
||||
--1 Relative clauses and pronouns
|
||||
|
||||
@@ -49,6 +49,8 @@ param
|
||||
ConjArg = Nn_Nn | Nps_Nps | Pns_Pns | RelSubjCls | Other;
|
||||
AgrConj = AConj ConjArg;
|
||||
Agreement = AgP3 Number Gender | AgMUBAP1 Number |AgMUBAP2 Number | NONE; --Default is AgP3 Sg KI_BI
|
||||
AgreementPl = AgP3Pl Gender | AgMUBAP1Pl |AgMUBAP2Pl | NONExistPl; --Default is AgP3 Sg KI_BI
|
||||
AgreementSg = AgP3Sg Gender | AgMUBAP1Sg |AgMUBAP2Sg | NONExistSg; --Default is AgP3 Sg KI_BI
|
||||
AgrExist = AgrNo | AgrYes Agreement;
|
||||
--Position = PostDeterminer | PreDeterminer ;
|
||||
Position = Post | Pre;
|
||||
@@ -64,11 +66,13 @@ param
|
||||
PrepForm = Form1 | Form2; -- omu and omuri, aha, ahari
|
||||
-- for Extra Tenses not implemented
|
||||
-- would be better if I had alliases
|
||||
TensesExtra = RemotePast | ImmediatePast | RemoteFuture;
|
||||
--Tenses = RemotePast|NearPast | ImmediatePast |ExPres|NearFut |RemoteFut;
|
||||
|
||||
-- for Extra Aspects not implemented
|
||||
-- would be better if I had alliases
|
||||
Aspect = Performative | Perfect | Resultative | Retrospective | Habitual | Progressive | Persitive;
|
||||
--Aspect = Performative | Perfect | Resultative | Retrospective | Habitual | Progressive | Persitive;
|
||||
|
||||
|
||||
{-
|
||||
Complete = Nouns with IV,
|
||||
Incomplete = Nouns without IV: important for use with pre-determiners
|
||||
@@ -363,7 +367,7 @@ mkSubjPrefix : Agreement -> Str =\a ->case a of {
|
||||
AgP3 Pl KA_ZERO => mkClitic "" ;
|
||||
_ => mkClitic "SubjNotKnown" --for checking if there is some class unaccounted for
|
||||
};
|
||||
|
||||
|
||||
mkSubjCliticTableSg : Agreement => Str = table {
|
||||
AgMUBAP1 Sg => mkClitic "n" ;
|
||||
--AgMUBAP1 Pl => "tu" ;
|
||||
@@ -432,12 +436,56 @@ mkSubjPrefix : Agreement -> Str =\a ->case a of {
|
||||
AgP3 Pl ZERO_TU => mkClitic "tu" ;
|
||||
--AgP3 Sg (ZERO_MI | ZERO_ZERO) => mkClitic "" ;
|
||||
AgP3 Pl ZERO_MI => mkClitic "e" ;
|
||||
AgP3 Pl KA_ZERO => mkClitic "" ;
|
||||
_ => mkClitic "Plural" --for checking if there is some class unaccounted for
|
||||
AgP3 Pl KA_ZERO => mkClitic "give example" ;
|
||||
AgP3 Pl GU_GA => mkClitic "ga";
|
||||
AgP3 Pl ZERO_ZERO => mkClitic "give example";
|
||||
AgP3 Pl KA_TU => mkClitic "tu";
|
||||
AgP3 Pl HA => mkClitic "ha";
|
||||
AgP3 Pl (MU | KU |I_ZERO |ZERO_BAA |N_ZERO |KI_ZERO|Null) => "";
|
||||
AgP3 Pl ZERO_N => mkClitic "zimwe";
|
||||
_ => "Plural-NonExist" --;_ => mkClitic "Plural-NonExist" --for checking if there is some class unaccounted for
|
||||
|
||||
};
|
||||
|
||||
agrToAgrPl: Agreement -> AgreementPl = \a -> case a of {
|
||||
AgMUBAP1 Sg => NONExistPl;
|
||||
AgMUBAP1 Pl => AgMUBAP1Pl;
|
||||
AgMUBAP2 Sg => NONExistPl;
|
||||
AgMUBAP2 Pl => AgMUBAP2Pl ;
|
||||
AgP3 Sg MU_BA => NONExistPl;
|
||||
AgP3 Pl MU_BA => AgP3Pl MU_BA ;
|
||||
AgP3 Sg KI_BI => NONExistPl;
|
||||
AgP3 Pl (KI_BI | ZERO_BI) => AgP3Pl (KI_BI | ZERO_BI) ;
|
||||
AgP3 Sg (RU_N | RU_MA | RU_ZERO | RU_BU) => NONExistPl ;
|
||||
AgP3 Pl RU_N => AgP3Pl RU_N ; --| "i";
|
||||
AgP3 Sg N_N => NONExistPl;
|
||||
AgP3 Pl N_N => AgP3Pl N_N; --| "i";
|
||||
AgP3 Sg (MU_MI | MU_ZERO) => NONExistPl;
|
||||
AgP3 Pl MU_MI => AgP3Pl MU_MI;
|
||||
AgP3 Sg (RI_MA | RI_ZERO | I_ZERO) =>NONExistPl;
|
||||
AgP3 Pl (RI_MA | BU_MA | KU_MA | ZERO_MA | I_MA |RU_MA) => AgP3Pl (RI_MA | BU_MA | KU_MA | ZERO_MA | I_MA |RU_MA) ;
|
||||
AgP3 Sg (KA_BU | KA_ZERO | KA_TU) => NONExistPl;
|
||||
AgP3 Pl (KA_BU | RU_BU) => AgP3Pl (KA_BU | RU_BU);
|
||||
AgP3 Sg ZERO_BU => NONExistPl;
|
||||
AgP3 Pl ZERO_BU => AgP3Pl ZERO_BU ;
|
||||
AgP3 Sg ZERO_BI => NONExistPl;
|
||||
AgP3 Sg ZERO_MA => NONExistPl;
|
||||
AgP3 Pl RI_ZERO => AgP3Pl RI_ZERO ;
|
||||
AgP3 Sg KU_ZERO => NONExistPl;
|
||||
AgP3 Pl KU_ZERO => AgP3Pl KU_ZERO;
|
||||
AgP3 Pl MU_ZERO => AgP3Pl MU_ZERO ;
|
||||
AgP3 Pl RU_ZERO => AgP3Pl RU_ZERO ;
|
||||
AgP3 Sg ZERO_TU => NONExistPl;
|
||||
AgP3 Pl ZERO_TU => AgP3Pl ZERO_TU ;
|
||||
AgP3 Sg (ZERO_MI | ZERO_ZERO) => NONExistPl;
|
||||
AgP3 Pl ZERO_MI => AgP3Pl ZERO_MI ;
|
||||
AgP3 Pl KA_ZERO => AgP3Pl KA_ZERO ;
|
||||
_ => NONExistPl --for checking if there is some class unaccounted for
|
||||
};
|
||||
{-Object particle may be used as
|
||||
1. a prefix: e.g mu-kwate = catch him,
|
||||
2. an infix: o-mu-kwate = you catch him
|
||||
}
|
||||
|
||||
-}
|
||||
mkObjClitic : Agreement -> Str = \a ->case a of {
|
||||
@@ -525,7 +573,7 @@ mkSubjPrefix : Agreement -> Str =\a ->case a of {
|
||||
--Adjective : Type = {s : Str ; post : Str; isPre : Bool; isProper : Bool; isPrep: Bool};
|
||||
Adjective : Type = {s : Str ; position : Position; isProper : Bool; isPrep: Bool};
|
||||
mkAdjective: Str -> Position -> Bool -> Bool -> Adjective = \ a , pos, isProper, isPrep ->
|
||||
{ s = a ; position = pos ; isPre = True; isProper = isProper; isPrep = isPrep};
|
||||
{ s = a ; position = pos ; isPre = False; isProper = isProper; isPrep = isPrep};
|
||||
|
||||
{-
|
||||
TO DO:
|
||||
@@ -642,6 +690,7 @@ mkSubjPrefix : Agreement -> Str =\a ->case a of {
|
||||
AgP3 Pl (KA_BU | RU_BU) => mkClitic "obu" ;
|
||||
AgP3 Pl (KI_BI | ZERO_BI) => mkClitic "ebi" ;
|
||||
AgP3 Pl (ZERO_MA | KU_MA | RI_MA | I_MA | BU_MA) => mkClitic "aga";
|
||||
AgP3 Sg ZERO_MA => mkClitic "aga";
|
||||
AgP3 ( Pl) HA => mkClitic "aha" ; -- of place HA
|
||||
AgP3 ( Pl) MU => mkClitic "omu" ; -- of place MU
|
||||
AgP3 ( Pl) KU => mkClitic "oku" ; -- of place KU
|
||||
@@ -661,6 +710,76 @@ mkSubjPrefix : Agreement -> Str =\a ->case a of {
|
||||
_ => mkClitic "XXXThisThese" -- error checking for any case not catered for
|
||||
|
||||
};
|
||||
|
||||
-- TThis is for demonstrative pronouns which can also be use as Quantifiers
|
||||
-- These are self-standing
|
||||
-- How can it be done without code repeation?
|
||||
mkThisNoClitic = table{
|
||||
AgMUBAP1 Sg => "ogu";
|
||||
AgMUBAP1 Pl => "aba" ;
|
||||
AgMUBAP2 Sg => "ogu"; --probably an error check your grammar book
|
||||
AgMUBAP2 Pl => "aba" ;
|
||||
AgP3 Sg MU_BA => "ogu";
|
||||
AgP3 Pl MU_BA => "aba" ;
|
||||
AgP3 Pl ZERO_BU => "obu" ;
|
||||
AgP3 Sg BU_MA => "obu" ;
|
||||
AgP3 Pl (KA_BU | RU_BU) => "obu" ;
|
||||
AgP3 Pl (KI_BI | ZERO_BI) => "ebi" ;
|
||||
AgP3 Pl (ZERO_MA | KU_MA | RI_MA | I_MA | BU_MA) => "aga";
|
||||
AgP3 Sg ZERO_MA => "aga";
|
||||
AgP3 ( Pl) HA => "aha" ; -- of place HA
|
||||
AgP3 ( Pl) MU => "omu" ; -- of place MU
|
||||
AgP3 ( Pl) KU => "oku" ; -- of place KU
|
||||
AgP3 Sg (I_ZERO | I_MA | RI_MA) => "eri" ;
|
||||
AgP3 Sg (KA_ZERO | KA_BU) => "aka" ;
|
||||
AgP3 Sg KI_BI => "eki" ;
|
||||
AgP3 Sg (KU_ZERO | KU_MA) => "oku" ;
|
||||
AgP3 Sg (MU_MI | MU_ZERO) => "ogu" ;
|
||||
AgP3 Sg (RU_ZERO | RU_BU | RU_MA| RU_N) => "oru" ;
|
||||
AgP3 Pl (ZERO_TU | KA_TU) => "otu" ;
|
||||
AgP3 Sg (ZERO_ZERO | N_N) => "egi" ;
|
||||
AgP3 Pl ZERO_MI => "egi" ;
|
||||
AgP3 Pl MU_MI => "egi";
|
||||
AgP3 Pl (ZERO_ZERO | ZERO_N | N_N | RU_N) => "ezi" ;
|
||||
AgP3 Sg GU_GA => "ogu" ;
|
||||
AgP3 Pl GU_GA => "aga" ;
|
||||
_ => "XXXThisThese" -- error checking for any case not catered for
|
||||
|
||||
};
|
||||
|
||||
mkAdjClitic = table{
|
||||
AgMUBAP1 Sg => "ogu";
|
||||
AgMUBAP1 Pl => "aba" ;
|
||||
AgMUBAP2 Sg => "ogu"; --probably an error check your grammar book
|
||||
AgMUBAP2 Pl => "aba" ;
|
||||
AgP3 Sg MU_BA => "ogu";
|
||||
AgP3 Pl MU_BA => "aba" ;
|
||||
AgP3 Pl ZERO_BU => "obu" ;
|
||||
AgP3 Sg BU_MA => "obu" ;
|
||||
AgP3 Pl (KA_BU | RU_BU) => "obu" ;
|
||||
AgP3 Pl (KI_BI | ZERO_BI) => "ebi" ;
|
||||
AgP3 Pl (ZERO_MA | KU_MA | RI_MA | I_MA | BU_MA) => "aga";
|
||||
AgP3 Sg ZERO_MA => "aga";
|
||||
AgP3 ( Pl) HA => "aha" ; -- of place HA
|
||||
AgP3 ( Pl) MU => "omu" ; -- of place MU
|
||||
AgP3 ( Pl) KU => "oku" ; -- of place KU
|
||||
AgP3 Sg (I_ZERO | I_MA | RI_MA) => "eri" ;
|
||||
AgP3 Sg (KA_ZERO | KA_BU) => "aka" ;
|
||||
AgP3 Sg KI_BI => "eki" ;
|
||||
AgP3 Sg (KU_ZERO | KU_MA) => "oku" ;
|
||||
AgP3 Sg (MU_MI | MU_ZERO) => "ogu" ;
|
||||
AgP3 Sg (RU_ZERO | RU_BU | RU_MA| RU_N) => "oru" ;
|
||||
AgP3 Pl (ZERO_TU | KA_TU) => "otu" ;
|
||||
AgP3 Sg (ZERO_ZERO | N_N) => "en" ;
|
||||
AgP3 Pl ZERO_MI => "egi" ;
|
||||
AgP3 Pl MU_MI => "egi";
|
||||
AgP3 Pl (ZERO_ZERO | ZERO_N | N_N | RU_N) => "ezi" ;
|
||||
AgP3 Sg GU_GA => "ogu" ;
|
||||
AgP3 Pl GU_GA => "aga" ;
|
||||
_ => "XXXThisThese" -- error checking for any case not catered for
|
||||
|
||||
};
|
||||
|
||||
{-
|
||||
-- TThis is for demonstrative pronouns which can also be use as Quantifiers
|
||||
-- How can it be done without code repeation?
|
||||
@@ -744,6 +863,7 @@ mkSubjPrefix : Agreement -> Str =\a ->case a of {
|
||||
--AgP3 Pl (KA_BU | RU_BU) => mkClitic "obu" ;
|
||||
--AgP3 Pl (KI_BI | ZERO_BI) => mkClitic "ebi" ;
|
||||
--AgP3 Pl (ZERO_MA | KU_MA | RI_MA | I_MA | BU_MA) => mkClitic "aga";
|
||||
AgP3 Sg ZERO_MA => mkClitic "agwo";
|
||||
AgP3 (Sg ) HA => mkClitic "aho" ; -- of place HA
|
||||
AgP3 (Sg ) MU => mkClitic "omwo" ; -- of place MU
|
||||
AgP3 (Sg ) KU => mkClitic "okwo" ; -- of place KU
|
||||
@@ -960,6 +1080,71 @@ mkSubjPrefix : Agreement -> Str =\a ->case a of {
|
||||
}
|
||||
};
|
||||
|
||||
mkRPsNoClitic : RCase => Agreement =>Str = table{
|
||||
RSubj => table {
|
||||
AgMUBAP1 Sg => "o";
|
||||
AgMUBAP1 Pl => "aba" ;
|
||||
AgMUBAP2 Sg => "o";
|
||||
AgMUBAP2 Pl => "aba" ;
|
||||
AgP3 Sg MU_BA => "o";
|
||||
AgP3 Pl MU_BA => "aba" ;
|
||||
AgP3 Pl ZERO_BU => "obu" ;
|
||||
AgP3 Sg BU_MA => "obu" ;
|
||||
AgP3 Pl (KA_BU | RU_BU) => "obu" ;
|
||||
AgP3 Pl (KI_BI | ZERO_BI) => "ebi" ;
|
||||
AgP3 Pl (ZERO_MA | KU_MA | RI_MA | I_MA | BU_MA) => "aga";
|
||||
AgP3 (Sg ) HA => "aha" ; -- of place HA
|
||||
AgP3 (Sg ) MU => "aha" ; -- of place MU
|
||||
AgP3 (Sg ) KU => "e" ; -- of place KU
|
||||
AgP3 Sg (I_ZERO | I_MA | RI_MA) => "eri" ;
|
||||
AgP3 Sg (KA_ZERO | KA_BU) => "aka" ;
|
||||
AgP3 Sg KI_BI => "eki" ;
|
||||
AgP3 Sg (KU_ZERO | KU_MA) => "oku" ;
|
||||
AgP3 Sg (MU_MI | MU_ZERO) => "ogu" ;
|
||||
AgP3 Sg (RU_ZERO | RU_BU | RU_MA| RU_N) => "oru" ;
|
||||
AgP3 Pl (ZERO_TU | KA_TU) => "otu" ;
|
||||
AgP3 Sg (ZERO_ZERO | N_N) => "e" ;
|
||||
AgP3 Pl ZERO_MI => "e" ;
|
||||
AgP3 Pl MU_MI => "e";
|
||||
AgP3 Pl (ZERO_ZERO | ZERO_N | N_N | RU_N) => "ezi" ;
|
||||
AgP3 Sg GU_GA => "ogu" ;
|
||||
AgP3 Pl GU_GA => "aga" ;
|
||||
_ => "XXXThat" -- error checking for any case not catered for
|
||||
|
||||
};
|
||||
_ => table {
|
||||
AgMUBAP1 Sg => "ou";
|
||||
AgMUBAP1 Pl => "abu" ; --note: abu or abi is used. GF does not allow free variation. However, abu is more natural
|
||||
AgMUBAP2 Sg => "ou"; --probably an error check your grammar book
|
||||
AgMUBAP2 Pl => "abu" ;
|
||||
AgP3 Sg MU_BA => "o";
|
||||
AgP3 Pl MU_BA => "abu" ;
|
||||
AgP3 Pl ZERO_BU => "obu" ;
|
||||
AgP3 Sg BU_MA => "obu" ;
|
||||
AgP3 Pl (KA_BU | RU_BU) => "obu" ;
|
||||
AgP3 Pl (KI_BI | ZERO_BI) => "ebi" ;
|
||||
AgP3 Pl (ZERO_MA | KU_MA | RI_MA | I_MA | BU_MA) => "agu";
|
||||
AgP3 (Sg ) HA => "ahu" ; -- of place HA
|
||||
AgP3 (Sg ) MU => "ahu" ; -- of place MU
|
||||
AgP3 (Sg ) KU => "ei" ; -- of place KU
|
||||
AgP3 Sg (I_ZERO | I_MA | RI_MA) => "eri" ;
|
||||
AgP3 Sg (KA_ZERO | KA_BU) => "aku" ;
|
||||
AgP3 Sg KI_BI => "eki" ;
|
||||
AgP3 Sg (KU_ZERO | KU_MA) => "oku" ;
|
||||
AgP3 Sg (MU_MI | MU_ZERO) => "ogu" ;
|
||||
AgP3 Sg (RU_ZERO | RU_BU | RU_MA| RU_N) => "oru" ;
|
||||
AgP3 Pl (ZERO_TU | KA_TU) => "otu" ;
|
||||
AgP3 Sg (ZERO_ZERO | N_N) => "ei" ;
|
||||
AgP3 Pl ZERO_MI => "ei" ;
|
||||
AgP3 Pl MU_MI => "ei";
|
||||
AgP3 Pl (ZERO_ZERO | ZERO_N | N_N | RU_N) => "ezi" ;
|
||||
AgP3 Sg GU_GA => "ogu" ;
|
||||
AgP3 Pl GU_GA => "agu" ;
|
||||
_ => mkClitic "XXXThat" -- error checking for any case not catered for
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
mkIPPref : Agreement =>Str = table{
|
||||
AgMUBAP1 Sg => mkClitic "o";
|
||||
AgMUBAP1 Pl => mkClitic "ba" ;
|
||||
@@ -1034,7 +1219,7 @@ mkSubjPrefix : Agreement -> Str =\a ->case a of {
|
||||
4. Cardinal numbers
|
||||
6. Ordinal numbers
|
||||
-}
|
||||
Determiner : Type = {s : Str ; s2: Agreement=>Str; ntype : NounState ; num : Number ; pos : Position; doesAgree: Bool};
|
||||
Determiner : Type = {s : Str ; s2: Agreement=>Str; ntype : NounState ; num : Number ; pos : Position; doesAgree: Bool; numeralS:Agreement=>Str; numeralExists : Bool};
|
||||
mkDet : Str -> NounState -> Number -> Position -> Determiner
|
||||
= \ det, ns, num,pos ->
|
||||
{
|
||||
@@ -1043,7 +1228,9 @@ mkSubjPrefix : Agreement -> Str =\a ->case a of {
|
||||
ntype = ns;
|
||||
num = num;
|
||||
pos = pos;
|
||||
doesAgree = False
|
||||
doesAgree = False;
|
||||
numeralS = \\_ => []; -- A true determiner is not a quantifier
|
||||
numeralExists = False;
|
||||
};
|
||||
|
||||
-- Pronouns must have agreement because they are used
|
||||
@@ -1096,13 +1283,16 @@ mkSubjPrefix : Agreement -> Str =\a ->case a of {
|
||||
mkDetCN : Determiner -> Noun -> NounPhrase = \ det, cn ->
|
||||
let subjClitic = mkSubjClitic (AgP3 det.num cn.gender)
|
||||
in
|
||||
case <det.pos, det.num> of {
|
||||
<Post, Pl> => {s = \\_=> subjClitic ++ cn.s!det.num! det.ntype ++ subjClitic ++ det.s; agr = AgP3 det.num cn.gender; nounCat = cn.nounCat};
|
||||
<Post, Sg> => {s = \\_=>cn.s!det.num! det.ntype ++ subjClitic ++ det.s; agr = AgP3 det.num cn.gender; nounCat = cn.nounCat};
|
||||
<Pre, n> => { s =\\_ => det.s ++ cn.s !n ! det.ntype; agr = AgP3 det.num cn.gender; nounCat = cn.nounCat} --;
|
||||
case <det.pos, det.num> of {
|
||||
<Post, Pl> => {s = \\_=> cn.s!det.num! det.ntype ++ subjClitic ++ det.s2 !AgP3 det.num cn.gender; agr = AgP3 det.num cn.gender; nounCat = cn.nounCat}; --subjClitic ++ cn.s!det.num! det.ntype ++ subjClitic ++ det.s2 !AgP3 det.num cn.gender; agr = AgP3 det.num cn.gender; nounCat = cn.nounCat};
|
||||
<Post, Sg> => {s = \\_=>cn.s!det.num! det.ntype ++ subjClitic ++ det.s2 ! AgP3 det.num cn.gender; agr = AgP3 det.num cn.gender; nounCat = cn.nounCat};
|
||||
<Pre, n> => case det.numeralExists of {
|
||||
False => { s =\\_ => det.s2 !(AgP3 det.num cn.gender) ++ cn.s !n ! Complete; agr = AgP3 det.num cn.gender; nounCat = cn.nounCat};
|
||||
True => { s =\\_ => cn.s !n ! Complete ++ det.numeralS ! (AgP3 n cn.gender); agr = AgP3 det.num cn.gender; nounCat = cn.nounCat}
|
||||
}
|
||||
--<PostDeterminer, PFalse> => {s = \\_=> cn.s!det.ntype!det.num; agr = AgP3 det.num cn.gender }
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1351,7 +1541,7 @@ mkSubjPrefix : Agreement -> Str =\a ->case a of {
|
||||
glueGen: Agreement ->Str = \ a -> mkGenPrepNoIVClitic a ++ BIND ++ mkGenAdjSuffix a;
|
||||
|
||||
--Number determining element
|
||||
Numer : Type = { s: Agreement => Str ; n : Number};
|
||||
Numer : Type = { s: Agreement => Str ; n : Number; numeralExists:Bool};
|
||||
|
||||
--VPSlash : Type = VerbPhrase ** { c : Str };
|
||||
VPSlash : Type = {
|
||||
|
||||
@@ -25,8 +25,8 @@ lin
|
||||
in
|
||||
case <temp.t,temp.a, pol.p> of {
|
||||
<Pres,Simul, Pos> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ clitic ++ root ++ compl};
|
||||
False => {s = subj ++ clitic ++ root ++ Predef.BIND ++ compl}
|
||||
True => {s = subj ++ clitic ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
{-Note: when I use pol.s instead of ti, the word alignment instead becomes worse-}
|
||||
<Pres,Simul, Neg> => case cl.isPresBlank of {
|
||||
@@ -46,32 +46,33 @@ lin
|
||||
|
||||
|
||||
<Past,Simul, Pos> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "ka" ++ Predef.BIND ++ root ++ compl};
|
||||
False => {s = subj ++ clitic ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
_ => {s = subj ++ clitic ++ "ka" ++ Predef.BIND ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}--;
|
||||
--False => {s = subj ++ clitic ++ "ka" ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
{-Note: when I use pol.s instead of ti, the word alignment instead becomes worse-}
|
||||
<Past,Simul, Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ root ++ compl};
|
||||
False => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++
|
||||
root ++ pastRestOfVerb ++ compl}
|
||||
True => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ Predef.BIND ++ "ra" ++
|
||||
Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "ra" ++ Predef.BIND ++
|
||||
root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
|
||||
<Past,Anter, Pos> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "kaba" ++Predef.BIND ++ clitic ++
|
||||
root ++ compl};
|
||||
False => {s = subj ++ clitic ++ "kaba" ++ clitic ++ "a" ++ Predef.BIND ++
|
||||
root ++ Predef.BIND ++ "ire"++ compl};
|
||||
False => {s = subj ++ clitic ++ "kaba" ++ clitic ++
|
||||
root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<Past,Anter, Neg> =>case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "ka" ++Predef.BIND ++ clitic ++
|
||||
root ++ compl};
|
||||
False => {s = subj ++ clitic ++ "kaba" ++ clitic ++ "taa" ++ Predef.BIND ++
|
||||
root ++ Predef.BIND ++ "ire"++ compl};
|
||||
False => {s = subj ++ clitic ++ "kaba" ++ clitic ++ "ta" ++ Predef.BIND ++
|
||||
root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
|
||||
<Fut,Simul, Pos> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++ "za ku" ++ Predef.BIND ++ --choice of za over ija
|
||||
root ++ compl};
|
||||
root ++ "a" ++ compl};
|
||||
False => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++ "za ku" ++ Predef.BIND ++ --choice of za over ija
|
||||
root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
@@ -79,23 +80,23 @@ lin
|
||||
|
||||
{-Note: when I use pol.s instead of ti, the word alignment instead becomes worse-}
|
||||
<Fut,Simul, Neg> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "kuza ku" ++ Predef.BIND ++
|
||||
True => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "raaza ku" ++ Predef.BIND ++
|
||||
root ++ compl};
|
||||
False => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "kuza ku" ++ Predef.BIND ++
|
||||
False => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "raaza ku" ++ Predef.BIND ++
|
||||
root ++ BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<Fut,Anter, Pos> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++ "za kuba" ++ Predef.BIND ++ clitic ++ --choice of za over ija
|
||||
True => {s = subj ++ Predef.BIND ++clitic ++ "raaba" ++ clitic ++ --choice of za over ija
|
||||
root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++ "za kuba" ++ Predef.BIND ++ clitic ++ --choice of za over ija
|
||||
False => {s = subj ++ Predef.BIND ++clitic ++ "raaba" ++ clitic ++ --choice of za over ija
|
||||
root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
|
||||
<Fut,Anter, Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ "ni" ++ Predef.BIND ++ clitic ++ "za kuba" ++ clitic ++ Predef.BIND ++
|
||||
True => {s = subj ++ Predef.BIND ++ clitic ++ "raaba " ++ clitic ++ "ta"++ Predef.BIND ++
|
||||
root ++ "ire" ++ compl};
|
||||
False => {s = subj ++ "ni" ++ Predef.BIND ++ clitic ++ "za kuba" ++ clitic ++ "taka" ++ Predef.BIND ++
|
||||
root ++ pastRestOfVerb ++ compl}
|
||||
False => {s = subj ++ Predef.BIND ++ clitic ++ "raaba " ++ clitic ++ "ta" ++ Predef.BIND ++
|
||||
root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<Cond,Simul, Pos> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ clitic ++ "kaa" ++Predef.BIND ++ root ++ compl};
|
||||
@@ -142,8 +143,8 @@ lin
|
||||
_ => mkRPs!RSubj! AgP3 Sg MU_BA
|
||||
};
|
||||
robjClitic = case rcl.agr of {
|
||||
AgrYes a => mkRPs!RObj! a;
|
||||
_ => mkRPs!RObj! AgP3 Sg MU_BA
|
||||
AgrYes a => mkRPsNoClitic!RObj! a;
|
||||
_ => mkRPsNoClitic!RObj! AgP3 Sg MU_BA
|
||||
};
|
||||
presSimul = vMorphs ! VFPres; --this is not delivering the string
|
||||
presAnt = vMorphs ! VFPastPart; --this is not delivering the string
|
||||
@@ -186,7 +187,7 @@ lin
|
||||
<Past,Simul, Pos> => {
|
||||
s = table {
|
||||
RF RSubj => subj ++ rsubjClitic ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl;
|
||||
RF RObj => subj ++ robjClitic ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl;
|
||||
RF RObj => robjClitic ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl;
|
||||
Such_That => "kugira ngu" ++ subjClitic ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl
|
||||
}
|
||||
};
|
||||
@@ -279,8 +280,9 @@ lin
|
||||
};
|
||||
|
||||
|
||||
PredVP np vp = case vp.isCompApStem of{
|
||||
False => {
|
||||
|
||||
PredVP np vp = case <vp.isCompApStem, vp.containsAdV> of {
|
||||
<False,True> => {
|
||||
s = np.s ! Nom; --: NP -> VP -> Cl ; -- John walks / John does not walk
|
||||
subjAgr = np.agr;
|
||||
pres = vp.pres;
|
||||
@@ -297,9 +299,10 @@ lin
|
||||
pastPart = mkVerbPastPart vp.root; -- subject
|
||||
-}
|
||||
--root = vp.root ;
|
||||
compl = vp.comp
|
||||
compl = vp.adV
|
||||
};
|
||||
True => {
|
||||
|
||||
<_, _> => {
|
||||
s = np.s ! Nom; --: NP -> VP -> Cl ; -- John walks / John does not walk
|
||||
subjAgr = np.agr;
|
||||
pres = vp.pres;
|
||||
@@ -319,8 +322,6 @@ lin
|
||||
compl = mkSubjClitic np.agr ++ vp.comp --mkSubjClitic np.agr ++ Predef.BIND ++ vp.comp
|
||||
}
|
||||
};--: NP -> VP -> Cl ; -- John walks / John does not walk
|
||||
|
||||
|
||||
|
||||
{-
|
||||
Note: It seems mkSubjClitic comes with a Predef.BIND already
|
||||
@@ -382,9 +383,25 @@ lin
|
||||
--AdvSlash : ClSlash -> Adv -> ClSlash ; -- (whom) he sees today
|
||||
--SlashPrep : Cl -> Prep -> ClSlash ; -- (with whom) he walks
|
||||
--SlashVS : NP -> VS -> SSlash -> ClSlash ; -- (whom) she says that he loves
|
||||
--2 Embedded sentences
|
||||
|
||||
-- Sentences, questions, and infinitival phrases can be used as
|
||||
-- subjects and (adverbial) complements.
|
||||
|
||||
--EmbedS : S -> SC ; -- that she goes
|
||||
--EmbedQS : QS -> SC ; -- who goes
|
||||
--EmbedVP : VP -> SC ; -- to go
|
||||
EmbedVP vp = case vp.isPresBlank of {
|
||||
TRUE => {s= "oku" ++ Predef.BIND ++ vp.s ++ BIND ++ "a"};
|
||||
_ => {s= "oku" ++ Predef.BIND ++ vp.s ++ BIND ++ vp.pres}
|
||||
};
|
||||
|
||||
-- An adverb can be added to the beginning of a sentence, either with comma ("externally")
|
||||
-- or without:
|
||||
|
||||
--AdvS : Adv -> S -> S ; -- then I will go home
|
||||
--ExtAdvS : Adv -> S -> S ; -- next week, I will go home
|
||||
ExtAdvS adv s = {s=adv.s ++ "," ++ s.s};
|
||||
|
||||
|
||||
{-
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
concrete SentenceCggAbsCgg of SentenceCggAbs = CatCgg
|
||||
open (R=ResCgg) in {
|
||||
|
||||
lincat
|
||||
ExtTense = {s : Str ; t : R.TensesExtra } ;
|
||||
TempExtra = {s : Str ; t : R.TensesExtra a : R.Aspects} ;
|
||||
Aspect = {s : Str ; a : R.AspectsExtra } ;
|
||||
lin
|
||||
--TAspect -> ExtTense ->Ant -> TempExtra ;
|
||||
TAspect extT a ={s = extT.s ++ a.s; t = exT.t; a = a.a};
|
||||
--TRPast : ExtTense ; -- bakagyenda [Remote past]
|
||||
TRPast = {s = [] ; t = R.Remotepast };
|
||||
--TIPast : ExtTense ; -- baagyenda [Immediate Past or Memorial ]
|
||||
TIPast = {s =[] ; t = R.ImmediatePast};
|
||||
--TRFut : ExtTense ; -- I sleep/slept [simultaneous, not compound]
|
||||
TRFut = {s = [] ; t = R.RemoteFut};
|
||||
|
||||
--APerformative : Aspect ; -- I slept [past, "imperfect"] --# notpresent
|
||||
APerformative = {s = []; a = R.Performative };
|
||||
APerfect = {s = []; a = R.Perfect }; -- I will sleep [future] --# notpresent
|
||||
ARes = {s = []; a = R.Resultative }; -- I would sleep [conditional] --# notpresent
|
||||
ARetr = {s = []; a = R.Retrospective }; -- I have slept/had slept [anterior, "compound", "perfect"] --# notpresent
|
||||
AHab = {s = []; a = R.Habitual };
|
||||
AProg = {s = []; a = R.Progrssive };
|
||||
APer = {s = []; a = R.Persitive };
|
||||
UseClExtra : TempExtra -> Pol -> Cl -> S ; -- she had not slept
|
||||
|
||||
|
||||
--UseQClExtra : TempExtra -> Pol -> QCl -> QS ; -- who had not slept
|
||||
--UseRClExtra : TempExtra -> Pol -> RCl -> RS ; -- that had not slept
|
||||
--UseSlashExtra : TempExtra -> Pol -> ClSlash -> SSlash ; -- (that) she had not seen
|
||||
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
abstract SentenceCggExtraAbs = Cat **{
|
||||
|
||||
cat
|
||||
ExtTense;
|
||||
TempExtra;
|
||||
Aspect;
|
||||
fun
|
||||
TAspect -> ExtTense ->Ant -> TempExtra ;
|
||||
TRPast : ExtTense ; -- bakagyenda [Remote past]
|
||||
TIPast : ExtTense ; -- baagyenda [Immediate Past or Memorial ]
|
||||
TRFut : ExtTense ; -- I sleep/slept [simultaneous, not compound]
|
||||
APerformative : Aspect ; -- I slept [past, "imperfect"] --# notpresent
|
||||
APerfect : Aspect ; -- I will sleep [future] --# notpresent
|
||||
ARes : Aspect ; -- I would sleep [conditional] --# notpresent
|
||||
ARetr : Aspect ; -- I have slept/had slept [anterior, "compound", "perfect"] --# notpresent
|
||||
AHab : Aspect ;
|
||||
AProg : Aspect ;
|
||||
APer : Aspect ;
|
||||
|
||||
|
||||
UseClExtra : TempExtra -> Pol -> Cl -> S ; -- she had not slept
|
||||
UseQClExtra : TempExtra -> Pol -> QCl -> QS ; -- who had not slept
|
||||
UseRClExtra : TempExtra -> Pol -> RCl -> RS ; -- that had not slept
|
||||
UseSlashExtra : TempExtra -> Pol -> ClSlash -> SSlash ; -- (that) she had not seen
|
||||
}
|
||||
9
src/rukiga/SentenceExtra.gf
Normal file
9
src/rukiga/SentenceExtra.gf
Normal file
@@ -0,0 +1,9 @@
|
||||
abstract SentenceExtra = Cat, TenseExtra ** {
|
||||
|
||||
fun
|
||||
UseClExtra : TempExtra -> Pol -> Cl ->S; -- Maria naagura
|
||||
|
||||
UseQClExtra : TempExtra -> Pol -> QCl -> QS ; -- Maria naagura?
|
||||
UseRClExtra : TempExtra -> Pol -> RCl -> RS ; -- ngu Maria naagura
|
||||
UseSlashExtra : TempExtra -> Pol -> ClSlash -> SSlash ; -- (ngu) Maria tiaagura = tyaagura
|
||||
}
|
||||
280
src/rukiga/SentenceExtraCgg.gf
Normal file
280
src/rukiga/SentenceExtraCgg.gf
Normal file
@@ -0,0 +1,280 @@
|
||||
concrete SentenceExtraCgg of SentenceExtra = CatCgg, TenseExtraCgg **
|
||||
open Prelude, ResCgg in {
|
||||
|
||||
|
||||
|
||||
lin
|
||||
UseClExtra temp pol cl = let
|
||||
subj = cl.s;
|
||||
vMorphs = mkVerbMorphs;
|
||||
clitic = mkSubjClitic cl.subjAgr;
|
||||
presSimul = vMorphs ! VFPres; --this is not delivering the string
|
||||
presAnt = vMorphs ! VFPastPart; --this is not delivering the string
|
||||
root = cl.root;
|
||||
presRestOfVerb = cl.pres;
|
||||
pastRestOfVerb = cl.perf; --morphs ! VFPastPart ! RestOfVerb;
|
||||
|
||||
compl = cl.compl
|
||||
|
||||
in
|
||||
case <temp.t, temp.a, Pos> of {
|
||||
<RemotePast, Performative,Pos> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ clitic ++ "ka" ++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "ka" ++ Predef.BIND++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<RemotePast, Perfomative,Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "ra" ++ Predef.BIND++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "ra" ++ Predef.BIND ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<RemotePast, (Perfect | Resultative),Pos> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "kaba" ++ clitic ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "kaba" ++ clitic ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<RemotePast, (Perfect | Resultative),Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "kaba" ++ clitic ++ "ta" ++ Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "kaba" ++ clitic ++ "ta" ++ Predef.BIND ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<RemotePast, Retrospective, Pos> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "kaba" ++ clitic ++Predef.BIND ++ "aa" ++ Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "kaba" ++ clitic ++Predef.BIND ++ "aa" ++ Predef.BIND ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<RemotePast, Retrospective, Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "kaba" ++ clitic ++ Predef.BIND++ "ta" ++Predef.BIND ++ "ka" ++ Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "kaba" ++ clitic ++ Predef.BIND++ "ta" ++Predef.BIND ++ "ka" ++ Predef.BIND ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<RemotePast, Habitual, Pos> => case cl.isPresBlank of{
|
||||
True => {s = subj ++ clitic ++ "kaba" ++ clitic ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "kaba" ++ clitic ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<RemotePast, Habitual, Neg> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ clitic ++ "kaba" ++ clitic ++ "ta" ++Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "kaba" ++ clitic ++ "ta" ++Predef.BIND ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<RemotePast, Progressive, Pos> => case cl.isPresBlank of{
|
||||
True => {s = subj ++ clitic ++ "kaba ni" ++ clitic ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "kaba ni" ++ clitic ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<RemotePast, Progressive, Neg> => case cl.isPresBlank of{
|
||||
True => {s = subj ++ clitic ++ "kaba" ++ clitic ++ "ta riku" ++Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "kaba" ++ clitic ++ "ta riku" ++Predef.BIND ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<RemotePast, Persistive, Pos> => case cl.isPresBlank of{
|
||||
True => {s = subj ++ clitic ++ "kaba" ++ clitic ++"kyaa" ++Predef.BIND++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "kaba" ++ clitic ++"kyaa" ++Predef.BIND ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<RemotePast, Persistive, Neg> => case cl.isPresBlank of{
|
||||
True => {s = subj ++ clitic ++ "kaba" ++ clitic ++ "ta ki" ++Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "kaba" ++ clitic ++ "ta ki" ++Predef.BIND ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<NearPast, Performative,Pos> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<NearPast, Performative,Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ "ti" ++Predef.BIND ++ clitic ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ "ti" ++ Predef.BIND ++clitic ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<NearPast, (Perfect |Resultative),Pos> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "baire" ++clitic ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "baire" ++clitic ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<NearPast, (Perfect |Resultative),Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "baire" ++clitic ++ Predef.BIND ++"ta" ++ Predef.BIND++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++clitic ++ "baire" ++clitic ++ Predef.BIND ++"ta" ++ Predef.BIND++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<NearPast, Retrospective,Pos> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "bire" ++clitic ++"aa"++ Predef.BIND++ root ++ Predef.BIND ++ "ire" ++ compl}; --I had already bought
|
||||
False => {s = subj ++ clitic ++ "bire" ++clitic ++"aa"++ Predef.BIND++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl} --I had already bought
|
||||
};
|
||||
<NearPast, Retrospective,Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "bire" ++clitic ++"ta ka"++ Predef.BIND++ Predef.BIND ++"ta" ++ Predef.BIND++ root ++ Predef.BIND ++ "ire" ++ compl};-- I had not yet bought
|
||||
False => {s = subj ++clitic ++ "bire" ++clitic ++"ta ka"++ Predef.BIND++ Predef.BIND ++"ta" ++ Predef.BIND++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl} -- -- I had not yet bought
|
||||
};
|
||||
|
||||
<(NearPast | MemorialPres|ExpPres|NearFut), Habitual,Pos> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ clitic ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<(NearPast | MemorialPres|ExpPres|NearFut), Habitual,Neg> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<NearPast, Progressive, Pos> => case cl.isPresBlank of{
|
||||
True => {s = subj ++ clitic ++ "beire ni" ++ clitic ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "beire ni" ++ clitic ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<NearPast, Progressive, Neg> => case cl.isPresBlank of{
|
||||
True => {s = subj ++ clitic ++ "beire" ++ clitic ++ "ta riku" ++Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "beire" ++ clitic ++ "ta riku" ++Predef.BIND ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<NearPast, Persistive, Pos> => case cl.isPresBlank of{
|
||||
True => {s = subj ++ clitic ++ "bire" ++ clitic ++ "kyaa" ++ Predef.BIND ++root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "bire" ++ clitic ++ "kyaa" ++ Predef.BIND ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<NearPast, Persistive, Neg> => case cl.isPresBlank of{
|
||||
True => {s = subj ++ clitic ++ "bire" ++ clitic ++ "ta ki" ++Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "bire" ++ clitic ++ "ta ki" ++Predef.BIND ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<MemorialPres, Performative, Pos> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ clitic ++ "aa" ++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "aa" ++ Predef.BIND++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<MemorialPres, Performative, Neg> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "aa" ++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "aa" ++ Predef.BIND++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<MemorialPres, (Perfect | Resultative), Pos> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "aba" ++ clitic ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "aba" ++ clitic ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<MemorialPres, (Perfect | Resultative), Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "aba" ++ clitic ++ "ta" ++ Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "aba" ++ clitic ++ "ta" ++ Predef.BIND ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<MemorialPres, Restrospective, Pos> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "aaba" ++ clitic ++"aa" ++ Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "aaba" ++ clitic ++"aa" ++ Predef.BIND ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<MemorialPres, Restrospective, Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "aaba" ++ clitic ++ "ta ka" ++ Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "aaba" ++ clitic ++ "ta ka" ++ Predef.BIND ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<MemorialPres, Progressive, Pos> => case cl.isPresBlank of{
|
||||
True => {s = subj ++ clitic ++ "aaba ni" ++ clitic ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "aaba ni" ++ clitic ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<MemorialPres, Progressive, Neg> => case cl.isPresBlank of{
|
||||
True => {s = subj ++ clitic ++ "aaba" ++ clitic ++ "ta riku"++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "aaba" ++ clitic ++ "ta riku"++ Predef.BIND++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<MemorialPres, Persistive, Pos> => case cl.isPresBlank of{
|
||||
True => {s = subj ++ clitic ++ "aaba" ++ clitic ++ "kaa"++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "aaba" ++ clitic ++ "kaa"++ Predef.BIND++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<MemorialPres, Persistive, Neg> => case cl.isPresBlank of{
|
||||
True => {s = subj ++ clitic ++ "aaba" ++ clitic ++ "ta ki"++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "aaba" ++ clitic ++ "ta ki"++ Predef.BIND++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<ExpPres, Performative,(Pos|Neg)> =>{s="ImpossibleInLanguage"}; -- with GF could allow one to throw Error messages that can be caught
|
||||
<ExpPres, (Perfect |Resultative), Pos> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<ExpPres, (Perfect |Resultative), Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++"ti"++Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++"ti"++Predef.BIND ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<ExpPres, Retrospective, Pos> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "naa" ++ Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "naa" ++ Predef.BIND++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<ExpPres, Retrospective, Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "ka" ++ Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "ka" ++ Predef.BIND++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<ExpPres, Progressive, Pos> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ "ni" ++ Predef.BIND ++ clitic ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<ExpPres, Progressive, Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "ri ku" ++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "ri ku" ++ Predef.BIND++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<ExpPres, Persistive, Pos> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "kaa" ++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "kaa" ++ Predef.BIND++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<ExpPres, Persistive, Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "ri ku" ++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "ri ku" ++ Predef.BIND++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<NearFut, Performative, Pos> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++"za ku" ++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++"za ku" ++ Predef.BIND++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
-- Uses the subjunctive e.g a + e = e
|
||||
<NearFut, Performative, Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "raa" ++ Predef.BIND ++ root ++ Predef.BIND ++ "e" ++ compl};
|
||||
False => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "raa" ++ Predef.BIND++ root ++ Predef.BIND ++ presRestOfVerb ++Predef.BIND ++"e" ++ compl} -- my own way of performing the subjuctive i.e a+e =e
|
||||
};
|
||||
<NearFut, (Perfect | Resultative), Pos> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "raaba" ++ clitic ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "raaba" ++ clitic ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<NearFut, (Perfect | Resultative), Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "raaba" ++ clitic ++ "ta" ++ Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "raaba" ++ clitic ++ "ta" ++ Predef.BIND ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<NearFut, Retrospective, Pos> =>case cl.isPerfBlank of {
|
||||
True => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++"za kuba" ++ Predef.BIND ++ clitic ++ "aa" ++Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++"za kuba" ++ Predef.BIND ++ clitic ++ "aa" ++Predef.BIND ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<NearFut, Retrospective, Neg> =>case cl.isPerfBlank of {
|
||||
True => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++"za kuba" ++ Predef.BIND ++ clitic ++ "taka" ++Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++"za kuba" ++ Predef.BIND ++ clitic ++ "taka" ++Predef.BIND ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<NearFut, Progressive, Pos> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++"za kuba ni" ++ Predef.BIND ++ clitic ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++"za kuba ni" ++ Predef.BIND ++ clitic ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<NearFut, Progressive, Neg> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++"za kuba" ++ clitic ++ "tariku" ++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++"za kuba" ++ clitic ++ "tariku" ++ Predef.BIND ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<NearFut, Persistive, Pos> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++"za kuba" ++ clitic ++ "kyaa" ++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++"za kuba" ++ clitic ++ "kyaa" ++ Predef.BIND++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<NearFut, Persistive, Neg> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++"za kuba" ++ clitic ++ "taki" ++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++"za kuba" ++ clitic ++ "taki" ++ Predef.BIND ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<RemoteFut, Performative, Pos> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ clitic ++ "rya" ++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "rya" ++ Predef.BIND++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<RemoteFut, Performative, Neg> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "rya" ++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "rya" ++ Predef.BIND++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<RemoteFut, (Perfect | Resultative), Pos> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "ryaba" ++ clitic ++ Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "ryaba" ++ clitic ++ Predef.BIND++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<RemoteFut, (Perfect | Resultative), Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "ryaba" ++ clitic ++ "ta" ++ Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "ryaba" ++ clitic ++ "ta" ++ Predef.BIND++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<RemoteFut, Restrospective, Pos> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "ryaba" ++ clitic ++ "aa" ++ Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "ryaba" ++ clitic ++ "aa"++ Predef.BIND++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<RemoteFut, Restrospective, Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "ryaba" ++ clitic ++ "taka" ++ Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "ryaba" ++ clitic ++ "taka" ++ Predef.BIND++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<RemoteFut, Habitual, Pos> =>case cl.isPresBlank of {
|
||||
True => {s = subj ++ clitic ++ "raa" ++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "raa" ++ Predef.BIND++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<RemoteFut, Habitual, Neg> =>{s="Non Existent. Can someone suggest?"};
|
||||
<RemoteFut, Progressive, Pos> =>case cl.isPresBlank of {
|
||||
True => {s = subj ++ clitic ++ "riba ni" ++ Predef.BIND ++ clitic ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "riba ni" ++ Predef.BIND ++ clitic ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<RemoteFut, Progressive, Neg> =>case cl.isPresBlank of {
|
||||
True => {s = subj ++ clitic ++ "riba" ++ clitic ++ "ta riku" ++ Predef.BIND++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "riba" ++ clitic ++ "ta riku" ++ Predef.BIND ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<RemoteFut, Persistive, Pos> =>case cl.isPresBlank of {
|
||||
True => {s = subj ++ clitic ++ "riba" ++ Predef.BIND ++ clitic ++"kya" ++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "riba" ++ Predef.BIND ++ clitic ++"kya" ++ Predef.BIND ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<RemoteFut, Persistive, Neg> =>case cl.isPresBlank of {
|
||||
True => {s = subj ++ clitic ++ "riba" ++ Predef.BIND ++ clitic ++"taki" ++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "riba" ++ Predef.BIND ++ clitic ++"taki" ++ Predef.BIND ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
@@ -15,19 +15,20 @@ concrete StructuralCgg of Structural = CatCgg **
|
||||
|
||||
lin
|
||||
--Determiner : Type = {s : Str ; s2: Agreement=>Str; ntype : NounState ; num : Number ; pos : Position; doesAgree: Bool };
|
||||
a_Det = {s =[] ; s2 = \\_ => []; ntype = Complete; num = Sg; pos = Pre; doesAgree = False}; --: Det ; indefinite singular ---s
|
||||
aPl_Det = {s =[]; s2= \\_ => []; ntype = Complete; num = Pl; pos = Pre; doesAgree = False}; -- : Det ;indefinite plural ---s
|
||||
the_Det = {s =[]; s2= \\_ => []; ntype = Complete; num = Sg; pos = Pre; doesAgree = False}; --: Det ; -- definite singular ---s thePl_Det = {s =[]; ntype = Complete; num = Pl; pos = PreDeterminer}; --: Det ;definite plural ---s
|
||||
a_Det = {s =[] ; s2 = \\_ => []; ntype = Complete; num = Sg; pos = Pre; doesAgree = False; numeralS=\\_=>[]; numeralExists = False}; --: Det ; indefinite singular ---s
|
||||
aPl_Det = {s =[]; s2= \\_ => []; ntype = Complete; num = Pl; pos = Pre; doesAgree = False; numeralS=\\_=>[]; numeralExists = False}; -- : Det ;indefinite plural ---s
|
||||
the_Det = {s =[]; s2= \\_ => []; ntype = Complete; num = Sg; pos = Pre; doesAgree = False; numeralS=\\_=>[]; numeralExists = False}; --: Det ; -- definite singular ---s thePl_Det = {s =[]; ntype = Complete; num = Pl; pos = PreDeterminer}; --: Det ;definite plural ---s
|
||||
|
||||
every_Det = {s ="buri"; s2 = \\_ => []; ntype=Incomplete; num=Sg; pos=Pre; doesAgree = False} ;
|
||||
few_Det = {s="kye"; s2 = \\_ => []; ntype =Complete; num=Pl; pos=Post; doesAgree = False} ;
|
||||
many_Det ={s="ingi"; s2 = \\_ => []; ntype =Complete; num=Pl; pos=Post; doesAgree = False} ;
|
||||
every_Det = {s ="buri"; s2 = \\_ => []; ntype=Incomplete; num=Sg; pos=Pre; doesAgree = False; numeralS=\\_=>[]; numeralExists = False} ;
|
||||
few_Det = {s="kye"; s2 = \\_ => []; ntype =Complete; num=Pl; pos=Post; doesAgree = False; numeralS=\\_=>[]; numeralExists = False} ;
|
||||
many_Det ={s="ingi"; s2 = \\_ => []; ntype =Complete; num=Pl; pos=Post; doesAgree = False; numeralS=\\_=>[]; numeralExists = False} ;
|
||||
|
||||
i_Pron = {s = table{Gen => glueGen (AgMUBAP1 Sg); _=> mkSStand (AgMUBAP1 Sg)}; third = \\_,_=>[]; agr = AgrYes (AgMUBAP1 Sg)};--mkPron "nyowe" "nyowe" (AgMUBAP1 Sg);
|
||||
youSg_Pron = {s = table{Gen => glueGen (AgMUBAP2 Sg); _=>mkSStand (AgMUBAP2 Sg)}; third = \\_,_=>[]; agr = AgrYes(AgMUBAP2 Sg)};--mkPron "iwe" "we" (AgMUBAP2 Sg);
|
||||
he_Pron, she_Pron = {s = table{Gen => glueGen (AgP3 Sg MU_BA); _=>mkSStand (AgP3 Sg MU_BA)}; third = \\_,_=>[]; agr = AgrYes(AgP3 Sg MU_BA)};--mkPron "uwe" "uwe" (AgP3 Sg MU_BA);
|
||||
we_Pron = {s = table{Gen => glueGen (AgMUBAP1 Pl); _=>mkSStand (AgMUBAP1 Pl)}; third = \\_,_=>[]; agr = AgrYes (AgMUBAP1 Pl)}; --mkPron "itwe" "itwe" (AgMUBAP1 Pl);
|
||||
youPl_Pron = {s = table{Gen => glueGen (AgMUBAP2 Pl); _=>mkSStand (AgMUBAP2 Pl)}; third = \\_,_=>[]; agr =AgrYes (AgMUBAP2 Pl)};--mkPron "imwe" "imwe" (AgMUBAP2 Pl); they_Pron = {s = table{Gen => glueGen AgP3 Pl MU_BA; _=>mkSStand (AgP3 Pl MU_BA)}; third = \\_,_=>[]; itP3Required=False};--mkPron "bo" "bo" (AgP3 Pl MU_BA);
|
||||
they_Pron = {s = table{Gen => glueGen (AgP3 Pl MU_BA); _=>mkSStand (AgP3 Pl MU_BA)}; third = \\_,_=>[]; agr =AgrYes (AgP3 Pl MU_BA)};--mkPron "bo" "bo" (AgP3 Pl MU_BA);
|
||||
-- default implementation Using KI_BI. Use mkmkGenPrepNoIVClitic and
|
||||
it_Pron = {
|
||||
s = \\_=>[];
|
||||
@@ -97,7 +98,7 @@ lin
|
||||
n = Sg
|
||||
};
|
||||
|
||||
have_V2 ={s= "ine"; pres=[]; perf =[]; isPresBlank = False;
|
||||
have_V2 ={s= "in"; pres="e"; perf ="e"; isPresBlank = False;
|
||||
isPerfBlank = False; morphs = mkVerbMorphs; comp = []; isRegular=False}; --: V2 ;
|
||||
|
||||
{-
|
||||
@@ -145,7 +146,7 @@ lin
|
||||
that_Quant = {s={s = \\_=>[]; third =\\_,_=>[]; agr = AgrNo}; s2 = mkThat; doesAgree = True; isPron = False}; --: Quant ;
|
||||
this_Quant = {s={s = \\_=>[]; third =\\_,_=>[]; agr = AgrNo}; s2 = mkThis; doesAgree = True; isPron = False}; --: Quant ;
|
||||
|
||||
no_Quant = {s ={s=\\_=>"tihariho";third =\\_,_=>[]; agr=AgrNo}; s2 =\\_=> []; doesAgree = False; isPron = False};--: Quant ;
|
||||
no_Quant = {s ={s=\\_=>"tihariho";third =\\_,_=>[]; agr=AgrNo}; s2 =\\_=> "tihariho"; doesAgree = False; isPron = False};--: Quant ;
|
||||
{-End of Quantifiers-}
|
||||
|
||||
|
||||
@@ -165,7 +166,7 @@ lin
|
||||
whatPl_IP = { s= "ki"; n = IPl; isVerbSuffix = True; requiresIPPrefix = False; aux=[]; endOfSentence = True} ; -- what (plural)
|
||||
whatSg_IP = { s= "ki"; n = ISg; isVerbSuffix = True; requiresIPPrefix = False; aux=[]; endOfSentence = True}; --: IP ; -- what (singular)
|
||||
whoPl_IP = { s= "ha"; n = IPl; isVerbSuffix = True; requiresIPPrefix = False; aux="ni"; endOfSentence = True} ;--: IP ; -- who (plural)
|
||||
whoSg_IP = { s= "ha"; n = ISg; isVerbSuffix = True; requiresIPPrefix = False; aux=[]; endOfSentence = True}; --: IP ; -- who (singular)
|
||||
whoSg_IP = { s= "ha"; n = ISg; isVerbSuffix = True; requiresIPPrefix = False; aux="ni"; endOfSentence = True}; --: IP ; -- who (singular)
|
||||
--You may need to use booleans to indicate that you need these tables rather than carrying them.
|
||||
how_IAdv = {s ="ta"; requiresSubjPrefix = True; endOfSentence =True}; --: IAdv ;
|
||||
--how8much_IAdv = {s ="kwiga"; s2requireSubjPrefix = True};--: IAdv ;
|
||||
@@ -191,17 +192,21 @@ lin
|
||||
s2 =\\agr => mkSubjCliticTableSg ! agr ++ BIND++ "mwe";
|
||||
ntype = Complete;
|
||||
num = Sg;
|
||||
pos = Pre;
|
||||
doesAgree = True
|
||||
pos = Post;
|
||||
doesAgree = True;
|
||||
numeralS=\\_=>[];
|
||||
numeralExists = False
|
||||
};
|
||||
somePl_Det =
|
||||
{
|
||||
s =[];
|
||||
s2 =\\agr => mkSubjCliticTablePl ! agr ++ BIND++ "mwe";
|
||||
s2 =\\agr => "mwe";-- mkSubjCliticTablePl ! agr ++ "mwe";
|
||||
ntype = Complete;
|
||||
num = Pl;
|
||||
pos = Pre;
|
||||
doesAgree = True
|
||||
pos = Post;
|
||||
doesAgree = True;
|
||||
numeralS=\\_=>[];
|
||||
numeralExists = False
|
||||
};--: Det ;
|
||||
|
||||
want_VV = {s = "yend"; pres="da"; perf = "zire"; isPresBlank = False;
|
||||
@@ -219,6 +224,8 @@ lin
|
||||
--somewhere_Adv : Adv ;
|
||||
|
||||
that_Subj = ss "ngu" ;
|
||||
when_Subj = ss "obu";
|
||||
because_Subj = ss "ahabwokuba";
|
||||
|
||||
--Adjective modifying Adverbs
|
||||
almost_AdA = {s="haihi"; position=Pre}; --: AdA ;
|
||||
|
||||
26
src/rukiga/TenseExtra.gf
Normal file
26
src/rukiga/TenseExtra.gf
Normal file
@@ -0,0 +1,26 @@
|
||||
abstract TenseExtra = {
|
||||
cat
|
||||
TempExtra;
|
||||
TenseExtra;
|
||||
Asp;
|
||||
fun
|
||||
TTAsp : TenseExtra -> Asp -> TempExtra ; -- [combination of tense and Apect, e.g. ExPres Performative]
|
||||
|
||||
--PPos : Pol ; -- I sleep [positive polarity]
|
||||
--PNeg : Pol ; -- I don't sleep [negative polarity]
|
||||
|
||||
TExPres : TenseExtra ; -- I sleep/have slept [present]
|
||||
|
||||
TMPres : TenseExtra ; -- I slept [past, "imperfect"] --# notpresent
|
||||
TNFut : TenseExtra ; -- I will sleep [future] --# notpresent
|
||||
TNPast : TenseExtra ; -- I would sleep [conditional] --# notpresent
|
||||
TRPast : TenseExtra ;
|
||||
TRFut : TenseExtra ;
|
||||
APerform : Asp ; -- I sleep/slept [simultaneous, not compound]
|
||||
APerf : Asp ; -- I have slept/had slept [anterior, "compound", "perfect"] --# notpresent
|
||||
AResult : Asp ;
|
||||
ARetrosp : Asp ;
|
||||
AHabitual : Asp ;
|
||||
AProg : Asp ;
|
||||
APersist : Asp ;
|
||||
}
|
||||
37
src/rukiga/TenseExtraCgg.gf
Normal file
37
src/rukiga/TenseExtraCgg.gf
Normal file
@@ -0,0 +1,37 @@
|
||||
concrete TenseExtraCgg of TenseExtra = {
|
||||
param
|
||||
-- for Extra Tenses not implemented
|
||||
-- would be better if I had alliases
|
||||
Tenses = RemotePast|NearPast | MemorialPres |ExpPres|NearFut |RemoteFut;
|
||||
|
||||
-- for Extra Aspects not implemented
|
||||
-- would be better if I had alliases
|
||||
Aspect = Performative | Perfect | Resultative | Retrospective | Habitual | Progressive | Persistive;
|
||||
lincat
|
||||
TempExtra = {s:Str; t:Tenses; a:Aspect};
|
||||
TenseExtra = {s:Str; t:Tenses};
|
||||
Asp = {s:Str; a:Aspect};
|
||||
--lindef
|
||||
--TempExtra = \str_0 -> {s = str_0; a = Habitual;t = ExPres} ;
|
||||
|
||||
lin
|
||||
--TTAsp : TenseExtra -> Asp -> TempExtra ; -- [combination of tense and Apect, e.g. ExPres Performative]
|
||||
TTAsp tense aspect = {s=[]; t=tense.t; a=aspect.a};
|
||||
--PPos : Pol ; -- I sleep [positive polarity]
|
||||
--PNeg : Pol ; -- I don't sleep [negative polarity]
|
||||
|
||||
TExPres = {s=[]; t= ExpPres} ; -- I sleep/have slept [present]
|
||||
|
||||
TMPres = {s=[]; t=MemorialPres} ; -- I slept [past, "imperfect"] --# notpresent
|
||||
TNFut = {s=[]; t=NearFut} ; -- I will sleep [future] --# notpresent
|
||||
TNPast = {s=[]; t= NearPast} ; -- I would sleep [conditional] --# notpresent
|
||||
TRPast = {s=[]; t= RemotePast} ;
|
||||
TRFut = {s=[]; t = RemoteFut} ;
|
||||
APerform = {s=[]; a = Performative} ; -- I sleep/slept [simultaneous, not compound]
|
||||
APerf = {s=[]; a= Perfect}; -- I have slept/had slept [anterior, "compound", "perfect"] --# notpresent
|
||||
AResult = {s=[]; a= Resultative};
|
||||
ARetrosp = {s=[]; a= Retrospective};
|
||||
AHabitual = {s=[]; a= Habitual};
|
||||
AProg = {s=[]; a=Progressive} ;
|
||||
APersist = {s=[]; a=Persistive} ;
|
||||
}
|
||||
@@ -194,7 +194,7 @@ lin
|
||||
isCompApStem = False;
|
||||
agr = AgrNo;
|
||||
isRegular = vp.isRegular;
|
||||
adv = [];
|
||||
adv = adv.s;
|
||||
containsAdv =True;
|
||||
adV =[];
|
||||
containsAdV = False
|
||||
|
||||
12
src/rukiga/_grpha_1.dot
Normal file
12
src/rukiga/_grpha_1.dot
Normal file
@@ -0,0 +1,12 @@
|
||||
digraph {
|
||||
rankdir=LR ;
|
||||
node [shape = record] ;
|
||||
|
||||
struct0[label = "<n0> Yohana | <n1> a &+ | <n2> nyw | <n3> &+ | <n4> a | <n5> amáìzi | <n6> aga | <n7> kwosya"] ;
|
||||
struct0:n0:e -> struct1:n0:w ;
|
||||
struct0:n2:e -> struct1:n1:w ;
|
||||
struct0:n4:e -> struct1:n1:w ;
|
||||
struct0:n5:e -> struct1:n3:w ;
|
||||
struct0:n7:e -> struct1:n2:w ;
|
||||
struct1[label = "<n0> John | <n1> drinks | <n2> hot | <n3> water"] ;
|
||||
}
|
||||
BIN
src/rukiga/_grpha_1.png
Normal file
BIN
src/rukiga/_grpha_1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 14 KiB |
95
src/rukiga/_grphp_1.dot
Normal file
95
src/rukiga/_grphp_1.dot
Normal file
@@ -0,0 +1,95 @@
|
||||
graph {
|
||||
edge[style="solid"]; node[shape="plaintext"];
|
||||
subgraph {rank=same;
|
||||
n20[label="PhrUtt : Phr"];
|
||||
}
|
||||
|
||||
subgraph {rank=same;
|
||||
n18[label="UttS : Utt"];
|
||||
}
|
||||
n20 -- n18;
|
||||
|
||||
subgraph {rank=same;
|
||||
n17[label="UseCl : S"];
|
||||
}
|
||||
n18 -- n17;
|
||||
|
||||
subgraph {rank=same;
|
||||
n16[label="PredVP : Cl"];
|
||||
}
|
||||
n17 -- n16;
|
||||
|
||||
subgraph {rank=same;
|
||||
n6[label="UsePN : NP"];
|
||||
n15[label="ComplSlash : VP"];
|
||||
edge[style="invis"];
|
||||
n6 -- n15 ;
|
||||
}
|
||||
n16 -- n6;
|
||||
n16 -- n15;
|
||||
|
||||
subgraph {rank=same;
|
||||
n5[label="john_PN : PN"];
|
||||
n8[label="SlashV2a : VPSlash"];
|
||||
n14[label="MassNP : NP"];
|
||||
edge[style="invis"];
|
||||
n5 -- n8 -- n14 ;
|
||||
}
|
||||
n6 -- n5;
|
||||
n15 -- n8;
|
||||
n15 -- n14;
|
||||
|
||||
subgraph {rank=same;
|
||||
n7[label="drink_V2 : V2"];
|
||||
n13[label="AdjCN : CN"];
|
||||
edge[style="invis"];
|
||||
n7 -- n13 ;
|
||||
}
|
||||
n8 -- n7;
|
||||
n14 -- n13;
|
||||
|
||||
subgraph {rank=same;
|
||||
n12[label="UseN : CN"];
|
||||
n10[label="PositA : AP"];
|
||||
edge[style="invis"];
|
||||
n12 -- n10 ;
|
||||
}
|
||||
n13 -- n12;
|
||||
n13 -- n10;
|
||||
|
||||
subgraph {rank=same;
|
||||
n11[label="water_N : N"];
|
||||
n9[label="hot_A : A"];
|
||||
edge[style="invis"];
|
||||
n11 -- n9 ;
|
||||
}
|
||||
n12 -- n11;
|
||||
n10 -- n9;
|
||||
|
||||
edge[style="dashed"]; node[shape="plaintext"];
|
||||
subgraph {rank=same;
|
||||
n100000[label="Yohana"];
|
||||
n100001[label="a"];
|
||||
n100002[label="&+"];
|
||||
n100003[label="ka"];
|
||||
n100004[label="nyw"];
|
||||
n100005[label="&+"];
|
||||
n100006[label="a"];
|
||||
n100007[label="amáìzi"];
|
||||
n100008[label="aga"];
|
||||
n100009[label="kwosya"];
|
||||
edge[style="invis"];
|
||||
n100000 -- n100001 -- n100002 -- n100003 -- n100004 -- n100005 -- n100006 -- n100007 -- n100008 -- n100009 ;
|
||||
}
|
||||
n5 -- n100000;
|
||||
n17 -- n100001;
|
||||
n17 -- n100002;
|
||||
n17 -- n100003;
|
||||
n7 -- n100004;
|
||||
n17 -- n100005;
|
||||
n17 -- n100006;
|
||||
n11 -- n100007;
|
||||
n13 -- n100008;
|
||||
n9 -- n100009;
|
||||
|
||||
}
|
||||
BIN
src/rukiga/_grphp_1.png
Normal file
BIN
src/rukiga/_grphp_1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 87 KiB |
873
src/rukiga/all_func.txt
Normal file
873
src/rukiga/all_func.txt
Normal file
@@ -0,0 +1,873 @@
|
||||
AAnter
|
||||
ASimul
|
||||
AdAP
|
||||
AdAdv
|
||||
AdNum
|
||||
AdVVP
|
||||
AdVVPSlash
|
||||
AddAdvQVP
|
||||
AdjCN
|
||||
AdjDAP
|
||||
AdjOrd
|
||||
AdnCAdv
|
||||
AdvAP
|
||||
AdvCN
|
||||
AdvIAdv
|
||||
AdvIP
|
||||
AdvNP
|
||||
AdvQVP
|
||||
AdvS
|
||||
AdvSlash
|
||||
AdvVP
|
||||
AdvVPSlash
|
||||
ApposCN
|
||||
BaseAP
|
||||
BaseAdV
|
||||
BaseAdv
|
||||
BaseCN
|
||||
BaseDAP
|
||||
BaseIAdv
|
||||
BaseNP
|
||||
BaseRS
|
||||
BaseS
|
||||
CAdvAP
|
||||
CleftAdv
|
||||
CleftNP
|
||||
CompAP
|
||||
CompAdv
|
||||
CompCN
|
||||
CompIAdv
|
||||
CompIP
|
||||
CompNP
|
||||
ComparA
|
||||
ComparAdvAdj
|
||||
ComparAdvAdjS
|
||||
ComplA2
|
||||
ComplN2
|
||||
ComplN3
|
||||
ComplSlash
|
||||
ComplSlashIP
|
||||
ComplVA
|
||||
ComplVQ
|
||||
ComplVS
|
||||
ComplVV
|
||||
ConjAP
|
||||
ConjAdV
|
||||
ConjAdv
|
||||
ConjCN
|
||||
ConjDet
|
||||
ConjIAdv
|
||||
ConjNP
|
||||
ConjRS
|
||||
ConjS
|
||||
ConsAP
|
||||
ConsAdV
|
||||
ConsAdv
|
||||
ConsCN
|
||||
ConsDAP
|
||||
ConsIAdv
|
||||
ConsNP
|
||||
ConsRS
|
||||
ConsS
|
||||
CountNP
|
||||
D_0
|
||||
D_1
|
||||
D_2
|
||||
D_3
|
||||
D_4
|
||||
D_5
|
||||
D_6
|
||||
D_7
|
||||
D_8
|
||||
D_9
|
||||
DefArt
|
||||
DetCN
|
||||
DetDAP
|
||||
DetNP
|
||||
DetQuant
|
||||
DetQuantOrd
|
||||
EmbedQS
|
||||
EmbedS
|
||||
EmbedVP
|
||||
ExistIP
|
||||
ExistIPAdv
|
||||
ExistNP
|
||||
ExistNPAdv
|
||||
ExtAdvNP
|
||||
ExtAdvS
|
||||
ExtAdvVP
|
||||
FunRP
|
||||
GenericCl
|
||||
IDig
|
||||
IIDig
|
||||
IdRP
|
||||
IdetCN
|
||||
IdetIP
|
||||
IdetQuant
|
||||
ImpP3
|
||||
ImpPl1
|
||||
ImpVP
|
||||
ImpersCl
|
||||
InLanguage
|
||||
IndefArt
|
||||
InflectionA
|
||||
InflectionA2
|
||||
InflectionAdv
|
||||
InflectionN
|
||||
InflectionN2
|
||||
InflectionN3
|
||||
InflectionPrep
|
||||
InflectionV
|
||||
InflectionV2
|
||||
InflectionV2A
|
||||
InflectionV2Q
|
||||
InflectionV2S
|
||||
InflectionV2V
|
||||
InflectionV3
|
||||
InflectionVA
|
||||
InflectionVQ
|
||||
InflectionVS
|
||||
InflectionVV
|
||||
MarkupAP
|
||||
MarkupAdv
|
||||
MarkupCN
|
||||
MarkupNP
|
||||
MarkupPhr
|
||||
MarkupS
|
||||
MarkupText
|
||||
MarkupUtt
|
||||
MassNP
|
||||
MkDefinition
|
||||
MkDefinitionEx
|
||||
MkDocument
|
||||
MkTag
|
||||
NoDefinition
|
||||
NoPConj
|
||||
NoVoc
|
||||
NumCard
|
||||
NumDigits
|
||||
NumNumeral
|
||||
NumPl
|
||||
NumSg
|
||||
OrdDigits
|
||||
OrdNumeral
|
||||
OrdNumeralSuperl
|
||||
OrdSuperl
|
||||
PConjConj
|
||||
PNeg
|
||||
PPartNP
|
||||
PPos
|
||||
PartNP
|
||||
PassV2
|
||||
PhrUtt
|
||||
PositA
|
||||
PositAdAAdj
|
||||
PositAdvAdj
|
||||
PossNP
|
||||
PossPron
|
||||
PredSCVP
|
||||
PredVP
|
||||
PredetNP
|
||||
PrepIP
|
||||
PrepNP
|
||||
ProgrVP
|
||||
QuestCl
|
||||
QuestIAdv
|
||||
QuestIComp
|
||||
QuestQVP
|
||||
QuestSlash
|
||||
QuestVP
|
||||
ReflA2
|
||||
ReflVP
|
||||
RelCN
|
||||
RelCl
|
||||
RelNP
|
||||
RelS
|
||||
RelSlash
|
||||
RelVP
|
||||
SSubjS
|
||||
SelfAdVVP
|
||||
SelfAdvVP
|
||||
SelfNP
|
||||
SentAP
|
||||
SentCN
|
||||
Slash2V3
|
||||
Slash3V3
|
||||
SlashPrep
|
||||
SlashV2A
|
||||
SlashV2Q
|
||||
SlashV2S
|
||||
SlashV2V
|
||||
SlashV2VNP
|
||||
SlashV2a
|
||||
SlashVP
|
||||
SlashVS
|
||||
SlashVV
|
||||
SubjS
|
||||
TCond
|
||||
TEmpty
|
||||
TExclMark
|
||||
TFullStop
|
||||
TFut
|
||||
TPast
|
||||
TPres
|
||||
TQuestMark
|
||||
TTAnt
|
||||
Use2N3
|
||||
Use3N3
|
||||
UseA2
|
||||
UseCl
|
||||
UseComp
|
||||
UseComparA
|
||||
UseCopula
|
||||
UseN
|
||||
UseN2
|
||||
UsePN
|
||||
UsePron
|
||||
UseQCl
|
||||
UseRCl
|
||||
UseSlash
|
||||
UseV
|
||||
UttAP
|
||||
UttAdv
|
||||
UttCN
|
||||
UttCard
|
||||
UttIAdv
|
||||
UttIP
|
||||
UttImpPl
|
||||
UttImpPol
|
||||
UttImpSg
|
||||
UttInterj
|
||||
UttNP
|
||||
UttQS
|
||||
UttS
|
||||
UttVP
|
||||
VPSlashPrep
|
||||
VocNP
|
||||
a_Mark
|
||||
above_Prep
|
||||
active2passive
|
||||
add_V3
|
||||
afrikaans_Language
|
||||
after_Prep
|
||||
airplane_N
|
||||
alas_Interj
|
||||
all_Predet
|
||||
almost_AdA
|
||||
almost_AdN
|
||||
already_Adv
|
||||
although_Subj
|
||||
always_AdV
|
||||
amharic_Language
|
||||
and_Conj
|
||||
animal_N
|
||||
answer_V2S
|
||||
apartment_N
|
||||
apple_N
|
||||
april_Month
|
||||
arabic_Language
|
||||
art_N
|
||||
as_CAdv
|
||||
ashes_N
|
||||
ask_V2Q
|
||||
at_least_AdN
|
||||
at_most_AdN
|
||||
august_Month
|
||||
b_Mark
|
||||
baby_N
|
||||
back_N
|
||||
bad_A
|
||||
bank_N
|
||||
bark_N
|
||||
beautiful_A
|
||||
because_Subj
|
||||
become_VA
|
||||
beer_N
|
||||
before_Prep
|
||||
beg_V2V
|
||||
behind_Prep
|
||||
belly_N
|
||||
between_Prep
|
||||
big_A
|
||||
bike_N
|
||||
bird_N
|
||||
bite_V2
|
||||
black_A
|
||||
blood_N
|
||||
blow_V
|
||||
blue_A
|
||||
boat_N
|
||||
bone_N
|
||||
book_N
|
||||
boot_N
|
||||
boss_N
|
||||
both7and_DConj
|
||||
bottle_of_CN
|
||||
boy_N
|
||||
bread_N
|
||||
break_V2
|
||||
breast_N
|
||||
breathe_V
|
||||
broad_A
|
||||
brother_N2
|
||||
brown_A
|
||||
bulgarian_Language
|
||||
burn_V
|
||||
but_PConj
|
||||
butter_N
|
||||
buy_V2
|
||||
by8agent_Prep
|
||||
by8means_Prep
|
||||
camera_N
|
||||
can8know_VV
|
||||
can_VV
|
||||
cap_N
|
||||
car_N
|
||||
carpet_N
|
||||
cat_N
|
||||
catalan_Language
|
||||
ceiling_N
|
||||
chair_N
|
||||
cheese_N
|
||||
child_N
|
||||
chinese_Language
|
||||
church_N
|
||||
city_N
|
||||
clean_A
|
||||
clever_A
|
||||
close_V2
|
||||
cloud_N
|
||||
coat_N
|
||||
cold_A
|
||||
come_V
|
||||
computer_N
|
||||
correct_A
|
||||
count_V2
|
||||
country_N
|
||||
cousin_N
|
||||
cow_N
|
||||
cup_of_CN
|
||||
cut_V2
|
||||
danish_Language
|
||||
dayMonthAdv
|
||||
dayMonthYearAdv
|
||||
day_N
|
||||
day_Timeunit
|
||||
dconcat
|
||||
december_Month
|
||||
die_V
|
||||
dig_V
|
||||
digits2num
|
||||
digits2numeral
|
||||
dirty_A
|
||||
distance_N3
|
||||
dn
|
||||
dn10
|
||||
dn100
|
||||
dn1000
|
||||
dn1000000a
|
||||
dn1000000b
|
||||
dn1000000c
|
||||
do_V2
|
||||
doctor_N
|
||||
dog_N
|
||||
door_N
|
||||
drink_V2
|
||||
dry_A
|
||||
dull_A
|
||||
during_Prep
|
||||
dust_N
|
||||
dutch_Language
|
||||
ear_N
|
||||
earth_N
|
||||
easy_A2V
|
||||
eat_V2
|
||||
egg_N
|
||||
eightHour
|
||||
eighteenHour
|
||||
either7or_DConj
|
||||
elevenHour
|
||||
empty_A
|
||||
enemy_N
|
||||
english_Language
|
||||
estonian_Language
|
||||
every_Det
|
||||
everybody_NP
|
||||
everything_NP
|
||||
everywhere_Adv
|
||||
except_Prep
|
||||
eye_N
|
||||
factory_N
|
||||
fall_V
|
||||
far_Adv
|
||||
fat_N
|
||||
father_N2
|
||||
fear_V2
|
||||
fear_VS
|
||||
feather_N
|
||||
february_Month
|
||||
few_Det
|
||||
few_X_short_of_Y
|
||||
fifteenHour
|
||||
fight_V2
|
||||
find_V2
|
||||
fingernail_N
|
||||
finnish_Language
|
||||
fire_N
|
||||
fish_N
|
||||
fiveHour
|
||||
float_V
|
||||
floor_N
|
||||
flow_V
|
||||
flower_N
|
||||
fly_V
|
||||
fog_N
|
||||
foot_N
|
||||
for_Prep
|
||||
forest_N
|
||||
forget_V2
|
||||
fourHour
|
||||
fourteenHour
|
||||
freeze_V
|
||||
french_Language
|
||||
friday_Weekday
|
||||
fridge_N
|
||||
friend_N
|
||||
from_Prep
|
||||
fruit_N
|
||||
full_A
|
||||
fun_AV
|
||||
garden_N
|
||||
german_Language
|
||||
girl_N
|
||||
give_V3
|
||||
glass_of_CN
|
||||
glove_N
|
||||
go_V
|
||||
gold_N
|
||||
good_A
|
||||
grammar_N
|
||||
grass_N
|
||||
greek_Language
|
||||
green_A
|
||||
guts_N
|
||||
h1_Mark
|
||||
h2_Mark
|
||||
hair_N
|
||||
hand_N
|
||||
harbour_N
|
||||
has_age_VP
|
||||
hat_N
|
||||
hate_V2
|
||||
have_V2
|
||||
have_name_Cl
|
||||
he_Pron
|
||||
head_N
|
||||
hear_V2
|
||||
heart_N
|
||||
heavy_A
|
||||
hebrew_Language
|
||||
here7from_Adv
|
||||
here7to_Adv
|
||||
here_Adv
|
||||
hill_N
|
||||
hindi_Language
|
||||
hit_V2
|
||||
hold_V2
|
||||
hope_VS
|
||||
horn_N
|
||||
horse_N
|
||||
hot_A
|
||||
hour_Timeunit
|
||||
house_N
|
||||
how8many_IDet
|
||||
how8much_IAdv
|
||||
how_IAdv
|
||||
how_far_QCl
|
||||
how_old_QCl
|
||||
hungry_VP
|
||||
hunt_V2
|
||||
husband_N
|
||||
i_Mark
|
||||
i_Pron
|
||||
ice_N
|
||||
if_Subj
|
||||
if_then_Conj
|
||||
ill_VP
|
||||
important_A
|
||||
in8front_Prep
|
||||
in_Prep
|
||||
industry_N
|
||||
intMonthday
|
||||
intYear
|
||||
iron_N
|
||||
is_right_VP
|
||||
is_wrong_VP
|
||||
it_Pron
|
||||
italian_Language
|
||||
january_Month
|
||||
japanese_Language
|
||||
john_PN
|
||||
july_Month
|
||||
jump_V
|
||||
june_Month
|
||||
kill_V2
|
||||
king_N
|
||||
knee_N
|
||||
know_V2
|
||||
know_VQ
|
||||
know_VS
|
||||
lake_N
|
||||
lamp_N
|
||||
languageCN
|
||||
languageNP
|
||||
language_N
|
||||
language_title_Utt
|
||||
latin_Language
|
||||
latvian_Language
|
||||
laugh_V
|
||||
leaf_N
|
||||
learn_V2
|
||||
leather_N
|
||||
leave_V2
|
||||
left_Ord
|
||||
leg_N
|
||||
less_CAdv
|
||||
li_Mark
|
||||
lie_V
|
||||
like_V2
|
||||
listen_V2
|
||||
live_V
|
||||
liver_N
|
||||
long_A
|
||||
lose_V2
|
||||
louse_N
|
||||
love_N
|
||||
love_V2
|
||||
maltese_Language
|
||||
man_N
|
||||
many_Det
|
||||
march_Month
|
||||
married_A2
|
||||
married_Cl
|
||||
may_Month
|
||||
meat_N
|
||||
milk_N
|
||||
minute_Timeunit
|
||||
monday_Weekday
|
||||
monthAdv
|
||||
monthN
|
||||
monthPN
|
||||
monthYearAdv
|
||||
month_Timeunit
|
||||
moon_N
|
||||
more_CAdv
|
||||
most_Predet
|
||||
mother_N2
|
||||
mountain_N
|
||||
mouth_N
|
||||
much_Det
|
||||
music_N
|
||||
must_VV
|
||||
n2
|
||||
n3
|
||||
n4
|
||||
n5
|
||||
n6
|
||||
n7
|
||||
n8
|
||||
n9
|
||||
n_units_AP
|
||||
n_units_of_NP
|
||||
name_N
|
||||
narrow_A
|
||||
nd
|
||||
nd10
|
||||
nd100
|
||||
nd1000
|
||||
nd1000000
|
||||
near_A
|
||||
neck_N
|
||||
nepali_Language
|
||||
new_A
|
||||
newspaper_N
|
||||
night_N
|
||||
nineHour
|
||||
nineteenHour
|
||||
no_Quant
|
||||
no_Utt
|
||||
nobody_NP
|
||||
norwegian_Language
|
||||
nose_N
|
||||
not_Predet
|
||||
nothing_NP
|
||||
november_Month
|
||||
now_Adv
|
||||
num
|
||||
num2digits
|
||||
number_N
|
||||
october_Month
|
||||
oil_N
|
||||
old_A
|
||||
on_Prep
|
||||
oneHour
|
||||
only_Predet
|
||||
open_V2
|
||||
or_Conj
|
||||
otherwise_PConj
|
||||
p_Mark
|
||||
paint_V2A
|
||||
paper_N
|
||||
paris_PN
|
||||
part_Prep
|
||||
peace_N
|
||||
pen_N
|
||||
persian_Language
|
||||
person_N
|
||||
planet_N
|
||||
plastic_N
|
||||
play_V
|
||||
play_V2
|
||||
please_Voc
|
||||
policeman_N
|
||||
polish_Language
|
||||
possess_Prep
|
||||
pot0
|
||||
pot01
|
||||
pot0as1
|
||||
pot1
|
||||
pot110
|
||||
pot111
|
||||
pot1as2
|
||||
pot1plus
|
||||
pot1to19
|
||||
pot2
|
||||
pot2as3
|
||||
pot2plus
|
||||
pot3
|
||||
pot3plus
|
||||
priest_N
|
||||
probable_AS
|
||||
pull_V2
|
||||
punjabi_Language
|
||||
push_V2
|
||||
put_V2
|
||||
queen_N
|
||||
question_N
|
||||
quite_Adv
|
||||
radio_N
|
||||
rain_N
|
||||
rain_V0
|
||||
read_V2
|
||||
ready_A
|
||||
ready_VP
|
||||
reason_N
|
||||
red_A
|
||||
religion_N
|
||||
restaurant_N
|
||||
right_Ord
|
||||
river_N
|
||||
road_N
|
||||
rock_N
|
||||
romanian_Language
|
||||
roof_N
|
||||
root_N
|
||||
rope_N
|
||||
rotten_A
|
||||
round_A
|
||||
rub_V2
|
||||
rubber_N
|
||||
rule_N
|
||||
run_V
|
||||
russian_Language
|
||||
salt_N
|
||||
sand_N
|
||||
saturday_Weekday
|
||||
say_VS
|
||||
scared_VP
|
||||
school_N
|
||||
science_N
|
||||
scratch_V2
|
||||
sea_N
|
||||
second_Timeunit
|
||||
see_V2
|
||||
seed_N
|
||||
seek_V2
|
||||
sell_V3
|
||||
send_V3
|
||||
september_Month
|
||||
sevenHour
|
||||
seventeenHour
|
||||
sew_V
|
||||
sharp_A
|
||||
she_Pron
|
||||
sheep_N
|
||||
ship_N
|
||||
shirt_N
|
||||
shoe_N
|
||||
shop_N
|
||||
short_A
|
||||
silver_N
|
||||
sindhi_Language
|
||||
sing_V
|
||||
sister_N
|
||||
sit_V
|
||||
sixHour
|
||||
sixteenHour
|
||||
skin_N
|
||||
sky_N
|
||||
sleep_V
|
||||
small_A
|
||||
smell_V
|
||||
smoke_N
|
||||
smooth_A
|
||||
snake_N
|
||||
snow_N
|
||||
so_AdA
|
||||
sock_N
|
||||
somePl_Det
|
||||
someSg_Det
|
||||
somebody_NP
|
||||
something_NP
|
||||
somewhere_Adv
|
||||
song_N
|
||||
spanish_Language
|
||||
speak_V2
|
||||
spit_V
|
||||
split_V2
|
||||
squeeze_V2
|
||||
stab_V2
|
||||
stand_V
|
||||
star_N
|
||||
steel_N
|
||||
stick_N
|
||||
stone_N
|
||||
stop_V
|
||||
stove_N
|
||||
straight_A
|
||||
student_N
|
||||
stupid_A
|
||||
suck_V2
|
||||
sun_N
|
||||
sunday_Weekday
|
||||
swahili_Language
|
||||
swedish_Language
|
||||
swell_V
|
||||
swim_V
|
||||
switch8off_V2
|
||||
switch8on_V2
|
||||
table_Mark
|
||||
table_N
|
||||
tail_N
|
||||
talk_V3
|
||||
td_Mark
|
||||
teach_V2
|
||||
teacher_N
|
||||
television_N
|
||||
tenHour
|
||||
thai_Language
|
||||
that_Quant
|
||||
that_Subj
|
||||
there7from_Adv
|
||||
there7to_Adv
|
||||
there_Adv
|
||||
therefore_PConj
|
||||
they_Pron
|
||||
thick_A
|
||||
thin_A
|
||||
think_V
|
||||
thirsty_VP
|
||||
thirteenHour
|
||||
this_Quant
|
||||
threeHour
|
||||
through_Prep
|
||||
throw_V2
|
||||
thursday_Weekday
|
||||
tie_V2
|
||||
timeHour
|
||||
timeHourMinute
|
||||
timeunitAdv
|
||||
tired_VP
|
||||
to_Prep
|
||||
today_Adv
|
||||
tongue_N
|
||||
too_AdA
|
||||
tooth_N
|
||||
tr_Mark
|
||||
train_N
|
||||
travel_V
|
||||
tree_N
|
||||
tuesday_Weekday
|
||||
turkish_Language
|
||||
turn_V
|
||||
twelveHour
|
||||
twentyFourHour
|
||||
twentyHour
|
||||
twentyOneHour
|
||||
twentyThreeHour
|
||||
twentyTwoHour
|
||||
twoHour
|
||||
ugly_A
|
||||
ul_Mark
|
||||
uncertain_A
|
||||
under_Prep
|
||||
understand_V2
|
||||
university_N
|
||||
urdu_Language
|
||||
very_AdA
|
||||
village_N
|
||||
vomit_V
|
||||
wait_V2
|
||||
walk_V
|
||||
want_VV
|
||||
war_N
|
||||
warm_A
|
||||
wash_V2
|
||||
watch_V2
|
||||
water_N
|
||||
we_Pron
|
||||
weather_adjCl
|
||||
wednesday_Weekday
|
||||
week_Timeunit
|
||||
weekdayHabitualAdv
|
||||
weekdayLastAdv
|
||||
weekdayN
|
||||
weekdayNextAdv
|
||||
weekdayPN
|
||||
weekdayPunctualAdv
|
||||
wet_A
|
||||
whatPl_IP
|
||||
whatSg_IP
|
||||
what_name_QCl
|
||||
when_IAdv
|
||||
when_Subj
|
||||
where_IAdv
|
||||
which_IQuant
|
||||
white_A
|
||||
whoPl_IP
|
||||
whoSg_IP
|
||||
why_IAdv
|
||||
wide_A
|
||||
wife_N
|
||||
win_V2
|
||||
wind_N
|
||||
window_N
|
||||
wine_N
|
||||
wing_N
|
||||
wipe_V2
|
||||
with_Prep
|
||||
without_Prep
|
||||
woman_N
|
||||
wonder_VQ
|
||||
wood_N
|
||||
worm_N
|
||||
write_V2
|
||||
yearAdv
|
||||
year_N
|
||||
year_Timeunit
|
||||
yellow_A
|
||||
yes_Utt
|
||||
youPl_Pron
|
||||
youPol_Pron
|
||||
youSg_Pron
|
||||
young_A
|
||||
198
src/rukiga/cgg-eng-treebank.txt
Normal file
198
src/rukiga/cgg-eng-treebank.txt
Normal file
@@ -0,0 +1,198 @@
|
||||
Lang: PhrUtt NoPConj (UttNP (AdvNP (DetCN (DetQuant DefArt NumPl) (UseN child_N)) (SubjS when_Subj (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron we_Pron) (ComplSlash (SlashV2a see_V2) (UsePron they_Pron))))))) NoVoc
|
||||
LangEng: the children when we see them
|
||||
LangCgg: abaana [SubjS]
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2a have_V2) (DetCN (DetQuant IndefArt NumSg) (SentCN (UseN reason_N) (EmbedVP (UseV go_V)))))))) NoVoc
|
||||
LangEng: I have a reason to go
|
||||
LangCgg: nyowe nine[SentCN]
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2a like_V2) (DetCN (DetQuant DefArt NumSg) (SentCN (UseN rule_N) (EmbedS (UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant DefArt NumPl) (UseN book_N)) (UseComp (CompAP (PositA thin_A)))))))))))) NoVoc
|
||||
LangEng: I like the rule that the books are thin
|
||||
LangCgg: nyowe n[like_V2][SentCN]
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2a see_V2) (DetCN (DetQuant DefArt NumSg) (RelCN (UseN man_N) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash IdRP (SlashVP (UsePron youSg_Pron) (SlashV2a love_V2)))))))))) NoVoc
|
||||
LangEng: I saw the man that you love
|
||||
LangCgg: nyowe nreebire omushaija iwe oukûnda
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2a see_V2) (DetCN (DetQuant DefArt NumSg) (RelCN (UseN book_N) (UseRCl (TTAnt TPast ASimul) PPos (RelSlash IdRP (SlashVP (UsePron youSg_Pron) (SlashV2a buy_V2)))))))))) NoVoc
|
||||
LangEng: I saw the book that you bought
|
||||
LangCgg: nyowe nreebire ekitabo iwe ougurire
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (DetCN (DetQuant DefArt NumSg) (UseN cat_N)) (AdvVP (UseV jump_V) (SubjS when_Subj (UseCl (TTAnt TPast ASimul) PPos (PredVP (DetCN (DetQuant DefArt NumSg) (UseN dog_N)) (UseV come_V)))))))) NoVoc
|
||||
LangEng: the cat jumped when the dog came
|
||||
LangCgg: enjangu egurukire [SubjS]
|
||||
Lang: PhrUtt NoPConj (UttS (ExtAdvS (SubjS if_Subj (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron youSg_Pron) (ComplVQ know_VQ (UseQCl (TTAnt TPast ASimul) PPos (QuestVP whoSg_IP (ComplSlash (SlashV2a do_V2) (UsePron it_Pron)))))))) (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron youSg_Pron) (ComplVV must_VV (UseV go_V)))))) NoVoc
|
||||
LangEng: if you know who did it , you must go
|
||||
LangCgg: [ExtAdvS]
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron he_Pron) (AdvVP (UseComp (CompAP (PositA ready_A))) (SubjS when_Subj (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2a see_V2) (UsePron he_Pron))))))))) NoVoc
|
||||
LangEng: he was ready when I saw him
|
||||
LangCgg: uwe akaba [SubjS]
|
||||
Lang: PhrUtt NoPConj (UttCN (AdjCN (AdAP (PositAdAAdj clever_A) (PositA correct_A)) (UseN rule_N))) NoVoc
|
||||
LangEng: cleverly correct rule
|
||||
LangCgg: [rule_N] omu[correct_A] [PositAdAAdj]
|
||||
Lang: PhrUtt NoPConj (UttAdv (ComparAdvAdj less_CAdv probable_AS (UsePN john_PN))) NoVoc
|
||||
LangEng: less probably than John
|
||||
LangCgg: [ComparAdvAdj]
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePN john_PN) (ComplSlash (SlashV2a eat_V2) (MassNP (AdjCN (PositA red_A) (UseN meat_N))))))) NoVoc
|
||||
LangEng: John eats red meat
|
||||
LangCgg: Yohana ary[meat_N] omuríkutukura
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres AAnter) PPos (PredVP (UsePN john_PN) (UseV die_V)))) NoVoc
|
||||
LangEng: John has died
|
||||
LangCgg: Yohana a[die_V][die_V]
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron he_Pron) (ComplVV must_VV (UseV go_V))))) NoVoc
|
||||
LangEng: he must go
|
||||
LangCgg: uwe ashemereire kugyenda
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres AAnter) PPos (PredVP (UsePN john_PN) (PassV2 kill_V2)))) NoVoc
|
||||
LangEng: John has been killed
|
||||
LangCgg: Yohana a[PassV2][PassV2] [PassV2]
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePN john_PN) (PassV2 kill_V2)))) NoVoc
|
||||
LangEng: John was killed
|
||||
LangCgg: Yohana a[PassV2][PassV2] [PassV2]
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2a see_V2) (DetCN (DetQuant IndefArt NumSg) (AdvCN (UseN cat_N) (PrepNP in_Prep (DetCN (DetQuant IndefArt NumSg) (UseN hat_N))))))))) NoVoc
|
||||
LangEng: I saw a cat in a hat
|
||||
LangCgg: nyowe nreebire enjangu omu [hat_N]
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron i_Pron) (AdvVP (ComplSlash (SlashV2a see_V2) (DetCN (DetQuant IndefArt NumSg) (UseN cat_N))) (PrepNP with_Prep (DetCN (DetQuant (PossPron i_Pron) NumPl) (UseN eye_N))))))) NoVoc
|
||||
LangEng: I saw a cat with my eyes
|
||||
LangCgg: nyowe nreebire na [eye_N] ba
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron he_Pron) (UseComp (CompAP (ComplA2 married_A2 (UsePron she_Pron))))))) NoVoc
|
||||
LangEng: he is married to her
|
||||
LangCgg: uwe aba a[ComplA2]
|
||||
Lang: PhrUtt (PConjConj and_Conj) (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron we_Pron) (UseV go_V)))) NoVoc
|
||||
LangEng: and we went
|
||||
LangCgg: [PConjConj] itwe tugyendire
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (ConjNP both7and_DConj (BaseNP (DetCN (DetQuant DefArt NumPl) (UseN boy_N)) (DetCN (DetQuant DefArt NumPl) (UseN girl_N)))) (UseComp (CompAdv here_Adv))))) NoVoc
|
||||
LangEng: both the boys and the girls are here
|
||||
LangCgg: [ConjNP] aba hanu
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron he_Pron) (ComplVS say_VS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron youSg_Pron) (ComplVV want_VV (UseV swim_V)))))))) NoVoc
|
||||
LangEng: he says that you want to swim
|
||||
LangCgg: uwe agiiwe oyendda kuoga
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (UseComp (CompAP (SentAP (PositA uncertain_A) (EmbedS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron he_Pron) (ComplSlash (SlashV2a do_V2) (UsePron it_Pron))))))))))) NoVoc
|
||||
LangEng: I am uncertain that he did it
|
||||
LangCgg: nyowe nba n[SentAP]
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2a have_V2) (DetCN (DetQuant IndefArt (NumCard (NumNumeral (num (pot3 (pot1as2 (pot0as1 (pot0 n4)))))))) (UseN sheep_N)))))) NoVoc
|
||||
LangEng: I have four thousand sheep
|
||||
LangCgg: nyowe nine[sheep_N] enkumi ina
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron they_Pron) (ComplSlash (SlashV2a switch8off_V2) (DetCN (DetQuant DefArt NumSg) (UseN television_N)))))) NoVoc
|
||||
LangEng: they switch off the television
|
||||
LangCgg: [they_Pron] ki[switch8off_V2][television_N]
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePN john_PN) (UseComp (CompAP (ConjAP and_Conj (BaseAP (PositA big_A) (PositA clever_A)))))))) NoVoc
|
||||
LangEng: John is big and clever
|
||||
LangCgg: Yohana aba a[ConjAP]
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePN john_PN) (UseComp (CompCN (AdjCN (PositA clever_A) (UseN man_N))))))) NoVoc
|
||||
LangEng: John is a clever man
|
||||
LangCgg: Yohana aba omushaija omu[clever_A]
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePN john_PN) (UseComp (CompAdv (PrepNP from_Prep (DetCN (DetQuant DefArt NumSg) (UseN city_N)))))))) NoVoc
|
||||
LangEng: John is from the city
|
||||
LangCgg: Yohana aba kurunga ekibúga
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePN john_PN) (UseComp (CompAP (PositA clever_A)))))) NoVoc
|
||||
LangEng: John is clever
|
||||
LangCgg: Yohana aba a[clever_A]
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron it_Pron) (UseComp (CompAdv today_Adv))))) NoVoc
|
||||
LangEng: it was today
|
||||
LangCgg: kyo kikaba [today_Adv]
|
||||
Lang: PhrUtt NoPConj (UttQS (UseQCl (TTAnt TPres ASimul) PPos (QuestIComp (CompIP whatSg_IP) (DetNP (DetQuant that_Quant NumSg))))) NoVoc
|
||||
LangEng: what is that
|
||||
LangCgg: ekyokiri ki
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron it_Pron) (UseComp (CompAdv (SubjS because_Subj (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePN john_PN) (UseComp (CompAP (PositA clever_A))))))))))) NoVoc
|
||||
LangEng: it was because John is clever
|
||||
LangCgg: kyo kikaba [SubjS]
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePN john_PN) (ComplVA become_VA (PositA clever_A))))) NoVoc
|
||||
LangEng: John became clever
|
||||
LangCgg: Yohana abire a
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePN john_PN) (ProgrVP (UseV sleep_V))))) NoVoc
|
||||
LangEng: John is sleeping
|
||||
LangCgg: Yohana a[ProgrVP][ProgrVP]
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (ExistNPAdv (DetCN (DetQuant IndefArt NumSg) (UseN cow_N)) (PrepNP in_Prep (DetCN (DetQuant DefArt NumSg) (UseN forest_N)))))) NoVoc
|
||||
LangEng: there is a cow in the forest
|
||||
LangCgg: [ExistNPAdv] a[ExistNPAdv][ExistNPAdv]
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredSCVP (EmbedQS (UseQCl (TTAnt TPast ASimul) PPos (QuestSlash whatSg_IP (SlashVP (UsePron she_Pron) (SlashV2a do_V2))))) (UseComp (CompAP (PositA important_A)))))) NoVoc
|
||||
LangEng: what she did is important
|
||||
LangCgg: [PredSCVP] a[PredSCVP][PredSCVP]
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredSCVP (EmbedS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron she_Pron) (UseV sleep_V)))) (AdvVP (PassV2 see_V2) (PrepNP by8agent_Prep (DetNP every_Det)))))) NoVoc
|
||||
LangEng: that she slept was seen by everything
|
||||
LangCgg: [PredSCVP] a[PredSCVP][PredSCVP] [PredSCVP]
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant DefArt NumSg) (UseN man_N)) (UseComp (CompAdv here_Adv))))) NoVoc
|
||||
LangEng: the man is here
|
||||
LangCgg: omushaija aba hanu
|
||||
Lang: PhrUtt NoPConj (UttQS (UseQCl (TTAnt TPres ASimul) PPos (QuestSlash (IdetCN (IdetQuant which_IQuant NumSg) (UseN book_N)) (SlashVP (UsePron youSg_Pron) (SlashV2a like_V2))))) NoVoc
|
||||
LangEng: which book do you like
|
||||
LangCgg:
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (PredetNP all_Predet (DetCN (DetQuant DefArt NumPl) (UseN boy_N))) (UseComp (CompAdv here_Adv))))) NoVoc
|
||||
LangEng: all the boys are here
|
||||
LangCgg: abojo boòna baba hanu
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron she_Pron) (ComplSlash (Slash2V3 give_V3 (UsePron i_Pron)) (DetCN (DetQuant IndefArt NumSg) (UseN apple_N)))))) NoVoc
|
||||
LangEng: she gave me an apple
|
||||
LangCgg: uwe ahééreize nyowe apple
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (ExistNPAdv (DetCN (DetQuant IndefArt NumSg) (UseN cat_N)) (PrepNP in_Prep (DetCN (DetQuant DefArt NumSg) (UseN house_N)))))) NoVoc
|
||||
LangEng: there is a cat in the house
|
||||
LangCgg: [ExistNPAdv] a[ExistNPAdv][ExistNPAdv]
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron she_Pron) (ComplSlash (Slash2V3 give_V3 (UsePron i_Pron)) (DetCN (DetQuant IndefArt NumSg) (UseN apple_N)))))) NoVoc
|
||||
LangEng: she gave me an apple
|
||||
LangCgg: uwe ahééreize nyowe apple
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (DetCN (DetQuant IndefArt NumPl) (UseN boy_N)) (AdvVP (ProgrVP (UseV swim_V)) (SubjS when_Subj (UseCl (TTAnt TPast ASimul) PPos (PredVP (DetCN (DetQuant DefArt NumPl) (UseN girl_N)) (UseV come_V)))))))) NoVoc
|
||||
LangEng: boys were swimming when the girls came
|
||||
LangCgg: abojo ba[ProgrVP][ProgrVP] [SubjS]
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron he_Pron) (ComplVS say_VS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron youSg_Pron) (ComplVV want_VV (UseV swim_V)))))))) NoVoc
|
||||
LangEng: he says that you want to swim
|
||||
LangCgg: uwe agiiwe oyendda kuoga
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron i_Pron) (ComplVV want_VV (ComplSlash (SlashV2a eat_V2) (UsePron it_Pron)))))) NoVoc
|
||||
LangEng: I wanted to eat it
|
||||
LangCgg: nyowe nkayendda kurya kyo
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePN john_PN) (UseComp (CompNP (PredetNP not_Predet (DetCN (DetQuant IndefArt NumSg) (UseN doctor_N)))))))) NoVoc
|
||||
LangEng: John is not a doctor
|
||||
LangCgg: Yohana aba [doctor_N] ti
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PNeg (PredVP (UsePN john_PN) (UseV laugh_V)))) NoVoc
|
||||
LangEng: John doesn't laugh
|
||||
LangCgg: Yohana tia[laugh_V][laugh_V]
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePN john_PN) (ComplSlash (SlashV2a see_V2) (DetCN (DetQuant no_Quant NumPl) (UseN animal_N)))))) NoVoc
|
||||
LangEng: John saw no animals
|
||||
LangCgg: Yohana areebire enyamaishwa
|
||||
Lang: PhrUtt NoPConj (UttNP (DetCN (DetQuant DefArt NumSg) (PossNP (UseN house_N) (DetCN (DetQuant DefArt NumSg) (UseN doctor_N))))) NoVoc
|
||||
LangEng: the house of the doctor
|
||||
LangCgg: enju wa[doctor_N]
|
||||
Lang: PhrUtt NoPConj (UttImpSg PPos (ImpVP (ComplSlash (Slash2V3 send_V3 (DetCN (DetQuant DefArt NumPl) (UseN apple_N))) (DetCN (DetQuant DefArt NumPl) (UseN child_N))))) NoVoc
|
||||
LangEng: send the apples to the children
|
||||
LangCgg: tuma apple abaana
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant DefArt NumSg) (UseN boy_N)) (has_age_VP (NumDigits (IDig D_6)))))) NoVoc
|
||||
LangEng: the boy is 6 years old
|
||||
LangCgg: omwojo a[has_age_VP][has_age_VP]
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant DefArt NumSg) (UseN science_N)) (SelfAdVVP (UseComp (CompAP (PositA important_A))))))) NoVoc
|
||||
LangEng: the science is itself important
|
||||
LangCgg: [science_N] a[SelfAdVVP][SelfAdVVP]
|
||||
Lang: PhrUtt NoPConj (UttS (ExtAdvS today_Adv (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron i_Pron) (AdvVP (UseV swim_V) (PrepNP in_Prep (DetCN (DetQuant DefArt NumSg) (UseN sea_N)))))))) NoVoc
|
||||
LangEng: today , I swam in the sea
|
||||
LangCgg: [ExtAdvS]
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron youSg_Pron) (AdvVP (ComplVV must_VV (ComplSlash (SlashV2a read_V2) (DetCN (DetQuant DefArt NumSg) (UseN book_N)))) (PrepNP before_Prep (UsePN (weekdayPN monday_Weekday))))))) NoVoc
|
||||
LangEng: you must read the book before Monday
|
||||
LangCgg:
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePN john_PN) (ComplSlash (SlashV2a kill_V2) (UsePron he_Pron))))) NoVoc
|
||||
LangEng: John killed him
|
||||
LangCgg: Yohana aitire uwe
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron he_Pron) (AdvVP (PassV2 kill_V2) (PrepNP by8agent_Prep (UsePN john_PN)))))) NoVoc
|
||||
LangEng: he was killed by John
|
||||
LangCgg: uwe a[PassV2][PassV2] [by8agent_Prep] Yohana
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePN john_PN) (ComplSlash (SlashV2a eat_V2) (DetCN (DetQuant IndefArt (NumCard (NumDigits (IDig D_3)))) (UseN sheep_N)))))) NoVoc
|
||||
LangEng: John ate 3 sheep
|
||||
LangCgg: Yohana aryire [sheep_N] 3
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePN john_PN) (ComplSlash (SlashV2a find_V2) (DetCN (DetQuant IndefArt (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot1 n4))))))) (UseN cat_N)))))) NoVoc
|
||||
LangEng: John found forty cats
|
||||
LangCgg: Yohana abonire enjangu ana
|
||||
Lang: TExclMark (PhrUtt NoPConj (UttImpSg PPos (ImpVP (AdvVP (UseV go_V) (PrepNP to_Prep (DetCN (DetQuant DefArt NumSg) (UseN house_N)))))) NoVoc) TEmpty
|
||||
LangEng: go to the house !
|
||||
LangCgg: gyenda aha enju !
|
||||
Lang: TFullStop (PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2a love_V2) (DetCN (DetQuant IndefArt NumPl) (AdjCN (PositA red_A) (UseN apple_N))))))) NoVoc) TEmpty
|
||||
LangEng: I love red apples .
|
||||
LangCgg: nyowe nkûndapple eziríkutukura .
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePN john_PN) (UseComp (CompNP (DetCN (DetQuant IndefArt NumSg) (AdjCN (PositA clever_A) (UseN man_N)))))))) NoVoc
|
||||
LangEng: John is a clever man
|
||||
LangCgg: Yohana aba omushaija omu[clever_A]
|
||||
Lang: PhrUtt NoPConj (UttImpSg PPos (ImpVP (AdvVP (UseV come_V) here_Adv))) (VocNP (DetCN (DetQuant IndefArt NumPl) (UseN boy_N)))
|
||||
LangEng: come here , boys
|
||||
LangCgg: ija hanu [VocNP]
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron he_Pron) (ComplVS say_VS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron youSg_Pron) (ComplVV want_VV (UseV swim_V)))))))) NoVoc
|
||||
LangEng: he says that you want to swim
|
||||
LangCgg: uwe agiiwe oyendda kuoga
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron she_Pron) (ComplSlash (SlashV2V beg_V2V (ComplSlash (SlashV2a find_V2) (DetCN (DetQuant (PossPron she_Pron) NumSg) (UseN dog_N)))) (UsePN john_PN))))) NoVoc
|
||||
LangEng: she begged John to find her dog
|
||||
LangCgg: uwe a[SlashV2V][SlashV2V] [SlashV2V] Yohana
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2A paint_V2A (PositA red_A)) (UsePron it_Pron))))) NoVoc
|
||||
LangEng: I paint it red
|
||||
LangCgg: nyowe n[SlashV2A][SlashV2A] kyo
|
||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron she_Pron) (ComplVA become_VA (AdAP very_AdA (PositA beautiful_A)))))) NoVoc
|
||||
LangEng: she becomes very beautiful
|
||||
LangCgg: uwe aba
|
||||
5
src/rukiga/file1.txt
Normal file
5
src/rukiga/file1.txt
Normal file
@@ -0,0 +1,5 @@
|
||||
lines1
|
||||
lines2
|
||||
lines8
|
||||
lines7
|
||||
lines10
|
||||
4
src/rukiga/file2.txt
Normal file
4
src/rukiga/file2.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
lines3
|
||||
lines4
|
||||
lines11
|
||||
lines8
|
||||
728
src/rukiga/implemented_func_lines.txt
Normal file
728
src/rukiga/implemented_func_lines.txt
Normal file
@@ -0,0 +1,728 @@
|
||||
AdAdv
|
||||
AddAdvQVP
|
||||
AdnCAdv
|
||||
AdvAP
|
||||
AdvIAdv
|
||||
AdvIP
|
||||
AdvQVP
|
||||
AdvS
|
||||
AdvSlash
|
||||
BaseAP
|
||||
BaseAdV
|
||||
BaseAdv
|
||||
BaseCN
|
||||
BaseDAP
|
||||
BaseIAdv
|
||||
BaseNP
|
||||
BaseRS
|
||||
BaseS
|
||||
CAdvAP
|
||||
CleftAdv
|
||||
CleftNP
|
||||
ComparA
|
||||
ComparAdvAdj
|
||||
ComparAdvAdjS
|
||||
ComplA
|
||||
ComplSlashIP
|
||||
ConjAP
|
||||
ConjAdV
|
||||
ConjAdv
|
||||
ConjCN
|
||||
ConjDet
|
||||
ConjIAdv
|
||||
ConjNP
|
||||
ConjRS
|
||||
ConjS
|
||||
ConsAP
|
||||
ConsAdV
|
||||
ConsAdv
|
||||
ConsCN
|
||||
ConsDAP
|
||||
ConsIAdv
|
||||
ConsNP
|
||||
ConsRS
|
||||
ConsS
|
||||
EmbedQS
|
||||
EmbedS
|
||||
EmbedVP
|
||||
ExistIP
|
||||
ExistIPAdv
|
||||
ExistNP
|
||||
ExistNPAdv
|
||||
ExtAdvS
|
||||
ExtAdvVP
|
||||
FunRP
|
||||
GenericCl
|
||||
IdetQuant
|
||||
ImpP
|
||||
ImpPl
|
||||
ImpersCl
|
||||
InLanguage
|
||||
InflectionA
|
||||
InflectionA
|
||||
InflectionAdv
|
||||
InflectionN
|
||||
InflectionN
|
||||
InflectionN
|
||||
InflectionPrep
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionVA
|
||||
InflectionVQ
|
||||
InflectionVS
|
||||
InflectionVV
|
||||
MarkupAP
|
||||
MarkupAdv
|
||||
MarkupCN
|
||||
MarkupNP
|
||||
MarkupPhr
|
||||
MarkupS
|
||||
MarkupText
|
||||
MarkupUtt
|
||||
MkDefinition
|
||||
MkDefinitionEx
|
||||
MkDocument
|
||||
MkTag
|
||||
NoDefinition
|
||||
PConjConj
|
||||
PassV
|
||||
PositAdAAdj
|
||||
PositAdvAdj
|
||||
PredSCVP
|
||||
PrepIP
|
||||
ProgrVP
|
||||
QuestQVP
|
||||
ReflA
|
||||
ReflVP
|
||||
RelS
|
||||
SSubjS
|
||||
SelfAdVVP
|
||||
SelfAdvVP
|
||||
SelfNP
|
||||
SentAP
|
||||
SentCN
|
||||
SlashPrep
|
||||
SlashV
|
||||
SlashV
|
||||
SlashV
|
||||
SlashV
|
||||
SlashV
|
||||
VNP
|
||||
SlashVS
|
||||
SubjS
|
||||
UseA
|
||||
UseSlash
|
||||
VPSlashPrep
|
||||
VocNP
|
||||
Mark
|
||||
above
|
||||
Prep
|
||||
active
|
||||
passive
|
||||
afrikaans
|
||||
Language
|
||||
airplane
|
||||
already
|
||||
Adv
|
||||
although
|
||||
Subj
|
||||
amharic
|
||||
Language
|
||||
answer
|
||||
apartment
|
||||
april
|
||||
Month
|
||||
arabic
|
||||
Language
|
||||
art
|
||||
as
|
||||
CAdv
|
||||
ashes
|
||||
ask
|
||||
at
|
||||
most
|
||||
AdN
|
||||
august
|
||||
Month
|
||||
Mark
|
||||
back
|
||||
bank
|
||||
bark
|
||||
beautiful
|
||||
because
|
||||
Subj
|
||||
before
|
||||
Prep
|
||||
beg
|
||||
belly
|
||||
blow
|
||||
bone
|
||||
boot
|
||||
boss
|
||||
both
|
||||
and
|
||||
DConj
|
||||
bottle
|
||||
of
|
||||
CN
|
||||
breast
|
||||
breathe
|
||||
broad
|
||||
brother
|
||||
brown
|
||||
bulgarian
|
||||
Language
|
||||
burn
|
||||
butter
|
||||
by
|
||||
agent
|
||||
Prep
|
||||
by
|
||||
means
|
||||
Prep
|
||||
camera
|
||||
cap
|
||||
carpet
|
||||
catalan
|
||||
Language
|
||||
ceiling
|
||||
chair
|
||||
cheese
|
||||
chinese
|
||||
Language
|
||||
church
|
||||
clever
|
||||
coat
|
||||
correct
|
||||
country
|
||||
cousin
|
||||
cup
|
||||
of
|
||||
CN
|
||||
danish
|
||||
Language
|
||||
dayMonthAdv
|
||||
dayMonthYearAdv
|
||||
day
|
||||
day
|
||||
Timeunit
|
||||
dconcat
|
||||
december
|
||||
Month
|
||||
die
|
||||
dig
|
||||
digits
|
||||
num
|
||||
digits
|
||||
numeral
|
||||
dirty
|
||||
dn
|
||||
dn
|
||||
dn
|
||||
dn
|
||||
dn
|
||||
dn
|
||||
dn
|
||||
doctor
|
||||
door
|
||||
dry
|
||||
dull
|
||||
during
|
||||
Prep
|
||||
dust
|
||||
dutch
|
||||
Language
|
||||
ear
|
||||
earth
|
||||
easy
|
||||
egg
|
||||
eightHour
|
||||
eighteenHour
|
||||
either
|
||||
or
|
||||
DConj
|
||||
elevenHour
|
||||
empty
|
||||
enemy
|
||||
english
|
||||
Language
|
||||
estonian
|
||||
Language
|
||||
everybody
|
||||
NP
|
||||
everything
|
||||
NP
|
||||
except
|
||||
Prep
|
||||
eye
|
||||
factory
|
||||
fall
|
||||
far
|
||||
Adv
|
||||
fat
|
||||
feather
|
||||
february
|
||||
Month
|
||||
few
|
||||
short
|
||||
of
|
||||
fifteenHour
|
||||
fight
|
||||
fingernail
|
||||
finnish
|
||||
Language
|
||||
fiveHour
|
||||
float
|
||||
floor
|
||||
flow
|
||||
fly
|
||||
fog
|
||||
foot
|
||||
for
|
||||
Prep
|
||||
forest
|
||||
forget
|
||||
fourHour
|
||||
fourteenHour
|
||||
freeze
|
||||
french
|
||||
Language
|
||||
friday
|
||||
Weekday
|
||||
fridge
|
||||
fruit
|
||||
full
|
||||
fun
|
||||
AV
|
||||
garden
|
||||
german
|
||||
Language
|
||||
glass
|
||||
of
|
||||
CN
|
||||
glove
|
||||
gold
|
||||
grass
|
||||
greek
|
||||
Language
|
||||
guts
|
||||
Mark
|
||||
Mark
|
||||
hair
|
||||
hand
|
||||
harbour
|
||||
has
|
||||
age
|
||||
VP
|
||||
hat
|
||||
hate
|
||||
have
|
||||
name
|
||||
Cl
|
||||
head
|
||||
hear
|
||||
heart
|
||||
hebrew
|
||||
Language
|
||||
here
|
||||
from
|
||||
Adv
|
||||
here
|
||||
to
|
||||
Adv
|
||||
hill
|
||||
hindi
|
||||
Language
|
||||
hit
|
||||
hold
|
||||
horn
|
||||
hour
|
||||
Timeunit
|
||||
how
|
||||
much
|
||||
IAdv
|
||||
how
|
||||
far
|
||||
QCl
|
||||
how
|
||||
old
|
||||
QCl
|
||||
hungry
|
||||
VP
|
||||
hunt
|
||||
husband
|
||||
Mark
|
||||
ice
|
||||
if
|
||||
Subj
|
||||
if
|
||||
then
|
||||
Conj
|
||||
ill
|
||||
VP
|
||||
important
|
||||
industry
|
||||
intMonthday
|
||||
intYear
|
||||
iron
|
||||
is
|
||||
right
|
||||
VP
|
||||
is
|
||||
wrong
|
||||
VP
|
||||
italian
|
||||
Language
|
||||
january
|
||||
Month
|
||||
japanese
|
||||
Language
|
||||
july
|
||||
Month
|
||||
june
|
||||
Month
|
||||
king
|
||||
knee
|
||||
know
|
||||
lake
|
||||
lamp
|
||||
languageCN
|
||||
languageNP
|
||||
language
|
||||
title
|
||||
Utt
|
||||
latin
|
||||
Language
|
||||
latvian
|
||||
Language
|
||||
laugh
|
||||
leaf
|
||||
learn
|
||||
leather
|
||||
leave
|
||||
left
|
||||
Ord
|
||||
leg
|
||||
less
|
||||
CAdv
|
||||
li
|
||||
Mark
|
||||
lie
|
||||
like
|
||||
listen
|
||||
liver
|
||||
long
|
||||
lose
|
||||
louse
|
||||
love
|
||||
maltese
|
||||
Language
|
||||
march
|
||||
Month
|
||||
married
|
||||
married
|
||||
Cl
|
||||
may
|
||||
Month
|
||||
meat
|
||||
minute
|
||||
Timeunit
|
||||
monday
|
||||
Weekday
|
||||
monthAdv
|
||||
monthN
|
||||
monthPN
|
||||
monthYearAdv
|
||||
month
|
||||
Timeunit
|
||||
moon
|
||||
more
|
||||
CAdv
|
||||
mother
|
||||
mountain
|
||||
mouth
|
||||
much
|
||||
Det
|
||||
units
|
||||
AP
|
||||
units
|
||||
of
|
||||
NP
|
||||
name
|
||||
narrow
|
||||
nd
|
||||
nd
|
||||
nd
|
||||
nd
|
||||
nd
|
||||
near
|
||||
neck
|
||||
nepali
|
||||
Language
|
||||
newspaper
|
||||
night
|
||||
nineHour
|
||||
nineteenHour
|
||||
no
|
||||
Utt
|
||||
nobody
|
||||
NP
|
||||
norwegian
|
||||
Language
|
||||
nose
|
||||
nothing
|
||||
NP
|
||||
november
|
||||
Month
|
||||
num
|
||||
digits
|
||||
number
|
||||
october
|
||||
Month
|
||||
oil
|
||||
oneHour
|
||||
open
|
||||
Mark
|
||||
paint
|
||||
paper
|
||||
part
|
||||
Prep
|
||||
peace
|
||||
pen
|
||||
persian
|
||||
Language
|
||||
person
|
||||
planet
|
||||
plastic
|
||||
play
|
||||
policeman
|
||||
polish
|
||||
Language
|
||||
possess
|
||||
Prep
|
||||
priest
|
||||
probable
|
||||
AS
|
||||
pull
|
||||
punjabi
|
||||
Language
|
||||
push
|
||||
put
|
||||
queen
|
||||
question
|
||||
quite
|
||||
Adv
|
||||
radio
|
||||
rain
|
||||
rain
|
||||
ready
|
||||
VP
|
||||
reason
|
||||
religion
|
||||
restaurant
|
||||
right
|
||||
Ord
|
||||
road
|
||||
rock
|
||||
romanian
|
||||
Language
|
||||
roof
|
||||
root
|
||||
rope
|
||||
rotten
|
||||
round
|
||||
rub
|
||||
rubber
|
||||
rule
|
||||
russian
|
||||
Language
|
||||
salt
|
||||
sand
|
||||
saturday
|
||||
Weekday
|
||||
scared
|
||||
VP
|
||||
school
|
||||
science
|
||||
scratch
|
||||
second
|
||||
Timeunit
|
||||
seed
|
||||
seek
|
||||
september
|
||||
Month
|
||||
sevenHour
|
||||
seventeenHour
|
||||
sew
|
||||
sharp
|
||||
sheep
|
||||
shirt
|
||||
shoe
|
||||
shop
|
||||
short
|
||||
silver
|
||||
sindhi
|
||||
Language
|
||||
sing
|
||||
sister
|
||||
sit
|
||||
sixHour
|
||||
sixteenHour
|
||||
skin
|
||||
sky
|
||||
smell
|
||||
smoke
|
||||
smooth
|
||||
snake
|
||||
snow
|
||||
sock
|
||||
somebody
|
||||
NP
|
||||
something
|
||||
NP
|
||||
somewhere
|
||||
Adv
|
||||
song
|
||||
spanish
|
||||
Language
|
||||
speak
|
||||
spit
|
||||
split
|
||||
squeeze
|
||||
stab
|
||||
stand
|
||||
steel
|
||||
stick
|
||||
stone
|
||||
stop
|
||||
stove
|
||||
straight
|
||||
student
|
||||
stupid
|
||||
suck
|
||||
sun
|
||||
sunday
|
||||
Weekday
|
||||
swahili
|
||||
Language
|
||||
swedish
|
||||
Language
|
||||
swell
|
||||
switch
|
||||
off
|
||||
switch
|
||||
on
|
||||
table
|
||||
Mark
|
||||
table
|
||||
tail
|
||||
td
|
||||
Mark
|
||||
teacher
|
||||
television
|
||||
tenHour
|
||||
thai
|
||||
Language
|
||||
there
|
||||
from
|
||||
Adv
|
||||
there
|
||||
to
|
||||
Adv
|
||||
there
|
||||
Adv
|
||||
they
|
||||
Pron
|
||||
thick
|
||||
thin
|
||||
think
|
||||
thirsty
|
||||
VP
|
||||
thirteenHour
|
||||
threeHour
|
||||
through
|
||||
Prep
|
||||
throw
|
||||
thursday
|
||||
Weekday
|
||||
tie
|
||||
timeHour
|
||||
timeHourMinute
|
||||
timeunitAdv
|
||||
tired
|
||||
VP
|
||||
today
|
||||
Adv
|
||||
tongue
|
||||
tooth
|
||||
tr
|
||||
Mark
|
||||
tuesday
|
||||
Weekday
|
||||
turkish
|
||||
Language
|
||||
turn
|
||||
twelveHour
|
||||
twentyFourHour
|
||||
twentyHour
|
||||
twentyOneHour
|
||||
twentyThreeHour
|
||||
twentyTwoHour
|
||||
twoHour
|
||||
ugly
|
||||
ul
|
||||
Mark
|
||||
uncertain
|
||||
university
|
||||
urdu
|
||||
Language
|
||||
village
|
||||
vomit
|
||||
war
|
||||
wash
|
||||
watch
|
||||
weather
|
||||
adjCl
|
||||
wednesday
|
||||
Weekday
|
||||
week
|
||||
Timeunit
|
||||
weekdayHabitualAdv
|
||||
weekdayLastAdv
|
||||
weekdayN
|
||||
weekdayNextAdv
|
||||
weekdayPN
|
||||
weekdayPunctualAdv
|
||||
wet
|
||||
what
|
||||
name
|
||||
QCl
|
||||
when
|
||||
Subj
|
||||
wide
|
||||
wife
|
||||
win
|
||||
wind
|
||||
window
|
||||
wing
|
||||
wipe
|
||||
without
|
||||
Prep
|
||||
wonder
|
||||
VQ
|
||||
wood
|
||||
worm
|
||||
write
|
||||
yearAdv
|
||||
year
|
||||
year
|
||||
Timeunit
|
||||
yes
|
||||
Utt
|
||||
youPol
|
||||
Pron
|
||||
874
src/rukiga/implemented_func_list.text
Normal file
874
src/rukiga/implemented_func_list.text
Normal file
@@ -0,0 +1,874 @@
|
||||
AAnter : Ant ;
|
||||
ASimul : Ant ;
|
||||
AdAP : AdA -> AP -> AP ;
|
||||
AdAdv : AdA -> Adv -> Adv ;
|
||||
AdNum : AdN -> Card -> Card ;
|
||||
AdVVP : AdV -> VP -> VP ;
|
||||
AdVVPSlash : AdV -> VPSlash -> VPSlash ;
|
||||
AddAdvQVP : QVP -> IAdv -> QVP ;
|
||||
AdjCN : AP -> CN -> CN ;
|
||||
AdjDAP : DAP -> AP -> DAP ;
|
||||
AdjOrd : Ord -> AP ;
|
||||
AdnCAdv : CAdv -> AdN ;
|
||||
AdvAP : AP -> Adv -> AP ;
|
||||
AdvCN : CN -> Adv -> CN ;
|
||||
AdvIAdv : IAdv -> Adv -> IAdv ;
|
||||
AdvIP : IP -> Adv -> IP ;
|
||||
AdvNP : NP -> Adv -> NP ;
|
||||
AdvQVP : VP -> IAdv -> QVP ;
|
||||
AdvS : Adv -> S -> S ;
|
||||
AdvSlash : ClSlash -> Adv -> ClSlash ;
|
||||
AdvVP : VP -> Adv -> VP ;
|
||||
AdvVPSlash : VPSlash -> Adv -> VPSlash ;
|
||||
ApposCN : CN -> NP -> CN ;
|
||||
BaseAP : AP -> AP -> ListAP ;
|
||||
BaseAdV : AdV -> AdV -> ListAdV ;
|
||||
BaseAdv : Adv -> Adv -> ListAdv ;
|
||||
BaseCN : CN -> CN -> ListCN ;
|
||||
BaseDAP : DAP -> DAP -> ListDAP ;
|
||||
BaseIAdv : IAdv -> IAdv -> ListIAdv ;
|
||||
BaseNP : NP -> NP -> ListNP ;
|
||||
BaseRS : RS -> RS -> ListRS ;
|
||||
BaseS : S -> S -> ListS ;
|
||||
CAdvAP : CAdv -> AP -> NP -> AP ;
|
||||
CleftAdv : Adv -> S -> Cl ;
|
||||
CleftNP : NP -> RS -> Cl ;
|
||||
CompAP : AP -> Comp ;
|
||||
CompAdv : Adv -> Comp ;
|
||||
CompCN : CN -> Comp ;
|
||||
CompIAdv : IAdv -> IComp ;
|
||||
CompIP : IP -> IComp ;
|
||||
CompNP : NP -> Comp ;
|
||||
ComparA : A -> NP -> AP ;
|
||||
ComparAdvAdj : CAdv -> A -> NP -> Adv ;
|
||||
ComparAdvAdjS : CAdv -> A -> S -> Adv ;
|
||||
ComplA2 : A2 -> NP -> AP ;
|
||||
ComplN2 : N2 -> NP -> CN ;
|
||||
ComplN3 : N3 -> NP -> N2 ;
|
||||
ComplSlash : VPSlash -> NP -> VP ;
|
||||
ComplSlashIP : VPSlash -> IP -> QVP ;
|
||||
ComplVA : VA -> AP -> VP ;
|
||||
ComplVQ : VQ -> QS -> VP ;
|
||||
ComplVS : VS -> S -> VP ;
|
||||
ComplVV : VV -> VP -> VP ;
|
||||
ConjAP : Conj -> ListAP -> AP ;
|
||||
ConjAdV : Conj -> ListAdV -> AdV ;
|
||||
ConjAdv : Conj -> ListAdv -> Adv ;
|
||||
ConjCN : Conj -> ListCN -> CN ;
|
||||
ConjDet : Conj -> ListDAP -> Det ;
|
||||
ConjIAdv : Conj -> ListIAdv -> IAdv ;
|
||||
ConjNP : Conj -> ListNP -> NP ;
|
||||
ConjRS : Conj -> ListRS -> RS ;
|
||||
ConjS : Conj -> ListS -> S ;
|
||||
ConsAP : AP -> ListAP -> ListAP ;
|
||||
ConsAdV : AdV -> ListAdV -> ListAdV ;
|
||||
ConsAdv : Adv -> ListAdv -> ListAdv ;
|
||||
ConsCN : CN -> ListCN -> ListCN ;
|
||||
ConsDAP : DAP -> ListDAP -> ListDAP ;
|
||||
ConsIAdv : IAdv -> ListIAdv -> ListIAdv ;
|
||||
ConsNP : NP -> ListNP -> ListNP ;
|
||||
ConsRS : RS -> ListRS -> ListRS ;
|
||||
ConsS : S -> ListS -> ListS ;
|
||||
CountNP : Det -> NP -> NP ;
|
||||
D_0 : Dig ;
|
||||
D_1 : Dig ;
|
||||
D_2 : Dig ;
|
||||
D_3 : Dig ;
|
||||
D_4 : Dig ;
|
||||
D_5 : Dig ;
|
||||
D_6 : Dig ;
|
||||
D_7 : Dig ;
|
||||
D_8 : Dig ;
|
||||
D_9 : Dig ;
|
||||
DefArt : Quant ;
|
||||
DetCN : Det -> CN -> NP ;
|
||||
DetDAP : Det -> DAP ;
|
||||
DetNP : Det -> NP ;
|
||||
DetQuant : Quant -> Num -> Det ;
|
||||
DetQuantOrd : Quant -> Num -> Ord -> Det ;
|
||||
EmbedQS : QS -> SC ;
|
||||
EmbedS : S -> SC ;
|
||||
EmbedVP : VP -> SC ;
|
||||
ExistIP : IP -> QCl ;
|
||||
ExistIPAdv : IP -> Adv -> QCl ;
|
||||
ExistNP : NP -> Cl ;
|
||||
ExistNPAdv : NP -> Adv -> Cl ;
|
||||
ExtAdvNP : NP -> Adv -> NP ;
|
||||
ExtAdvS : Adv -> S -> S ;
|
||||
ExtAdvVP : VP -> Adv -> VP ;
|
||||
FunRP : Prep -> NP -> RP -> RP ;
|
||||
GenericCl : VP -> Cl ;
|
||||
IDig : Dig -> Digits ;
|
||||
IIDig : Dig -> Digits -> Digits ;
|
||||
IdRP : RP ;
|
||||
IdetCN : IDet -> CN -> IP ;
|
||||
IdetIP : IDet -> IP ;
|
||||
IdetQuant : IQuant -> Num -> IDet ;
|
||||
ImpP3 : NP -> VP -> Utt ;
|
||||
ImpPl1 : VP -> Utt ;
|
||||
ImpVP : VP -> Imp ;
|
||||
ImpersCl : VP -> Cl ;
|
||||
InLanguage : Language -> Adv ;
|
||||
IndefArt : Quant ;
|
||||
InflectionA : A -> Inflection ;
|
||||
InflectionA2 : A2 -> Inflection ;
|
||||
InflectionAdv : Adv -> Inflection ;
|
||||
InflectionN : N -> Inflection ;
|
||||
InflectionN2 : N2 -> Inflection ;
|
||||
InflectionN3 : N3 -> Inflection ;
|
||||
InflectionPrep : Prep -> Inflection ;
|
||||
InflectionV : V -> Inflection ;
|
||||
InflectionV2 : V2 -> Inflection ;
|
||||
InflectionV2A : V2A -> Inflection ;
|
||||
InflectionV2Q : V2Q -> Inflection ;
|
||||
InflectionV2S : V2S -> Inflection ;
|
||||
InflectionV2V : V2V -> Inflection ;
|
||||
InflectionV3 : V3 -> Inflection ;
|
||||
InflectionVA : VA -> Inflection ;
|
||||
InflectionVQ : VQ -> Inflection ;
|
||||
InflectionVS : VS -> Inflection ;
|
||||
InflectionVV : VV -> Inflection ;
|
||||
MarkupAP : Mark -> AP -> AP ;
|
||||
MarkupAdv : Mark -> Adv -> Adv ;
|
||||
MarkupCN : Mark -> CN -> CN ;
|
||||
MarkupNP : Mark -> NP -> NP ;
|
||||
MarkupPhr : Mark -> Phr -> Phr ;
|
||||
MarkupS : Mark -> S -> S ;
|
||||
MarkupText : Mark -> Text -> Text ;
|
||||
MarkupUtt : Mark -> Utt -> Utt ;
|
||||
MassNP : CN -> NP ;
|
||||
MkDefinition : String -> String -> Definition ;
|
||||
MkDefinitionEx : String -> String -> String -> Definition ;
|
||||
MkDocument : Definition -> Inflection -> String -> Document ;
|
||||
MkTag : Inflection -> Tag ;
|
||||
NoDefinition : String -> Definition ;
|
||||
NoPConj : PConj ;
|
||||
NoVoc : Voc ;
|
||||
NumCard : Card -> Num ;
|
||||
NumDigits : Digits -> Card ;
|
||||
NumNumeral : Numeral -> Card ;
|
||||
NumPl : Num ;
|
||||
NumSg : Num ;
|
||||
OrdDigits : Digits -> Ord ;
|
||||
OrdNumeral : Numeral -> Ord ;
|
||||
OrdNumeralSuperl : Numeral -> A -> Ord ;
|
||||
OrdSuperl : A -> Ord ;
|
||||
PConjConj : Conj -> PConj ;
|
||||
PNeg : Pol ;
|
||||
PPartNP : NP -> V2 -> NP ;
|
||||
PPos : Pol ;
|
||||
PartNP : CN -> NP -> CN ;
|
||||
PassV2 : V2 -> VP ;
|
||||
PhrUtt : PConj -> Utt -> Voc -> Phr ;
|
||||
PositA : A -> AP ;
|
||||
PositAdAAdj : A -> AdA ;
|
||||
PositAdvAdj : A -> Adv ;
|
||||
PossNP : CN -> NP -> CN ;
|
||||
PossPron : Pron -> Quant ;
|
||||
PredSCVP : SC -> VP -> Cl ;
|
||||
PredVP : NP -> VP -> Cl ;
|
||||
PredetNP : Predet -> NP -> NP ;
|
||||
PrepIP : Prep -> IP -> IAdv ;
|
||||
PrepNP : Prep -> NP -> Adv ;
|
||||
ProgrVP : VP -> VP ;
|
||||
QuestCl : Cl -> QCl ;
|
||||
QuestIAdv : IAdv -> Cl -> QCl ;
|
||||
QuestIComp : IComp -> NP -> QCl ;
|
||||
QuestQVP : IP -> QVP -> QCl ;
|
||||
QuestSlash : IP -> ClSlash -> QCl ;
|
||||
QuestVP : IP -> VP -> QCl ;
|
||||
ReflA2 : A2 -> AP ;
|
||||
ReflVP : VPSlash -> VP ;
|
||||
RelCN : CN -> RS -> CN ;
|
||||
RelCl : Cl -> RCl ;
|
||||
RelNP : NP -> RS -> NP ;
|
||||
RelS : S -> RS -> S ;
|
||||
RelSlash : RP -> ClSlash -> RCl ;
|
||||
RelVP : RP -> VP -> RCl ;
|
||||
SSubjS : S -> Subj -> S -> S ;
|
||||
SelfAdVVP : VP -> VP ;
|
||||
SelfAdvVP : VP -> VP ;
|
||||
SelfNP : NP -> NP ;
|
||||
SentAP : AP -> SC -> AP ;
|
||||
SentCN : CN -> SC -> CN ;
|
||||
Slash2V3 : V3 -> NP -> VPSlash ;
|
||||
Slash3V3 : V3 -> NP -> VPSlash ;
|
||||
SlashPrep : Cl -> Prep -> ClSlash ;
|
||||
SlashV2A : V2A -> AP -> VPSlash ;
|
||||
SlashV2Q : V2Q -> QS -> VPSlash ;
|
||||
SlashV2S : V2S -> S -> VPSlash ;
|
||||
SlashV2V : V2V -> VP -> VPSlash ;
|
||||
SlashV2VNP : V2V -> NP -> VPSlash -> VPSlash ;
|
||||
SlashV2a : V2 -> VPSlash ;
|
||||
SlashVP : NP -> VPSlash -> ClSlash ;
|
||||
SlashVS : NP -> VS -> SSlash -> ClSlash ;
|
||||
SlashVV : VV -> VPSlash -> VPSlash ;
|
||||
SubjS : Subj -> S -> Adv ;
|
||||
TCond : Tense ;
|
||||
TEmpty : Text ;
|
||||
TExclMark : Phr -> Text -> Text ;
|
||||
TFullStop : Phr -> Text -> Text ;
|
||||
TFut : Tense ;
|
||||
TPast : Tense ;
|
||||
TPres : Tense ;
|
||||
TQuestMark : Phr -> Text -> Text ;
|
||||
TTAnt : Tense -> Ant -> Temp ;
|
||||
Use2N3 : N3 -> N2 ;
|
||||
Use3N3 : N3 -> N2 ;
|
||||
UseA2 : A2 -> AP ;
|
||||
UseCl : Temp -> Pol -> Cl -> S ;
|
||||
UseComp : Comp -> VP ;
|
||||
UseComparA : A -> AP ;
|
||||
UseCopula : VP ;
|
||||
UseN : N -> CN ;
|
||||
UseN2 : N2 -> CN ;
|
||||
UsePN : PN -> NP ;
|
||||
UsePron : Pron -> NP ;
|
||||
UseQCl : Temp -> Pol -> QCl -> QS ;
|
||||
UseRCl : Temp -> Pol -> RCl -> RS ;
|
||||
UseSlash : Temp -> Pol -> ClSlash -> SSlash ;
|
||||
UseV : V -> VP ;
|
||||
UttAP : AP -> Utt ;
|
||||
UttAdv : Adv -> Utt ;
|
||||
UttCN : CN -> Utt ;
|
||||
UttCard : Card -> Utt ;
|
||||
UttIAdv : IAdv -> Utt ;
|
||||
UttIP : IP -> Utt ;
|
||||
UttImpPl : Pol -> Imp -> Utt ;
|
||||
UttImpPol : Pol -> Imp -> Utt ;
|
||||
UttImpSg : Pol -> Imp -> Utt ;
|
||||
UttInterj : Interj -> Utt ;
|
||||
UttNP : NP -> Utt ;
|
||||
UttQS : QS -> Utt ;
|
||||
UttS : S -> Utt ;
|
||||
UttVP : VP -> Utt ;
|
||||
VPSlashPrep : VP -> Prep -> VPSlash ;
|
||||
VocNP : NP -> Voc ;
|
||||
a_Mark : String -> Mark ;
|
||||
above_Prep : Prep ;
|
||||
active2passive : Cl -> Cl ;
|
||||
add_V3 : V3 ;
|
||||
afrikaans_Language : Language ;
|
||||
after_Prep : Prep ;
|
||||
airplane_N : N ;
|
||||
alas_Interj : Interj ;
|
||||
all_Predet : Predet ;
|
||||
almost_AdA : AdA ;
|
||||
almost_AdN : AdN ;
|
||||
already_Adv : Adv ;
|
||||
although_Subj : Subj ;
|
||||
always_AdV : AdV ;
|
||||
amharic_Language : Language ;
|
||||
and_Conj : Conj ;
|
||||
animal_N : N ;
|
||||
answer_V2S : V2S ;
|
||||
apartment_N : N ;
|
||||
apple_N : N ;
|
||||
april_Month : Month ;
|
||||
arabic_Language : Language ;
|
||||
art_N : N ;
|
||||
as_CAdv : CAdv ;
|
||||
ashes_N : N ;
|
||||
ask_V2Q : V2Q ;
|
||||
at_least_AdN : AdN ;
|
||||
at_most_AdN : AdN ;
|
||||
august_Month : Month ;
|
||||
b_Mark : Mark ;
|
||||
baby_N : N ;
|
||||
back_N : N ;
|
||||
bad_A : A ;
|
||||
bank_N : N ;
|
||||
bark_N : N ;
|
||||
beautiful_A : A ;
|
||||
because_Subj : Subj ;
|
||||
become_VA : VA ;
|
||||
beer_N : N ;
|
||||
before_Prep : Prep ;
|
||||
beg_V2V : V2V ;
|
||||
behind_Prep : Prep ;
|
||||
belly_N : N ;
|
||||
between_Prep : Prep ;
|
||||
big_A : A ;
|
||||
bike_N : N ;
|
||||
bird_N : N ;
|
||||
bite_V2 : V2 ;
|
||||
black_A : A ;
|
||||
blood_N : N ;
|
||||
blow_V : V ;
|
||||
blue_A : A ;
|
||||
boat_N : N ;
|
||||
bone_N : N ;
|
||||
book_N : N ;
|
||||
boot_N : N ;
|
||||
boss_N : N ;
|
||||
both7and_DConj : Conj ;
|
||||
bottle_of_CN : NP -> CN ;
|
||||
boy_N : N ;
|
||||
bread_N : N ;
|
||||
break_V2 : V2 ;
|
||||
breast_N : N ;
|
||||
breathe_V : V ;
|
||||
broad_A : A ;
|
||||
brother_N2 : N2 ;
|
||||
brown_A : A ;
|
||||
bulgarian_Language : Language ;
|
||||
burn_V : V ;
|
||||
but_PConj : PConj ;
|
||||
butter_N : N ;
|
||||
buy_V2 : V2 ;
|
||||
by8agent_Prep : Prep ;
|
||||
by8means_Prep : Prep ;
|
||||
camera_N : N ;
|
||||
can8know_VV : VV ;
|
||||
can_VV : VV ;
|
||||
cap_N : N ;
|
||||
car_N : N ;
|
||||
carpet_N : N ;
|
||||
cat_N : N ;
|
||||
catalan_Language : Language ;
|
||||
ceiling_N : N ;
|
||||
chair_N : N ;
|
||||
cheese_N : N ;
|
||||
child_N : N ;
|
||||
chinese_Language : Language ;
|
||||
church_N : N ;
|
||||
city_N : N ;
|
||||
clean_A : A ;
|
||||
clever_A : A ;
|
||||
close_V2 : V2 ;
|
||||
cloud_N : N ;
|
||||
coat_N : N ;
|
||||
cold_A : A ;
|
||||
come_V : V ;
|
||||
computer_N : N ;
|
||||
correct_A : A ;
|
||||
count_V2 : V2 ;
|
||||
country_N : N ;
|
||||
cousin_N : N ;
|
||||
cow_N : N ;
|
||||
cup_of_CN : NP -> CN ;
|
||||
cut_V2 : V2 ;
|
||||
danish_Language : Language ;
|
||||
dayMonthAdv : Monthday -> Month -> Adv ;
|
||||
dayMonthYearAdv : Monthday -> Month -> Year -> Adv ;
|
||||
day_N : N ;
|
||||
day_Timeunit : Timeunit ;
|
||||
dconcat : Digits -> Digits -> Digits ;
|
||||
december_Month : Month ;
|
||||
die_V : V ;
|
||||
dig_V : V ;
|
||||
digits2num : Digits -> Numeral ;
|
||||
digits2numeral : Card -> Card ;
|
||||
dirty_A : A ;
|
||||
distance_N3 : N3 ;
|
||||
dn : Dig -> Digit ;
|
||||
dn10 : Dig -> Sub10 ;
|
||||
dn100 : Dig -> Dig -> Sub100 ;
|
||||
dn1000 : Dig -> Dig -> Dig -> Sub1000 ;
|
||||
dn1000000a : Dig -> Dig -> Dig -> Dig -> Sub1000000 ;
|
||||
dn1000000b : Dig -> Dig -> Dig -> Dig -> Dig -> Sub1000000 ;
|
||||
dn1000000c : Dig -> Dig -> Dig -> Dig -> Dig -> Dig -> Sub1000000 ;
|
||||
do_V2 : V2 ;
|
||||
doctor_N : N ;
|
||||
dog_N : N ;
|
||||
door_N : N ;
|
||||
drink_V2 : V2 ;
|
||||
dry_A : A ;
|
||||
dull_A : A ;
|
||||
during_Prep : Prep ;
|
||||
dust_N : N ;
|
||||
dutch_Language : Language ;
|
||||
ear_N : N ;
|
||||
earth_N : N ;
|
||||
easy_A2V : A2 ;
|
||||
eat_V2 : V2 ;
|
||||
egg_N : N ;
|
||||
eightHour : Hour ;
|
||||
eighteenHour : Hour ;
|
||||
either7or_DConj : Conj ;
|
||||
elevenHour : Hour ;
|
||||
empty_A : A ;
|
||||
enemy_N : N ;
|
||||
english_Language : Language ;
|
||||
estonian_Language : Language ;
|
||||
every_Det : Det ;
|
||||
everybody_NP : NP ;
|
||||
everything_NP : NP ;
|
||||
everywhere_Adv : Adv ;
|
||||
except_Prep : Prep ;
|
||||
eye_N : N ;
|
||||
factory_N : N ;
|
||||
fall_V : V ;
|
||||
far_Adv : Adv ;
|
||||
fat_N : N ;
|
||||
father_N2 : N2 ;
|
||||
fear_V2 : V2 ;
|
||||
fear_VS : VS ;
|
||||
feather_N : N ;
|
||||
february_Month : Month ;
|
||||
few_Det : Det ;
|
||||
few_X_short_of_Y : NP -> CN -> CN -> S ;
|
||||
fifteenHour : Hour ;
|
||||
fight_V2 : V2 ;
|
||||
find_V2 : V2 ;
|
||||
fingernail_N : N ;
|
||||
finnish_Language : Language ;
|
||||
fire_N : N ;
|
||||
fish_N : N ;
|
||||
fiveHour : Hour ;
|
||||
float_V : V ;
|
||||
floor_N : N ;
|
||||
flow_V : V ;
|
||||
flower_N : N ;
|
||||
fly_V : V ;
|
||||
fog_N : N ;
|
||||
foot_N : N ;
|
||||
for_Prep : Prep ;
|
||||
forest_N : N ;
|
||||
forget_V2 : V2 ;
|
||||
fourHour : Hour ;
|
||||
fourteenHour : Hour ;
|
||||
freeze_V : V ;
|
||||
french_Language : Language ;
|
||||
friday_Weekday : Weekday ;
|
||||
fridge_N : N ;
|
||||
friend_N : N ;
|
||||
from_Prep : Prep ;
|
||||
fruit_N : N ;
|
||||
full_A : A ;
|
||||
fun_AV : A ;
|
||||
garden_N : N ;
|
||||
german_Language : Language ;
|
||||
girl_N : N ;
|
||||
give_V3 : V3 ;
|
||||
glass_of_CN : NP -> CN ;
|
||||
glove_N : N ;
|
||||
go_V : V ;
|
||||
gold_N : N ;
|
||||
good_A : A ;
|
||||
grammar_N : N ;
|
||||
grass_N : N ;
|
||||
greek_Language : Language ;
|
||||
green_A : A ;
|
||||
guts_N : N ;
|
||||
h1_Mark : Mark ;
|
||||
h2_Mark : Mark ;
|
||||
hair_N : N ;
|
||||
hand_N : N ;
|
||||
harbour_N : N ;
|
||||
has_age_VP : Card -> VP ;
|
||||
hat_N : N ;
|
||||
hate_V2 : V2 ;
|
||||
have_V2 : V2 ;
|
||||
have_name_Cl : NP -> NP -> Cl ;
|
||||
he_Pron : Pron ;
|
||||
head_N : N ;
|
||||
hear_V2 : V2 ;
|
||||
heart_N : N ;
|
||||
heavy_A : A ;
|
||||
hebrew_Language : Language ;
|
||||
here7from_Adv : Adv ;
|
||||
here7to_Adv : Adv ;
|
||||
here_Adv : Adv ;
|
||||
hill_N : N ;
|
||||
hindi_Language : Language ;
|
||||
hit_V2 : V2 ;
|
||||
hold_V2 : V2 ;
|
||||
hope_VS : VS ;
|
||||
horn_N : N ;
|
||||
horse_N : N ;
|
||||
hot_A : A ;
|
||||
hour_Timeunit : Timeunit ;
|
||||
house_N : N ;
|
||||
how8many_IDet : IDet ;
|
||||
how8much_IAdv : IAdv ;
|
||||
how_IAdv : IAdv ;
|
||||
how_far_QCl : NP -> QCl ;
|
||||
how_old_QCl : NP -> QCl ;
|
||||
hungry_VP : VP ;
|
||||
hunt_V2 : V2 ;
|
||||
husband_N : N ;
|
||||
i_Mark : Mark ;
|
||||
i_Pron : Pron ;
|
||||
ice_N : N ;
|
||||
if_Subj : Subj ;
|
||||
if_then_Conj : Conj ;
|
||||
ill_VP : VP ;
|
||||
important_A : A ;
|
||||
in8front_Prep : Prep ;
|
||||
in_Prep : Prep ;
|
||||
industry_N : N ;
|
||||
intMonthday : Int -> Monthday ;
|
||||
intYear : Int -> Year ;
|
||||
iron_N : N ;
|
||||
is_right_VP : VP ;
|
||||
is_wrong_VP : VP ;
|
||||
it_Pron : Pron ;
|
||||
italian_Language : Language ;
|
||||
january_Month : Month ;
|
||||
japanese_Language : Language ;
|
||||
john_PN : PN ;
|
||||
july_Month : Month ;
|
||||
jump_V : V ;
|
||||
june_Month : Month ;
|
||||
kill_V2 : V2 ;
|
||||
king_N : N ;
|
||||
knee_N : N ;
|
||||
know_V2 : V2 ;
|
||||
know_VQ : VQ ;
|
||||
know_VS : VS ;
|
||||
lake_N : N ;
|
||||
lamp_N : N ;
|
||||
languageCN : Language -> CN ;
|
||||
languageNP : Language -> NP ;
|
||||
language_N : N ;
|
||||
language_title_Utt : Utt ;
|
||||
latin_Language : Language ;
|
||||
latvian_Language : Language ;
|
||||
laugh_V : V ;
|
||||
leaf_N : N ;
|
||||
learn_V2 : V2 ;
|
||||
leather_N : N ;
|
||||
leave_V2 : V2 ;
|
||||
left_Ord : Ord ;
|
||||
leg_N : N ;
|
||||
less_CAdv : CAdv ;
|
||||
li_Mark : Mark ;
|
||||
lie_V : V ;
|
||||
like_V2 : V2 ;
|
||||
listen_V2 : V2 ;
|
||||
live_V : V ;
|
||||
liver_N : N ;
|
||||
long_A : A ;
|
||||
lose_V2 : V2 ;
|
||||
louse_N : N ;
|
||||
love_N : N ;
|
||||
love_V2 : V2 ;
|
||||
maltese_Language : Language ;
|
||||
man_N : N ;
|
||||
many_Det : Det ;
|
||||
march_Month : Month ;
|
||||
married_A2 : A2 ;
|
||||
married_Cl : NP -> NP -> Cl ;
|
||||
may_Month : Month ;
|
||||
meat_N : N ;
|
||||
milk_N : N ;
|
||||
minute_Timeunit : Timeunit ;
|
||||
monday_Weekday : Weekday ;
|
||||
monthAdv : Month -> Adv ;
|
||||
monthN : Month -> N ;
|
||||
monthPN : Month -> PN ;
|
||||
monthYearAdv : Month -> Year -> Adv ;
|
||||
month_Timeunit : Timeunit ;
|
||||
moon_N : N ;
|
||||
more_CAdv : CAdv ;
|
||||
most_Predet : Predet ;
|
||||
mother_N2 : N2 ;
|
||||
mountain_N : N ;
|
||||
mouth_N : N ;
|
||||
much_Det : Det ;
|
||||
music_N : N ;
|
||||
must_VV : VV ;
|
||||
n2 : Digit ;
|
||||
n3 : Digit ;
|
||||
n4 : Digit ;
|
||||
n5 : Digit ;
|
||||
n6 : Digit ;
|
||||
n7 : Digit ;
|
||||
n8 : Digit ;
|
||||
n9 : Digit ;
|
||||
n_units_AP : Card -> CN -> A -> AP ;
|
||||
n_units_of_NP : Card -> CN -> NP -> NP ;
|
||||
name_N : N ;
|
||||
narrow_A : A ;
|
||||
nd : Digit -> Dig ;
|
||||
nd10 : Sub10 -> Digits ;
|
||||
nd100 : Sub100 -> Digits ;
|
||||
nd1000 : Sub1000 -> Digits ;
|
||||
nd1000000 : Sub1000000 -> Digits ;
|
||||
near_A : A ;
|
||||
neck_N : N ;
|
||||
nepali_Language : Language ;
|
||||
new_A : A ;
|
||||
newspaper_N : N ;
|
||||
night_N : N ;
|
||||
nineHour : Hour ;
|
||||
nineteenHour : Hour ;
|
||||
no_Quant : Quant ;
|
||||
no_Utt : Utt ;
|
||||
nobody_NP : NP ;
|
||||
norwegian_Language : Language ;
|
||||
nose_N : N ;
|
||||
not_Predet : Predet ;
|
||||
nothing_NP : NP ;
|
||||
november_Month : Month ;
|
||||
now_Adv : Adv ;
|
||||
num : Sub1000000 -> Numeral ;
|
||||
num2digits : Numeral -> Digits ;
|
||||
number_N : N ;
|
||||
october_Month : Month ;
|
||||
oil_N : N ;
|
||||
old_A : A ;
|
||||
on_Prep : Prep ;
|
||||
oneHour : Hour ;
|
||||
only_Predet : Predet ;
|
||||
open_V2 : V2 ;
|
||||
or_Conj : Conj ;
|
||||
otherwise_PConj : PConj ;
|
||||
p_Mark : Mark ;
|
||||
paint_V2A : V2A ;
|
||||
paper_N : N ;
|
||||
paris_PN : PN ;
|
||||
part_Prep : Prep ;
|
||||
peace_N : N ;
|
||||
pen_N : N ;
|
||||
persian_Language : Language ;
|
||||
person_N : N ;
|
||||
planet_N : N ;
|
||||
plastic_N : N ;
|
||||
play_V : V ;
|
||||
play_V2 : V2 ;
|
||||
please_Voc : Voc ;
|
||||
policeman_N : N ;
|
||||
polish_Language : Language ;
|
||||
possess_Prep : Prep ;
|
||||
pot0 : Digit -> Sub10 ;
|
||||
pot01 : Sub10 ;
|
||||
pot0as1 : Sub10 -> Sub100 ;
|
||||
pot1 : Digit -> Sub100 ;
|
||||
pot110 : Sub100 ;
|
||||
pot111 : Sub100 ;
|
||||
pot1as2 : Sub100 -> Sub1000 ;
|
||||
pot1plus : Digit -> Sub10 -> Sub100 ;
|
||||
pot1to19 : Digit -> Sub100 ;
|
||||
pot2 : Sub10 -> Sub1000 ;
|
||||
pot2as3 : Sub1000 -> Sub1000000 ;
|
||||
pot2plus : Sub10 -> Sub100 -> Sub1000 ;
|
||||
pot3 : Sub1000 -> Sub1000000 ;
|
||||
pot3plus : Sub1000 -> Sub1000 -> Sub1000000 ;
|
||||
priest_N : N ;
|
||||
probable_AS : A ;
|
||||
pull_V2 : V2 ;
|
||||
punjabi_Language : Language ;
|
||||
push_V2 : V2 ;
|
||||
put_V2 : V2 ;
|
||||
queen_N : N ;
|
||||
question_N : N ;
|
||||
quite_Adv : AdA ;
|
||||
radio_N : N ;
|
||||
rain_N : N ;
|
||||
rain_V0 : V ;
|
||||
read_V2 : V2 ;
|
||||
ready_A : A ;
|
||||
ready_VP : VP ;
|
||||
reason_N : N ;
|
||||
red_A : A ;
|
||||
religion_N : N ;
|
||||
restaurant_N : N ;
|
||||
right_Ord : Ord ;
|
||||
river_N : N ;
|
||||
road_N : N ;
|
||||
rock_N : N ;
|
||||
romanian_Language : Language ;
|
||||
roof_N : N ;
|
||||
root_N : N ;
|
||||
rope_N : N ;
|
||||
rotten_A : A ;
|
||||
round_A : A ;
|
||||
rub_V2 : V2 ;
|
||||
rubber_N : N ;
|
||||
rule_N : N ;
|
||||
run_V : V ;
|
||||
russian_Language : Language ;
|
||||
salt_N : N ;
|
||||
sand_N : N ;
|
||||
saturday_Weekday : Weekday ;
|
||||
say_VS : VS ;
|
||||
scared_VP : VP ;
|
||||
school_N : N ;
|
||||
science_N : N ;
|
||||
scratch_V2 : V2 ;
|
||||
sea_N : N ;
|
||||
second_Timeunit : Timeunit ;
|
||||
see_V2 : V2 ;
|
||||
seed_N : N ;
|
||||
seek_V2 : V2 ;
|
||||
sell_V3 : V3 ;
|
||||
send_V3 : V3 ;
|
||||
september_Month : Month ;
|
||||
sevenHour : Hour ;
|
||||
seventeenHour : Hour ;
|
||||
sew_V : V ;
|
||||
sharp_A : A ;
|
||||
she_Pron : Pron ;
|
||||
sheep_N : N ;
|
||||
ship_N : N ;
|
||||
shirt_N : N ;
|
||||
shoe_N : N ;
|
||||
shop_N : N ;
|
||||
short_A : A ;
|
||||
silver_N : N ;
|
||||
sindhi_Language : Language ;
|
||||
sing_V : V ;
|
||||
sister_N : N ;
|
||||
sit_V : V ;
|
||||
sixHour : Hour ;
|
||||
sixteenHour : Hour ;
|
||||
skin_N : N ;
|
||||
sky_N : N ;
|
||||
sleep_V : V ;
|
||||
small_A : A ;
|
||||
smell_V : V ;
|
||||
smoke_N : N ;
|
||||
smooth_A : A ;
|
||||
snake_N : N ;
|
||||
snow_N : N ;
|
||||
so_AdA : AdA ;
|
||||
sock_N : N ;
|
||||
somePl_Det : Det ;
|
||||
someSg_Det : Det ;
|
||||
somebody_NP : NP ;
|
||||
something_NP : NP ;
|
||||
somewhere_Adv : Adv ;
|
||||
song_N : N ;
|
||||
spanish_Language : Language ;
|
||||
speak_V2 : V2 ;
|
||||
spit_V : V ;
|
||||
split_V2 : V2 ;
|
||||
squeeze_V2 : V2 ;
|
||||
stab_V2 : V2 ;
|
||||
stand_V : V ;
|
||||
star_N : N ;
|
||||
steel_N : N ;
|
||||
stick_N : N ;
|
||||
stone_N : N ;
|
||||
stop_V : V ;
|
||||
stove_N : N ;
|
||||
straight_A : A ;
|
||||
student_N : N ;
|
||||
stupid_A : A ;
|
||||
suck_V2 : V2 ;
|
||||
sun_N : N ;
|
||||
sunday_Weekday : Weekday ;
|
||||
swahili_Language : Language ;
|
||||
swedish_Language : Language ;
|
||||
swell_V : V ;
|
||||
swim_V : V ;
|
||||
switch8off_V2 : V2 ;
|
||||
switch8on_V2 : V2 ;
|
||||
table_Mark : Mark ;
|
||||
table_N : N ;
|
||||
tail_N : N ;
|
||||
talk_V3 : V3 ;
|
||||
td_Mark : Mark ;
|
||||
teach_V2 : V2 ;
|
||||
teacher_N : N ;
|
||||
television_N : N ;
|
||||
tenHour : Hour ;
|
||||
thai_Language : Language ;
|
||||
that_Quant : Quant ;
|
||||
that_Subj : Subj ;
|
||||
there7from_Adv : Adv ;
|
||||
there7to_Adv : Adv ;
|
||||
there_Adv : Adv ;
|
||||
therefore_PConj : PConj ;
|
||||
they_Pron : Pron ;
|
||||
thick_A : A ;
|
||||
thin_A : A ;
|
||||
think_V : V ;
|
||||
thirsty_VP : VP ;
|
||||
thirteenHour : Hour ;
|
||||
this_Quant : Quant ;
|
||||
threeHour : Hour ;
|
||||
through_Prep : Prep ;
|
||||
throw_V2 : V2 ;
|
||||
thursday_Weekday : Weekday ;
|
||||
tie_V2 : V2 ;
|
||||
timeHour : Hour -> Adv ;
|
||||
timeHourMinute : Hour -> Card -> Adv ;
|
||||
timeunitAdv : Card -> Timeunit -> Adv ;
|
||||
tired_VP : VP ;
|
||||
to_Prep : Prep ;
|
||||
today_Adv : Adv ;
|
||||
tongue_N : N ;
|
||||
too_AdA : AdA ;
|
||||
tooth_N : N ;
|
||||
tr_Mark : Mark ;
|
||||
train_N : N ;
|
||||
travel_V : V ;
|
||||
tree_N : N ;
|
||||
tuesday_Weekday : Weekday ;
|
||||
turkish_Language : Language ;
|
||||
turn_V : V ;
|
||||
twelveHour : Hour ;
|
||||
twentyFourHour : Hour ;
|
||||
twentyHour : Hour ;
|
||||
twentyOneHour : Hour ;
|
||||
twentyThreeHour : Hour ;
|
||||
twentyTwoHour : Hour ;
|
||||
twoHour : Hour ;
|
||||
ugly_A : A ;
|
||||
ul_Mark : Mark ;
|
||||
uncertain_A : A ;
|
||||
under_Prep : Prep ;
|
||||
understand_V2 : V2 ;
|
||||
university_N : N ;
|
||||
urdu_Language : Language ;
|
||||
very_AdA : AdA ;
|
||||
village_N : N ;
|
||||
vomit_V : V ;
|
||||
wait_V2 : V2 ;
|
||||
walk_V : V ;
|
||||
want_VV : VV ;
|
||||
war_N : N ;
|
||||
warm_A : A ;
|
||||
wash_V2 : V2 ;
|
||||
watch_V2 : V2 ;
|
||||
water_N : N ;
|
||||
we_Pron : Pron ;
|
||||
weather_adjCl : AP -> Cl ;
|
||||
wednesday_Weekday : Weekday ;
|
||||
week_Timeunit : Timeunit ;
|
||||
weekdayHabitualAdv : Weekday -> Adv ;
|
||||
weekdayLastAdv : Weekday -> Adv ;
|
||||
weekdayN : Weekday -> N ;
|
||||
weekdayNextAdv : Weekday -> Adv ;
|
||||
weekdayPN : Weekday -> PN ;
|
||||
weekdayPunctualAdv : Weekday -> Adv ;
|
||||
wet_A : A ;
|
||||
whatPl_IP : IP ;
|
||||
whatSg_IP : IP ;
|
||||
what_name_QCl : NP -> QCl ;
|
||||
when_IAdv : IAdv ;
|
||||
when_Subj : Subj ;
|
||||
where_IAdv : IAdv ;
|
||||
which_IQuant : IQuant ;
|
||||
white_A : A ;
|
||||
whoPl_IP : IP ;
|
||||
whoSg_IP : IP ;
|
||||
why_IAdv : IAdv ;
|
||||
wide_A : A ;
|
||||
wife_N : N ;
|
||||
win_V2 : V2 ;
|
||||
wind_N : N ;
|
||||
window_N : N ;
|
||||
wine_N : N ;
|
||||
wing_N : N ;
|
||||
wipe_V2 : V2 ;
|
||||
with_Prep : Prep ;
|
||||
without_Prep : Prep ;
|
||||
woman_N : N ;
|
||||
wonder_VQ : VQ ;
|
||||
wood_N : N ;
|
||||
worm_N : N ;
|
||||
write_V2 : V2 ;
|
||||
yearAdv : Year -> Adv ;
|
||||
year_N : N ;
|
||||
year_Timeunit : Timeunit ;
|
||||
yellow_A : A ;
|
||||
yes_Utt : Utt ;
|
||||
youPl_Pron : Pron ;
|
||||
youPol_Pron : Pron ;
|
||||
youSg_Pron : Pron ;
|
||||
young_A : A ;
|
||||
|
||||
126
src/rukiga/implemented_funcs_list.txt
Normal file
126
src/rukiga/implemented_funcs_list.txt
Normal file
@@ -0,0 +1,126 @@
|
||||
AAnter : Ant ;
|
||||
CompIP : IP -> IComp ;
|
||||
D_0 : Dig ;
|
||||
D_1 : Dig ;
|
||||
D_2 : Dig ;
|
||||
D_3 : Dig ;
|
||||
D_4 : Dig ;
|
||||
D_5 : Dig ;
|
||||
D_6 : Dig ;
|
||||
D_7 : Dig ;
|
||||
D_8 : Dig ;
|
||||
D_9 : Dig ;
|
||||
DefArt : Quant ;
|
||||
IDig : Dig -> Digits ;
|
||||
IIDig : Dig -> Digits -> Digits ;
|
||||
IdRP : RP ;
|
||||
NoVoc : Voc ;
|
||||
NumCard : Card -> Num ;
|
||||
NumDigits : Digits -> Card ;
|
||||
NumNumeral : Numeral -> Card ;
|
||||
NumPl : Num ;
|
||||
NumSg : Num ;
|
||||
PNeg : Pol ;
|
||||
PPos : Pol ;
|
||||
TEmpty : Text ;
|
||||
TFut : Tense ;
|
||||
TPres : Tense ;
|
||||
TTAnt : Tense -> Ant -> Temp ;
|
||||
Use2N3 : N3 -> N2 ;
|
||||
Use3N3 : N3 -> N2 ;
|
||||
add_V3 : V3 ;
|
||||
all_Predet : Predet ;
|
||||
always_AdV : AdV ;
|
||||
animal_N : N ;
|
||||
apple_N : N ;
|
||||
bad_A : A ;
|
||||
become_VA : VA ;
|
||||
beer_N : N ;
|
||||
big_A : A ;
|
||||
bike_N : N ;
|
||||
bird_N : N ;
|
||||
bite_V2 : V2 ;
|
||||
black_A : A ;
|
||||
blood_N : N ;
|
||||
blue_A : A ;
|
||||
book_N : N ;
|
||||
boy_N : N ;
|
||||
bread_N : N ;
|
||||
break_V2 : V2 ;
|
||||
buy_V2 : V2 ;
|
||||
can_VV : VV ;
|
||||
car_N : N ;
|
||||
child_N : N ;
|
||||
city_N : N ;
|
||||
clean_A : A ;
|
||||
cloud_N : N ;
|
||||
come_V : V ;
|
||||
count_V2 : V2 ;
|
||||
cow_N : N ;
|
||||
cut_V2 : V2 ;
|
||||
do_V2 : V2 ;
|
||||
dog_N : N ;
|
||||
drink_V2 : V2 ;
|
||||
fire_N : N ;
|
||||
girl_N : N ;
|
||||
give_V3 : V3 ;
|
||||
go_V : V ;
|
||||
good_A : A ;
|
||||
grammar_N : N ;
|
||||
green_A : A ;
|
||||
heavy_A : A ;
|
||||
hope_VS : VS ;
|
||||
hot_A : A ;
|
||||
house_N : N ;
|
||||
john_PN : PN ;
|
||||
jump_V : V ;
|
||||
man_N : N ;
|
||||
milk_N : N ;
|
||||
music_N : N ;
|
||||
must_VV : VV ;
|
||||
n2 : Digit ;
|
||||
n3 : Digit ;
|
||||
n4 : Digit ;
|
||||
n5 : Digit ;
|
||||
n6 : Digit ;
|
||||
n7 : Digit ;
|
||||
n8 : Digit ;
|
||||
n9 : Digit ;
|
||||
new_A : A ;
|
||||
pot0 : Digit -> Sub10 ;
|
||||
pot01 : Sub10 ;
|
||||
pot1 : Digit -> Sub100 ;
|
||||
pot110 : Sub100 ;
|
||||
pot111 : Sub100 ;
|
||||
pot1plus : Digit -> Sub10 -> Sub100 ;
|
||||
pot2 : Sub10 -> Sub1000 ;
|
||||
pot2plus : Sub10 -> Sub100 -> Sub1000 ;
|
||||
pot3 : Sub1000 -> Sub1000000 ;
|
||||
pot3plus : Sub1000 -> Sub1000 -> Sub1000000 ;
|
||||
read_V2 : V2 ;
|
||||
red_A : A ;
|
||||
river_N : N ;
|
||||
run_V : V ;
|
||||
say_VS : VS ;
|
||||
sea_N : N ;
|
||||
see_V2 : V2 ;
|
||||
sell_V3 : V3 ;
|
||||
ship_N : N ;
|
||||
sleep_V : V ;
|
||||
small_A : A ;
|
||||
so_AdA : AdA ;
|
||||
star_N : N ;
|
||||
swim_V : V ;
|
||||
talk_V3 : V3 ;
|
||||
teach_V2 : V2 ;
|
||||
very_AdA : AdA ;
|
||||
wait_V2 : V2 ;
|
||||
walk_V : V ;
|
||||
want_VV : VV ;
|
||||
which_IQuant : IQuant ;
|
||||
whoPl_IP : IP ;
|
||||
whoSg_IP : IP ;
|
||||
woman_N : N ;
|
||||
yellow_A : A ;
|
||||
young_A : A ;
|
||||
|
||||
275
src/rukiga/most_used_function_rgl.txt
Normal file
275
src/rukiga/most_used_function_rgl.txt
Normal file
@@ -0,0 +1,275 @@
|
||||
UseN
|
||||
39378 6.3 DetQuant
|
||||
38873 6.2 DetCN
|
||||
29375 4.7 NoPConj
|
||||
29369 4.7 NoVoc
|
||||
28887 4.6 PhrUtt
|
||||
27952 4.4 NumSg
|
||||
22149 3.5 PPos
|
||||
21526 3.4 PositA
|
||||
20558 3.3 ASimul
|
||||
19022 3.0 AdjCN
|
||||
18560 2.9 TTAnt
|
||||
18234 2.9 IndefArt
|
||||
16059 2.5 PredVP
|
||||
16020 2.5 UseCl
|
||||
15435 2.5 DefArt
|
||||
14046 2.2 UttS
|
||||
12068 1.9 UttNP
|
||||
11828 1.9 TPast
|
||||
11690 1.9 SlashV2a
|
||||
11318 1.8 PrepNP
|
||||
11297 1.8 NumPl
|
||||
11278 1.8 MassNP
|
||||
10415 1.7 AdvVP
|
||||
10084 1.6 ComplSlash
|
||||
8461 1.3 UsePron
|
||||
6382 1.0 TPres
|
||||
5978 0.9 he_Pron
|
||||
5661 0.9 UseV
|
||||
5122 0.8 PossNP
|
||||
4125 0.7 PossPron
|
||||
4106 0.7 PlusChunk
|
||||
3599 0.6 UseComp
|
||||
3230 0.5 AdvNP
|
||||
2624 0.4 CompoundN
|
||||
2347 0.4 she_Pron
|
||||
2057 0.3 OneChunk
|
||||
2057 0.3 ChunkPhr
|
||||
1894 0.3 ImpVP
|
||||
1872 0.3 UttImpSg
|
||||
1712 0.3 CompAP
|
||||
1553 0.2 CompNP
|
||||
1516 0.2 ComplVV
|
||||
1474 0.2 i_Pron
|
||||
1470 0.2 MkVPS
|
||||
1274 0.2 they_Pron
|
||||
1143 0.2 S_Chunk
|
||||
1133 0.2 PassVPSlash
|
||||
1084 0.2 NumCard
|
||||
955 0.2 DetDAP
|
||||
923 0.1 this_Quant
|
||||
918 0.1 ConjNP
|
||||
918 0.1 BaseNP
|
||||
915 0.1 we_Pron
|
||||
827 0.1 SubjS
|
||||
804 0.1 VPS_Chunk
|
||||
739 0.1 UseDAP
|
||||
702 0.1 it_Pron
|
||||
679 0.1 AdvAP
|
||||
675 0.1 youSgFem_Pron
|
||||
644 0.1 num
|
||||
643 0.1 PNeg
|
||||
640 0.1 pot3as4
|
||||
640 0.1 pot1as2
|
||||
639 0.1 pot2as3
|
||||
610 0.1 NP_Acc_Chunk
|
||||
594 0.1 AP_Chunk
|
||||
593 0.1 pot0as1
|
||||
583 0.1 PositAdvAdj
|
||||
580 0.1 ReflPoss
|
||||
569 0.1 AdAP
|
||||
565 0.1 ReflVPSlash
|
||||
560 0.1 InOrderToVP
|
||||
539 0.1 GerundNP
|
||||
523 0.1 NumNumeral
|
||||
496 0.1 PhrUttMark
|
||||
460 0.1 UseQCl
|
||||
439 0.1 AdVVP
|
||||
435 0.1 AdvS
|
||||
430 0.1 ProgrVP
|
||||
422 0.1 ApposCN
|
||||
419 0.1 pot0
|
||||
394 0.1 ConjAP
|
||||
394 0.1 BaseAP
|
||||
375 0.1 PredVPS
|
||||
372 0.1 AAnter
|
||||
360 0.1 PresPartAP
|
||||
355 0.1 PredetNP
|
||||
347 0.1 UseRCl
|
||||
345 0.1 Adv_Chunk
|
||||
343 0.1 UttAPMasc
|
||||
334 0.1 CompAdv
|
||||
325 0.1 UttQS
|
||||
323 0.1 RelCN
|
||||
320 0.1 IdRP
|
||||
317 0.1 PositAdAAdj
|
||||
307 0.0 QuestMark
|
||||
294 0.0 Det_Chunk
|
||||
292 0.0 UttVPS
|
||||
278 0.0 ComplVS
|
||||
277 0.0 IDig
|
||||
269 0.0 that_Quant
|
||||
268 0.0 Slash2V3
|
||||
267 0.0 DetQuantOrd
|
||||
265 0.0 UttAdv
|
||||
260 0.0 Prep_Chunk
|
||||
257 0.0 NP_Nom_Chunk
|
||||
255 0.0 NumDigits
|
||||
253 0.0 CN_Sg_Chunk
|
||||
248 0.0 CompoundAP
|
||||
247 0.0 gen_Quant
|
||||
242 0.0 QuestCl
|
||||
240 0.0 UseACard
|
||||
232 0.0 ComplVA
|
||||
231 0.0 TFut
|
||||
229 0.0 n2
|
||||
225 0.0 IIDig
|
||||
217 0.0 UseVC
|
||||
215 0.0 RelVP
|
||||
215 0.0 ConjVPS
|
||||
215 0.0 BaseVPS
|
||||
206 0.0 no_Quant
|
||||
195 0.0 many_ACard
|
||||
184 0.0 ExclMark
|
||||
181 0.0 every_Det
|
||||
180 0.0 youSg_Pron
|
||||
175 0.0 pot01
|
||||
168 0.0 ExistNPAdv
|
||||
162 0.0 AdvCN
|
||||
161 0.0 SlashV2V
|
||||
161 0.0 PassAgentVPSlash
|
||||
161 0.0 Conj_Chunk
|
||||
160 0.0 some_Quant
|
||||
157 0.0 OrdSuperl
|
||||
155 0.0 SlashVP
|
||||
134 0.0 UseComparA
|
||||
128 0.0 ExtAdvS
|
||||
127 0.0 ConjS
|
||||
127 0.0 BaseS
|
||||
123 0.0 whatSg_IP
|
||||
121 0.0 neg_Chunk
|
||||
121 0.0 RelSlash
|
||||
119 0.0 TCond
|
||||
113 0.0 EmbedVP
|
||||
111 0.0 UseDAPMasc
|
||||
110 0.0 QS_Chunk
|
||||
110 0.0 ApposNP
|
||||
109 0.0 OrdNumeral
|
||||
102 0.0 n3
|
||||
102 0.0 CN_Pl_Chunk
|
||||
98 0.0 rpar_Chunk
|
||||
98 0.0 lpar_Chunk
|
||||
94 0.0 GerundAdv
|
||||
92 0.0 CountNP
|
||||
89 0.0 SentAP
|
||||
88 0.0 some_Det
|
||||
88 0.0 QuestVP
|
||||
88 0.0 MkVPI
|
||||
86 0.0 VPI_Chunk
|
||||
86 0.0 ComplN2
|
||||
78 0.0 comma_Chunk
|
||||
74 0.0 GenModNP
|
||||
74 0.0 AdAdv
|
||||
70 0.0 IAdv_Chunk
|
||||
69 0.0 Phrase_Chunk
|
||||
65 0.0 questmark_Chunk
|
||||
58 0.0 CNNumNP
|
||||
57 0.0 each_Det
|
||||
57 0.0 QuestIAdv
|
||||
56 0.0 quote_Chunk
|
||||
55 0.0 much_ACard
|
||||
54 0.0 AdjDAP
|
||||
53 0.0 SelfAdvVP
|
||||
53 0.0 ConjAdv
|
||||
53 0.0 BaseAdv
|
||||
52 0.0 fullstop_Chunk
|
||||
50 0.0 whoSg_IP
|
||||
50 0.0 UttCN
|
||||
49 0.0 QuestIComp
|
||||
46 0.0 exclmark_Chunk
|
||||
46 0.0 NumMore
|
||||
46 0.0 DirectComplVS
|
||||
46 0.0 ConjDet
|
||||
46 0.0 BaseDAP
|
||||
45 0.0 another_Det
|
||||
44 0.0 anySg_Det
|
||||
44 0.0 CompIP
|
||||
42 0.0 another_Quant
|
||||
42 0.0 ExtAdvVP
|
||||
41 0.0 semicolon_Chunk
|
||||
41 0.0 languageNP
|
||||
41 0.0 PrepIP
|
||||
41 0.0 GerundCN
|
||||
41 0.0 ConjCN
|
||||
41 0.0 BaseCN
|
||||
40 0.0 past_copula_Chunk
|
||||
40 0.0 ExtAdvNP
|
||||
39 0.0 UttCN_Sg
|
||||
39 0.0 ImpersCl
|
||||
39 0.0 ComplA2
|
||||
38 0.0 n4
|
||||
38 0.0 languageCN
|
||||
38 0.0 VPlay
|
||||
38 0.0 ExistNP
|
||||
36 0.0 refl_SgP3_Chunk
|
||||
36 0.0 AdvIAdv
|
||||
35 0.0 IP_Chunk
|
||||
34 0.0 weekdayN
|
||||
34 0.0 most_Det
|
||||
32 0.0 anySg_1_Det
|
||||
30 0.0 AdV_Chunk
|
||||
29 0.0 which_IQuant
|
||||
29 0.0 NP_Gen_Chunk
|
||||
29 0.0 IdetQuant
|
||||
28 0.0 Predet_Chunk
|
||||
27 0.0 pot110
|
||||
27 0.0 PastPartAP
|
||||
27 0.0 ImpPl1
|
||||
26 0.0 UseAdAACard
|
||||
26 0.0 SlashV2A
|
||||
26 0.0 AdNum
|
||||
25 0.0 IdetIP
|
||||
25 0.0 ComplVQ
|
||||
24 0.0 SentCN
|
||||
24 0.0 RelNP
|
||||
24 0.0 QuestSlash
|
||||
24 0.0 BareN2
|
||||
23 0.0 n6
|
||||
23 0.0 intYear
|
||||
23 0.0 PImperativePlurPos
|
||||
23 0.0 AdvVPSlash
|
||||
22 0.0 n5
|
||||
22 0.0 UttVPShort
|
||||
22 0.0 Subj_Chunk
|
||||
OrdDigits
|
||||
IdetCN
|
||||
AdA_Chunk
|
||||
yearAdv
|
||||
copula_Chunk
|
||||
ConsNP
|
||||
AdjOrd
|
||||
ComparA
|
||||
timeunitAdv
|
||||
PartNP
|
||||
UttNP_Acc
|
||||
that_RP
|
||||
SSubjS
|
||||
weather_adjCl
|
||||
past_perfect_Chunk
|
||||
monthN
|
||||
dash_Chunk
|
||||
UttImpPl
|
||||
NumLess
|
||||
n7
|
||||
ComplSlashPartLast
|
||||
AdvRVP
|
||||
both_Det
|
||||
TimeNP
|
||||
weekdayPunctualAdv
|
||||
UsePN
|
||||
PImperativePolPos
|
||||
whatPl_IP
|
||||
perfect_Chunk
|
||||
anyPl_Det
|
||||
PastPartAgentAP
|
||||
Numeral_Nom_Chunk
|
||||
EmptyRelSlash
|
||||
pot1
|
||||
how8many_IDet
|
||||
few_Det
|
||||
copula_inf_Chunk
|
||||
VocNP
|
||||
UttNP_Nom
|
||||
PGreetingMale
|
||||
PGreetingFemale
|
||||
2000
src/rukiga/test.treebank
Normal file
2000
src/rukiga/test.treebank
Normal file
File diff suppressed because it is too large
Load Diff
1965
src/rukiga/trees.english
Normal file
1965
src/rukiga/trees.english
Normal file
File diff suppressed because it is too large
Load Diff
1999
src/rukiga/trees.test
Normal file
1999
src/rukiga/trees.test
Normal file
File diff suppressed because it is too large
Load Diff
67
src/rukiga/ud-rgl-trees.txt
Normal file
67
src/rukiga/ud-rgl-trees.txt
Normal file
@@ -0,0 +1,67 @@
|
||||
PhrUtt NoPConj (UttNP (AdvNP (DetCN (DetQuant DefArt NumPl) (UseN child_N)) (SubjS when_Subj (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron we_Pron) (ComplSlash (SlashV2a see_V2) (UsePron they_Pron))))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2a have_V2) (DetCN (DetQuant IndefArt NumSg) (SentCN (UseN reason_N) (EmbedVP (UseV go_V)))))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2a like_V2) (DetCN (DetQuant DefArt NumSg) (SentCN (UseN rule_N) (EmbedS (UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant DefArt NumPl) (UseN book_N)) (UseComp (CompAP (PositA thin_A)))))))))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2a see_V2) (DetCN (DetQuant DefArt NumSg) (RelCN (UseN man_N) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash IdRP (SlashVP (UsePron youSg_Pron) (SlashV2a love_V2)))))))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2a see_V2) (DetCN (DetQuant DefArt NumSg) (RelCN (UseN book_N) (UseRCl (TTAnt TPast ASimul) PPos (RelSlash IdRP (SlashVP (UsePron youSg_Pron) (SlashV2a buy_V2)))))))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (DetCN (DetQuant DefArt NumSg) (UseN cat_N)) (AdvVP (UseV jump_V) (SubjS when_Subj (UseCl (TTAnt TPast ASimul) PPos (PredVP (DetCN (DetQuant DefArt NumSg) (UseN dog_N)) (UseV come_V)))))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (ExtAdvS (SubjS if_Subj (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron youSg_Pron) (ComplVQ know_VQ (UseQCl (TTAnt TPast ASimul) PPos (QuestVP whoSg_IP (ComplSlash (SlashV2a do_V2) (UsePron it_Pron)))))))) (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron youSg_Pron) (ComplVV must_VV (UseV go_V)))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron he_Pron) (AdvVP (UseComp (CompAP (PositA ready_A))) (SubjS when_Subj (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2a see_V2) (UsePron he_Pron))))))))) NoVoc
|
||||
PhrUtt NoPConj (UttCN (AdjCN (AdAP (PositAdAAdj clever_A) (PositA correct_A)) (UseN rule_N))) NoVoc
|
||||
PhrUtt NoPConj (UttAdv (ComparAdvAdj less_CAdv probable_AS (UsePN john_PN))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePN john_PN) (ComplSlash (SlashV2a eat_V2) (MassNP (AdjCN (PositA red_A) (UseN meat_N))))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPres AAnter) PPos (PredVP (UsePN john_PN) (UseV die_V)))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron he_Pron) (ComplVV must_VV (UseV go_V))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPres AAnter) PPos (PredVP (UsePN john_PN) (PassV2 kill_V2)))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePN john_PN) (PassV2 kill_V2)))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2a see_V2) (DetCN (DetQuant IndefArt NumSg) (AdvCN (UseN cat_N) (PrepNP in_Prep (DetCN (DetQuant IndefArt NumSg) (UseN hat_N))))))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron i_Pron) (AdvVP (ComplSlash (SlashV2a see_V2) (DetCN (DetQuant IndefArt NumSg) (UseN cat_N))) (PrepNP with_Prep (DetCN (DetQuant (PossPron i_Pron) NumPl) (UseN eye_N))))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron he_Pron) (UseComp (CompAP (ComplA2 married_A2 (UsePron she_Pron))))))) NoVoc
|
||||
PhrUtt (PConjConj and_Conj) (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron we_Pron) (UseV go_V)))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (ConjNP both7and_DConj (BaseNP (DetCN (DetQuant DefArt NumPl) (UseN boy_N)) (DetCN (DetQuant DefArt NumPl) (UseN girl_N)))) (UseComp (CompAdv here_Adv))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron he_Pron) (ComplVS say_VS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron youSg_Pron) (ComplVV want_VV (UseV swim_V)))))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (UseComp (CompAP (SentAP (PositA uncertain_A) (EmbedS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron he_Pron) (ComplSlash (SlashV2a do_V2) (UsePron it_Pron))))))))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2a have_V2) (DetCN (DetQuant IndefArt (NumCard (NumNumeral (num (pot3 (pot1as2 (pot0as1 (pot0 n4)))))))) (UseN sheep_N)))))) NoVoc
|
||||
ChunkPhr (PlusChunk (SSlash_Chunk (UseSlash (TTAnt TPast ASimul) PPos (SlashVP (UsePron i_Pron) (SlashV2a lose_V2)))) (PlusChunk (Symb_Chunk (MkSymb "$")) (PlusChunk (Symb_Chunk (MkSymb "3.2")) (OneChunk (CN_Sg_Chunk (UseN billion_N))))))
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron they_Pron) (ComplSlash (SlashV2a switch8off_V2) (DetCN (DetQuant DefArt NumSg) (UseN television_N)))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePN john_PN) (UseComp (CompAP (ConjAP and_Conj (BaseAP (PositA big_A) (PositA clever_A)))))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePN john_PN) (UseComp (CompCN (AdjCN (PositA clever_A) (UseN man_N))))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePN john_PN) (UseComp (CompAdv (PrepNP from_Prep (DetCN (DetQuant DefArt NumSg) (UseN city_N)))))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePN john_PN) (UseComp (CompAP (PositA clever_A)))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron it_Pron) (UseComp (CompAdv today_Adv))))) NoVoc
|
||||
PhrUtt NoPConj (UttQS (UseQCl (TTAnt TPres ASimul) PPos (QuestIComp (CompIP whatSg_IP) (DetNP (DetQuant that_Quant NumSg))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron it_Pron) (UseComp (CompAdv (SubjS because_Subj (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePN john_PN) (UseComp (CompAP (PositA clever_A))))))))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePN john_PN) (ComplVA become_VA (PositA clever_A))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePN john_PN) (ProgrVP (UseV sleep_V))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (ExistNPAdv (DetCN (DetQuant IndefArt NumSg) (UseN cow_N)) (PrepNP in_Prep (DetCN (DetQuant DefArt NumSg) (UseN forest_N)))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredSCVP (EmbedQS (UseQCl (TTAnt TPast ASimul) PPos (QuestSlash whatSg_IP (SlashVP (UsePron she_Pron) (SlashV2a do_V2))))) (UseComp (CompAP (PositA important_A)))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredSCVP (EmbedS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron she_Pron) (UseV sleep_V)))) (AdvVP (PassV2 see_V2) (PrepNP by8agent_Prep (DetNP every_Det)))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant DefArt NumSg) (UseN man_N)) (UseComp (CompAdv here_Adv))))) NoVoc
|
||||
PhrUtt NoPConj (UttQS (UseQCl (TTAnt TPres ASimul) PPos (QuestSlash (IdetCN (IdetQuant which_IQuant NumSg) (UseN book_N)) (SlashVP (UsePron youSg_Pron) (SlashV2a like_V2))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (PredetNP all_Predet (DetCN (DetQuant DefArt NumPl) (UseN boy_N))) (UseComp (CompAdv here_Adv))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron she_Pron) (ComplSlash (Slash2V3 give_V3 (UsePron i_Pron)) (DetCN (DetQuant IndefArt NumSg) (UseN apple_N)))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (ExistNPAdv (DetCN (DetQuant IndefArt NumSg) (UseN cat_N)) (PrepNP in_Prep (DetCN (DetQuant DefArt NumSg) (UseN house_N)))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron she_Pron) (ComplSlash (Slash2V3 give_V3 (UsePron i_Pron)) (DetCN (DetQuant IndefArt NumSg) (UseN apple_N)))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (DetCN (DetQuant IndefArt NumPl) (UseN boy_N)) (AdvVP (ProgrVP (UseV swim_V)) (SubjS when_Subj (UseCl (TTAnt TPast ASimul) PPos (PredVP (DetCN (DetQuant DefArt NumPl) (UseN girl_N)) (UseV come_V)))))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron he_Pron) (ComplVS say_VS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron youSg_Pron) (ComplVV want_VV (UseV swim_V)))))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron i_Pron) (ComplVV want_VV (ComplSlash (SlashV2a eat_V2) (UsePron it_Pron)))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePN john_PN) (UseComp (CompNP (PredetNP not_Predet (DetCN (DetQuant IndefArt NumSg) (UseN doctor_N)))))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PNeg (PredVP (UsePN john_PN) (UseV laugh_V)))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePN john_PN) (ComplSlash (SlashV2a see_V2) (DetCN (DetQuant no_Quant NumPl) (UseN animal_N)))))) NoVoc
|
||||
PhrUtt NoPConj (UttNP (DetCN (DetQuant DefArt NumSg) (PossNP (UseN house_N) (DetCN (DetQuant DefArt NumSg) (UseN doctor_N))))) NoVoc
|
||||
PhrUtt NoPConj (UttImpSg PPos (ImpVP (ComplSlash (Slash2V3 send_V3 (DetCN (DetQuant DefArt NumPl) (UseN apple_N))) (DetCN (DetQuant DefArt NumPl) (UseN child_N))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant DefArt NumSg) (UseN boy_N)) (has_age_VP (NumDigits (IDig D_6)))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant DefArt NumSg) (UseN science_N)) (SelfAdVVP (UseComp (CompAP (PositA important_A))))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (ExtAdvS today_Adv (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron i_Pron) (AdvVP (UseV swim_V) (PrepNP in_Prep (DetCN (DetQuant DefArt NumSg) (UseN sea_N)))))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron youSg_Pron) (AdvVP (ComplVV must_VV (ComplSlash (SlashV2a read_V2) (DetCN (DetQuant DefArt NumSg) (UseN book_N)))) (PrepNP before_Prep (UsePN (weekdayPN monday_Weekday))))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePN john_PN) (ComplSlash (SlashV2a kill_V2) (UsePron he_Pron))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron he_Pron) (AdvVP (PassV2 kill_V2) (PrepNP by8agent_Prep (UsePN john_PN)))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePN john_PN) (ComplSlash (SlashV2a eat_V2) (DetCN (DetQuant IndefArt (NumCard (NumDigits (IDig D_3)))) (UseN sheep_N)))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePN john_PN) (ComplSlash (SlashV2a find_V2) (DetCN (DetQuant IndefArt (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot1 n4))))))) (UseN cat_N)))))) NoVoc
|
||||
TExclMark (PhrUtt NoPConj (UttImpSg PPos (ImpVP (AdvVP (UseV go_V) (PrepNP to_Prep (DetCN (DetQuant DefArt NumSg) (UseN house_N)))))) NoVoc) TEmpty
|
||||
TFullStop (PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2a love_V2) (DetCN (DetQuant IndefArt NumPl) (AdjCN (PositA red_A) (UseN apple_N))))))) NoVoc) TEmpty
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePN john_PN) (UseComp (CompNP (DetCN (DetQuant IndefArt NumSg) (AdjCN (PositA clever_A) (UseN man_N)))))))) NoVoc
|
||||
PhrUtt NoPConj (UttImpSg PPos (ImpVP (AdvVP (UseV come_V) here_Adv))) (VocNP (DetCN (DetQuant IndefArt NumPl) (UseN boy_N)))
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron he_Pron) (ComplVS say_VS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron youSg_Pron) (ComplVV want_VV (UseV swim_V)))))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron she_Pron) (ComplSlash (SlashV2V beg_V2V (ComplSlash (SlashV2a find_V2) (DetCN (DetQuant (PossPron she_Pron) NumSg) (UseN dog_N)))) (UsePN john_PN))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (ComplSlash (SlashV2A paint_V2A (PositA red_A)) (UsePron it_Pron))))) NoVoc
|
||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron she_Pron) (ComplVA become_VA (AdAP very_AdA (PositA beautiful_A)))))) NoVoc
|
||||
2
src/rukiga/unimplemented_func.txt
Normal file
2
src/rukiga/unimplemented_func.txt
Normal file
File diff suppressed because one or more lines are too long
728
src/rukiga/unimplemented_func_lines.txt
Normal file
728
src/rukiga/unimplemented_func_lines.txt
Normal file
@@ -0,0 +1,728 @@
|
||||
AdAdv
|
||||
AddAdvQVP
|
||||
AdnCAdv
|
||||
AdvAP
|
||||
AdvIAdv
|
||||
AdvIP
|
||||
AdvQVP
|
||||
AdvS
|
||||
AdvSlash
|
||||
BaseAP
|
||||
BaseAdV
|
||||
BaseAdv
|
||||
BaseCN
|
||||
BaseDAP
|
||||
BaseIAdv
|
||||
BaseNP
|
||||
BaseRS
|
||||
BaseS
|
||||
CAdvAP
|
||||
CleftAdv
|
||||
CleftNP
|
||||
ComparA
|
||||
ComparAdvAdj
|
||||
ComparAdvAdjS
|
||||
ComplA
|
||||
ComplSlashIP
|
||||
ConjAP
|
||||
ConjAdV
|
||||
ConjAdv
|
||||
ConjCN
|
||||
ConjDet
|
||||
ConjIAdv
|
||||
ConjNP
|
||||
ConjRS
|
||||
ConjS
|
||||
ConsAP
|
||||
ConsAdV
|
||||
ConsAdv
|
||||
ConsCN
|
||||
ConsDAP
|
||||
ConsIAdv
|
||||
ConsNP
|
||||
ConsRS
|
||||
ConsS
|
||||
EmbedQS
|
||||
EmbedS
|
||||
EmbedVP
|
||||
ExistIP
|
||||
ExistIPAdv
|
||||
ExistNP
|
||||
ExistNPAdv
|
||||
ExtAdvS
|
||||
ExtAdvVP
|
||||
FunRP
|
||||
GenericCl
|
||||
IdetQuant
|
||||
ImpP
|
||||
ImpPl
|
||||
ImpersCl
|
||||
InLanguage
|
||||
InflectionA
|
||||
InflectionA
|
||||
InflectionAdv
|
||||
InflectionN
|
||||
InflectionN
|
||||
InflectionN
|
||||
InflectionPrep
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionVA
|
||||
InflectionVQ
|
||||
InflectionVS
|
||||
InflectionVV
|
||||
MarkupAP
|
||||
MarkupAdv
|
||||
MarkupCN
|
||||
MarkupNP
|
||||
MarkupPhr
|
||||
MarkupS
|
||||
MarkupText
|
||||
MarkupUtt
|
||||
MkDefinition
|
||||
MkDefinitionEx
|
||||
MkDocument
|
||||
MkTag
|
||||
NoDefinition
|
||||
PConjConj
|
||||
PassV
|
||||
PositAdAAdj
|
||||
PositAdvAdj
|
||||
PredSCVP
|
||||
PrepIP
|
||||
ProgrVP
|
||||
QuestQVP
|
||||
ReflA
|
||||
ReflVP
|
||||
RelS
|
||||
SSubjS
|
||||
SelfAdVVP
|
||||
SelfAdvVP
|
||||
SelfNP
|
||||
SentAP
|
||||
SentCN
|
||||
SlashPrep
|
||||
SlashV
|
||||
SlashV
|
||||
SlashV
|
||||
SlashV
|
||||
SlashV
|
||||
VNP
|
||||
SlashVS
|
||||
SubjS
|
||||
UseA
|
||||
UseSlash
|
||||
VPSlashPrep
|
||||
VocNP
|
||||
Mark
|
||||
above
|
||||
Prep
|
||||
active
|
||||
passive
|
||||
afrikaans
|
||||
Language
|
||||
airplane
|
||||
already
|
||||
Adv
|
||||
although
|
||||
Subj
|
||||
amharic
|
||||
Language
|
||||
answer
|
||||
apartment
|
||||
april
|
||||
Month
|
||||
arabic
|
||||
Language
|
||||
art
|
||||
as
|
||||
CAdv
|
||||
ashes
|
||||
ask
|
||||
at
|
||||
most
|
||||
AdN
|
||||
august
|
||||
Month
|
||||
Mark
|
||||
back
|
||||
bank
|
||||
bark
|
||||
beautiful
|
||||
because
|
||||
Subj
|
||||
before
|
||||
Prep
|
||||
beg
|
||||
belly
|
||||
blow
|
||||
bone
|
||||
boot
|
||||
boss
|
||||
both
|
||||
and
|
||||
DConj
|
||||
bottle
|
||||
of
|
||||
CN
|
||||
breast
|
||||
breathe
|
||||
broad
|
||||
brother
|
||||
brown
|
||||
bulgarian
|
||||
Language
|
||||
burn
|
||||
butter
|
||||
by
|
||||
agent
|
||||
Prep
|
||||
by
|
||||
means
|
||||
Prep
|
||||
camera
|
||||
cap
|
||||
carpet
|
||||
catalan
|
||||
Language
|
||||
ceiling
|
||||
chair
|
||||
cheese
|
||||
chinese
|
||||
Language
|
||||
church
|
||||
clever
|
||||
coat
|
||||
correct
|
||||
country
|
||||
cousin
|
||||
cup
|
||||
of
|
||||
CN
|
||||
danish
|
||||
Language
|
||||
dayMonthAdv
|
||||
dayMonthYearAdv
|
||||
day
|
||||
day
|
||||
Timeunit
|
||||
dconcat
|
||||
december
|
||||
Month
|
||||
die
|
||||
dig
|
||||
digits
|
||||
num
|
||||
digits
|
||||
numeral
|
||||
dirty
|
||||
dn
|
||||
dn
|
||||
dn
|
||||
dn
|
||||
dn
|
||||
dn
|
||||
dn
|
||||
doctor
|
||||
door
|
||||
dry
|
||||
dull
|
||||
during
|
||||
Prep
|
||||
dust
|
||||
dutch
|
||||
Language
|
||||
ear
|
||||
earth
|
||||
easy
|
||||
egg
|
||||
eightHour
|
||||
eighteenHour
|
||||
either
|
||||
or
|
||||
DConj
|
||||
elevenHour
|
||||
empty
|
||||
enemy
|
||||
english
|
||||
Language
|
||||
estonian
|
||||
Language
|
||||
everybody
|
||||
NP
|
||||
everything
|
||||
NP
|
||||
except
|
||||
Prep
|
||||
eye
|
||||
factory
|
||||
fall
|
||||
far
|
||||
Adv
|
||||
fat
|
||||
feather
|
||||
february
|
||||
Month
|
||||
few
|
||||
short
|
||||
of
|
||||
fifteenHour
|
||||
fight
|
||||
fingernail
|
||||
finnish
|
||||
Language
|
||||
fiveHour
|
||||
float
|
||||
floor
|
||||
flow
|
||||
fly
|
||||
fog
|
||||
foot
|
||||
for
|
||||
Prep
|
||||
forest
|
||||
forget
|
||||
fourHour
|
||||
fourteenHour
|
||||
freeze
|
||||
french
|
||||
Language
|
||||
friday
|
||||
Weekday
|
||||
fridge
|
||||
fruit
|
||||
full
|
||||
fun
|
||||
AV
|
||||
garden
|
||||
german
|
||||
Language
|
||||
glass
|
||||
of
|
||||
CN
|
||||
glove
|
||||
gold
|
||||
grass
|
||||
greek
|
||||
Language
|
||||
guts
|
||||
Mark
|
||||
Mark
|
||||
hair
|
||||
hand
|
||||
harbour
|
||||
has
|
||||
age
|
||||
VP
|
||||
hat
|
||||
hate
|
||||
have
|
||||
name
|
||||
Cl
|
||||
head
|
||||
hear
|
||||
heart
|
||||
hebrew
|
||||
Language
|
||||
here
|
||||
from
|
||||
Adv
|
||||
here
|
||||
to
|
||||
Adv
|
||||
hill
|
||||
hindi
|
||||
Language
|
||||
hit
|
||||
hold
|
||||
horn
|
||||
hour
|
||||
Timeunit
|
||||
how
|
||||
much
|
||||
IAdv
|
||||
how
|
||||
far
|
||||
QCl
|
||||
how
|
||||
old
|
||||
QCl
|
||||
hungry
|
||||
VP
|
||||
hunt
|
||||
husband
|
||||
Mark
|
||||
ice
|
||||
if
|
||||
Subj
|
||||
if
|
||||
then
|
||||
Conj
|
||||
ill
|
||||
VP
|
||||
important
|
||||
industry
|
||||
intMonthday
|
||||
intYear
|
||||
iron
|
||||
is
|
||||
right
|
||||
VP
|
||||
is
|
||||
wrong
|
||||
VP
|
||||
italian
|
||||
Language
|
||||
january
|
||||
Month
|
||||
japanese
|
||||
Language
|
||||
july
|
||||
Month
|
||||
june
|
||||
Month
|
||||
king
|
||||
knee
|
||||
know
|
||||
lake
|
||||
lamp
|
||||
languageCN
|
||||
languageNP
|
||||
language
|
||||
title
|
||||
Utt
|
||||
latin
|
||||
Language
|
||||
latvian
|
||||
Language
|
||||
laugh
|
||||
leaf
|
||||
learn
|
||||
leather
|
||||
leave
|
||||
left
|
||||
Ord
|
||||
leg
|
||||
less
|
||||
CAdv
|
||||
li
|
||||
Mark
|
||||
lie
|
||||
like
|
||||
listen
|
||||
liver
|
||||
long
|
||||
lose
|
||||
louse
|
||||
love
|
||||
maltese
|
||||
Language
|
||||
march
|
||||
Month
|
||||
married
|
||||
married
|
||||
Cl
|
||||
may
|
||||
Month
|
||||
meat
|
||||
minute
|
||||
Timeunit
|
||||
monday
|
||||
Weekday
|
||||
monthAdv
|
||||
monthN
|
||||
monthPN
|
||||
monthYearAdv
|
||||
month
|
||||
Timeunit
|
||||
moon
|
||||
more
|
||||
CAdv
|
||||
mother
|
||||
mountain
|
||||
mouth
|
||||
much
|
||||
Det
|
||||
units
|
||||
AP
|
||||
units
|
||||
of
|
||||
NP
|
||||
name
|
||||
narrow
|
||||
nd
|
||||
nd
|
||||
nd
|
||||
nd
|
||||
nd
|
||||
near
|
||||
neck
|
||||
nepali
|
||||
Language
|
||||
newspaper
|
||||
night
|
||||
nineHour
|
||||
nineteenHour
|
||||
no
|
||||
Utt
|
||||
nobody
|
||||
NP
|
||||
norwegian
|
||||
Language
|
||||
nose
|
||||
nothing
|
||||
NP
|
||||
november
|
||||
Month
|
||||
num
|
||||
digits
|
||||
number
|
||||
october
|
||||
Month
|
||||
oil
|
||||
oneHour
|
||||
open
|
||||
Mark
|
||||
paint
|
||||
paper
|
||||
part
|
||||
Prep
|
||||
peace
|
||||
pen
|
||||
persian
|
||||
Language
|
||||
person
|
||||
planet
|
||||
plastic
|
||||
play
|
||||
policeman
|
||||
polish
|
||||
Language
|
||||
possess
|
||||
Prep
|
||||
priest
|
||||
probable
|
||||
AS
|
||||
pull
|
||||
punjabi
|
||||
Language
|
||||
push
|
||||
put
|
||||
queen
|
||||
question
|
||||
quite
|
||||
Adv
|
||||
radio
|
||||
rain
|
||||
rain
|
||||
ready
|
||||
VP
|
||||
reason
|
||||
religion
|
||||
restaurant
|
||||
right
|
||||
Ord
|
||||
road
|
||||
rock
|
||||
romanian
|
||||
Language
|
||||
roof
|
||||
root
|
||||
rope
|
||||
rotten
|
||||
round
|
||||
rub
|
||||
rubber
|
||||
rule
|
||||
russian
|
||||
Language
|
||||
salt
|
||||
sand
|
||||
saturday
|
||||
Weekday
|
||||
scared
|
||||
VP
|
||||
school
|
||||
science
|
||||
scratch
|
||||
second
|
||||
Timeunit
|
||||
seed
|
||||
seek
|
||||
september
|
||||
Month
|
||||
sevenHour
|
||||
seventeenHour
|
||||
sew
|
||||
sharp
|
||||
sheep
|
||||
shirt
|
||||
shoe
|
||||
shop
|
||||
short
|
||||
silver
|
||||
sindhi
|
||||
Language
|
||||
sing
|
||||
sister
|
||||
sit
|
||||
sixHour
|
||||
sixteenHour
|
||||
skin
|
||||
sky
|
||||
smell
|
||||
smoke
|
||||
smooth
|
||||
snake
|
||||
snow
|
||||
sock
|
||||
somebody
|
||||
NP
|
||||
something
|
||||
NP
|
||||
somewhere
|
||||
Adv
|
||||
song
|
||||
spanish
|
||||
Language
|
||||
speak
|
||||
spit
|
||||
split
|
||||
squeeze
|
||||
stab
|
||||
stand
|
||||
steel
|
||||
stick
|
||||
stone
|
||||
stop
|
||||
stove
|
||||
straight
|
||||
student
|
||||
stupid
|
||||
suck
|
||||
sun
|
||||
sunday
|
||||
Weekday
|
||||
swahili
|
||||
Language
|
||||
swedish
|
||||
Language
|
||||
swell
|
||||
switch
|
||||
off
|
||||
switch
|
||||
on
|
||||
table
|
||||
Mark
|
||||
table
|
||||
tail
|
||||
td
|
||||
Mark
|
||||
teacher
|
||||
television
|
||||
tenHour
|
||||
thai
|
||||
Language
|
||||
there
|
||||
from
|
||||
Adv
|
||||
there
|
||||
to
|
||||
Adv
|
||||
there
|
||||
Adv
|
||||
they
|
||||
Pron
|
||||
thick
|
||||
thin
|
||||
think
|
||||
thirsty
|
||||
VP
|
||||
thirteenHour
|
||||
threeHour
|
||||
through
|
||||
Prep
|
||||
throw
|
||||
thursday
|
||||
Weekday
|
||||
tie
|
||||
timeHour
|
||||
timeHourMinute
|
||||
timeunitAdv
|
||||
tired
|
||||
VP
|
||||
today
|
||||
Adv
|
||||
tongue
|
||||
tooth
|
||||
tr
|
||||
Mark
|
||||
tuesday
|
||||
Weekday
|
||||
turkish
|
||||
Language
|
||||
turn
|
||||
twelveHour
|
||||
twentyFourHour
|
||||
twentyHour
|
||||
twentyOneHour
|
||||
twentyThreeHour
|
||||
twentyTwoHour
|
||||
twoHour
|
||||
ugly
|
||||
ul
|
||||
Mark
|
||||
uncertain
|
||||
university
|
||||
urdu
|
||||
Language
|
||||
village
|
||||
vomit
|
||||
war
|
||||
wash
|
||||
watch
|
||||
weather
|
||||
adjCl
|
||||
wednesday
|
||||
Weekday
|
||||
week
|
||||
Timeunit
|
||||
weekdayHabitualAdv
|
||||
weekdayLastAdv
|
||||
weekdayN
|
||||
weekdayNextAdv
|
||||
weekdayPN
|
||||
weekdayPunctualAdv
|
||||
wet
|
||||
what
|
||||
name
|
||||
QCl
|
||||
when
|
||||
Subj
|
||||
wide
|
||||
wife
|
||||
win
|
||||
wind
|
||||
window
|
||||
wing
|
||||
wipe
|
||||
without
|
||||
Prep
|
||||
wonder
|
||||
VQ
|
||||
wood
|
||||
worm
|
||||
write
|
||||
yearAdv
|
||||
year
|
||||
year
|
||||
Timeunit
|
||||
yes
|
||||
Utt
|
||||
youPol
|
||||
Pron
|
||||
3
src/rukiga/unimplemented_functions.text
Normal file
3
src/rukiga/unimplemented_functions.text
Normal file
File diff suppressed because one or more lines are too long
729
src/rukiga/unimplented_func_lines.txt
Normal file
729
src/rukiga/unimplented_func_lines.txt
Normal file
@@ -0,0 +1,729 @@
|
||||
LangCgg
|
||||
AdAdv
|
||||
AddAdvQVP
|
||||
AdnCAdv
|
||||
AdvAP
|
||||
AdvIAdv
|
||||
AdvIP
|
||||
AdvQVP
|
||||
AdvS
|
||||
AdvSlash
|
||||
BaseAP
|
||||
BaseAdV
|
||||
BaseAdv
|
||||
BaseCN
|
||||
BaseDAP
|
||||
BaseIAdv
|
||||
BaseNP
|
||||
BaseRS
|
||||
BaseS
|
||||
CAdvAP
|
||||
CleftAdv
|
||||
CleftNP
|
||||
ComparA
|
||||
ComparAdvAdj
|
||||
ComparAdvAdjS
|
||||
ComplA
|
||||
ComplSlashIP
|
||||
ConjAP
|
||||
ConjAdV
|
||||
ConjAdv
|
||||
ConjCN
|
||||
ConjDet
|
||||
ConjIAdv
|
||||
ConjNP
|
||||
ConjRS
|
||||
ConjS
|
||||
ConsAP
|
||||
ConsAdV
|
||||
ConsAdv
|
||||
ConsCN
|
||||
ConsDAP
|
||||
ConsIAdv
|
||||
ConsNP
|
||||
ConsRS
|
||||
ConsS
|
||||
EmbedQS
|
||||
EmbedS
|
||||
EmbedVP
|
||||
ExistIP
|
||||
ExistIPAdv
|
||||
ExistNP
|
||||
ExistNPAdv
|
||||
ExtAdvS
|
||||
ExtAdvVP
|
||||
FunRP
|
||||
GenericCl
|
||||
IdetQuant
|
||||
ImpP
|
||||
ImpPl
|
||||
ImpersCl
|
||||
InLanguage
|
||||
InflectionA
|
||||
InflectionA
|
||||
InflectionAdv
|
||||
InflectionN
|
||||
InflectionN
|
||||
InflectionN
|
||||
InflectionPrep
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionVA
|
||||
InflectionVQ
|
||||
InflectionVS
|
||||
InflectionVV
|
||||
MarkupAP
|
||||
MarkupAdv
|
||||
MarkupCN
|
||||
MarkupNP
|
||||
MarkupPhr
|
||||
MarkupS
|
||||
MarkupText
|
||||
MarkupUtt
|
||||
MkDefinition
|
||||
MkDefinitionEx
|
||||
MkDocument
|
||||
MkTag
|
||||
NoDefinition
|
||||
PConjConj
|
||||
PassV
|
||||
PositAdAAdj
|
||||
PositAdvAdj
|
||||
PredSCVP
|
||||
PrepIP
|
||||
ProgrVP
|
||||
QuestQVP
|
||||
ReflA
|
||||
ReflVP
|
||||
RelS
|
||||
SSubjS
|
||||
SelfAdVVP
|
||||
SelfAdvVP
|
||||
SelfNP
|
||||
SentAP
|
||||
SentCN
|
||||
SlashPrep
|
||||
SlashV
|
||||
SlashV
|
||||
SlashV
|
||||
SlashV
|
||||
SlashV
|
||||
VNP
|
||||
SlashVS
|
||||
SubjS
|
||||
UseA
|
||||
UseSlash
|
||||
VPSlashPrep
|
||||
VocNP
|
||||
Mark
|
||||
above
|
||||
Prep
|
||||
active
|
||||
passive
|
||||
afrikaans
|
||||
Language
|
||||
airplane
|
||||
already
|
||||
Adv
|
||||
although
|
||||
Subj
|
||||
amharic
|
||||
Language
|
||||
answer
|
||||
apartment
|
||||
april
|
||||
Month
|
||||
arabic
|
||||
Language
|
||||
art
|
||||
as
|
||||
CAdv
|
||||
ashes
|
||||
ask
|
||||
at
|
||||
most
|
||||
AdN
|
||||
august
|
||||
Month
|
||||
Mark
|
||||
back
|
||||
bank
|
||||
bark
|
||||
beautiful
|
||||
because
|
||||
Subj
|
||||
before
|
||||
Prep
|
||||
beg
|
||||
belly
|
||||
blow
|
||||
bone
|
||||
boot
|
||||
boss
|
||||
both
|
||||
and
|
||||
DConj
|
||||
bottle
|
||||
of
|
||||
CN
|
||||
breast
|
||||
breathe
|
||||
broad
|
||||
brother
|
||||
brown
|
||||
bulgarian
|
||||
Language
|
||||
burn
|
||||
butter
|
||||
by
|
||||
agent
|
||||
Prep
|
||||
by
|
||||
means
|
||||
Prep
|
||||
camera
|
||||
cap
|
||||
carpet
|
||||
catalan
|
||||
Language
|
||||
ceiling
|
||||
chair
|
||||
cheese
|
||||
chinese
|
||||
Language
|
||||
church
|
||||
clever
|
||||
coat
|
||||
correct
|
||||
country
|
||||
cousin
|
||||
cup
|
||||
of
|
||||
CN
|
||||
danish
|
||||
Language
|
||||
dayMonthAdv
|
||||
dayMonthYearAdv
|
||||
day
|
||||
day
|
||||
Timeunit
|
||||
dconcat
|
||||
december
|
||||
Month
|
||||
die
|
||||
dig
|
||||
digits
|
||||
num
|
||||
digits
|
||||
numeral
|
||||
dirty
|
||||
dn
|
||||
dn
|
||||
dn
|
||||
dn
|
||||
dn
|
||||
dn
|
||||
dn
|
||||
doctor
|
||||
door
|
||||
dry
|
||||
dull
|
||||
during
|
||||
Prep
|
||||
dust
|
||||
dutch
|
||||
Language
|
||||
ear
|
||||
earth
|
||||
easy
|
||||
egg
|
||||
eightHour
|
||||
eighteenHour
|
||||
either
|
||||
or
|
||||
DConj
|
||||
elevenHour
|
||||
empty
|
||||
enemy
|
||||
english
|
||||
Language
|
||||
estonian
|
||||
Language
|
||||
everybody
|
||||
NP
|
||||
everything
|
||||
NP
|
||||
except
|
||||
Prep
|
||||
eye
|
||||
factory
|
||||
fall
|
||||
far
|
||||
Adv
|
||||
fat
|
||||
feather
|
||||
february
|
||||
Month
|
||||
few
|
||||
short
|
||||
of
|
||||
fifteenHour
|
||||
fight
|
||||
fingernail
|
||||
finnish
|
||||
Language
|
||||
fiveHour
|
||||
float
|
||||
floor
|
||||
flow
|
||||
fly
|
||||
fog
|
||||
foot
|
||||
for
|
||||
Prep
|
||||
forest
|
||||
forget
|
||||
fourHour
|
||||
fourteenHour
|
||||
freeze
|
||||
french
|
||||
Language
|
||||
friday
|
||||
Weekday
|
||||
fridge
|
||||
fruit
|
||||
full
|
||||
fun
|
||||
AV
|
||||
garden
|
||||
german
|
||||
Language
|
||||
glass
|
||||
of
|
||||
CN
|
||||
glove
|
||||
gold
|
||||
grass
|
||||
greek
|
||||
Language
|
||||
guts
|
||||
Mark
|
||||
Mark
|
||||
hair
|
||||
hand
|
||||
harbour
|
||||
has
|
||||
age
|
||||
VP
|
||||
hat
|
||||
hate
|
||||
have
|
||||
name
|
||||
Cl
|
||||
head
|
||||
hear
|
||||
heart
|
||||
hebrew
|
||||
Language
|
||||
here
|
||||
from
|
||||
Adv
|
||||
here
|
||||
to
|
||||
Adv
|
||||
hill
|
||||
hindi
|
||||
Language
|
||||
hit
|
||||
hold
|
||||
horn
|
||||
hour
|
||||
Timeunit
|
||||
how
|
||||
much
|
||||
IAdv
|
||||
how
|
||||
far
|
||||
QCl
|
||||
how
|
||||
old
|
||||
QCl
|
||||
hungry
|
||||
VP
|
||||
hunt
|
||||
husband
|
||||
Mark
|
||||
ice
|
||||
if
|
||||
Subj
|
||||
if
|
||||
then
|
||||
Conj
|
||||
ill
|
||||
VP
|
||||
important
|
||||
industry
|
||||
intMonthday
|
||||
intYear
|
||||
iron
|
||||
is
|
||||
right
|
||||
VP
|
||||
is
|
||||
wrong
|
||||
VP
|
||||
italian
|
||||
Language
|
||||
january
|
||||
Month
|
||||
japanese
|
||||
Language
|
||||
july
|
||||
Month
|
||||
june
|
||||
Month
|
||||
king
|
||||
knee
|
||||
know
|
||||
lake
|
||||
lamp
|
||||
languageCN
|
||||
languageNP
|
||||
language
|
||||
title
|
||||
Utt
|
||||
latin
|
||||
Language
|
||||
latvian
|
||||
Language
|
||||
laugh
|
||||
leaf
|
||||
learn
|
||||
leather
|
||||
leave
|
||||
left
|
||||
Ord
|
||||
leg
|
||||
less
|
||||
CAdv
|
||||
li
|
||||
Mark
|
||||
lie
|
||||
like
|
||||
listen
|
||||
liver
|
||||
long
|
||||
lose
|
||||
louse
|
||||
love
|
||||
maltese
|
||||
Language
|
||||
march
|
||||
Month
|
||||
married
|
||||
married
|
||||
Cl
|
||||
may
|
||||
Month
|
||||
meat
|
||||
minute
|
||||
Timeunit
|
||||
monday
|
||||
Weekday
|
||||
monthAdv
|
||||
monthN
|
||||
monthPN
|
||||
monthYearAdv
|
||||
month
|
||||
Timeunit
|
||||
moon
|
||||
more
|
||||
CAdv
|
||||
mother
|
||||
mountain
|
||||
mouth
|
||||
much
|
||||
Det
|
||||
units
|
||||
AP
|
||||
units
|
||||
of
|
||||
NP
|
||||
name
|
||||
narrow
|
||||
nd
|
||||
nd
|
||||
nd
|
||||
nd
|
||||
nd
|
||||
near
|
||||
neck
|
||||
nepali
|
||||
Language
|
||||
newspaper
|
||||
night
|
||||
nineHour
|
||||
nineteenHour
|
||||
no
|
||||
Utt
|
||||
nobody
|
||||
NP
|
||||
norwegian
|
||||
Language
|
||||
nose
|
||||
nothing
|
||||
NP
|
||||
november
|
||||
Month
|
||||
num
|
||||
digits
|
||||
number
|
||||
october
|
||||
Month
|
||||
oil
|
||||
oneHour
|
||||
open
|
||||
Mark
|
||||
paint
|
||||
paper
|
||||
part
|
||||
Prep
|
||||
peace
|
||||
pen
|
||||
persian
|
||||
Language
|
||||
person
|
||||
planet
|
||||
plastic
|
||||
play
|
||||
policeman
|
||||
polish
|
||||
Language
|
||||
possess
|
||||
Prep
|
||||
priest
|
||||
probable
|
||||
AS
|
||||
pull
|
||||
punjabi
|
||||
Language
|
||||
push
|
||||
put
|
||||
queen
|
||||
question
|
||||
quite
|
||||
Adv
|
||||
radio
|
||||
rain
|
||||
rain
|
||||
ready
|
||||
VP
|
||||
reason
|
||||
religion
|
||||
restaurant
|
||||
right
|
||||
Ord
|
||||
road
|
||||
rock
|
||||
romanian
|
||||
Language
|
||||
roof
|
||||
root
|
||||
rope
|
||||
rotten
|
||||
round
|
||||
rub
|
||||
rubber
|
||||
rule
|
||||
russian
|
||||
Language
|
||||
salt
|
||||
sand
|
||||
saturday
|
||||
Weekday
|
||||
scared
|
||||
VP
|
||||
school
|
||||
science
|
||||
scratch
|
||||
second
|
||||
Timeunit
|
||||
seed
|
||||
seek
|
||||
september
|
||||
Month
|
||||
sevenHour
|
||||
seventeenHour
|
||||
sew
|
||||
sharp
|
||||
sheep
|
||||
shirt
|
||||
shoe
|
||||
shop
|
||||
short
|
||||
silver
|
||||
sindhi
|
||||
Language
|
||||
sing
|
||||
sister
|
||||
sit
|
||||
sixHour
|
||||
sixteenHour
|
||||
skin
|
||||
sky
|
||||
smell
|
||||
smoke
|
||||
smooth
|
||||
snake
|
||||
snow
|
||||
sock
|
||||
somebody
|
||||
NP
|
||||
something
|
||||
NP
|
||||
somewhere
|
||||
Adv
|
||||
song
|
||||
spanish
|
||||
Language
|
||||
speak
|
||||
spit
|
||||
split
|
||||
squeeze
|
||||
stab
|
||||
stand
|
||||
steel
|
||||
stick
|
||||
stone
|
||||
stop
|
||||
stove
|
||||
straight
|
||||
student
|
||||
stupid
|
||||
suck
|
||||
sun
|
||||
sunday
|
||||
Weekday
|
||||
swahili
|
||||
Language
|
||||
swedish
|
||||
Language
|
||||
swell
|
||||
switch
|
||||
off
|
||||
switch
|
||||
on
|
||||
table
|
||||
Mark
|
||||
table
|
||||
tail
|
||||
td
|
||||
Mark
|
||||
teacher
|
||||
television
|
||||
tenHour
|
||||
thai
|
||||
Language
|
||||
there
|
||||
from
|
||||
Adv
|
||||
there
|
||||
to
|
||||
Adv
|
||||
there
|
||||
Adv
|
||||
they
|
||||
Pron
|
||||
thick
|
||||
thin
|
||||
think
|
||||
thirsty
|
||||
VP
|
||||
thirteenHour
|
||||
threeHour
|
||||
through
|
||||
Prep
|
||||
throw
|
||||
thursday
|
||||
Weekday
|
||||
tie
|
||||
timeHour
|
||||
timeHourMinute
|
||||
timeunitAdv
|
||||
tired
|
||||
VP
|
||||
today
|
||||
Adv
|
||||
tongue
|
||||
tooth
|
||||
tr
|
||||
Mark
|
||||
tuesday
|
||||
Weekday
|
||||
turkish
|
||||
Language
|
||||
turn
|
||||
twelveHour
|
||||
twentyFourHour
|
||||
twentyHour
|
||||
twentyOneHour
|
||||
twentyThreeHour
|
||||
twentyTwoHour
|
||||
twoHour
|
||||
ugly
|
||||
ul
|
||||
Mark
|
||||
uncertain
|
||||
university
|
||||
urdu
|
||||
Language
|
||||
village
|
||||
vomit
|
||||
war
|
||||
wash
|
||||
watch
|
||||
weather
|
||||
adjCl
|
||||
wednesday
|
||||
Weekday
|
||||
week
|
||||
Timeunit
|
||||
weekdayHabitualAdv
|
||||
weekdayLastAdv
|
||||
weekdayN
|
||||
weekdayNextAdv
|
||||
weekdayPN
|
||||
weekdayPunctualAdv
|
||||
wet
|
||||
what
|
||||
name
|
||||
QCl
|
||||
when
|
||||
Subj
|
||||
wide
|
||||
wife
|
||||
win
|
||||
wind
|
||||
window
|
||||
wing
|
||||
wipe
|
||||
without
|
||||
Prep
|
||||
wonder
|
||||
VQ
|
||||
wood
|
||||
worm
|
||||
write
|
||||
yearAdv
|
||||
year
|
||||
year
|
||||
Timeunit
|
||||
yes
|
||||
Utt
|
||||
youPol
|
||||
Pron
|
||||
75
src/russian/v1/AdjectiveRus.gf
Normal file
75
src/russian/v1/AdjectiveRus.gf
Normal file
@@ -0,0 +1,75 @@
|
||||
|
||||
--# -path=.:../abstract:../common:../../prelude
|
||||
|
||||
|
||||
concrete AdjectiveRus of Adjective = CatRus ** open ResRus, Prelude in {
|
||||
flags coding=utf8 ;
|
||||
|
||||
lin
|
||||
|
||||
PositA a = { s = a.s!Posit ; p = a.p ; preferShort = a.preferShort};
|
||||
-- Comparative forms are used with an object of comparison, as
|
||||
-- adjectival phrases ("больше тебя").
|
||||
|
||||
ComparA bolshoj tu =
|
||||
{s = \\af => bolshoj.s ! Compar ! af ++ tu.s ! (mkPronForm Gen Yes NonPoss) ;
|
||||
p = True ;
|
||||
preferShort = PrefShort
|
||||
} ;
|
||||
|
||||
---- AR 17/12/2008
|
||||
UseComparA bolshoj =
|
||||
{s = \\af => bolshoj.s ! Compar ! af ;
|
||||
p = True ;
|
||||
preferShort = PrefShort
|
||||
} ;
|
||||
|
||||
---- AR 17/12/2008
|
||||
CAdvAP ad ap np = let adp = ad.s in { ---- should be ad.p
|
||||
s = \\af => ad.s ++ ap.s ! af ++ adp ++ np.s ! (mkPronForm Gen Yes NonPoss) ;
|
||||
p = True ; ----?
|
||||
preferShort = ap.preferShort
|
||||
} ;
|
||||
|
||||
---- AR 17/12/2008
|
||||
AdjOrd a = {
|
||||
s = a.s ;
|
||||
p = True ; ---- ?
|
||||
preferShort = PrefFull
|
||||
} ;
|
||||
|
||||
-- $SuperlA$ belongs to determiner syntax in $Noun$.
|
||||
|
||||
ComplA2 vlublen tu =
|
||||
{s = \\af => vlublen.s !Posit! af ++ vlublen.c2.s ++
|
||||
tu.s ! (mkPronForm vlublen.c2.c No NonPoss) ;
|
||||
p = True ;
|
||||
preferShort = vlublen.preferShort
|
||||
} ;
|
||||
|
||||
ReflA2 vlublen =
|
||||
{s = \\af => vlublen.s !Posit! af ++ vlublen.c2.s ++ sam.s ! vlublen.c2.c;
|
||||
p = True ;
|
||||
preferShort = vlublen.preferShort
|
||||
} ;
|
||||
|
||||
SentAP vlublen sent=
|
||||
{s = \\af => vlublen.s ! af ++ [", "] ++ sent.s;
|
||||
p = True ;
|
||||
preferShort = vlublen.preferShort
|
||||
} ;
|
||||
|
||||
|
||||
AdAP ada ap = {
|
||||
s = \\af => ada.s ++ ap.s ! af ;
|
||||
p = True ;
|
||||
preferShort = ap.preferShort
|
||||
} ;
|
||||
|
||||
UseA2 a = {
|
||||
s = \\af => a.s ! Posit ! af ;
|
||||
p = True ;
|
||||
preferShort = a.preferShort
|
||||
} ;
|
||||
}
|
||||
|
||||
24
src/russian/v1/AdverbRus.gf
Normal file
24
src/russian/v1/AdverbRus.gf
Normal file
@@ -0,0 +1,24 @@
|
||||
--# -path=.:../abstract:../common:../../prelude
|
||||
|
||||
concrete AdverbRus of Adverb = CatRus ** open ResRus, Prelude in {
|
||||
flags coding=utf8 ;
|
||||
|
||||
lin
|
||||
PositAdvAdj a = {s = a.s !Posit! AdvF} ;
|
||||
ComparAdvAdj cadv a np = {
|
||||
s = cadv.s ++ a.s !Posit! AdvF ++ "чем" ++ np.s ! PF Nom No NonPoss
|
||||
} ;
|
||||
ComparAdvAdjS cadv a s = {
|
||||
s = cadv.s ++ a.s !Posit! AdvF ++ "чем" ++ s.s
|
||||
} ;
|
||||
|
||||
PrepNP na stol = ss (na.s ++ stol.s ! PF na.c Yes NonPoss) ;
|
||||
|
||||
AdAdv = cc2 ;
|
||||
|
||||
SubjS = cc2 ;
|
||||
|
||||
AdnCAdv cadv = {s = cadv.s ++ "чем"} ;
|
||||
|
||||
}
|
||||
|
||||
6
src/russian/v1/AllRus.gf
Normal file
6
src/russian/v1/AllRus.gf
Normal file
@@ -0,0 +1,6 @@
|
||||
--# -path=.:../abstract:../common:../prelude:../api
|
||||
|
||||
concrete AllRus of AllRusAbs =
|
||||
LangRus,
|
||||
ExtraRus
|
||||
** {flags coding=utf8 ;} ;
|
||||
6
src/russian/v1/AllRusAbs.gf
Normal file
6
src/russian/v1/AllRusAbs.gf
Normal file
@@ -0,0 +1,6 @@
|
||||
--# -path=.:../abstract:../common:prelude
|
||||
|
||||
abstract AllRusAbs =
|
||||
Lang,
|
||||
ExtraRusAbs
|
||||
** {} ;
|
||||
100
src/russian/v1/CatRus.gf
Normal file
100
src/russian/v1/CatRus.gf
Normal file
@@ -0,0 +1,100 @@
|
||||
--# -path=.:../abstract:../common:../../prelude
|
||||
|
||||
concrete CatRus of Cat = CommonX ** open ResRus, Prelude in {
|
||||
|
||||
flags optimize=all_subs ; coding=utf8 ;
|
||||
|
||||
lincat
|
||||
|
||||
-- Tensed/Untensed
|
||||
|
||||
S = {s : Str} ;
|
||||
QS = {s : QForm => Str} ;
|
||||
RS = {s : GenNum => Case => Animacy => Str} ;
|
||||
SSlash = {s : Str; s2: Str ; c: Case} ;
|
||||
|
||||
-- Sentence
|
||||
-- clause (variable tense) e.g. "John walks"/"John walked"
|
||||
Cl ={s : Polarity => ClForm => Str} ;
|
||||
ClSlash = {s : Polarity => ClForm => Str; s2: Str; c: Case} ;
|
||||
Imp = { s: Polarity => Gender => Number => Str } ;
|
||||
|
||||
-- Question
|
||||
|
||||
QCl = {s :Polarity => ClForm => QForm => Str};
|
||||
IP = { s : PronForm => Str ; n : Number ; p : Person ;
|
||||
g: PronGen ; anim : Animacy ; pron: Bool} ;
|
||||
IComp = {s : Str} ;
|
||||
IDet = Adjective ** {n: Number; g: PronGen; c: Case} ;
|
||||
IQuant = {s : Number => AdjForm => Str; g: PronGen; c: Case} ; -- AR 16/6/2008
|
||||
|
||||
-- Relative
|
||||
|
||||
RCl = {s : Polarity => ClForm => GenNum => Case => Animacy => Str} ;
|
||||
RP = {s : GenNum => Case => Animacy => Str} ;
|
||||
|
||||
-- Verb
|
||||
-- Polarity =>
|
||||
Comp, VP = VerbPhrase ;
|
||||
VPSlash = VerbPhrase ** {sc : Str ; c : Case} ;
|
||||
|
||||
-- Adjective
|
||||
|
||||
AP = {s : AdjForm => Str ; p : IsPostfixAdj ; preferShort : ShortFormPreference} ;
|
||||
|
||||
-- Noun
|
||||
|
||||
CN = {nounpart : NForm => Str; relcl : Number => Case => Str; g : Gender; anim : Animacy} ;
|
||||
NP = { s : PronForm => Str ; n : Number ; p : Person ;
|
||||
g: PronGen ; anim : Animacy ; pron: Bool} ;
|
||||
Pron = { s : PronForm => Str ; n : Number ; p : Person ;
|
||||
g: PronGen ; pron: Bool} ;
|
||||
|
||||
-- Determiners (only determinative pronouns
|
||||
-- (or even indefinite numerals: "много" (many)) in Russian) are inflected
|
||||
-- according to the gender of nouns they determine.
|
||||
-- extra parameters (Number and Case) are added for the sake of
|
||||
-- the determinative pronoun "bolshinstvo" ("most");
|
||||
-- Gender parameter is due to multiple determiners (Numerals in Russian)
|
||||
-- like "mnogo"
|
||||
-- The determined noun has the case parameter specific for the determiner
|
||||
|
||||
Det = {s : Case => Animacy => Gender => Str; n: Number; g: PronGen; c: Case; size: Size} ;
|
||||
Predet, Quant = {s : AdjForm => Str; g: PronGen; c: Case; size: Size} ;
|
||||
|
||||
-- Numeral
|
||||
|
||||
Num = {s : Gender => Animacy => Case => Str ; n : Number ; size: Size} ;
|
||||
Numeral, Card = {s : Gender => Animacy => Case => Str ; n : Number ; size: Size} ;
|
||||
Digits = {s : Str ; n : Number ; size: Size} ; ----
|
||||
|
||||
-- Structural
|
||||
-- The conjunction has an inherent number, which is used when conjoining
|
||||
-- noun phrases: "Иван и Маша поют" vs. "Иван или Маша поет"; in the
|
||||
-- case of "или", the result is however plural if any of the disjuncts is.
|
||||
|
||||
Conj = {s1,s2 : Str ; n : Number} ;
|
||||
Subj = {s : Str} ;
|
||||
Prep = Complement ;
|
||||
|
||||
-- Open lexical classes, e.g. Lexicon
|
||||
|
||||
V, VS, VV, VQ, VA = Verbum ; -- = {s : VerbForm => Str ; asp : Aspect } ;
|
||||
V2, V2A = Verbum ** {c2 : Complement} ;
|
||||
V2V, V2S, V2Q = Verbum ** {c2 : Complement} ; --- AR
|
||||
V3 = Verbum ** {c2,c3 : Complement} ;
|
||||
-- VV = {s : VVForm => Str ; isAux : Bool} ;
|
||||
|
||||
Ord = {s : AdjForm => Str} ;
|
||||
A = {s : Degree => AdjForm => Str ; p : IsPostfixAdj ; preferShort : ShortFormPreference} ;
|
||||
A2 = A ** {c2 : Complement} ;
|
||||
|
||||
-- Substantives moreover have an inherent gender.
|
||||
N = {s : NForm => Str; g : Gender; anim : Animacy} ;
|
||||
N2 = {s : NForm => Str; g : Gender; anim : Animacy} ** {c2 : Complement} ;
|
||||
N3 = {s : NForm => Str; g : Gender; anim : Animacy} ** {c2,c3 : Complement} ;
|
||||
PN = {s : Case => Str ; g : Gender ; anim : Animacy} ;
|
||||
|
||||
|
||||
}
|
||||
|
||||
120
src/russian/v1/ConjunctionRus.gf
Normal file
120
src/russian/v1/ConjunctionRus.gf
Normal file
@@ -0,0 +1,120 @@
|
||||
--# -path=.:../abstract:../common:../../prelude
|
||||
|
||||
concrete ConjunctionRus of Conjunction =
|
||||
CatRus ** open ResRus, Coordination, Prelude in {
|
||||
|
||||
flags optimize=all_subs ; coding=utf8 ;
|
||||
|
||||
lin
|
||||
|
||||
ConjS = conjunctDistrSS ;
|
||||
|
||||
ConjAdv = conjunctDistrSS ;
|
||||
|
||||
ConjNP c xs =
|
||||
conjunctDistrTable PronForm c xs ** {n = conjNumber c.n xs.n ;
|
||||
p = xs.p ; pron = xs.pron ; anim = xs.anim ;
|
||||
g = xs.g } ;
|
||||
|
||||
ConjAP or xs =
|
||||
{s = \\af => case af of {
|
||||
AF c a gn => or.s1++ xs.s1 ! AF c a gn ++ or.s2 ++ xs.s2 ! AF c a gn ;
|
||||
AFShort gn => case xs.preferShort of {
|
||||
PrefShort => or.s1++ xs.s1 ! AFShort gn ++ or.s2 ++ xs.s2 ! AFShort gn ;
|
||||
_ => or.s1++ xs.s1 ! AF Nom Inanimate gn ++ or.s2 ++ xs.s2 ! AF Nom Inanimate gn} ;
|
||||
AdvF => or.s1++ xs.s1 ! AdvF ++ or.s2 ++ xs.s2 ! AdvF
|
||||
} ;
|
||||
p = xs.p ;
|
||||
preferShort = xs.preferShort
|
||||
} ;
|
||||
|
||||
---- AR 17/12/2008
|
||||
ConjRS c xs = conjunctDistrTable3 GenNum Case Animacy c xs ** {p = xs.p} ;
|
||||
|
||||
-- These fun's are generated from the list cat's.
|
||||
|
||||
BaseS = twoSS ;
|
||||
ConsS = consrSS comma ;
|
||||
BaseAdv = twoSS ;
|
||||
ConsAdv = consrSS comma ;
|
||||
|
||||
|
||||
ConsNP x xs =
|
||||
consTable PronForm comma xs x **
|
||||
{n = conjNumber xs.n x.n ; g = conjPGender x.g xs.g ;
|
||||
anim = conjAnim x.anim xs.anim ;
|
||||
p = conjPerson xs.p x.p; pron = conjPron xs.pron x.pron} ;
|
||||
|
||||
ConsAP x xs = consTable AdjForm comma xs x ** {p = andB xs.p x.p ; preferShort = selectAPForm x.preferShort xs.preferShort} ;
|
||||
|
||||
BaseAP x y = twoTable AdjForm x y ** {p = andB x.p y.p ; preferShort = selectAPForm x.preferShort y.preferShort} ;
|
||||
|
||||
BaseNP x y = twoTable PronForm x y ** {n = conjNumber x.n y.n ;
|
||||
g = conjPGender x.g y.g ; p = conjPerson x.p y.p ;
|
||||
pron = conjPron x.pron y.pron ; anim = conjAnim x.anim y.anim } ;
|
||||
|
||||
---- AR 17/12/2008
|
||||
BaseRS x y = twoTable3 GenNum Case Animacy x y ** {c = y.c} ;
|
||||
ConsRS xs x = consrTable3 GenNum Case Animacy comma xs x ** {c = xs.c} ;
|
||||
|
||||
oper
|
||||
selectAPForm : ShortFormPreference -> ShortFormPreference -> ShortFormPreference = \sfp1,sfp2 ->
|
||||
case <sfp1,sfp2> of
|
||||
{<PrefShort, PrefShort> => PrefShort ;
|
||||
_ => PrefFull
|
||||
} ;
|
||||
|
||||
lincat
|
||||
[S] = {s1,s2 : Str} ;
|
||||
[Adv] = {s1,s2 : Str} ;
|
||||
-- The structure is the same as for sentences. The result is either always plural
|
||||
-- or plural if any of the components is, depending on the conjunction.
|
||||
[NP] = { s1,s2 : PronForm => Str ; g: PronGen ;
|
||||
anim : Animacy ; n : Number ; p : Person ; pron : Bool } ;
|
||||
-- The structure is the same as for sentences. The result is a prefix adjective
|
||||
-- if and only if all elements are prefix.
|
||||
[AP] = {s1,s2 : AdjForm => Str ; p : Bool ; preferShort : ShortFormPreference} ;
|
||||
|
||||
---- AR 17/12/2008
|
||||
[RS] = {s1,s2 : GenNum => Case => Animacy => Str} ;
|
||||
|
||||
oper
|
||||
|
||||
-- We have to define a calculus of numbers of persons. For numbers,
|
||||
-- it is like the conjunction with $Pl$ corresponding to $False$.
|
||||
--
|
||||
-- The following are given in $ParamX$.
|
||||
--
|
||||
-- conjNumber : Number -> Number -> Number = \m,n -> case <m,n> of {
|
||||
-- <Sg,Sg> => Sg ;
|
||||
-- _ => Pl
|
||||
-- } ;
|
||||
|
||||
-- For persons, we let the latter argument win ("либо ты, либо я пойду"
|
||||
-- but "либо я, либо ты пойдешь"). This is not quite clear.
|
||||
|
||||
-- conjPerson : Person -> Person -> Person = \_,p ->
|
||||
-- p ;
|
||||
|
||||
-- For pron, we let the latter argument win - "Маша или моя мама" (Nominative case)
|
||||
-- but - "моей или Машина мама" (Genetive case) both corresponds to
|
||||
-- "Masha's or my mother"), which is actually not exactly correct, since
|
||||
-- different cases should be used - "Машина или моя мама".
|
||||
|
||||
conjPron : Bool -> Bool -> Bool = \_,p ->
|
||||
p ;
|
||||
|
||||
-- For gender in a similar manner as for person:
|
||||
-- Needed for adjective predicates like:
|
||||
-- "Маша или Оля - красивая", "Антон или Олег - красивый",
|
||||
-- "Маша или Олег - красивый".
|
||||
-- The later is not totally correct, but there is no correct way to say that.
|
||||
|
||||
conjGender : Gender -> Gender -> Gender = \_,m -> m ;
|
||||
conjPGender : PronGen -> PronGen -> PronGen = \_,m -> m ;
|
||||
|
||||
conjAnim : Animacy -> Animacy -> Animacy = \_,m -> m ;
|
||||
|
||||
|
||||
}
|
||||
|
||||
12
src/russian/v1/ConstructionRus.gf
Normal file
12
src/russian/v1/ConstructionRus.gf
Normal file
@@ -0,0 +1,12 @@
|
||||
concrete ConstructionRus of Construction = CatRus **
|
||||
open SyntaxRus, ParadigmsRus, ResRus in {
|
||||
|
||||
lin
|
||||
hungry_VP = mkVP (mkA "голодный") ;
|
||||
thirsty_VP = mkVP want_VV (mkVP (regV imperfective firstE "пь" "ю" "пил" "пей" "пить")) ;
|
||||
tired_VP = mkVP (mkA "уставший" Rel) ;
|
||||
scared_VP = mkVP (mkV imperfective "боюсь" "боишься" "боится" "боимся" "бойтесь" "боятся" "боялся" "бойся" "бояться") ;
|
||||
ill_VP = mkVP (mkA "больной") ;
|
||||
ready_VP = mkVP (mkA "готовый") ;
|
||||
|
||||
}
|
||||
135830
src/russian/v1/DictRus.gf
Normal file
135830
src/russian/v1/DictRus.gf
Normal file
File diff suppressed because it is too large
Load Diff
135825
src/russian/v1/DictRusAbs.gf
Normal file
135825
src/russian/v1/DictRusAbs.gf
Normal file
File diff suppressed because it is too large
Load Diff
383
src/russian/v1/DocumentationRus.gf
Normal file
383
src/russian/v1/DocumentationRus.gf
Normal file
@@ -0,0 +1,383 @@
|
||||
concrete DocumentationRus of Documentation = CatRus ** open
|
||||
ResRus,
|
||||
HTML in {
|
||||
flags coding=utf8 ;
|
||||
|
||||
lincat
|
||||
Inflection = {t : Str; s1,s2,s3 : Str} ;
|
||||
Definition = {s : Str} ;
|
||||
Document = {s : Str} ;
|
||||
Tag = {s : Str} ;
|
||||
|
||||
lin
|
||||
InflectionN,
|
||||
InflectionN2,
|
||||
InflectionN3 = \n -> {
|
||||
t = "сущ" ;
|
||||
s1= heading1 ("Существительное"++
|
||||
case n.g of {
|
||||
Masc => "(м.р.)" ;
|
||||
Fem => "(ж.р.)" ;
|
||||
Neut => "(ср.р.)"
|
||||
} ++
|
||||
|
||||
case n.anim of {
|
||||
Animate => "Одушевлённое" ;
|
||||
Inanimate => "Неодушевлённое"
|
||||
}
|
||||
|
||||
) ;
|
||||
s2= frameTable (
|
||||
tr (th "Падеж" ++ th "ед. ч." ++ th "мн. ч.") ++
|
||||
tr (th "Им." ++ td (n.s ! (NF Sg Nom) nom) ++ td (n.s ! (NF Pl Nom nom))) ++
|
||||
tr (th "Р." ++ td (n.s ! (NF Sg Gen) nom) ++ td (n.s ! (NF Pl Gen nom))) ++
|
||||
tr (th "Д." ++ td (n.s ! (NF Sg Dat) nom) ++ td (n.s ! (NF Pl Dat nom))) ++
|
||||
tr (th "В." ++ td (n.s ! (NF Sg Acc) nom) ++ td (n.s ! (NF Pl Acc nom))) ++
|
||||
tr (th "Тв." ++ td (n.s ! (NF Sg Inst) nom) ++ td (n.s ! (NF Pl Inst nom))) ++
|
||||
tr (th "Пр." ++ td (n.s ! (NF Sg (Prepos PrepOther) nom)) ++ td (n.s ! (NF Pl (Prepos PrepOther) nom)))
|
||||
) ;
|
||||
s3= ""
|
||||
} ;
|
||||
|
||||
|
||||
InflectionA,
|
||||
InflectionA2 = \a -> {
|
||||
t = "прил" ;
|
||||
s1= heading1 ("Прилагательное"
|
||||
|
||||
) ;
|
||||
s2= frameTable (
|
||||
intagAttr "tr" "style=\"border-top-color:white;border-left-color:white;border-right-color:white\"" (intagAttr "th" "colspan=\"6\"" "Положительная степень сравнения") ++
|
||||
|
||||
tr (
|
||||
intagAttr "th" "rowspan=\"2\" colspan=\"2\"" "Падеж" ++
|
||||
intagAttr "th" "colspan=\"3\"" "ед. ч." ++
|
||||
intagAttr "th" "rowspan=\"2\"" "мн. ч." ) ++
|
||||
tr(th "муж. р." ++ th "ср. р." ++ th "жен. р.") ++
|
||||
|
||||
tr (intagAttr "th" "colspan=\"2\"" "Им." ++ td (a.s ! Posit ! (AF Nom Animate (GSg Masc)))
|
||||
++ td (a.s ! Posit ! (AF Nom Animate (GSg Neut)))
|
||||
++ td (a.s ! Posit ! (AF Nom Animate (GSg Fem)))
|
||||
++ td (a.s ! Posit ! (AF Nom Animate GPl))) ++
|
||||
tr (intagAttr "th" "colspan=\"2\"" "Р." ++ td (a.s ! Posit ! (AF Gen Animate (GSg Masc)))
|
||||
++ td (a.s ! Posit ! (AF Gen Animate (GSg Neut)))
|
||||
++ td (a.s ! Posit ! (AF Gen Animate (GSg Fem)))
|
||||
++ td (a.s ! Posit ! (AF Gen Animate GPl))) ++
|
||||
tr (intagAttr "th" "colspan=\"2\"" "Д." ++ td (a.s ! Posit ! (AF Dat Animate (GSg Masc)))
|
||||
++ td (a.s ! Posit ! (AF Dat Animate (GSg Neut)))
|
||||
++ td (a.s ! Posit ! (AF Dat Animate (GSg Fem)))
|
||||
++ td (a.s ! Posit ! (AF Dat Animate GPl))) ++
|
||||
|
||||
tr (intagAttr "th" "rowspan=\"2\"" "В."
|
||||
++ th "одуш."
|
||||
++ td (a.s ! Posit ! (AF Acc Animate (GSg Masc)))
|
||||
++ intagAttr "td" "rowspan=\"2\"" (a.s ! Posit ! (AF Acc Animate (GSg Neut)))
|
||||
++ intagAttr "td" "rowspan=\"2\"" (a.s ! Posit ! (AF Acc Animate (GSg Fem)))
|
||||
++ td (a.s ! Posit ! (AF Acc Animate GPl))) ++
|
||||
tr ( th "неодуш."
|
||||
|
||||
++ td (a.s ! Posit ! (AF Acc Inanimate (GSg Masc)))
|
||||
++ td (a.s ! Posit ! (AF Acc Inanimate GPl))) ++
|
||||
|
||||
|
||||
tr (intagAttr "th" "colspan=\"2\"" "Тв." ++ td (a.s ! Posit ! (AF Inst Animate (GSg Masc)))
|
||||
++ td (a.s ! Posit ! (AF Inst Animate (GSg Neut)))
|
||||
++ td (a.s ! Posit ! (AF Inst Animate (GSg Fem)))
|
||||
++ td (a.s ! Posit ! (AF Inst Animate GPl))) ++
|
||||
tr (intagAttr "th" "colspan=\"2\"" "Пр." ++ td (a.s ! Posit ! (AF (Prepos PrepOther) Animate (GSg Masc)))
|
||||
++ td (a.s ! Posit ! (AF (Prepos PrepOther) Animate (GSg Neut)))
|
||||
++ td (a.s ! Posit ! (AF (Prepos PrepOther) Animate (GSg Fem)))
|
||||
++ td (a.s ! Posit ! (AF Inst Animate GPl))) ++
|
||||
|
||||
intagAttr "tr" "style=\"border-left-color:white;border-right-color:white\"" (intagAttr "th" "colspan=\"6\"" "Сравнительная степень сравнения") ++
|
||||
|
||||
tr (intagAttr "td" "colspan=\"6\" align=\"center\" style=\"border-top-color:black\"" (a.s ! Compar ! (AF Nom Animate (GSg Masc)))) ++
|
||||
|
||||
-- tr (intagAttr "th" "colspan=\"2\"" "Им."
|
||||
-- ++ td (a.s ! Compar ! (AF Nom Animate (GSg Masc)))
|
||||
-- ++ td (a.s ! Compar ! (AF Nom Animate (GSg Neut)))
|
||||
-- ++ td (a.s ! Compar ! (AF Nom Animate (GSg Fem)))
|
||||
-- ++ td (a.s ! Compar ! (AF Nom Animate GPl))) ++
|
||||
-- tr (intagAttr "th" "colspan=\"2\"" "Р."
|
||||
-- ++ td (a.s ! Compar ! (AF Gen Animate (GSg Masc)))
|
||||
-- ++ td (a.s ! Compar ! (AF Gen Animate (GSg Neut)))
|
||||
-- ++ td (a.s ! Compar ! (AF Gen Animate (GSg Fem)))
|
||||
-- ++ td (a.s ! Compar ! (AF Gen Animate GPl))) ++
|
||||
-- tr (intagAttr "th" "colspan=\"2\"" "Д."
|
||||
-- ++ td (a.s ! Compar ! (AF Dat Animate (GSg Masc)))
|
||||
-- ++ td (a.s ! Compar ! (AF Dat Animate (GSg Neut)))
|
||||
-- ++ td (a.s ! Compar ! (AF Dat Animate (GSg Fem)))
|
||||
-- ++ td (a.s ! Compar ! (AF Dat Animate GPl))) ++
|
||||
-- tr (intagAttr "th" "colspan=\"2\"" "В."
|
||||
-- ++ td (a.s ! Compar ! (AF Acc Animate (GSg Masc)))
|
||||
-- ++ td (a.s ! Compar ! (AF Acc Animate (GSg Neut)))
|
||||
-- ++ td (a.s ! Compar ! (AF Acc Animate (GSg Fem)))
|
||||
-- ++ td (a.s ! Compar ! (AF Acc Animate GPl))) ++
|
||||
-- tr (intagAttr "th" "colspan=\"2\"" "Тв."
|
||||
-- ++ td (a.s ! Compar ! (AF Inst Animate (GSg Masc)))
|
||||
-- ++ td (a.s ! Compar ! (AF Inst Animate (GSg Neut)))
|
||||
-- ++ td (a.s ! Compar ! (AF Inst Animate (GSg Fem)))
|
||||
-- ++ td (a.s ! Compar ! (AF Inst Animate GPl))) ++
|
||||
-- tr (intagAttr "th" "colspan=\"2\"" "Пр."
|
||||
-- ++ td (a.s ! Compar ! (AF (Prepos PrepOther) Animate (GSg Masc)))
|
||||
-- ++ td (a.s ! Compar ! (AF (Prepos PrepOther) Animate (GSg Neut)))
|
||||
-- ++ td (a.s ! Compar ! (AF (Prepos PrepOther) Animate (GSg Fem)))
|
||||
-- ++ td (a.s ! Compar ! (AF (Prepos PrepOther) Animate GPl))) ++
|
||||
intagAttr "tr" "style=\"border-left-color:white;border-right-color:white\"" (intagAttr "th" "colspan=\"6\"" "Превосходная степень сравнения") ++
|
||||
|
||||
tr (intagAttr "th" "colspan=\"2\"" "Им."
|
||||
++ td (a.s ! Superl ! (AF Nom Animate (GSg Masc)))
|
||||
++ td (a.s ! Superl ! (AF Nom Animate (GSg Neut)))
|
||||
++ td (a.s ! Superl ! (AF Nom Animate (GSg Fem)))
|
||||
++ td (a.s ! Superl ! (AF Nom Animate GPl))) ++
|
||||
tr (intagAttr "th" "colspan=\"2\"" "Р."
|
||||
++ td (a.s ! Superl ! (AF Gen Animate (GSg Masc)))
|
||||
++ td (a.s ! Superl ! (AF Gen Animate (GSg Neut)))
|
||||
++ td (a.s ! Superl ! (AF Gen Animate (GSg Fem)))
|
||||
++ td (a.s ! Superl ! (AF Gen Animate GPl))) ++
|
||||
tr (intagAttr "th" "colspan=\"2\"" "Д."
|
||||
++ td (a.s ! Superl ! (AF Dat Animate (GSg Masc)))
|
||||
++ td (a.s ! Superl ! (AF Dat Animate (GSg Neut)))
|
||||
++ td (a.s ! Superl ! (AF Dat Animate (GSg Fem)))
|
||||
++ td (a.s ! Superl ! (AF Dat Animate GPl))) ++
|
||||
tr (intagAttr "th" "rowspan=\"2\"" "В."
|
||||
++ th "одуш."
|
||||
++ td (a.s ! Superl ! (AF Acc Animate (GSg Masc)))
|
||||
++ intagAttr "td" "rowspan=\"2\"" (a.s ! Posit ! (AF Acc Animate (GSg Neut)))
|
||||
++ intagAttr "td" "rowspan=\"2\"" (a.s ! Posit ! (AF Acc Animate (GSg Fem)))
|
||||
++ td (a.s ! Superl ! (AF Acc Animate GPl))) ++
|
||||
tr ( th "неодуш."
|
||||
|
||||
++ td (a.s ! Superl ! (AF Acc Inanimate (GSg Masc)))
|
||||
++ td (a.s ! Superl ! (AF Acc Inanimate GPl))) ++
|
||||
|
||||
|
||||
tr (intagAttr "th" "colspan=\"2\"" "Тв." ++ td (a.s ! Superl ! (AF Inst Animate (GSg Masc)))
|
||||
++ td (a.s ! Superl ! (AF Inst Animate (GSg Neut)))
|
||||
++ td (a.s ! Superl ! (AF Inst Animate (GSg Fem)))
|
||||
++ td (a.s ! Superl ! (AF Inst Animate GPl))) ++
|
||||
tr (intagAttr "th" "colspan=\"2\"" "Пр." ++ td (a.s ! Superl ! (AF (Prepos PrepOther) Animate (GSg Masc)))
|
||||
++ td (a.s ! Superl ! (AF (Prepos PrepOther) Animate (GSg Neut)))
|
||||
++ td (a.s ! Superl ! (AF (Prepos PrepOther) Animate (GSg Fem)))
|
||||
++ td (a.s ! Superl ! (AF (Prepos PrepOther) Animate GPl))) ++
|
||||
|
||||
intagAttr "tr" "style=\"border-left-color:white;border-right-color:white\"" (intagAttr "th" "colspan=\"6\"" "Краткая форма") ++
|
||||
tr (intagAttr "th" "colspan=\"2\"" "" ++ td (a.s ! Posit ! (AFShort (GSg Masc)))
|
||||
++ td (a.s ! Posit ! (AFShort (GSg Neut)))
|
||||
++ td (a.s ! Posit ! (AFShort (GSg Fem)))
|
||||
++ td (a.s ! Posit ! (AFShort GPl)))
|
||||
);
|
||||
s3= ""
|
||||
} ;
|
||||
|
||||
|
||||
InflectionV = \v -> {
|
||||
t = "гл" ;
|
||||
s1 = heading1 ("Глагол" ++
|
||||
case v.asp of {
|
||||
Imperfective => "совершенный" ;
|
||||
Perfective => "несовершенный"
|
||||
}) ;
|
||||
s2 = frameTable (
|
||||
tr(
|
||||
|
||||
intagAttr "th" "rowspan=\"2\"" "Лицо" ++
|
||||
intagAttr "th" "colspan=\"3\"" "ед. ч." ++
|
||||
intagAttr "th" "rowspan=\"2\"" "мн. ч." ) ++
|
||||
tr(th "муж. р." ++ th "ср. р." ++ th "жен. р.") ++
|
||||
(intagAttr "tr" "style=\"border-bottom-color:white;border-top-color:white;border-left-color:white;border-right-color:white\""
|
||||
|
||||
(intagAttr "th" "style=\"text-align:center;padding-top:20px;\"colspan=5" "Действительный залог")) ++
|
||||
|
||||
(intagAttr "tr" "style=\"border-left-color:white;border-right-color:white\""
|
||||
(intagAttr "th" "colspan=\"5\"" "Настоящее время")) ++
|
||||
tr(th "I" ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Masc) (VPresent P1))) ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Neut) (VPresent P1))) ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Fem) (VPresent P1))) ++
|
||||
td (v.s ! VFORM Act (VIND GPl (VPresent P1)))) ++
|
||||
tr(th "II" ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Masc) (VPresent P2))) ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Neut) (VPresent P2))) ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Fem) (VPresent P2))) ++
|
||||
td (v.s ! VFORM Act (VIND GPl (VPresent P2)))) ++
|
||||
tr(th "III" ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Masc) (VPresent P3))) ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Neut) (VPresent P3))) ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Fem) (VPresent P3))) ++
|
||||
td (v.s ! VFORM Act (VIND GPl (VPresent P3)))) ++
|
||||
(intagAttr "tr" "style=\"border-left-color:white;border-right-color:white\""
|
||||
(intagAttr "th" "colspan=\"5\"" "Прошедшее время")) ++
|
||||
tr(th "" ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Masc) VPast)) ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Neut) VPast)) ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Fem) VPast)) ++
|
||||
td (v.s ! VFORM Act (VIND GPl VPast))) ++
|
||||
(intagAttr "tr" "style=\"border-left-color:white;border-right-color:white\""
|
||||
(intagAttr "th" "colspan=\"5\"" "Будущее время")) ++
|
||||
tr(
|
||||
th "I" ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Masc) (VFuture P1))) ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Neut) (VFuture P1))) ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Fem) (VFuture P1))) ++
|
||||
td (v.s ! VFORM Act (VIND GPl (VFuture P1)))) ++
|
||||
tr(th "II" ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Masc) (VFuture P2))) ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Neut) (VFuture P2))) ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Fem) (VFuture P2))) ++
|
||||
td (v.s ! VFORM Act (VIND GPl (VFuture P2)))) ++
|
||||
tr(th "III" ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Masc) (VFuture P3))) ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Neut) (VFuture P3))) ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Fem) (VFuture P3))) ++
|
||||
td (v.s ! VFORM Act (VIND GPl (VFuture P3)))) );
|
||||
s3 = "" ;
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
InflectionV2,
|
||||
InflectionVV,
|
||||
InflectionVS,
|
||||
InflectionVQ,
|
||||
InflectionVA,
|
||||
InflectionV3,
|
||||
InflectionV2V,
|
||||
InflectionV2S,
|
||||
InflectionV2Q,
|
||||
InflectionV2A = \v -> {
|
||||
t = "гл" ;
|
||||
s1 = heading1 ("Глагол" ++
|
||||
case v.asp of {
|
||||
Imperfective => "совершенный" ;
|
||||
Perfective => "несовершенный"
|
||||
}) ;
|
||||
s2 = frameTable (
|
||||
tr(
|
||||
|
||||
intagAttr "th" "rowspan=\"2\"" "Лицо" ++
|
||||
intagAttr "th" "colspan=\"3\"" "ед. ч." ++
|
||||
intagAttr "th" "rowspan=\"2\"" "мн. ч." ) ++
|
||||
tr(th "муж. р." ++ th "ср. р." ++ th "жен. р.") ++
|
||||
|
||||
(intagAttr "tr" "style=\"border-bottom-color:white;border-top-color:white;border-left-color:white;border-right-color:white\""
|
||||
|
||||
(intagAttr "th" "style=\"text-align:center;padding-top:20px;\"colspan=5" "Действительный залог")) ++
|
||||
|
||||
(intagAttr "tr" "style=\"border-left-color:white;border-right-color:white\""
|
||||
(intagAttr "th" "colspan=\"5\"" "Настоящее время")) ++
|
||||
tr(th "I" ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Masc) (VPresent P1))) ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Neut) (VPresent P1))) ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Fem) (VPresent P1))) ++
|
||||
td (v.s ! VFORM Act (VIND GPl (VPresent P1)))) ++
|
||||
tr(th "II" ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Masc) (VPresent P2))) ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Neut) (VPresent P2))) ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Fem) (VPresent P2))) ++
|
||||
td (v.s ! VFORM Act (VIND GPl (VPresent P2)))) ++
|
||||
tr(th "III" ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Masc) (VPresent P3))) ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Neut) (VPresent P3))) ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Fem) (VPresent P3))) ++
|
||||
td (v.s ! VFORM Act (VIND GPl (VPresent P3)))) ++
|
||||
(intagAttr "tr" "style=\"border-left-color:white;border-right-color:white\""
|
||||
(intagAttr "th" "colspan=\"5\"" "Прошедшее время")) ++
|
||||
tr(th "" ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Masc) VPast)) ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Neut) VPast)) ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Fem) VPast)) ++
|
||||
td (v.s ! VFORM Act (VIND GPl VPast))) ++
|
||||
(intagAttr "tr" "style=\"border-left-color:white;border-right-color:white\""
|
||||
(intagAttr "th" "colspan=\"5\"" "Будущее время")) ++
|
||||
tr(
|
||||
th "I" ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Masc) (VFuture P1))) ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Neut) (VFuture P1))) ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Fem) (VFuture P1))) ++
|
||||
td (v.s ! VFORM Act (VIND GPl (VFuture P1)))) ++
|
||||
tr(th "II" ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Masc) (VFuture P2))) ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Neut) (VFuture P2))) ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Fem) (VFuture P2))) ++
|
||||
td (v.s ! VFORM Act (VIND GPl (VFuture P2)))) ++
|
||||
tr(th "III" ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Masc) (VFuture P3))) ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Neut) (VFuture P3))) ++
|
||||
td (v.s ! VFORM Act (VIND (GSg Fem) (VFuture P3))) ++
|
||||
td (v.s ! VFORM Act (VIND GPl (VFuture P3)))) ++
|
||||
(intagAttr "tr" "style=\"border-bottom-color:white;border-top-color:white;border-left-color:white;border-right-color:white\""
|
||||
|
||||
(intagAttr "th" "style=\"text-align:center;padding-top:20px;\"colspan=5" "Страдательный залог")) ++
|
||||
(intagAttr "tr" "style=\"border-left-color:white;border-right-color:white\""
|
||||
(intagAttr "th" "colspan=\"5\"" "Настоящее время")) ++
|
||||
|
||||
tr(th "I" ++
|
||||
td (v.s ! VFORM Pass (VIND (GSg Masc) (VPresent P1))) ++
|
||||
td (v.s ! VFORM Pass (VIND (GSg Neut) (VPresent P1))) ++
|
||||
td (v.s ! VFORM Pass (VIND (GSg Fem) (VPresent P1))) ++
|
||||
td (v.s ! VFORM Pass (VIND GPl (VPresent P1)))) ++
|
||||
tr(th "II" ++
|
||||
td (v.s ! VFORM Pass (VIND (GSg Masc) (VPresent P2))) ++
|
||||
td (v.s ! VFORM Pass (VIND (GSg Neut) (VPresent P2))) ++
|
||||
td (v.s ! VFORM Pass (VIND (GSg Fem) (VPresent P2))) ++
|
||||
td (v.s ! VFORM Pass (VIND GPl (VPresent P2)))) ++
|
||||
tr(th "III" ++
|
||||
td (v.s ! VFORM Pass (VIND (GSg Masc) (VPresent P3))) ++
|
||||
td (v.s ! VFORM Pass (VIND (GSg Neut) (VPresent P3))) ++
|
||||
td (v.s ! VFORM Pass (VIND (GSg Fem) (VPresent P3))) ++
|
||||
td (v.s ! VFORM Pass (VIND GPl (VPresent P3)))) ++
|
||||
(intagAttr "tr" "style=\"border-left-color:white;border-right-color:white\""
|
||||
(intagAttr "th" "colspan=\"5\"" "Прошедшее время")) ++
|
||||
tr(th "" ++
|
||||
td (v.s ! VFORM Pass (VIND (GSg Masc) VPast)) ++
|
||||
td (v.s ! VFORM Pass (VIND (GSg Neut) VPast)) ++
|
||||
td (v.s ! VFORM Pass (VIND (GSg Fem) VPast)) ++
|
||||
td (v.s ! VFORM Pass (VIND GPl VPast))) ++
|
||||
(intagAttr "tr" "style=\"border-left-color:white;border-right-color:white\""
|
||||
(intagAttr "th" "colspan=\"5\"" "Будущее время")) ++
|
||||
tr(th "Первое" ++
|
||||
td (v.s ! VFORM Pass (VIND (GSg Masc) (VFuture P1))) ++
|
||||
td (v.s ! VFORM Pass (VIND (GSg Neut) (VFuture P1))) ++
|
||||
td (v.s ! VFORM Pass (VIND (GSg Fem) (VFuture P1))) ++
|
||||
td (v.s ! VFORM Pass (VIND GPl (VFuture P1)))) ++
|
||||
tr(th "Второе" ++
|
||||
td (v.s ! VFORM Pass (VIND (GSg Masc) (VFuture P2))) ++
|
||||
td (v.s ! VFORM Pass (VIND (GSg Neut) (VFuture P2))) ++
|
||||
td (v.s ! VFORM Pass (VIND (GSg Fem) (VFuture P2))) ++
|
||||
td (v.s ! VFORM Pass (VIND GPl (VFuture P2)))) ++
|
||||
tr(th "Третье" ++
|
||||
td (v.s ! VFORM Pass (VIND (GSg Masc) (VFuture P3))) ++
|
||||
td (v.s ! VFORM Pass (VIND (GSg Neut) (VFuture P3))) ++
|
||||
td (v.s ! VFORM Pass (VIND (GSg Fem) (VFuture P3))) ++
|
||||
td (v.s ! VFORM Pass (VIND GPl (VFuture P3))))
|
||||
|
||||
) ;
|
||||
s3 = "" ;
|
||||
|
||||
} ;
|
||||
|
||||
InflectionAdv = \adv -> {
|
||||
t = "нар" ;
|
||||
s1= heading1 ("Наречие") ;
|
||||
s2= paragraph (adv.s) ;
|
||||
s3= ""
|
||||
} ;
|
||||
|
||||
InflectionPrep = \prep -> {
|
||||
t = "пр" ;
|
||||
s1= heading1 ("Предлог") ;
|
||||
s2= paragraph (prep.s) ;
|
||||
s3= ""
|
||||
} ;
|
||||
|
||||
|
||||
lin
|
||||
MkDocument d i e = {s = i.s1 ++ d.s ++ i.s2 ++ i.s3 ++ e.s} ;
|
||||
MkTag i = {s = i.t} ;
|
||||
|
||||
NoDefinition t = {s=t.s};
|
||||
MkDefinition t d = {s="<p><b>Определение:</b>"++t.s++d.s++"</p>"};
|
||||
MkDefinitionEx t d e = {s="<p><b>Определение:</b>"++t.s++d.s++"</p><p><b>Пример:</b>"++e.s++"</p>"};
|
||||
|
||||
}
|
||||
74
src/russian/v1/ExtraLexRus.gf
Normal file
74
src/russian/v1/ExtraLexRus.gf
Normal file
@@ -0,0 +1,74 @@
|
||||
--# -path=.:abstract:common
|
||||
concrete ExtraLexRus of ExtraLexRusAbs = CatRus **
|
||||
open ParadigmsRus in {
|
||||
flags
|
||||
coding=utf8 ;
|
||||
lin
|
||||
--- bridge_N = mkN "мост" ;
|
||||
--- candle_N = nSvecha "свеч" ; -- +++ MG_UR: added +++
|
||||
--- citizen_N = nGrazhdanin "господ" ; -- +++ MG_UR: added +++
|
||||
daughter_N =
|
||||
{s = table {
|
||||
NF Sg Nom => "дочь" ;
|
||||
NF Sg Gen => "дочери" ;
|
||||
NF Sg Dat => "дочери" ;
|
||||
NF Sg Acc => "дочь" ;
|
||||
NF Sg Inst => "дочерью" ;
|
||||
NF Sg (Prepos _) => "дочери" ;
|
||||
NF Pl Nom => "дочери" ;
|
||||
NF Pl Gen => "дочерей" ;
|
||||
NF Pl Dat => "дочерям" ;
|
||||
NF Pl Acc => "дочерей" ;
|
||||
NF Pl Inst => "дочерьми" ;
|
||||
NF Pl (Prepos _) => "дочерях"
|
||||
} ;
|
||||
g = Fem ; anim = Animate
|
||||
} ;
|
||||
|
||||
--- desk_N = nStol "стол" ;
|
||||
--- dictionary_N = nSlovar "словар" ;
|
||||
--- fellow_N = nTovarish "товарищ" ; -- +++ MG_UR: added +++
|
||||
--- flag_N = nVremja "зна" ;
|
||||
--- heaven_N = nNebo "неб" ; -- +++ MG_UR: added +++
|
||||
--- museum_N = nMusej "музе" ; -- +++ MG_UR: added +++
|
||||
-- name_N = mkN "имя" "имени" "имени" "имя" "именем" "имени" "имени" "имена" "имён" "именам" "имена" "именами" "именах" neuter inanimate ;
|
||||
--- ocean_N = nMorje "мор" ; -- +++ MG_UR: added +++
|
||||
son_N =
|
||||
{s = table
|
||||
{ NF Sg Nom => syn ;
|
||||
NF Sg Gen => syn+"а" ;
|
||||
NF Sg Dat => syn+"у" ;
|
||||
NF Sg Acc => syn +"а";
|
||||
NF Sg Inst => syn+"ом" ;
|
||||
NF Sg (Prepos _) => syn+"е" ;
|
||||
NF Pl Nom => syn+"ья" ;
|
||||
NF Pl Gen => syn+"ьев" ;
|
||||
NF Pl Dat => syn+"ьям" ;
|
||||
NF Pl Acc => syn +"ьев";
|
||||
NF Pl Inst => syn+"ьями" ;
|
||||
NF Pl (Prepos _) => syn+"ьяах"
|
||||
} ;
|
||||
g = Masc ; anim = Animate
|
||||
} ;
|
||||
--- time_N = nVremja "вре" ; -- +++ MG_UR: added +++
|
||||
--- vocationalschool_N = nUchilishe "училищ" ; -- +++ MG_UR: added +++
|
||||
way_N =
|
||||
{s = table
|
||||
{ NF Sg Nom => put+"ь" ;
|
||||
NF Sg Gen => put+"и" ;
|
||||
NF Sg Dat => put+"и" ;
|
||||
NF Sg Acc => put+"ь" ;
|
||||
NF Sg Inst => put+"ём" ;
|
||||
NF Sg (Prepos _) => put+"и" ;
|
||||
NF Pl Nom => put+"и" ;
|
||||
NF Pl Gen => put+"ей" ;
|
||||
NF Pl Dat => put+"ям" ;
|
||||
NF Pl Acc => put+"и" ;
|
||||
NF Pl Inst => put+"ями" ;
|
||||
NF Pl (Prepos _) => put+"ях"
|
||||
} ;
|
||||
g = Masc ; anim = Inanimate
|
||||
} ;
|
||||
|
||||
--- word_N = nSlovo "слов" ; -- +++ MG_UR: added +++
|
||||
}
|
||||
16
src/russian/v1/ExtraRus.gf
Normal file
16
src/russian/v1/ExtraRus.gf
Normal file
@@ -0,0 +1,16 @@
|
||||
concrete ExtraRus of ExtraRusAbs = CatRus **
|
||||
open ResRus, MorphoRus, (P = ParadigmsRus), Prelude, NounRus in {
|
||||
flags optimize=all ; coding=utf8 ;
|
||||
|
||||
lin
|
||||
have_V3 = P.mkV3 (P.mkV P.imperfective "" "" "" "" "" "" "был" "будь" "есть") "" "у" Nom Gen;
|
||||
|
||||
have2_V3 = P.mkV3 (P.mkV P.imperfective "есть" "есть" "есть" "есть" "есть" "есть" "был" "будь" "есть") "" "у" Nom Gen;
|
||||
|
||||
have_not_V3 = P.mkV3 (P.mkV P.imperfective "нет" "нет" "нет" "нет" "нет" "нет" "не было" "не будь" "нет") "" "у" Gen Gen;
|
||||
|
||||
be_V3 = P.mkV3 (P.mkV P.imperfective "" "" "" "" "" "" "был" "будь" "") "" "" Nom Dat;
|
||||
|
||||
to2_Prep = { s = "в" ; c = Acc };
|
||||
|
||||
}
|
||||
12
src/russian/v1/ExtraRusAbs.gf
Normal file
12
src/russian/v1/ExtraRusAbs.gf
Normal file
@@ -0,0 +1,12 @@
|
||||
abstract ExtraRusAbs = Cat ** {
|
||||
|
||||
fun
|
||||
|
||||
have_V3 : V3 ;
|
||||
have2_V3 : V3 ;
|
||||
have_not_V3 : V3;
|
||||
|
||||
be_V3 : V3 ;
|
||||
|
||||
to2_Prep : Prep ;
|
||||
}
|
||||
18
src/russian/v1/GrammarRus.gf
Normal file
18
src/russian/v1/GrammarRus.gf
Normal file
@@ -0,0 +1,18 @@
|
||||
--# -path=.:../abstract:../common:../../prelude
|
||||
|
||||
concrete GrammarRus of Grammar =
|
||||
NounRus,
|
||||
VerbRus,
|
||||
AdjectiveRus,
|
||||
AdverbRus,
|
||||
NumeralRus,
|
||||
SentenceRus,
|
||||
QuestionRus,
|
||||
RelativeRus,
|
||||
ConjunctionRus,
|
||||
PhraseRus,
|
||||
TextX,
|
||||
StructuralRus,
|
||||
IdiomRus,
|
||||
TenseX
|
||||
** { flags startcat = Phr ; unlexer = text ; lexer = text ; coding=utf8 ;} ;
|
||||
58
src/russian/v1/IdiomRus.gf
Normal file
58
src/russian/v1/IdiomRus.gf
Normal file
@@ -0,0 +1,58 @@
|
||||
--# -path=.:../abstract:../common:../../prelude
|
||||
|
||||
concrete IdiomRus of Idiom = CatRus ** open Prelude, ResRus, MorphoRus in {
|
||||
|
||||
flags optimize=all_subs ; coding=utf8 ;
|
||||
|
||||
lin
|
||||
ExistNP = \bar ->
|
||||
{s =\\b,clf => case b of
|
||||
{Pos => verbSuchestvovat.s ! (getActVerbForm clf (pgen2gen bar.g) Sg P3)
|
||||
++ bar.s ! PF Nom No NonPoss;
|
||||
Neg => "не" ++ verbSuchestvovat.s ! (getActVerbForm clf (pgen2gen bar.g) Sg P3)
|
||||
++ bar.s ! PF Nom No NonPoss
|
||||
}
|
||||
} ;
|
||||
|
||||
ExistIP Kto =
|
||||
let { kto = Kto.s ! (PF Nom No NonPoss) } in
|
||||
{s = \\b,clf,_ => case b of
|
||||
{Pos => kto ++ verbSuchestvovat.s ! (getActVerbForm clf (pgen2gen Kto.g) Sg P3) ;
|
||||
Neg => kto ++ "не" ++ verbSuchestvovat.s ! (getActVerbForm clf (pgen2gen Kto.g) Sg P3)
|
||||
}
|
||||
} ;
|
||||
|
||||
CleftAdv adv sen = {s= \\ b, clf => let ne= case b of {Pos =>[]; Neg =>"не"}
|
||||
in
|
||||
"это" ++ ne ++ adv.s ++ [", "]++ sen.s };
|
||||
|
||||
CleftNP np rs = {s= \\ b, clf =>
|
||||
let
|
||||
ne= case b of {Pos =>[]; Neg =>"не"};
|
||||
gn = case np.n of {Pl => GPl; _=> GSg (pgen2gen np.g)}
|
||||
in
|
||||
"это" ++ ne ++ np.s ! (PF Nom No NonPoss) ++
|
||||
rs.s ! gn !Nom!Animate };
|
||||
|
||||
ImpPl1 vp = {s= "давайте" ++ vp.s! (ClIndic Future Simul)! GPl ! P1};
|
||||
|
||||
ImpersCl vp = {s= \\ b, clf => let ne= case b of {Pos =>[]; Neg =>"не"}
|
||||
in
|
||||
ne ++ vp.s! clf! (GSg Neut) ! P3 };
|
||||
|
||||
-- No direct correspondance in Russian. Usually expressed by infinitive:
|
||||
-- "Если очень захотеть, можно в космос улететь"
|
||||
-- (If one really wants one can fly into the space).
|
||||
-- Note that the modal verb "can" is trasferred into adverb
|
||||
-- "можно" (it is possible) in Russian
|
||||
-- The closest subject is "ты" (you), which is omitted in the final sentence:
|
||||
-- "Если очень захочешь, можешь в космос улететь"
|
||||
|
||||
GenericCl vp = {s= \\ b, clf => let ne= case b of {Pos =>[]; Neg =>"не"}
|
||||
in
|
||||
"ты" ++ ne ++ vp.s! clf! (GSg Masc) ! P2 };
|
||||
|
||||
ProgrVP vp = vp ;
|
||||
|
||||
}
|
||||
|
||||
12
src/russian/v1/LangRus.gf
Normal file
12
src/russian/v1/LangRus.gf
Normal file
@@ -0,0 +1,12 @@
|
||||
--# -path=.:../abstract:../common:../prelude
|
||||
|
||||
concrete LangRus of Lang =
|
||||
GrammarRus,
|
||||
LexiconRus,
|
||||
ConstructionRus,
|
||||
DocumentationRus
|
||||
** {
|
||||
|
||||
flags startcat = Phr ; unlexer = text ; lexer = text ; coding=utf8 ;
|
||||
|
||||
} ;
|
||||
360
src/russian/v1/LexiconRus.gf
Normal file
360
src/russian/v1/LexiconRus.gf
Normal file
@@ -0,0 +1,360 @@
|
||||
--# -path=.:abstract:common
|
||||
concrete LexiconRus of Lexicon = CatRus **
|
||||
open ParadigmsRus, Prelude, StructuralRus, MorphoRus, (E = ExtraRus) in {
|
||||
flags
|
||||
optimize=values ;
|
||||
coding=utf8 ;
|
||||
lin
|
||||
add_V3 = mkV3 (regV imperfective first "складыва" "ю" "складывал" "складывай" "складывать" ) "" "в" accusative accusative;
|
||||
airplane_N = mkN "самолёт" ;
|
||||
already_Adv = mkAdv "уже" ;
|
||||
animal_N = mkN "животное" animate;
|
||||
answer_V2S = dirV2 (regV imperfective first "отвеча" "ю" "отвечал" "отвечай" "отвечать" );
|
||||
apartment_N = mkN "квартира" ;
|
||||
apple_N = mkN "яблоко" inanimate ;
|
||||
art_N = mkN "искусство" ;
|
||||
ashes_N = mkN "пепел" ;
|
||||
ask_V2Q = dirV2 (regV imperfective first "спрашива" "ю" "спрашивал" "спрашивай" "спрашивать") ;
|
||||
baby_N = mkN "малыш" animate;
|
||||
back_N = mkN "спина" ;
|
||||
bad_A = mkA "плохой" "хуже";
|
||||
bank_N = mkN "банк" ;
|
||||
bark_N = mkN "кора";
|
||||
beautiful_A = mkA "красивый";
|
||||
become_VA = regV perfective secondA "станов" "лю" "стал" "стань" "стать" ;
|
||||
beer_N = mkIndeclinableNoun "пиво" neuter inanimate ;
|
||||
beg_V2V = dirV2 (mkV imperfective "прошу" "просишь" "просит" "просим" "просите" "просят" "просил" "проси" "просить" );
|
||||
belly_N = mkN "живот" ;
|
||||
big_A = mkA "большой" "больше" ;
|
||||
bike_N = mkN "велосипед" ;
|
||||
bird_N = mkN "птица" animate;
|
||||
bite_V2 = dirV2 (regV imperfective first "куса" "ю" "кусал" "кусай" "кусать");
|
||||
black_A = mkA "чёрный";
|
||||
blood_N = mkN "кровь" ;
|
||||
blow_V = regV imperfective first "ду" "ю" "дул" "дуй" "дуть" ;
|
||||
blue_A = mkA "голубой" ;
|
||||
boat_N = mkN "лодка" ;
|
||||
bone_N = mkN "кость" ;
|
||||
book_N = mkN "книга" ;
|
||||
boot_N = mkN "сапог" ;
|
||||
boss_N = mkN "начальник" animate;
|
||||
boy_N = mkN "мальчик" animate;
|
||||
bread_N = mkN "хлеб" ;
|
||||
break_V2 = dirV2 (regV imperfective first "прерыва" "ю" "прерывал" "прерывай" "прерывать" );
|
||||
breast_N = mkN "грудь" ;
|
||||
breathe_V = regV imperfective second "дыш" "у" "дышал" "дыши" "дышать" ;
|
||||
broad_A = mkA "широкий" "шире";
|
||||
brother_N2 = mkN2 (mkN "брат" animate) ; -- FIXME: special case
|
||||
brown_A = mkA "коричневый";
|
||||
burn_V = regV imperfective second "гор" "ю" "горел" "гори" "гореть" ;
|
||||
butter_N = mkN "масло";
|
||||
buy_V2 = dirV2 (regV imperfective first "покупа" "ю" "покупал" "покупай" "покупать" );
|
||||
camera_N = mkN "фотоаппарат" ;
|
||||
cap_N = mkN "чашка" ; -- vowel change
|
||||
car_N = mkN "машина" ;
|
||||
carpet_N = mkN "ковёр"; -- vowel change
|
||||
cat_N = mkN "кошка" animate ; -- vowel change
|
||||
ceiling_N = mkN "потолок" ; -- vowel change
|
||||
chair_N = mkN "стул" ; -- irregular
|
||||
cheese_N = mkN "сыр" ;
|
||||
child_N = mkNAltPl "ребёнок" "деть" masculine animate;
|
||||
-- child_N = mkN "ребёнок" "ребёнка" "ребёнку" "ребёнка" "ребёнком" "ребёнке" "ребёнке" "дети" "детей" "детям" "детей" "детьми" "детях" masculine animate ;
|
||||
church_N = mkN "церковь" "церкви" "церкви" "церковь" "церковью" "церкви" "церкви" "церкви" "церквей" "церквям" "церкви" "церквями" "церквях" masculine inanimate ;
|
||||
city_N = mkN "город" ;
|
||||
clean_A = mkA "чистый" "чище";
|
||||
clever_A = mkA "умный";
|
||||
close_V2= dirV2 (regV imperfective first "закрыва" "ю" "закрывал" "закрывай" "закрывать" );
|
||||
cloud_N = mkN "облако" ; -- irregular
|
||||
coat_N = mkIndeclinableNoun "пальто" masculine inanimate ;
|
||||
cold_A = mkA "холодный";
|
||||
come_V = regV imperfective first "прихо" "жу" "приходил" "приходи" "приходить" ;
|
||||
computer_N = mkN "компьютер" ;
|
||||
correct_A = mkA "правильный" ;
|
||||
count_V2 = dirV2 (regV imperfective first "счита" "ю" "считал" "считай" "считать" ) ;
|
||||
country_N = mkN "страна" ;
|
||||
cousin_N = mkN "кузен" ; -- FIXME: is this really correct? can't find it in the dictionary
|
||||
cow_N = mkN "корова" animate ;
|
||||
cut_V2 = dirV2 (regV imperfective first "реж" "у" "резал" "режь" "резать" ) ;
|
||||
day_N = mkN "день" "дня" "дню" "день" "днём" "дне" "дне" "дни" "дней" "дням" "дни" "днями" "днях" masculine inanimate ;
|
||||
die_V = regV imperfective first "умира" "ю" "умирал" "умирай" "умирать" ;
|
||||
dig_V = regV imperfective first "копа" "ю" "копал" "копай" "копать" ;
|
||||
dirty_A = mkA "грязный" ;
|
||||
distance_N3 = mkN3 (mkN "расстояние") from_Prep to_Prep ;
|
||||
do_V2 = dirV2 (regV imperfective first "дела" "ю" "делал" "делай" "делать" );
|
||||
doctor_N = mkN "доктор" animate ;
|
||||
dog_N = mkN "собака" animate;
|
||||
door_N = mkN "дверь" ;
|
||||
drink_V2 = dirV2 (regV imperfective firstE "пь" "ю" "пил" "пей" "пить" );
|
||||
dry_A = mkA "сухой" "суше";
|
||||
dull_A = mkA "скучный" ;
|
||||
dust_N = mkN "пыль" ;
|
||||
ear_N = mkN "ухо" ;
|
||||
earth_N = mkN "земля" ;
|
||||
easy_A2V = mkA2 (mkA "лёгкий" "легче") "для" genitive ;
|
||||
eat_V2 = dirV2 (regV imperfective first "куша" "ю" "кушал" "кушай" "кушать" );
|
||||
egg_N = mkN "яйцо" ;
|
||||
empty_A = mkA "пустой" ;
|
||||
enemy_N = mkN "враг" animate ;
|
||||
eye_N = mkN "глаз" ; -- FIXME: Pl -a
|
||||
factory_N = mkN "фабрика" ;
|
||||
fall_V = regV imperfective first "пада" "ю" "падал" "падай" "падать" ;
|
||||
far_Adv = mkAdv "далеко";
|
||||
fat_N = mkN "жир" ;
|
||||
father_N2 = mkN2 (mkN "отец" "отца" "отцу" "отца" "отцом" "отце" "отце" "отцы" "отцов" "отцам" "отцов" "отцами" "отцах" masculine animate);
|
||||
fear_V2 =dirV2 (regV imperfective first "бо" "ю" "боял" "бой" "боять" );
|
||||
fear_VS = regV imperfective second "бо" "ю" "боял" "бой" "боять" ;
|
||||
feather_N = mkN "перо" "пера" "перу" "пера" "пером" "пере" "пере" "перья" "перьев" "перьям" "перьев" "перьями" "перьях" neuter inanimate ;
|
||||
fight_V2 = dirV2 (regV imperfective firstE "дер" "у" "драл" "дери" "драть" ) ;
|
||||
find_V2 = dirV2 (mkV imperfective "нахожу" "находишь" "находит" "находим" "находите" "находят" "находил" "находи" "находить" );
|
||||
fingernail_N = mkN "ноготь" "ногтя" "ногтю" "ногтя" "ногтем" "ногте" "ногте" "ногти" "ногтей" "ногтям" "ногтей" "ногтями" "ногтях" masculine inanimate ;
|
||||
fire_N = mkN "огонь" "огня" "огню" "огня" "огнём" "огне" "огне" "огни" "огней" "огням" "огней" "огнями" "огнях" masculine inanimate ;
|
||||
fish_N = mkN "рыба" animate;
|
||||
float_V = regV imperfective firstE "плыв" "у" "плыл" "плыви" "плыть" ;
|
||||
floor_N = mkN "пол" ;
|
||||
flow_V = regV imperfective firstE "тек" "у" "тёк" "теки" "течь" ;
|
||||
flower_N = mkN "цветок";
|
||||
fly_V = regV imperfective first "лета" "ю" "летал" "летай" "летать" ;
|
||||
fog_N = mkN "туман" ;
|
||||
foot_N = mkN "ступня" ;
|
||||
forest_N = mkN "лес" ; -- prepos -u
|
||||
forget_V2= dirV2 (regV imperfective first "забыва" "ю" "забывал" "забывай" "забывать" );
|
||||
freeze_V = regV imperfective first "замерза" "ю" "замерзал" "замерзай" "замерзать" ;
|
||||
fridge_N = mkN "холодильник" ;
|
||||
friend_N = mkN "друг" "друга" "другу" "друга" "другом" "друге" "друге" "друзья" "друзей" "друзьям" "друзей" "дузьями" "друзьях" masculine animate ;
|
||||
fruit_N = mkN "фрукт" ;
|
||||
full_A = mkA "полный";
|
||||
fun_AV = mkA "весёлый";
|
||||
garden_N = mkN "сад" ;
|
||||
girl_N = mkN "девочка" animate; -- vowel change
|
||||
give_V3 = tvDirDir (regV imperfective firstE "да" "ю" "давал" "давай" "давать" ) ;
|
||||
glove_N = mkN "перчатка" ; -- vowel change
|
||||
go_V = mkV imperfective "хожу" "ходишь" "ходит" "ходим" "ходите" "ходят" "ходил" "ходи" "ходить" ;
|
||||
gold_N = mkN "золото" ;
|
||||
good_A = mkA "хороший" "лучше" ;
|
||||
grammar_N = mkN "грамматика";
|
||||
grass_N = mkN "трава";
|
||||
green_A = mkA "зелёный" ;
|
||||
guts_N = mkN "внутренность" ;
|
||||
hair_N = mkN "волос" ; -- FIXME: always plural?
|
||||
hand_N = mkN "рука" ;
|
||||
harbour_N = mkN "порт" ; -- prepos -u
|
||||
hat_N = mkN "шляпа" ;
|
||||
hate_V2= dirV2 (mkV imperfective "ненавижу" "ненавидишь" "ненавидит" "ненавидим" "ненавидите" "ненавидят" "ненавидел" "ненавидь" "ненавидеть" );
|
||||
head_N = mkN "голова" ;
|
||||
hear_V2= dirV2 (regV imperfective first "слуша" "ю" "слушал" "слушай" "слушать" );
|
||||
heart_N = mkN "сердце" "сердца" "сердцу" "сердца" "сердцем" "сердце" "сердце" "сердца" "сердец" "сердцам" "сердец" "сердцами" "сердцах" neuter inanimate ;
|
||||
heavy_A = mkA "тяжёлый" ;
|
||||
hill_N = mkN "холм" ;
|
||||
hit_V2 = dirV2 (regV imperfective first "ударя" "ю" "ударял" "ударяй" "ударять" );
|
||||
hold_V2 = dirV2 (regV imperfective second "держ" "у" "держал" "держи" "держать" );
|
||||
hope_VS= regV imperfective first "наде" "ю" "надеял" "надей" "надеять" ;
|
||||
horn_N = mkN "рог" ;
|
||||
horse_N = mkN "лошадь" animate; -- irregular
|
||||
hot_A = mkA "горячий" ;
|
||||
house_N = mkN "дом" ;
|
||||
hunt_V2 = dirV2 (regV imperfective second "охоч" "у" "охотил" "охоть" "охотить" ) ;
|
||||
husband_N = mkN "муж" "мужа" "мужу" "мужа" "мужем" "муже" "муже" "мужья" "мужей" "мужьям" "мужей" "мужьями" "мужьях" masculine animate ;
|
||||
ice_N = mkN "лёд" "льда" "льду" "льда" "льдом" "льде" "льде" "льды" "льдов" "льдам" "льдов" "льдами" "льдах" masculine inanimate ;
|
||||
important_A = mkA "важный" ;
|
||||
industry_N = mkN "промышленность" ;
|
||||
iron_N = mkN "железо" ;
|
||||
john_PN = mkPN "Иван" Masc Sg Animate ;
|
||||
jump_V = regV imperfective first "прыга" "ю" "прыгал" "прыгай" "прыгать" ;
|
||||
kill_V2 = dirV2 (regV imperfective first "убива" "ю" "убивал" "убивай" "убивать" ) ;
|
||||
king_N = mkN "король" "короля" "королю" "короля" "королем" "короле" "короле" "короли" "королей" "королям" "королей" "королями" "королях" masculine animate ;
|
||||
knee_N = mkN "колено" "колена" "колену" "колена" "коленом" "колене" "колене" "колени" "колен" "коленам" "колен" "коленями" "коленях" neuter inanimate ;
|
||||
know_V2= dirV2 (regV imperfective first "зна" "ю" "знал" "знай" "знать" );
|
||||
know_VS= mkVQ (regV imperfective first "зна" "ю" "знал" "знай" "знать" );
|
||||
know_VQ= mkVQ (regV imperfective first "зна" "ю" "знал" "знай" "знать" );
|
||||
lake_N = mkN "озеро" ; -- gen pl "озёр"
|
||||
lamp_N = mkN "лампа" ;
|
||||
language_N = mkN "язык" ;
|
||||
laugh_V = regV imperfective firstE "сме" "ю" "смеял" "смей" "смеять" ;
|
||||
leaf_N = mkN "лист" ; -- irregular pl
|
||||
learn_V2= dirV2 (regV imperfective second "уч" "у" "учил" "учи" "учить" );
|
||||
leather_N = mkN "кожа" ;
|
||||
leave_V2= dirV2 (mkV imperfective "ухожу" "уходишь" "уходит" "уходим" "уходите" "уходят" "уходил" "уходи" "уходить" );
|
||||
left_Ord = (uy_j_EndDecl "лев" ) ** {lock_A = <>};
|
||||
leg_N = mkN "нога" ;
|
||||
lie_V = regV imperfective firstE "лг" "у" "лгал" "лги" "лгать" ;
|
||||
like_V2= dirV2 (regV imperfective second "нрав" "лю" "нравил" "нравь" "нравить" );
|
||||
listen_V2= dirV2 (regV imperfective first "слуша" "ю" "слушал" "слушай" "слушать" );
|
||||
live_V= regV imperfective firstE "жив" "у" "жил" "живи" "жить" ;
|
||||
liver_N = mkN "печень" ;
|
||||
long_A = mkA "длинный" ;
|
||||
lose_V2 = dirV2 (regV imperfective first "теря" "ю" "терял" "теряй" "терять" );
|
||||
louse_N = mkN "вошь" "вши" "вши" "вошь" "вошью" "вше" "вше" "вши" "вшей" "вшам" "вшей" "вшами" "вшах" feminine animate ;
|
||||
love_N = mkN "любовь" ; -- vowel change
|
||||
love_V2= dirV2 (regV imperfective second "люб" "лю" "любил" "люби" "любить" );
|
||||
man_N = mkNAltPl "человек" "людь" masculine animate ; -- null gen pl
|
||||
married_A2 = mkA2 (mkA "замужем") "за" instructive ;
|
||||
meat_N = mkN "мясо" ;
|
||||
milk_N = mkN "молоко" ;
|
||||
moon_N = mkN "луна" ;
|
||||
mother_N2 = mkN2 (mkN "мать" "матери" "матери" "мать" "матерью" "матери" "матери" "матери" "матерей" "матерям" "матерей" "матерями" "матерях" feminine animate) ;
|
||||
mountain_N = mkN "гора" ;
|
||||
mouth_N = mkN "рот" "рта" "рту" "рот" "ртом" "рте" "рте" "рты" "ртов" "ртам" "рты" "ртами" "ртах" masculine inanimate ;
|
||||
music_N = mkN "музыка" ;
|
||||
name_N = mkN "имя" ;
|
||||
narrow_A = mkA "узкий" "уже" ;
|
||||
near_A = mkA "близкий" "ближе";
|
||||
neck_N = mkN "шея" ;
|
||||
new_A = mkA "новый" ;
|
||||
newspaper_N = mkN "газета" ;
|
||||
night_N = mkN "ночь" ;
|
||||
nose_N = mkN "нос" ;
|
||||
now_Adv = mkAdv "сейчас" ;
|
||||
number_N = mkN "число" ; -- gen pl "чисел"
|
||||
oil_N = mkN "нефть" ;
|
||||
old_A = mkA "старый" "старше" ;
|
||||
open_V2= dirV2 (regV imperfective first "открыва" "ю" "открывал" "открывай" "открывать" );
|
||||
--- organise_V2 = dirV2 (regV imperfective first "организу" "ю" "организовал" "организуй" "организовать" );
|
||||
paint_V2A = dirV2 (regV imperfective first "рису" "ю" "рисовал" "рисуй" "рисовать" ) ;
|
||||
--- palace_N = nDvorec "двор" ; -- +++ MG_UR: added +++
|
||||
paper_N = mkN "бумага" ;
|
||||
paris_PN = mkPN "Париж" Masc Sg Inanimate ;
|
||||
peace_N = mkN "мир" ;
|
||||
pen_N = mkN "ручка" ;
|
||||
person_N = mkN "лицo" animate ; -- irregular
|
||||
planet_N = mkN "планета" ;
|
||||
plastic_N = mkN "пластмасса" ;
|
||||
play_V = regV imperfective first "игра" "ю" "играл" "играй" "играть" ;
|
||||
play_V2 = mkV2 (regV imperfective first "игра" "ю" "играл" "играй" "играть" ) "c" instructive;
|
||||
policeman_N = mkN "милиционер" animate ;
|
||||
priest_N = mkN "священник" animate;
|
||||
probable_AS = mkA "возможный" ;
|
||||
pull_V2 = dirV2 (regV imperfective first "тян" "у" "тянул" "тяни" "тянуть" ) ;
|
||||
push_V2 = dirV2 (regV imperfective first "толка" "ю" "толкал" "толкай" "толкать" );
|
||||
put_V2 = dirV2 (regV imperfective firstE "клад" "у" "клал" "клади" "класть" );
|
||||
queen_N = mkN "королева" animate ;
|
||||
question_N = mkN "вопрос" ;
|
||||
radio_N = mkIndeclinableNoun "радио" neuter inanimate;
|
||||
rain_N = mkN "дождь" ;
|
||||
rain_V0 = idetDozhd verbIdti; -- No such verb in Russian!
|
||||
read_V2 = dirV2 (regV imperfective first "чита" "ю" "читал" "читай" "читать" );
|
||||
-- ready_A = ;
|
||||
reason_N = mkN "причина";
|
||||
red_A = mkA "красный" ;
|
||||
religion_N = mkN "религия" ;
|
||||
restaurant_N = mkN "ресторан" ;
|
||||
right_Ord = (uy_j_EndDecl "прав") ** {lock_A = <>} ;
|
||||
river_N = mkN "рекa" ;
|
||||
road_N = mkN "дорогa" ;
|
||||
rock_N = mkN "камень" ;
|
||||
roof_N = mkN "крыша" ;
|
||||
root_N = mkN "корень" ;
|
||||
rope_N = mkN "верёвка" ;
|
||||
rotten_A = mkA "гнилой";
|
||||
round_A = mkA "круглый";
|
||||
rub_V2 = dirV2 (regV imperfective firstE "тр" "у" "тёр" "три" "тереть" );
|
||||
rubber_N = mkN "резина" ;
|
||||
rule_N = mkN "правило" ;
|
||||
run_V = regV imperfective first "бега" "ю" "бегал" "бегай" "бегать" ;
|
||||
salt_N = mkN "соль" ;
|
||||
sand_N = mkN "песок" "песка" "песку" "песок" "песком" "песке" "песке" "пески" "песков" "пескам" "песков" "песками" "песках" masculine inanimate ;
|
||||
say_VS = regV imperfective second "говор" "ю" "говорил" "говори" "говорить" ;
|
||||
school_N = mkN "школа" ;
|
||||
science_N = mkN "наука" ;
|
||||
scratch_V2 = dirV2 (regV imperfective first "чеш" "у" "чесал" "чеши" "чесать" ) ;
|
||||
sea_N = mkN "море" ;
|
||||
see_V2 = dirV2 (mkV imperfective "вижу" "видишь" "видит" "видим" "видите" "видят" "видел" "видь" "видеть");
|
||||
seed_N = mkN "семя";
|
||||
seek_V2 = dirV2 (regV imperfective first "ищ" "у" "искал" "ищи" "искать" );
|
||||
sell_V3 = tvDirDir (regV imperfective firstE "прода" "ю" "продавал" "продавай" "продавать" );
|
||||
send_V3 = tvDirDir (regV imperfective first "посыла" "ю" "посылал" "посылай" "посылать" );
|
||||
sew_V = regV imperfective firstE "шь" "ю" "шил" "шей" "шить" ;
|
||||
sharp_A = mkA "острый";
|
||||
sheep_N = mkN "овца" animate ;
|
||||
ship_N = mkN "корабль" ;
|
||||
shirt_N = mkN "рубашка" ;
|
||||
shoe_N = mkN "туфля" "туфли" "туфле" "туфлю" "туфлей" "туфле" "туфле" "туфли" "туфель" "туфлям" "туфли" "туфлями" "туфлях" masculine inanimate ;
|
||||
shop_N = mkN "магазин" ;
|
||||
short_A = mkA "короткий" "короче" ;
|
||||
silver_N = mkN "серебро" ;
|
||||
sing_V = regV imperfective firstE "по" "ю" "пел" "пой" "петь" ;
|
||||
sister_N = mkN "сестра" animate ;
|
||||
sit_V = mkV imperfective "сижу" "сидишь" "сидит" "сидим" "сидите" "сидят" "сидел" "сиди" "сидеть" ;
|
||||
skin_N = mkN "кожа" ;
|
||||
sky_N = mkN "небо" "неба" "небу" "небо" "небом" "небе" "небе" "небеса" "небес" "небесам" "небес" "небесами" "небесах" neuter inanimate ;
|
||||
sleep_V = regV imperfective second "сп" "лю" "спал" "спи" "спать" ;
|
||||
small_A = mkA "маленький" "меньше" ;
|
||||
smell_V = regV imperfective first "пахн" "у" "пахнул" "пахни" "пахнуть" ;
|
||||
smoke_N = mkN "дым" ;
|
||||
smooth_A = mkA "гладкий" "глаже";
|
||||
snake_N = mkN "змея" animate ;
|
||||
snow_N = mkN "снег" ;
|
||||
sock_N = mkN "носок" ;
|
||||
song_N = mkN "песня" ;
|
||||
speak_V2 = mkV2 (regV imperfective secondA "говор" "ю" "говорил" "говори" "говорить")
|
||||
"на" prepositional ;
|
||||
spit_V = regV imperfective firstE "плю" "ю" "плевал" "плюй" "плевать" ;
|
||||
split_V2 = dirV2 (regV imperfective first "разбива" "ю" "разбивал" "разбей" "разбивать" ) ;
|
||||
squeeze_V2 = dirV2 (regV imperfective first "сжима" "ю" "сжимал" "сжимай" "сжимать" ) ;
|
||||
stab_V2 = dirV2 (regV imperfective first "кол" "ю" "колол" "коли" "колоть" ) ;
|
||||
stand_V = regV imperfective second "сто" "ю" "стоял" "стой" "стоять" ;
|
||||
star_N = mkN "звезда" ;
|
||||
steel_N = mkN "сталь" ;
|
||||
stick_N = mkN "палка" ;
|
||||
stone_N = mkN "камень" ;
|
||||
stop_V = regV imperfective first "останавлива" "ю" "останавливал" "останавливай" "останавливать";
|
||||
stove_N = mkN "печь" ;
|
||||
straight_A = mkA "прямой" ;
|
||||
student_N = mkN "студент" animate ;
|
||||
stupid_A = mkA "тупой" "тупее" ;
|
||||
suck_V2 = dirV2 (regV imperfective firstE "сос" "у" "сосал" "соси" "сосать") ;
|
||||
sun_N = mkN "солнце" "солнца" "солнцу" "солнце" "солнцем" "солнце" "солнце" "солнца" "солнц" "солнцам" "солнца" "солнцами" "солнцах" neuter inanimate ;
|
||||
swell_V = regV imperfective first "опуха" "ю" "опухал" "опухай" "опухать" ;
|
||||
swim_V = regV imperfective first "плава" "ю" "плавал" "плавай" "плавать" ;
|
||||
switch8off_V2 = dirV2 (regV imperfective first "выключа" "ю" "выключал" "выключай" "выключать") ;
|
||||
switch8on_V2 = dirV2 (regV imperfective first "включа" "ю" "включал" "включай" "включать") ;
|
||||
table_N = mkN "стол" ;
|
||||
tail_N = mkN "хвост" ;
|
||||
talk_V3 = mkV3 (regV imperfective second "говор" "ю" "говорил" "говори" "говорить" ) "с" "о" instructive prepositional;
|
||||
teach_V2 = dirV2 (regV imperfective second "уч" "у" "учил" "учи" "учить" );
|
||||
teacher_N = mkN "учитель" animate ;
|
||||
television_N = mkN "телевидение" ; -- FIXME: televizor?
|
||||
thick_A = mkA "толстый" "толще" ;
|
||||
thin_A = mkA "тонкий" "тоньше" ;
|
||||
think_V = regV imperfective first "дума" "ю" "думал" "думай" "думать" ;
|
||||
throw_V2 = dirV2 (regV imperfective first "броса" "ю" "бросал" "бросай" "бросать" ) ;
|
||||
tie_V2 = dirV2 (regV imperfective first "вяж" "у" "вязал" "вяжи" "вязать") ;
|
||||
today_Adv = mkAdv "сегодня" ;
|
||||
tongue_N = mkN "язык" ;
|
||||
tooth_N = mkN "зуб" ;
|
||||
train_N = mkN "поезд" ;
|
||||
travel_V = regV imperfective first "путешеству" "ю" "путешествовал" "путешествуй" "путешествовать" ;
|
||||
tree_N = mkN "дерево" ; -- irregular
|
||||
turn_V = regV imperfective first "поворачива" "ю" "поворачивал" "поворачивай" "поворачивать" ;
|
||||
ugly_A = mkA "некрасивый" ;
|
||||
-- uncertain_A = ;
|
||||
understand_V2 = dirV2 (regV imperfective first "понима" "ю" "понимал" "понимай" "понимать" );
|
||||
university_N = mkN "университет" ;
|
||||
village_N = mkN "деревня" ;
|
||||
vomit_V = regV imperfective firstE "рв" "у" "рвал" "рви" "рвать" ;
|
||||
wait_V2 = dirV2 (regV imperfective firstE "жд" "у" "ждал" "жди" "ждать" );
|
||||
walk_V = regV imperfective first "гуля" "ю" "гулял" "гуляй" "гулять" ;
|
||||
--- want_V2 = dirV2 (regV imperfective mixed "хо" "чу" "хотел" "хоти" "хотеть" );
|
||||
war_N = mkN "война" ;
|
||||
warm_A = mkA "тёплый" ;
|
||||
wash_V2 = dirV2 (regV imperfective first "мо" "ю" "мыл" "мой" "мыть" ) ;
|
||||
watch_V2 = dirV2 (regV imperfective second "смотр" "ю" "смотрел" "смотри" "смотреть" );
|
||||
water_N = mkN "вода" ;
|
||||
wet_A = mkA "мокрый" ;
|
||||
white_A = mkA "белый" ;
|
||||
wide_A = mkA "широкий" "шире";
|
||||
wife_N = mkN "жена" animate ;
|
||||
win_V2 = dirV2 (regV imperfective first "выигрыва" "ю" "выигрывал" "выигрывай" "выигрывать" );
|
||||
wind_N = mkN "ветер" "ветра" "ветру" "ветер" "ветром" "ветра" "ветра" "ветров" "ветра" "ветрам" "ветров" "ветрами" "ветрах" masculine inanimate ;
|
||||
window_N = mkN "окно" ; -- "окон"
|
||||
wine_N = mkN "вино" ;
|
||||
wing_N = mkN "крыло" ; -- pl крылья крыльев etc
|
||||
wipe_V2 = dirV2 (regV imperfective first "вытира" "ю" "вытирал" "вытирай" "вытирать" );
|
||||
woman_N = mkN "женщина" ;
|
||||
wonder_VQ = regV imperfective first "интересу" "ю" "интересовал" "интересуй" "интересовать";
|
||||
wood_N = mkN "дерево" ;
|
||||
worm_N = mkN "черв" ;
|
||||
write_V2 = dirV2 (regV imperfective first "пиш" "у" "писал" "пиши" "писать" );
|
||||
year_N = mkNAltPl "год" "лето" masculine inanimate ;
|
||||
yellow_A = mkA "жёлтый" ;
|
||||
young_A = mkA "молодой" "моложе" ;
|
||||
}
|
||||
1517
src/russian/v1/MorphoRus.gf
Normal file
1517
src/russian/v1/MorphoRus.gf
Normal file
File diff suppressed because it is too large
Load Diff
304
src/russian/v1/NounRus.gf
Normal file
304
src/russian/v1/NounRus.gf
Normal file
@@ -0,0 +1,304 @@
|
||||
--# -path=.:../abstract:../common:../../prelude
|
||||
|
||||
concrete NounRus of Noun = CatRus ** open ResRus, Prelude, MorphoRus in {
|
||||
|
||||
flags optimize=all_subs ; coding=utf8 ;
|
||||
|
||||
lin
|
||||
|
||||
DetCN kazhduj okhotnik = {
|
||||
s = \\c => case kazhduj.size of {
|
||||
nom =>
|
||||
kazhduj.s ! extCase c ! okhotnik.anim ! okhotnik.g ++
|
||||
okhotnik.nounpart ! NF Sg (extCase c) nom ++ okhotnik.relcl ! kazhduj.n ! (extCase c) ;
|
||||
nompl =>
|
||||
kazhduj.s ! extCase c ! okhotnik.anim ! okhotnik.g ++
|
||||
okhotnik.nounpart ! NF kazhduj.n (extCase c) nompl ++ okhotnik.relcl ! kazhduj.n ! (extCase c) ;
|
||||
sgg =>
|
||||
case c of {
|
||||
PF Nom _ _ =>
|
||||
kazhduj.s ! Nom ! okhotnik.anim ! okhotnik.g ++
|
||||
okhotnik.nounpart ! NF Sg Gen sgg ++ okhotnik.relcl ! kazhduj.n ! (extCase c) ;
|
||||
_ =>
|
||||
kazhduj.s ! extCase c ! okhotnik.anim ! okhotnik.g ++
|
||||
okhotnik.nounpart ! NF Pl (extCase c) sgg ++ okhotnik.relcl ! kazhduj.n ! (extCase c)} ;
|
||||
plg =>
|
||||
case c of {
|
||||
PF Nom _ _ =>
|
||||
kazhduj.s ! Nom ! okhotnik.anim ! okhotnik.g ++
|
||||
okhotnik.nounpart ! NF Pl Gen plg ++ okhotnik.relcl ! kazhduj.n ! (extCase c) ;
|
||||
_ =>
|
||||
kazhduj.s ! extCase c ! okhotnik.anim ! okhotnik.g ++
|
||||
okhotnik.nounpart ! NF Pl (extCase c) plg ++ okhotnik.relcl ! kazhduj.n ! (extCase c)}
|
||||
};
|
||||
n = kazhduj.n ;
|
||||
p = P3 ;
|
||||
pron = False;
|
||||
g = case kazhduj.g of { PNoGen => (PGen okhotnik.g); _ => kazhduj.g };
|
||||
anim = okhotnik.anim
|
||||
} ;
|
||||
|
||||
UsePN masha = {
|
||||
s = \\c => masha.s ! (extCase c) ;
|
||||
p = P3; g = PGen masha.g ; anim = masha.anim ;
|
||||
n = Sg; nComp = Sg; pron = False} ;
|
||||
|
||||
UsePron p = p ** {anim = Inanimate};
|
||||
|
||||
PredetNP pred np = {
|
||||
s = \\pf => pred.s! (AF (extCase pf) np.anim (gennum (pgen2gen np.g) np.n))++ np.s ! pf ;
|
||||
n = np.n;
|
||||
p = np.p;
|
||||
g = np.g;
|
||||
anim = np.anim;
|
||||
pron = np.pron
|
||||
} ;
|
||||
|
||||
PPartNP np v2 = {
|
||||
s = \\pf => np.s ! pf ++ v2.s ! VFORM Act VINF ;
|
||||
-- no participles in the Verbum type as they behave as adjectives
|
||||
n = np.n;
|
||||
p = np.p;
|
||||
g = np.g;
|
||||
anim = np.anim;
|
||||
pron = np.pron
|
||||
} ;
|
||||
|
||||
AdvNP np adv = {
|
||||
s = \\pf => np.s ! pf ++ adv.s ;
|
||||
n = np.n;
|
||||
p = np.p;
|
||||
g = np.g;
|
||||
anim = np.anim;
|
||||
pron = np.pron
|
||||
} ;
|
||||
|
||||
-- 1.4 additions AR 17/6/2008
|
||||
|
||||
DetNP kazhduj =
|
||||
let
|
||||
g = Neut ; ----
|
||||
anim = Inanimate ;
|
||||
in {
|
||||
s = \\c => kazhduj.s ! extCase c ! anim ! g ;
|
||||
n = kazhduj.n ;
|
||||
p = P3 ;
|
||||
pron = False;
|
||||
g = case kazhduj.g of { PNoGen => (PGen g); _ => kazhduj.g };
|
||||
anim = anim
|
||||
} ;
|
||||
|
||||
{-
|
||||
DetArtOrd quant num ord = {
|
||||
s = \\af => quant.s !af ++ num.s! (caseAF af) ! (genAF af) ++ ord.s!af ;
|
||||
n = num.n ;
|
||||
g = quant.g;
|
||||
c = quant.c
|
||||
} ;
|
||||
|
||||
DetArtCard quant num = {
|
||||
s = \\af => quant.s !af ++ num.s! (caseAF af) ! (genAF af) ;
|
||||
n = num.n ;
|
||||
g = quant.g;
|
||||
c = quant.c
|
||||
} ;
|
||||
-}
|
||||
-- MassDet = {s = \\_=>[] ; c = Nom; g = PNoGen; n = Sg} ;
|
||||
|
||||
MassNP okhotnik = {
|
||||
s = \\c => okhotnik.nounpart ! NF Sg (extCase c) nom ++ okhotnik.relcl ! Sg ! extCase c ;
|
||||
n = Sg ;
|
||||
p = P3 ;
|
||||
pron = False;
|
||||
g = PGen okhotnik.g ;
|
||||
anim = okhotnik.anim
|
||||
} ;
|
||||
{-
|
||||
DetArtSg kazhduj okhotnik = {
|
||||
s = \\c => -- art case always Nom (AR 17/6/2008)
|
||||
kazhduj.s ! AF (extCase c) okhotnik.anim (gennum okhotnik.g Sg) ++
|
||||
okhotnik.s ! Sg ! (extCase c) ;
|
||||
n = Sg ;
|
||||
p = P3 ;
|
||||
pron = False;
|
||||
g = case kazhduj.g of { PNoGen => (PGen okhotnik.g); _ => kazhduj.g};
|
||||
anim = okhotnik.anim
|
||||
} ;
|
||||
|
||||
DetArtPl kazhduj okhotnik = {
|
||||
s = \\c => -- art case always Nom (AR 17/6/2008)
|
||||
kazhduj.s ! AF (extCase c) okhotnik.anim (gennum okhotnik.g Pl) ++
|
||||
okhotnik.s ! Pl ! (extCase c) ;
|
||||
n = Pl ;
|
||||
p = P3 ;
|
||||
pron = False;
|
||||
g = case kazhduj.g of { PNoGen => (PGen okhotnik.g); _ => kazhduj.g };
|
||||
anim = okhotnik.anim
|
||||
} ;
|
||||
-}
|
||||
PossPron p = {s = \\af => p.s ! mkPronForm (caseAF af) No (Poss (gennum (genAF af) (numAF af) )); c=Nom; g = PNoGen; size = nom} ;
|
||||
|
||||
OrdNumeral numeral = variants {} ; ---- TODO; needed to compile Constructors
|
||||
OrdDigits numeral = variants {} ; ---- TODO; needed to compile Constructors
|
||||
---- OrdDigits TODO
|
||||
-- {s = \\ af => (uy_j_EndDecl (numeral.s ! caseAF af ! genAF af)).s!af} ;
|
||||
|
||||
NumNumeral n = n ;
|
||||
NumDigits n = {s = \\_,_,_ => n.s ; n = n.n ; size = n.size } ;
|
||||
|
||||
AdNum adn num = {s = \\c,a,n => adn.s ++ num.s!c!a!n ; n = num.n ; size = num.size} ;
|
||||
|
||||
OrdSuperl a = {s = a.s ! Posit} ;
|
||||
|
||||
DefArt = {s = \\_=>[] ; c=Nom; g = PNoGen; size = nom };
|
||||
IndefArt = { s = \\_=>[] ; c=Nom; g = PNoGen; size = nom };
|
||||
|
||||
UseN noun = {
|
||||
nounpart = \\nf => noun.s ! nf ;
|
||||
relcl = \\n,c => "" ;
|
||||
g = noun.g ;
|
||||
anim = noun.anim
|
||||
} ;
|
||||
|
||||
UseN2 noun = {
|
||||
nounpart = noun.s ;
|
||||
relcl = \\n,c => "" ;
|
||||
g = noun.g ;
|
||||
anim = noun.anim
|
||||
} ;
|
||||
|
||||
-- The application of a function gives, in the first place, a common noun:
|
||||
-- "ключ от дома". From this, other rules of the resource grammar
|
||||
-- give noun phrases, such as "ключи от дома", "ключи от дома
|
||||
-- и от машины", and "ключ от дома и машины" (the
|
||||
-- latter two corresponding to distributive and collective functions,
|
||||
-- respectively). Semantics will eventually tell when each
|
||||
-- of the readings is meaningful.
|
||||
|
||||
ComplN2 f x = {
|
||||
nounpart = \\nf => case x.pron of {
|
||||
True => x.s ! (case nf of {NF n c size => mkPronForm c No (Poss (gennum f.g n))}) ++ f.s ! nf ;
|
||||
False => f.s ! nf ++ f.c2.s ++
|
||||
x.s ! (case nf of {NF n c size => mkPronForm f.c2.c Yes (Poss (gennum f.g n))})
|
||||
} ;
|
||||
relcl = \\n,c => "" ;
|
||||
g = f.g ;
|
||||
anim = f.anim
|
||||
} ;
|
||||
|
||||
-- Two-place functions add one argument place.
|
||||
-- There application starts by filling the first place.
|
||||
|
||||
ComplN3 f x = {
|
||||
s = \\nf => f.s ! nf ++ f.c2.s ++ x.s ! (PF f.c2.c Yes NonPoss) ;
|
||||
g = f.g ;
|
||||
anim = f.anim ;
|
||||
c2 = f.c3 ;
|
||||
} ;
|
||||
|
||||
---- AR 17/12/2008
|
||||
Use2N3 f = {
|
||||
s = f.s ;
|
||||
g = f.g ;
|
||||
anim = f.anim ;
|
||||
c2 = f.c2
|
||||
} ;
|
||||
|
||||
---- AR 17/12/2008
|
||||
Use3N3 f = {
|
||||
s = f.s ;
|
||||
g = f.g ;
|
||||
anim = f.anim ;
|
||||
c2 = f.c3
|
||||
} ;
|
||||
|
||||
|
||||
-- The two main functions of adjective are in predication ("Иван - молод")
|
||||
-- and in modification ("молодой человек"). Predication will be defined
|
||||
-- later, in the chapter on verbs.
|
||||
|
||||
AdjCN ap cn = {
|
||||
nounpart = \\nf => case ap.p of {
|
||||
False => ap.s ! case nf of {NF Sg Gen sgg => AF Nom cn.anim GPl ;
|
||||
NF n c size => AF c cn.anim (gennum cn.g n)} ++ cn.nounpart ! nf ;
|
||||
True => cn.nounpart ! nf ++ ap.s ! case nf of {NF Sg Gen sgg => AF Nom cn.anim GPl ;
|
||||
NF n c size => AF c cn.anim (gennum cn.g n)}
|
||||
} ;
|
||||
relcl = cn.relcl ;
|
||||
g = cn.g ;
|
||||
anim = cn.anim
|
||||
} ;
|
||||
|
||||
-- This is a source of the "man with a telescope" ambiguity, and may produce
|
||||
-- strange things, like "машины всегда".
|
||||
-- Semantics will have to make finer distinctions among adverbials.
|
||||
|
||||
AdvCN cn adv = {
|
||||
nounpart = \\nf => cn.nounpart ! nf ++ adv.s ;
|
||||
relcl = cn.relcl ;
|
||||
g = cn.g ;
|
||||
anim = cn.anim
|
||||
} ;
|
||||
|
||||
-- Constructions like "the idea that two is even" are formed at the
|
||||
-- first place as common nouns, so that one can also have "a suggestion that...".
|
||||
|
||||
SentCN idea x = {
|
||||
nounpart = \\nf => idea.nounpart ! nf ;
|
||||
relcl = \\n,c => idea.relcl ! n ! c ++ x.s ;
|
||||
g = idea.g ;
|
||||
anim = idea.anim
|
||||
} ;
|
||||
|
||||
RelCN idea x = {
|
||||
nounpart = \\nf => idea.nounpart ! nf;
|
||||
relcl = \\n,c => idea.relcl ! n ! c ++ x.s ! (gennum idea.g n)! c ! idea.anim ;
|
||||
g = idea.g ;
|
||||
anim = idea.anim
|
||||
} ;
|
||||
|
||||
---- AR 17/12/2008
|
||||
ApposCN cn s = {
|
||||
nounpart = \\nf => cn.nounpart ! nf ++ s.s ! (case nf of {NF n c size => PF c No NonPoss}) ;
|
||||
relcl = cn.relcl ;
|
||||
g = cn.g ;
|
||||
anim = cn.anim
|
||||
} ;
|
||||
|
||||
RelNP np rel = {
|
||||
s = \\c => np.s ! c ++ rel.s ! (gennum (pgen2gen np.g) np.n) ! extCase c ! np.anim ;
|
||||
n = np.n ;
|
||||
p = np.p ;
|
||||
pron = np.pron ;
|
||||
g = np.g ;
|
||||
anim = np.anim ;
|
||||
nComp = np.nComp
|
||||
} ;
|
||||
|
||||
---- Liza Zimina 04/2018
|
||||
-- changed to make Ord agree in number with Num
|
||||
|
||||
DetQuantOrd quant num ord = {
|
||||
s = \\c,a,gen => quant.s ! AF c a (gennum gen num.n) ++ num.s ! gen ! a ! c ++ case num.n of {
|
||||
Sg => ord.s ! AF c a (GSg gen) ;
|
||||
Pl => ord.s ! AF c a GPl
|
||||
} ;
|
||||
n = num.n ;
|
||||
g = quant.g;
|
||||
c = quant.c;
|
||||
size = quant.size
|
||||
} ;
|
||||
|
||||
DetQuant quant num = {
|
||||
s = \\c,a,gen => quant.s ! AF c a (gennum gen num.n) ++ num.s ! gen ! a ! c ;
|
||||
n = num.n ;
|
||||
g = quant.g;
|
||||
c = quant.c;
|
||||
size = num.size
|
||||
} ;
|
||||
|
||||
NumCard c = c ;
|
||||
NumSg = {s = \\_,_,_ => [] ; n = Sg ; size = nom} ;
|
||||
NumPl = {s = \\_,_,_ => [] ; n = Pl ; size = nompl} ;
|
||||
}
|
||||
|
||||
272
src/russian/v1/NumeralRus.gf
Normal file
272
src/russian/v1/NumeralRus.gf
Normal file
@@ -0,0 +1,272 @@
|
||||
--# -path=.:../abstract:../common:../../prelude
|
||||
|
||||
concrete NumeralRus of Numeral = CatRus [Numeral,Digits] ** open ResRus, Prelude in {
|
||||
|
||||
flags coding=utf8 ;
|
||||
|
||||
-- Toiska, 13/8/2000, AR with Arto Mustajoki.
|
||||
-- Nikita Frolov, 2011
|
||||
|
||||
lincat Digit = {s : DForm => Gender => Animacy => Case => Str ; size : Size} ;
|
||||
lincat Sub10 = {s : Place => DForm => Gender => Animacy => Case => Str ; size : Size} ;
|
||||
lincat Sub100 = {s : Place => Gender => Animacy => Case => Str ; size : Size} ;
|
||||
lincat Sub1000 = {s : Place => Gender => Animacy => Case => Str ; size : Size} ;
|
||||
lincat Sub1000000 = {s : Gender => Animacy => Case => Str ; size : Size} ;
|
||||
|
||||
lin num x = {s = \\ g,a,c => x.s ! g ! a ! c; n = Pl ; size = x.size};
|
||||
|
||||
lin n3 =
|
||||
{s = table {unit => tri ;
|
||||
teen => nadsat "три" ;
|
||||
ten => n2030 "три" ;
|
||||
hund => sta tri} ;
|
||||
size = sgg} ;
|
||||
lin n4 =
|
||||
{s = table {unit => chetyre ;
|
||||
teen => nadsat "четыр" ;
|
||||
ten => \\ g, a, c =>
|
||||
case <c, g> of {
|
||||
<(Nom|Acc), _ > => "сорок";
|
||||
<(Gen|Dat|Inst|Prepos _), _ > => "сорока" } ;
|
||||
hund => sta chetyre } ;
|
||||
size = sgg} ;
|
||||
lin n5 =
|
||||
{s = table {unit => n59 "пят" ;
|
||||
teen => nadsat "пят" ;
|
||||
ten => n5070 "пят" ;
|
||||
hund => sot (n59 "пят")} ;
|
||||
size = plg} ;
|
||||
lin n6 =
|
||||
{s = table {unit => n59 "шест" ;
|
||||
teen => nadsat "шест" ;
|
||||
ten => n5070 "шест" ;
|
||||
hund => sot (n59 "шест")} ;
|
||||
size = plg} ;
|
||||
lin n7 =
|
||||
{s = table {unit => n59 "сем" ;
|
||||
teen => nadsat "сем" ;
|
||||
ten => n5070 "сем" ;
|
||||
hund => sot (n59 "сем") } ;
|
||||
size = plg} ;
|
||||
lin n8 =
|
||||
{s = table {unit => vosem ;
|
||||
teen => nadsat "восем" ;
|
||||
ten => \\ g, a, c =>
|
||||
case <c, g> of {
|
||||
<(Nom|Acc), _ > => "восемьдесят";
|
||||
<(Gen|Dat|Prepos _), _ > => "восьмидесяти" ;
|
||||
<Inst, _ > => "восемьюдесятью"
|
||||
};
|
||||
hund => sot vosem
|
||||
} ;
|
||||
size = plg} ;
|
||||
lin n9 =
|
||||
{s = table {unit => n59 "девят" ;
|
||||
teen => nadsat "девят" ;
|
||||
ten => \\ g, a, c =>
|
||||
case <c, g> of {
|
||||
<(Nom|Acc), _ > => "девяносто";
|
||||
<(Gen|Dat|Inst|Prepos _), _ > => "девяноста"
|
||||
};
|
||||
hund => sot (n59 "девят") } ;
|
||||
size = plg} ;
|
||||
|
||||
oper n59 : Str -> (Gender => Animacy => Case => Str) = \ n -> \\ g, a, c =>
|
||||
case <c, g> of {
|
||||
<(Nom|Acc), _ > => n + "ь";
|
||||
<(Gen|Dat|Prepos _), _ > => n + "и";
|
||||
<Inst, _ > => n + "ью"
|
||||
};
|
||||
|
||||
oper n2030 : Str -> (Gender => Animacy => Case => Str) = \ n -> \\ g, a, c =>
|
||||
case <c, g> of {
|
||||
<(Nom|Acc), _ > => n + "дцать";
|
||||
<(Gen|Dat|Prepos _), _ > => n + "дцати" ;
|
||||
<Inst, _ > => n + "дцатью"
|
||||
};
|
||||
|
||||
oper n5070 : Str -> (Gender => Animacy => Case => Str) = \ n -> \\ g, a, c =>
|
||||
case <c, g> of {
|
||||
<(Nom|Acc), _ > => n + "ьдесят";
|
||||
<(Gen|Dat|Prepos _), _ > => n + "идесяти" ;
|
||||
<Inst, _ > => n + "ьюдесятью"
|
||||
};
|
||||
|
||||
oper tri : Gender => Animacy => Case => Str = \\ g, a, c =>
|
||||
case <c, g> of {
|
||||
<(Nom|Acc), _ > => "три";
|
||||
<(Gen|Prepos _), _ > => "трех";
|
||||
<Dat, _ > => "трем";
|
||||
<Inst, _ > => "тремя"
|
||||
};
|
||||
|
||||
oper chetyre : Gender => Animacy => Case => Str = \\ g, a, c =>
|
||||
case <c, g> of {
|
||||
<(Nom|Acc), _ > => "четыре";
|
||||
<(Gen|Prepos _), _ > => "четырех";
|
||||
<Dat, _ > => "четырем";
|
||||
<Inst, _ > => "четырьмя"
|
||||
};
|
||||
|
||||
oper vosem : Gender => Animacy => Case => Str = \\ g, a, c =>
|
||||
case <c, g> of {
|
||||
<(Nom|Acc), _ > => "восемь";
|
||||
<(Gen|Dat|Prepos _), _ > => "восьми";
|
||||
<Inst, _ > => "восемью"
|
||||
};
|
||||
|
||||
-- a little tribute to Burgess
|
||||
oper nadsat : Str -> (Gender => Animacy => Case => Str) = \ n -> \\ g, a, c =>
|
||||
case <c, g> of {
|
||||
<(Nom|Acc), _ > => n + "надцать";
|
||||
<(Gen|Dat|Prepos _), _ > => n + "надцати";
|
||||
<Inst, _ > => n + "надцатью"
|
||||
};
|
||||
|
||||
oper sta : (Gender => Animacy => Case => Str) -> (Gender => Animacy => Case => Str) = \ n -> \\ g, a, c =>
|
||||
case <c, g> of {
|
||||
<(Nom|Acc), _ > => n ! Fem ! Animate ! c + "ста";
|
||||
<Gen, _ > => n ! Fem ! Animate ! c + "сот";
|
||||
<Dat, _ > => n ! Fem ! Animate ! c + "стам";
|
||||
<Inst, _ > => n ! Fem ! Animate ! c + "юстами";
|
||||
<Prepos _, _ > => n ! Fem ! Animate ! c + "стах"
|
||||
};
|
||||
|
||||
oper sot : (Gender => Animacy => Case => Str) -> (Gender => Animacy => Case => Str) = \ n -> \\ g, a, c =>
|
||||
case <c, g> of {
|
||||
<(Nom|Acc), _ > => n ! Fem ! Animate ! c + "сот";
|
||||
<Gen, _ > => n ! Fem ! Animate ! c + "сот";
|
||||
<Dat, _ > => n ! Fem ! Animate ! c + "стам";
|
||||
<Inst, _ > => n ! Fem ! Animate ! c + "юстами";
|
||||
<Prepos _, _ > => n ! Fem ! Animate ! c + "ста"
|
||||
};
|
||||
|
||||
lin pot01 =
|
||||
{s = table {attr => table {hund => \\ g, a, c =>
|
||||
case <g, a, c> of {
|
||||
<_, _, (Nom|Acc) > => "сто";
|
||||
<_, _, (Gen|Dat|Prepos _) > => "ста";
|
||||
<_, _, Inst > => "сотней"
|
||||
};
|
||||
_ => \\ g, a, c => []} ;
|
||||
_ => table {hund => \\ g, a, c =>
|
||||
case <g, a, c> of {
|
||||
<_, _, (Nom|Acc) > => "сто";
|
||||
<_, _, (Gen|Dat|Prepos _) > => "ста";
|
||||
-- TODO: case agreement with nouns
|
||||
<_, _, Inst > => "сотней"
|
||||
};
|
||||
_ => \\ g, a, c =>
|
||||
case <g, a, c> of {
|
||||
<Masc, Animate, Acc> => "одного";
|
||||
<Masc, Inanimate, Acc> => "один";
|
||||
<Masc, _, Nom > => "один";
|
||||
<Masc, _, Gen > => "одного";
|
||||
<Masc, _, Dat > => "одному";
|
||||
<Masc, _, Inst > => "одним";
|
||||
<Masc, _, Prepos _ > => "одном";
|
||||
<Fem, _, Nom > => "одна";
|
||||
<Fem, _, (Gen|Dat|Inst|Prepos _) > => "одной";
|
||||
<Fem, _, Acc> => "одну";
|
||||
<Neut, _, (Nom|Acc) > => "одно";
|
||||
<Neut, _, Gen > => "одного";
|
||||
<Neut, _, Dat > => "одному";
|
||||
<Neut, _, Inst > => "одним";
|
||||
<Neut, _, Prepos _ > => "одном"}}} ;
|
||||
size = nom} ;
|
||||
|
||||
lin n2 =
|
||||
{s = table {unit => \\ g, a, c =>
|
||||
case <c, g, a> of {
|
||||
<(Nom|Acc), Fem, _ > => "две";
|
||||
<(Nom|Acc), (Masc|Neut), Inanimate > => "два";
|
||||
<Nom, (Masc|Neut), Animate > => "два";
|
||||
<Acc , _, Animate > => "двух";
|
||||
<(Gen|Prepos _), _, _ > => "двух";
|
||||
<Dat, _, _ > => "двум";
|
||||
<Inst, _, _ > => "двумя"
|
||||
};
|
||||
teen => nadsat "две" ;
|
||||
ten => n2030 "два" ;
|
||||
hund => \\ g, a, c =>
|
||||
case <c, g> of {
|
||||
<(Nom|Acc), _ > => "двести";
|
||||
<Gen, _ > => "двухсот";
|
||||
<Dat, _ > => "двумстам";
|
||||
<Inst, _ > => "двумястами";
|
||||
<Prepos _, _ > => "двухстах"} } ;
|
||||
size = sgg} ;
|
||||
|
||||
lin pot0 d =
|
||||
{s = table {_ => d.s} ; size = d.size} ;
|
||||
lin pot110 =
|
||||
{s = \\ p => n59 "десят" ; size = plg} ;
|
||||
lin pot111 =
|
||||
{s = \\ p => nadsat "один" ; size = plg} ; --- 11
|
||||
lin pot1to19 d =
|
||||
{s = table {_ => d.s ! teen} ; size = plg} ;
|
||||
lin pot0as1 n =
|
||||
{s = table {p => n.s ! p ! unit} ; size = n.size} ;
|
||||
lin pot1 d =
|
||||
{s = table {_ => d.s ! ten} ; size = plg} ; ---
|
||||
lin pot1plus d e =
|
||||
{s = table {_ => \\ g, a, c => d.s ! ten ! g ! a ! c ++ e.s ! indep ! unit ! g ! a ! c} ; size = e.size} ;
|
||||
lin pot1as2 n =
|
||||
{s = n.s ; size = n.size} ;
|
||||
lin pot2 d =
|
||||
{s = table {p => d.s ! p ! hund} ; size = plg} ;
|
||||
lin pot2plus d e =
|
||||
{s = \\ p, g, a, c => d.s ! p ! hund ! g ! a ! c ++ e.s ! indep ! g ! a ! c ; size = e.size} ;
|
||||
lin pot2as3 n =
|
||||
{s = n.s ! indep ; size = n.size} ;
|
||||
lin pot3 n =
|
||||
{s = \\ g, a, c => n.s ! attr ! Fem ! a ! c ++ mille ! n.size ; size = plg} ;
|
||||
lin pot3plus n m =
|
||||
{s = \\ g, a, c => n.s ! attr ! Fem ! a ! c ++ mille ! n.size ++ m.s ! indep ! g ! a ! c ; size = plg} ;
|
||||
|
||||
--- TODO
|
||||
--- raz/odin
|
||||
|
||||
-- numerals as sequences of digits
|
||||
|
||||
lincat
|
||||
Dig = TDigit ;
|
||||
|
||||
lin
|
||||
IDig d = {s = d.s ; n = d.n ; size = d.size} ;
|
||||
|
||||
IIDig d i = {
|
||||
s = d.s ++ BIND ++ i.s ;
|
||||
n = Pl ;
|
||||
size = i.size
|
||||
} ;
|
||||
|
||||
D_0 = mk2Dig "0" plg ;
|
||||
D_1 = mk4Dig "1" "1" Sg nom ; ----
|
||||
D_2 = mk2Dig "2" sgg ;
|
||||
D_3 = mk2Dig "3" sgg ;
|
||||
D_4 = mk2Dig "4" sgg ;
|
||||
D_5 = mk2Dig "5" plg ;
|
||||
D_6 = mk2Dig "6" plg ;
|
||||
D_7 = mk2Dig "7" plg ;
|
||||
D_8 = mk2Dig "8" plg ;
|
||||
D_9 = mk2Dig "9" plg ;
|
||||
|
||||
oper
|
||||
mk3Dig : Str -> Str -> Size -> TDigit = \c,o,size -> mk4Dig c o Pl size ;
|
||||
mk2Dig : Str -> Size -> TDigit = \c,size -> mk3Dig c (c + "o") size ;
|
||||
|
||||
mk4Dig : Str -> Str -> Number -> Size -> TDigit = \c,o,n,size -> {
|
||||
s = c ; ---- gender
|
||||
n = n ;
|
||||
size = size
|
||||
} ;
|
||||
|
||||
TDigit = {
|
||||
n : Number ;
|
||||
s : Str ;
|
||||
size : Size
|
||||
} ;
|
||||
|
||||
}
|
||||
|
||||
608
src/russian/v1/ParadigmsRus.gf
Normal file
608
src/russian/v1/ParadigmsRus.gf
Normal file
@@ -0,0 +1,608 @@
|
||||
--# -path=.:../abstract:../../prelude:../common
|
||||
|
||||
--1 Russian Lexical Paradigms
|
||||
--
|
||||
-- Janna Khegai 2003--2006
|
||||
--
|
||||
-- This is an API for the user of the resource grammar
|
||||
-- for adding lexical items. It gives functions for forming
|
||||
-- expressions of open categories: nouns, adjectives, verbs.
|
||||
--
|
||||
-- Closed categories (determiners, pronouns, conjunctions) are
|
||||
-- accessed through the resource syntax API, $Structural.gf$.
|
||||
--
|
||||
-- The main difference with $MorphoRus.gf$ is that the types
|
||||
-- referred to are compiled resource grammar types. We have moreover
|
||||
-- had the design principle of always having existing forms, rather
|
||||
-- than stems, as string arguments of the paradigms.
|
||||
--
|
||||
-- The structure of functions for each word class $C$ is the following:
|
||||
-- first we give a handful of patterns that aim to cover all
|
||||
-- regular cases. Then we give a worst-case function $mkC$, which serves as an
|
||||
-- escape to construct the most irregular words of type $C$.
|
||||
--
|
||||
-- The following modules are presupposed:
|
||||
|
||||
resource ParadigmsRus = open
|
||||
Prelude,
|
||||
MorphoRus,
|
||||
CatRus,
|
||||
NounRus
|
||||
in {
|
||||
|
||||
flags coding=utf8 ;
|
||||
|
||||
--2 Parameters
|
||||
--
|
||||
-- To abstract over gender names, we define the following identifiers.
|
||||
|
||||
oper
|
||||
Gender : Type ; -- Parameter for mkN*
|
||||
masculine : Gender ;
|
||||
feminine : Gender ;
|
||||
neuter : Gender ;
|
||||
|
||||
-- To abstract over case names, we define the following.
|
||||
Case : Type ; -- Parameter for mkPrep, mkA2, mkV2, mkV3
|
||||
|
||||
nominative : Case ;
|
||||
genitive : Case ;
|
||||
dative : Case ;
|
||||
accusative : Case ;
|
||||
instructive : Case ;
|
||||
prepositional : Case ;
|
||||
|
||||
-- In some (written in English) textbooks accusative case
|
||||
-- is put on the second place. However, we follow the case order
|
||||
-- standard for Russian textbooks.
|
||||
|
||||
-- To abstract over number names, we define the following.
|
||||
Number : Type ; -- Parameter for mkPN
|
||||
|
||||
singular : Number ;
|
||||
plural : Number ;
|
||||
|
||||
--2 Nouns
|
||||
|
||||
Animacy : Type ; -- Parameter for mkN, mkPN
|
||||
|
||||
animate : Animacy;
|
||||
inanimate : Animacy;
|
||||
|
||||
-- Indeclinabe nouns: "кофе", "пальто", "ВУЗ".
|
||||
|
||||
mkIndeclinableNoun: Str -> Gender -> Animacy -> N ;
|
||||
|
||||
mkNAltPl: Str -> Str -> Gender -> Animacy -> N ;
|
||||
|
||||
mkN : overload {
|
||||
|
||||
-- The regular function captures the variants for some common noun endings.
|
||||
|
||||
mkN : (karta : Str) -> N ;
|
||||
mkN : (tigr : Str) -> Animacy -> N ;
|
||||
|
||||
-- Worst case - give six singular forms:
|
||||
-- Nominative, Genetive, Dative, Accusative, Instructive and Prepositional;
|
||||
-- and the prepositional form after в and на, and
|
||||
-- the corresponding six plural forms and the gender and animacy.
|
||||
|
||||
mkN : (nomSg, genSg, datSg, accSg, instSg, preposSg, prepos2Sg, nomPl, genPl, datPl, accPl, instPl, preposPl : Str) -> Gender -> Animacy -> N -- Worst case - give six singular forms: Nominative, Genetive, Dative, Accusative, Instructive and Prepositional; and the prepositional form after в and на, and the corresponding six plural forms and the gender and animacy.
|
||||
} ;
|
||||
|
||||
mkN2 : overload {
|
||||
|
||||
-- Genitive with no preposition.
|
||||
|
||||
mkN2 : N -> N2 ;
|
||||
mkN2 : N -> Prep -> N2 ;
|
||||
} ;
|
||||
|
||||
|
||||
mkN3 : N -> Prep -> Prep -> N3 ;
|
||||
|
||||
-- Proper names.
|
||||
|
||||
mkPN : Str -> Gender -> Number -> Animacy -> PN ; -- "Иван", "Маша"
|
||||
nounPN : N -> PN ;
|
||||
|
||||
|
||||
--2 Adjectives
|
||||
|
||||
-- Non-comparison (only positive degree) one-place adjectives need 28 (4 by 7)
|
||||
-- forms in the worst case:
|
||||
|
||||
|
||||
-- (Masculine | Feminine | Neutral | Plural) *
|
||||
|
||||
-- (Nominative | Genitive | Dative | Accusative Inanimate | Accusative Animate |
|
||||
-- Instructive | Prepositional)
|
||||
|
||||
|
||||
-- Notice that 4 short forms, which exist for some adjectives are not included
|
||||
-- in the current description, otherwise there would be 32 forms for
|
||||
-- positive degree.
|
||||
|
||||
mkA : overload {
|
||||
|
||||
-- Regular and invariant adjectives with regular comparative.
|
||||
|
||||
mkA : (positive : Str) -> A ;
|
||||
|
||||
-- Adjectives with irregular comparative.
|
||||
|
||||
mkA : (positive, comparative : Str) -> A ;
|
||||
|
||||
} ;
|
||||
|
||||
-- Two-place adjectives need a preposition and a case as extra arguments.
|
||||
|
||||
mkA2 : A -> Str -> Case -> A2 ; -- "делим на"
|
||||
|
||||
-- Comparison adjectives need a positive adjective
|
||||
-- (28 forms without short forms).
|
||||
-- Taking only one comparative form (non-syntactic) and
|
||||
-- only one superlative form (syntactic) we can produce the
|
||||
-- comparison adjective with only one extra argument -
|
||||
-- non-syntactic comparative form.
|
||||
-- Syntactic forms are based on the positive forms.
|
||||
|
||||
|
||||
-- mkADeg : A -> Str -> ADeg ;
|
||||
|
||||
-- On top level, there are adjectival phrases. The most common case is
|
||||
-- just to use a one-place adjective.
|
||||
-- ap : A -> IsPostfixAdj -> AP ;
|
||||
|
||||
--2 Adverbs
|
||||
|
||||
-- Adverbs are not inflected.
|
||||
|
||||
mkAdv : Str -> Adv ;
|
||||
|
||||
--2 Prepositions
|
||||
mkPrep : Str -> Case -> Prep ; -- as in German
|
||||
|
||||
--2 Verbs
|
||||
--
|
||||
-- In our lexicon description ("Verbum") there are 62 forms:
|
||||
-- 2 (Voice) by { 1 (infinitive) + [2(number) by 3 (person)](imperative) +
|
||||
-- [ [2(Number) by 3(Person)](present) + [2(Number) by 3(Person)](future) +
|
||||
-- 4(GenNum)(past) ](indicative)+ 4 (GenNum) (subjunctive) }
|
||||
-- Participles (Present and Past) and Gerund forms are not included,
|
||||
-- since they fuction more like Adjectives and Adverbs correspondingly
|
||||
-- rather than verbs. Aspect is regarded as an inherent parameter of a verb.
|
||||
-- Notice, that some forms are never used for some verbs.
|
||||
|
||||
Voice : Type ; -- Parameter to mkV*
|
||||
active : Voice ;
|
||||
passive : Voice ;
|
||||
|
||||
Aspect : Type ; -- Parameter to mkV*
|
||||
imperfective : Aspect ;
|
||||
perfective : Aspect ;
|
||||
|
||||
Conjugation : Type ; -- Parameter to mkV*
|
||||
first : Conjugation ; -- "гуля-Ешь, гуля-Ем"
|
||||
firstE : Conjugation ; -- Verbs with vowel "ё": "даёшь" (give), "пьёшь" (drink)
|
||||
second : Conjugation ; -- "вид-Ишь, вид-Им"
|
||||
mixed : Conjugation ; -- "хоч-Ешь - хот-Им"
|
||||
dolzhen : Conjugation ; -- irregular
|
||||
foreign: Conjugation; -- deprecated, not needed
|
||||
|
||||
Bool: Type;
|
||||
true: Bool;
|
||||
false: Bool;
|
||||
|
||||
-- Common conjugation patterns are two conjugations:
|
||||
-- first - verbs ending with "-ать/-ять" and second - "-ить/-еть".
|
||||
-- Instead of 6 present forms of the worst case, we only need
|
||||
-- a present stem and one ending (singular, first person):
|
||||
-- "я люб-лю", "я жд-у", etc. To determine where the border
|
||||
-- between stem and ending lies it is sufficient to compare
|
||||
-- first person from with second person form:
|
||||
-- "я люб-лю", "ты люб-ишь". Stems shoud be the same.
|
||||
-- So the definition for verb "любить" looks like:
|
||||
-- regV Imperfective Second "люб" "лю" "любил" "люби" "любить";
|
||||
|
||||
regV : Aspect -> Conjugation -> (stemPresSg1,endPresSg1,pastSg1,imp,inf : Str) -> V ; -- Example for verb "любить": `regV Imperfective Second "люб" "лю" "любил" "люби" "любить"`
|
||||
|
||||
-- The worst case need 6 forms of the present tense in indicative mood
|
||||
-- ("я бегу", "ты бежишь", "он бежит", "мы бежим", "вы бежите", "они бегут"),
|
||||
-- a past form (singular, masculine: "я бежал"), an imperative form
|
||||
-- (singular, second person: "беги"), an infinitive ("бежать").
|
||||
-- Inherent aspect should also be specified.
|
||||
|
||||
-- mkVerbum : Aspect -> (presentSgP1,presentSgP2,presentSgP3,
|
||||
mkV : Aspect -> (presSg1,presSg2,presSg3,presPl1,presPl2,presPl3,pastSgMasc,imp,inf: Str) -> V ; -- The worst case need 6 forms of the present tense in indicative mood ("я бегу", "ты бежишь", "он бежит", "мы бежим", "вы бежите", "они бегут"), a past form (singular, masculine: "я бежал"), an imperative form (singular, second person: "беги"), an infinitive ("бежать"). Inherent aspect should also be specified.
|
||||
|
||||
|
||||
|
||||
|
||||
-- Two-place verbs, and the special case with direct object. Notice that
|
||||
-- a particle can be included in a $V$.
|
||||
|
||||
mkV2 : V -> Str -> Case -> V2 ; -- "войти в дом"; "в", accusative
|
||||
mkV3 : V -> Str -> Str -> Case -> Case -> V3 ; -- "сложить письмо в конверт"
|
||||
mkVS : V -> VS ;
|
||||
mkVQ : V -> VQ ;
|
||||
mkV2V : V -> Str -> Case -> V2V ;
|
||||
mkV2S : V -> Str -> Case -> V2S ;
|
||||
mkV2Q : V -> Str -> Case -> V2Q ;
|
||||
mkV2A : V -> Str -> Case -> V2A ;
|
||||
|
||||
dirV2 : V -> V2 ; -- "видеть", "любить"
|
||||
tvDirDir : V -> V3 ;
|
||||
|
||||
-- The definitions should not bother the user of the API. So they are
|
||||
-- hidden from the document.
|
||||
--.
|
||||
Gender = MorphoRus.Gender ;
|
||||
Case = MorphoRus.Case ;
|
||||
Number = MorphoRus.Number ;
|
||||
Animacy = MorphoRus.Animacy;
|
||||
Aspect = MorphoRus.Aspect;
|
||||
Voice = MorphoRus.Voice ;
|
||||
--Tense = Tense ;
|
||||
Bool = Prelude.Bool ;
|
||||
Conjugation = MorphoRus.Conjugation;
|
||||
first = First ;
|
||||
firstE = FirstE ;
|
||||
second = Second ;
|
||||
secondA = SecondA ;
|
||||
mixed = Mixed ;
|
||||
dolzhen = Dolzhen;
|
||||
foreign = Foreign; -- deprecated. Not needed
|
||||
|
||||
true = True;
|
||||
false = False ;
|
||||
masculine = Masc ;
|
||||
feminine = Fem ;
|
||||
neuter = Neut ;
|
||||
nominative = Nom ;
|
||||
accusative = Acc ;
|
||||
dative = Dat ;
|
||||
genitive = Gen ;
|
||||
instructive = Inst ;
|
||||
prepositional = Prepos PrepOther ; -- FIXME: not correct for v and na
|
||||
singular = Sg ;
|
||||
plural = Pl ;
|
||||
animate = Animate ;
|
||||
inanimate = Inanimate ;
|
||||
active = Act ;
|
||||
passive = Pass ;
|
||||
imperfective = Imperfective ;
|
||||
perfective = Perfective ;
|
||||
-- present = Present ;
|
||||
--past = Past ;
|
||||
Degree = Posit | Compar | Superl ;
|
||||
|
||||
-- Person = P1 | P2 | P3 ;
|
||||
-- AfterPrep = Yes | No ;
|
||||
-- Possessive = NonPoss | Poss GenNum ;
|
||||
|
||||
-- Noun definitions
|
||||
|
||||
mkN = overload {
|
||||
mkN : (karta : Str) -> N = mk1N ;
|
||||
mkN : (tigr : Str) -> Animacy -> N = \nom, anim -> case anim of { Animate => lin N (nAnimate (mk1N nom)) ;
|
||||
Inanimate => mk1N nom } ;
|
||||
mkN : (nomSg, genSg, datSg, accSg, instSg, preposSg, prepos2Sg,
|
||||
nomPl, genPl, datPl, accPl, instPl, preposPl : Str) -> Gender -> Animacy -> N = mkWorstN
|
||||
} ;
|
||||
|
||||
mkIndeclinableNoun = \s,g, anim ->
|
||||
{
|
||||
s = table { NF _ _ _ => s } ;
|
||||
g = g ;
|
||||
anim = anim
|
||||
} ** {lock_N = <>};
|
||||
|
||||
mkNAltPl = \s, alt, g, anim ->
|
||||
let {singular = mkN s ; plural = mkN alt} in {
|
||||
s = table { NF Sg c size => singular.s ! NF Sg c size;
|
||||
NF Pl c nom => singular.s ! NF Sg c nom;
|
||||
NF Pl c nompl => plural.s ! NF Sg c nompl;
|
||||
NF Pl c sgg => plural.s ! NF Sg c sgg;
|
||||
NF Pl c plg => plural.s ! NF Pl c plg } ;
|
||||
g = g ;
|
||||
anim = anim
|
||||
} ** {lock_N = <>};
|
||||
|
||||
oper mkWorstN : (nomSg, genSg, datSg, accSg, instSg, preposSg, prepos2Sg,
|
||||
nomPl, genPl, datPl, accPl, instPl, preposPl : Str) -> Gender -> Animacy -> N
|
||||
= \nomSg, genSg, datSg, accSg, instSg, preposSg, prepos2Sg,
|
||||
nomPl, genPl, datPl, accPl, instPl, preposPl, g, anim ->
|
||||
{
|
||||
s = table {
|
||||
NF Sg Nom _ => nomSg ;
|
||||
NF Sg Gen _ => genSg ;
|
||||
NF Sg Dat _ => datSg ;
|
||||
NF Sg Acc _ => accSg ;
|
||||
NF Sg Inst _ => instSg ;
|
||||
NF Sg (Prepos PrepOther) _ => preposSg ;
|
||||
NF Sg (Prepos PrepVNa) _ => prepos2Sg ;
|
||||
NF Pl Nom _ => nomPl ;
|
||||
NF Pl Gen _ => genPl ;
|
||||
NF Pl Dat _ => datPl ;
|
||||
NF Pl Acc _ => accPl ;
|
||||
NF Pl Inst _ => instPl ;
|
||||
NF Pl (Prepos _) _ => preposPl
|
||||
} ;
|
||||
g = g ;
|
||||
anim = anim
|
||||
} ** {lock_N = <>} ;
|
||||
|
||||
oper mk1N : Str -> N = \x ->
|
||||
case x of {
|
||||
stem+"онок" => nDecl10Hard stem ;
|
||||
stem+"ёнок" => nDecl10Soft stem ;
|
||||
-- stem+"aнин" => nDecl11 stem ;
|
||||
stem@(_+"и")+"й" => nDecl7Masc stem;
|
||||
stem@(_+"и")+"я" => nDecl7Fem stem;
|
||||
stem@(_+"и")+"е" => nDecl7Neut stem;
|
||||
stem+"ее" => nAdj { s = (mk1A (stem+"ий")).s!Posit } Neut;
|
||||
stem+"ое" => nAdj { s = (mk1A (stem+(iAfter stem)+"й")).s!Posit } Neut;
|
||||
stem+"мя" => nDecl9 stem ;
|
||||
stem@(_+("а"|"е"|"ё"|"о"|"у"|"ы"|"э"|"ю"|"я"))+"й" => nDecl6Masc stem ;
|
||||
stem@(_+("а"|"е"|"ё"|"о"|"у"|"ы"|"э"|"ю"|"я"))+"е" => nDecl6Neut stem ;
|
||||
stem@(_+("а"|"е"|"ё"|"о"|"у"|"ы"|"э"|"ю"|"я"))+"я" => nDecl6Fem stem ;
|
||||
stem@(_+("ч"|"щ"|"ш"|"ж"|"п"|"эн"|"м"|"ф"))+"ь" => nDecl8 stem ;
|
||||
stem@(_+("д"|"т"|"ст"|"с"|"в"|"б"))+"ь" => nDecl8 stem ;
|
||||
stem@(_+"ш"|"ж"|"ч"|"щ"|"ц")+"е" => nRegHardNeut stem;
|
||||
stem+"е" => nRegSoftNeut stem ;
|
||||
stem+"я" => nRegSoftFem stem ;
|
||||
stem+"ь" => nRegSoftMasc stem ;
|
||||
stem+"о" => nRegHardNeut stem ;
|
||||
stem+"а" => nRegHardFem stem ;
|
||||
stem => nRegHardMasc stem
|
||||
} ** {lock_N = <>} ;
|
||||
|
||||
|
||||
|
||||
-- An individual-valued function is a common noun together with the
|
||||
-- preposition prefixed to its argument ("клZ+ о' дома").
|
||||
-- The situation is analogous to two-place adjectives and transitive verbs.
|
||||
--
|
||||
-- We allow the genitive construction to be used as a variant of
|
||||
-- all function applications. It would definitely be too restrictive only
|
||||
-- to allow it when the required case is genitive. We don't know if there
|
||||
-- are counterexamples to the liberal choice we've made.
|
||||
|
||||
oper mkN2 = overload {
|
||||
mkN2 : N -> N2 = \n -> mkFun n nullPrep ;
|
||||
mkN2 : N -> Prep -> N2 = mkFun;
|
||||
} ;
|
||||
|
||||
mkFun : N -> Prep -> N2 = \f,p -> f ** {c2 = p ; lock_N2 = <>} ;
|
||||
|
||||
nullPrep : Prep = {s = []; c= Gen; lock_Prep=<>} ;
|
||||
|
||||
mkN3 f p2 p3 = f ** {c2 = p2; c3 = p3; lock_N3 = <>} ;
|
||||
|
||||
|
||||
-- mkPN = \ivan, g, n, anim ->
|
||||
-- case n of {
|
||||
-- Sg => case g of {
|
||||
-- Masc => mkProperNameMasc ivan anim ;
|
||||
-- Fem => mkProperNameFem ivan anim ;
|
||||
-- _ => mkProperNameMasc ivan anim
|
||||
-- } ;
|
||||
-- Pl => mkProperNamePl ivan anim
|
||||
-- } ** {lock_PN =<>};
|
||||
|
||||
mkPN ivan g n anim = nounPN (mk1N ivan);
|
||||
|
||||
nounPN n = {s=\\c => n.s! NF Sg c nom; anim=n.anim; g=n.g; lock_PN=<>};
|
||||
|
||||
-- On the top level, it is maybe $CN$ that is used rather than $N$, and
|
||||
-- $NP$ rather than $PN$.
|
||||
|
||||
makeCN : N -> CN ;
|
||||
makeNP : Str -> Gender -> Animacy -> NP ;
|
||||
|
||||
|
||||
makeCN = UseN;
|
||||
|
||||
makeNP = \x,y,z -> UsePN (mkPN x y singular z) ;
|
||||
|
||||
mkA = overload {
|
||||
mkA : (positive : Str) -> A = mk1A ;
|
||||
mkA : (positive : Str) -> AdjType -> A = mk1Ab ;
|
||||
mkA : (positive, shortMasc, shortFem, shortNeut, shortPl : Str) -> A = mk3A ; -- to make correct short forms (Liza Zimina 04/2018)
|
||||
mkA : (positive, comparative : Str) -> A = mk2A ;
|
||||
mkA : (positive : Str) -> ShortFormPreference -> A = mk4A ; -- adjectives preferring full forms in conjunction
|
||||
-- (e.g. "он классический и элегантный" vs "он классический и элегантен") Liza Zimina 04/2018
|
||||
mkA : (positive : Str) -> Bool -> A = mk5A ; -- postfix adjectives (e.g. "цвета кости") Liza Zimina 04/2018
|
||||
} ;
|
||||
|
||||
mk1A : Str -> A = \positive ->
|
||||
let stem = Predef.tk 2 positive in mk2A positive (stem+"ее") ;
|
||||
|
||||
mk2A : Str -> Str -> A = \positive, comparative ->
|
||||
case positive of {
|
||||
stem+"ый" => mkAdjDeg (aRegHard StemStress Qual stem) comparative ;
|
||||
stem+"ой" => mkAdjDeg (aRegHard EndStress Qual stem) comparative ;
|
||||
stem@(_+("г"|"к"|"х"))+"ий" => mkAdjDeg (aRegHard StemStress Qual stem) comparative;
|
||||
stem@(_+("ш"|"ж"|"ч"|"щ"))+"ий" => mkAdjDeg (aRegHard StemStress Qual stem) comparative;
|
||||
stem+"ий" => mkAdjDeg (aRegSoft Qual stem) comparative ;
|
||||
stem => mkAdjDeg (adjInvar stem) comparative
|
||||
} ;
|
||||
|
||||
mk1Ab : Str -> AdjType -> A = \positive, at ->
|
||||
let { stem = Predef.tk 2 positive;
|
||||
comparative = stem + "ее"
|
||||
} in case positive of {
|
||||
stem+"ый" => mkAdjDeg (aRegHard StemStress at stem) comparative ;
|
||||
stem+"ой" => mkAdjDeg (aRegHard EndStress at stem) comparative ;
|
||||
stem@(_+("г"|"к"|"х"))+"ий" => mkAdjDeg (aRegHard StemStress at stem) comparative;
|
||||
stem@(_+("ш"|"ж"|"ч"|"щ"))+"ий" => mkAdjDeg (aRegHard StemStress at stem) comparative;
|
||||
stem+"ий" => mkAdjDeg (aRegSoft at stem) comparative ;
|
||||
stem => mkAdjDeg (adjInvar stem) comparative
|
||||
} ;
|
||||
|
||||
|
||||
-- khaki, mini, hindi, netto
|
||||
adjInvar : Str -> Adjective = \stem -> { s = \\_ => stem } ;
|
||||
|
||||
oper mkAdjDeg: Adjective -> Str -> A = \adj, s ->
|
||||
{s = table
|
||||
{
|
||||
Posit => adj.s ;
|
||||
Compar => \\af => s ;
|
||||
Superl => \\af => samuj.s !af ++ adj.s ! af
|
||||
} ;
|
||||
p = False ;
|
||||
preferShort = PrefShort
|
||||
} ** {lock_A = <>};
|
||||
|
||||
oper mkAdjDegFull: Adjective -> Str -> ShortFormPreference -> A = \adj, s,sfp ->
|
||||
{s = table
|
||||
{
|
||||
Posit => adj.s ;
|
||||
Compar => \\af => s ;
|
||||
Superl => \\af => samuj.s !af ++ adj.s ! af
|
||||
} ;
|
||||
p = False ;
|
||||
preferShort = sfp
|
||||
} ** {lock_A = <>};
|
||||
|
||||
|
||||
oper mkParticiple : Voice -> VTense -> V -> A = \voice, tense, v ->
|
||||
let vstem = verbStem v in
|
||||
let actpres = verbHasEnding v in
|
||||
let actpast = stemHasEnding vstem in
|
||||
let passpast = case hasConj v of {
|
||||
(First|FirstE) => "ем" ;
|
||||
(Second|SecondA) => "им" ;
|
||||
_ => "ем"
|
||||
} in
|
||||
case <voice, tense> of {
|
||||
<Act, VPresent _> => mkA (vstem + actpres + "ий") ;
|
||||
<Act, VPast> => mkA (vstem + actpast + "ий") ;
|
||||
<Pass, VPresent _> => mkA (vstem + "нный") ;
|
||||
<Pass, VPast> => mkA (vstem + passpast + "ый") ;
|
||||
_ => mkA "" -- Russian participles do not have a future tense
|
||||
} ;
|
||||
|
||||
oper mkActPresParticiple : V -> A = mkParticiple Act (VPresent P3) ;
|
||||
oper mkActPastParticiple : V -> A = mkParticiple Act (VPresent P3) ;
|
||||
oper mkPassPresParticiple : V -> A = mkParticiple Pass VPast ;
|
||||
oper mkPassPastParticiple : V -> A = mkParticiple Pass VPast ;
|
||||
|
||||
oper mkGerund : VTense -> V -> Adv = \tense, v ->
|
||||
let vstem = verbStem v in
|
||||
let suffix = case hasConj v of {
|
||||
SecondA => "а" ;
|
||||
_ => "я"
|
||||
} in
|
||||
case tense of {
|
||||
VPresent _ => mkAdv (vstem + suffix) ;
|
||||
VPast => mkAdv (vstem + "в") ;
|
||||
_ => mkAdv "" -- Russian gerunds do not have a future tense
|
||||
} ;
|
||||
|
||||
mkA2 a p c= a ** {c2 = {s=p; c=c}; lock_A2 = <>};
|
||||
-- mkADeg a s = mkAdjDeg a s ** {lock_ADeg = <>}; -- defined in morpho.RusU
|
||||
|
||||
-- ap a p = mkAdjPhrase a p ** {lock_AP = <>}; -- defined in syntax module
|
||||
|
||||
mkAdv x = ss x ** {lock_Adv = <>} ;
|
||||
|
||||
-- Prepositions definitions
|
||||
mkPrep s c = {s = s ; c = c ; lock_Prep = <>} ;
|
||||
|
||||
-- Verb definitions
|
||||
|
||||
-- mkVerbum = \asp, sgP1, sgP2, sgP3, plP1, plP2, plP3,
|
||||
mkV = \asp, sgP1, sgP2, sgP3, plP1, plP2, plP3,
|
||||
sgMascPast, imperSgP2, inf -> case asp of {
|
||||
Perfective =>
|
||||
mkVerbPerfective inf imperSgP2
|
||||
(presentConj sgP1 sgP2 sgP3 plP1 plP2 plP3) (pastConj sgMascPast)
|
||||
** { lock_V=<> };
|
||||
Imperfective =>
|
||||
mkVerbImperfective inf imperSgP2
|
||||
(presentConj sgP1 sgP2 sgP3 plP1 plP2 plP3) (pastConj sgMascPast)
|
||||
** { lock_V=<> }
|
||||
};
|
||||
|
||||
oper presentConj: (_,_,_,_,_,_: Str) -> PresentVerb =
|
||||
\sgP1, sgP2, sgP3, plP1, plP2, plP3 ->
|
||||
table {
|
||||
PRF (GSg _) P1 => sgP1 ;
|
||||
PRF (GSg _) P2 => sgP2 ;
|
||||
PRF (GSg _) P3 => sgP3 ;
|
||||
PRF APl P1 => plP1 ;
|
||||
PRF APl P2 => plP2 ;
|
||||
PRF APl P3 => plP3
|
||||
};
|
||||
|
||||
regV a b c d e f g = verbDecl a b c d e f g ** {lock_V = <>} ;
|
||||
-- defined in morpho.RusU.gf
|
||||
{-
|
||||
mkV a b = extVerb a b ** {lock_V = <>}; -- defined in types.RusU.gf
|
||||
|
||||
mkPresentV = \aller, vox ->
|
||||
{ s = table {
|
||||
VFin gn p => aller.s ! VFORM vox (VIND (VPresent (numGNum gn) p)) ;
|
||||
VImper n p => aller.s ! VFORM vox (VIMP n p) ;
|
||||
VInf => aller.s ! VFORM vox VINF ;
|
||||
VSubj gn => aller.s ! VFORM vox (VSUB gn)
|
||||
}; t = Present ; a = aller.asp ; w = vox ; lock_V = <>} ;
|
||||
-}
|
||||
mkV2 v p cas = v ** {c2 = {s=p; c=cas}; lock_V2 = <>};
|
||||
dirV2 v = mkV2 v [] Acc;
|
||||
|
||||
|
||||
tvDirDir v = mkV3 v "" "" Acc Dat;
|
||||
|
||||
-- *Ditransitive verbs* are verbs with three argument places.
|
||||
-- We treat so far only the rule in which the ditransitive
|
||||
-- verb takes both complements to form a verb phrase.
|
||||
|
||||
mkV3 v s1 s2 c1 c2 = v ** {c2 = {s=s1; c=c1}; c3={s=s2; c=c2}; lock_V3 = <>};
|
||||
|
||||
mkVS v = v ** {lock_VS = <>} ;
|
||||
mkVQ v = v ** {lock_VQ = <>} ;
|
||||
mkV2V v p cas = v ** {c2 = {s=p; c=cas}; lock_V2V = <>};
|
||||
mkV2S v p cas = v ** {c2 = {s=p; c=cas}; lock_V2S = <>};
|
||||
mkV2Q v p cas = v ** {c2 = {s=p; c=cas}; lock_V2Q = <>};
|
||||
mkV2A v p cas = v ** {c2 = {s=p; c=cas}; lock_V2A = <>};
|
||||
|
||||
-- Liza Zimina 04/2018: to make correct short forms of adjectives
|
||||
|
||||
mk3A : Str -> Str -> Str -> Str -> Str -> A = \positive,shortMasc,shortFem,shortNeut,shortPl ->
|
||||
let {koren = Predef.tk 2 positive ;
|
||||
comparative = koren + "ее"} in
|
||||
case positive of {
|
||||
stem+"ый" => mkAdjDeg (aRegHardWorstCase StemStress Qual stem shortMasc shortFem shortNeut shortPl) comparative ;
|
||||
stem+"ой" => mkAdjDeg (aRegHardWorstCase EndStress Qual stem shortMasc shortFem shortNeut shortPl) comparative ;
|
||||
stem@(_+("г"|"к"|"х"))+"ий" => mkAdjDeg (aRegHardWorstCase StemStress Qual stem shortMasc shortFem shortNeut shortPl) comparative;
|
||||
stem@(_+("ш"|"ж"|"ч"|"щ"))+"ий" => mkAdjDeg (aRegHardWorstCase StemStress Qual stem shortMasc shortFem shortNeut shortPl) comparative;
|
||||
stem+"ий" => mkAdjDeg (aRegSoftWorstCase Qual stem shortMasc shortFem shortNeut shortPl) comparative ;
|
||||
stem => mkAdjDeg (adjInvar stem) comparative
|
||||
} ;
|
||||
|
||||
mk4A : Str -> ShortFormPreference -> A = \positive,prefshort ->
|
||||
let {koren = Predef.tk 2 positive ;
|
||||
comparative = koren + "ее"} in
|
||||
case positive of {
|
||||
stem+"ый" => mkAdjDegFull (aRegHardFull StemStress Qual stem) comparative prefshort ;
|
||||
stem+"ой" => mkAdjDegFull (aRegHardFull EndStress Qual stem) comparative prefshort ;
|
||||
stem@(_+("г"|"к"|"х"))+"ий" => mkAdjDegFull (aRegHardFull StemStress Qual stem) comparative prefshort ;
|
||||
stem@(_+("ш"|"ж"|"ч"|"щ"))+"ий" => mkAdjDegFull (aRegHardFull StemStress Qual stem) comparative prefshort ;
|
||||
stem+"ий" => mkAdjDegFull (aRegSoftFull Qual stem) comparative prefshort ;
|
||||
stem => mkAdjDegFull (adjInvar stem) comparative prefshort
|
||||
} ;
|
||||
|
||||
mk5A : Str -> Bool -> A = \adj,postfix ->
|
||||
case postfix of {
|
||||
False => mk1A adj ;
|
||||
True => lin A {
|
||||
s = \\d,af => adj ;
|
||||
p = True ;
|
||||
preferShort = PrefFull
|
||||
}
|
||||
} ;
|
||||
} ;
|
||||
31
src/russian/v1/PhraseRus.gf
Normal file
31
src/russian/v1/PhraseRus.gf
Normal file
@@ -0,0 +1,31 @@
|
||||
--# -path=.:../abstract:../common:../../prelude
|
||||
|
||||
concrete PhraseRus of Phrase = CatRus ** open Prelude, ResRus in {
|
||||
|
||||
flags coding=utf8 ;
|
||||
lin
|
||||
PhrUtt pconj utt voc = {s = pconj.s ++ utt.s ++ voc.s} ;
|
||||
|
||||
UttS s = s ;
|
||||
UttQS qs = {s = qs.s ! QDir} ;
|
||||
UttImpSg pol imp = {s = pol.s ++ imp.s ! pol.p ! Masc! Sg} ;
|
||||
UttImpPl pol imp = {s = pol.s ++ imp.s ! pol.p ! Masc!Pl} ;
|
||||
UttImpPol pol imp = {s = pol.s ++ imp.s ! pol.p ! Masc! Sg} ; ---- ?? AR
|
||||
|
||||
UttIP ip = {s = ip.s ! PF Nom No NonPoss} ; --- Acc also
|
||||
UttIAdv iadv = iadv ;
|
||||
UttNP np = {s = np.s ! PF Nom No NonPoss} ; -- why was Acc instead of Nom here? (Liza Zimina 04/2018)
|
||||
UttVP vp = {s = vp.s ! ClInfinit ! GSg Masc ! P3} ;
|
||||
UttAdv adv = adv ;
|
||||
UttCN n = {s = n.nounpart ! NF Sg Nom nom ++ n.relcl ! Sg ! Nom} ;
|
||||
UttCard n = {s = n.s ! Neut ! Inanimate ! Nom} ;
|
||||
UttAP ap = {s = ap.s ! AF Nom Inanimate (GSg Neut)} ; ---- gennum ? (AR)
|
||||
UttInterj i = i ;
|
||||
|
||||
NoPConj = {s = []} ;
|
||||
PConjConj conj = ss conj.s2 ;
|
||||
|
||||
NoVoc = {s = []} ;
|
||||
VocNP np = {s = "," ++ np.s ! PF Nom No NonPoss} ;
|
||||
|
||||
}
|
||||
74
src/russian/v1/QuestionRus.gf
Normal file
74
src/russian/v1/QuestionRus.gf
Normal file
@@ -0,0 +1,74 @@
|
||||
--# -path=.:../abstract:../common:../../prelude
|
||||
|
||||
concrete QuestionRus of Question = CatRus ** open ResRus, Prelude in {
|
||||
|
||||
flags optimize=all_subs ; coding=utf8 ;
|
||||
|
||||
lin
|
||||
|
||||
QuestCl cl = {s = \\b,cf,_ => cl.s ! b ! cf } ;
|
||||
|
||||
QuestVP kto spit =
|
||||
{s = \\b,clf,qf => (predVerbPhrase kto spit).s!b!clf } ;
|
||||
|
||||
QuestSlash Kto yaGovoruO =
|
||||
let { kom = Kto.s ! (mkPronForm yaGovoruO.c No NonPoss) ; o = yaGovoruO.s2 } in
|
||||
{s = \\b,clf,_ => o ++ kom ++ yaGovoruO.s ! b ! clf
|
||||
} ;
|
||||
|
||||
QuestIAdv kak tuPozhivaesh =
|
||||
{s = \\b,clf,q => kak.s ++ tuPozhivaesh.s!b!clf } ;
|
||||
|
||||
QuestIComp kak tuPozhivaesh =
|
||||
{s = \\b,clf,q => let ne = case b of {Neg => ""; Pos => []}
|
||||
in
|
||||
kak.s ++ ne ++tuPozhivaesh.s! PF Nom No NonPoss } ;
|
||||
|
||||
|
||||
PrepIP p ip = {s = p.s ++ ip.s ! PF Nom No NonPoss} ;
|
||||
|
||||
AdvIP ip adv = {
|
||||
s = \\c => ip.s ! c ++ adv.s ;
|
||||
n = ip.n; p=ip.p; g=ip.g; anim=ip.anim; pron=ip.pron
|
||||
} ;
|
||||
|
||||
IdetCN kakoj okhotnik =
|
||||
{s = \\pf => case kakoj.c of {
|
||||
Nom =>
|
||||
kakoj.s ! AF (extCase pf) okhotnik.anim (gennum okhotnik.g kakoj.n) ++
|
||||
okhotnik.nounpart ! NF kakoj.n (extCase pf) nom ++ okhotnik.relcl ! kakoj.n ! extCase pf ;
|
||||
_ =>
|
||||
kakoj.s ! AF (extCase pf) okhotnik.anim (gennum okhotnik.g kakoj.n) ++
|
||||
okhotnik.nounpart ! NF kakoj.n kakoj.c plg } ++ okhotnik.relcl ! kakoj.n ! kakoj.c ;
|
||||
n = kakoj.n ;
|
||||
p = P3 ;
|
||||
pron = False;
|
||||
g = kakoj.g ;
|
||||
anim = okhotnik.anim
|
||||
} ;
|
||||
|
||||
-- 1.4 additions 17/6/2008 by AR
|
||||
|
||||
IdetIP kakoj = let anim = Inanimate in
|
||||
{s = \\pf => kakoj.s ! AF (extCase pf) anim (pgNum kakoj.g kakoj.n) ;
|
||||
n = kakoj.n ;
|
||||
p = P3 ;
|
||||
pron = False;
|
||||
g = kakoj.g ;
|
||||
anim = anim
|
||||
} ;
|
||||
|
||||
IdetQuant kakoj pyat = -- okhotnik =
|
||||
{s = \\af =>
|
||||
kakoj.s ! pyat.n ! af ++
|
||||
pyat.s ! genAF af ! animAF af ! caseAF af ;
|
||||
n = pyat.n ;
|
||||
g = kakoj.g ;
|
||||
c = kakoj.c
|
||||
} ;
|
||||
|
||||
AdvIAdv i a = {s = i.s ++ a.s} ;
|
||||
|
||||
CompIAdv a = a ;
|
||||
CompIP ip = {s = ip.s ! PF Nom No NonPoss} ;
|
||||
}
|
||||
37
src/russian/v1/RelativeRus.gf
Normal file
37
src/russian/v1/RelativeRus.gf
Normal file
@@ -0,0 +1,37 @@
|
||||
--# -path=.:../abstract:../common:../../prelude
|
||||
|
||||
concrete RelativeRus of Relative = CatRus ** open ResRus, MorphoRus in {
|
||||
|
||||
flags optimize=all_subs ; coding=utf8 ;
|
||||
|
||||
lin
|
||||
|
||||
RelCl A = {s = \\b,clf,gn,c, anim =>
|
||||
takoj.s ! AF c anim gn ++ "что" ++ A.s !b!clf};
|
||||
|
||||
RelVP kotoruj gulyaet =
|
||||
{ s = \\b,clf,gn, c, anim => let { nu = numGenNum gn } in
|
||||
kotoruj.s ! gn ! c ! anim ++ gulyaet.s2 ++ gulyaet.s ! clf ! gn !P3 ++
|
||||
gulyaet.s3 ! genGNum gn ! nu
|
||||
} ;
|
||||
|
||||
|
||||
-- Preposition stranding: "that we are looking at". Pied-piping is
|
||||
-- deferred to $ExtRus.gf$ ("at which we are looking").
|
||||
|
||||
RelSlash kotoruj yaVizhu =
|
||||
{s = \\b,clf,gn, _ , anim => yaVizhu.s2 ++
|
||||
kotoruj.s ! gn ! yaVizhu.c ! anim
|
||||
++ yaVizhu.s!b!clf
|
||||
} ;
|
||||
|
||||
FunRP p mama kotoruj =
|
||||
{s = \\gn,c, anim => let {nu = numGenNum gn} in
|
||||
mama.s ! PF c No NonPoss ++
|
||||
p.s ++ kotoruj.s ! gn ! p.c ! anim
|
||||
} ;
|
||||
|
||||
IdRP ={ s = \\gn, c, anim =>
|
||||
kotorujDet.s ! (AF c anim gn )} ;
|
||||
}
|
||||
|
||||
398
src/russian/v1/ResRus.gf
Normal file
398
src/russian/v1/ResRus.gf
Normal file
@@ -0,0 +1,398 @@
|
||||
--# -path=.:../abstract:../common:../../prelude
|
||||
|
||||
--1 Russian auxiliary operations.
|
||||
|
||||
-- This module contains operations that are needed to make the
|
||||
-- resource syntax work. To define everything that is needed to
|
||||
-- implement $Test$, it moreover contains regular lexical
|
||||
-- patterns needed for $Lex$.
|
||||
|
||||
resource ResRus = ParamX ** open Prelude in {
|
||||
|
||||
flags coding=utf8 ; optimize=all ;
|
||||
|
||||
--2 Enumerated parameter types
|
||||
--
|
||||
-- These types are the ones found in school grammars.
|
||||
-- Their parameter values are atomic.
|
||||
|
||||
-- Some parameters, such as $Number$, are inherited from $ParamX$.
|
||||
param
|
||||
Gender = Masc | Fem | Neut ;
|
||||
Case = Nom | Gen | Dat | Acc | Inst | Prepos PrepKind ;
|
||||
PrepKind = PrepOther | PrepVNa;
|
||||
Animacy = Animate | Inanimate ;
|
||||
Voice = Act | Pass ;
|
||||
Aspect = Imperfective | Perfective ;
|
||||
RusTense = Present | PastRus | Future ;
|
||||
-- Degree = Pos | Comp | Super ;
|
||||
AfterPrep = Yes | No ;
|
||||
Possessive = NonPoss | Poss GenNum ;
|
||||
-- Anteriority = Simul | Anter ;
|
||||
ClForm = ClIndic RusTense Anteriority | ClCondit | ClInfinit | ClImper;
|
||||
-- "naked infinitive" clauses
|
||||
-- DetForm = NonNum | Few | Many ;
|
||||
|
||||
-- A number of Russian nouns have common gender. They can
|
||||
-- denote both males and females: "умница" (a clever person), "инженер" (an engineer).
|
||||
-- We overlook this phenomenon for now.
|
||||
|
||||
-- The AfterPrep parameter is introduced in order to describe
|
||||
-- the variations of the third person personal pronoun forms
|
||||
-- depending on whether they come after a preposition or not.
|
||||
|
||||
-- Declination forms depend on Case, Animacy , Gender:
|
||||
-- "большие дома" - "больших домов" (big houses - big houses'),
|
||||
-- Animacy plays role only in the Accusative case (Masc Sg and Plural forms):
|
||||
-- Accusative Animate = Genetive, Accusaive Inanimate = Nominative
|
||||
-- "я люблю большие дома-"я люблю больших мужчин"
|
||||
-- (I love big houses - I love big men);
|
||||
-- and on Number: "большой дом - "большие дома"
|
||||
-- (a big house - big houses).
|
||||
-- The plural never makes a gender distinction.
|
||||
|
||||
GenNum = GSg Gender | GPl ;
|
||||
|
||||
-- Coercions between the compound gen-num type and gender and number:
|
||||
oper
|
||||
gennum : Gender -> Number -> GenNum = \g,n ->
|
||||
case n of {
|
||||
Sg => GSg g ;
|
||||
Pl => GPl
|
||||
} ;
|
||||
|
||||
numGenNum : GenNum -> Number = \gn ->
|
||||
case gn of {
|
||||
GSg _ => Sg ;
|
||||
GPl => Pl
|
||||
} ;
|
||||
|
||||
|
||||
-- The Possessive parameter is introduced in order to describe
|
||||
-- the possessives of personal pronouns, which are used in the
|
||||
-- Genetive constructions like "моя мама" (my mother) instead of
|
||||
-- "мама моя" (the mother of mine).
|
||||
|
||||
--2 For $Noun$
|
||||
-- Nouns decline according to number and case.
|
||||
-- For the sake of shorter description these parameters are
|
||||
-- combined in the type SubstForm.
|
||||
param
|
||||
NForm = NF Number Case Size ;
|
||||
|
||||
|
||||
-- Real parameter types (i.e. ones on which words and phrases depend)
|
||||
-- are mostly hierarchical. The alternative would be cross-products of
|
||||
-- simple parameters, but this would usually overgenerate.
|
||||
|
||||
-- However, we use the cross-products in complex cases
|
||||
-- (for example, aspect and tense parameter in the verb description)
|
||||
-- where the relationship between the parameters are non-trivial
|
||||
-- even though we aware that some combinations do not exist
|
||||
-- (for example, present perfective does not exist, but removing
|
||||
-- this combination would lead to having different descriptions
|
||||
-- for perfective and imperfective verbs, which we do not want for the
|
||||
-- sake of uniformity).
|
||||
|
||||
param PronForm = PF Case AfterPrep Possessive;
|
||||
|
||||
oper Pronoun = { s : PronForm => Str ; n : Number ; p : Person ;
|
||||
g: PronGen ; pron: Bool} ;
|
||||
|
||||
-- Gender is not morphologically determined for first
|
||||
-- and second person pronouns.
|
||||
|
||||
-- NF: but adjectives and verbs in past tense have to agree with gender of the
|
||||
-- person speaking!
|
||||
|
||||
param PronGen = PGen Gender | PNoGen ;
|
||||
|
||||
-- The following coercion is useful:
|
||||
|
||||
oper
|
||||
pgen2gen : PronGen -> Gender = \p -> case p of {
|
||||
PGen g => g ;
|
||||
PNoGen => Masc ---- variants {Masc ; Fem} --- the best we can do for ya, tu
|
||||
} ;
|
||||
|
||||
|
||||
oper
|
||||
extCase: PronForm -> Case = \pf -> case pf of { PF c _ _ => c } ;
|
||||
|
||||
mkPronForm: Case -> AfterPrep -> Possessive -> PronForm =
|
||||
\c,n,p -> PF c n p ;
|
||||
|
||||
CommNoun = {s : NForm => Str ; g : Gender ; anim : Animacy } ;
|
||||
|
||||
NounPhrase : Type = { s : PronForm => Str ; n : Number ;
|
||||
p : Person ; g: PronGen ; anim : Animacy ; pron: Bool} ;
|
||||
|
||||
mkNP : Number -> CommNoun -> NounPhrase = \n,chelovek ->
|
||||
{s = \\cas => chelovek.s ! NF n (extCase cas) (case n of {
|
||||
Sg => nom ;
|
||||
Pl => plg });
|
||||
n = n ; g = PGen chelovek.g ; p = P3 ; pron =False ;
|
||||
anim = chelovek.anim
|
||||
} ;
|
||||
|
||||
det2NounPhrase : Adjective -> NounPhrase = \eto ->
|
||||
{s = \\pf => eto.s ! (AF (extCase pf) Inanimate (GSg Neut)); n = Sg ; g = PGen Neut ; pron = False ; p = P3 ; anim = Inanimate } ;
|
||||
|
||||
|
||||
|
||||
pron2NounPhraseNum : Pronoun -> Animacy -> Number -> NounPhrase = \ona, anim, num ->
|
||||
{s = ona.s ; n = num ; g = ona.g ;
|
||||
pron = ona.pron; p = ona.p ; anim = anim } ;
|
||||
|
||||
|
||||
-- Agreement of $NP$ is a record. We'll add $Gender$ later.
|
||||
-- oper Agr = {n : Number ; p : Person} ;
|
||||
|
||||
|
||||
----2 For $Verb$
|
||||
|
||||
-- Mood is the main verb classification parameter.
|
||||
-- The verb mood can be infinitive, subjunctive, imperative, and indicative.
|
||||
|
||||
-- Note: subjunctive mood is analytical, i.e. formed from the past form of the
|
||||
-- indicative mood plus the particle "ли". That is why they have the same GenNum
|
||||
-- parameter. We choose to keep the "redundant" form in order to indicate
|
||||
-- the presence of the subjunctive mood in Russian verbs.
|
||||
|
||||
-- Aspect and Voice parameters are present in every mood, so Voice is put
|
||||
-- before the mood parameter in verb form description the hierachy.
|
||||
-- Moreover Aspect is regarded as an inherent parameter of a verb entry.
|
||||
-- The primary reason for that is that one imperfective form can have several
|
||||
-- perfective forms: "ломать" - "сломать" - "поломать" (to break).
|
||||
-- Besides, the perfective form could be formed from imperfective
|
||||
-- by prefixation, but also by taking a completely different stem:
|
||||
-- "говорить"-"сказать" (to say). In the later case it is even natural to
|
||||
-- regard them as different verb entries.
|
||||
-- Another reason is that looking at the Aspect as an inherent verb parameter
|
||||
-- seem to be customary in other similar projects:
|
||||
-- http://starling.rinet.ru/morph.htm
|
||||
|
||||
-- Note: Of course, the whole inflection table has many redundancies
|
||||
-- in a sense that many verbs do not have all grammatically possible
|
||||
-- forms. For example, passive does not exist for the verb
|
||||
-- "любить" (to love), but exists for the verb "ломаться" (to break).
|
||||
-- In present tense verbs do not conjugate according to Genus,
|
||||
-- so parameter GenNum instead Number is used for the sake of
|
||||
-- using for example as adjective in predication.
|
||||
|
||||
-- Depending on the tense verbs conjugate according to combinations
|
||||
-- of gender, person and number of the verb objects.
|
||||
-- Participles (Present and PastRus) and Gerund forms are not included in the
|
||||
-- current description. This is the verb type used in the lexicon:
|
||||
|
||||
oper Verbum : Type = { s: VerbForm => Str ; asp : Aspect };
|
||||
|
||||
param
|
||||
|
||||
VerbForm = VFORM Voice VerbConj ;
|
||||
VerbConj = VIND GenNum VTense | VIMP Number Person | VINF | VSUB GenNum ;
|
||||
VTense = VPresent Person | VPast | VFuture Person ;
|
||||
|
||||
oper
|
||||
getVTense : RusTense -> Person -> VTense= \t,p ->
|
||||
case t of { Present => VPresent p ; PastRus => VPast; Future => VFuture p } ;
|
||||
|
||||
getTense : Tense -> RusTense= \t ->
|
||||
case t of { Pres => Present
|
||||
; Fut => Future --# notpresent
|
||||
; _ => PastRus --# notpresent
|
||||
} ;
|
||||
|
||||
|
||||
getVoice: VerbForm -> Voice = \vf ->
|
||||
case vf of {
|
||||
VFORM Act _ => Act;
|
||||
VFORM Pass _ => Pass
|
||||
};
|
||||
oper sebya : Case => Str =table {
|
||||
Nom => "";
|
||||
Gen => "себя";
|
||||
Dat=> "себе";
|
||||
Acc => "себя";
|
||||
Inst => "собой";
|
||||
Prep =>"себе"};
|
||||
|
||||
Verb : Type = {s : ClForm => GenNum => Person => Str ; asp : Aspect ; w: Voice} ;
|
||||
-- Verb phrases are discontinuous: the parts of a verb phrase are
|
||||
-- (s) an inflected verb, (s2) verb adverbials (not negation though), and
|
||||
-- (s3) complement. This discontinuity is needed in sentence formation
|
||||
-- to account for word order variations.
|
||||
|
||||
VerbPhrase : Type = Verb ** {s2: Str; s3 : Gender => Number => Str ;
|
||||
negBefore: Bool} ;
|
||||
|
||||
|
||||
-- This is one instance of Gazdar's *slash categories*, corresponding to his
|
||||
-- $S/NP$.
|
||||
-- We cannot have - nor would we want to have - a productive slash-category former.
|
||||
-- Perhaps a handful more will be needed.
|
||||
--
|
||||
-- Notice that the slash category has the same relation to sentences as
|
||||
-- transitive verbs have to verbs: it's like a *sentence taking a complement*.
|
||||
|
||||
SlashNounPhrase = Clause ** {c2 : Complement} ;
|
||||
Clause = {s : Polarity => ClForm => Str} ;
|
||||
|
||||
-- This is the traditional $S -> NP VP$ rule.
|
||||
|
||||
predVerbPhrase : NounPhrase -> VerbPhrase -> SlashNounPhrase =
|
||||
\Ya, tebyaNeVizhu -> {
|
||||
s = \\b,clf => let { ya = Ya.s ! (mkPronForm Nom No NonPoss);
|
||||
khorosho = tebyaNeVizhu.s2;
|
||||
vizhu = tebyaNeVizhu.s ! clf !(gennum (pgen2gen Ya.g) Ya.n)! Ya.p;
|
||||
tebya = tebyaNeVizhu.s3 ! (pgen2gen Ya.g) ! Ya.n
|
||||
}
|
||||
in ya ++ khorosho ++ vizhu ++ tebya;
|
||||
c2 = {s = ""; c = Nom}
|
||||
} ;
|
||||
|
||||
-- Questions are either direct ("Ты счастлив?")
|
||||
-- or indirect ("Потом он спросил счастлив ли ты").
|
||||
|
||||
param
|
||||
QuestForm = DirQ | IndirQ ;
|
||||
|
||||
---- The order of sentence is needed already in $VP$.
|
||||
--
|
||||
-- Order = ODir | OQuest ;
|
||||
|
||||
oper
|
||||
getActVerbForm : ClForm -> Gender -> Number -> Person -> VerbForm = \clf,g,n, p -> case clf of
|
||||
{ ClIndic Future _ => VFORM Act (VIND (gennum g n) (VFuture p));
|
||||
ClIndic PastRus _ => VFORM Act (VIND (gennum g n) VPast);
|
||||
ClIndic Present _ => VFORM Act (VIND (gennum g n) (VPresent p));
|
||||
ClCondit => VFORM Act (VSUB (gennum g n));
|
||||
ClInfinit => VFORM Act VINF ;
|
||||
ClImper => VFORM Act (VIMP n p)
|
||||
};
|
||||
|
||||
getPassVerbForm : ClForm -> Gender -> Number -> Person -> VerbForm = \clf,g,n, p -> case clf of
|
||||
{ ClIndic Future _ => VFORM Pass (VIND (gennum g n) (VFuture p));
|
||||
ClIndic PastRus _ => VFORM Pass (VIND (gennum g n) VPast);
|
||||
ClIndic Present _ => VFORM Pass (VIND (gennum g n) (VPresent p));
|
||||
ClCondit => VFORM Pass (VSUB (gennum g n));
|
||||
ClInfinit => VFORM Pass VINF ;
|
||||
ClImper => VFORM Pass (VIMP n p)
|
||||
};
|
||||
|
||||
|
||||
--2 For $Adjective$
|
||||
|
||||
-- The short form is only inflected in gender and number.
|
||||
-- Fixing this would require changing the Degree type.
|
||||
param
|
||||
AdjForm = AF Case Animacy GenNum | AFShort GenNum | AdvF;
|
||||
ShortFormPreference = PrefShort | PrefFull ;
|
||||
|
||||
oper
|
||||
Complement = {s : Str ; c : Case} ;
|
||||
|
||||
oper Refl ={s: Case => Str};
|
||||
oper sam: Refl=
|
||||
{s = table{
|
||||
Nom => "сам";
|
||||
Gen => "себя";
|
||||
Dat => "себе";
|
||||
Acc => "себя";
|
||||
Inst => "собой";
|
||||
Prepos _ => "себе"
|
||||
}
|
||||
};
|
||||
|
||||
pgNum : PronGen -> Number -> GenNum = \g,n ->
|
||||
case n of
|
||||
{ Sg => GSg (pgen2gen g) ; -- assuming pronoun "I" is a male
|
||||
Pl => GPl
|
||||
} ;
|
||||
-- _ => variants {GSg Masc ; GSg Fem} } ;
|
||||
-- "variants" version cause "no term variants" error during linearization
|
||||
|
||||
oper genGNum : GenNum -> Gender = \gn ->
|
||||
case gn of { GSg Fem => Fem; GSg Masc => Masc; _ => Neut } ;
|
||||
|
||||
oper numAF: AdjForm -> Number = \af ->
|
||||
case af of { AdvF => Sg; AFShort gn => numGenNum gn; AF _ _ gn => (numGenNum gn) } ;
|
||||
|
||||
oper genAF: AdjForm -> Gender = \af ->
|
||||
case af of { AdvF => Neut; AFShort gn => genGNum gn; AF _ _ gn => genGNum gn } ;
|
||||
|
||||
oper caseAF: AdjForm -> Case = \af ->
|
||||
case af of { AdvF => Nom; AFShort _ => Nom; AF c _ _ => c } ;
|
||||
|
||||
oper animAF: AdjForm -> Animacy = \af ->
|
||||
case af of { AF _ a _ => a ; _ => Inanimate } ;
|
||||
|
||||
-- The Degree parameter should also be more complex, since most Russian
|
||||
-- adjectives have two comparative forms:
|
||||
-- attributive (syntactic (compound), declinable) -
|
||||
-- "более высокий" (corresponds to "more high")
|
||||
-- and predicative (indeclinable)- "выше" (higher) and more than one
|
||||
-- superlative forms: "самый высокий" (corresponds to "the most high") -
|
||||
-- "высочайший" (the highest).
|
||||
|
||||
-- Even one more parameter independent of the degree can be added,
|
||||
-- since Russian adjectives in the positive degree also have two forms:
|
||||
-- long (attributive and predicative) - "высокий" (high) and short (predicative) - "высок"
|
||||
-- although this parameter will not be exactly orthogonal to the
|
||||
-- degree parameter.
|
||||
-- Short form has no case declension, so in principle
|
||||
-- it can be considered as an additional case.
|
||||
|
||||
-- Note: although the predicative usage of the long
|
||||
-- form is perfectly grammatical, it can have a slightly different meaning
|
||||
-- compared to the short form.
|
||||
-- For example: "он - больной" (long, predicative) vs.
|
||||
-- "он - болен" (short, predicative).
|
||||
|
||||
--3 Adjective phrases
|
||||
--
|
||||
-- An adjective phrase may contain a complement, e.g. "моложе Риты".
|
||||
-- Then it is used as postfix in modification, e.g. "человек, моложе Риты".
|
||||
param
|
||||
AdjStress = EndStress | StemStress ;
|
||||
AdjType = Qual | Rel ;
|
||||
|
||||
oper
|
||||
IsPostfixAdj = Bool ;
|
||||
|
||||
-- Simple adjectives are not postfix:
|
||||
|
||||
-- Adjective type includes both non-degree adjective classes:
|
||||
-- possesive ("мамин"[mother's], "лисий" [fox'es])
|
||||
-- and relative ("русский" [Russian]) adjectives.
|
||||
|
||||
Adjective : Type = {s : AdjForm => Str} ;
|
||||
|
||||
-- A special type of adjectives just having positive forms
|
||||
-- (for semantic reasons) is useful, e.g. "финский".
|
||||
|
||||
AdjPhrase = Adjective ** {p : IsPostfixAdj} ;
|
||||
|
||||
|
||||
mkAdjPhrase : Adjective -> IsPostfixAdj -> AdjPhrase = \novuj ,p -> novuj ** {p = p} ;
|
||||
|
||||
----2 For $Relative$
|
||||
--
|
||||
-- RAgr = RNoAg | RAg {n : Number ; p : Person} ;
|
||||
-- RCase = RPrep | RC Case ;
|
||||
--
|
||||
--2 For $Numeral$
|
||||
|
||||
param DForm = unit | teen | ten | hund ;
|
||||
param Place = attr | indep ;
|
||||
param Size = nom | nompl | sgg | plg ;
|
||||
--param Gend = masc | fem | neut ;
|
||||
oper mille : Size => Str = table {
|
||||
nom => "тысяча" ;
|
||||
sgg => "тысячи" ;
|
||||
_ => "тысяч"} ;
|
||||
|
||||
oper gg : Str -> Gender => Str = \s -> table {_ => s} ;
|
||||
|
||||
-- CardOrd = NCard | NOrd ;
|
||||
}
|
||||
139
src/russian/v1/SentenceRus.gf
Normal file
139
src/russian/v1/SentenceRus.gf
Normal file
@@ -0,0 +1,139 @@
|
||||
|
||||
--# -path=.:../abstract:../common:../../prelude
|
||||
|
||||
|
||||
concrete SentenceRus of Sentence = CatRus ** open Prelude, ResRus in {
|
||||
|
||||
flags optimize=all_subs ; coding=utf8 ;
|
||||
|
||||
lin
|
||||
|
||||
PredVP Ya tebyaNeVizhu = { s = \\b,clf =>
|
||||
let {
|
||||
ya = Ya.s ! (case clf of {
|
||||
ClInfinit => (mkPronForm Acc No NonPoss);
|
||||
_ => (mkPronForm Nom No NonPoss)
|
||||
});
|
||||
ne = case b of {Pos=>""; Neg=>"не"};
|
||||
vizhu = tebyaNeVizhu.s ! clf ! (pgNum Ya.g Ya.n)! Ya.p;
|
||||
khorosho = tebyaNeVizhu.s2 ;
|
||||
tebya = tebyaNeVizhu.s3 ! (pgen2gen Ya.g) ! Ya.n
|
||||
}
|
||||
in
|
||||
if_then_else Str tebyaNeVizhu.negBefore
|
||||
(ya ++ ne ++ vizhu ++ tebya ++ khorosho)
|
||||
(ya ++ vizhu ++ ne ++ tebya ++ khorosho)
|
||||
} ;
|
||||
|
||||
|
||||
PredSCVP sc vp = { s = \\b,clf =>
|
||||
let {
|
||||
ne = case b of {Pos=>""; Neg=>"не"};
|
||||
vizhu = vp.s ! clf ! (GSg Neut)! P3;
|
||||
tebya = vp.s3 ! Neut ! Sg
|
||||
}
|
||||
in
|
||||
if_then_else Str vp.negBefore
|
||||
(sc.s ++ ne ++ vizhu ++ tebya)
|
||||
(sc.s ++ vizhu ++ ne ++ tebya)
|
||||
} ;
|
||||
|
||||
|
||||
---- AR 17/12/2008
|
||||
SlashVP Ya tebyaNeVizhu = {
|
||||
s = \\b,clf =>
|
||||
let {
|
||||
ya = Ya.s ! (case clf of {
|
||||
ClInfinit => (mkPronForm Acc No NonPoss);
|
||||
_ => (mkPronForm Nom No NonPoss)
|
||||
});
|
||||
ne = case b of {Pos=>""; Neg=>"не"};
|
||||
vizhu = tebyaNeVizhu.s ! clf ! (pgNum Ya.g Ya.n)! Ya.p;
|
||||
khorosho = tebyaNeVizhu.s2 ;
|
||||
tebya = tebyaNeVizhu.s3 ! (pgen2gen Ya.g) ! Ya.n
|
||||
}
|
||||
in
|
||||
if_then_else Str tebyaNeVizhu.negBefore
|
||||
(ya ++ ne ++ vizhu ++ tebya ++ khorosho)
|
||||
(ya ++ vizhu ++ ne ++ tebya ++ khorosho) ;
|
||||
s2=tebyaNeVizhu.s2 ;
|
||||
c=tebyaNeVizhu.c
|
||||
} ;
|
||||
|
||||
AdvSlash slash adv = {
|
||||
s = \\b,clf => slash.s ! b ! clf ++ adv.s ;
|
||||
c = slash.c;
|
||||
s2 = slash.s2;
|
||||
} ;
|
||||
|
||||
SlashPrep cl p = {s=cl.s; s2=p.s; c=p.c} ;
|
||||
|
||||
--- AR 3/11/2007
|
||||
SlashVS ivan vidit tuUlubaeshsya = {
|
||||
s=\\b,clf => ivan.s ! PF Nom No NonPoss ++
|
||||
vidit.s! (getActVerbForm clf (pgen2gen ivan.g) ivan.n ivan.p) ++
|
||||
[", что"] ++ tuUlubaeshsya.s ;
|
||||
s2=tuUlubaeshsya.s2;
|
||||
c=tuUlubaeshsya.c
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
ImpVP inf = {s = \\pol, g,n =>
|
||||
let
|
||||
dont = case pol of {
|
||||
Neg => "не" ;
|
||||
_ => []
|
||||
}
|
||||
in
|
||||
dont ++ inf.s ! ClImper ! gennum g n ! P2 ++
|
||||
inf.s2++inf.s3!g!n
|
||||
} ;
|
||||
|
||||
EmbedS s = {s = "что" ++ s.s} ;
|
||||
-- In Russian "Whether you go" transformed in "go whether you":
|
||||
EmbedQS qs = {s = qs.s ! QIndir} ;
|
||||
EmbedVP vp = {s = vp.s2 ++ vp.s!ClInfinit!(GSg Masc) !P3 ++ vp.s3!Masc!Sg} ;
|
||||
|
||||
UseCl t p cl = {s = t.s ++ p.s ++ case t.t of {
|
||||
Cond => cl.s! p.p ! ClCondit ; --# notpresent
|
||||
Pres => cl.s! p.p ! ClIndic Present t.a ---- AR work-around 13/12/2007
|
||||
; --# notpresent
|
||||
_ => cl.s! p.p ! ClIndic (getTense t.t) t.a --# notpresent
|
||||
}
|
||||
};
|
||||
|
||||
UseQCl t p qcl= {s = case t.t of {
|
||||
Cond => qcl.s! p.p ! ClCondit ; --# notpresent
|
||||
Pres => qcl.s! p.p ! ClIndic Present t.a
|
||||
; --# notpresent
|
||||
_ => qcl.s!p.p! ClIndic (getTense t.t) t.a --# notpresent
|
||||
}};
|
||||
|
||||
UseRCl t p rcl ={s = \\gn,c,anim => case t.t of {
|
||||
Cond => [", "] ++ rcl.s! p.p ! ClCondit ! gn !c !anim ; --# notpresent
|
||||
Pres => [", "] ++ rcl.s! p.p ! ClIndic Present t.a !gn !c !anim
|
||||
; --# notpresent
|
||||
_ => [", "] ++ rcl.s! p.p ! ClIndic (getTense t.t) t.a !gn !c !anim --# notpresent
|
||||
}};
|
||||
|
||||
UseSlash t p cl = {
|
||||
s = case t.t of {
|
||||
Cond => cl.s! p.p ! ClCondit ; --# notpresent
|
||||
Pres => cl.s! p.p ! ClIndic Present t.a
|
||||
; --# notpresent
|
||||
_ => cl.s! p.p ! ClIndic (getTense t.t) t.a --# notpresent
|
||||
} ;
|
||||
s2 = cl.s2 ;
|
||||
c = cl.c
|
||||
};
|
||||
|
||||
|
||||
AdvS a s = {s = a.s ++ s.s} ; ---- AR 19/6/2007
|
||||
ExtAdvS a s = {s = a.s ++ "," ++ s.s} ; ---- AR 1/9/2011
|
||||
|
||||
---- AR 17/12/2008
|
||||
RelS s r = {s = s.s ++ "," ++ r.s ! gennum Neut Sg ! Nom ! Inanimate} ; ---- ?
|
||||
|
||||
}
|
||||
|
||||
154
src/russian/v1/StructuralRus.gf
Normal file
154
src/russian/v1/StructuralRus.gf
Normal file
@@ -0,0 +1,154 @@
|
||||
--# -path=.:../abstract:../common:../../prelude
|
||||
|
||||
concrete StructuralRus of Structural = CatRus **
|
||||
open ResRus, MorphoRus, (P = ParadigmsRus), Prelude, NounRus in {
|
||||
|
||||
flags optimize=all ; coding=utf8 ;
|
||||
|
||||
lin
|
||||
-- First mount the numerals.
|
||||
-- UseNumeral i = i ;
|
||||
|
||||
-- Then an alphabetical list of structural words
|
||||
|
||||
above_Prep = { s = "над" ; c = Inst} ;
|
||||
after_Prep = { s = "после" ; c = Gen };
|
||||
-- all8mass_Det = vesDet ** {n = Sg; g = PNoGen; c = Nom} ;
|
||||
all_Predet = vseDetPl ** { g = PNoGen; c = Nom; size = nom} ;
|
||||
almost_AdA = {s= "почти"} ;
|
||||
almost_AdN = {s= "почти"} ;
|
||||
although_Subj = ss "хотя" ;
|
||||
always_AdV = ss "всегда" ;
|
||||
and_Conj = {s1 = [] ; s2 = "и" ; n = Pl} ;
|
||||
because_Subj = ss ["потому что"] ;
|
||||
before_Prep ={ s = "перед" ; c = Inst};
|
||||
behind_Prep = { s = "за" ; c = Inst };
|
||||
between_Prep = { s = "между" ; c = Inst};
|
||||
both7and_DConj = sd2 "как" [", так и"] ** {n = Pl} ;
|
||||
but_PConj = ss "но" ;
|
||||
by8agent_Prep = { s = ["с помощью"] ; c = Gen};
|
||||
by8means_Prep = { s = ["с помощью"] ; c = Gen};
|
||||
can8know_VV = verbMoch ;
|
||||
can_VV = verbMoch ;
|
||||
during_Prep = { s = ["в течение"] ; c = Gen};
|
||||
either7or_DConj = sd2 "либо" [", либо"] ** {n = Sg} ;
|
||||
-- comma is not visible in GUI!
|
||||
every_Det = {
|
||||
s = \\c,a,g => kazhdujDet.s ! AF c a (gennum g Sg) ;
|
||||
n = Sg ; g = PNoGen ; c = Nom ; size = nom} ;
|
||||
everybody_NP = DetCN (DetQuant IndefArt NumPl) (UseN ((eEnd_Decl "вс")**{lock_N=<>})) ;
|
||||
everything_NP = UsePron (pronVseInanimate ** {lock_Pron=<>}) ;
|
||||
everywhere_Adv = ss "везде" ;
|
||||
few_Det = {
|
||||
s = \\c,a,g => nemnogoSgDet.s ! AF c a (gennum g Sg) ;
|
||||
n = Sg ; g = PNoGen ; c = Nom ; size = plg} ;
|
||||
--- DEPREC first_Ord = (uy_j_EndDecl "перв" ) ** {lock_A = <>}; --AStaruyj
|
||||
for_Prep = { s = "для" ; c = Gen };
|
||||
from_Prep = { s = "от" ; c = Gen };
|
||||
he_Pron = pronOn ;
|
||||
here_Adv = ss "здесь" ;
|
||||
here7to_Adv = ss "сюда" ;
|
||||
here7from_Adv = ss "отсюда" ;
|
||||
how_IAdv = ss "как" ;
|
||||
how8many_IDet = skolkoSgDet ** {n = Pl; g = (PGen Neut); c= Gen};
|
||||
how8much_IAdv = ss "сколько" ;
|
||||
i_Pron = pronYa Masc ;
|
||||
if_Subj = ss "если" ;
|
||||
in8front_Prep = { s = "перед" ; c = Inst};
|
||||
in_Prep = { s = "в" ; c = Prepos PrepVNa } ;
|
||||
it_Pron = pronOno ;
|
||||
less_CAdv = {s="менее"; p=""} ;
|
||||
many_Det = {
|
||||
s = \\c,a,g => mnogoSgDet.s ! AF c a (gennum g Sg) ;
|
||||
n = Sg; g = (PGen Neut); c = Gen; size = plg} ;
|
||||
more_CAdv = {s="более"; p=""} ;
|
||||
most_Predet = bolshinstvoSgDet ** {n = Sg; g = (PGen Neut); c= Gen; size = plg} ;
|
||||
-- inanimate, Sg: "большинство телефонов безмолвству-ет"
|
||||
-- most8many_Det = bolshinstvoPlDet ** {n = Pl; g = (PGen Neut); c= Gen} ;
|
||||
-- animate, Pl: "большинство учащихся хорошо подготовлен-ы"
|
||||
much_Det = {
|
||||
s = \\c,a,g => mnogoSgDet.s ! AF c a (gennum g Sg) ;
|
||||
n = Sg ; g = (PGen Neut) ; c= Gen ; size = plg} ; -- same as previous
|
||||
must_VV = verbDolzhen ;
|
||||
no_Utt = ss ["Нет"] ;
|
||||
on_Prep = { s = "на" ; c = Prepos PrepVNa };
|
||||
--- DEPREC one_Quant = odinDet ** {lock_QuantSg = <>; n= Sg; g = PNoGen; c = Nom };
|
||||
--AStaruyj :
|
||||
only_Predet = (uy_j_EndDecl "единственн" ) ** {lock_Predet = <>; n= Sg; g = PNoGen; c = Nom; size = nom };
|
||||
or_Conj = {s1= [] ; s2 = "или" ; n = Sg} ;
|
||||
otherwise_PConj = ss "иначе" ;
|
||||
part_Prep = { s = "" ; c = Nom}; -- missing in Russian
|
||||
please_Voc = ss "пожалуйста" ;
|
||||
possess_Prep = { s = "" ; c = Gen}; --- ?? AR 19/2/2004
|
||||
quite_Adv = ss "довольно" ;
|
||||
she_Pron = pronOna ;
|
||||
so_AdA = ss "так";
|
||||
somebody_NP = UsePron (pronKtoTo** {lock_Pron = <>});
|
||||
someSg_Det = {
|
||||
s = \\c,a,g => nekotorujDet.s ! AF c a (gennum g Sg) ;
|
||||
n = Sg ; g = PNoGen ; c= Nom ; size = nom} ;
|
||||
somePl_Det = {
|
||||
s = \\c,a,g => nekotorujDet.s ! AF c a (gennum g Pl) ;
|
||||
n = Pl ; g = PNoGen ; c= Nom ; size = nom} ;
|
||||
something_NP = UsePron (pronChtoTo** {lock_Pron=<> }) ;
|
||||
somewhere_Adv = ss "где-нибудь" ;
|
||||
that_Quant = totDet ** {n = Sg; g = PNoGen; c= Nom; size = nom} ;
|
||||
there_Adv = ss "там" ;
|
||||
there7to_Adv = ss "туда" ;
|
||||
there7from_Adv = ss "оттуда" ;
|
||||
therefore_PConj = ss "следовательно" ;
|
||||
they_Pron = pronOni;
|
||||
this_Quant = etotDet ** {n = Sg; g = PNoGen; c= Nom; size = nom} ;
|
||||
through_Prep = { s = "через" ; c = Acc };
|
||||
to_Prep = { s = "к" ; c = Dat };
|
||||
too_AdA = ss "слишком" ;
|
||||
under_Prep = { s = "под" ; c = Inst };
|
||||
very_AdA = ss "очень" ;
|
||||
want_VV = verbKhotet ;
|
||||
we_Pron = pronMu Masc;
|
||||
whatPl_IP = pron2NounPhraseNum pronChto Inanimate Pl;
|
||||
whatSg_IP = pron2NounPhraseNum pronChto Inanimate Sg;
|
||||
when_IAdv = ss "когда" ;
|
||||
when_Subj = ss "когда" ;
|
||||
where_IAdv = ss "где" ;
|
||||
which_IQuant = {
|
||||
s = \\_ => kotorujDet.s ;
|
||||
g = PNoGen;
|
||||
c= Nom
|
||||
} ;
|
||||
whoPl_IP = pron2NounPhraseNum pronKto Animate Pl;
|
||||
whoSg_IP = pron2NounPhraseNum pronKto Animate Sg;
|
||||
why_IAdv = ss "почему" ;
|
||||
with_Prep = {s = pre {#sconsonant => "со" ; ("щ"|"Щ") => "со" ; _ => "с"} ; c = Inst} ;
|
||||
without_Prep = { s = "без" ; c = Gen};
|
||||
youPl_Pron = pronVu Masc;
|
||||
yes_Utt = ss ["Да"] ;
|
||||
youSg_Pron = pronTu Masc;
|
||||
youPol_Pron = pronVu Masc;
|
||||
|
||||
have_V2= P.dirV2 (P.regV P.imperfective P.first "име" "ю" "имел" "имей" "иметь" );
|
||||
have_V3 = P.mkV3 (P.mkV P.imperfective "есть" "есть" "есть" "есть" "есть" "есть" "был" "будь" "есть") "" "у" Nom Gen;
|
||||
|
||||
have_not_V3 = P.mkV3 (P.mkV P.imperfective "нет" "нет" "нет" "нет" "нет" "нет" "не было" "не будь" "нет") "" "у" Gen Gen;
|
||||
|
||||
--- NoDet = nikakojDet ** {n = Sg; g = PNoGen; c= Nom} ;
|
||||
--- AnyDet = lubojDet ** {n = Sg; g = PNoGen; c= Nom} ;
|
||||
--- AnyNumDet = mkDeterminerNum (lubojDet ** {n = Pl; g = PNoGen; c= Nom} );
|
||||
--- NoNumDet = mkDeterminerNum (nikakojDet ** {n = Pl; g = PNoGen; c= Nom} );
|
||||
---NobodyNP = UsePron pronNikto Animate;
|
||||
---NothingNP = UsePron pronNichto Inanimate;
|
||||
|
||||
-- In case of "neither.. no" expression double negation is not
|
||||
-- only possible, but also required in Russian.
|
||||
-- There is no means of control for this however in the resource grammar.
|
||||
--- NeitherNor = sd2 "ни" [", ни"] ** {n = Sg} ;
|
||||
--- NowhereNP = ss "нигде" ;
|
||||
--- AgentPrep = { s = "" ; c = Nom}; -- missing in Russian
|
||||
|
||||
lin language_title_Utt = ss "Русский" ;
|
||||
|
||||
oper
|
||||
sconsonant : pattern Str = #(("с"|"з"|"ж"|"ш"|"л"|"ль"|"р"|"м"|"в"|"С"|"З"|"Ж"|"Ш"|"Л"|"Ль"|"Р"|"М"|"В"|"ЛЬ") +
|
||||
("б" | "в" | "г" | "д" | "ж" | "з" | "й" | "к" | "л" | "м" | "н" | "п" | "р" | "с" | "т" | "ф" | "х" | "ц" | "ч" | "ш" | "щ" |
|
||||
"Б" | "В" | "Г" | "Д" | "Ж" | "З" | "Й" | "К" | "Л" | "М" | "Н" | "П" | "Р" | "С" | "Т" | "Ф" | "Х" | "Ц" | "Ч" | "Ш" | "Щ")) ;
|
||||
}
|
||||
41
src/russian/v1/SymbolRus.gf
Normal file
41
src/russian/v1/SymbolRus.gf
Normal file
@@ -0,0 +1,41 @@
|
||||
--# -path=.:../abstract:../common:../prelude
|
||||
|
||||
concrete SymbolRus of Symbol = CatRus ** open Prelude, ResRus in {
|
||||
flags coding=utf8;
|
||||
{- TODO! -}
|
||||
lin
|
||||
SymbPN i = {s = table {_ => i.s} ; g = Neut; anim = Inanimate } ;
|
||||
IntPN i = {s = table {_ => i.s} ; g = Neut; anim = Inanimate } ;
|
||||
FloatPN i = {s = table {_ => i.s} ; g = Neut; anim = Inanimate } ;
|
||||
NumPN n = {s = table {_ => n.s ! Neut ! Inanimate ! Nom} ; g = Neut; anim = Inanimate } ;
|
||||
|
||||
CNIntNP cn i = {s = \\cas => cn.nounpart ! NF Sg (extCase cas) nom ++ cn.relcl ! Sg ! extCase cas ++ i.s;
|
||||
n = Sg ; p = P3 ;
|
||||
g = PGen cn.g ; anim = cn.anim ; pron = False } ;
|
||||
CNNumNP cn n = {s = \\cas => cn.nounpart ! NF Sg (extCase cas) nom ++ cn.relcl ! Sg ! extCase cas
|
||||
++ n.s ! cn.g ! cn. anim ! (extCase cas) ;
|
||||
n = Sg ; p = P3 ;
|
||||
g = PGen cn.g ; anim = cn.anim ; pron = False } ;
|
||||
|
||||
CNSymbNP d cn ss = {s = \\cas => cn.nounpart ! NF Sg (extCase cas) nom ++ cn.relcl ! Sg ! extCase cas ;
|
||||
n = Sg ; p = P3 ;
|
||||
g = PGen cn.g ; anim = cn.anim ; pron = False } ;
|
||||
|
||||
SymbS sy = sy ;
|
||||
|
||||
SymbNum sy = { s = \\_,_,_=>sy.s; n=Pl ; size = plg };
|
||||
|
||||
SymbOrd sy = { s = \\af => sy.s } ;
|
||||
|
||||
lincat
|
||||
|
||||
Symb, [Symb] = SS ;
|
||||
|
||||
lin
|
||||
MkSymb s = s ;
|
||||
|
||||
BaseSymb = infixSS "и" ;
|
||||
ConsSymb = infixSS "," ;
|
||||
|
||||
|
||||
}
|
||||
431
src/russian/v1/VerbRus.gf
Normal file
431
src/russian/v1/VerbRus.gf
Normal file
@@ -0,0 +1,431 @@
|
||||
|
||||
--# -path=.:../abstract:../common:../../prelude
|
||||
|
||||
concrete VerbRus of Verb = CatRus ** open ResRus, Prelude in {
|
||||
|
||||
-- 1.4 additions by AR 17/6/2008
|
||||
|
||||
flags optimize=all_subs ; coding=utf8 ;
|
||||
lin
|
||||
CompNP masha =
|
||||
{ s=\\clf,gn,p => case clf of
|
||||
{
|
||||
(ClIndic Present _) => masha.s ! (mkPronForm Nom No NonPoss) ;
|
||||
(ClIndic PastRus _) => case gn of
|
||||
{ (GSg Fem) =>"была"++masha.s ! (mkPronForm Inst No NonPoss);
|
||||
(GSg Masc) =>"был" ++ masha.s!(mkPronForm Inst No NonPoss);
|
||||
(GSg Neut) =>"было" ++ masha.s!(mkPronForm Inst No NonPoss);
|
||||
GPl => "были" ++ masha.s ! (mkPronForm Inst No NonPoss)
|
||||
};
|
||||
(ClIndic Future _) => case gn of
|
||||
{ GPl => case p of
|
||||
{ P3 => "будут"++masha.s ! (mkPronForm Inst No NonPoss);
|
||||
P2 => "будете"++masha.s !(mkPronForm Inst No NonPoss);
|
||||
P1 => "будем"++masha.s ! (mkPronForm Inst No NonPoss)
|
||||
};
|
||||
(GSg _) => case p of
|
||||
{ P3=>"будет"++masha.s!(mkPronForm Inst No NonPoss) ;
|
||||
P2 => "будешь"++ masha.s ! (mkPronForm Inst No NonPoss) ;
|
||||
P1=> "буду"++ masha.s ! (mkPronForm Inst No NonPoss)
|
||||
} --case p
|
||||
}; --case gn
|
||||
ClCondit => masha.s!(mkPronForm Inst No NonPoss) ;
|
||||
ClImper => case (numGenNum gn) of
|
||||
{Sg => "будь" ++ masha.s ! (mkPronForm Inst No NonPoss);
|
||||
Pl => "будьте" ++ masha.s ! (mkPronForm Inst No NonPoss)
|
||||
};
|
||||
ClInfin => "быть" ++ masha.s ! (mkPronForm Inst No NonPoss)
|
||||
}; -- case clf
|
||||
asp = Imperfective ;
|
||||
w = Act;
|
||||
negBefore = True;
|
||||
s2 = "";
|
||||
s3 = \\g,n => ""
|
||||
} ;
|
||||
|
||||
CompAP zloj ={
|
||||
s= \\clf,gn,p => case clf of {
|
||||
-- person is ignored !
|
||||
ClInfinit => "быть" ++ zloj.s ! AF Inst Animate (GSg Masc) ;
|
||||
ClImper => case gn of
|
||||
{ (GSg _) => "будь" ++ zloj.s ! AF Inst Animate (GSg Masc);
|
||||
GPl => "будьте" ++ zloj.s ! AF Inst Animate GPl
|
||||
};
|
||||
-- infinitive does not save GenNum,
|
||||
-- but indicative does for the sake of adjectival predication !
|
||||
-- ClIndic Present _ => zloj.s ! AF Nom Animate gn ;
|
||||
ClIndic Present _ | ClCondit => zloj.s ! AFShort gn ; ---- CLCondit AR 6/2/2013
|
||||
ClIndic PastRus _ => case gn of
|
||||
{ (GSg Fem) => "была" ++ zloj.s! AF Nom Animate (GSg Fem);
|
||||
(GSg Masc) => "был" ++ zloj.s! AF Nom Animate (GSg Masc);
|
||||
(GSg Neut) => "был" ++ zloj.s! AF Nom Animate (GSg Neut);
|
||||
GPl => "были" ++ zloj.s! AF Nom Animate GPl
|
||||
};
|
||||
ClIndic Future _ => case gn of
|
||||
{ GPl => case p of
|
||||
{ P3 => "будут" ++ zloj.s! AF Nom Animate GPl;
|
||||
P2 => "будете" ++ zloj.s! AF Nom Animate GPl;
|
||||
P1 => "будем" ++ zloj.s! AF Nom Animate GPl
|
||||
} ;
|
||||
(GSg _) => case p of
|
||||
{P3 => "будет" ++ zloj.s! AF Nom Animate (GSg (genGNum gn));
|
||||
P2 => "будешь"++ zloj.s! AF Nom Animate (GSg (genGNum gn));
|
||||
P1=> "буду" ++ zloj.s! AF Nom Animate (GSg (genGNum gn))
|
||||
}
|
||||
}
|
||||
---- ; ClCondit => ""
|
||||
} ;
|
||||
|
||||
asp = Imperfective ;
|
||||
w = Act;
|
||||
negBefore = True;
|
||||
s2 = "";
|
||||
s3 = \\g,n=> ""
|
||||
} ;
|
||||
|
||||
-- AR 7/12/2010 --- hmmm
|
||||
CompCN zloj ={
|
||||
s= \\clf,gn,p =>
|
||||
let num = numGenNum gn ;
|
||||
zlojsg = zloj.nounpart ! NF Sg Nom nom ++ zloj.relcl ! Sg ! Nom ;
|
||||
zlojpl = zloj.nounpart ! NF Pl Nom plg ++ zloj.relcl ! Pl ! Nom
|
||||
in
|
||||
case clf of {
|
||||
-- person is ignored !
|
||||
ClInfinit => "быть" ++ zloj.nounpart ! NF Sg Inst nom ++ zloj.relcl ! Sg ! Inst ;
|
||||
ClImper => case gn of
|
||||
{ (GSg _) => "будь" ++ zloj.nounpart ! NF Sg Inst plg ++ zloj.relcl ! Sg ! Inst ;
|
||||
GPl => "будьте" ++ zloj.nounpart ! NF Pl Inst plg ++ zloj.relcl ! Pl ! Inst
|
||||
};
|
||||
-- infinitive does not save GenNum,
|
||||
-- but indicative does for the sake of adjectival predication !
|
||||
ClIndic Present _ | ClCondit => zloj.nounpart ! NF num Nom nom ++ zloj.relcl ! num ! Nom ;
|
||||
ClIndic PastRus _ => case gn of
|
||||
{ (GSg Fem) => "была" ++ zlojsg ;
|
||||
(GSg Masc) => "был" ++ zlojsg ;
|
||||
(GSg Neut) => "был" ++ zlojsg ;
|
||||
GPl => "были" ++ zlojpl
|
||||
};
|
||||
ClIndic Future _ => case gn of
|
||||
{ GPl => case p of
|
||||
{ P3 => "будут" ++ zlojpl ;
|
||||
P2 => "будете" ++ zlojpl ;
|
||||
P1 => "будем" ++ zlojpl
|
||||
} ;
|
||||
(GSg _) => case p of
|
||||
{P3 => "будет" ++ zlojsg ;
|
||||
P2 => "будешь"++ zlojsg ;
|
||||
P1=> "буду" ++ zlojsg
|
||||
}
|
||||
}
|
||||
---- ; ClCondit => ""
|
||||
} ;
|
||||
|
||||
asp = Imperfective ;
|
||||
w = Act;
|
||||
negBefore = True;
|
||||
s2 = "";
|
||||
s3 = \\g,n=> ""
|
||||
} ;
|
||||
|
||||
|
||||
-- Verb phrases can also be formed from adjectives (" молод"),
|
||||
-- common nouns (" человек"), and noun phrases (" самый молодой").
|
||||
-- The third rule is overgenerating: " каждый человек" has to be ruled out
|
||||
-- on semantic grounds.
|
||||
-- Note: we omit a dash "-" because it will cause problems with negation word order:
|
||||
-- "Я не - волшебник". Alternatively, we can consider verb-based VP and
|
||||
-- all the rest.
|
||||
|
||||
CompAdv zloj =
|
||||
{ s= \\clf,gn,p => case clf of {
|
||||
ClImper => case gn of
|
||||
{ GSg _ => "будь" ++ zloj.s; -- person is ignored !
|
||||
GPl => "будьте" ++ zloj.s
|
||||
};
|
||||
ClInfinit => "быть" ++ zloj.s;
|
||||
ClIndic Present _ | ClCondit => zloj.s ;
|
||||
ClIndic PastRus _ => case gn of
|
||||
{ (GSg Fem) => "была" ++ zloj.s;
|
||||
(GSg Masc) => "был" ++ zloj.s;
|
||||
(GSg Neut) => "было" ++ zloj.s;
|
||||
GPl => "были" ++ zloj.s
|
||||
};
|
||||
ClIndic Future _ => case gn of
|
||||
{ (GSg _) => "будет" ++ zloj.s;
|
||||
GPl => "будут" ++ zloj.s
|
||||
}
|
||||
---- ; ClCondit => ""
|
||||
} ;
|
||||
asp = Imperfective ;
|
||||
w = Act;
|
||||
s2 = "";
|
||||
negBefore = True;
|
||||
s3 = \\g,n => ""
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
UseComp comp = comp ;
|
||||
|
||||
-- CompAP ap = ap ;
|
||||
-- CompNP np = {s = \\_ => np.s ! Acc} ;
|
||||
-- CompAdv a = {s = \\_ => a.s} ;
|
||||
|
||||
|
||||
-- A simple verb can be made into a verb phrase with an empty complement.
|
||||
-- There are two versions, depending on if we want to negate the verb.
|
||||
-- N.B. negation is *not* a function applicable to a verb phrase, since
|
||||
-- double negations with "inte" are not grammatical.
|
||||
|
||||
UseV se =
|
||||
{s=\\clf,gn,p => se.s ! (getActVerbForm clf (genGNum gn) (numGenNum gn) p) ;
|
||||
asp = se.asp ;
|
||||
w=Act;
|
||||
s2 = "";
|
||||
negBefore = True;
|
||||
s3 = table{_=> table{_ => ""}}
|
||||
} ;
|
||||
|
||||
-- The rule for using transitive verbs is the complementization rule:
|
||||
SlashV2a se =
|
||||
{s = \\clf,gn,p => se.s ! (getActVerbForm clf (genGNum gn) (numGenNum gn) p) ;
|
||||
asp = se.asp ;
|
||||
w = Act;
|
||||
s2 = "";
|
||||
s3 = \\g,n => "";
|
||||
negBefore = True ;
|
||||
sc = se.c2.s ;
|
||||
c = se.c2.c
|
||||
} ;
|
||||
|
||||
ComplSlash se tu =
|
||||
{s = \\clf,gn,p => se.s ! clf ! gn ! p
|
||||
++ se.sc ++ tu.s ! (mkPronForm se.c No NonPoss) ;
|
||||
asp = se.asp ;
|
||||
w = se.w;
|
||||
s2 = se.s2;
|
||||
s3 = se.s3;
|
||||
negBefore = se.negBefore
|
||||
} ;
|
||||
|
||||
Slash2V3 dat tu =
|
||||
let
|
||||
tebepivo = dat.c2.s ++ tu.s ! PF dat.c2.c No NonPoss ++ dat.c3.s ;
|
||||
in
|
||||
{s = \\clf,gn,p => dat.s ! (getActVerbForm clf (genGNum gn) (numGenNum gn) p) ++ tebepivo ;
|
||||
asp = dat.asp ;
|
||||
w = Act;
|
||||
negBefore = True;
|
||||
s2 = "";
|
||||
s3 = \\g,n=> "" ;
|
||||
sc = dat.c3.s ;
|
||||
c = dat.c3.c
|
||||
} ;
|
||||
|
||||
Slash3V3 dat pivo =
|
||||
let
|
||||
tebepivo = dat.c3.s ++ pivo.s ! PF dat.c3.c Yes NonPoss
|
||||
in
|
||||
{s = \\clf,gn,p => dat.s ! (getActVerbForm clf (genGNum gn) (numGenNum gn) p) ++ tebepivo ;
|
||||
asp = dat.asp ;
|
||||
w = Act;
|
||||
negBefore = True;
|
||||
s2 = "";
|
||||
s3 = \\g,n=> "" ;
|
||||
sc = dat.c2.s ;
|
||||
c = dat.c2.c
|
||||
} ;
|
||||
|
||||
---- AR 17/12/2008
|
||||
SlashV2Q dat esliOnPridet =
|
||||
{s = \\clf,gn,p => dat.s ! (getActVerbForm clf (genGNum gn) (numGenNum gn) p) ++ esliOnPridet.s ! QDir ;
|
||||
asp = dat.asp ;
|
||||
w = Act;
|
||||
negBefore = True;
|
||||
s2 = "";
|
||||
s3 = \\g,n=> "" ;
|
||||
sc = dat.c2.s ;
|
||||
c = dat.c2.c
|
||||
} ;
|
||||
|
||||
---- AR 17/12/2008
|
||||
SlashV2S vidit tuUlubaeshsya =
|
||||
{s = \\clf,gn,p => vidit.s ! (getActVerbForm clf (genGNum gn) (numGenNum gn) p)
|
||||
++ [", что"] ++ tuUlubaeshsya.s ;
|
||||
asp = vidit.asp;
|
||||
w = Act;
|
||||
s2="";
|
||||
negBefore = True;
|
||||
s3 = \\g,n => "" ;
|
||||
sc = vidit.c2.s ;
|
||||
c = vidit.c2.c
|
||||
} ;
|
||||
|
||||
---- AR 17/12/2008
|
||||
SlashV2V putatsya bezhat =
|
||||
{ s = \\clf,gn,p => putatsya.s ! (getActVerbForm clf (genGNum gn)
|
||||
(numGenNum gn) p) ++ bezhat.s!ClInfinit !gn!p ;
|
||||
asp = putatsya.asp ;
|
||||
w = Act;
|
||||
negBefore = True;
|
||||
s2 = "";
|
||||
s3 =\\g,n => "" ;
|
||||
sc = putatsya.c2.s ;
|
||||
c = putatsya.c2.c
|
||||
} ;
|
||||
|
||||
---- AR 17/12/2008
|
||||
ReflVP vp =
|
||||
{ s = \\clf,gn,p => vp.s ! clf ! gn ! p ++ vp.s2 ++ sebya ! vp.c;
|
||||
asp = vp.asp ;
|
||||
w = Act ;
|
||||
negBefore = True;
|
||||
s2 = "";
|
||||
s3 = \\g,n=> ""
|
||||
} ;
|
||||
|
||||
---- AR 17/12/2008
|
||||
SlashVV putatsya bezhat =
|
||||
{ s = \\clf,gn,p => putatsya.s ! (getActVerbForm clf (genGNum gn)
|
||||
(numGenNum gn) p) ++ bezhat.s!ClInfinit !gn!p ;
|
||||
asp = putatsya.asp ;
|
||||
w = Act;
|
||||
negBefore = True;
|
||||
s2 = "";
|
||||
s3 =\\g,n => "" ;
|
||||
sc = bezhat.s2 ;
|
||||
c = bezhat.c
|
||||
} ;
|
||||
|
||||
---- AR 17/12/2008
|
||||
SlashV2VNP putatsya np bezhat =
|
||||
{ s = \\clf,gn,p =>
|
||||
putatsya.s ! (getActVerbForm clf (genGNum gn) (numGenNum gn) p) ++
|
||||
np.s ! (mkPronForm putatsya.c2.c No NonPoss) ++ ---- ?
|
||||
bezhat.s!ClInfinit !gn!p ;
|
||||
asp = putatsya.asp ;
|
||||
w = Act;
|
||||
negBefore = True;
|
||||
s2 = "";
|
||||
s3 =\\g,n => "" ;
|
||||
sc = bezhat.s2 ; ---- ?
|
||||
c = bezhat.c
|
||||
} ;
|
||||
|
||||
|
||||
-- To generate "сказал, что Иван гуляет" / "не сказал, что Иван гуляет":
|
||||
ComplVS vidit tuUlubaeshsya =
|
||||
{s = \\clf,gn,p => vidit.s ! (getActVerbForm clf (genGNum gn) (numGenNum gn) p)
|
||||
++ [", что"] ++ tuUlubaeshsya.s ;
|
||||
asp = vidit.asp;
|
||||
w = Act;
|
||||
s2="";
|
||||
negBefore = True;
|
||||
s3 = \\g,n => ""
|
||||
} ;
|
||||
|
||||
|
||||
-- To generate "can walk"/"can't walk"; "tries to walk"/"does not try to walk":
|
||||
-- The contraction of "not" is not provided, since it would require changing
|
||||
-- the verb parameter type.
|
||||
|
||||
ComplVV putatsya bezhat =
|
||||
{ s = \\clf,gn,p => putatsya.s ! (getActVerbForm clf (genGNum gn)
|
||||
(numGenNum gn) p) ++ bezhat.s!ClInfinit !gn!p ++ bezhat.s2 ; ---- s2 added by AR 7/12/2012 - but where should s3 go?
|
||||
asp = putatsya.asp ;
|
||||
w = Act;
|
||||
negBefore = True;
|
||||
s2 = "";
|
||||
s3 =\\g,n => ""
|
||||
} ;
|
||||
ComplVQ dat esliOnPridet =
|
||||
{s = \\clf,gn,p => dat.s ! (getActVerbForm clf (genGNum gn) (numGenNum gn) p) ++ esliOnPridet.s ! QDir ;
|
||||
asp = dat.asp ;
|
||||
w = Act;
|
||||
negBefore = True;
|
||||
s2 = "";
|
||||
s3 = \\g,n=> ""
|
||||
} ;
|
||||
ComplVA vuglyadet molodoj =
|
||||
{s = \\clf,gn,p => vuglyadet.s ! (getActVerbForm clf (genGNum gn) (numGenNum gn) p) ;
|
||||
asp = vuglyadet.asp ;
|
||||
w = Act;
|
||||
negBefore = True;
|
||||
s2 = "";
|
||||
s3 = \\g,n => molodoj.s!(AF Inst Animate (gennum g n))
|
||||
} ;
|
||||
|
||||
SlashV2A obechat molodoj =
|
||||
{s = \\clf,gn,p =>
|
||||
obechat.s ! (getActVerbForm clf (genGNum gn) (numGenNum gn) p) ++
|
||||
molodoj.s ! AF Inst Inanimate (GSg Neut) ;
|
||||
---- AR 17/6; AF Inst tu.anim (pgNum tu.g tu.n) ;
|
||||
asp = obechat.asp ;
|
||||
w = Act;
|
||||
negBefore = True;
|
||||
s2 = "";
|
||||
s3 = \\g,n =>"" ;
|
||||
sc = obechat.c2.s ;
|
||||
c = obechat.c2.c
|
||||
} ;
|
||||
|
||||
AdvVP poet khorosho =
|
||||
{s = \\clf,gn,p => poet.s ! clf!gn!p; s2 = poet.s2 ++ khorosho.s; s3 = poet.s3;
|
||||
asp = poet.asp; w = poet.w; t = poet.t ; negBefore = poet.negBefore } ;
|
||||
|
||||
AdVVP khorosho poet =
|
||||
{s = \\clf,gn,p => poet.s ! clf!gn!p; s2 = khorosho.s ++ poet.s2; s3 = poet.s3;
|
||||
asp = poet.asp; w = poet.w; t = poet.t ; negBefore = poet.negBefore } ;
|
||||
|
||||
PassV2 se =
|
||||
{s=\\clf,gn,p => se.s ! (getPassVerbForm clf (genGNum gn) (numGenNum gn) p) ;
|
||||
asp=se.asp; w=Pass; s2 = se.c2.s;
|
||||
negBefore = True;
|
||||
s3 = table{_=> table{_ => ""}}
|
||||
};
|
||||
|
||||
VPSlashPrep vp prep = vp ** {sc = prep.s ; c = prep.c} ; ---- AR
|
||||
|
||||
|
||||
---- AR 6/2/2013. Unfortunately there's no copula in the resources...
|
||||
|
||||
UseCopula =
|
||||
{ s=\\clf,gn,p => case clf of
|
||||
{
|
||||
(ClIndic Present _) => [] ;
|
||||
(ClIndic PastRus _) => case gn of
|
||||
{ (GSg Fem) =>"была" ;
|
||||
(GSg Masc) =>"был" ;
|
||||
(GSg Neut) =>"было" ;
|
||||
GPl => "были"
|
||||
};
|
||||
(ClIndic Future _) => case gn of
|
||||
{ GPl => case p of
|
||||
{ P3 => "будут" ;
|
||||
P2 => "будете" ;
|
||||
P1 => "будем"
|
||||
};
|
||||
(GSg _) => case p of
|
||||
{ P3=>"будет" ;
|
||||
P2 => "будешь" ;
|
||||
P1=> "буду"
|
||||
} --case p
|
||||
}; --case gn
|
||||
ClCondit => "" ;
|
||||
ClImper => case (numGenNum gn) of
|
||||
{Sg => "будь" ;
|
||||
Pl => "будьте"
|
||||
};
|
||||
ClInfin => "быть"
|
||||
}; -- case clf
|
||||
asp = Imperfective ;
|
||||
w = Act;
|
||||
negBefore = True;
|
||||
s2 = "";
|
||||
s3 = \\g,n => ""
|
||||
} ;
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user