Merge branch 'master' into new-rus-rg
This commit is contained in:
commit
eb08304c10
85 files changed
+294838
-703
No files matched your search
+83
-11
@@ -67,6 +67,16 @@ http://acl.ldc.upenn.edu/W/W07/W07-08.pdf
|
||||
//and agreement of constructions with numerals.//
|
||||
|
||||
|
||||
===Basque===
|
||||
|
||||
- **Source**: https://github.com/GrammaticalFramework/gf-rgl/tree/master/src/basque (Inari Listenmaa, Francis Tyers)
|
||||
|
||||
- **Publications**
|
||||
|
||||
Inari Listenmaa.
|
||||
//Formal Methods for Testing Grammars.// PhD thesis. Chalmers University of Technology and University of Gothenburg. 2019. [PDF https://gupea.ub.gu.se/bitstream/2077/59037/1/gupea_2077_59037_1.pdf]
|
||||
#BR
|
||||
//Mentioned in Chapter 5 of the thesis.//
|
||||
|
||||
|
||||
===Bulgarian===
|
||||
@@ -117,6 +127,10 @@ Appendix to the GF book (A. Ranta, //Grammatical Framework//, CSLI 2011),
|
||||
http://www.grammaticalframework.org/gf-book/gf-chinese-appendix.pdf
|
||||
|
||||
|
||||
===Czech===
|
||||
|
||||
- **Source**: https://github.com/GrammaticalFramework/gf-rgl/tree/master/src/czech (Aarne Ranta, Michal Měchura)
|
||||
|
||||
|
||||
===Danish===
|
||||
|
||||
@@ -155,8 +169,13 @@ The GF Resource Grammar Library.
|
||||
|
||||
- **Source**: http://www.grammaticalframework.org/lib/src/estonian (Kaarel Kaljurand, Inari Listenmaa)
|
||||
|
||||
%- **Publications**
|
||||
- **Publications**
|
||||
|
||||
Inari Listenmaa and Kaarel Kaljurand.
|
||||
Computational Estonian Grammar in Grammatical Framework.
|
||||
//Proceedings of the SALTMIL Workshop at LREC//,
|
||||
2014.
|
||||
[PDF http://ixa2.si.ehu.es/~jipsagak/SALTMIL/LREC_2014_Workshop_Proceedings_Saltmil.pdf]
|
||||
|
||||
|
||||
===Finnish===
|
||||
@@ -256,6 +275,9 @@ In The 3rd Workshop
|
||||
on South and Southeast Asian NLP, COLING 2012. //Reprinted in Shafqat's thesis//
|
||||
|
||||
|
||||
===Hungarian===
|
||||
|
||||
- **Source**: https://github.com/GrammaticalFramework/gf-rgl/tree/master/src/hungarian (Inari Listenmaa, Julia Jansson)
|
||||
|
||||
|
||||
===Icelandic===
|
||||
@@ -281,8 +303,6 @@ Bjarki Traustason, MSc thesis, Chalmers
|
||||
%- **Publications**
|
||||
|
||||
|
||||
|
||||
|
||||
===Japanese===
|
||||
|
||||
- **Source**: http://www.grammaticalframework.org/lib/src/japanese (Liza Zimina)
|
||||
@@ -302,14 +322,31 @@ Lecture Notes in Computer Science Volume 7614, 2012, pp 156-167.
|
||||
http://link.springer.com/chapter/10.1007%2F978-3-642-33983-7_16
|
||||
|
||||
|
||||
===Korean===
|
||||
|
||||
- **Source**: https://github.com/GrammaticalFramework/gf-rgl/tree/master/src/korean (Inari Listenmaa)
|
||||
|
||||
|
||||
|
||||
===Latin===
|
||||
|
||||
- **Source**: http://www.grammaticalframework.org/lib/src/latin (Aarne Ranta)
|
||||
- **Source**: http://www.grammaticalframework.org/lib/src/latin (Herbert Lange, Aarne Ranta)
|
||||
|
||||
%- **Publications**
|
||||
- **Publications**
|
||||
|
||||
Herbert Lange.
|
||||
Erstellen einer Grammatik für das Lateinische im “Grammatical Framework”,
|
||||
Master’s thesis (Magiserarbeit), Ludwig-Maximilians-University Munich, 2013.
|
||||
|
||||
Herbert Lange. Implementation of a Latin Grammar in Grammatical Framework, //DATeCH//, 2017.
|
||||
|
||||
Herbert Lange and Peter Ljunglöf.
|
||||
MULLE: A grammar-based Latin language learning tool to supplement the classroom setting.
|
||||
//Proceedings of the 5th Workshop on Natural Language Processing Techniques for Educational Applications//,
|
||||
2018.
|
||||
[PDF https://www.aclweb.org/anthology/W18-3715.pdf]
|
||||
#BR
|
||||
//Latin RGL used in a language-learning application.//
|
||||
|
||||
|
||||
===Latvian===
|
||||
@@ -397,6 +434,15 @@ Slide presentation, TYPES 2010, Warsaw,
|
||||
http://www.mimuw.edu.pl/~asl/publications/types2010-slides.pdf
|
||||
|
||||
|
||||
===Portuguese===
|
||||
|
||||
- **Source**: https://github.com/GrammaticalFramework/gf-rgl/tree/master/src/portuguese (Bruno Cuconato)
|
||||
|
||||
- **Publications**
|
||||
|
||||
Bruno Cuconato Claro.
|
||||
//A computational grammar for Portuguese//. MSc thesis. Rio de Janeiro, 2019.
|
||||
|
||||
|
||||
===Punjabi===
|
||||
|
||||
@@ -438,7 +484,7 @@ LNCS 6008,
|
||||
|
||||
===Russian===
|
||||
|
||||
- **Source**: http://www.grammaticalframework.org/lib/src/russian (Janna Khegai, Nikita Frolov)
|
||||
- **Source**: http://www.grammaticalframework.org/lib/src/russian (Janna Khegai, Nikita Frolov, Roman Suzi)
|
||||
|
||||
- **Publications**
|
||||
|
||||
@@ -475,6 +521,21 @@ MSc Thesis, Chalmers University of Technology,
|
||||
http://publications.lib.chalmers.se/records/fulltext/163234.pdf
|
||||
|
||||
|
||||
===Slovak===
|
||||
|
||||
- **Source**: https://github.com/GrammaticalFramework/gf-rgl/tree/master/src/slovak (Aarne Ranta, Slavomír Čéplö, Michal Měchura)
|
||||
|
||||
|
||||
===Slovenian===
|
||||
|
||||
- **Source**: https://github.com/GrammaticalFramework/gf-rgl/tree/master/src/slovenian (Krasimir Angelov, Anna Ehrlemark)
|
||||
|
||||
|
||||
===Somali===
|
||||
|
||||
- **Source**: https://github.com/GrammaticalFramework/gf-rgl/tree/master/src/somali (Inari Listenmaa)
|
||||
|
||||
|
||||
===Spanish===
|
||||
|
||||
- **Source**: http://www.grammaticalframework.org/lib/src/spanish http://www.grammaticalframework.org/lib/src/romance
|
||||
@@ -485,7 +546,8 @@ http://publications.lib.chalmers.se/records/fulltext/163234.pdf
|
||||
|
||||
===Swahili===
|
||||
|
||||
- **Source**: http://www.grammaticalframework.org/lib/src/swahili (Wanjiku Ng'ang'a)
|
||||
- **Source**: http://www.grammaticalframework.org/lib/src/swahili (Benson Kituku).
|
||||
- **Previous version**: https://github.com/GrammaticalFramework/gf-rgl/tree/master/src/swahili/old (Wanjiku Ng'ang'a).
|
||||
|
||||
|
||||
- **Publications**
|
||||
@@ -519,10 +581,6 @@ P. Sojka et al (eds), TSD 2012, LNCS 7499, pp. 183-190.
|
||||
http://link.springer.com/content/pdf/10.1007%2F978-3-642-32790-2_22.pdf
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
===Thai===
|
||||
|
||||
- **Source**: http://www.grammaticalframework.org/lib/src/thai (Aarne Ranta, Chotiros Kairoje)
|
||||
@@ -556,3 +614,17 @@ July 21-22, 2007, LSA 2007 Linguistic Institute, Stanford University.
|
||||
2007.
|
||||
|
||||
See also **Hindi** above.
|
||||
|
||||
|
||||
===Zulu===
|
||||
|
||||
- **Source:** https://github.com/LauretteM/gf-rgl-zul/tree/master/src/zulu (Laurette Marais, Laurette Pretorius)
|
||||
|
||||
- **Publications**
|
||||
|
||||
Laurette Marais, Johannes A. Louw, Jaco Badenhorst, Karen Calteaux, Ilana Wilken, Nina van Niekerk,and Glenn Stein.
|
||||
AwezaMed: A Multilingual, MultimodalSpeech-To-Speech Translation Application for Maternal Health Care.
|
||||
//Proceedings of the 23rd International Conference on Information Fusion//.
|
||||
July 6-9, 2020.
|
||||
#BR
|
||||
//The article presents a health care translation system, which uses the Zulu resource grammar.//
|
||||
+59
-50
@@ -11,60 +11,63 @@ For another view, see the
|
||||
[The Resource Grammar Library coverage map http://www.postcrashgames.com/gf_world/] .
|
||||
|
||||
Corrections and additions are welcome! Notice that only those parts of implementations
|
||||
that are currently available via http://grammaticalframework.org
|
||||
that are currently available via https://github.com/GrammaticalFramework/gf-rgl/
|
||||
are marked in the table
|
||||
|
||||
|
||||
|| ISO | Language | Git | Mini | Parad | Lex | Lang | API | Symb | Irreg | Dict | Trans | tested | publ | authors ||
|
||||
| Afr | Afrikaans | + | - | ++ | + | + | + | - | - | - | - | - | - | *LP,LM
|
||||
| Amh | Amharic | + | + | ++ | + | + | - | - | - | - | - | - | + | *MK
|
||||
| Ara | Arabic | + | + | + | + | + | + | + | - | - | - | + | + | AD,*IL
|
||||
| Bul | Bulgarian | + | + | + | + | + | + | + | + | + | + | ++ | + | *KA
|
||||
| Cat | Catalan | + | + | ++ | + | + | + | + | + | - | + | ++ | - | *JS,*IL
|
||||
| Chi | Chinese | + | - | ++ | + | + | + | - | - | + | + | - | + | ZL,*AR,*CP,QH
|
||||
| Dan | Danish | + | + | ++ | + | + | + | + | + | - | - | + | - | *AR
|
||||
| Dut | Dutch | + | + | ++ | + | + | + | + | + | - | + | + | - | *AR,FJ
|
||||
| Eng | English | + | + | ++ | + | + | + | + | + | + | + | ++ | + | *AR,BB,KA
|
||||
| Est | Estonian | + | - | ++ | + | + | + | - | - | + | + | + | + | *KK,*IL
|
||||
| Eus | Basque | + | - | ++ | + | + | + | - | - | - | - | - | + | *IL
|
||||
| Fin | Finnish | + | + | ++ | + | + | + | + | - | + | + | ++ | + | *AR,*IL
|
||||
| Fre | French | + | + | ++ | + | + | + | + | + | + | + | ++ | - | *AR,RE
|
||||
| Ger | German | + | + | ++ | + | + | + | + | + | + | + | ++ | - | *AR,HH,EG
|
||||
| Gre | Greek(mod) | + | - | ++ | + | + | + | - | - | - | - | - | + | *IP
|
||||
| Grc | Greek(anc) | - | - | - | - | - | - | - | - | - | - | - | + | *HLe
|
||||
| Heb | Hebrew | + | - | - | - | - | - | - | - | - | - | - | + | *DD
|
||||
| Hin | Hindi | + | + | ++ | + | + | + | + | - | - | + | + | + | *SV,*KP,MH,AR,PK
|
||||
| Ice | Icelandic | + | - | ++ | + | + | + | - | - | - | - | - | + | *BT
|
||||
| Ina | Interlingua | + | + | ++ | + | + | - | - | - | - | - | - | - | JB
|
||||
| Ita | Italian | + | + | ++ | + | + | + | + | - | - | + | ++ | - | *AR,*RE,GP
|
||||
| Jpn | Japanese | + | - | ++ | + | + | + | - | - | - | + | + | + | *LZ
|
||||
| Lat | Latin | + | - | - | - | - | - | - | - | + | - | - | - | *AR,*HLa
|
||||
| Lav | Latvian | + | - | ++ | + | + | + | - | - | - | - | + | + | *NG,*PP
|
||||
| Mlt | Maltese | + | + | ++ | + | + | + | + | - | - | - | - | + | *JC
|
||||
| Mon | Mongolian | + | - | ++ | + | + | + | - | - | + | - | - | + | *NE
|
||||
| Nep | Nepali | + | + | ++ | + | + | - | - | - | - | - | - | + | *DS
|
||||
| Nno | Norwegian(n) | + | + | ++ | + | + | + | + | + | - | - | - | - | *SRE
|
||||
| Nor | Norwegian(b) | + | + | ++ | + | + | + | + | + | - | - | + | - | *AR
|
||||
| Pes | Persian | + | - | + | + | + | + | - | - | - | - | + | + | SV,EA,SM,*IL
|
||||
| Pnb | Punjabi | + | + | + | + | + | + | + | - | - | - | - | + | *SV,MH
|
||||
| Pol | Polish | + | + | + | + | + | + | + | - | - | - | + | + | IN,*AS
|
||||
| Por | Portuguese | + | + | ++ | + | + | + | + | + | - | + | + | - | *BC
|
||||
| Ron | Romanian | + | + | ++ | + | + | + | + | - | - | - | + | + | *RE
|
||||
| Rus | Russian | + | + | ++ | + | + | + | - | - | + | + | - | + | JK,*NF
|
||||
| Snd | Sindhi | + | + | ++ | + | + | + | + | - | - | - | - | + | *SV,*JD
|
||||
| Spa | Spanish | + | + | ++ | + | + | + | + | + | - | + | ++ | - | *AR,IA,TS,*IL
|
||||
| Swa | Swahili | + | - | - | - | - | - | - | - | - | - | - | + | *WN,JM
|
||||
| Swe | Swedish | + | + | ++ | + | + | + | + | + | + | + | ++ | + | *MA,*AR,MF
|
||||
| Tha | Thai | + | - | ++ | + | + | + | + | - | - | + | + | - | *AR,CK
|
||||
| Tsn | Tswana | - | - | - | - | - | - | - | - | - | - | - | - | *LP,AB
|
||||
| Tur | Turkish | + | - | ++ | + | - | - | - | - | + | - | - | - | *SC,KA
|
||||
| Urd | Urdu | + | + | ++ | + | + | + | + | - | - | - | + | + | *SV,MH
|
||||
|| ISO | Language | Parad | Lex | Lang | API | Symb | Irreg | Dict | WN | tested | publ | authors ||
|
||||
| Afr | Afrikaans | ++ | + | + | + | - | - | - | - | - | - | *LP,LM |
|
||||
| Amh | Amharic | ++ | + | + | - | - | - | - | - | - | + | *MK |
|
||||
| Ara | Arabic | + | + | + | + | + | - | - | - | + | + | AD,*IL |
|
||||
| Bul | Bulgarian | + | + | + | + | + | + | + | + | ++ | + | *KA |
|
||||
| Cat | Catalan | ++ | + | + | + | + | + | - | + | ++ | - | *JS,*IL |
|
||||
| Chi | Chinese | ++ | + | + | + | - | - | + | + | - | + | ZL,*AR,*CP,QH |
|
||||
| Cze | Czech | + | + | + | + | - | - | - | - | + | - | *AR,*MM |
|
||||
| Dan | Danish | ++ | + | + | + | + | + | - | - | + | - | *AR |
|
||||
| Dut | Dutch | ++ | + | + | + | + | + | - | + | + | - | *AR,FJ |
|
||||
| Eng | English | ++ | + | + | + | + | + | + | + | ++ | + | *AR,BB,KA |
|
||||
| Est | Estonian | ++ | + | + | + | - | - | + | + | + | + | *KK,*IL |
|
||||
| Eus | Basque | ++ | + | + | + | - | - | - | - | - | + | *IL |
|
||||
| Fin | Finnish | ++ | + | + | + | + | - | + | + | ++ | + | *AR,*IL |
|
||||
| Fre | French | ++ | + | + | + | + | + | + | - | ++ | - | *AR,RE |
|
||||
| Ger | German | ++ | + | + | + | + | + | + | - | ++ | - | *AR,HH,EG |
|
||||
| Gre | Greek(mod) | ++ | + | + | + | - | - | - | - | - | + | *IP |
|
||||
| Grc | Greek(anc) | - | - | - | - | - | - | - | - | - | + | *HLe |
|
||||
| Heb | Hebrew | - | - | - | - | - | - | - | - | - | + | *DD |
|
||||
| Hin | Hindi | ++ | + | + | + | + | - | - | - | + | + | *SV,*KP,MH,AR,PK |
|
||||
| Hun | Hungarian | ++ | + | + | + | + | - | - | - | + | - | *IL,*JJ |
|
||||
| Ice | Icelandic | ++ | + | + | + | - | - | - | - | - | + | *BT |
|
||||
| Ina | Interlingua | ++ | + | + | - | - | - | - | - | - | - | JB |
|
||||
| Ita | Italian | ++ | + | + | + | + | - | - | + | ++ | - | *AR,*RE,GP |
|
||||
| Jpn | Japanese | ++ | + | + | + | - | - | - | - | + | + | *LZ |
|
||||
| Kor | Korean | ++ | + | + | + | + | - | - | - | + | - | *IL |
|
||||
| Lat | Latin | - | - | - | - | - | - | + | - | - | - | *AR,*HLa |
|
||||
| Lav | Latvian | ++ | + | + | + | - | - | - | - | + | + | *NG,*PP |
|
||||
| Mlt | Maltese | ++ | + | + | + | + | - | - | - | - | + | *JC |
|
||||
| Mon | Mongolian | ++ | + | + | + | - | - | + | - | - | + | *NE |
|
||||
| Nep | Nepali | ++ | + | + | - | - | - | - | - | - | + | *DS |
|
||||
| Nno | Norwegian(n) | ++ | + | + | + | + | + | - | - | - | - | *SRE |
|
||||
| Nor | Norwegian(b) | ++ | + | + | + | + | + | - | - | + | - | *AR |
|
||||
| Pes | Persian | + | + | + | + | - | - | - | - | + | + | SV,EA,SM,*IL |
|
||||
| Pnb | Punjabi | + | + | + | + | + | - | - | - | - | + | *SV,MH |
|
||||
| Pol | Polish | + | + | + | + | + | - | - | - | + | + | IN,*AS |
|
||||
| Por | Portuguese | ++ | + | + | + | + | + | + | + | + | + | *BC |
|
||||
| Ron | Romanian | ++ | + | + | + | + | - | - | - | + | + | *RE |
|
||||
| Rus | Russian | ++ | + | + | + | - | - | + | - | - | + | JK,NF,*RS |
|
||||
| Slk | Slovak | + | + | + | + | - | - | - | - | + | - | *AR,*MM,SČ |
|
||||
| Slv | Slovene | ++ | + | + | + | - | - | - | + | + | - | *KA,AE |
|
||||
| Snd | Sindhi | ++ | + | + | + | + | - | - | - | - | + | *SV,*JD |
|
||||
| Som | Somali | + | - | - | - | - | - | - | - | - | - | *IL |
|
||||
| Spa | Spanish | ++ | + | + | + | + | + | - | + | ++ | - | *AR,IA,TS,*IL |
|
||||
| Swa | Swahili | + | + | - | - | - | - | - | - | - | + | *WN,JM,BK |
|
||||
| Swe | Swedish | ++ | + | + | + | + | + | + | + | ++ | + | *MA,*AR,MF |
|
||||
| Tha | Thai | ++ | + | + | + | + | - | - | + | + | - | *AR,CK |
|
||||
| Tur | Turkish | ++ | + | - | - | - | - | + | + | - | - | *SC,KA |
|
||||
| Urd | Urdu | ++ | + | + | + | + | - | - | - | + | + | *SV,MH |
|
||||
|
||||
ISO = 3-letter ISO language code, used in library file names
|
||||
(mostly ISO 639-2 B (bibliographic))
|
||||
|
||||
Git = available in the gf-rgl Git repository
|
||||
|
||||
Parad = ``Paradigms`` file complete for major POS, ++ means with smart paradigms
|
||||
|
||||
Lex = the resource ``Lexicon`` (nearly) complete
|
||||
@@ -73,13 +76,13 @@ Lang = the resource ``Syntax`` (nearly) complete
|
||||
|
||||
API = the ``Syntax`` compiles
|
||||
|
||||
Symb = the ``Symbolic`` API compiles
|
||||
Symb = the ``Symbolic`` API complete
|
||||
|
||||
Irreg = the ``Irreg`` module with irregular verbs exists
|
||||
|
||||
Dict = the ``Dict`` module, large-scale morphological lexicon, exists
|
||||
|
||||
Trans = large-scale translation module and dictionary exists
|
||||
WN = WordNet lexicon exists
|
||||
|
||||
tested = tested in some applications, ++ means extensively tested with no major issues
|
||||
|
||||
@@ -93,10 +96,12 @@ authors = main contributors, * means still active
|
||||
|
||||
AB Ansu Berg,
|
||||
AD Ali El Dada,
|
||||
AE Anna Ehrlemark,
|
||||
AR Aarne Ranta,
|
||||
AS Adam Slaski,
|
||||
BB Björn Bringert,
|
||||
BC Bruno Cuconato,
|
||||
BK Benson Kituku,
|
||||
BT Bjarki Traustason,
|
||||
CK Chotiros Kairoje,
|
||||
CP Chen Peng,
|
||||
@@ -116,6 +121,7 @@ IP Ioanna Papadopoulou,
|
||||
JB Jean-Philippe Bernardy,
|
||||
JC John J. Camilleri,
|
||||
JD Jherna Devi,
|
||||
JJ Julia Jansson,
|
||||
JK Janna Khegai,
|
||||
JM Juliet Mutahi,
|
||||
JS Jordi Saludes,
|
||||
@@ -129,13 +135,16 @@ MA Malin Ahlberg,
|
||||
MF Markus Forsberg,
|
||||
MK Markos Kassa Gobena,
|
||||
MH Muhammad Humayoun,
|
||||
MM Michal Měchura,
|
||||
NE Nyamsuren Erdenebadrakh,
|
||||
NF Nick Frolov,
|
||||
NG Normunds Gruzitis,
|
||||
QH Qiao Haiyan,
|
||||
RE Ramona Enache,
|
||||
RS Roman Suzi,
|
||||
PP Peteris Paikens,
|
||||
SC Server Cimen,
|
||||
SČ Slavomír Čéplö,
|
||||
SM Sofy Moradi,
|
||||
SRE Stian Rødven Eide,
|
||||
SV Shafqat Virk,
|
||||
@@ -147,7 +156,7 @@ ZL Zhuo Lin Qiqige
|
||||
|
||||
==Rules==
|
||||
|
||||
Only components available at http://grammaticalframework.org are indicated in the table.
|
||||
Only components available at https://github.com/GrammaticalFramework/gf-rgl/ are indicated in the table.
|
||||
|
||||
If you want to work on a language already in the table, please be kind and contact the
|
||||
active authors of it.
|
||||
|
||||
@@ -99,4 +99,4 @@ oper whoSg_IP : IP = notYet "whoSg_IP" ;
|
||||
oper youPl_Pron : Pron = notYet "youPl_Pron" ;
|
||||
oper youPol_Pron : Pron = notYet "youPol_Pron" ;
|
||||
|
||||
}
|
||||
}
|
||||
+16
-16
@@ -30,28 +30,28 @@ lin
|
||||
UsePron pron = {
|
||||
s = table {
|
||||
Nom | Voc => pron.nom ;
|
||||
Gen => pron.gen ;
|
||||
Dat => pron.dat ;
|
||||
Acc => pron.acc ;
|
||||
Loc => pron.loc ;
|
||||
Ins => pron.ins
|
||||
Gen => pron.gen ;
|
||||
Dat => pron.dat ;
|
||||
Acc => pron.acc ;
|
||||
Loc => pron.loc ;
|
||||
Ins => pron.ins
|
||||
} ;
|
||||
clit = table {
|
||||
Nom => pron.cnom ;
|
||||
Voc => pron.nom ;
|
||||
Gen => pron.cgen ;
|
||||
Dat => pron.cdat ;
|
||||
Acc => pron.cacc ;
|
||||
Loc => pron.loc ;
|
||||
Ins => pron.ins
|
||||
Voc => pron.nom ;
|
||||
Gen => pron.cgen ;
|
||||
Dat => pron.cdat ;
|
||||
Acc => pron.cacc ;
|
||||
Loc => pron.loc ;
|
||||
Ins => pron.ins
|
||||
} ;
|
||||
prep = table {
|
||||
Nom | Voc => pron.nom ;
|
||||
Gen => pron.pgen ;
|
||||
Dat => pron.pdat ;
|
||||
Acc => pron.pacc ;
|
||||
Loc => pron.loc ;
|
||||
Ins => pron.pins
|
||||
Gen => pron.pgen ;
|
||||
Dat => pron.pdat ;
|
||||
Acc => pron.pacc ;
|
||||
Loc => pron.loc ;
|
||||
Ins => pron.pins
|
||||
} ;
|
||||
a = pron.a ;
|
||||
hasClit = True ;
|
||||
|
||||
@@ -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
|
||||
@@ -0,0 +1,729 @@
|
||||
LangCgg
|
||||
AdAdv
|
||||
AddAdvQVP
|
||||
AdnCAdv
|
||||
AdvAP
|
||||
AdvIAdv
|
||||
AdvIP
|
||||
AdvQVP
|
||||
AdvS
|
||||
AdvSlash
|
||||
BaseAP
|
||||
BaseAdV
|
||||
BaseAdv
|
||||
BaseCN
|
||||
BaseDAP
|
||||
BaseIAdv
|
||||
BaseNP
|
||||
BaseRS
|
||||
BaseS
|
||||
CAdvAP
|
||||
CleftAdv
|
||||
CleftNP
|
||||
ComparA
|
||||
ComparAdvAdj
|
||||
ComparAdvAdjS
|
||||
ComplA
|
||||
ComplSlashIP
|
||||
ConjAP
|
||||
ConjAdV
|
||||
ConjAdv
|
||||
ConjCN
|
||||
ConjDet
|
||||
ConjIAdv
|
||||
ConjNP
|
||||
ConjRS
|
||||
ConjS
|
||||
ConsAP
|
||||
ConsAdV
|
||||
ConsAdv
|
||||
ConsCN
|
||||
ConsDAP
|
||||
ConsIAdv
|
||||
ConsNP
|
||||
ConsRS
|
||||
ConsS
|
||||
EmbedQS
|
||||
EmbedS
|
||||
EmbedVP
|
||||
ExistIP
|
||||
ExistIPAdv
|
||||
ExistNP
|
||||
ExistNPAdv
|
||||
ExtAdvS
|
||||
ExtAdvVP
|
||||
FunRP
|
||||
GenericCl
|
||||
IdetQuant
|
||||
ImpP
|
||||
ImpPl
|
||||
ImpersCl
|
||||
InLanguage
|
||||
InflectionA
|
||||
InflectionA
|
||||
InflectionAdv
|
||||
InflectionN
|
||||
InflectionN
|
||||
InflectionN
|
||||
InflectionPrep
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionV
|
||||
InflectionVA
|
||||
InflectionVQ
|
||||
InflectionVS
|
||||
InflectionVV
|
||||
MarkupAP
|
||||
MarkupAdv
|
||||
MarkupCN
|
||||
MarkupNP
|
||||
MarkupPhr
|
||||
MarkupS
|
||||
MarkupText
|
||||
MarkupUtt
|
||||
MkDefinition
|
||||
MkDefinitionEx
|
||||
MkDocument
|
||||
MkTag
|
||||
NoDefinition
|
||||
PConjConj
|
||||
PassV
|
||||
PositAdAAdj
|
||||
PositAdvAdj
|
||||
PredSCVP
|
||||
PrepIP
|
||||
ProgrVP
|
||||
QuestQVP
|
||||
ReflA
|
||||
ReflVP
|
||||
RelS
|
||||
SSubjS
|
||||
SelfAdVVP
|
||||
SelfAdvVP
|
||||
SelfNP
|
||||
SentAP
|
||||
SentCN
|
||||
SlashPrep
|
||||
SlashV
|
||||
SlashV
|
||||
SlashV
|
||||
SlashV
|
||||
SlashV
|
||||
VNP
|
||||
SlashVS
|
||||
SubjS
|
||||
UseA
|
||||
UseSlash
|
||||
VPSlashPrep
|
||||
VocNP
|
||||
Mark
|
||||
above
|
||||
Prep
|
||||
active
|
||||
passive
|
||||
afrikaans
|
||||
Language
|
||||
airplane
|
||||
already
|
||||
Adv
|
||||
although
|
||||
Subj
|
||||
amharic
|
||||
Language
|
||||
answer
|
||||
apartment
|
||||
april
|
||||
Month
|
||||
arabic
|
||||
Language
|
||||
art
|
||||
as
|
||||
CAdv
|
||||
ashes
|
||||
ask
|
||||
at
|
||||
most
|
||||
AdN
|
||||
august
|
||||
Month
|
||||
Mark
|
||||
back
|
||||
bank
|
||||
bark
|
||||
beautiful
|
||||
because
|
||||
Subj
|
||||
before
|
||||
Prep
|
||||
beg
|
||||
belly
|
||||
blow
|
||||
bone
|
||||
boot
|
||||
boss
|
||||
both
|
||||
and
|
||||
DConj
|
||||
bottle
|
||||
of
|
||||
CN
|
||||
breast
|
||||
breathe
|
||||
broad
|
||||
brother
|
||||
brown
|
||||
bulgarian
|
||||
Language
|
||||
burn
|
||||
butter
|
||||
by
|
||||
agent
|
||||
Prep
|
||||
by
|
||||
means
|
||||
Prep
|
||||
camera
|
||||
cap
|
||||
carpet
|
||||
catalan
|
||||
Language
|
||||
ceiling
|
||||
chair
|
||||
cheese
|
||||
chinese
|
||||
Language
|
||||
church
|
||||
clever
|
||||
coat
|
||||
correct
|
||||
country
|
||||
cousin
|
||||
cup
|
||||
of
|
||||
CN
|
||||
danish
|
||||
Language
|
||||
dayMonthAdv
|
||||
dayMonthYearAdv
|
||||
day
|
||||
day
|
||||
Timeunit
|
||||
dconcat
|
||||
december
|
||||
Month
|
||||
die
|
||||
dig
|
||||
digits
|
||||
num
|
||||
digits
|
||||
numeral
|
||||
dirty
|
||||
dn
|
||||
dn
|
||||
dn
|
||||
dn
|
||||
dn
|
||||
dn
|
||||
dn
|
||||
doctor
|
||||
door
|
||||
dry
|
||||
dull
|
||||
during
|
||||
Prep
|
||||
dust
|
||||
dutch
|
||||
Language
|
||||
ear
|
||||
earth
|
||||
easy
|
||||
egg
|
||||
eightHour
|
||||
eighteenHour
|
||||
either
|
||||
or
|
||||
DConj
|
||||
elevenHour
|
||||
empty
|
||||
enemy
|
||||
english
|
||||
Language
|
||||
estonian
|
||||
Language
|
||||
everybody
|
||||
NP
|
||||
everything
|
||||
NP
|
||||
except
|
||||
Prep
|
||||
eye
|
||||
factory
|
||||
fall
|
||||
far
|
||||
Adv
|
||||
fat
|
||||
feather
|
||||
february
|
||||
Month
|
||||
few
|
||||
short
|
||||
of
|
||||
fifteenHour
|
||||
fight
|
||||
fingernail
|
||||
finnish
|
||||
Language
|
||||
fiveHour
|
||||
float
|
||||
floor
|
||||
flow
|
||||
fly
|
||||
fog
|
||||
foot
|
||||
for
|
||||
Prep
|
||||
forest
|
||||
forget
|
||||
fourHour
|
||||
fourteenHour
|
||||
freeze
|
||||
french
|
||||
Language
|
||||
friday
|
||||
Weekday
|
||||
fridge
|
||||
fruit
|
||||
full
|
||||
fun
|
||||
AV
|
||||
garden
|
||||
german
|
||||
Language
|
||||
glass
|
||||
of
|
||||
CN
|
||||
glove
|
||||
gold
|
||||
grass
|
||||
greek
|
||||
Language
|
||||
guts
|
||||
Mark
|
||||
Mark
|
||||
hair
|
||||
hand
|
||||
harbour
|
||||
has
|
||||
age
|
||||
VP
|
||||
hat
|
||||
hate
|
||||
have
|
||||
name
|
||||
Cl
|
||||
head
|
||||
hear
|
||||
heart
|
||||
hebrew
|
||||
Language
|
||||
here
|
||||
from
|
||||
Adv
|
||||
here
|
||||
to
|
||||
Adv
|
||||
hill
|
||||
hindi
|
||||
Language
|
||||
hit
|
||||
hold
|
||||
horn
|
||||
hour
|
||||
Timeunit
|
||||
how
|
||||
much
|
||||
IAdv
|
||||
how
|
||||
far
|
||||
QCl
|
||||
how
|
||||
old
|
||||
QCl
|
||||
hungry
|
||||
VP
|
||||
hunt
|
||||
husband
|
||||
Mark
|
||||
ice
|
||||
if
|
||||
Subj
|
||||
if
|
||||
then
|
||||
Conj
|
||||
ill
|
||||
VP
|
||||
important
|
||||
industry
|
||||
intMonthday
|
||||
intYear
|
||||
iron
|
||||
is
|
||||
right
|
||||
VP
|
||||
is
|
||||
wrong
|
||||
VP
|
||||
italian
|
||||
Language
|
||||
january
|
||||
Month
|
||||
japanese
|
||||
Language
|
||||
july
|
||||
Month
|
||||
june
|
||||
Month
|
||||
king
|
||||
knee
|
||||
know
|
||||
lake
|
||||
lamp
|
||||
languageCN
|
||||
languageNP
|
||||
language
|
||||
title
|
||||
Utt
|
||||
latin
|
||||
Language
|
||||
latvian
|
||||
Language
|
||||
laugh
|
||||
leaf
|
||||
learn
|
||||
leather
|
||||
leave
|
||||
left
|
||||
Ord
|
||||
leg
|
||||
less
|
||||
CAdv
|
||||
li
|
||||
Mark
|
||||
lie
|
||||
like
|
||||
listen
|
||||
liver
|
||||
long
|
||||
lose
|
||||
louse
|
||||
love
|
||||
maltese
|
||||
Language
|
||||
march
|
||||
Month
|
||||
married
|
||||
married
|
||||
Cl
|
||||
may
|
||||
Month
|
||||
meat
|
||||
minute
|
||||
Timeunit
|
||||
monday
|
||||
Weekday
|
||||
monthAdv
|
||||
monthN
|
||||
monthPN
|
||||
monthYearAdv
|
||||
month
|
||||
Timeunit
|
||||
moon
|
||||
more
|
||||
CAdv
|
||||
mother
|
||||
mountain
|
||||
mouth
|
||||
much
|
||||
Det
|
||||
units
|
||||
AP
|
||||
units
|
||||
of
|
||||
NP
|
||||
name
|
||||
narrow
|
||||
nd
|
||||
nd
|
||||
nd
|
||||
nd
|
||||
nd
|
||||
near
|
||||
neck
|
||||
nepali
|
||||
Language
|
||||
newspaper
|
||||
night
|
||||
nineHour
|
||||
nineteenHour
|
||||
no
|
||||
Utt
|
||||
nobody
|
||||
NP
|
||||
norwegian
|
||||
Language
|
||||
nose
|
||||
nothing
|
||||
NP
|
||||
november
|
||||
Month
|
||||
num
|
||||
digits
|
||||
number
|
||||
october
|
||||
Month
|
||||
oil
|
||||
oneHour
|
||||
open
|
||||
Mark
|
||||
paint
|
||||
paper
|
||||
part
|
||||
Prep
|
||||
peace
|
||||
pen
|
||||
persian
|
||||
Language
|
||||
person
|
||||
planet
|
||||
plastic
|
||||
play
|
||||
policeman
|
||||
polish
|
||||
Language
|
||||
possess
|
||||
Prep
|
||||
priest
|
||||
probable
|
||||
AS
|
||||
pull
|
||||
punjabi
|
||||
Language
|
||||
push
|
||||
put
|
||||
queen
|
||||
question
|
||||
quite
|
||||
Adv
|
||||
radio
|
||||
rain
|
||||
rain
|
||||
ready
|
||||
VP
|
||||
reason
|
||||
religion
|
||||
restaurant
|
||||
right
|
||||
Ord
|
||||
road
|
||||
rock
|
||||
romanian
|
||||
Language
|
||||
roof
|
||||
root
|
||||
rope
|
||||
rotten
|
||||
round
|
||||
rub
|
||||
rubber
|
||||
rule
|
||||
russian
|
||||
Language
|
||||
salt
|
||||
sand
|
||||
saturday
|
||||
Weekday
|
||||
scared
|
||||
VP
|
||||
school
|
||||
science
|
||||
scratch
|
||||
second
|
||||
Timeunit
|
||||
seed
|
||||
seek
|
||||
september
|
||||
Month
|
||||
sevenHour
|
||||
seventeenHour
|
||||
sew
|
||||
sharp
|
||||
sheep
|
||||
shirt
|
||||
shoe
|
||||
shop
|
||||
short
|
||||
silver
|
||||
sindhi
|
||||
Language
|
||||
sing
|
||||
sister
|
||||
sit
|
||||
sixHour
|
||||
sixteenHour
|
||||
skin
|
||||
sky
|
||||
smell
|
||||
smoke
|
||||
smooth
|
||||
snake
|
||||
snow
|
||||
sock
|
||||
somebody
|
||||
NP
|
||||
something
|
||||
NP
|
||||
somewhere
|
||||
Adv
|
||||
song
|
||||
spanish
|
||||
Language
|
||||
speak
|
||||
spit
|
||||
split
|
||||
squeeze
|
||||
stab
|
||||
stand
|
||||
steel
|
||||
stick
|
||||
stone
|
||||
stop
|
||||
stove
|
||||
straight
|
||||
student
|
||||
stupid
|
||||
suck
|
||||
sun
|
||||
sunday
|
||||
Weekday
|
||||
swahili
|
||||
Language
|
||||
swedish
|
||||
Language
|
||||
swell
|
||||
switch
|
||||
off
|
||||
switch
|
||||
on
|
||||
table
|
||||
Mark
|
||||
table
|
||||
tail
|
||||
td
|
||||
Mark
|
||||
teacher
|
||||
television
|
||||
tenHour
|
||||
thai
|
||||
Language
|
||||
there
|
||||
from
|
||||
Adv
|
||||
there
|
||||
to
|
||||
Adv
|
||||
there
|
||||
Adv
|
||||
they
|
||||
Pron
|
||||
thick
|
||||
thin
|
||||
think
|
||||
thirsty
|
||||
VP
|
||||
thirteenHour
|
||||
threeHour
|
||||
through
|
||||
Prep
|
||||
throw
|
||||
thursday
|
||||
Weekday
|
||||
tie
|
||||
timeHour
|
||||
timeHourMinute
|
||||
timeunitAdv
|
||||
tired
|
||||
VP
|
||||
today
|
||||
Adv
|
||||
tongue
|
||||
tooth
|
||||
tr
|
||||
Mark
|
||||
tuesday
|
||||
Weekday
|
||||
turkish
|
||||
Language
|
||||
turn
|
||||
twelveHour
|
||||
twentyFourHour
|
||||
twentyHour
|
||||
twentyOneHour
|
||||
twentyThreeHour
|
||||
twentyTwoHour
|
||||
twoHour
|
||||
ugly
|
||||
ul
|
||||
Mark
|
||||
uncertain
|
||||
university
|
||||
urdu
|
||||
Language
|
||||
village
|
||||
vomit
|
||||
war
|
||||
wash
|
||||
watch
|
||||
weather
|
||||
adjCl
|
||||
wednesday
|
||||
Weekday
|
||||
week
|
||||
Timeunit
|
||||
weekdayHabitualAdv
|
||||
weekdayLastAdv
|
||||
weekdayN
|
||||
weekdayNextAdv
|
||||
weekdayPN
|
||||
weekdayPunctualAdv
|
||||
wet
|
||||
what
|
||||
name
|
||||
QCl
|
||||
when
|
||||
Subj
|
||||
wide
|
||||
wife
|
||||
win
|
||||
wind
|
||||
window
|
||||
wing
|
||||
wipe
|
||||
without
|
||||
Prep
|
||||
wonder
|
||||
VQ
|
||||
wood
|
||||
worm
|
||||
write
|
||||
yearAdv
|
||||
year
|
||||
year
|
||||
Timeunit
|
||||
yes
|
||||
Utt
|
||||
youPol
|
||||
Pron
|
||||
@@ -15,6 +15,11 @@ lin
|
||||
|
||||
{-Assumed that a PrepNP is always Acc-}
|
||||
PrepNP prep np = {s = prep.s ++ np.s ! Acc; agr = AgrNo}; -- aha meza
|
||||
|
||||
-- Subordinate clauses can function as adverbs.
|
||||
|
||||
--SubjS : Subj -> S -> Adv ; -- when she sleeps
|
||||
SubjS subjunctive sent = {s=subjunctive.s ++ sent.s; agr=AgrNo};
|
||||
|
||||
--PositAdvAdj : A -> Adv ; -- warmly
|
||||
--"Impossible to implement because each is lexically different word."
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
--# -path=.:../abstract:../common:../prelude
|
||||
|
||||
concrete AllCgg of AllCggAbs =
|
||||
LangCgg, SentenceExtraCgg,LexiconExtraCgg
|
||||
** {} ;
|
||||
@@ -0,0 +1,7 @@
|
||||
--# -path=.:../abstract:../common:prelude
|
||||
|
||||
abstract AllCggAbs =
|
||||
Lang,
|
||||
SentenceExtra,
|
||||
LexiconExtra
|
||||
** {} ;
|
||||
@@ -20,6 +20,9 @@ lincat
|
||||
[CN] = {s1,s2 : Number => Case => Str};
|
||||
[DAP] = {s1,s2 : Str ; n : Number};
|
||||
-}
|
||||
|
||||
|
||||
|
||||
{-
|
||||
--1 Conjunction: Coordination
|
||||
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
abstract DictCggAbs = Cat ** {
|
||||
|
||||
{- --beginning of comment
|
||||
|
||||
fun
|
||||
{-
|
||||
--since this is a structural word, maybe take it to
|
||||
Extend module for structural as you have done for Dict.
|
||||
We have ahandi = at another place whic has no English equivalent.
|
||||
-}
|
||||
------ Structural words
|
||||
{-aditions-}
|
||||
here1_Adv; -- hanu
|
||||
here2_Adv; -- hanuuya --exactly here or here with emphasis
|
||||
there1_Adv; -- hariya
|
||||
outside_Adv; -- aheeru
|
||||
near_Adv; --haihi
|
||||
hare_Adv; --far
|
||||
|
||||
-} --end of comment
|
||||
|
||||
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
abstract ExtraCatAbs = Cat **{
|
||||
cat
|
||||
TenseExtra;
|
||||
TempExtra;
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
abstract ExtraCggAbs = Cat **{
|
||||
|
||||
-- there is a default linearization for abstract
|
||||
-- categories Tense and Temp
|
||||
-- these in TenseX
|
||||
--
|
||||
cat
|
||||
AllTenses;
|
||||
--TempExtra;
|
||||
fun
|
||||
UseClExtra : TempExtra -> Pol -> Cl -> S ; -- she had not slept
|
||||
UseQClExtra : TempExtra -> Pol -> QCl -> QS ; -- who had not slept
|
||||
UseRClExtra : TempExtra -> Pol -> RCl -> RS ; -- that had not slept
|
||||
UseSlashExtra : TempExtra -> Pol -> ClSlash -> SSlash ; -- (that) she had not seen
|
||||
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
concrete ExtraCggAbsCgg of ExtraCggAbs = CatCgg
|
||||
open (R=ResCgg), (P=ParamX) in {
|
||||
|
||||
lincat
|
||||
AllTenses = {s : Str ; t : P.Tense; tExtra : R.TensesExtra } ;
|
||||
TempExtra = {s : Str ; t : R.TensesExtra } ;
|
||||
--TempExtraWithAspects = {s : Str ; t : P.Tense ; a : R.AspectsExtra } ;
|
||||
fun
|
||||
UseClExtra : TempTempExtra -> Pol -> Cl -> S ; -- she had not slept
|
||||
UseQClExtra : TempTempExtra -> Pol -> QCl -> QS ; -- who had not slept
|
||||
UseRClExtra : TempTempExtra -> Pol -> RCl -> RS ; -- that had not slept
|
||||
UseSlashExtra : TempTempExtra -> Pol -> ClSlash -> SSlash ; -- (that) she had not seen
|
||||
|
||||
}
|
||||
@@ -1,97 +0,0 @@
|
||||
abstract ExtraStructuralAbs = Cat ** {
|
||||
|
||||
fun
|
||||
--Pronouns additional
|
||||
it_N_N_Sg_Pron : Pron;
|
||||
it_N_N_Pl_Pron : Pron;
|
||||
|
||||
it_KU_MA _Sg_Pron : Pron ;
|
||||
it_KU_MA_Pl_Pron : Pron;
|
||||
|
||||
it_BU_MA_Sg_Pron : Pron;
|
||||
it_BU_MA_Pl_Pron : Pron;
|
||||
|
||||
it_RU_BU_Sg_Pron : Pron;
|
||||
it_RU_BU_Pl_Pron : Pron;
|
||||
|
||||
it_GU_GA_Sg_Pron : Pron;
|
||||
it_GU_GA_Pl_Pron : Pron;
|
||||
|
||||
it_ZERO_ZERO_Sg_Pron : Pron; --what do you do with this?
|
||||
it_ZERO_ZERO_Pl_Pron : Pron; --what would you do with this?
|
||||
|
||||
it_MU_MI_Sg_Pron : Pron;
|
||||
it_MU_MI_Pl_Pron : Pron;
|
||||
|
||||
it_RI_MA_Sg_Pron : Pron;
|
||||
it_RI_MA_Pl_Pron : Pron;
|
||||
|
||||
it_I_MA_Sg_Pron : Pron;
|
||||
it_I_MA_Pl_Pron : Pron;
|
||||
|
||||
it_KA_BU_Sg_Pron : Pron;
|
||||
it_KA_BU_Pl_Pron : Pron;
|
||||
|
||||
it_KA_TU_Sg_Pron : Pron;
|
||||
it_KA_TU_Pl_Pron : Pron;
|
||||
|
||||
it_RU_N_Sg_Pron : Pron;
|
||||
it_RU_N_Pl_Pron : Pron;
|
||||
|
||||
it_RU_MA_Sg_Pron : Pron;
|
||||
it_RU_MA_Pl_Pron : Pron;
|
||||
|
||||
it_HA_Sg_Pron : Pron;
|
||||
it_HA_Pl_Pron : Pron;
|
||||
|
||||
it_HA_Sg_Pron : Pron; -- might have to remove this.
|
||||
it_HA_Pl_Pron : Pron;
|
||||
|
||||
it_MU_Sg_Pron : Pron;
|
||||
it_MU_Pl_Pron : Pron;
|
||||
|
||||
it_KU_Sg_Pron : Pron;
|
||||
it_KU_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_BU_Sg_Pron : Pron;
|
||||
it_ZERO_BU_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_BI_Sg_Pron : Pron;
|
||||
it_ZERO_BI_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_BI_Sg_Pron : Pron;
|
||||
it_ZERO_BI_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_MA_Sg_Pron : Pron;
|
||||
it_ZERO_MA_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_MI_Sg_Pron : Pron;
|
||||
it_ZERO_MI_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_TU_Sg_Pron : Pron;
|
||||
it_ZERO_TU_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_N_Sg_Pron : Pron;
|
||||
it_ZERO_N_Pl_Pron : Pron;
|
||||
|
||||
it_I_ZERO_Sg_Pron : Pron;
|
||||
--it_I_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_RI_ZERO_Sg_Pron : Pron;
|
||||
--it_RI_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_KU_ZERO_Sg_Pron : Pron;
|
||||
--it_KU_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_MU_ZERO_Sg_Pron : Pron;
|
||||
it_MU_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_RU_ZERO_Sg_Pron : Pron;
|
||||
--it_RU_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_KA_ZERO_Sg_Pron : Pron;
|
||||
--it_KA_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_ZERO_BAA_Sg_Pron : Pron;
|
||||
--it_ZERO_BAA_Pl_Pron : Pron;
|
||||
}
|
||||
@@ -1,97 +0,0 @@
|
||||
abstract ExtraStructuralAbs = Cat ** {
|
||||
|
||||
fun
|
||||
--Pronouns additional
|
||||
it_N_N_Sg_Pron : Pron;
|
||||
it_N_N_Pl_Pron : Pron;
|
||||
|
||||
it_KU_MA _Sg_Pron : Pron ;
|
||||
it_KU_MA_Pl_Pron : Pron;
|
||||
|
||||
it_BU_MA_Sg_Pron : Pron;
|
||||
it_BU_MA_Pl_Pron : Pron;
|
||||
|
||||
it_RU_BU_Sg_Pron : Pron;
|
||||
it_RU_BU_Pl_Pron : Pron;
|
||||
|
||||
it_GU_GA_Sg_Pron : Pron;
|
||||
it_GU_GA_Pl_Pron : Pron;
|
||||
|
||||
it_ZERO_ZERO_Sg_Pron : Pron; --what do you do with this?
|
||||
it_ZERO_ZERO_Pl_Pron : Pron; --what would you do with this?
|
||||
|
||||
it_MU_MI_Sg_Pron : Pron;
|
||||
it_MU_MI_Pl_Pron : Pron;
|
||||
|
||||
it_RI_MA_Sg_Pron : Pron;
|
||||
it_RI_MA_Pl_Pron : Pron;
|
||||
|
||||
it_I_MA_Sg_Pron : Pron;
|
||||
it_I_MA_Pl_Pron : Pron;
|
||||
|
||||
it_KA_BU_Sg_Pron : Pron;
|
||||
it_KA_BU_Pl_Pron : Pron;
|
||||
|
||||
it_KA_TU_Sg_Pron : Pron;
|
||||
it_KA_TU_Pl_Pron : Pron;
|
||||
|
||||
it_RU_N_Sg_Pron : Pron;
|
||||
it_RU_N_Pl_Pron : Pron;
|
||||
|
||||
it_RU_MA_Sg_Pron : Pron;
|
||||
it_RU_MA_Pl_Pron : Pron;
|
||||
|
||||
it_HA_Sg_Pron : Pron;
|
||||
it_HA_Pl_Pron : Pron;
|
||||
|
||||
it_HA_Sg_Pron : Pron; -- might have to remove this.
|
||||
it_HA_Pl_Pron : Pron;
|
||||
|
||||
it_MU_Sg_Pron : Pron;
|
||||
it_MU_Pl_Pron : Pron;
|
||||
|
||||
it_KU_Sg_Pron : Pron;
|
||||
it_KU_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_BU_Sg_Pron : Pron;
|
||||
it_ZERO_BU_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_BI_Sg_Pron : Pron;
|
||||
it_ZERO_BI_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_BI_Sg_Pron : Pron;
|
||||
it_ZERO_BI_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_MA_Sg_Pron : Pron;
|
||||
it_ZERO_MA_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_MI_Sg_Pron : Pron;
|
||||
it_ZERO_MI_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_TU_Sg_Pron : Pron;
|
||||
it_ZERO_TU_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_N_Sg_Pron : Pron;
|
||||
it_ZERO_N_Pl_Pron : Pron;
|
||||
|
||||
it_I_ZERO_Sg_Pron : Pron;
|
||||
--it_I_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_RI_ZERO_Sg_Pron : Pron;
|
||||
--it_RI_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_KU_ZERO_Sg_Pron : Pron;
|
||||
--it_KU_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_MU_ZERO_Sg_Pron : Pron;
|
||||
it_MU_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_RU_ZERO_Sg_Pron : Pron;
|
||||
--it_RU_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_KA_ZERO_Sg_Pron : Pron;
|
||||
--it_KA_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_ZERO_BAA_Sg_Pron : Pron;
|
||||
--it_ZERO_BAA_Pl_Pron : Pron;
|
||||
}
|
||||
@@ -1,97 +0,0 @@
|
||||
abstract ExtraStructuralCggAbs = Cat ** {
|
||||
|
||||
fun
|
||||
--Pronouns additional
|
||||
it_N_N_Sg_Pron : Pron;
|
||||
it_N_N_Pl_Pron : Pron;
|
||||
|
||||
it_KU_MA _Sg_Pron : Pron ;
|
||||
it_KU_MA_Pl_Pron : Pron;
|
||||
|
||||
it_BU_MA_Sg_Pron : Pron;
|
||||
it_BU_MA_Pl_Pron : Pron;
|
||||
|
||||
it_RU_BU_Sg_Pron : Pron;
|
||||
it_RU_BU_Pl_Pron : Pron;
|
||||
|
||||
it_GU_GA_Sg_Pron : Pron;
|
||||
it_GU_GA_Pl_Pron : Pron;
|
||||
|
||||
it_ZERO_ZERO_Sg_Pron : Pron; --what do you do with this?
|
||||
it_ZERO_ZERO_Pl_Pron : Pron; --what would you do with this?
|
||||
|
||||
it_MU_MI_Sg_Pron : Pron;
|
||||
it_MU_MI_Pl_Pron : Pron;
|
||||
|
||||
it_RI_MA_Sg_Pron : Pron;
|
||||
it_RI_MA_Pl_Pron : Pron;
|
||||
|
||||
it_I_MA_Sg_Pron : Pron;
|
||||
it_I_MA_Pl_Pron : Pron;
|
||||
|
||||
it_KA_BU_Sg_Pron : Pron;
|
||||
it_KA_BU_Pl_Pron : Pron;
|
||||
|
||||
it_KA_TU_Sg_Pron : Pron;
|
||||
it_KA_TU_Pl_Pron : Pron;
|
||||
|
||||
it_RU_N_Sg_Pron : Pron;
|
||||
it_RU_N_Pl_Pron : Pron;
|
||||
|
||||
it_RU_MA_Sg_Pron : Pron;
|
||||
it_RU_MA_Pl_Pron : Pron;
|
||||
|
||||
it_HA_Sg_Pron : Pron;
|
||||
it_HA_Pl_Pron : Pron;
|
||||
|
||||
it_HA_Sg_Pron : Pron; -- might have to remove this.
|
||||
it_HA_Pl_Pron : Pron;
|
||||
|
||||
it_MU_Sg_Pron : Pron;
|
||||
it_MU_Pl_Pron : Pron;
|
||||
|
||||
it_KU_Sg_Pron : Pron;
|
||||
it_KU_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_BU_Sg_Pron : Pron;
|
||||
it_ZERO_BU_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_BI_Sg_Pron : Pron;
|
||||
it_ZERO_BI_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_BI_Sg_Pron : Pron;
|
||||
it_ZERO_BI_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_MA_Sg_Pron : Pron;
|
||||
it_ZERO_MA_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_MI_Sg_Pron : Pron;
|
||||
it_ZERO_MI_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_TU_Sg_Pron : Pron;
|
||||
it_ZERO_TU_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_N_Sg_Pron : Pron;
|
||||
it_ZERO_N_Pl_Pron : Pron;
|
||||
|
||||
it_I_ZERO_Sg_Pron : Pron;
|
||||
--it_I_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_RI_ZERO_Sg_Pron : Pron;
|
||||
--it_RI_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_KU_ZERO_Sg_Pron : Pron;
|
||||
--it_KU_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_MU_ZERO_Sg_Pron : Pron;
|
||||
it_MU_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_RU_ZERO_Sg_Pron : Pron;
|
||||
--it_RU_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_KA_ZERO_Sg_Pron : Pron;
|
||||
--it_KA_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_ZERO_BAA_Sg_Pron : Pron;
|
||||
--it_ZERO_BAA_Pl_Pron : Pron;
|
||||
}
|
||||
@@ -1,101 +0,0 @@
|
||||
concrete ExtraStructuralCggAbsCgg of ExtraStructuralCggAbs = CatCgg ** open ResCgg {
|
||||
|
||||
{-
|
||||
lin
|
||||
--Pronouns additional
|
||||
|
||||
it_N_N_Sg_Pron : Pron;
|
||||
it_N_N_Pl_Pron : Pron;
|
||||
|
||||
it_KU_MA _Sg_Pron : Pron ;
|
||||
it_KU_MA_Pl_Pron : Pron;
|
||||
|
||||
it_BU_MA_Sg_Pron : Pron;
|
||||
it_BU_MA_Pl_Pron : Pron;
|
||||
|
||||
it_RU_BU_Sg_Pron : Pron;
|
||||
it_RU_BU_Pl_Pron : Pron;
|
||||
|
||||
it_GU_GA_Sg_Pron : Pron;
|
||||
it_GU_GA_Pl_Pron : Pron;
|
||||
|
||||
it_ZERO_ZERO_Sg_Pron : Pron; --what do you do with this?
|
||||
it_ZERO_ZERO_Pl_Pron : Pron; --what would you do with this?
|
||||
|
||||
it_MU_MI_Sg_Pron : Pron;
|
||||
it_MU_MI_Pl_Pron : Pron;
|
||||
|
||||
it_RI_MA_Sg_Pron : Pron;
|
||||
it_RI_MA_Pl_Pron : Pron;
|
||||
|
||||
it_I_MA_Sg_Pron : Pron;
|
||||
it_I_MA_Pl_Pron : Pron;
|
||||
|
||||
it_KA_BU_Sg_Pron : Pron;
|
||||
it_KA_BU_Pl_Pron : Pron;
|
||||
|
||||
it_KA_TU_Sg_Pron : Pron;
|
||||
it_KA_TU_Pl_Pron : Pron;
|
||||
|
||||
it_RU_N_Sg_Pron : Pron;
|
||||
it_RU_N_Pl_Pron : Pron;
|
||||
|
||||
it_RU_MA_Sg_Pron : Pron;
|
||||
it_RU_MA_Pl_Pron : Pron;
|
||||
|
||||
it_HA_Sg_Pron : Pron;
|
||||
it_HA_Pl_Pron : Pron;
|
||||
|
||||
it_HA_Sg_Pron : Pron; -- might have to remove this.
|
||||
it_HA_Pl_Pron : Pron;
|
||||
|
||||
it_MU_Sg_Pron : Pron;
|
||||
it_MU_Pl_Pron : Pron;
|
||||
|
||||
it_KU_Sg_Pron : Pron;
|
||||
it_KU_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_BU_Sg_Pron : Pron;
|
||||
it_ZERO_BU_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_BI_Sg_Pron : Pron;
|
||||
it_ZERO_BI_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_BI_Sg_Pron : Pron;
|
||||
it_ZERO_BI_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_MA_Sg_Pron : Pron;
|
||||
it_ZERO_MA_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_MI_Sg_Pron : Pron;
|
||||
it_ZERO_MI_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_TU_Sg_Pron : Pron;
|
||||
it_ZERO_TU_Pl_Pron : Pron;
|
||||
|
||||
--it_ZERO_N_Sg_Pron : Pron;
|
||||
it_ZERO_N_Pl_Pron : Pron;
|
||||
|
||||
it_I_ZERO_Sg_Pron : Pron;
|
||||
--it_I_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_RI_ZERO_Sg_Pron : Pron;
|
||||
--it_RI_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_KU_ZERO_Sg_Pron : Pron;
|
||||
--it_KU_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_MU_ZERO_Sg_Pron : Pron;
|
||||
it_MU_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_RU_ZERO_Sg_Pron : Pron;
|
||||
--it_RU_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_KA_ZERO_Sg_Pron : Pron;
|
||||
--it_KA_ZERO_Pl_Pron : Pron;
|
||||
|
||||
it_ZERO_BAA_Sg_Pron : Pron;
|
||||
--it_ZERO_BAA_Pl_Pron : Pron;
|
||||
|
||||
-}
|
||||
}
|
||||
@@ -6,7 +6,8 @@ concrete GrammarCgg of Grammar =
|
||||
AdjectiveCgg,
|
||||
AdverbCgg,
|
||||
NumeralCgg,
|
||||
SentenceCgg,
|
||||
SentenceCgg,
|
||||
--SentenceExtraCgg,
|
||||
QuestionCgg,
|
||||
RelativeCgg,
|
||||
ConjunctionCgg,
|
||||
|
||||
+262
-13
@@ -17,7 +17,7 @@ lin
|
||||
bread_N = mkN "omugati" MU_MI;
|
||||
car_N = mkN "emootoka" N_N ;
|
||||
cat_N = mkN "enjangu" N_N ;
|
||||
--chair_N = mkN "entebbe" N_N ;
|
||||
chair_N = mkN "entebbe" N_N ;
|
||||
child_N = mkN "omwana" MU_BA ;
|
||||
city_N = mkN "ekibúga" KI_BI; --orurêmbo pl endêmbo
|
||||
cloud_N = mkN "ekikyu" KI_BI ;
|
||||
@@ -25,6 +25,7 @@ lin
|
||||
cow_N = mkN "ente" N_N ;
|
||||
dog_N = mkN "embwa" N_N ;
|
||||
--person_N = mkN "omuntu" "abantu" MU_BA ;
|
||||
eye_N = mkN "eriisho" RI_MA;
|
||||
fire_N = mkN "omuriro" MU_MI ;
|
||||
fish_N = mkN "eky'ényanja" KI_BI ;
|
||||
flower_N = mkN "ekimuri" KI_BI ;
|
||||
@@ -44,9 +45,11 @@ lin
|
||||
horse_N = mkN "embaráàsi" N_N ;
|
||||
house_N = mkN "enju" N_N ;
|
||||
language_N = mkN "orurími" "endími" RU_N ;
|
||||
meat_N = mkN "enyama" N_N;
|
||||
man_N = mkN "omushaija" MU_BA ;
|
||||
milk_N = mkN "amate" ZERO_MA ;
|
||||
music_N = mkN "music" ZERO_ZERO ; -- I have not found the translation
|
||||
rule_N = mkN "ekiragiro" KI_BI;
|
||||
river_N = mkN "omugyera" MU_MI ; --omurîndi,
|
||||
sea_N = mkN "enyanja" N_N ;
|
||||
ship_N = mkN "ekyombo" KI_BI ; -- eméèri [NC_n_n]
|
||||
@@ -56,7 +59,9 @@ lin
|
||||
water_N = mkN "amáìzi" ZERO_MA ;
|
||||
wine_N = mkN "víìnyo" ZERO_ZERO ;
|
||||
woman_N = mkN "omwishiki" MU_BA ;
|
||||
|
||||
reason_N = mkN "enshoonga" N_N;
|
||||
sheep_N = mkN "entaama" N_N;
|
||||
hat_N = mkN "enkofira" N_N;
|
||||
--Proper Nouns
|
||||
john_PN = mkPN "Yohana" (AgP3 Sg MU_BA) False;
|
||||
paris_PN = mkPN "Paris" (AgP3 Sg N_N) True; --Noun class for places???
|
||||
@@ -68,24 +73,26 @@ lin
|
||||
black_A = mkAdjective "kwirangura" Post False False;
|
||||
blue_A = mkAdjective "buuru" Post True True ;
|
||||
clean_A = mkAdjective "yonjo" Post False False; --: A ;
|
||||
cold_A = mkAdjective "rikufuka" Post False False; --: A ;
|
||||
cold_A = mkAdjective "kufuka" Post False False; --: A ;
|
||||
correct_A = mkAdjective "hikire" Post False False; --: A ;
|
||||
good_A =mkAdjective "rungi" Post False False; --: A ;
|
||||
heavy_A = mkAdjective "rikuremeera" Post False False; --: A ; --notice ri as a verb is
|
||||
hot_A = mkAdjective "rikwotsya" Post False False; -- rikutagata -- problematic words like hot we need a new set of clitics
|
||||
heavy_A = mkAdjective "kuremeera" Post False False; --: A ; --notice ri as a verb is
|
||||
hot_A = mkAdjective "kwosya" Post False False; -- rikutagata -- problematic words like hot we need a new set of clitics
|
||||
new_A = mkAdjective "sya" Post False False; --: A ;
|
||||
old_A = mkAdjective "kúru" Post False False; --: A ;
|
||||
ready_A = mkAdjective "eteekateekire" Post False False; --: A ;
|
||||
red_A = mkAdjective "ríkutukura" Post False False; --: A ;
|
||||
red_A = mkAdjective "kutukura" Post False False; --: A ;
|
||||
small_A = mkAdjective "kye" Post False False;
|
||||
warm_A = mkAdjective "rikutagata" Post False False;--: A ;
|
||||
warm_A = mkAdjective "kutagata" Post False False;--: A ;
|
||||
white_A = mkAdjective "rikwera" Post False False;--: A ;
|
||||
yellow_A = mkAdjective "kinekye" Post True True;--: A ; or yero, or kyenju
|
||||
young_A = mkAdjective "to" Post False False;--: A ;
|
||||
green_A =mkAdjective "kijubwe" Post False True;
|
||||
thin_A = mkAdjective "kye" Post False False;
|
||||
|
||||
--ditransitive verbs
|
||||
bite_V2 = mkV2 "rum";
|
||||
break_V2 = mkV2 "hend"; --: V2 ;
|
||||
break_V2 = mkV2 "hen" "da" "zire"; --: V2 ;
|
||||
buy_V2 = mkV2 "gur" ; --: V2 ;
|
||||
close_V2 = mkV2 "king";
|
||||
count_V2 = mkV2 "ba" "ra" "zire";
|
||||
@@ -96,13 +103,13 @@ lin
|
||||
fear_V2 = mkV2 "tiin";
|
||||
find_V2 = mkV2 "bon" ; --: V2 ; -- many words; kureeba, kubóna,kushanga, kumamya,kujumbura
|
||||
kill_V2 = mkV2 "it"; --: V2 ;
|
||||
love_V2 = mkV2 "kûnd"; --: V2 ;
|
||||
love_V2 = mkV2 "kûnd" "da" "zire"; --: V2 ;
|
||||
read_V2 = mkV2 "shom";--: V2 ;
|
||||
see_V2 = mkV2 "reeb"; --: V2 ;
|
||||
teach_V2 = mkV2 "shomes" ; --: V2 ; or kwegyesa
|
||||
understand_V2 = mkV2 "étegyerez"; --: V2 ;
|
||||
wait_V2 = mkV2 "tegyerez"; --: V2 ;
|
||||
|
||||
|
||||
-- ditransitive verbs
|
||||
add_V3 = mkV3 "gáìt";
|
||||
give_V3 = mkV3 "héére" "za" "ize";
|
||||
@@ -113,12 +120,13 @@ lin
|
||||
|
||||
-- Intransitive verbs
|
||||
come_V = mkV "ij";
|
||||
go_V = mkV "gyend"; --: V ; -- Many words: kuza, kuraba,kutoora, kugyenda=go away, kushuma=go down
|
||||
die_V = mkV "f";
|
||||
go_V = mkV "gyen" "da" "zire"; --: V ; -- Many words: kuza, kuraba,kutoora, kugyenda=go away, kushuma=go down
|
||||
jump_V = mkV "guruk" ;
|
||||
play_V = mkV "záàn"; --: V ;
|
||||
live_V = mkV "tuur" ; --manyF: kutuura i.e. live somewhere, stay = kuráàra
|
||||
run_V = mkV "íruk"; -- : V ;
|
||||
sleep_V = mkV "nyama" ; --: V ;--Kugwejegyera, kubyama
|
||||
sleep_V = mkV "gwejegyer" ; --: V ;--Kugwejegyera, kubyama
|
||||
swim_V = mkV "og"; --: V ;
|
||||
travel_V = mkV "gyen" "da" "zire" ;--: V ;
|
||||
walk_V = mkV "ribá" "ta" "si"; --: V ; or kuribata Runynakore it is different
|
||||
@@ -143,7 +151,7 @@ lin
|
||||
now_Adv = mkAdv "hati" AgrNo;
|
||||
--far_Adv = mkAdv "hare";
|
||||
|
||||
--today_Adv = mkAdv "erizooba" AgrNo;
|
||||
today_Adv = mkAdv "erizooba" AgrNo;
|
||||
|
||||
father_N2 = mkN2 (mkN "tata" ZERO_BAA) (lin Prep (mkPrep [] [] True)) ;
|
||||
|
||||
@@ -151,6 +159,247 @@ lin
|
||||
|
||||
alas_Interj ={s="ryakareeba"; }; --: Interj ;
|
||||
|
||||
|
||||
-- New Lexicon
|
||||
switch8off_V2 = mkV2 "raza" "za" "riize";
|
||||
television_N = mkN "TV" N_N;
|
||||
doctor_N = mkN "omushaho" MU_BA;
|
||||
clever_A =mkAdjective "amagyezi" Post False True;
|
||||
laugh_V = mkV "sheka";
|
||||
|
||||
airplane_N = mkN "endegye" N_N;
|
||||
{--
|
||||
answer_V2S
|
||||
apartment_N
|
||||
art_N
|
||||
ashes_N
|
||||
ask_V2Q
|
||||
back_N
|
||||
bank_N
|
||||
bark_N
|
||||
beautiful_A
|
||||
beg_V2V
|
||||
belly_N
|
||||
blow_V
|
||||
bone_N
|
||||
boot_N
|
||||
boss_N
|
||||
breast_N
|
||||
breathe_V
|
||||
broad_A
|
||||
brother_N2
|
||||
brown_A
|
||||
burn_V
|
||||
butter_N
|
||||
camera_N
|
||||
cap_N
|
||||
carpet_N
|
||||
ceiling_N
|
||||
cheese_N
|
||||
church_N
|
||||
coat_N
|
||||
country_N
|
||||
cousin_N
|
||||
day_N
|
||||
dig_V
|
||||
dirty_A
|
||||
doctor_N
|
||||
door_N
|
||||
dry_A
|
||||
dull_A
|
||||
dust_N
|
||||
ear_N
|
||||
earth_N
|
||||
easy_A2V
|
||||
egg_N
|
||||
empty_A
|
||||
enemy_N
|
||||
factory_N
|
||||
fall_V
|
||||
far_Adv
|
||||
fat_N
|
||||
feather_N
|
||||
fight_V2
|
||||
fingernail_N
|
||||
float_V
|
||||
floor_N
|
||||
flow_V
|
||||
fly_V
|
||||
fog_N
|
||||
foot_N
|
||||
forest_N
|
||||
forget_V2
|
||||
freeze_V
|
||||
fridge_N
|
||||
fruit_N
|
||||
full_A
|
||||
fun_AV
|
||||
garden_N
|
||||
glove_N
|
||||
gold_N
|
||||
grass_N
|
||||
guts_N
|
||||
hair_N
|
||||
hand_N
|
||||
harbour_N
|
||||
hat_N
|
||||
hate_V2
|
||||
head_N
|
||||
hear_V2
|
||||
heart_N
|
||||
hill_N
|
||||
hit_V2
|
||||
hold_V2
|
||||
horn_N
|
||||
hunt_V2
|
||||
husband_N
|
||||
ice_N
|
||||
important_A
|
||||
industry_N
|
||||
iron_N
|
||||
king_N
|
||||
knee_N
|
||||
know_V2
|
||||
lake_N
|
||||
lamp_N
|
||||
leaf_N
|
||||
learn_V2
|
||||
leather_N
|
||||
leave_V2
|
||||
left_Ord
|
||||
leg_N
|
||||
lie_V
|
||||
like_V2
|
||||
listen_V2
|
||||
liver_N
|
||||
long_A
|
||||
lose_V2
|
||||
louse_N
|
||||
love_N
|
||||
married_A2
|
||||
moon_N
|
||||
mother_N2
|
||||
mountain_N
|
||||
mouth_N
|
||||
name_N
|
||||
narrow_A
|
||||
near_A
|
||||
neck_N
|
||||
newspaper_N
|
||||
night_N
|
||||
nose_N
|
||||
number_N
|
||||
oil_N
|
||||
open_V2
|
||||
paint_V2A
|
||||
paper_N
|
||||
peace_N
|
||||
pen_N
|
||||
person_N
|
||||
planet_N
|
||||
plastic_N
|
||||
play_V2
|
||||
policeman_N
|
||||
priest_N
|
||||
probable_AS
|
||||
pull_V2
|
||||
push_V2
|
||||
put_V2
|
||||
queen_N
|
||||
question_N
|
||||
radio_N
|
||||
rain_N
|
||||
rain_V0
|
||||
religion_N
|
||||
restaurant_N
|
||||
right_Ord
|
||||
road_N
|
||||
rock_N
|
||||
roof_N
|
||||
root_N
|
||||
rope_N
|
||||
rotten_A
|
||||
round_A
|
||||
rub_V2
|
||||
rubber_N
|
||||
salt_N
|
||||
sand_N
|
||||
school_N
|
||||
science_N
|
||||
scratch_V2
|
||||
seed_N
|
||||
seek_V2
|
||||
sew_V
|
||||
sharp_A
|
||||
shirt_N
|
||||
shoe_N
|
||||
shop_N
|
||||
short_A
|
||||
silver_N
|
||||
sing_V
|
||||
sister_N
|
||||
sit_V
|
||||
skin_N
|
||||
sky_N
|
||||
smell_V
|
||||
smoke_N
|
||||
smooth_A
|
||||
snake_N
|
||||
snow_N
|
||||
sock_N
|
||||
song_N
|
||||
speak_V2
|
||||
spit_V
|
||||
split_V2
|
||||
squeeze_V2
|
||||
stab_V2
|
||||
stand_V
|
||||
steel_N
|
||||
stick_N
|
||||
stone_N
|
||||
stop_V
|
||||
stove_N
|
||||
straight_A
|
||||
student_N
|
||||
stupid_A
|
||||
suck_V2
|
||||
sun_N
|
||||
swell_V
|
||||
switch8on_V2
|
||||
table_N
|
||||
tail_N
|
||||
teacher_N
|
||||
thick_A
|
||||
think_V
|
||||
throw_V2
|
||||
tie_V2
|
||||
tongue_N
|
||||
tooth_N
|
||||
turn_V
|
||||
ugly_A
|
||||
uncertain_A
|
||||
university_N
|
||||
village_N
|
||||
vomit_V
|
||||
war_N
|
||||
wash_V2
|
||||
watch_V2
|
||||
wet_A
|
||||
wide_A
|
||||
wife_N
|
||||
win_V2
|
||||
wind_N
|
||||
window_N
|
||||
wing_N
|
||||
wipe_V2
|
||||
wonder_VQ
|
||||
wood_N
|
||||
worm_N
|
||||
write_V2
|
||||
|
||||
--}
|
||||
year_N = mkN "omwaka" "emyaka" MU_MI;
|
||||
-- End of New Lexicon
|
||||
oper
|
||||
aboutP = mkPrep "about" ;
|
||||
atP = mkPrep "at" ;
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
+16
-17
@@ -18,20 +18,14 @@ lin
|
||||
--UsePron pron = pron; -- the result of use pron is a NounPhrase
|
||||
--MassNP : CN -> NP ; -- (beer)
|
||||
MassNP cn = {s = \\_ =>cn.s ! Sg ! Complete; agr = AgP3 Sg cn.gender; nounCat = ComNoun}; --: CN -> NP ; -- milk
|
||||
--DetCN det cn = mkDeterminer det cn; --Should be nemed mkDetCN
|
||||
--DetCN det cn = mkDeterminer det cn; --Should be named mkDetCN
|
||||
DetCN det cn = mkDetCN det cn; -- the man
|
||||
{-
|
||||
case det.pos of{
|
||||
PreDeterminer =>{s = det.s ++ cn.s!det.ntype!det.num} ;
|
||||
PostDeterminer=>{s = cn.s!det.ntype!det.num ++ mkNCParticles!SubjM!AgP3 det.num cn.nc + det.s}
|
||||
}; --use a function because code is becoming long
|
||||
-}
|
||||
UseN noun = noun ;
|
||||
|
||||
--Noun = {s : NounType=>Number => Str ; nc : NClass} ;
|
||||
--AdjCN ap cn = {s=\\ntype, num=>cn.s!ntype!num ++ ap.s!AgP3 num cn.nc; nc=cn.nc};
|
||||
--AdjCN : AP -> CN -> CN ; -- big house
|
||||
AdjCN ap cn =
|
||||
AdjCN ap cn =
|
||||
case <ap.position, ap.isProper, > of {
|
||||
<Pre, True> => {
|
||||
s = \\ num, ns =>ap.s ! AgP3 num cn.gender ++ cn.s ! num ! ns ;
|
||||
@@ -39,7 +33,7 @@ lin
|
||||
};
|
||||
<Post, False> => case ap.isPrep of {
|
||||
False => {
|
||||
s = \\ num, ns => cn.s ! num ! ns ++ mkAdjPronIVClitic (AgP3 num cn.gender)
|
||||
s = \\ num, ns => cn.s ! num ! ns ++ mkAdjClitic ! (AgP3 num cn.gender)
|
||||
++ ap.s ! AgP3 Sg KI_BI;
|
||||
gender = cn.gender; nounCat = cn.nounCat
|
||||
};
|
||||
@@ -62,7 +56,8 @@ lin
|
||||
}; -- big house
|
||||
|
||||
--RelCN : CN -> RS -> CN ; -- house that John bought
|
||||
RelCN cn rs = {s=\\n,ns => cn.s !n ! ns ++ rs.s! (RF RObj); gender = cn.gender; nounCat = cn.nounCat};
|
||||
--RelCN cn rs = {s=\\n,ns => cn.s !n ! ns ++ rs.s! (RF RObj); gender = cn.gender; nounCat = cn.nounCat};
|
||||
RelCN cn rs = {s=\\n,ns => cn.s !n ! ns ++ mkRPsNoClitic !RObj ! (AgP3 n cn.gender) ++ rs.s! (RF RObj); gender = cn.gender; nounCat = cn.nounCat};
|
||||
|
||||
{-
|
||||
A predeterminer is any word that modifies a noun Phrase.
|
||||
@@ -95,8 +90,8 @@ lin
|
||||
-- quantifier and an optional numeral can be discerned.
|
||||
--DetQuant : Quant -> Num -> Det ; -- these five
|
||||
DetQuant quant num = case quant.isPron of {
|
||||
True => {s=[]; s2 = quant.s2; ntype = Incomplete; num = num.n; pos=Pre; doesAgree = quant.doesAgree};
|
||||
False => {s= quant.s.s ! Nom; s2 =\\_ =>[]; ntype = Complete; num = num.n; pos=Pre; doesAgree = quant.doesAgree} --
|
||||
False => {s=[]; s2 = quant.s2; ntype = Incomplete; num = num.n; pos=Pre; doesAgree = quant.doesAgree; numeralS = num.s; numeralExists=num.numeralExists;};
|
||||
True => {s= quant.s.s ! Nom; s2 =\\_ =>[]; ntype = Complete; num = num.n; pos=Pre; doesAgree = quant.doesAgree; numeralS = num.s; numeralExists=num.numeralExists;} --
|
||||
};
|
||||
|
||||
--DetQuantOrd : Quant -> Num -> Ord -> Det ; -- these five best
|
||||
@@ -106,13 +101,15 @@ lin
|
||||
ntype = Complete;
|
||||
num = num.n;
|
||||
pos = Pre;
|
||||
doesAgree = True
|
||||
doesAgree = True;
|
||||
numeralS = num.s;
|
||||
numeralExists = num.numeralExists
|
||||
};
|
||||
|
||||
NumSg = {s=\\_=>[]; n=Sg}; --Num
|
||||
NumPl = {s=\\_=>[]; n=Pl}; --Num
|
||||
NumSg = {s=\\_=>[]; n=Sg; numeralExists=False}; --Num
|
||||
NumPl = {s=\\_=>[]; n=Pl; numeralExists=False}; --Num
|
||||
--NumCard : Card -> Num ; -- one/five [explicit numeral]
|
||||
NumCard card = {s =\\agr =>card.s ! agr; n=card.n };
|
||||
NumCard card = {s =\\agr =>card.s ! agr; n=card.n; numeralExists=True; };
|
||||
--Quant = {s : Res.Pronoun; s2 :Res.Agreement => Str; doesAgree : Bool; isPron: Bool} ;
|
||||
IndefArt = {s={s=\\_=>[]; third = \\_,_=>[];agr = AgrNo }; s2 = \\_=>[]; doesAgree = False; isPron=False};
|
||||
DefArt = {s={s =\\_=>[]; third = \\_,_=>[]; agr = AgrNo }; s2 = \\_=>[]; doesAgree = False; isPron = False}; -- noun with initial vowel
|
||||
@@ -151,7 +148,9 @@ lin
|
||||
ntype = dap.ntype ;
|
||||
num = dap.num ;
|
||||
pos = dap.pos;
|
||||
doesAgree= True
|
||||
doesAgree= True;
|
||||
numeralS = dap.numeralS;
|
||||
numeralExists=dap.numeralExists;
|
||||
};
|
||||
|
||||
--DetDAP : Det -> DAP ; -- this (or that)
|
||||
|
||||
@@ -37,6 +37,7 @@ oper
|
||||
mkV3 = overload {
|
||||
mkV3 : Str -> Verb3 = \root ->mkV2 root ** {comp2 =[]};
|
||||
mkV3 : Str -> Str ->Str -> Verb3 = \root ,s1,s2 ->mkV2 root s1 s2 ** {comp2 =[]};
|
||||
--mkV3 : Str -> Str ->Str ->Str ->Verb3 =\root, s1, s2, prep
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -62,6 +62,7 @@ lin
|
||||
--UttAP : AP -> Utt ; -- fine
|
||||
--UttInterj : Interj -> Utt ; -- alas
|
||||
UttInterj interj = let agr = AgMUBAP2 Pl in {s= mkObjClitic agr ++ interj.s};
|
||||
|
||||
{-
|
||||
--1 Phrase: Phrases and Utterances
|
||||
|
||||
|
||||
+28
-28
@@ -61,34 +61,34 @@ lin
|
||||
whichRel = RF RSubj;
|
||||
};
|
||||
|
||||
--RelSlash : RP -> ClSlash -> RCl ; -- whom John loves
|
||||
RelSlash rp clSlash =
|
||||
let comp = case clSlash.complType of{
|
||||
Ap => clSlash.ap;
|
||||
Adverbial => clSlash.adv;
|
||||
AdverbialVerb => clSlash.adV;
|
||||
_ => []
|
||||
};
|
||||
isCompApStem = case clSlash.complType of{
|
||||
Adverbial => True;
|
||||
_ => False
|
||||
};
|
||||
in
|
||||
{
|
||||
s = clSlash.s;
|
||||
agr = AgrYes clSlash.subjAgr;
|
||||
rp = rp.s;
|
||||
--rObjVariant2 = rp.rObjVariant2;
|
||||
pres = clSlash.pres;
|
||||
perf = clSlash.perf;
|
||||
root = clSlash.root;
|
||||
--morphs = clSlash.morphs;
|
||||
isPresBlank = clSlash.isPresBlank;
|
||||
isPerfBlank = clSlash.isPerfBlank;
|
||||
compl = comp;
|
||||
isCompApStem = isCompApStem;
|
||||
whichRel = RF RObj;
|
||||
};
|
||||
--RelSlash : RP -> ClSlash -> RCl ; -- whom John loves
|
||||
RelSlash rp clSlash =
|
||||
let comp = case clSlash.complType of{
|
||||
Ap => clSlash.ap;
|
||||
Adverbial => clSlash.adv;
|
||||
AdverbialVerb => clSlash.adV;
|
||||
_ => []
|
||||
};
|
||||
isCompApStem = case clSlash.complType of{
|
||||
Adverbial => True;
|
||||
_ => False
|
||||
};
|
||||
in
|
||||
{
|
||||
s = clSlash.s;
|
||||
agr = AgrYes clSlash.subjAgr;
|
||||
rp = rp.s;
|
||||
--rObjVariant2 = rp.rObjVariant2;
|
||||
pres = clSlash.pres;
|
||||
perf = clSlash.perf;
|
||||
root = clSlash.root;
|
||||
--morphs = clSlash.morphs;
|
||||
isPresBlank = clSlash.isPresBlank;
|
||||
isPerfBlank = clSlash.isPerfBlank;
|
||||
compl = comp;
|
||||
isCompApStem = isCompApStem;
|
||||
whichRel = RF RObj;
|
||||
};
|
||||
|
||||
{-
|
||||
--1 Relative clauses and pronouns
|
||||
|
||||
+205
-15
@@ -49,6 +49,8 @@ param
|
||||
ConjArg = Nn_Nn | Nps_Nps | Pns_Pns | RelSubjCls | Other;
|
||||
AgrConj = AConj ConjArg;
|
||||
Agreement = AgP3 Number Gender | AgMUBAP1 Number |AgMUBAP2 Number | NONE; --Default is AgP3 Sg KI_BI
|
||||
AgreementPl = AgP3Pl Gender | AgMUBAP1Pl |AgMUBAP2Pl | NONExistPl; --Default is AgP3 Sg KI_BI
|
||||
AgreementSg = AgP3Sg Gender | AgMUBAP1Sg |AgMUBAP2Sg | NONExistSg; --Default is AgP3 Sg KI_BI
|
||||
AgrExist = AgrNo | AgrYes Agreement;
|
||||
--Position = PostDeterminer | PreDeterminer ;
|
||||
Position = Post | Pre;
|
||||
@@ -64,11 +66,13 @@ param
|
||||
PrepForm = Form1 | Form2; -- omu and omuri, aha, ahari
|
||||
-- for Extra Tenses not implemented
|
||||
-- would be better if I had alliases
|
||||
TensesExtra = RemotePast | ImmediatePast | RemoteFuture;
|
||||
--Tenses = RemotePast|NearPast | ImmediatePast |ExPres|NearFut |RemoteFut;
|
||||
|
||||
-- for Extra Aspects not implemented
|
||||
-- would be better if I had alliases
|
||||
Aspect = Performative | Perfect | Resultative | Retrospective | Habitual | Progressive | Persitive;
|
||||
--Aspect = Performative | Perfect | Resultative | Retrospective | Habitual | Progressive | Persitive;
|
||||
|
||||
|
||||
{-
|
||||
Complete = Nouns with IV,
|
||||
Incomplete = Nouns without IV: important for use with pre-determiners
|
||||
@@ -363,7 +367,7 @@ mkSubjPrefix : Agreement -> Str =\a ->case a of {
|
||||
AgP3 Pl KA_ZERO => mkClitic "" ;
|
||||
_ => mkClitic "SubjNotKnown" --for checking if there is some class unaccounted for
|
||||
};
|
||||
|
||||
|
||||
mkSubjCliticTableSg : Agreement => Str = table {
|
||||
AgMUBAP1 Sg => mkClitic "n" ;
|
||||
--AgMUBAP1 Pl => "tu" ;
|
||||
@@ -432,12 +436,56 @@ mkSubjPrefix : Agreement -> Str =\a ->case a of {
|
||||
AgP3 Pl ZERO_TU => mkClitic "tu" ;
|
||||
--AgP3 Sg (ZERO_MI | ZERO_ZERO) => mkClitic "" ;
|
||||
AgP3 Pl ZERO_MI => mkClitic "e" ;
|
||||
AgP3 Pl KA_ZERO => mkClitic "" ;
|
||||
_ => mkClitic "Plural" --for checking if there is some class unaccounted for
|
||||
AgP3 Pl KA_ZERO => mkClitic "give example" ;
|
||||
AgP3 Pl GU_GA => mkClitic "ga";
|
||||
AgP3 Pl ZERO_ZERO => mkClitic "give example";
|
||||
AgP3 Pl KA_TU => mkClitic "tu";
|
||||
AgP3 Pl HA => mkClitic "ha";
|
||||
AgP3 Pl (MU | KU |I_ZERO |ZERO_BAA |N_ZERO |KI_ZERO|Null) => "";
|
||||
AgP3 Pl ZERO_N => mkClitic "zimwe";
|
||||
_ => "Plural-NonExist" --;_ => mkClitic "Plural-NonExist" --for checking if there is some class unaccounted for
|
||||
|
||||
};
|
||||
|
||||
agrToAgrPl: Agreement -> AgreementPl = \a -> case a of {
|
||||
AgMUBAP1 Sg => NONExistPl;
|
||||
AgMUBAP1 Pl => AgMUBAP1Pl;
|
||||
AgMUBAP2 Sg => NONExistPl;
|
||||
AgMUBAP2 Pl => AgMUBAP2Pl ;
|
||||
AgP3 Sg MU_BA => NONExistPl;
|
||||
AgP3 Pl MU_BA => AgP3Pl MU_BA ;
|
||||
AgP3 Sg KI_BI => NONExistPl;
|
||||
AgP3 Pl (KI_BI | ZERO_BI) => AgP3Pl (KI_BI | ZERO_BI) ;
|
||||
AgP3 Sg (RU_N | RU_MA | RU_ZERO | RU_BU) => NONExistPl ;
|
||||
AgP3 Pl RU_N => AgP3Pl RU_N ; --| "i";
|
||||
AgP3 Sg N_N => NONExistPl;
|
||||
AgP3 Pl N_N => AgP3Pl N_N; --| "i";
|
||||
AgP3 Sg (MU_MI | MU_ZERO) => NONExistPl;
|
||||
AgP3 Pl MU_MI => AgP3Pl MU_MI;
|
||||
AgP3 Sg (RI_MA | RI_ZERO | I_ZERO) =>NONExistPl;
|
||||
AgP3 Pl (RI_MA | BU_MA | KU_MA | ZERO_MA | I_MA |RU_MA) => AgP3Pl (RI_MA | BU_MA | KU_MA | ZERO_MA | I_MA |RU_MA) ;
|
||||
AgP3 Sg (KA_BU | KA_ZERO | KA_TU) => NONExistPl;
|
||||
AgP3 Pl (KA_BU | RU_BU) => AgP3Pl (KA_BU | RU_BU);
|
||||
AgP3 Sg ZERO_BU => NONExistPl;
|
||||
AgP3 Pl ZERO_BU => AgP3Pl ZERO_BU ;
|
||||
AgP3 Sg ZERO_BI => NONExistPl;
|
||||
AgP3 Sg ZERO_MA => NONExistPl;
|
||||
AgP3 Pl RI_ZERO => AgP3Pl RI_ZERO ;
|
||||
AgP3 Sg KU_ZERO => NONExistPl;
|
||||
AgP3 Pl KU_ZERO => AgP3Pl KU_ZERO;
|
||||
AgP3 Pl MU_ZERO => AgP3Pl MU_ZERO ;
|
||||
AgP3 Pl RU_ZERO => AgP3Pl RU_ZERO ;
|
||||
AgP3 Sg ZERO_TU => NONExistPl;
|
||||
AgP3 Pl ZERO_TU => AgP3Pl ZERO_TU ;
|
||||
AgP3 Sg (ZERO_MI | ZERO_ZERO) => NONExistPl;
|
||||
AgP3 Pl ZERO_MI => AgP3Pl ZERO_MI ;
|
||||
AgP3 Pl KA_ZERO => AgP3Pl KA_ZERO ;
|
||||
_ => NONExistPl --for checking if there is some class unaccounted for
|
||||
};
|
||||
{-Object particle may be used as
|
||||
1. a prefix: e.g mu-kwate = catch him,
|
||||
2. an infix: o-mu-kwate = you catch him
|
||||
}
|
||||
|
||||
-}
|
||||
mkObjClitic : Agreement -> Str = \a ->case a of {
|
||||
@@ -525,7 +573,7 @@ mkSubjPrefix : Agreement -> Str =\a ->case a of {
|
||||
--Adjective : Type = {s : Str ; post : Str; isPre : Bool; isProper : Bool; isPrep: Bool};
|
||||
Adjective : Type = {s : Str ; position : Position; isProper : Bool; isPrep: Bool};
|
||||
mkAdjective: Str -> Position -> Bool -> Bool -> Adjective = \ a , pos, isProper, isPrep ->
|
||||
{ s = a ; position = pos ; isPre = True; isProper = isProper; isPrep = isPrep};
|
||||
{ s = a ; position = pos ; isPre = False; isProper = isProper; isPrep = isPrep};
|
||||
|
||||
{-
|
||||
TO DO:
|
||||
@@ -642,6 +690,7 @@ mkSubjPrefix : Agreement -> Str =\a ->case a of {
|
||||
AgP3 Pl (KA_BU | RU_BU) => mkClitic "obu" ;
|
||||
AgP3 Pl (KI_BI | ZERO_BI) => mkClitic "ebi" ;
|
||||
AgP3 Pl (ZERO_MA | KU_MA | RI_MA | I_MA | BU_MA) => mkClitic "aga";
|
||||
AgP3 Sg ZERO_MA => mkClitic "aga";
|
||||
AgP3 ( Pl) HA => mkClitic "aha" ; -- of place HA
|
||||
AgP3 ( Pl) MU => mkClitic "omu" ; -- of place MU
|
||||
AgP3 ( Pl) KU => mkClitic "oku" ; -- of place KU
|
||||
@@ -661,6 +710,76 @@ mkSubjPrefix : Agreement -> Str =\a ->case a of {
|
||||
_ => mkClitic "XXXThisThese" -- error checking for any case not catered for
|
||||
|
||||
};
|
||||
|
||||
-- TThis is for demonstrative pronouns which can also be use as Quantifiers
|
||||
-- These are self-standing
|
||||
-- How can it be done without code repeation?
|
||||
mkThisNoClitic = table{
|
||||
AgMUBAP1 Sg => "ogu";
|
||||
AgMUBAP1 Pl => "aba" ;
|
||||
AgMUBAP2 Sg => "ogu"; --probably an error check your grammar book
|
||||
AgMUBAP2 Pl => "aba" ;
|
||||
AgP3 Sg MU_BA => "ogu";
|
||||
AgP3 Pl MU_BA => "aba" ;
|
||||
AgP3 Pl ZERO_BU => "obu" ;
|
||||
AgP3 Sg BU_MA => "obu" ;
|
||||
AgP3 Pl (KA_BU | RU_BU) => "obu" ;
|
||||
AgP3 Pl (KI_BI | ZERO_BI) => "ebi" ;
|
||||
AgP3 Pl (ZERO_MA | KU_MA | RI_MA | I_MA | BU_MA) => "aga";
|
||||
AgP3 Sg ZERO_MA => "aga";
|
||||
AgP3 ( Pl) HA => "aha" ; -- of place HA
|
||||
AgP3 ( Pl) MU => "omu" ; -- of place MU
|
||||
AgP3 ( Pl) KU => "oku" ; -- of place KU
|
||||
AgP3 Sg (I_ZERO | I_MA | RI_MA) => "eri" ;
|
||||
AgP3 Sg (KA_ZERO | KA_BU) => "aka" ;
|
||||
AgP3 Sg KI_BI => "eki" ;
|
||||
AgP3 Sg (KU_ZERO | KU_MA) => "oku" ;
|
||||
AgP3 Sg (MU_MI | MU_ZERO) => "ogu" ;
|
||||
AgP3 Sg (RU_ZERO | RU_BU | RU_MA| RU_N) => "oru" ;
|
||||
AgP3 Pl (ZERO_TU | KA_TU) => "otu" ;
|
||||
AgP3 Sg (ZERO_ZERO | N_N) => "egi" ;
|
||||
AgP3 Pl ZERO_MI => "egi" ;
|
||||
AgP3 Pl MU_MI => "egi";
|
||||
AgP3 Pl (ZERO_ZERO | ZERO_N | N_N | RU_N) => "ezi" ;
|
||||
AgP3 Sg GU_GA => "ogu" ;
|
||||
AgP3 Pl GU_GA => "aga" ;
|
||||
_ => "XXXThisThese" -- error checking for any case not catered for
|
||||
|
||||
};
|
||||
|
||||
mkAdjClitic = table{
|
||||
AgMUBAP1 Sg => "ogu";
|
||||
AgMUBAP1 Pl => "aba" ;
|
||||
AgMUBAP2 Sg => "ogu"; --probably an error check your grammar book
|
||||
AgMUBAP2 Pl => "aba" ;
|
||||
AgP3 Sg MU_BA => "ogu";
|
||||
AgP3 Pl MU_BA => "aba" ;
|
||||
AgP3 Pl ZERO_BU => "obu" ;
|
||||
AgP3 Sg BU_MA => "obu" ;
|
||||
AgP3 Pl (KA_BU | RU_BU) => "obu" ;
|
||||
AgP3 Pl (KI_BI | ZERO_BI) => "ebi" ;
|
||||
AgP3 Pl (ZERO_MA | KU_MA | RI_MA | I_MA | BU_MA) => "aga";
|
||||
AgP3 Sg ZERO_MA => "aga";
|
||||
AgP3 ( Pl) HA => "aha" ; -- of place HA
|
||||
AgP3 ( Pl) MU => "omu" ; -- of place MU
|
||||
AgP3 ( Pl) KU => "oku" ; -- of place KU
|
||||
AgP3 Sg (I_ZERO | I_MA | RI_MA) => "eri" ;
|
||||
AgP3 Sg (KA_ZERO | KA_BU) => "aka" ;
|
||||
AgP3 Sg KI_BI => "eki" ;
|
||||
AgP3 Sg (KU_ZERO | KU_MA) => "oku" ;
|
||||
AgP3 Sg (MU_MI | MU_ZERO) => "ogu" ;
|
||||
AgP3 Sg (RU_ZERO | RU_BU | RU_MA| RU_N) => "oru" ;
|
||||
AgP3 Pl (ZERO_TU | KA_TU) => "otu" ;
|
||||
AgP3 Sg (ZERO_ZERO | N_N) => "en" ;
|
||||
AgP3 Pl ZERO_MI => "egi" ;
|
||||
AgP3 Pl MU_MI => "egi";
|
||||
AgP3 Pl (ZERO_ZERO | ZERO_N | N_N | RU_N) => "ezi" ;
|
||||
AgP3 Sg GU_GA => "ogu" ;
|
||||
AgP3 Pl GU_GA => "aga" ;
|
||||
_ => "XXXThisThese" -- error checking for any case not catered for
|
||||
|
||||
};
|
||||
|
||||
{-
|
||||
-- TThis is for demonstrative pronouns which can also be use as Quantifiers
|
||||
-- How can it be done without code repeation?
|
||||
@@ -744,6 +863,7 @@ mkSubjPrefix : Agreement -> Str =\a ->case a of {
|
||||
--AgP3 Pl (KA_BU | RU_BU) => mkClitic "obu" ;
|
||||
--AgP3 Pl (KI_BI | ZERO_BI) => mkClitic "ebi" ;
|
||||
--AgP3 Pl (ZERO_MA | KU_MA | RI_MA | I_MA | BU_MA) => mkClitic "aga";
|
||||
AgP3 Sg ZERO_MA => mkClitic "agwo";
|
||||
AgP3 (Sg ) HA => mkClitic "aho" ; -- of place HA
|
||||
AgP3 (Sg ) MU => mkClitic "omwo" ; -- of place MU
|
||||
AgP3 (Sg ) KU => mkClitic "okwo" ; -- of place KU
|
||||
@@ -960,6 +1080,71 @@ mkSubjPrefix : Agreement -> Str =\a ->case a of {
|
||||
}
|
||||
};
|
||||
|
||||
mkRPsNoClitic : RCase => Agreement =>Str = table{
|
||||
RSubj => table {
|
||||
AgMUBAP1 Sg => "o";
|
||||
AgMUBAP1 Pl => "aba" ;
|
||||
AgMUBAP2 Sg => "o";
|
||||
AgMUBAP2 Pl => "aba" ;
|
||||
AgP3 Sg MU_BA => "o";
|
||||
AgP3 Pl MU_BA => "aba" ;
|
||||
AgP3 Pl ZERO_BU => "obu" ;
|
||||
AgP3 Sg BU_MA => "obu" ;
|
||||
AgP3 Pl (KA_BU | RU_BU) => "obu" ;
|
||||
AgP3 Pl (KI_BI | ZERO_BI) => "ebi" ;
|
||||
AgP3 Pl (ZERO_MA | KU_MA | RI_MA | I_MA | BU_MA) => "aga";
|
||||
AgP3 (Sg ) HA => "aha" ; -- of place HA
|
||||
AgP3 (Sg ) MU => "aha" ; -- of place MU
|
||||
AgP3 (Sg ) KU => "e" ; -- of place KU
|
||||
AgP3 Sg (I_ZERO | I_MA | RI_MA) => "eri" ;
|
||||
AgP3 Sg (KA_ZERO | KA_BU) => "aka" ;
|
||||
AgP3 Sg KI_BI => "eki" ;
|
||||
AgP3 Sg (KU_ZERO | KU_MA) => "oku" ;
|
||||
AgP3 Sg (MU_MI | MU_ZERO) => "ogu" ;
|
||||
AgP3 Sg (RU_ZERO | RU_BU | RU_MA| RU_N) => "oru" ;
|
||||
AgP3 Pl (ZERO_TU | KA_TU) => "otu" ;
|
||||
AgP3 Sg (ZERO_ZERO | N_N) => "e" ;
|
||||
AgP3 Pl ZERO_MI => "e" ;
|
||||
AgP3 Pl MU_MI => "e";
|
||||
AgP3 Pl (ZERO_ZERO | ZERO_N | N_N | RU_N) => "ezi" ;
|
||||
AgP3 Sg GU_GA => "ogu" ;
|
||||
AgP3 Pl GU_GA => "aga" ;
|
||||
_ => "XXXThat" -- error checking for any case not catered for
|
||||
|
||||
};
|
||||
_ => table {
|
||||
AgMUBAP1 Sg => "ou";
|
||||
AgMUBAP1 Pl => "abu" ; --note: abu or abi is used. GF does not allow free variation. However, abu is more natural
|
||||
AgMUBAP2 Sg => "ou"; --probably an error check your grammar book
|
||||
AgMUBAP2 Pl => "abu" ;
|
||||
AgP3 Sg MU_BA => "o";
|
||||
AgP3 Pl MU_BA => "abu" ;
|
||||
AgP3 Pl ZERO_BU => "obu" ;
|
||||
AgP3 Sg BU_MA => "obu" ;
|
||||
AgP3 Pl (KA_BU | RU_BU) => "obu" ;
|
||||
AgP3 Pl (KI_BI | ZERO_BI) => "ebi" ;
|
||||
AgP3 Pl (ZERO_MA | KU_MA | RI_MA | I_MA | BU_MA) => "agu";
|
||||
AgP3 (Sg ) HA => "ahu" ; -- of place HA
|
||||
AgP3 (Sg ) MU => "ahu" ; -- of place MU
|
||||
AgP3 (Sg ) KU => "ei" ; -- of place KU
|
||||
AgP3 Sg (I_ZERO | I_MA | RI_MA) => "eri" ;
|
||||
AgP3 Sg (KA_ZERO | KA_BU) => "aku" ;
|
||||
AgP3 Sg KI_BI => "eki" ;
|
||||
AgP3 Sg (KU_ZERO | KU_MA) => "oku" ;
|
||||
AgP3 Sg (MU_MI | MU_ZERO) => "ogu" ;
|
||||
AgP3 Sg (RU_ZERO | RU_BU | RU_MA| RU_N) => "oru" ;
|
||||
AgP3 Pl (ZERO_TU | KA_TU) => "otu" ;
|
||||
AgP3 Sg (ZERO_ZERO | N_N) => "ei" ;
|
||||
AgP3 Pl ZERO_MI => "ei" ;
|
||||
AgP3 Pl MU_MI => "ei";
|
||||
AgP3 Pl (ZERO_ZERO | ZERO_N | N_N | RU_N) => "ezi" ;
|
||||
AgP3 Sg GU_GA => "ogu" ;
|
||||
AgP3 Pl GU_GA => "agu" ;
|
||||
_ => mkClitic "XXXThat" -- error checking for any case not catered for
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
mkIPPref : Agreement =>Str = table{
|
||||
AgMUBAP1 Sg => mkClitic "o";
|
||||
AgMUBAP1 Pl => mkClitic "ba" ;
|
||||
@@ -1034,7 +1219,7 @@ mkSubjPrefix : Agreement -> Str =\a ->case a of {
|
||||
4. Cardinal numbers
|
||||
6. Ordinal numbers
|
||||
-}
|
||||
Determiner : Type = {s : Str ; s2: Agreement=>Str; ntype : NounState ; num : Number ; pos : Position; doesAgree: Bool};
|
||||
Determiner : Type = {s : Str ; s2: Agreement=>Str; ntype : NounState ; num : Number ; pos : Position; doesAgree: Bool; numeralS:Agreement=>Str; numeralExists : Bool};
|
||||
mkDet : Str -> NounState -> Number -> Position -> Determiner
|
||||
= \ det, ns, num,pos ->
|
||||
{
|
||||
@@ -1043,7 +1228,9 @@ mkSubjPrefix : Agreement -> Str =\a ->case a of {
|
||||
ntype = ns;
|
||||
num = num;
|
||||
pos = pos;
|
||||
doesAgree = False
|
||||
doesAgree = False;
|
||||
numeralS = \\_ => []; -- A true determiner is not a quantifier
|
||||
numeralExists = False;
|
||||
};
|
||||
|
||||
-- Pronouns must have agreement because they are used
|
||||
@@ -1096,13 +1283,16 @@ mkSubjPrefix : Agreement -> Str =\a ->case a of {
|
||||
mkDetCN : Determiner -> Noun -> NounPhrase = \ det, cn ->
|
||||
let subjClitic = mkSubjClitic (AgP3 det.num cn.gender)
|
||||
in
|
||||
case <det.pos, det.num> of {
|
||||
<Post, Pl> => {s = \\_=> subjClitic ++ cn.s!det.num! det.ntype ++ subjClitic ++ det.s; agr = AgP3 det.num cn.gender; nounCat = cn.nounCat};
|
||||
<Post, Sg> => {s = \\_=>cn.s!det.num! det.ntype ++ subjClitic ++ det.s; agr = AgP3 det.num cn.gender; nounCat = cn.nounCat};
|
||||
<Pre, n> => { s =\\_ => det.s ++ cn.s !n ! det.ntype; agr = AgP3 det.num cn.gender; nounCat = cn.nounCat} --;
|
||||
case <det.pos, det.num> of {
|
||||
<Post, Pl> => {s = \\_=> cn.s!det.num! det.ntype ++ subjClitic ++ det.s2 !AgP3 det.num cn.gender; agr = AgP3 det.num cn.gender; nounCat = cn.nounCat}; --subjClitic ++ cn.s!det.num! det.ntype ++ subjClitic ++ det.s2 !AgP3 det.num cn.gender; agr = AgP3 det.num cn.gender; nounCat = cn.nounCat};
|
||||
<Post, Sg> => {s = \\_=>cn.s!det.num! det.ntype ++ subjClitic ++ det.s2 ! AgP3 det.num cn.gender; agr = AgP3 det.num cn.gender; nounCat = cn.nounCat};
|
||||
<Pre, n> => case det.numeralExists of {
|
||||
False => { s =\\_ => det.s2 !(AgP3 det.num cn.gender) ++ cn.s !n ! Complete; agr = AgP3 det.num cn.gender; nounCat = cn.nounCat};
|
||||
True => { s =\\_ => cn.s !n ! Complete ++ det.numeralS ! (AgP3 n cn.gender); agr = AgP3 det.num cn.gender; nounCat = cn.nounCat}
|
||||
}
|
||||
--<PostDeterminer, PFalse> => {s = \\_=> cn.s!det.ntype!det.num; agr = AgP3 det.num cn.gender }
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1351,7 +1541,7 @@ mkSubjPrefix : Agreement -> Str =\a ->case a of {
|
||||
glueGen: Agreement ->Str = \ a -> mkGenPrepNoIVClitic a ++ BIND ++ mkGenAdjSuffix a;
|
||||
|
||||
--Number determining element
|
||||
Numer : Type = { s: Agreement => Str ; n : Number};
|
||||
Numer : Type = { s: Agreement => Str ; n : Number; numeralExists:Bool};
|
||||
|
||||
--VPSlash : Type = VerbPhrase ** { c : Str };
|
||||
VPSlash : Type = {
|
||||
|
||||
+45
-28
@@ -25,8 +25,8 @@ lin
|
||||
in
|
||||
case <temp.t,temp.a, pol.p> of {
|
||||
<Pres,Simul, Pos> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ clitic ++ root ++ compl};
|
||||
False => {s = subj ++ clitic ++ root ++ Predef.BIND ++ compl}
|
||||
True => {s = subj ++ clitic ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
{-Note: when I use pol.s instead of ti, the word alignment instead becomes worse-}
|
||||
<Pres,Simul, Neg> => case cl.isPresBlank of {
|
||||
@@ -46,32 +46,33 @@ lin
|
||||
|
||||
|
||||
<Past,Simul, Pos> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "ka" ++ Predef.BIND ++ root ++ compl};
|
||||
False => {s = subj ++ clitic ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
_ => {s = subj ++ clitic ++ "ka" ++ Predef.BIND ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}--;
|
||||
--False => {s = subj ++ clitic ++ "ka" ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
{-Note: when I use pol.s instead of ti, the word alignment instead becomes worse-}
|
||||
<Past,Simul, Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ root ++ compl};
|
||||
False => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++
|
||||
root ++ pastRestOfVerb ++ compl}
|
||||
True => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ Predef.BIND ++ "ra" ++
|
||||
Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "ra" ++ Predef.BIND ++
|
||||
root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
|
||||
<Past,Anter, Pos> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "kaba" ++Predef.BIND ++ clitic ++
|
||||
root ++ compl};
|
||||
False => {s = subj ++ clitic ++ "kaba" ++ clitic ++ "a" ++ Predef.BIND ++
|
||||
root ++ Predef.BIND ++ "ire"++ compl};
|
||||
False => {s = subj ++ clitic ++ "kaba" ++ clitic ++
|
||||
root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<Past,Anter, Neg> =>case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "ka" ++Predef.BIND ++ clitic ++
|
||||
root ++ compl};
|
||||
False => {s = subj ++ clitic ++ "kaba" ++ clitic ++ "taa" ++ Predef.BIND ++
|
||||
root ++ Predef.BIND ++ "ire"++ compl};
|
||||
False => {s = subj ++ clitic ++ "kaba" ++ clitic ++ "ta" ++ Predef.BIND ++
|
||||
root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
|
||||
<Fut,Simul, Pos> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++ "za ku" ++ Predef.BIND ++ --choice of za over ija
|
||||
root ++ compl};
|
||||
root ++ "a" ++ compl};
|
||||
False => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++ "za ku" ++ Predef.BIND ++ --choice of za over ija
|
||||
root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
@@ -79,23 +80,23 @@ lin
|
||||
|
||||
{-Note: when I use pol.s instead of ti, the word alignment instead becomes worse-}
|
||||
<Fut,Simul, Neg> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "kuza ku" ++ Predef.BIND ++
|
||||
True => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "raaza ku" ++ Predef.BIND ++
|
||||
root ++ compl};
|
||||
False => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "kuza ku" ++ Predef.BIND ++
|
||||
False => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "raaza ku" ++ Predef.BIND ++
|
||||
root ++ BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<Fut,Anter, Pos> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++ "za kuba" ++ Predef.BIND ++ clitic ++ --choice of za over ija
|
||||
True => {s = subj ++ Predef.BIND ++clitic ++ "raaba" ++ clitic ++ --choice of za over ija
|
||||
root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++ "za kuba" ++ Predef.BIND ++ clitic ++ --choice of za over ija
|
||||
False => {s = subj ++ Predef.BIND ++clitic ++ "raaba" ++ clitic ++ --choice of za over ija
|
||||
root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
|
||||
<Fut,Anter, Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ "ni" ++ Predef.BIND ++ clitic ++ "za kuba" ++ clitic ++ Predef.BIND ++
|
||||
True => {s = subj ++ Predef.BIND ++ clitic ++ "raaba " ++ clitic ++ "ta"++ Predef.BIND ++
|
||||
root ++ "ire" ++ compl};
|
||||
False => {s = subj ++ "ni" ++ Predef.BIND ++ clitic ++ "za kuba" ++ clitic ++ "taka" ++ Predef.BIND ++
|
||||
root ++ pastRestOfVerb ++ compl}
|
||||
False => {s = subj ++ Predef.BIND ++ clitic ++ "raaba " ++ clitic ++ "ta" ++ Predef.BIND ++
|
||||
root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<Cond,Simul, Pos> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ clitic ++ "kaa" ++Predef.BIND ++ root ++ compl};
|
||||
@@ -142,8 +143,8 @@ lin
|
||||
_ => mkRPs!RSubj! AgP3 Sg MU_BA
|
||||
};
|
||||
robjClitic = case rcl.agr of {
|
||||
AgrYes a => mkRPs!RObj! a;
|
||||
_ => mkRPs!RObj! AgP3 Sg MU_BA
|
||||
AgrYes a => mkRPsNoClitic!RObj! a;
|
||||
_ => mkRPsNoClitic!RObj! AgP3 Sg MU_BA
|
||||
};
|
||||
presSimul = vMorphs ! VFPres; --this is not delivering the string
|
||||
presAnt = vMorphs ! VFPastPart; --this is not delivering the string
|
||||
@@ -186,7 +187,7 @@ lin
|
||||
<Past,Simul, Pos> => {
|
||||
s = table {
|
||||
RF RSubj => subj ++ rsubjClitic ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl;
|
||||
RF RObj => subj ++ robjClitic ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl;
|
||||
RF RObj => robjClitic ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl;
|
||||
Such_That => "kugira ngu" ++ subjClitic ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl
|
||||
}
|
||||
};
|
||||
@@ -279,8 +280,9 @@ lin
|
||||
};
|
||||
|
||||
|
||||
PredVP np vp = case vp.isCompApStem of{
|
||||
False => {
|
||||
|
||||
PredVP np vp = case <vp.isCompApStem, vp.containsAdV> of {
|
||||
<False,True> => {
|
||||
s = np.s ! Nom; --: NP -> VP -> Cl ; -- John walks / John does not walk
|
||||
subjAgr = np.agr;
|
||||
pres = vp.pres;
|
||||
@@ -297,9 +299,10 @@ lin
|
||||
pastPart = mkVerbPastPart vp.root; -- subject
|
||||
-}
|
||||
--root = vp.root ;
|
||||
compl = vp.comp
|
||||
compl = vp.adV
|
||||
};
|
||||
True => {
|
||||
|
||||
<_, _> => {
|
||||
s = np.s ! Nom; --: NP -> VP -> Cl ; -- John walks / John does not walk
|
||||
subjAgr = np.agr;
|
||||
pres = vp.pres;
|
||||
@@ -319,8 +322,6 @@ lin
|
||||
compl = mkSubjClitic np.agr ++ vp.comp --mkSubjClitic np.agr ++ Predef.BIND ++ vp.comp
|
||||
}
|
||||
};--: NP -> VP -> Cl ; -- John walks / John does not walk
|
||||
|
||||
|
||||
|
||||
{-
|
||||
Note: It seems mkSubjClitic comes with a Predef.BIND already
|
||||
@@ -382,9 +383,25 @@ lin
|
||||
--AdvSlash : ClSlash -> Adv -> ClSlash ; -- (whom) he sees today
|
||||
--SlashPrep : Cl -> Prep -> ClSlash ; -- (with whom) he walks
|
||||
--SlashVS : NP -> VS -> SSlash -> ClSlash ; -- (whom) she says that he loves
|
||||
--2 Embedded sentences
|
||||
|
||||
-- Sentences, questions, and infinitival phrases can be used as
|
||||
-- subjects and (adverbial) complements.
|
||||
|
||||
--EmbedS : S -> SC ; -- that she goes
|
||||
--EmbedQS : QS -> SC ; -- who goes
|
||||
--EmbedVP : VP -> SC ; -- to go
|
||||
EmbedVP vp = case vp.isPresBlank of {
|
||||
TRUE => {s= "oku" ++ Predef.BIND ++ vp.s ++ BIND ++ "a"};
|
||||
_ => {s= "oku" ++ Predef.BIND ++ vp.s ++ BIND ++ vp.pres}
|
||||
};
|
||||
|
||||
-- An adverb can be added to the beginning of a sentence, either with comma ("externally")
|
||||
-- or without:
|
||||
|
||||
--AdvS : Adv -> S -> S ; -- then I will go home
|
||||
--ExtAdvS : Adv -> S -> S ; -- next week, I will go home
|
||||
ExtAdvS adv s = {s=adv.s ++ "," ++ s.s};
|
||||
|
||||
|
||||
{-
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
concrete SentenceCggAbsCgg of SentenceCggAbs = CatCgg
|
||||
open (R=ResCgg) in {
|
||||
|
||||
lincat
|
||||
ExtTense = {s : Str ; t : R.TensesExtra } ;
|
||||
TempExtra = {s : Str ; t : R.TensesExtra a : R.Aspects} ;
|
||||
Aspect = {s : Str ; a : R.AspectsExtra } ;
|
||||
lin
|
||||
--TAspect -> ExtTense ->Ant -> TempExtra ;
|
||||
TAspect extT a ={s = extT.s ++ a.s; t = exT.t; a = a.a};
|
||||
--TRPast : ExtTense ; -- bakagyenda [Remote past]
|
||||
TRPast = {s = [] ; t = R.Remotepast };
|
||||
--TIPast : ExtTense ; -- baagyenda [Immediate Past or Memorial ]
|
||||
TIPast = {s =[] ; t = R.ImmediatePast};
|
||||
--TRFut : ExtTense ; -- I sleep/slept [simultaneous, not compound]
|
||||
TRFut = {s = [] ; t = R.RemoteFut};
|
||||
|
||||
--APerformative : Aspect ; -- I slept [past, "imperfect"] --# notpresent
|
||||
APerformative = {s = []; a = R.Performative };
|
||||
APerfect = {s = []; a = R.Perfect }; -- I will sleep [future] --# notpresent
|
||||
ARes = {s = []; a = R.Resultative }; -- I would sleep [conditional] --# notpresent
|
||||
ARetr = {s = []; a = R.Retrospective }; -- I have slept/had slept [anterior, "compound", "perfect"] --# notpresent
|
||||
AHab = {s = []; a = R.Habitual };
|
||||
AProg = {s = []; a = R.Progrssive };
|
||||
APer = {s = []; a = R.Persitive };
|
||||
UseClExtra : TempExtra -> Pol -> Cl -> S ; -- she had not slept
|
||||
|
||||
|
||||
--UseQClExtra : TempExtra -> Pol -> QCl -> QS ; -- who had not slept
|
||||
--UseRClExtra : TempExtra -> Pol -> RCl -> RS ; -- that had not slept
|
||||
--UseSlashExtra : TempExtra -> Pol -> ClSlash -> SSlash ; -- (that) she had not seen
|
||||
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
abstract SentenceCggExtraAbs = Cat **{
|
||||
|
||||
cat
|
||||
ExtTense;
|
||||
TempExtra;
|
||||
Aspect;
|
||||
fun
|
||||
TAspect -> ExtTense ->Ant -> TempExtra ;
|
||||
TRPast : ExtTense ; -- bakagyenda [Remote past]
|
||||
TIPast : ExtTense ; -- baagyenda [Immediate Past or Memorial ]
|
||||
TRFut : ExtTense ; -- I sleep/slept [simultaneous, not compound]
|
||||
APerformative : Aspect ; -- I slept [past, "imperfect"] --# notpresent
|
||||
APerfect : Aspect ; -- I will sleep [future] --# notpresent
|
||||
ARes : Aspect ; -- I would sleep [conditional] --# notpresent
|
||||
ARetr : Aspect ; -- I have slept/had slept [anterior, "compound", "perfect"] --# notpresent
|
||||
AHab : Aspect ;
|
||||
AProg : Aspect ;
|
||||
APer : Aspect ;
|
||||
|
||||
|
||||
UseClExtra : TempExtra -> Pol -> Cl -> S ; -- she had not slept
|
||||
UseQClExtra : TempExtra -> Pol -> QCl -> QS ; -- who had not slept
|
||||
UseRClExtra : TempExtra -> Pol -> RCl -> RS ; -- that had not slept
|
||||
UseSlashExtra : TempExtra -> Pol -> ClSlash -> SSlash ; -- (that) she had not seen
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
@@ -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}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
+21
-14
@@ -15,19 +15,20 @@ concrete StructuralCgg of Structural = CatCgg **
|
||||
|
||||
lin
|
||||
--Determiner : Type = {s : Str ; s2: Agreement=>Str; ntype : NounState ; num : Number ; pos : Position; doesAgree: Bool };
|
||||
a_Det = {s =[] ; s2 = \\_ => []; ntype = Complete; num = Sg; pos = Pre; doesAgree = False}; --: Det ; indefinite singular ---s
|
||||
aPl_Det = {s =[]; s2= \\_ => []; ntype = Complete; num = Pl; pos = Pre; doesAgree = False}; -- : Det ;indefinite plural ---s
|
||||
the_Det = {s =[]; s2= \\_ => []; ntype = Complete; num = Sg; pos = Pre; doesAgree = False}; --: Det ; -- definite singular ---s thePl_Det = {s =[]; ntype = Complete; num = Pl; pos = PreDeterminer}; --: Det ;definite plural ---s
|
||||
a_Det = {s =[] ; s2 = \\_ => []; ntype = Complete; num = Sg; pos = Pre; doesAgree = False; numeralS=\\_=>[]; numeralExists = False}; --: Det ; indefinite singular ---s
|
||||
aPl_Det = {s =[]; s2= \\_ => []; ntype = Complete; num = Pl; pos = Pre; doesAgree = False; numeralS=\\_=>[]; numeralExists = False}; -- : Det ;indefinite plural ---s
|
||||
the_Det = {s =[]; s2= \\_ => []; ntype = Complete; num = Sg; pos = Pre; doesAgree = False; numeralS=\\_=>[]; numeralExists = False}; --: Det ; -- definite singular ---s thePl_Det = {s =[]; ntype = Complete; num = Pl; pos = PreDeterminer}; --: Det ;definite plural ---s
|
||||
|
||||
every_Det = {s ="buri"; s2 = \\_ => []; ntype=Incomplete; num=Sg; pos=Pre; doesAgree = False} ;
|
||||
few_Det = {s="kye"; s2 = \\_ => []; ntype =Complete; num=Pl; pos=Post; doesAgree = False} ;
|
||||
many_Det ={s="ingi"; s2 = \\_ => []; ntype =Complete; num=Pl; pos=Post; doesAgree = False} ;
|
||||
every_Det = {s ="buri"; s2 = \\_ => []; ntype=Incomplete; num=Sg; pos=Pre; doesAgree = False; numeralS=\\_=>[]; numeralExists = False} ;
|
||||
few_Det = {s="kye"; s2 = \\_ => []; ntype =Complete; num=Pl; pos=Post; doesAgree = False; numeralS=\\_=>[]; numeralExists = False} ;
|
||||
many_Det ={s="ingi"; s2 = \\_ => []; ntype =Complete; num=Pl; pos=Post; doesAgree = False; numeralS=\\_=>[]; numeralExists = False} ;
|
||||
|
||||
i_Pron = {s = table{Gen => glueGen (AgMUBAP1 Sg); _=> mkSStand (AgMUBAP1 Sg)}; third = \\_,_=>[]; agr = AgrYes (AgMUBAP1 Sg)};--mkPron "nyowe" "nyowe" (AgMUBAP1 Sg);
|
||||
youSg_Pron = {s = table{Gen => glueGen (AgMUBAP2 Sg); _=>mkSStand (AgMUBAP2 Sg)}; third = \\_,_=>[]; agr = AgrYes(AgMUBAP2 Sg)};--mkPron "iwe" "we" (AgMUBAP2 Sg);
|
||||
he_Pron, she_Pron = {s = table{Gen => glueGen (AgP3 Sg MU_BA); _=>mkSStand (AgP3 Sg MU_BA)}; third = \\_,_=>[]; agr = AgrYes(AgP3 Sg MU_BA)};--mkPron "uwe" "uwe" (AgP3 Sg MU_BA);
|
||||
we_Pron = {s = table{Gen => glueGen (AgMUBAP1 Pl); _=>mkSStand (AgMUBAP1 Pl)}; third = \\_,_=>[]; agr = AgrYes (AgMUBAP1 Pl)}; --mkPron "itwe" "itwe" (AgMUBAP1 Pl);
|
||||
youPl_Pron = {s = table{Gen => glueGen (AgMUBAP2 Pl); _=>mkSStand (AgMUBAP2 Pl)}; third = \\_,_=>[]; agr =AgrYes (AgMUBAP2 Pl)};--mkPron "imwe" "imwe" (AgMUBAP2 Pl); they_Pron = {s = table{Gen => glueGen AgP3 Pl MU_BA; _=>mkSStand (AgP3 Pl MU_BA)}; third = \\_,_=>[]; itP3Required=False};--mkPron "bo" "bo" (AgP3 Pl MU_BA);
|
||||
they_Pron = {s = table{Gen => glueGen (AgP3 Pl MU_BA); _=>mkSStand (AgP3 Pl MU_BA)}; third = \\_,_=>[]; agr =AgrYes (AgP3 Pl MU_BA)};--mkPron "bo" "bo" (AgP3 Pl MU_BA);
|
||||
-- default implementation Using KI_BI. Use mkmkGenPrepNoIVClitic and
|
||||
it_Pron = {
|
||||
s = \\_=>[];
|
||||
@@ -97,7 +98,7 @@ lin
|
||||
n = Sg
|
||||
};
|
||||
|
||||
have_V2 ={s= "ine"; pres=[]; perf =[]; isPresBlank = False;
|
||||
have_V2 ={s= "in"; pres="e"; perf ="e"; isPresBlank = False;
|
||||
isPerfBlank = False; morphs = mkVerbMorphs; comp = []; isRegular=False}; --: V2 ;
|
||||
|
||||
{-
|
||||
@@ -145,7 +146,7 @@ lin
|
||||
that_Quant = {s={s = \\_=>[]; third =\\_,_=>[]; agr = AgrNo}; s2 = mkThat; doesAgree = True; isPron = False}; --: Quant ;
|
||||
this_Quant = {s={s = \\_=>[]; third =\\_,_=>[]; agr = AgrNo}; s2 = mkThis; doesAgree = True; isPron = False}; --: Quant ;
|
||||
|
||||
no_Quant = {s ={s=\\_=>"tihariho";third =\\_,_=>[]; agr=AgrNo}; s2 =\\_=> []; doesAgree = False; isPron = False};--: Quant ;
|
||||
no_Quant = {s ={s=\\_=>"tihariho";third =\\_,_=>[]; agr=AgrNo}; s2 =\\_=> "tihariho"; doesAgree = False; isPron = False};--: Quant ;
|
||||
{-End of Quantifiers-}
|
||||
|
||||
|
||||
@@ -165,7 +166,7 @@ lin
|
||||
whatPl_IP = { s= "ki"; n = IPl; isVerbSuffix = True; requiresIPPrefix = False; aux=[]; endOfSentence = True} ; -- what (plural)
|
||||
whatSg_IP = { s= "ki"; n = ISg; isVerbSuffix = True; requiresIPPrefix = False; aux=[]; endOfSentence = True}; --: IP ; -- what (singular)
|
||||
whoPl_IP = { s= "ha"; n = IPl; isVerbSuffix = True; requiresIPPrefix = False; aux="ni"; endOfSentence = True} ;--: IP ; -- who (plural)
|
||||
whoSg_IP = { s= "ha"; n = ISg; isVerbSuffix = True; requiresIPPrefix = False; aux=[]; endOfSentence = True}; --: IP ; -- who (singular)
|
||||
whoSg_IP = { s= "ha"; n = ISg; isVerbSuffix = True; requiresIPPrefix = False; aux="ni"; endOfSentence = True}; --: IP ; -- who (singular)
|
||||
--You may need to use booleans to indicate that you need these tables rather than carrying them.
|
||||
how_IAdv = {s ="ta"; requiresSubjPrefix = True; endOfSentence =True}; --: IAdv ;
|
||||
--how8much_IAdv = {s ="kwiga"; s2requireSubjPrefix = True};--: IAdv ;
|
||||
@@ -191,17 +192,21 @@ lin
|
||||
s2 =\\agr => mkSubjCliticTableSg ! agr ++ BIND++ "mwe";
|
||||
ntype = Complete;
|
||||
num = Sg;
|
||||
pos = Pre;
|
||||
doesAgree = True
|
||||
pos = Post;
|
||||
doesAgree = True;
|
||||
numeralS=\\_=>[];
|
||||
numeralExists = False
|
||||
};
|
||||
somePl_Det =
|
||||
{
|
||||
s =[];
|
||||
s2 =\\agr => mkSubjCliticTablePl ! agr ++ BIND++ "mwe";
|
||||
s2 =\\agr => "mwe";-- mkSubjCliticTablePl ! agr ++ "mwe";
|
||||
ntype = Complete;
|
||||
num = Pl;
|
||||
pos = Pre;
|
||||
doesAgree = True
|
||||
pos = Post;
|
||||
doesAgree = True;
|
||||
numeralS=\\_=>[];
|
||||
numeralExists = False
|
||||
};--: Det ;
|
||||
|
||||
want_VV = {s = "yend"; pres="da"; perf = "zire"; isPresBlank = False;
|
||||
@@ -219,6 +224,8 @@ lin
|
||||
--somewhere_Adv : Adv ;
|
||||
|
||||
that_Subj = ss "ngu" ;
|
||||
when_Subj = ss "obu";
|
||||
because_Subj = ss "ahabwokuba";
|
||||
|
||||
--Adjective modifying Adverbs
|
||||
almost_AdA = {s="haihi"; position=Pre}; --: AdA ;
|
||||
|
||||
@@ -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 ;
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
concrete TenseExtraCgg of TenseExtra = {
|
||||
param
|
||||
-- for Extra Tenses not implemented
|
||||
-- would be better if I had alliases
|
||||
Tenses = RemotePast|NearPast | MemorialPres |ExpPres|NearFut |RemoteFut;
|
||||
|
||||
-- for Extra Aspects not implemented
|
||||
-- would be better if I had alliases
|
||||
Aspect = Performative | Perfect | Resultative | Retrospective | Habitual | Progressive | Persistive;
|
||||
lincat
|
||||
TempExtra = {s:Str; t:Tenses; a:Aspect};
|
||||
TenseExtra = {s:Str; t:Tenses};
|
||||
Asp = {s:Str; a:Aspect};
|
||||
--lindef
|
||||
--TempExtra = \str_0 -> {s = str_0; a = Habitual;t = ExPres} ;
|
||||
|
||||
lin
|
||||
--TTAsp : TenseExtra -> Asp -> TempExtra ; -- [combination of tense and Apect, e.g. ExPres Performative]
|
||||
TTAsp tense aspect = {s=[]; t=tense.t; a=aspect.a};
|
||||
--PPos : Pol ; -- I sleep [positive polarity]
|
||||
--PNeg : Pol ; -- I don't sleep [negative polarity]
|
||||
|
||||
TExPres = {s=[]; t= ExpPres} ; -- I sleep/have slept [present]
|
||||
|
||||
TMPres = {s=[]; t=MemorialPres} ; -- I slept [past, "imperfect"] --# notpresent
|
||||
TNFut = {s=[]; t=NearFut} ; -- I will sleep [future] --# notpresent
|
||||
TNPast = {s=[]; t= NearPast} ; -- I would sleep [conditional] --# notpresent
|
||||
TRPast = {s=[]; t= RemotePast} ;
|
||||
TRFut = {s=[]; t = RemoteFut} ;
|
||||
APerform = {s=[]; a = Performative} ; -- I sleep/slept [simultaneous, not compound]
|
||||
APerf = {s=[]; a= Perfect}; -- I have slept/had slept [anterior, "compound", "perfect"] --# notpresent
|
||||
AResult = {s=[]; a= Resultative};
|
||||
ARetrosp = {s=[]; a= Retrospective};
|
||||
AHabitual = {s=[]; a= Habitual};
|
||||
AProg = {s=[]; a=Progressive} ;
|
||||
APersist = {s=[]; a=Persistive} ;
|
||||
}
|
||||
@@ -194,7 +194,7 @@ lin
|
||||
isCompApStem = False;
|
||||
agr = AgrNo;
|
||||
isRegular = vp.isRegular;
|
||||
adv = [];
|
||||
adv = adv.s;
|
||||
containsAdv =True;
|
||||
adV =[];
|
||||
containsAdV = False
|
||||
|
||||
@@ -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"] ;
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 14 KiB |
@@ -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;
|
||||
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 87 KiB |
@@ -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
|
||||
@@ -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
|
||||
@@ -0,0 +1,5 @@
|
||||
lines1
|
||||
lines2
|
||||
lines8
|
||||
lines7
|
||||
lines10
|
||||
@@ -0,0 +1,4 @@
|
||||
lines3
|
||||
lines4
|
||||
lines11
|
||||
lines8
|
||||
@@ -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
|
||||
@@ -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 ;
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
@@ -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
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
@@ -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
|
||||
@@ -0,0 +1,2 @@
|
||||
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 ComplA2 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 ImpP3 ImpPl1 ImpersCl InLanguage 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 MkDefinition MkDefinitionEx MkDocument MkTag NoDefinition PConjConj PassV2 PositAdAAdj PositAdvAdj PredSCVP PrepIP ProgrVP QuestQVP ReflA2 ReflVP RelS SSubjS SelfAdVVP SelfAdvVP SelfNP SentAP SentCN SlashPrep SlashV2A SlashV2Q SlashV2S SlashV2V SlashV2VNP SlashVS SubjS UseA2 UseSlash VPSlashPrep VocNP a_Mark above_Prep active2passive afrikaans_Language airplane_N already_Adv although_Subj amharic_Language answer_V2S apartment_N april_Month arabic_Language art_N as_CAdv ashes_N ask_V2Q at_most_AdN august_Month b_Mark back_N bank_N bark_N beautiful_A because_Subj before_Prep beg_V2V belly_N blow_V bone_N boot_N boss_N both7and_DConj bottle_of_CN breast_N breathe_V broad_A brother_N2 brown_A bulgarian_Language burn_V butter_N by8agent_Prep by8means_Prep camera_N cap_N carpet_N catalan_Language ceiling_N chair_N cheese_N chinese_Language church_N clever_A coat_N correct_A country_N cousin_N cup_of_CN danish_Language dayMonthAdv dayMonthYearAdv day_N day_Timeunit dconcat december_Month die_V dig_V digits2num digits2numeral dirty_A dn dn10 dn100 dn1000 dn1000000a dn1000000b dn1000000c doctor_N door_N dry_A dull_A during_Prep dust_N dutch_Language ear_N earth_N easy_A2V egg_N eightHour eighteenHour either7or_DConj elevenHour empty_A enemy_N english_Language estonian_Language everybody_NP everything_NP except_Prep eye_N factory_N fall_V far_Adv fat_N feather_N february_Month few_X_short_of_Y fifteenHour fight_V2 fingernail_N finnish_Language fiveHour float_V floor_N flow_V fly_V fog_N foot_N for_Prep forest_N forget_V2 fourHour fourteenHour freeze_V french_Language friday_Weekday fridge_N fruit_N full_A fun_AV garden_N german_Language glass_of_CN glove_N gold_N grass_N greek_Language guts_N h1_Mark h2_Mark hair_N hand_N harbour_N has_age_VP hat_N hate_V2 have_name_Cl head_N hear_V2 heart_N hebrew_Language here7from_Adv here7to_Adv hill_N hindi_Language hit_V2 hold_V2 horn_N hour_Timeunit how8much_IAdv how_far_QCl how_old_QCl hungry_VP hunt_V2 husband_N i_Mark ice_N if_Subj if_then_Conj ill_VP important_A industry_N intMonthday intYear iron_N is_right_VP is_wrong_VP italian_Language january_Month japanese_Language july_Month june_Month king_N knee_N know_V2 lake_N lamp_N languageCN languageNP 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 liver_N long_A lose_V2 louse_N love_N maltese_Language march_Month married_A2 married_Cl may_Month meat_N minute_Timeunit monday_Weekday monthAdv monthN monthPN monthYearAdv month_Timeunit moon_N more_CAdv mother_N2 mountain_N mouth_N much_Det n_units_AP n_units_of_NP name_N narrow_A nd nd10 nd100 nd1000 nd1000000 near_A neck_N nepali_Language newspaper_N night_N nineHour nineteenHour no_Utt nobody_NP norwegian_Language nose_N nothing_NP november_Month num2digits number_N october_Month oil_N oneHour open_V2 p_Mark paint_V2A paper_N part_Prep peace_N pen_N persian_Language person_N planet_N plastic_N play_V2 policeman_N polish_Language possess_Prep priest_N probable_AS pull_V2 punjabi_Language push_V2 put_V2 queen_N question_N quite_Adv radio_N rain_N rain_V0 ready_VP reason_N religion_N restaurant_N right_Ord road_N rock_N romanian_Language roof_N root_N rope_N rotten_A round_A rub_V2 rubber_N rule_N russian_Language salt_N sand_N saturday_Weekday scared_VP school_N science_N scratch_V2 second_Timeunit seed_N seek_V2 september_Month sevenHour seventeenHour sew_V sharp_A sheep_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 smell_V smoke_N smooth_A snake_N snow_N sock_N somebody_NP something_NP somewhere_Adv song_N spanish_Language 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 sunday_Weekday swahili_Language swedish_Language swell_V switch8off_V2 switch8on_V2 table_Mark table_N tail_N td_Mark teacher_N television_N tenHour thai_Language there7from_Adv there7to_Adv there_Adv they_Pron thick_A thin_A think_V thirsty_VP thirteenHour threeHour through_Prep throw_V2 thursday_Weekday tie_V2 timeHour timeHourMinute timeunitAdv tired_VP today_AdvLine truncated
|
||||
|
||||
@@ -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
|
||||
@@ -0,0 +1,3 @@
|
||||
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 ComplA2 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 ImpP3 ImpPl1 ImpersCl InLanguage 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 MkDefinition MkDefinitionEx MkDocument MkTag NoDefinition PConjConj PassV2 PositAdAAdj PositAdvAdj PredSCVP PrepIP ProgrVP QuestQVP ReflA2 ReflVP RelS SSubjS SelfAdVVP SelfAdvVP SelfNP SentAP SentCN SlashPrep SlashV2A SlashV2Q SlashV2S SlashV2V SlashV2VNP SlashVS SubjS UseA2 UseSlash VPSlashPrep VocNP a_Mark above_Prep active2passive afrikaans_Language airplane_N already_Adv although_Subj amharic_Language answer_V2S apartment_N april_Month arabic_Language art_N as_CAdv ashes_N ask_V2Q at_most_AdN august_Month b_Mark back_N bank_N bark_N beautiful_A because_Subj before_Prep beg_V2V belly_N blow_V bone_N boot_N boss_N both7and_DConj bottle_of_CN breast_N breathe_V broad_A brother_N2 brown_A bulgarian_Language burn_V butter_N by8agent_Prep by8means_Prep camera_N cap_N carpet_N catalan_Language ceiling_N chair_N cheese_N chinese_Language church_N clever_A coat_N correct_A country_N cousin_N cup_of_CN danish_Language dayMonthAdv dayMonthYearAdv day_N day_Timeunit dconcat december_Month die_V dig_V digits2num digits2numeral dirty_A dn dn10 dn100 dn1000 dn1000000a dn1000000b dn1000000c doctor_N door_N dry_A dull_A during_Prep dust_N dutch_Language ear_N earth_N easy_A2V egg_N eightHour eighteenHour either7or_DConj elevenHour empty_A enemy_N english_Language estonian_Language everybody_NP everything_NP except_Prep eye_N factory_N fall_V far_Adv fat_N feather_N february_Month few_X_short_of_Y fifteenHour fight_V2 fingernail_N finnish_Language fiveHour float_V floor_N flow_V fly_V fog_N foot_N for_Prep forest_N forget_V2 fourHour fourteenHour freeze_V french_Language friday_Weekday fridge_N fruit_N full_A fun_AV garden_N german_Language glass_of_CN glove_N gold_N grass_N greek_Language guts_N h1_Mark h2_Mark hair_N hand_N harbour_N has_age_VP hat_N hate_V2 have_name_Cl head_N hear_V2 heart_N hebrew_Language here7from_Adv here7to_Adv hill_N hindi_Language hit_V2 hold_V2 horn_N hour_Timeunit how8much_IAdv how_far_QCl how_old_QCl hungry_VP hunt_V2 husband_N i_Mark ice_N if_Subj if_then_Conj ill_VP important_A industry_N intMonthday intYear iron_N is_right_VP is_wrong_VP italian_Language january_Month japanese_Language july_Month june_Month king_N knee_N know_V2 lake_N lamp_N languageCN languageNP 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 liver_N long_A lose_V2 louse_N love_N maltese_Language march_Month married_A2 married_Cl may_Month meat_N minute_Timeunit monday_Weekday monthAdv monthN monthPN monthYearAdv month_Timeunit moon_N more_CAdv mother_N2 mountain_N mouth_N much_Det n_units_AP n_units_of_NP name_N narrow_A nd nd10 nd100 nd1000 nd1000000 near_A neck_N nepali_Language newspaper_N night_N nineHour nineteenHour no_Utt nobody_NP norwegian_Language nose_N nothing_NP november_Month num2digits number_N october_Month oil_N oneHour open_V2 p_Mark paint_V2A paper_N part_Prep peace_N pen_N persian_Language person_N planet_N plastic_N play_V2 policeman_N polish_Language possess_Prep priest_N probable_AS pull_V2 punjabi_Language push_V2 put_V2 queen_N question_N quite_Adv radio_N rain_N rain_V0 ready_VP reason_N religion_N restaurant_N right_Ord road_N rock_N romanian_Language roof_N root_N rope_N rotten_A round_A rub_V2 rubber_N rule_N russian_Language salt_N sand_N saturday_Weekday scared_VP school_N science_N scratch_V2 second_Timeunit seed_N seek_V2 september_Month sevenHour seventeenHour sew_V sharp_A sheep_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 smell_V smoke_N smooth_A snake_N snow_N sock_N somebody_NP something_NP somewhere_Adv song_N spanish_Language 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 sunday_Weekday swahili_Language swedish_Language swell_V switch8off_V2 switch8on_V2 table_Mark table_N tail_N td_Mark teacher_N television_N tenHour thai_Language there7from_Adv there7to_Adv there_Adv they_Pron thick_A thin_A think_V thirsty_VP thirteenHour threeHour through_Prep throw_V2 thursday_Weekday tie_V2 timeHour timeHourMinute timeunitAdv tired_VP today_AdvLine truncated
|
||||
LangEng : active2passive dconcat digits2num digits2numeral dn dn10 dn100 dn1000 dn1000000a dn1000000b dn1000000c n_units_of_NP nd nd10 nd100 nd1000 nd1000000 num2digits
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
} ;
|
||||
}
|
||||
|
||||
@@ -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 ++ "чем"} ;
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
--# -path=.:../abstract:../common:../prelude:../api
|
||||
|
||||
concrete AllRus of AllRusAbs =
|
||||
LangRus,
|
||||
ExtraRus
|
||||
** {flags coding=utf8 ;} ;
|
||||
@@ -0,0 +1,6 @@
|
||||
--# -path=.:../abstract:../common:prelude
|
||||
|
||||
abstract AllRusAbs =
|
||||
Lang,
|
||||
ExtraRusAbs
|
||||
** {} ;
|
||||
@@ -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} ;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -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
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
@@ -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>"};
|
||||
|
||||
}
|
||||
@@ -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 +++
|
||||
}
|
||||
@@ -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 };
|
||||
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
abstract ExtraRusAbs = Cat ** {
|
||||
|
||||
fun
|
||||
|
||||
have_V3 : V3 ;
|
||||
have2_V3 : V3 ;
|
||||
have_not_V3 : V3;
|
||||
|
||||
be_V3 : V3 ;
|
||||
|
||||
to2_Prep : Prep ;
|
||||
}
|
||||
@@ -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 ;} ;
|
||||
@@ -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 ;
|
||||
|
||||
}
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
} ;
|
||||
@@ -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 "молодой" "моложе" ;
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
@@ -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} ;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
} ;
|
||||
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
} ;
|
||||
} ;
|
||||
@@ -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} ;
|
||||
|
||||
}
|
||||
@@ -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} ;
|
||||
}
|
||||
@@ -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 )} ;
|
||||
}
|
||||
|
||||
@@ -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 ;
|
||||
}
|
||||
@@ -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} ; ---- ?
|
||||
|
||||
}
|
||||
|
||||
@@ -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 = #(("с"|"з"|"ж"|"ш"|"л"|"ль"|"р"|"м"|"в"|"С"|"З"|"Ж"|"Ш"|"Л"|"Ль"|"Р"|"М"|"В"|"ЛЬ") +
|
||||
("б" | "в" | "г" | "д" | "ж" | "з" | "й" | "к" | "л" | "м" | "н" | "п" | "р" | "с" | "т" | "ф" | "х" | "ц" | "ч" | "ш" | "щ" |
|
||||
"Б" | "В" | "Г" | "Д" | "Ж" | "З" | "Й" | "К" | "Л" | "М" | "Н" | "П" | "Р" | "С" | "Т" | "Ф" | "Х" | "Ц" | "Ч" | "Ш" | "Щ")) ;
|
||||
}
|
||||
@@ -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 "," ;
|
||||
|
||||
|
||||
}
|
||||
@@ -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