mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-27 17:08:54 -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.//
|
//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===
|
===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
|
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===
|
===Danish===
|
||||||
|
|
||||||
@@ -155,8 +169,13 @@ The GF Resource Grammar Library.
|
|||||||
|
|
||||||
- **Source**: http://www.grammaticalframework.org/lib/src/estonian (Kaarel Kaljurand, Inari Listenmaa)
|
- **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===
|
===Finnish===
|
||||||
@@ -256,6 +275,9 @@ In The 3rd Workshop
|
|||||||
on South and Southeast Asian NLP, COLING 2012. //Reprinted in Shafqat's thesis//
|
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===
|
===Icelandic===
|
||||||
@@ -281,8 +303,6 @@ Bjarki Traustason, MSc thesis, Chalmers
|
|||||||
%- **Publications**
|
%- **Publications**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
===Japanese===
|
===Japanese===
|
||||||
|
|
||||||
- **Source**: http://www.grammaticalframework.org/lib/src/japanese (Liza Zimina)
|
- **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
|
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===
|
===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===
|
===Latvian===
|
||||||
@@ -397,6 +434,15 @@ Slide presentation, TYPES 2010, Warsaw,
|
|||||||
http://www.mimuw.edu.pl/~asl/publications/types2010-slides.pdf
|
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===
|
===Punjabi===
|
||||||
|
|
||||||
@@ -438,7 +484,7 @@ LNCS 6008,
|
|||||||
|
|
||||||
===Russian===
|
===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**
|
- **Publications**
|
||||||
|
|
||||||
@@ -475,6 +521,21 @@ MSc Thesis, Chalmers University of Technology,
|
|||||||
http://publications.lib.chalmers.se/records/fulltext/163234.pdf
|
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===
|
===Spanish===
|
||||||
|
|
||||||
- **Source**: http://www.grammaticalframework.org/lib/src/spanish http://www.grammaticalframework.org/lib/src/romance
|
- **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===
|
===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**
|
- **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
|
http://link.springer.com/content/pdf/10.1007%2F978-3-642-32790-2_22.pdf
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
===Thai===
|
===Thai===
|
||||||
|
|
||||||
- **Source**: http://www.grammaticalframework.org/lib/src/thai (Aarne Ranta, Chotiros Kairoje)
|
- **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.
|
2007.
|
||||||
|
|
||||||
See also **Hindi** above.
|
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/] .
|
[The Resource Grammar Library coverage map http://www.postcrashgames.com/gf_world/] .
|
||||||
|
|
||||||
Corrections and additions are welcome! Notice that only those parts of implementations
|
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
|
are marked in the table
|
||||||
|
|
||||||
|
|
||||||
|| ISO | Language | Git | Mini | Parad | Lex | Lang | API | Symb | Irreg | Dict | Trans | tested | publ | authors ||
|
|| ISO | Language | Parad | Lex | Lang | API | Symb | Irreg | Dict | WN | tested | publ | authors ||
|
||||||
| Afr | Afrikaans | + | - | ++ | + | + | + | - | - | - | - | - | - | *LP,LM
|
| Afr | Afrikaans | ++ | + | + | + | - | - | - | - | - | - | *LP,LM |
|
||||||
| Amh | Amharic | + | + | ++ | + | + | - | - | - | - | - | - | + | *MK
|
| Amh | Amharic | ++ | + | + | - | - | - | - | - | - | + | *MK |
|
||||||
| Ara | Arabic | + | + | + | + | + | + | + | - | - | - | + | + | AD,*IL
|
| Ara | Arabic | + | + | + | + | + | - | - | - | + | + | AD,*IL |
|
||||||
| Bul | Bulgarian | + | + | + | + | + | + | + | + | + | + | ++ | + | *KA
|
| Bul | Bulgarian | + | + | + | + | + | + | + | + | ++ | + | *KA |
|
||||||
| Cat | Catalan | + | + | ++ | + | + | + | + | + | - | + | ++ | - | *JS,*IL
|
| Cat | Catalan | ++ | + | + | + | + | + | - | + | ++ | - | *JS,*IL |
|
||||||
| Chi | Chinese | + | - | ++ | + | + | + | - | - | + | + | - | + | ZL,*AR,*CP,QH
|
| Chi | Chinese | ++ | + | + | + | - | - | + | + | - | + | ZL,*AR,*CP,QH |
|
||||||
| Dan | Danish | + | + | ++ | + | + | + | + | + | - | - | + | - | *AR
|
| Cze | Czech | + | + | + | + | - | - | - | - | + | - | *AR,*MM |
|
||||||
| Dut | Dutch | + | + | ++ | + | + | + | + | + | - | + | + | - | *AR,FJ
|
| Dan | Danish | ++ | + | + | + | + | + | - | - | + | - | *AR |
|
||||||
| Eng | English | + | + | ++ | + | + | + | + | + | + | + | ++ | + | *AR,BB,KA
|
| Dut | Dutch | ++ | + | + | + | + | + | - | + | + | - | *AR,FJ |
|
||||||
| Est | Estonian | + | - | ++ | + | + | + | - | - | + | + | + | + | *KK,*IL
|
| Eng | English | ++ | + | + | + | + | + | + | + | ++ | + | *AR,BB,KA |
|
||||||
| Eus | Basque | + | - | ++ | + | + | + | - | - | - | - | - | + | *IL
|
| Est | Estonian | ++ | + | + | + | - | - | + | + | + | + | *KK,*IL |
|
||||||
| Fin | Finnish | + | + | ++ | + | + | + | + | - | + | + | ++ | + | *AR,*IL
|
| Eus | Basque | ++ | + | + | + | - | - | - | - | - | + | *IL |
|
||||||
| Fre | French | + | + | ++ | + | + | + | + | + | + | + | ++ | - | *AR,RE
|
| Fin | Finnish | ++ | + | + | + | + | - | + | + | ++ | + | *AR,*IL |
|
||||||
| Ger | German | + | + | ++ | + | + | + | + | + | + | + | ++ | - | *AR,HH,EG
|
| Fre | French | ++ | + | + | + | + | + | + | - | ++ | - | *AR,RE |
|
||||||
| Gre | Greek(mod) | + | - | ++ | + | + | + | - | - | - | - | - | + | *IP
|
| Ger | German | ++ | + | + | + | + | + | + | - | ++ | - | *AR,HH,EG |
|
||||||
| Grc | Greek(anc) | - | - | - | - | - | - | - | - | - | - | - | + | *HLe
|
| Gre | Greek(mod) | ++ | + | + | + | - | - | - | - | - | + | *IP |
|
||||||
| Heb | Hebrew | + | - | - | - | - | - | - | - | - | - | - | + | *DD
|
| Grc | Greek(anc) | - | - | - | - | - | - | - | - | - | + | *HLe |
|
||||||
| Hin | Hindi | + | + | ++ | + | + | + | + | - | - | + | + | + | *SV,*KP,MH,AR,PK
|
| Heb | Hebrew | - | - | - | - | - | - | - | - | - | + | *DD |
|
||||||
| Ice | Icelandic | + | - | ++ | + | + | + | - | - | - | - | - | + | *BT
|
| Hin | Hindi | ++ | + | + | + | + | - | - | - | + | + | *SV,*KP,MH,AR,PK |
|
||||||
| Ina | Interlingua | + | + | ++ | + | + | - | - | - | - | - | - | - | JB
|
| Hun | Hungarian | ++ | + | + | + | + | - | - | - | + | - | *IL,*JJ |
|
||||||
| Ita | Italian | + | + | ++ | + | + | + | + | - | - | + | ++ | - | *AR,*RE,GP
|
| Ice | Icelandic | ++ | + | + | + | - | - | - | - | - | + | *BT |
|
||||||
| Jpn | Japanese | + | - | ++ | + | + | + | - | - | - | + | + | + | *LZ
|
| Ina | Interlingua | ++ | + | + | - | - | - | - | - | - | - | JB |
|
||||||
| Lat | Latin | + | - | - | - | - | - | - | - | + | - | - | - | *AR,*HLa
|
| Ita | Italian | ++ | + | + | + | + | - | - | + | ++ | - | *AR,*RE,GP |
|
||||||
| Lav | Latvian | + | - | ++ | + | + | + | - | - | - | - | + | + | *NG,*PP
|
| Jpn | Japanese | ++ | + | + | + | - | - | - | - | + | + | *LZ |
|
||||||
| Mlt | Maltese | + | + | ++ | + | + | + | + | - | - | - | - | + | *JC
|
| Kor | Korean | ++ | + | + | + | + | - | - | - | + | - | *IL |
|
||||||
| Mon | Mongolian | + | - | ++ | + | + | + | - | - | + | - | - | + | *NE
|
| Lat | Latin | - | - | - | - | - | - | + | - | - | - | *AR,*HLa |
|
||||||
| Nep | Nepali | + | + | ++ | + | + | - | - | - | - | - | - | + | *DS
|
| Lav | Latvian | ++ | + | + | + | - | - | - | - | + | + | *NG,*PP |
|
||||||
| Nno | Norwegian(n) | + | + | ++ | + | + | + | + | + | - | - | - | - | *SRE
|
| Mlt | Maltese | ++ | + | + | + | + | - | - | - | - | + | *JC |
|
||||||
| Nor | Norwegian(b) | + | + | ++ | + | + | + | + | + | - | - | + | - | *AR
|
| Mon | Mongolian | ++ | + | + | + | - | - | + | - | - | + | *NE |
|
||||||
| Pes | Persian | + | - | + | + | + | + | - | - | - | - | + | + | SV,EA,SM,*IL
|
| Nep | Nepali | ++ | + | + | - | - | - | - | - | - | + | *DS |
|
||||||
| Pnb | Punjabi | + | + | + | + | + | + | + | - | - | - | - | + | *SV,MH
|
| Nno | Norwegian(n) | ++ | + | + | + | + | + | - | - | - | - | *SRE |
|
||||||
| Pol | Polish | + | + | + | + | + | + | + | - | - | - | + | + | IN,*AS
|
| Nor | Norwegian(b) | ++ | + | + | + | + | + | - | - | + | - | *AR |
|
||||||
| Por | Portuguese | + | + | ++ | + | + | + | + | + | - | + | + | - | *BC
|
| Pes | Persian | + | + | + | + | - | - | - | - | + | + | SV,EA,SM,*IL |
|
||||||
| Ron | Romanian | + | + | ++ | + | + | + | + | - | - | - | + | + | *RE
|
| Pnb | Punjabi | + | + | + | + | + | - | - | - | - | + | *SV,MH |
|
||||||
| Rus | Russian | + | + | ++ | + | + | + | - | - | + | + | - | + | JK,*NF
|
| Pol | Polish | + | + | + | + | + | - | - | - | + | + | IN,*AS |
|
||||||
| Snd | Sindhi | + | + | ++ | + | + | + | + | - | - | - | - | + | *SV,*JD
|
| Por | Portuguese | ++ | + | + | + | + | + | + | + | + | + | *BC |
|
||||||
| Spa | Spanish | + | + | ++ | + | + | + | + | + | - | + | ++ | - | *AR,IA,TS,*IL
|
| Ron | Romanian | ++ | + | + | + | + | - | - | - | + | + | *RE |
|
||||||
| Swa | Swahili | + | - | - | - | - | - | - | - | - | - | - | + | *WN,JM
|
| Rus | Russian | ++ | + | + | + | - | - | + | - | - | + | JK,NF,*RS |
|
||||||
| Swe | Swedish | + | + | ++ | + | + | + | + | + | + | + | ++ | + | *MA,*AR,MF
|
| Slk | Slovak | + | + | + | + | - | - | - | - | + | - | *AR,*MM,SČ |
|
||||||
| Tha | Thai | + | - | ++ | + | + | + | + | - | - | + | + | - | *AR,CK
|
| Slv | Slovene | ++ | + | + | + | - | - | - | + | + | - | *KA,AE |
|
||||||
| Tsn | Tswana | - | - | - | - | - | - | - | - | - | - | - | - | *LP,AB
|
| Snd | Sindhi | ++ | + | + | + | + | - | - | - | - | + | *SV,*JD |
|
||||||
| Tur | Turkish | + | - | ++ | + | - | - | - | - | + | - | - | - | *SC,KA
|
| Som | Somali | + | - | - | - | - | - | - | - | - | - | *IL |
|
||||||
| Urd | Urdu | + | + | ++ | + | + | + | + | - | - | - | + | + | *SV,MH
|
| 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
|
ISO = 3-letter ISO language code, used in library file names
|
||||||
(mostly ISO 639-2 B (bibliographic))
|
(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
|
Parad = ``Paradigms`` file complete for major POS, ++ means with smart paradigms
|
||||||
|
|
||||||
Lex = the resource ``Lexicon`` (nearly) complete
|
Lex = the resource ``Lexicon`` (nearly) complete
|
||||||
@@ -73,13 +76,13 @@ Lang = the resource ``Syntax`` (nearly) complete
|
|||||||
|
|
||||||
API = the ``Syntax`` compiles
|
API = the ``Syntax`` compiles
|
||||||
|
|
||||||
Symb = the ``Symbolic`` API compiles
|
Symb = the ``Symbolic`` API complete
|
||||||
|
|
||||||
Irreg = the ``Irreg`` module with irregular verbs exists
|
Irreg = the ``Irreg`` module with irregular verbs exists
|
||||||
|
|
||||||
Dict = the ``Dict`` module, large-scale morphological lexicon, 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
|
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,
|
AB Ansu Berg,
|
||||||
AD Ali El Dada,
|
AD Ali El Dada,
|
||||||
|
AE Anna Ehrlemark,
|
||||||
AR Aarne Ranta,
|
AR Aarne Ranta,
|
||||||
AS Adam Slaski,
|
AS Adam Slaski,
|
||||||
BB Björn Bringert,
|
BB Björn Bringert,
|
||||||
BC Bruno Cuconato,
|
BC Bruno Cuconato,
|
||||||
|
BK Benson Kituku,
|
||||||
BT Bjarki Traustason,
|
BT Bjarki Traustason,
|
||||||
CK Chotiros Kairoje,
|
CK Chotiros Kairoje,
|
||||||
CP Chen Peng,
|
CP Chen Peng,
|
||||||
@@ -116,6 +121,7 @@ IP Ioanna Papadopoulou,
|
|||||||
JB Jean-Philippe Bernardy,
|
JB Jean-Philippe Bernardy,
|
||||||
JC John J. Camilleri,
|
JC John J. Camilleri,
|
||||||
JD Jherna Devi,
|
JD Jherna Devi,
|
||||||
|
JJ Julia Jansson,
|
||||||
JK Janna Khegai,
|
JK Janna Khegai,
|
||||||
JM Juliet Mutahi,
|
JM Juliet Mutahi,
|
||||||
JS Jordi Saludes,
|
JS Jordi Saludes,
|
||||||
@@ -129,13 +135,16 @@ MA Malin Ahlberg,
|
|||||||
MF Markus Forsberg,
|
MF Markus Forsberg,
|
||||||
MK Markos Kassa Gobena,
|
MK Markos Kassa Gobena,
|
||||||
MH Muhammad Humayoun,
|
MH Muhammad Humayoun,
|
||||||
|
MM Michal Měchura,
|
||||||
NE Nyamsuren Erdenebadrakh,
|
NE Nyamsuren Erdenebadrakh,
|
||||||
NF Nick Frolov,
|
NF Nick Frolov,
|
||||||
NG Normunds Gruzitis,
|
NG Normunds Gruzitis,
|
||||||
QH Qiao Haiyan,
|
QH Qiao Haiyan,
|
||||||
RE Ramona Enache,
|
RE Ramona Enache,
|
||||||
|
RS Roman Suzi,
|
||||||
PP Peteris Paikens,
|
PP Peteris Paikens,
|
||||||
SC Server Cimen,
|
SC Server Cimen,
|
||||||
|
SČ Slavomír Čéplö,
|
||||||
SM Sofy Moradi,
|
SM Sofy Moradi,
|
||||||
SRE Stian Rødven Eide,
|
SRE Stian Rødven Eide,
|
||||||
SV Shafqat Virk,
|
SV Shafqat Virk,
|
||||||
@@ -147,7 +156,7 @@ ZL Zhuo Lin Qiqige
|
|||||||
|
|
||||||
==Rules==
|
==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
|
If you want to work on a language already in the table, please be kind and contact the
|
||||||
active authors of it.
|
active authors of it.
|
||||||
|
|||||||
@@ -99,4 +99,4 @@ oper whoSg_IP : IP = notYet "whoSg_IP" ;
|
|||||||
oper youPl_Pron : Pron = notYet "youPl_Pron" ;
|
oper youPl_Pron : Pron = notYet "youPl_Pron" ;
|
||||||
oper youPol_Pron : Pron = notYet "youPol_Pron" ;
|
oper youPol_Pron : Pron = notYet "youPol_Pron" ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,28 +30,28 @@ lin
|
|||||||
UsePron pron = {
|
UsePron pron = {
|
||||||
s = table {
|
s = table {
|
||||||
Nom | Voc => pron.nom ;
|
Nom | Voc => pron.nom ;
|
||||||
Gen => pron.gen ;
|
Gen => pron.gen ;
|
||||||
Dat => pron.dat ;
|
Dat => pron.dat ;
|
||||||
Acc => pron.acc ;
|
Acc => pron.acc ;
|
||||||
Loc => pron.loc ;
|
Loc => pron.loc ;
|
||||||
Ins => pron.ins
|
Ins => pron.ins
|
||||||
} ;
|
} ;
|
||||||
clit = table {
|
clit = table {
|
||||||
Nom => pron.cnom ;
|
Nom => pron.cnom ;
|
||||||
Voc => pron.nom ;
|
Voc => pron.nom ;
|
||||||
Gen => pron.cgen ;
|
Gen => pron.cgen ;
|
||||||
Dat => pron.cdat ;
|
Dat => pron.cdat ;
|
||||||
Acc => pron.cacc ;
|
Acc => pron.cacc ;
|
||||||
Loc => pron.loc ;
|
Loc => pron.loc ;
|
||||||
Ins => pron.ins
|
Ins => pron.ins
|
||||||
} ;
|
} ;
|
||||||
prep = table {
|
prep = table {
|
||||||
Nom | Voc => pron.nom ;
|
Nom | Voc => pron.nom ;
|
||||||
Gen => pron.pgen ;
|
Gen => pron.pgen ;
|
||||||
Dat => pron.pdat ;
|
Dat => pron.pdat ;
|
||||||
Acc => pron.pacc ;
|
Acc => pron.pacc ;
|
||||||
Loc => pron.loc ;
|
Loc => pron.loc ;
|
||||||
Ins => pron.pins
|
Ins => pron.pins
|
||||||
} ;
|
} ;
|
||||||
a = pron.a ;
|
a = pron.a ;
|
||||||
hasClit = True ;
|
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-}
|
{-Assumed that a PrepNP is always Acc-}
|
||||||
PrepNP prep np = {s = prep.s ++ np.s ! Acc; agr = AgrNo}; -- aha meza
|
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
|
--PositAdvAdj : A -> Adv ; -- warmly
|
||||||
--"Impossible to implement because each is lexically different word."
|
--"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};
|
[CN] = {s1,s2 : Number => Case => Str};
|
||||||
[DAP] = {s1,s2 : Str ; n : Number};
|
[DAP] = {s1,s2 : Str ; n : Number};
|
||||||
-}
|
-}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{-
|
{-
|
||||||
--1 Conjunction: Coordination
|
--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,
|
AdjectiveCgg,
|
||||||
AdverbCgg,
|
AdverbCgg,
|
||||||
NumeralCgg,
|
NumeralCgg,
|
||||||
SentenceCgg,
|
SentenceCgg,
|
||||||
|
--SentenceExtraCgg,
|
||||||
QuestionCgg,
|
QuestionCgg,
|
||||||
RelativeCgg,
|
RelativeCgg,
|
||||||
ConjunctionCgg,
|
ConjunctionCgg,
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ lin
|
|||||||
bread_N = mkN "omugati" MU_MI;
|
bread_N = mkN "omugati" MU_MI;
|
||||||
car_N = mkN "emootoka" N_N ;
|
car_N = mkN "emootoka" N_N ;
|
||||||
cat_N = mkN "enjangu" 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 ;
|
child_N = mkN "omwana" MU_BA ;
|
||||||
city_N = mkN "ekibúga" KI_BI; --orurêmbo pl endêmbo
|
city_N = mkN "ekibúga" KI_BI; --orurêmbo pl endêmbo
|
||||||
cloud_N = mkN "ekikyu" KI_BI ;
|
cloud_N = mkN "ekikyu" KI_BI ;
|
||||||
@@ -25,6 +25,7 @@ lin
|
|||||||
cow_N = mkN "ente" N_N ;
|
cow_N = mkN "ente" N_N ;
|
||||||
dog_N = mkN "embwa" N_N ;
|
dog_N = mkN "embwa" N_N ;
|
||||||
--person_N = mkN "omuntu" "abantu" MU_BA ;
|
--person_N = mkN "omuntu" "abantu" MU_BA ;
|
||||||
|
eye_N = mkN "eriisho" RI_MA;
|
||||||
fire_N = mkN "omuriro" MU_MI ;
|
fire_N = mkN "omuriro" MU_MI ;
|
||||||
fish_N = mkN "eky'ényanja" KI_BI ;
|
fish_N = mkN "eky'ényanja" KI_BI ;
|
||||||
flower_N = mkN "ekimuri" KI_BI ;
|
flower_N = mkN "ekimuri" KI_BI ;
|
||||||
@@ -44,9 +45,11 @@ lin
|
|||||||
horse_N = mkN "embaráàsi" N_N ;
|
horse_N = mkN "embaráàsi" N_N ;
|
||||||
house_N = mkN "enju" N_N ;
|
house_N = mkN "enju" N_N ;
|
||||||
language_N = mkN "orurími" "endími" RU_N ;
|
language_N = mkN "orurími" "endími" RU_N ;
|
||||||
|
meat_N = mkN "enyama" N_N;
|
||||||
man_N = mkN "omushaija" MU_BA ;
|
man_N = mkN "omushaija" MU_BA ;
|
||||||
milk_N = mkN "amate" ZERO_MA ;
|
milk_N = mkN "amate" ZERO_MA ;
|
||||||
music_N = mkN "music" ZERO_ZERO ; -- I have not found the translation
|
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,
|
river_N = mkN "omugyera" MU_MI ; --omurîndi,
|
||||||
sea_N = mkN "enyanja" N_N ;
|
sea_N = mkN "enyanja" N_N ;
|
||||||
ship_N = mkN "ekyombo" KI_BI ; -- eméèri [NC_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 ;
|
water_N = mkN "amáìzi" ZERO_MA ;
|
||||||
wine_N = mkN "víìnyo" ZERO_ZERO ;
|
wine_N = mkN "víìnyo" ZERO_ZERO ;
|
||||||
woman_N = mkN "omwishiki" MU_BA ;
|
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
|
--Proper Nouns
|
||||||
john_PN = mkPN "Yohana" (AgP3 Sg MU_BA) False;
|
john_PN = mkPN "Yohana" (AgP3 Sg MU_BA) False;
|
||||||
paris_PN = mkPN "Paris" (AgP3 Sg N_N) True; --Noun class for places???
|
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;
|
black_A = mkAdjective "kwirangura" Post False False;
|
||||||
blue_A = mkAdjective "buuru" Post True True ;
|
blue_A = mkAdjective "buuru" Post True True ;
|
||||||
clean_A = mkAdjective "yonjo" Post False False; --: A ;
|
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 ;
|
good_A =mkAdjective "rungi" Post False False; --: A ;
|
||||||
heavy_A = mkAdjective "rikuremeera" Post False False; --: A ; --notice ri as a verb is
|
heavy_A = mkAdjective "kuremeera" 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
|
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 ;
|
new_A = mkAdjective "sya" Post False False; --: A ;
|
||||||
old_A = mkAdjective "kúru" Post False False; --: A ;
|
old_A = mkAdjective "kúru" Post False False; --: A ;
|
||||||
ready_A = mkAdjective "eteekateekire" 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;
|
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 ;
|
white_A = mkAdjective "rikwera" Post False False;--: A ;
|
||||||
yellow_A = mkAdjective "kinekye" Post True True;--: A ; or yero, or kyenju
|
yellow_A = mkAdjective "kinekye" Post True True;--: A ; or yero, or kyenju
|
||||||
young_A = mkAdjective "to" Post False False;--: A ;
|
young_A = mkAdjective "to" Post False False;--: A ;
|
||||||
green_A =mkAdjective "kijubwe" Post False True;
|
green_A =mkAdjective "kijubwe" Post False True;
|
||||||
|
thin_A = mkAdjective "kye" Post False False;
|
||||||
|
|
||||||
--ditransitive verbs
|
--ditransitive verbs
|
||||||
bite_V2 = mkV2 "rum";
|
bite_V2 = mkV2 "rum";
|
||||||
break_V2 = mkV2 "hend"; --: V2 ;
|
break_V2 = mkV2 "hen" "da" "zire"; --: V2 ;
|
||||||
buy_V2 = mkV2 "gur" ; --: V2 ;
|
buy_V2 = mkV2 "gur" ; --: V2 ;
|
||||||
close_V2 = mkV2 "king";
|
close_V2 = mkV2 "king";
|
||||||
count_V2 = mkV2 "ba" "ra" "zire";
|
count_V2 = mkV2 "ba" "ra" "zire";
|
||||||
@@ -96,13 +103,13 @@ lin
|
|||||||
fear_V2 = mkV2 "tiin";
|
fear_V2 = mkV2 "tiin";
|
||||||
find_V2 = mkV2 "bon" ; --: V2 ; -- many words; kureeba, kubóna,kushanga, kumamya,kujumbura
|
find_V2 = mkV2 "bon" ; --: V2 ; -- many words; kureeba, kubóna,kushanga, kumamya,kujumbura
|
||||||
kill_V2 = mkV2 "it"; --: V2 ;
|
kill_V2 = mkV2 "it"; --: V2 ;
|
||||||
love_V2 = mkV2 "kûnd"; --: V2 ;
|
love_V2 = mkV2 "kûnd" "da" "zire"; --: V2 ;
|
||||||
read_V2 = mkV2 "shom";--: V2 ;
|
read_V2 = mkV2 "shom";--: V2 ;
|
||||||
see_V2 = mkV2 "reeb"; --: V2 ;
|
see_V2 = mkV2 "reeb"; --: V2 ;
|
||||||
teach_V2 = mkV2 "shomes" ; --: V2 ; or kwegyesa
|
teach_V2 = mkV2 "shomes" ; --: V2 ; or kwegyesa
|
||||||
understand_V2 = mkV2 "étegyerez"; --: V2 ;
|
understand_V2 = mkV2 "étegyerez"; --: V2 ;
|
||||||
wait_V2 = mkV2 "tegyerez"; --: V2 ;
|
wait_V2 = mkV2 "tegyerez"; --: V2 ;
|
||||||
|
|
||||||
-- ditransitive verbs
|
-- ditransitive verbs
|
||||||
add_V3 = mkV3 "gáìt";
|
add_V3 = mkV3 "gáìt";
|
||||||
give_V3 = mkV3 "héére" "za" "ize";
|
give_V3 = mkV3 "héére" "za" "ize";
|
||||||
@@ -113,12 +120,13 @@ lin
|
|||||||
|
|
||||||
-- Intransitive verbs
|
-- Intransitive verbs
|
||||||
come_V = mkV "ij";
|
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" ;
|
jump_V = mkV "guruk" ;
|
||||||
play_V = mkV "záàn"; --: V ;
|
play_V = mkV "záàn"; --: V ;
|
||||||
live_V = mkV "tuur" ; --manyF: kutuura i.e. live somewhere, stay = kuráàra
|
live_V = mkV "tuur" ; --manyF: kutuura i.e. live somewhere, stay = kuráàra
|
||||||
run_V = mkV "íruk"; -- : V ;
|
run_V = mkV "íruk"; -- : V ;
|
||||||
sleep_V = mkV "nyama" ; --: V ;--Kugwejegyera, kubyama
|
sleep_V = mkV "gwejegyer" ; --: V ;--Kugwejegyera, kubyama
|
||||||
swim_V = mkV "og"; --: V ;
|
swim_V = mkV "og"; --: V ;
|
||||||
travel_V = mkV "gyen" "da" "zire" ;--: V ;
|
travel_V = mkV "gyen" "da" "zire" ;--: V ;
|
||||||
walk_V = mkV "ribá" "ta" "si"; --: V ; or kuribata Runynakore it is different
|
walk_V = mkV "ribá" "ta" "si"; --: V ; or kuribata Runynakore it is different
|
||||||
@@ -143,7 +151,7 @@ lin
|
|||||||
now_Adv = mkAdv "hati" AgrNo;
|
now_Adv = mkAdv "hati" AgrNo;
|
||||||
--far_Adv = mkAdv "hare";
|
--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)) ;
|
father_N2 = mkN2 (mkN "tata" ZERO_BAA) (lin Prep (mkPrep [] [] True)) ;
|
||||||
|
|
||||||
@@ -151,6 +159,247 @@ lin
|
|||||||
|
|
||||||
alas_Interj ={s="ryakareeba"; }; --: Interj ;
|
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
|
oper
|
||||||
aboutP = mkPrep "about" ;
|
aboutP = mkPrep "about" ;
|
||||||
atP = mkPrep "at" ;
|
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
|
--UsePron pron = pron; -- the result of use pron is a NounPhrase
|
||||||
--MassNP : CN -> NP ; -- (beer)
|
--MassNP : CN -> NP ; -- (beer)
|
||||||
MassNP cn = {s = \\_ =>cn.s ! Sg ! Complete; agr = AgP3 Sg cn.gender; nounCat = ComNoun}; --: CN -> NP ; -- milk
|
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
|
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 ;
|
UseN noun = noun ;
|
||||||
|
|
||||||
--Noun = {s : NounType=>Number => Str ; nc : NClass} ;
|
--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 = {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 -> CN ; -- big house
|
||||||
AdjCN ap cn =
|
AdjCN ap cn =
|
||||||
case <ap.position, ap.isProper, > of {
|
case <ap.position, ap.isProper, > of {
|
||||||
<Pre, True> => {
|
<Pre, True> => {
|
||||||
s = \\ num, ns =>ap.s ! AgP3 num cn.gender ++ cn.s ! num ! ns ;
|
s = \\ num, ns =>ap.s ! AgP3 num cn.gender ++ cn.s ! num ! ns ;
|
||||||
@@ -39,7 +33,7 @@ lin
|
|||||||
};
|
};
|
||||||
<Post, False> => case ap.isPrep of {
|
<Post, False> => case ap.isPrep of {
|
||||||
False => {
|
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;
|
++ ap.s ! AgP3 Sg KI_BI;
|
||||||
gender = cn.gender; nounCat = cn.nounCat
|
gender = cn.gender; nounCat = cn.nounCat
|
||||||
};
|
};
|
||||||
@@ -62,7 +56,8 @@ lin
|
|||||||
}; -- big house
|
}; -- big house
|
||||||
|
|
||||||
--RelCN : CN -> RS -> CN ; -- house that John bought
|
--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.
|
A predeterminer is any word that modifies a noun Phrase.
|
||||||
@@ -95,8 +90,8 @@ lin
|
|||||||
-- quantifier and an optional numeral can be discerned.
|
-- quantifier and an optional numeral can be discerned.
|
||||||
--DetQuant : Quant -> Num -> Det ; -- these five
|
--DetQuant : Quant -> Num -> Det ; -- these five
|
||||||
DetQuant quant num = case quant.isPron of {
|
DetQuant quant num = case quant.isPron of {
|
||||||
True => {s=[]; s2 = quant.s2; ntype = Incomplete; 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;};
|
||||||
False => {s= quant.s.s ! Nom; s2 =\\_ =>[]; ntype = Complete; num = num.n; pos=Pre; doesAgree = quant.doesAgree} --
|
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
|
--DetQuantOrd : Quant -> Num -> Ord -> Det ; -- these five best
|
||||||
@@ -106,13 +101,15 @@ lin
|
|||||||
ntype = Complete;
|
ntype = Complete;
|
||||||
num = num.n;
|
num = num.n;
|
||||||
pos = Pre;
|
pos = Pre;
|
||||||
doesAgree = True
|
doesAgree = True;
|
||||||
|
numeralS = num.s;
|
||||||
|
numeralExists = num.numeralExists
|
||||||
};
|
};
|
||||||
|
|
||||||
NumSg = {s=\\_=>[]; n=Sg}; --Num
|
NumSg = {s=\\_=>[]; n=Sg; numeralExists=False}; --Num
|
||||||
NumPl = {s=\\_=>[]; n=Pl}; --Num
|
NumPl = {s=\\_=>[]; n=Pl; numeralExists=False}; --Num
|
||||||
--NumCard : Card -> Num ; -- one/five [explicit numeral]
|
--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} ;
|
--Quant = {s : Res.Pronoun; s2 :Res.Agreement => Str; doesAgree : Bool; isPron: Bool} ;
|
||||||
IndefArt = {s={s=\\_=>[]; third = \\_,_=>[];agr = AgrNo }; s2 = \\_=>[]; doesAgree = False; isPron=False};
|
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
|
DefArt = {s={s =\\_=>[]; third = \\_,_=>[]; agr = AgrNo }; s2 = \\_=>[]; doesAgree = False; isPron = False}; -- noun with initial vowel
|
||||||
@@ -151,7 +148,9 @@ lin
|
|||||||
ntype = dap.ntype ;
|
ntype = dap.ntype ;
|
||||||
num = dap.num ;
|
num = dap.num ;
|
||||||
pos = dap.pos;
|
pos = dap.pos;
|
||||||
doesAgree= True
|
doesAgree= True;
|
||||||
|
numeralS = dap.numeralS;
|
||||||
|
numeralExists=dap.numeralExists;
|
||||||
};
|
};
|
||||||
|
|
||||||
--DetDAP : Det -> DAP ; -- this (or that)
|
--DetDAP : Det -> DAP ; -- this (or that)
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ oper
|
|||||||
mkV3 = overload {
|
mkV3 = overload {
|
||||||
mkV3 : Str -> Verb3 = \root ->mkV2 root ** {comp2 =[]};
|
mkV3 : Str -> Verb3 = \root ->mkV2 root ** {comp2 =[]};
|
||||||
mkV3 : Str -> Str ->Str -> Verb3 = \root ,s1,s2 ->mkV2 root s1 s2 ** {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
|
--UttAP : AP -> Utt ; -- fine
|
||||||
--UttInterj : Interj -> Utt ; -- alas
|
--UttInterj : Interj -> Utt ; -- alas
|
||||||
UttInterj interj = let agr = AgMUBAP2 Pl in {s= mkObjClitic agr ++ interj.s};
|
UttInterj interj = let agr = AgMUBAP2 Pl in {s= mkObjClitic agr ++ interj.s};
|
||||||
|
|
||||||
{-
|
{-
|
||||||
--1 Phrase: Phrases and Utterances
|
--1 Phrase: Phrases and Utterances
|
||||||
|
|
||||||
|
|||||||
@@ -61,34 +61,34 @@ lin
|
|||||||
whichRel = RF RSubj;
|
whichRel = RF RSubj;
|
||||||
};
|
};
|
||||||
|
|
||||||
--RelSlash : RP -> ClSlash -> RCl ; -- whom John loves
|
--RelSlash : RP -> ClSlash -> RCl ; -- whom John loves
|
||||||
RelSlash rp clSlash =
|
RelSlash rp clSlash =
|
||||||
let comp = case clSlash.complType of{
|
let comp = case clSlash.complType of{
|
||||||
Ap => clSlash.ap;
|
Ap => clSlash.ap;
|
||||||
Adverbial => clSlash.adv;
|
Adverbial => clSlash.adv;
|
||||||
AdverbialVerb => clSlash.adV;
|
AdverbialVerb => clSlash.adV;
|
||||||
_ => []
|
_ => []
|
||||||
};
|
};
|
||||||
isCompApStem = case clSlash.complType of{
|
isCompApStem = case clSlash.complType of{
|
||||||
Adverbial => True;
|
Adverbial => True;
|
||||||
_ => False
|
_ => False
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
s = clSlash.s;
|
s = clSlash.s;
|
||||||
agr = AgrYes clSlash.subjAgr;
|
agr = AgrYes clSlash.subjAgr;
|
||||||
rp = rp.s;
|
rp = rp.s;
|
||||||
--rObjVariant2 = rp.rObjVariant2;
|
--rObjVariant2 = rp.rObjVariant2;
|
||||||
pres = clSlash.pres;
|
pres = clSlash.pres;
|
||||||
perf = clSlash.perf;
|
perf = clSlash.perf;
|
||||||
root = clSlash.root;
|
root = clSlash.root;
|
||||||
--morphs = clSlash.morphs;
|
--morphs = clSlash.morphs;
|
||||||
isPresBlank = clSlash.isPresBlank;
|
isPresBlank = clSlash.isPresBlank;
|
||||||
isPerfBlank = clSlash.isPerfBlank;
|
isPerfBlank = clSlash.isPerfBlank;
|
||||||
compl = comp;
|
compl = comp;
|
||||||
isCompApStem = isCompApStem;
|
isCompApStem = isCompApStem;
|
||||||
whichRel = RF RObj;
|
whichRel = RF RObj;
|
||||||
};
|
};
|
||||||
|
|
||||||
{-
|
{-
|
||||||
--1 Relative clauses and pronouns
|
--1 Relative clauses and pronouns
|
||||||
|
|||||||
@@ -49,6 +49,8 @@ param
|
|||||||
ConjArg = Nn_Nn | Nps_Nps | Pns_Pns | RelSubjCls | Other;
|
ConjArg = Nn_Nn | Nps_Nps | Pns_Pns | RelSubjCls | Other;
|
||||||
AgrConj = AConj ConjArg;
|
AgrConj = AConj ConjArg;
|
||||||
Agreement = AgP3 Number Gender | AgMUBAP1 Number |AgMUBAP2 Number | NONE; --Default is AgP3 Sg KI_BI
|
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;
|
AgrExist = AgrNo | AgrYes Agreement;
|
||||||
--Position = PostDeterminer | PreDeterminer ;
|
--Position = PostDeterminer | PreDeterminer ;
|
||||||
Position = Post | Pre;
|
Position = Post | Pre;
|
||||||
@@ -64,11 +66,13 @@ param
|
|||||||
PrepForm = Form1 | Form2; -- omu and omuri, aha, ahari
|
PrepForm = Form1 | Form2; -- omu and omuri, aha, ahari
|
||||||
-- for Extra Tenses not implemented
|
-- for Extra Tenses not implemented
|
||||||
-- would be better if I had alliases
|
-- would be better if I had alliases
|
||||||
TensesExtra = RemotePast | ImmediatePast | RemoteFuture;
|
--Tenses = RemotePast|NearPast | ImmediatePast |ExPres|NearFut |RemoteFut;
|
||||||
|
|
||||||
-- for Extra Aspects not implemented
|
-- for Extra Aspects not implemented
|
||||||
-- would be better if I had alliases
|
-- 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,
|
Complete = Nouns with IV,
|
||||||
Incomplete = Nouns without IV: important for use with pre-determiners
|
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 "" ;
|
AgP3 Pl KA_ZERO => mkClitic "" ;
|
||||||
_ => mkClitic "SubjNotKnown" --for checking if there is some class unaccounted for
|
_ => mkClitic "SubjNotKnown" --for checking if there is some class unaccounted for
|
||||||
};
|
};
|
||||||
|
|
||||||
mkSubjCliticTableSg : Agreement => Str = table {
|
mkSubjCliticTableSg : Agreement => Str = table {
|
||||||
AgMUBAP1 Sg => mkClitic "n" ;
|
AgMUBAP1 Sg => mkClitic "n" ;
|
||||||
--AgMUBAP1 Pl => "tu" ;
|
--AgMUBAP1 Pl => "tu" ;
|
||||||
@@ -432,12 +436,56 @@ mkSubjPrefix : Agreement -> Str =\a ->case a of {
|
|||||||
AgP3 Pl ZERO_TU => mkClitic "tu" ;
|
AgP3 Pl ZERO_TU => mkClitic "tu" ;
|
||||||
--AgP3 Sg (ZERO_MI | ZERO_ZERO) => mkClitic "" ;
|
--AgP3 Sg (ZERO_MI | ZERO_ZERO) => mkClitic "" ;
|
||||||
AgP3 Pl ZERO_MI => mkClitic "e" ;
|
AgP3 Pl ZERO_MI => mkClitic "e" ;
|
||||||
AgP3 Pl KA_ZERO => mkClitic "" ;
|
AgP3 Pl KA_ZERO => mkClitic "give example" ;
|
||||||
_ => mkClitic "Plural" --for checking if there is some class unaccounted for
|
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
|
{-Object particle may be used as
|
||||||
1. a prefix: e.g mu-kwate = catch him,
|
1. a prefix: e.g mu-kwate = catch him,
|
||||||
2. an infix: o-mu-kwate = you catch him
|
2. an infix: o-mu-kwate = you catch him
|
||||||
|
}
|
||||||
|
|
||||||
-}
|
-}
|
||||||
mkObjClitic : Agreement -> Str = \a ->case a of {
|
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 ; post : Str; isPre : Bool; isProper : Bool; isPrep: Bool};
|
||||||
Adjective : Type = {s : Str ; position : Position; isProper : Bool; isPrep: Bool};
|
Adjective : Type = {s : Str ; position : Position; isProper : Bool; isPrep: Bool};
|
||||||
mkAdjective: Str -> Position -> Bool -> Bool -> Adjective = \ a , pos, isProper, isPrep ->
|
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:
|
TO DO:
|
||||||
@@ -642,6 +690,7 @@ mkSubjPrefix : Agreement -> Str =\a ->case a of {
|
|||||||
AgP3 Pl (KA_BU | RU_BU) => mkClitic "obu" ;
|
AgP3 Pl (KA_BU | RU_BU) => mkClitic "obu" ;
|
||||||
AgP3 Pl (KI_BI | ZERO_BI) => mkClitic "ebi" ;
|
AgP3 Pl (KI_BI | ZERO_BI) => mkClitic "ebi" ;
|
||||||
AgP3 Pl (ZERO_MA | KU_MA | RI_MA | I_MA | BU_MA) => mkClitic "aga";
|
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) HA => mkClitic "aha" ; -- of place HA
|
||||||
AgP3 ( Pl) MU => mkClitic "omu" ; -- of place MU
|
AgP3 ( Pl) MU => mkClitic "omu" ; -- of place MU
|
||||||
AgP3 ( Pl) KU => mkClitic "oku" ; -- of place KU
|
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
|
_ => 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
|
-- TThis is for demonstrative pronouns which can also be use as Quantifiers
|
||||||
-- How can it be done without code repeation?
|
-- 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 (KA_BU | RU_BU) => mkClitic "obu" ;
|
||||||
--AgP3 Pl (KI_BI | ZERO_BI) => mkClitic "ebi" ;
|
--AgP3 Pl (KI_BI | ZERO_BI) => mkClitic "ebi" ;
|
||||||
--AgP3 Pl (ZERO_MA | KU_MA | RI_MA | I_MA | BU_MA) => mkClitic "aga";
|
--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 ) HA => mkClitic "aho" ; -- of place HA
|
||||||
AgP3 (Sg ) MU => mkClitic "omwo" ; -- of place MU
|
AgP3 (Sg ) MU => mkClitic "omwo" ; -- of place MU
|
||||||
AgP3 (Sg ) KU => mkClitic "okwo" ; -- of place KU
|
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{
|
mkIPPref : Agreement =>Str = table{
|
||||||
AgMUBAP1 Sg => mkClitic "o";
|
AgMUBAP1 Sg => mkClitic "o";
|
||||||
AgMUBAP1 Pl => mkClitic "ba" ;
|
AgMUBAP1 Pl => mkClitic "ba" ;
|
||||||
@@ -1034,7 +1219,7 @@ mkSubjPrefix : Agreement -> Str =\a ->case a of {
|
|||||||
4. Cardinal numbers
|
4. Cardinal numbers
|
||||||
6. Ordinal 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
|
mkDet : Str -> NounState -> Number -> Position -> Determiner
|
||||||
= \ det, ns, num,pos ->
|
= \ det, ns, num,pos ->
|
||||||
{
|
{
|
||||||
@@ -1043,7 +1228,9 @@ mkSubjPrefix : Agreement -> Str =\a ->case a of {
|
|||||||
ntype = ns;
|
ntype = ns;
|
||||||
num = num;
|
num = num;
|
||||||
pos = pos;
|
pos = pos;
|
||||||
doesAgree = False
|
doesAgree = False;
|
||||||
|
numeralS = \\_ => []; -- A true determiner is not a quantifier
|
||||||
|
numeralExists = False;
|
||||||
};
|
};
|
||||||
|
|
||||||
-- Pronouns must have agreement because they are used
|
-- 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 ->
|
mkDetCN : Determiner -> Noun -> NounPhrase = \ det, cn ->
|
||||||
let subjClitic = mkSubjClitic (AgP3 det.num cn.gender)
|
let subjClitic = mkSubjClitic (AgP3 det.num cn.gender)
|
||||||
in
|
in
|
||||||
case <det.pos, det.num> of {
|
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, 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.s; 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> => { s =\\_ => det.s ++ cn.s !n ! det.ntype; 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 }
|
--<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;
|
glueGen: Agreement ->Str = \ a -> mkGenPrepNoIVClitic a ++ BIND ++ mkGenAdjSuffix a;
|
||||||
|
|
||||||
--Number determining element
|
--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 = VerbPhrase ** { c : Str };
|
||||||
VPSlash : Type = {
|
VPSlash : Type = {
|
||||||
|
|||||||
@@ -25,8 +25,8 @@ lin
|
|||||||
in
|
in
|
||||||
case <temp.t,temp.a, pol.p> of {
|
case <temp.t,temp.a, pol.p> of {
|
||||||
<Pres,Simul, Pos> => case cl.isPresBlank of {
|
<Pres,Simul, Pos> => case cl.isPresBlank of {
|
||||||
True => {s = subj ++ clitic ++ root ++ compl};
|
True => {s = subj ++ clitic ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||||
False => {s = subj ++ clitic ++ root ++ Predef.BIND ++ 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-}
|
{-Note: when I use pol.s instead of ti, the word alignment instead becomes worse-}
|
||||||
<Pres,Simul, Neg> => case cl.isPresBlank of {
|
<Pres,Simul, Neg> => case cl.isPresBlank of {
|
||||||
@@ -46,32 +46,33 @@ lin
|
|||||||
|
|
||||||
|
|
||||||
<Past,Simul, Pos> => case cl.isPerfBlank of {
|
<Past,Simul, Pos> => case cl.isPerfBlank of {
|
||||||
True => {s = subj ++ clitic ++ "ka" ++ Predef.BIND ++ root ++ compl};
|
_ => {s = subj ++ clitic ++ "ka" ++ Predef.BIND ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}--;
|
||||||
False => {s = subj ++ clitic ++ root ++ Predef.BIND ++ pastRestOfVerb ++ 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-}
|
{-Note: when I use pol.s instead of ti, the word alignment instead becomes worse-}
|
||||||
<Past,Simul, Neg> => case cl.isPerfBlank of {
|
<Past,Simul, Neg> => case cl.isPerfBlank of {
|
||||||
True => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ root ++ compl};
|
True => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ Predef.BIND ++ "ra" ++
|
||||||
False => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++
|
Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||||
root ++ pastRestOfVerb ++ compl}
|
False => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "ra" ++ Predef.BIND ++
|
||||||
|
root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||||
};
|
};
|
||||||
|
|
||||||
<Past,Anter, Pos> => case cl.isPerfBlank of {
|
<Past,Anter, Pos> => case cl.isPerfBlank of {
|
||||||
True => {s = subj ++ clitic ++ "kaba" ++Predef.BIND ++ clitic ++
|
True => {s = subj ++ clitic ++ "kaba" ++Predef.BIND ++ clitic ++
|
||||||
root ++ compl};
|
root ++ Predef.BIND ++ "ire"++ compl};
|
||||||
False => {s = subj ++ clitic ++ "kaba" ++ clitic ++ "a" ++ Predef.BIND ++
|
False => {s = subj ++ clitic ++ "kaba" ++ clitic ++
|
||||||
root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||||
};
|
};
|
||||||
<Past,Anter, Neg> =>case cl.isPerfBlank of {
|
<Past,Anter, Neg> =>case cl.isPerfBlank of {
|
||||||
True => {s = subj ++ clitic ++ "ka" ++Predef.BIND ++ clitic ++
|
True => {s = subj ++ clitic ++ "ka" ++Predef.BIND ++ clitic ++
|
||||||
root ++ compl};
|
root ++ Predef.BIND ++ "ire"++ compl};
|
||||||
False => {s = subj ++ clitic ++ "kaba" ++ clitic ++ "taa" ++ Predef.BIND ++
|
False => {s = subj ++ clitic ++ "kaba" ++ clitic ++ "ta" ++ Predef.BIND ++
|
||||||
root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||||
};
|
};
|
||||||
|
|
||||||
<Fut,Simul, Pos> => case cl.isPresBlank of {
|
<Fut,Simul, Pos> => case cl.isPresBlank of {
|
||||||
True => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++ "za ku" ++ Predef.BIND ++ --choice of za over ija
|
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
|
False => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++ "za ku" ++ Predef.BIND ++ --choice of za over ija
|
||||||
root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
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-}
|
{-Note: when I use pol.s instead of ti, the word alignment instead becomes worse-}
|
||||||
<Fut,Simul, Neg> => case cl.isPresBlank of {
|
<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};
|
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}
|
root ++ BIND ++ presRestOfVerb ++ compl}
|
||||||
};
|
};
|
||||||
<Fut,Anter, Pos> => case cl.isPerfBlank of {
|
<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};
|
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}
|
root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||||
};
|
};
|
||||||
|
|
||||||
<Fut,Anter, Neg> => case cl.isPerfBlank of {
|
<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};
|
root ++ "ire" ++ compl};
|
||||||
False => {s = subj ++ "ni" ++ Predef.BIND ++ clitic ++ "za kuba" ++ clitic ++ "taka" ++ Predef.BIND ++
|
False => {s = subj ++ Predef.BIND ++ clitic ++ "raaba " ++ clitic ++ "ta" ++ Predef.BIND ++
|
||||||
root ++ pastRestOfVerb ++ compl}
|
root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||||
};
|
};
|
||||||
<Cond,Simul, Pos> => case cl.isPresBlank of {
|
<Cond,Simul, Pos> => case cl.isPresBlank of {
|
||||||
True => {s = subj ++ clitic ++ "kaa" ++Predef.BIND ++ root ++ compl};
|
True => {s = subj ++ clitic ++ "kaa" ++Predef.BIND ++ root ++ compl};
|
||||||
@@ -142,8 +143,8 @@ lin
|
|||||||
_ => mkRPs!RSubj! AgP3 Sg MU_BA
|
_ => mkRPs!RSubj! AgP3 Sg MU_BA
|
||||||
};
|
};
|
||||||
robjClitic = case rcl.agr of {
|
robjClitic = case rcl.agr of {
|
||||||
AgrYes a => mkRPs!RObj! a;
|
AgrYes a => mkRPsNoClitic!RObj! a;
|
||||||
_ => mkRPs!RObj! AgP3 Sg MU_BA
|
_ => mkRPsNoClitic!RObj! AgP3 Sg MU_BA
|
||||||
};
|
};
|
||||||
presSimul = vMorphs ! VFPres; --this is not delivering the string
|
presSimul = vMorphs ! VFPres; --this is not delivering the string
|
||||||
presAnt = vMorphs ! VFPastPart; --this is not delivering the string
|
presAnt = vMorphs ! VFPastPart; --this is not delivering the string
|
||||||
@@ -186,7 +187,7 @@ lin
|
|||||||
<Past,Simul, Pos> => {
|
<Past,Simul, Pos> => {
|
||||||
s = table {
|
s = table {
|
||||||
RF RSubj => subj ++ rsubjClitic ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl;
|
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
|
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
|
s = np.s ! Nom; --: NP -> VP -> Cl ; -- John walks / John does not walk
|
||||||
subjAgr = np.agr;
|
subjAgr = np.agr;
|
||||||
pres = vp.pres;
|
pres = vp.pres;
|
||||||
@@ -297,9 +299,10 @@ lin
|
|||||||
pastPart = mkVerbPastPart vp.root; -- subject
|
pastPart = mkVerbPastPart vp.root; -- subject
|
||||||
-}
|
-}
|
||||||
--root = vp.root ;
|
--root = vp.root ;
|
||||||
compl = vp.comp
|
compl = vp.adV
|
||||||
};
|
};
|
||||||
True => {
|
|
||||||
|
<_, _> => {
|
||||||
s = np.s ! Nom; --: NP -> VP -> Cl ; -- John walks / John does not walk
|
s = np.s ! Nom; --: NP -> VP -> Cl ; -- John walks / John does not walk
|
||||||
subjAgr = np.agr;
|
subjAgr = np.agr;
|
||||||
pres = vp.pres;
|
pres = vp.pres;
|
||||||
@@ -319,8 +322,6 @@ lin
|
|||||||
compl = mkSubjClitic np.agr ++ vp.comp --mkSubjClitic np.agr ++ Predef.BIND ++ vp.comp
|
compl = mkSubjClitic np.agr ++ vp.comp --mkSubjClitic np.agr ++ Predef.BIND ++ vp.comp
|
||||||
}
|
}
|
||||||
};--: NP -> VP -> Cl ; -- John walks / John does not walk
|
};--: NP -> VP -> Cl ; -- John walks / John does not walk
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{-
|
{-
|
||||||
Note: It seems mkSubjClitic comes with a Predef.BIND already
|
Note: It seems mkSubjClitic comes with a Predef.BIND already
|
||||||
@@ -382,9 +383,25 @@ lin
|
|||||||
--AdvSlash : ClSlash -> Adv -> ClSlash ; -- (whom) he sees today
|
--AdvSlash : ClSlash -> Adv -> ClSlash ; -- (whom) he sees today
|
||||||
--SlashPrep : Cl -> Prep -> ClSlash ; -- (with whom) he walks
|
--SlashPrep : Cl -> Prep -> ClSlash ; -- (with whom) he walks
|
||||||
--SlashVS : NP -> VS -> SSlash -> ClSlash ; -- (whom) she says that he loves
|
--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
|
lin
|
||||||
--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 };
|
||||||
a_Det = {s =[] ; s2 = \\_ => []; ntype = Complete; num = Sg; pos = Pre; doesAgree = False}; --: Det ; indefinite singular ---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}; -- : Det ;indefinite plural ---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}; --: Det ; -- definite singular ---s thePl_Det = {s =[]; ntype = Complete; num = Pl; pos = PreDeterminer}; --: Det ;definite 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} ;
|
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} ;
|
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} ;
|
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);
|
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);
|
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);
|
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);
|
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);
|
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
|
-- default implementation Using KI_BI. Use mkmkGenPrepNoIVClitic and
|
||||||
it_Pron = {
|
it_Pron = {
|
||||||
s = \\_=>[];
|
s = \\_=>[];
|
||||||
@@ -97,7 +98,7 @@ lin
|
|||||||
n = Sg
|
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 ;
|
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 ;
|
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 ;
|
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-}
|
{-End of Quantifiers-}
|
||||||
|
|
||||||
|
|
||||||
@@ -165,7 +166,7 @@ lin
|
|||||||
whatPl_IP = { s= "ki"; n = IPl; isVerbSuffix = True; requiresIPPrefix = False; aux=[]; endOfSentence = True} ; -- what (plural)
|
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)
|
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)
|
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.
|
--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 ;
|
how_IAdv = {s ="ta"; requiresSubjPrefix = True; endOfSentence =True}; --: IAdv ;
|
||||||
--how8much_IAdv = {s ="kwiga"; s2requireSubjPrefix = True};--: IAdv ;
|
--how8much_IAdv = {s ="kwiga"; s2requireSubjPrefix = True};--: IAdv ;
|
||||||
@@ -191,17 +192,21 @@ lin
|
|||||||
s2 =\\agr => mkSubjCliticTableSg ! agr ++ BIND++ "mwe";
|
s2 =\\agr => mkSubjCliticTableSg ! agr ++ BIND++ "mwe";
|
||||||
ntype = Complete;
|
ntype = Complete;
|
||||||
num = Sg;
|
num = Sg;
|
||||||
pos = Pre;
|
pos = Post;
|
||||||
doesAgree = True
|
doesAgree = True;
|
||||||
|
numeralS=\\_=>[];
|
||||||
|
numeralExists = False
|
||||||
};
|
};
|
||||||
somePl_Det =
|
somePl_Det =
|
||||||
{
|
{
|
||||||
s =[];
|
s =[];
|
||||||
s2 =\\agr => mkSubjCliticTablePl ! agr ++ BIND++ "mwe";
|
s2 =\\agr => "mwe";-- mkSubjCliticTablePl ! agr ++ "mwe";
|
||||||
ntype = Complete;
|
ntype = Complete;
|
||||||
num = Pl;
|
num = Pl;
|
||||||
pos = Pre;
|
pos = Post;
|
||||||
doesAgree = True
|
doesAgree = True;
|
||||||
|
numeralS=\\_=>[];
|
||||||
|
numeralExists = False
|
||||||
};--: Det ;
|
};--: Det ;
|
||||||
|
|
||||||
want_VV = {s = "yend"; pres="da"; perf = "zire"; isPresBlank = False;
|
want_VV = {s = "yend"; pres="da"; perf = "zire"; isPresBlank = False;
|
||||||
@@ -219,6 +224,8 @@ lin
|
|||||||
--somewhere_Adv : Adv ;
|
--somewhere_Adv : Adv ;
|
||||||
|
|
||||||
that_Subj = ss "ngu" ;
|
that_Subj = ss "ngu" ;
|
||||||
|
when_Subj = ss "obu";
|
||||||
|
because_Subj = ss "ahabwokuba";
|
||||||
|
|
||||||
--Adjective modifying Adverbs
|
--Adjective modifying Adverbs
|
||||||
almost_AdA = {s="haihi"; position=Pre}; --: AdA ;
|
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;
|
isCompApStem = False;
|
||||||
agr = AgrNo;
|
agr = AgrNo;
|
||||||
isRegular = vp.isRegular;
|
isRegular = vp.isRegular;
|
||||||
adv = [];
|
adv = adv.s;
|
||||||
containsAdv =True;
|
containsAdv =True;
|
||||||
adV =[];
|
adV =[];
|
||||||
containsAdV = False
|
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