mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-23 19:42:50 -06:00
changed names of resource-1.3; added a note on homepage on release
This commit is contained in:
6
old-examples/mp3/Lexicon.gf
Normal file
6
old-examples/mp3/Lexicon.gf
Normal file
@@ -0,0 +1,6 @@
|
||||
interface Lexicon = open Structural in {
|
||||
|
||||
oper
|
||||
play : TV ;
|
||||
song : N ;
|
||||
}
|
||||
9
old-examples/mp3/LexiconEng.gf
Normal file
9
old-examples/mp3/LexiconEng.gf
Normal file
@@ -0,0 +1,9 @@
|
||||
instance LexiconEng of Lexicon = open StructuralEng, ParadigmsEng in {
|
||||
|
||||
oper
|
||||
play = tvDir (vReg "play") ;
|
||||
song = nReg "song" nonhuman ;
|
||||
|
||||
yesterday = npReg "Yesterday" ;
|
||||
|
||||
}
|
||||
9
old-examples/mp3/LexiconFin.gf
Normal file
9
old-examples/mp3/LexiconFin.gf
Normal file
@@ -0,0 +1,9 @@
|
||||
instance LexiconFin of Lexicon = open StructuralFin, ParadigmsFin in {
|
||||
|
||||
oper
|
||||
play = tvDir (vKattaa "soittaa" "soitan") ;
|
||||
song = nRae "kappale" "kappaleena" ;
|
||||
|
||||
yesterday = UsePN (mkPN (nPuu "Yesterday")) ;
|
||||
|
||||
}
|
||||
9
old-examples/mp3/LexiconFre.gf
Normal file
9
old-examples/mp3/LexiconFre.gf
Normal file
@@ -0,0 +1,9 @@
|
||||
instance LexiconFre of Lexicon = open StructuralFre, ParadigmsFre in {
|
||||
|
||||
oper
|
||||
play = tvDir (vAimer "jouer") ;
|
||||
song = nReg "chanson" feminine ;
|
||||
|
||||
yesterday = mkNP "Yesterday" masculine ;
|
||||
|
||||
}
|
||||
8
old-examples/mp3/LexiconGer.gf
Normal file
8
old-examples/mp3/LexiconGer.gf
Normal file
@@ -0,0 +1,8 @@
|
||||
instance LexiconGer of Lexicon = open StructuralGer, ParadigmsGer in {
|
||||
|
||||
oper
|
||||
play = tvDir (vWeak "spielen") ;
|
||||
song = nBuch "lied" "lieder" ;
|
||||
|
||||
yesterday = npReg "Yesterday" ;
|
||||
}
|
||||
9
old-examples/mp3/LexiconSwe.gf
Normal file
9
old-examples/mp3/LexiconSwe.gf
Normal file
@@ -0,0 +1,9 @@
|
||||
instance LexiconSwe of Lexicon = open StructuralSwe, ParadigmsSwe in {
|
||||
|
||||
oper
|
||||
play = tvDir (vKoka "spela") ;
|
||||
song = nBil "låt" ;
|
||||
|
||||
yesterday = npReg "Yesterday" neutrum ;
|
||||
|
||||
}
|
||||
19
old-examples/mp3/MP3.gf
Normal file
19
old-examples/mp3/MP3.gf
Normal file
@@ -0,0 +1,19 @@
|
||||
abstract MP3 = {
|
||||
cat
|
||||
Move ;
|
||||
Song ;
|
||||
|
||||
fun
|
||||
Play : Song -> Move ;
|
||||
CanPlay : Song -> Move ;
|
||||
WantPlay : Song -> Move ;
|
||||
WhichPlay : Move ;
|
||||
|
||||
ThisSong : Song ;
|
||||
This : Song ;
|
||||
|
||||
Yesterday : Song ;
|
||||
|
||||
---- MkSong : String -> Song ;
|
||||
|
||||
}
|
||||
5
old-examples/mp3/MP3Eng.gf
Normal file
5
old-examples/mp3/MP3Eng.gf
Normal file
@@ -0,0 +1,5 @@
|
||||
--# -path=.:resource-0.6/english:resource-0.6/abstract:prelude
|
||||
|
||||
concrete MP3Eng of MP3 = MP3I with
|
||||
(Structural = StructuralEng),
|
||||
(Lexicon = LexiconEng) ;
|
||||
5
old-examples/mp3/MP3Fin.gf
Normal file
5
old-examples/mp3/MP3Fin.gf
Normal file
@@ -0,0 +1,5 @@
|
||||
--# -path=.:resource-0.6/finnish:resource-0.6/abstract:prelude
|
||||
|
||||
concrete MP3Fin of MP3 = MP3I with
|
||||
(Structural = StructuralFin),
|
||||
(Lexicon = LexiconFin) ;
|
||||
5
old-examples/mp3/MP3Fre.gf
Normal file
5
old-examples/mp3/MP3Fre.gf
Normal file
@@ -0,0 +1,5 @@
|
||||
--# -path=.:resource-0.6/french:resource-0.6/romance:resource-0.6/abstract:prelude
|
||||
|
||||
concrete MP3Fre of MP3 = MP3I with
|
||||
(Structural = StructuralFre),
|
||||
(Lexicon = LexiconFre) ;
|
||||
5
old-examples/mp3/MP3Ger.gf
Normal file
5
old-examples/mp3/MP3Ger.gf
Normal file
@@ -0,0 +1,5 @@
|
||||
--# -path=.:resource-0.6/german:resource-0.6/abstract:prelude
|
||||
|
||||
concrete MP3Ger of MP3 = MP3I with
|
||||
(Structural = StructuralGer),
|
||||
(Lexicon = LexiconGer) ;
|
||||
24
old-examples/mp3/MP3I.gf
Normal file
24
old-examples/mp3/MP3I.gf
Normal file
@@ -0,0 +1,24 @@
|
||||
--# -path=.:resource-0.6/english:resource-0.6/abstract:prelude
|
||||
|
||||
incomplete concrete MP3I of MP3 = open Structural, Lexicon in {
|
||||
|
||||
flags startcat=Move ;
|
||||
|
||||
lincat
|
||||
Move = Phr ;
|
||||
Song = NP ;
|
||||
|
||||
lin
|
||||
Play song = ImperOne (ImperVP (PosVG (PredTV play song))) ;
|
||||
CanPlay song = QuestPhrase (QuestVP ThouNP (PosVG (PredVV CanVV (PredTV play song)))) ;
|
||||
WantPlay song = IndicPhrase (PredVP INP (PosVG (PredVV WantVV (PredTV play song)))) ;
|
||||
WhichPlay = QuestPhrase (IntVP (NounIPOne (UseN song)) (PosVG (PredPassV (VTrans play)))) ;
|
||||
|
||||
ThisSong = DetNP ThisDet (UseN song) ;
|
||||
This = ThisNP ;
|
||||
|
||||
Yesterday = yesterday ;
|
||||
|
||||
---- MkSong : String -> Song ;
|
||||
|
||||
}
|
||||
5
old-examples/mp3/MP3Swe.gf
Normal file
5
old-examples/mp3/MP3Swe.gf
Normal file
@@ -0,0 +1,5 @@
|
||||
--# -path=.:resource-0.6/swedish:resource-0.6/abstract:prelude
|
||||
|
||||
concrete MP3Swe of MP3 = MP3I with
|
||||
(Structural = StructuralSwe),
|
||||
(Lexicon = LexiconSwe) ;
|
||||
117
old-examples/mp3/mp3-resource.html
Normal file
117
old-examples/mp3/mp3-resource.html
Normal file
@@ -0,0 +1,117 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
|
||||
<TITLE>Using the GF resource grammar library in multilingual grammars: an example</TITLE>
|
||||
</HEAD><BODY BGCOLOR="white" TEXT="black">
|
||||
<P ALIGN="center"><CENTER><H1>Using the GF resource grammar library in multilingual grammars: an example</H1>
|
||||
<FONT SIZE="4">
|
||||
<I>Author: Aarne Ranta <aarne (at) cs.chalmers.se></I><BR>
|
||||
Last update: Fri Dec 16 14:30:57 2005
|
||||
</FONT></CENTER>
|
||||
|
||||
<P></P>
|
||||
<HR NOSHADE SIZE=1>
|
||||
<P></P>
|
||||
<UL>
|
||||
<LI><A HREF="#toc1">Quick try</A>
|
||||
<LI><A HREF="#toc2">Structure</A>
|
||||
<LI><A HREF="#toc3">Resource library version</A>
|
||||
</UL>
|
||||
|
||||
<P></P>
|
||||
<HR NOSHADE SIZE=1>
|
||||
<P></P>
|
||||
<P>
|
||||
This document describes the contents of the directory
|
||||
<A HREF="http://www.cs.chalmers.se/~aarne/GF/examples/mp3/"><CODE>GF/examples/mp3</CODE></A>.
|
||||
</P>
|
||||
<P>
|
||||
This directory contains a small example of a dialogue system
|
||||
grammar built by using the GF resource grammar library. Its sole
|
||||
purpose is to demonstrate this usage, i.e.
|
||||
</P>
|
||||
<UL>
|
||||
<LI>how the resource API is used to define concrete syntax
|
||||
<P></P>
|
||||
<LI>how to divide the grammar into modules
|
||||
</UL>
|
||||
|
||||
<P>
|
||||
Thus it is not intended to be (even a part of) a really useful
|
||||
system.
|
||||
</P>
|
||||
<A NAME="toc1"></A>
|
||||
<H2>Quick try</H2>
|
||||
<P>
|
||||
To try out the grammar, do for example
|
||||
</P>
|
||||
<PRE>
|
||||
gf mk3.gfcm -- start GF
|
||||
|
||||
> gr | l -multi -- random generate
|
||||
|
||||
> p -tr "which song is played ?" | l -multi -- parse and translate
|
||||
|
||||
> gt -tr | l -lang=MP3Swe -- generate Swedish "treebank"
|
||||
|
||||
> si -tr | p | l -multi -- translate speech input
|
||||
[say:] I want to play Yesterday
|
||||
</PRE>
|
||||
<P>
|
||||
The last command only works if you have installed
|
||||
<A HREF="http://mi.eng.cam.ac.uk/~sjy/software.htm">ATK</A> and compiled
|
||||
<A HREF="http://www.cs.chalmers.se/Cs/Research/Language-technology/darcs/GF/doc/darcs.html">GF version 14/12/2005</A>
|
||||
or later.
|
||||
</P>
|
||||
<A NAME="toc2"></A>
|
||||
<H2>Structure</H2>
|
||||
<P>
|
||||
The directory consists of the following grammars:
|
||||
</P>
|
||||
<UL>
|
||||
<LI><A HREF="MP3.gf"><CODE>MP3.gf</CODE></A> the main abstract syntax
|
||||
<LI><A HREF="MP3I.gf"><CODE>MP3I.gf</CODE></A> functor implementation of the main abstract
|
||||
<LI><A HREF="MP3Eng.gf"><CODE>MP3Eng.gf</CODE></A> English instantiation of the functor
|
||||
<LI><A HREF="MP3Fin.gf"><CODE>MP3Fin.gf</CODE></A> Finnish instantiation of the functor (buggy)
|
||||
<LI><A HREF="MP3Fre.gf"><CODE>MP3Fre.gf</CODE></A> French instantiation of the functor
|
||||
<LI><A HREF="MP3Ger.gf"><CODE>MP3Ger.gf</CODE></A> German instantiation of the functor
|
||||
<LI><A HREF="MP3Swe.gf"><CODE>MP3Swe.gf</CODE></A> Swedish instantiation of the functor
|
||||
<LI><A HREF="Lexicon.gf"><CODE>Lexicon.gf</CODE></A> the interface on which <CODE>MP3I.gf</CODE> depends
|
||||
<LI><A HREF="LexiconEng.gf"><CODE>LexiconEng.gf</CODE></A> English instance of the interface
|
||||
<LI><A HREF="LexiconFin.gf"><CODE>LexiconFin.gf</CODE></A> Finnish instance of the interface
|
||||
<LI><A HREF="LexiconFre.gf"><CODE>LexiconFre.gf</CODE></A> French instance of the interface
|
||||
<LI><A HREF="LexiconGer.gf"><CODE>LexiconGer.gf</CODE></A> German instance of the interface
|
||||
<LI><A HREF="LexiconSwe.gf"><CODE>LexiconSwe.gf</CODE></A> Swedish instance of the interface
|
||||
</UL>
|
||||
|
||||
<P>
|
||||
The main linguistic content is in the functor <CODE>MP3I</CODE> and the
|
||||
instances of the <CODE>Lexicon</CODE> interface.
|
||||
</P>
|
||||
<P>
|
||||
The way in which the implementation is divided to a functor
|
||||
and an interface depending on it should work as a model for
|
||||
building resource grammar applications in general.
|
||||
</P>
|
||||
<P>
|
||||
In order to compile the grammars from source, you must set the
|
||||
environment variable <CODE>GF_LIB_PATH</CODE> to point at the root
|
||||
of your GF library, e.g. in the bash shell,
|
||||
</P>
|
||||
<PRE>
|
||||
export GF_LIB_PATH=/usr/local/lib/GF/
|
||||
</PRE>
|
||||
<P></P>
|
||||
<A NAME="toc3"></A>
|
||||
<H2>Resource library version</H2>
|
||||
<P>
|
||||
The example builds on resource v. 0.6. The reason for not building
|
||||
on a later version is that German is not yet implemented for them.
|
||||
The example will probably be migrated to v. 1.0 soon. The new resource
|
||||
version will fix the bugs in the Finnish implementation.
|
||||
</P>
|
||||
|
||||
<!-- html code generated by txt2tags 2.0 (http://txt2tags.sf.net) -->
|
||||
<!-- cmdline: txt2tags -\-toc mp3-resource.txt -->
|
||||
</BODY></HTML>
|
||||
90
old-examples/mp3/mp3-resource.txt
Normal file
90
old-examples/mp3/mp3-resource.txt
Normal file
@@ -0,0 +1,90 @@
|
||||
Using the GF resource grammar library in multilingual grammars: an example
|
||||
Author: Aarne Ranta <aarne (at) cs.chalmers.se>
|
||||
Last update: %%date(%c)
|
||||
|
||||
% NOTE: this is a txt2tags file.
|
||||
% Create an html file from this file using:
|
||||
% txt2tags --toc mp3-resource.txt
|
||||
|
||||
%!target:html
|
||||
|
||||
|
||||
|
||||
This document describes the contents of the directory
|
||||
[``GF/examples/mp3`` http://www.cs.chalmers.se/~aarne/GF/examples/mp3/].
|
||||
|
||||
This directory contains a small example of a dialogue system
|
||||
grammar built by using the GF resource grammar library. Its sole
|
||||
purpose is to demonstrate this usage, i.e.
|
||||
|
||||
- how the resource API is used to define concrete syntax
|
||||
|
||||
- how to divide the grammar into modules
|
||||
|
||||
|
||||
Thus it is not intended to be (even a part of) a really useful
|
||||
system.
|
||||
|
||||
|
||||
==Quick try==
|
||||
|
||||
To try out the grammar, do for example
|
||||
```
|
||||
gf mk3.gfcm -- start GF
|
||||
|
||||
> gr | l -multi -- random generate
|
||||
|
||||
> p -tr "which song is played ?" | l -multi -- parse and translate
|
||||
|
||||
> gt -tr | l -lang=MP3Swe -- generate Swedish "treebank"
|
||||
|
||||
> si -tr | p | l -multi -- translate speech input
|
||||
[say:] I want to play Yesterday
|
||||
```
|
||||
The last command only works if you have installed the
|
||||
[ATK http://mi.eng.cam.ac.uk/~sjy/software.htm] speech recognition library
|
||||
and compiled
|
||||
[GF version 14/12/2005 http://www.cs.chalmers.se/Cs/Research/Language-technology/darcs/GF/doc/darcs.html]
|
||||
or later, with support for ATK enabled.
|
||||
|
||||
|
||||
==Structure==
|
||||
|
||||
The directory consists of the following grammars:
|
||||
|
||||
- [``MP3.gf`` MP3.gf] the main abstract syntax
|
||||
- [``MP3I.gf`` MP3I.gf] functor implementation of the main abstract
|
||||
- [``MP3Eng.gf`` MP3Eng.gf] English instantiation of the functor
|
||||
- [``MP3Fin.gf`` MP3Fin.gf] Finnish instantiation of the functor (buggy)
|
||||
- [``MP3Fre.gf`` MP3Fre.gf] French instantiation of the functor
|
||||
- [``MP3Ger.gf`` MP3Ger.gf] German instantiation of the functor
|
||||
- [``MP3Swe.gf`` MP3Swe.gf] Swedish instantiation of the functor
|
||||
- [``Lexicon.gf`` Lexicon.gf] the interface on which ``MP3I.gf`` depends
|
||||
- [``LexiconEng.gf`` LexiconEng.gf] English instance of the interface
|
||||
- [``LexiconFin.gf`` LexiconFin.gf] Finnish instance of the interface
|
||||
- [``LexiconFre.gf`` LexiconFre.gf] French instance of the interface
|
||||
- [``LexiconGer.gf`` LexiconGer.gf] German instance of the interface
|
||||
- [``LexiconSwe.gf`` LexiconSwe.gf] Swedish instance of the interface
|
||||
|
||||
|
||||
The main linguistic content is in the functor ``MP3I`` and the
|
||||
instances of the ``Lexicon`` interface.
|
||||
|
||||
The way in which the implementation is divided to a functor
|
||||
and an interface depending on it should work as a model for
|
||||
building resource grammar applications in general.
|
||||
|
||||
In order to compile the grammars from source, you must set the
|
||||
environment variable ``GF_LIB_PATH`` to point at the root
|
||||
of your GF library, e.g. in the bash shell,
|
||||
|
||||
``` export GF_LIB_PATH=/usr/local/lib/GF/
|
||||
|
||||
|
||||
==Resource library version==
|
||||
|
||||
The example builds on resource v. 0.6. The reason for not building
|
||||
on a later version is that German is not yet implemented for them.
|
||||
The example will probably be migrated to v. 1.0 soon. The new resource
|
||||
version will fix the bugs in the Finnish implementation.
|
||||
|
||||
840
old-examples/mp3/mp3.gfcm
Normal file
840
old-examples/mp3/mp3.gfcm
Normal file
@@ -0,0 +1,840 @@
|
||||
concrete MP3Eng of MP3=open StructuralEng,LexiconEng in{flags modulesize=n9;flags startcat=Move;lin CanPlay:MP3.Move=\Song@0->{s="can"++("you"++("play"++Song@0.s!<TypesEng.AccP>))++"?";lock_Phr={}};"(can you play Song_0)?";
|
||||
lincat Move={s:Str;lock_Phr:{}}={s=str@0;lock_Phr={}};"Move";
|
||||
lin Play:MP3.Move=\Song@0->{s="play"++Song@0.s!<TypesEng.AccP>++"!";lock_Phr={}};"(play Song_0)!";
|
||||
lincat Song={s:(TypesEng.NPForm=>Str);n:TypesEng.Number;p:TypesEng.Person;lock_NP:{}}={s=table TypesEng.NPForm{(TypesEng.NomP)(TypesEng.AccP)(TypesEng.GenP)(TypesEng.GenSP)=>str@0};n=<TypesEng.Sg>;p=<TypesEng.P1>;lock_NP={}};"Song";
|
||||
lin This:MP3.Song=\->{s=table TypesEng.NPForm{(TypesEng.NomP)(TypesEng.AccP)(TypesEng.GenSP)=>"this";(TypesEng.GenP)=>"this's"};n=<TypesEng.Sg>;p=<TypesEng.P3>;lock_NP={}};"this";
|
||||
lin ThisSong:MP3.Song=\->{s=table TypesEng.NPForm{(TypesEng.NomP)(TypesEng.AccP)(TypesEng.GenSP)=>"this"++"song";(TypesEng.GenP)=>"this"++"song's"};n=<TypesEng.Sg>;p=<TypesEng.P3>;lock_NP={}};"this song";
|
||||
lin WantPlay:MP3.Move=\Song@0->{s="I"++("want"++("to"++("play"++Song@0.s!<TypesEng.AccP>)))++".";lock_Phr={}};"(I want to play Song_0).";
|
||||
lin WhichPlay:MP3.Move=\->{s="which"++"song"++("is"++"played")++"?";lock_Phr={}};"((which song)is played)?";
|
||||
lin Yesterday:MP3.Song=\->{s=table TypesEng.NPForm{(TypesEng.NomP)(TypesEng.AccP)(TypesEng.GenSP)=>"Yesterday";(TypesEng.GenP)=>"Yesterday's"};n=<TypesEng.Sg>;p=<TypesEng.P3>;lock_NP={}};"Yesterday";
|
||||
}
|
||||
resource LexiconEng=open StructuralEng,ParadigmsEng in{flags modulesize=n0;}
|
||||
resource ParadigmsEng=open Predef,Prelude,SyntaxEng,ResourceEng in{flags modulesize=n0;}
|
||||
resource ResourceEng=open Prelude,SyntaxEng in{flags modulesize=n0;}
|
||||
resource SyntaxEng=MorphoEng**open Prelude,Coordination in{flags modulesize=n85;AAdj data in TypesEng;
|
||||
AAdv data in TypesEng;
|
||||
AForm data in TypesEng;
|
||||
AccP data in TypesEng;
|
||||
AdjDegr in TypesEng;
|
||||
Adjective in TypesEng;
|
||||
param Anteriority=Simul|Anter;
|
||||
Case data in TypesEng;
|
||||
CommonNoun in TypesEng;
|
||||
Comp data in TypesEng;
|
||||
Degree data in TypesEng;
|
||||
Gen data in TypesEng;
|
||||
GenP data in TypesEng;
|
||||
GenSP data in TypesEng;
|
||||
Gender data in TypesEng;
|
||||
Hum data in TypesEng;
|
||||
Indic data in TypesEng;
|
||||
InfImp data in TypesEng;
|
||||
NPForm data in TypesEng;
|
||||
NoHum data in TypesEng;
|
||||
Nom data in TypesEng;
|
||||
NomP data in TypesEng;
|
||||
Number data in TypesEng;
|
||||
P1 data in TypesEng;
|
||||
P2 data in TypesEng;
|
||||
P3 data in TypesEng;
|
||||
PPart data in TypesEng;
|
||||
Particle in TypesEng;
|
||||
Past data in TypesEng;
|
||||
Person data in TypesEng;
|
||||
Pl data in TypesEng;
|
||||
Pos data in TypesEng;
|
||||
Pronoun in TypesEng;
|
||||
ProperName in TypesEng;
|
||||
param QuestForm=DirQ|IndirQ;
|
||||
RelPron in TypesEng;
|
||||
Sg data in TypesEng;
|
||||
Sup data in TypesEng;
|
||||
param Tense=Pres|Pas|Fut;
|
||||
VForm data in TypesEng;
|
||||
Verb in TypesEng;
|
||||
param VerbForm=VInd SyntaxEng.Tense SyntaxEng.Anteriority TypesEng.Number TypesEng.Person|VCond SyntaxEng.Anteriority|VInf SyntaxEng.Anteriority|VImp;
|
||||
VerbP3 in TypesEng;
|
||||
adjDegrIrreg in MorphoEng;
|
||||
adjDegrLong in MorphoEng;
|
||||
adjDegrReg in MorphoEng;
|
||||
artDef in MorphoEng;
|
||||
artIndef in MorphoEng;
|
||||
contractNot in MorphoEng;
|
||||
dont in MorphoEng;
|
||||
mkAdjDegrWorst in MorphoEng;
|
||||
mkAdjective in MorphoEng;
|
||||
mkNoun in MorphoEng;
|
||||
mkPronoun in MorphoEng;
|
||||
mkVerb in MorphoEng;
|
||||
mkVerbP3 in MorphoEng;
|
||||
nameReg in MorphoEng;
|
||||
nounGen in MorphoEng;
|
||||
nounReg in MorphoEng;
|
||||
nounS in MorphoEng;
|
||||
nounY in MorphoEng;
|
||||
plural in TypesEng;
|
||||
pronHe in MorphoEng;
|
||||
pronI in MorphoEng;
|
||||
pronIt in MorphoEng;
|
||||
pronShe in MorphoEng;
|
||||
pronThey in MorphoEng;
|
||||
pronWe in MorphoEng;
|
||||
pronYouPl in MorphoEng;
|
||||
pronYouSg in MorphoEng;
|
||||
regAdjective in MorphoEng;
|
||||
regVerbP3 in MorphoEng;
|
||||
relPron in MorphoEng;
|
||||
singular in TypesEng;
|
||||
toCase in TypesEng;
|
||||
toNPForm in TypesEng;
|
||||
verbBe in MorphoEng;
|
||||
verbGen in MorphoEng;
|
||||
verbNoPart in MorphoEng;
|
||||
verbP3Do in MorphoEng;
|
||||
verbP3Have in MorphoEng;
|
||||
verbP3e in MorphoEng;
|
||||
verbP3s in MorphoEng;
|
||||
verbP3y in MorphoEng;
|
||||
verbPart in MorphoEng;
|
||||
}
|
||||
resource MorphoEng=TypesEng**open Prelude,Predef in{flags modulesize=n43;AAdj data in TypesEng;
|
||||
AAdv data in TypesEng;
|
||||
AForm data in TypesEng;
|
||||
AccP data in TypesEng;
|
||||
AdjDegr in TypesEng;
|
||||
Adjective in TypesEng;
|
||||
Case data in TypesEng;
|
||||
CommonNoun in TypesEng;
|
||||
Comp data in TypesEng;
|
||||
Degree data in TypesEng;
|
||||
Gen data in TypesEng;
|
||||
GenP data in TypesEng;
|
||||
GenSP data in TypesEng;
|
||||
Gender data in TypesEng;
|
||||
Hum data in TypesEng;
|
||||
Indic data in TypesEng;
|
||||
InfImp data in TypesEng;
|
||||
NPForm data in TypesEng;
|
||||
NoHum data in TypesEng;
|
||||
Nom data in TypesEng;
|
||||
NomP data in TypesEng;
|
||||
Number data in TypesEng;
|
||||
P1 data in TypesEng;
|
||||
P2 data in TypesEng;
|
||||
P3 data in TypesEng;
|
||||
PPart data in TypesEng;
|
||||
Particle in TypesEng;
|
||||
Past data in TypesEng;
|
||||
Person data in TypesEng;
|
||||
Pl data in TypesEng;
|
||||
Pos data in TypesEng;
|
||||
Pronoun in TypesEng;
|
||||
ProperName in TypesEng;
|
||||
RelPron in TypesEng;
|
||||
Sg data in TypesEng;
|
||||
Sup data in TypesEng;
|
||||
VForm data in TypesEng;
|
||||
Verb in TypesEng;
|
||||
VerbP3 in TypesEng;
|
||||
plural in TypesEng;
|
||||
singular in TypesEng;
|
||||
toCase in TypesEng;
|
||||
toNPForm in TypesEng;
|
||||
}
|
||||
resource TypesEng=open Prelude in{flags modulesize=n8;param AForm=AAdj|AAdv;
|
||||
param Case=Nom|Gen;
|
||||
param Degree=Pos|Comp|Sup;
|
||||
param Gender=NoHum|Hum;
|
||||
param NPForm=NomP|AccP|GenP|GenSP;
|
||||
param Number=Sg|Pl;
|
||||
param Person=P1|P2|P3;
|
||||
param VForm=InfImp|Indic TypesEng.Person|Past TypesEng.Number|PPart;
|
||||
}
|
||||
concrete MP3Swe of MP3=open StructuralSwe,LexiconSwe in{flags modulesize=n9;flags startcat=Move;lin CanPlay:MP3.Move=\Song@0->{s="kan"++("du"++("spela"++Song@0.s!<TypesSwe.PAcc>))++"?";lock_Phr={}};"(kan du spela Song_0)?";
|
||||
lincat Move={s:Str;lock_Phr:{}}={s=str@0;lock_Phr={}};"Move";
|
||||
lin Play:MP3.Move=\Song@0->{s="spela"++Song@0.s!<TypesSwe.PAcc>++"!";lock_Phr={}};"(spela Song_0)!";
|
||||
lincat Song={s:(TypesSwe.NPForm=>Str);g:TypesSwe.Gender;n:TypesSwe.Number;lock_NP:{}}={s=table TypesSwe.NPForm{(TypesSwe.PNom)(TypesSwe.PAcc)(TypesSwe.PGen(TypesSwe.ASg(TypesSwe.Utr)))(TypesSwe.PGen(TypesSwe.ASg(TypesSwe.Neutr)))(TypesSwe.PGen(TypesSwe.APl))=>str@0};g=<TypesSwe.Utr>;n=<TypesSwe.Sg>;lock_NP={}};"Song";
|
||||
lin This:MP3.Song=\->{s=table TypesSwe.NPForm{(TypesSwe.PGen(TypesSwe.ASg(TypesSwe.Utr)))(TypesSwe.PGen(TypesSwe.ASg(TypesSwe.Neutr)))(TypesSwe.PGen(TypesSwe.APl))=>"det"++"här"++"s";(TypesSwe.PNom)(TypesSwe.PAcc)=>"det"++"här"};g=<TypesSwe.Neutr>;n=<TypesSwe.Sg>;lock_NP={}};"det här";
|
||||
lin ThisSong:MP3.Song=\->{s=table TypesSwe.NPForm{(TypesSwe.PNom)(TypesSwe.PAcc)=>"den"++"här"++"låten";(TypesSwe.PGen(TypesSwe.ASg(TypesSwe.Utr)))(TypesSwe.PGen(TypesSwe.ASg(TypesSwe.Neutr)))(TypesSwe.PGen(TypesSwe.APl))=>"den"++"här"++"låtens"};g=<TypesSwe.Utr>;n=<TypesSwe.Sg>;lock_NP={}};"(den här)låten";
|
||||
lin WantPlay:MP3.Move=\Song@0->{s="jag"++("vill"++("spela"++Song@0.s!<TypesSwe.PAcc>))++".";lock_Phr={}};"(jag vill spela Song_0).";
|
||||
lin WhichPlay:MP3.Move=\->{s="vilken"++"låt"++"spelas"++"?";lock_Phr={}};"((vilken låt)spelas)?";
|
||||
lin Yesterday:MP3.Song=\->{s=table TypesSwe.NPForm{(TypesSwe.PNom)(TypesSwe.PAcc)=>"Yesterday";(TypesSwe.PGen(TypesSwe.ASg(TypesSwe.Utr)))(TypesSwe.PGen(TypesSwe.ASg(TypesSwe.Neutr)))(TypesSwe.PGen(TypesSwe.APl))=>"Yesterdays"};g=<TypesSwe.Neutr>;n=<TypesSwe.Sg>;lock_NP={}};"Yesterday";
|
||||
}
|
||||
resource LexiconSwe=open StructuralSwe,ParadigmsSwe in{flags modulesize=n0;}
|
||||
resource ParadigmsSwe=open Predef,Prelude,SyntaxSwe,ResourceSwe in{flags modulesize=n0;}
|
||||
resource ResourceSwe=open Prelude,SyntaxSwe in{flags modulesize=n0;}
|
||||
resource SyntaxSwe=MorphoSwe**open Prelude,Coordination in{flags modulesize=n172;AF data in TypesSwe;
|
||||
APl data in TypesSwe;
|
||||
APron data in TypesSwe;
|
||||
ASg data in TypesSwe;
|
||||
Act data in TypesSwe;
|
||||
Adj in TypesSwe;
|
||||
AdjForm data in TypesSwe;
|
||||
AdjFormGrad data in TypesSwe;
|
||||
AdjFormPos data in TypesSwe;
|
||||
AdjFormSup data in TypesSwe;
|
||||
AdjPronForm data in TypesSwe;
|
||||
Adv in TypesSwe;
|
||||
AdvInv in TypesSwe;
|
||||
Art in TypesSwe;
|
||||
AuxInf data in TypesSwe;
|
||||
AuxPres data in TypesSwe;
|
||||
AuxPret data in TypesSwe;
|
||||
AuxSup data in TypesSwe;
|
||||
AuxVerbForm data in TypesSwe;
|
||||
AxPl data in TypesSwe;
|
||||
AxSg data in TypesSwe;
|
||||
Case data in TypesSwe;
|
||||
Cnj data in TypesSwe;
|
||||
Comp data in TypesSwe;
|
||||
Compar data in TypesSwe;
|
||||
Conjunct in TypesSwe;
|
||||
Def data in TypesSwe;
|
||||
Degree data in TypesSwe;
|
||||
Gen data in TypesSwe;
|
||||
GenNum data in TypesSwe;
|
||||
Gender data in TypesSwe;
|
||||
Imper data in TypesSwe;
|
||||
Imperat data in TypesSwe;
|
||||
Ind data in TypesSwe;
|
||||
Indef data in TypesSwe;
|
||||
Indicat data in TypesSwe;
|
||||
Inf data in TypesSwe;
|
||||
Infin in TypesSwe;
|
||||
Infinit data in TypesSwe;
|
||||
Interj in TypesSwe;
|
||||
Masc data in TypesSwe;
|
||||
Mode data in TypesSwe;
|
||||
NPForm data in TypesSwe;
|
||||
Neutr data in TypesSwe;
|
||||
NoMasc data in TypesSwe;
|
||||
Nom data in TypesSwe;
|
||||
Number data in TypesSwe;
|
||||
param Order=Main|Inv|Sub;
|
||||
P1 data in TypesSwe;
|
||||
P2 data in TypesSwe;
|
||||
P3 data in TypesSwe;
|
||||
PAcc data in TypesSwe;
|
||||
PGen data in TypesSwe;
|
||||
PNm in TypesSwe;
|
||||
PNom data in TypesSwe;
|
||||
Part in TypesSwe;
|
||||
Pass data in TypesSwe;
|
||||
Person data in TypesSwe;
|
||||
Pl data in TypesSwe;
|
||||
Pos data in TypesSwe;
|
||||
Posit data in TypesSwe;
|
||||
Prep in TypesSwe;
|
||||
Preposition in MorphoSwe;
|
||||
Pres data in TypesSwe;
|
||||
Pret data in TypesSwe;
|
||||
ProAdj in TypesSwe;
|
||||
ProPN in TypesSwe;
|
||||
PtPres data in TypesSwe;
|
||||
PtPret data in TypesSwe;
|
||||
param QuestForm=DirQ|IndirQ;
|
||||
RAcc data in MorphoSwe;
|
||||
RGen data in MorphoSwe;
|
||||
RNom data in MorphoSwe;
|
||||
RPrep data in MorphoSwe;
|
||||
RelCase data in MorphoSwe;
|
||||
param RelGender=RNoGen|RG TypesSwe.Gender;
|
||||
SF data in TypesSwe;
|
||||
Sex data in TypesSwe;
|
||||
SexNum data in TypesSwe;
|
||||
Sg data in TypesSwe;
|
||||
Species data in TypesSwe;
|
||||
param SpeciesP=IndefP|DefP TypesSwe.Species;
|
||||
Strong data in TypesSwe;
|
||||
Subjunct in TypesSwe;
|
||||
Subst in TypesSwe;
|
||||
SubstForm data in TypesSwe;
|
||||
Sup data in TypesSwe;
|
||||
SupStrong data in TypesSwe;
|
||||
SupWeak data in TypesSwe;
|
||||
Super data in TypesSwe;
|
||||
Supin data in TypesSwe;
|
||||
Utr data in TypesSwe;
|
||||
VAux in TypesSwe;
|
||||
VF data in TypesSwe;
|
||||
VFin data in TypesSwe;
|
||||
VForm data in TypesSwe;
|
||||
VI data in TypesSwe;
|
||||
VInf data in TypesSwe;
|
||||
VMode data in TypesSwe;
|
||||
VPres data in TypesSwe;
|
||||
Verb in TypesSwe;
|
||||
VerbForm data in TypesSwe;
|
||||
Verbum in TypesSwe;
|
||||
Voice data in TypesSwe;
|
||||
Weak data in TypesSwe;
|
||||
aAbstrakt in MorphoSwe;
|
||||
aFager in MorphoSwe;
|
||||
aFin in MorphoSwe;
|
||||
aGrund in MorphoSwe;
|
||||
aKorkad in MorphoSwe;
|
||||
aVaken in MorphoSwe;
|
||||
aVid in MorphoSwe;
|
||||
adverbForm in TypesSwe;
|
||||
artDef in MorphoSwe;
|
||||
artIndef in MorphoSwe;
|
||||
de_38 in MorphoSwe;
|
||||
den_39 in MorphoSwe;
|
||||
det_40 in MorphoSwe;
|
||||
du_33 in MorphoSwe;
|
||||
extVerb in TypesSwe;
|
||||
extVerbPart in TypesSwe;
|
||||
farbror_8 in MorphoSwe;
|
||||
gammal_16 in MorphoSwe;
|
||||
giva_1147 in MorphoSwe;
|
||||
gå_1174 in MorphoSwe;
|
||||
han_34 in MorphoSwe;
|
||||
hava_1198 in MorphoSwe;
|
||||
hon_35 in MorphoSwe;
|
||||
jag_32 in MorphoSwe;
|
||||
liten_1146 in MorphoSwe;
|
||||
man_1144 in MorphoSwe;
|
||||
mkVerb in MorphoSwe;
|
||||
mkVerbPart in MorphoSwe;
|
||||
mor_1 in MorphoSwe;
|
||||
ni_37 in MorphoSwe;
|
||||
pronSådan in MorphoSwe;
|
||||
pronVilken in MorphoSwe;
|
||||
relPronForms in MorphoSwe;
|
||||
sApa in MorphoSwe;
|
||||
sBil in MorphoSwe;
|
||||
sHus in MorphoSwe;
|
||||
sKam in MorphoSwe;
|
||||
sKikare in MorphoSwe;
|
||||
sLik in MorphoSwe;
|
||||
sMuseum in MorphoSwe;
|
||||
sNivå in MorphoSwe;
|
||||
sNummer in MorphoSwe;
|
||||
sNyckel in MorphoSwe;
|
||||
sPapper in MorphoSwe;
|
||||
sParti in MorphoSwe;
|
||||
sPojke in MorphoSwe;
|
||||
sProgram in MorphoSwe;
|
||||
sRike in MorphoSwe;
|
||||
sRum in MorphoSwe;
|
||||
sSak in MorphoSwe;
|
||||
sVarelse in MorphoSwe;
|
||||
stor_25 in MorphoSwe;
|
||||
ung_29 in MorphoSwe;
|
||||
vByta in MorphoSwe;
|
||||
vFinna in MorphoSwe;
|
||||
vGömma in MorphoSwe;
|
||||
vHyra in MorphoSwe;
|
||||
vLeka in MorphoSwe;
|
||||
vTala in MorphoSwe;
|
||||
vTyda in MorphoSwe;
|
||||
vTåla in MorphoSwe;
|
||||
vVända in MorphoSwe;
|
||||
vara_1200 in MorphoSwe;
|
||||
verbFinnas in MorphoSwe;
|
||||
verbHava in MorphoSwe;
|
||||
verbVara in MorphoSwe;
|
||||
vi_36 in MorphoSwe;
|
||||
}
|
||||
resource MorphoSwe=TypesSwe**open Prelude in{flags modulesize=n99;AF data in TypesSwe;
|
||||
APl data in TypesSwe;
|
||||
APron data in TypesSwe;
|
||||
ASg data in TypesSwe;
|
||||
Act data in TypesSwe;
|
||||
Adj in TypesSwe;
|
||||
AdjForm data in TypesSwe;
|
||||
AdjFormGrad data in TypesSwe;
|
||||
AdjFormPos data in TypesSwe;
|
||||
AdjFormSup data in TypesSwe;
|
||||
AdjPronForm data in TypesSwe;
|
||||
Adv in TypesSwe;
|
||||
AdvInv in TypesSwe;
|
||||
Art in TypesSwe;
|
||||
AuxInf data in TypesSwe;
|
||||
AuxPres data in TypesSwe;
|
||||
AuxPret data in TypesSwe;
|
||||
AuxSup data in TypesSwe;
|
||||
AuxVerbForm data in TypesSwe;
|
||||
AxPl data in TypesSwe;
|
||||
AxSg data in TypesSwe;
|
||||
Case data in TypesSwe;
|
||||
Cnj data in TypesSwe;
|
||||
Comp data in TypesSwe;
|
||||
Compar data in TypesSwe;
|
||||
Conjunct in TypesSwe;
|
||||
Def data in TypesSwe;
|
||||
Degree data in TypesSwe;
|
||||
Gen data in TypesSwe;
|
||||
GenNum data in TypesSwe;
|
||||
Gender data in TypesSwe;
|
||||
Imper data in TypesSwe;
|
||||
Imperat data in TypesSwe;
|
||||
Ind data in TypesSwe;
|
||||
Indef data in TypesSwe;
|
||||
Indicat data in TypesSwe;
|
||||
Inf data in TypesSwe;
|
||||
Infin in TypesSwe;
|
||||
Infinit data in TypesSwe;
|
||||
Interj in TypesSwe;
|
||||
Masc data in TypesSwe;
|
||||
Mode data in TypesSwe;
|
||||
NPForm data in TypesSwe;
|
||||
Neutr data in TypesSwe;
|
||||
NoMasc data in TypesSwe;
|
||||
Nom data in TypesSwe;
|
||||
Number data in TypesSwe;
|
||||
P1 data in TypesSwe;
|
||||
P2 data in TypesSwe;
|
||||
P3 data in TypesSwe;
|
||||
PAcc data in TypesSwe;
|
||||
PGen data in TypesSwe;
|
||||
PNm in TypesSwe;
|
||||
PNom data in TypesSwe;
|
||||
Part in TypesSwe;
|
||||
Pass data in TypesSwe;
|
||||
Person data in TypesSwe;
|
||||
Pl data in TypesSwe;
|
||||
Pos data in TypesSwe;
|
||||
Posit data in TypesSwe;
|
||||
Prep in TypesSwe;
|
||||
Pres data in TypesSwe;
|
||||
Pret data in TypesSwe;
|
||||
ProAdj in TypesSwe;
|
||||
ProPN in TypesSwe;
|
||||
PtPres data in TypesSwe;
|
||||
PtPret data in TypesSwe;
|
||||
param RelCase=RNom|RAcc|RGen|RPrep;
|
||||
SF data in TypesSwe;
|
||||
Sex data in TypesSwe;
|
||||
SexNum data in TypesSwe;
|
||||
Sg data in TypesSwe;
|
||||
Species data in TypesSwe;
|
||||
Strong data in TypesSwe;
|
||||
Subjunct in TypesSwe;
|
||||
Subst in TypesSwe;
|
||||
SubstForm data in TypesSwe;
|
||||
Sup data in TypesSwe;
|
||||
SupStrong data in TypesSwe;
|
||||
SupWeak data in TypesSwe;
|
||||
Super data in TypesSwe;
|
||||
Supin data in TypesSwe;
|
||||
Utr data in TypesSwe;
|
||||
VAux in TypesSwe;
|
||||
VF data in TypesSwe;
|
||||
VFin data in TypesSwe;
|
||||
VForm data in TypesSwe;
|
||||
VI data in TypesSwe;
|
||||
VInf data in TypesSwe;
|
||||
VMode data in TypesSwe;
|
||||
VPres data in TypesSwe;
|
||||
Verb in TypesSwe;
|
||||
VerbForm data in TypesSwe;
|
||||
Verbum in TypesSwe;
|
||||
Voice data in TypesSwe;
|
||||
Weak data in TypesSwe;
|
||||
adverbForm in TypesSwe;
|
||||
extVerb in TypesSwe;
|
||||
extVerbPart in TypesSwe;
|
||||
}
|
||||
resource TypesSwe=open Prelude in{flags modulesize=n24;param AdjForm=AF TypesSwe.AdjFormGrad TypesSwe.Case;
|
||||
param AdjFormGrad=Posit TypesSwe.AdjFormPos|Compar|Super TypesSwe.AdjFormSup;
|
||||
param AdjFormPos=Strong TypesSwe.GenNum|Weak TypesSwe.SexNum;
|
||||
param AdjFormSup=SupStrong|SupWeak;
|
||||
param AdjPronForm=APron TypesSwe.GenNum TypesSwe.Case;
|
||||
param AuxVerbForm=AuxInf|AuxPres|AuxPret|AuxSup;
|
||||
param Case=Nom|Gen;
|
||||
param Degree=Pos|Comp|Sup;
|
||||
param GenNum=ASg TypesSwe.Gender|APl;
|
||||
param Gender=Utr|Neutr;
|
||||
param Mode=Ind|Cnj;
|
||||
param NPForm=PNom|PAcc|PGen TypesSwe.GenNum;
|
||||
param Number=Sg|Pl;
|
||||
param Person=P1|P2|P3;
|
||||
param Sex=NoMasc|Masc;
|
||||
param SexNum=AxSg TypesSwe.Sex|AxPl;
|
||||
param Species=Indef|Def;
|
||||
param SubstForm=SF TypesSwe.Number TypesSwe.Species TypesSwe.Case;
|
||||
param VFin=Pres TypesSwe.Mode TypesSwe.Voice|Pret TypesSwe.Mode TypesSwe.Voice|Imper;
|
||||
param VForm=VPres TypesSwe.VMode TypesSwe.Voice;
|
||||
param VInf=Inf TypesSwe.Voice|Supin TypesSwe.Voice|PtPres TypesSwe.Case|PtPret TypesSwe.AdjFormPos TypesSwe.Case;
|
||||
param VMode=Infinit|Indicat|Imperat;
|
||||
param VerbForm=VF TypesSwe.VFin|VI TypesSwe.VInf;
|
||||
param Voice=Act|Pass;
|
||||
}
|
||||
concrete MP3Fre of MP3=open StructuralFre,LexiconFre in{flags modulesize=n9;flags startcat=Move;lin CanPlay:MP3.Move=\Song@0->{s=variants{("est-ce"++[pre"que"{"qu'"/"a""â""à""e""ê""é""è""h""i""î""o""ô""u""û""y"}])[]}++("tu"++("peux"++table Prelude.Bool{(Prelude.True)=>Song@0.s!<TypesFre.Aton<TypesFre.Acc>>++"jouer";(Prelude.False)=>"jouer"++Song@0.s!<TypesFre.Aton<TypesFre.Acc>>}!(table Prelude.Bool{(Prelude.False)=><Prelude.False>;(Prelude.True)=><Prelude.True>}!(table TypesFre.ClitType{(TypesFre.Clit0)=><Prelude.False>;(TypesFre.Clit1)(TypesFre.Clit2)(TypesFre.Clit3)=><Prelude.True>}!(Song@0.c)))))++"?";lock_Phr={}};"((est-ce que)tu peux Song_0 jouer)?";
|
||||
lincat Move={s:Str;lock_Phr:{}}={s=str@0;lock_Phr={}};"Move";
|
||||
lin Play:MP3.Move=\Song@0->{s=table Prelude.Bool{(Prelude.True)=>Song@0.s!<TypesFre.Aton<TypesFre.Acc>>++"joue";(Prelude.False)=>"joue"++Song@0.s!<TypesFre.Aton<TypesFre.Acc>>}!(table Prelude.Bool{(Prelude.False)=><Prelude.False>;(Prelude.True)=><Prelude.True>}!(table TypesFre.ClitType{(TypesFre.Clit0)=><Prelude.False>;(TypesFre.Clit1)(TypesFre.Clit2)(TypesFre.Clit3)=><Prelude.True>}!(Song@0.c)))++"!";lock_Phr={}};"(Song_0 joue)!";
|
||||
lincat Song={s:(TypesFre.NPForm=>Str);g:TypesFre.PronGen;n:TypesFre.Number;p:TypesFre.Person;c:TypesFre.ClitType;lock_NP:{}}={s=table TypesFre.NPForm{(TypesFre.Ton(TypesFre.Nom))(TypesFre.Ton(TypesFre.Acc))(TypesFre.Ton(TypesFre.Gen))(TypesFre.Ton(TypesFre.Dat))(TypesFre.Aton(TypesFre.Nom))(TypesFre.Aton(TypesFre.Acc))(TypesFre.Aton(TypesFre.Gen))(TypesFre.Aton(TypesFre.Dat))(TypesFre.Poss(TypesFre.Sg)(TypesFre.Masc))(TypesFre.Poss(TypesFre.Sg)(TypesFre.Fem))(TypesFre.Poss(TypesFre.Pl)(TypesFre.Masc))(TypesFre.Poss(TypesFre.Pl)(TypesFre.Fem))=>str@0};g=<TypesFre.PGen<TypesFre.Masc>>;n=<TypesFre.Sg>;p=<TypesFre.P1>;c=<TypesFre.Clit0>;lock_NP={}};"Song";
|
||||
lin This:MP3.Song=\->{s=table TypesFre.NPForm{(TypesFre.Ton(TypesFre.Gen))(TypesFre.Aton(TypesFre.Gen))(TypesFre.Poss(TypesFre.Sg)(TypesFre.Masc))(TypesFre.Poss(TypesFre.Sg)(TypesFre.Fem))(TypesFre.Poss(TypesFre.Pl)(TypesFre.Masc))(TypesFre.Poss(TypesFre.Pl)(TypesFre.Fem))=>"de"++"ceci";(TypesFre.Ton(TypesFre.Dat))(TypesFre.Aton(TypesFre.Dat))=>"à"++"ceci";(TypesFre.Ton(TypesFre.Nom))(TypesFre.Ton(TypesFre.Acc))(TypesFre.Aton(TypesFre.Nom))(TypesFre.Aton(TypesFre.Acc))=>"ceci"};g=<TypesFre.PGen<TypesFre.Masc>>;n=<TypesFre.Sg>;p=<TypesFre.P3>;c=<TypesFre.Clit0>;lock_NP={}};"ceci";
|
||||
lin ThisSong:MP3.Song=\->{s=table TypesFre.NPForm{(TypesFre.Ton(TypesFre.Nom))(TypesFre.Ton(TypesFre.Acc))(TypesFre.Aton(TypesFre.Nom))(TypesFre.Aton(TypesFre.Acc))=>"cette"++"chanson";(TypesFre.Ton(TypesFre.Dat))(TypesFre.Aton(TypesFre.Dat))=>"à"++("cette"++"chanson");(TypesFre.Ton(TypesFre.Gen))(TypesFre.Aton(TypesFre.Gen))(TypesFre.Poss(TypesFre.Sg)(TypesFre.Masc))(TypesFre.Poss(TypesFre.Sg)(TypesFre.Fem))(TypesFre.Poss(TypesFre.Pl)(TypesFre.Masc))(TypesFre.Poss(TypesFre.Pl)(TypesFre.Fem))=>[pre"de"{"d'"/"a""â""à""e""ê""é""è""h""i""î""o""ô""u""û""y"}]++("cette"++"chanson")};g=<TypesFre.PGen<TypesFre.Fem>>;n=<TypesFre.Sg>;p=<TypesFre.P3>;c=<TypesFre.Clit0>;lock_NP={}};"cette chanson";
|
||||
lin WantPlay:MP3.Move=\Song@0->{s=[pre"je"{"j'"/"a""â""à""e""ê""é""è""h""i""î""o""ô""u""û""y"}]++("veux"++table Prelude.Bool{(Prelude.True)=>Song@0.s!<TypesFre.Aton<TypesFre.Acc>>++"jouer";(Prelude.False)=>"jouer"++Song@0.s!<TypesFre.Aton<TypesFre.Acc>>}!(table Prelude.Bool{(Prelude.False)=><Prelude.False>;(Prelude.True)=><Prelude.True>}!(table TypesFre.ClitType{(TypesFre.Clit0)=><Prelude.False>;(TypesFre.Clit1)(TypesFre.Clit2)(TypesFre.Clit3)=><Prelude.True>}!(Song@0.c))))++".";lock_Phr={}};"(je veux Song_0 jouer).";
|
||||
lin WhichPlay:MP3.Move=\->{s="quelle"++"chanson"++(variants{("est-ce"++"qui")[]}++("est"++"jouée"))++"?";lock_Phr={}};"((quelle chanson)(est-ce qui)est jouée)?";
|
||||
lin Yesterday:MP3.Song=\->{s=table TypesFre.NPForm{(TypesFre.Ton(TypesFre.Gen))(TypesFre.Aton(TypesFre.Gen))(TypesFre.Poss(TypesFre.Sg)(TypesFre.Masc))(TypesFre.Poss(TypesFre.Sg)(TypesFre.Fem))(TypesFre.Poss(TypesFre.Pl)(TypesFre.Masc))(TypesFre.Poss(TypesFre.Pl)(TypesFre.Fem))=>"de"++"Yesterday";(TypesFre.Ton(TypesFre.Dat))(TypesFre.Aton(TypesFre.Dat))=>"à"++"Yesterday";(TypesFre.Ton(TypesFre.Nom))(TypesFre.Ton(TypesFre.Acc))(TypesFre.Aton(TypesFre.Nom))(TypesFre.Aton(TypesFre.Acc))=>"Yesterday"};g=<TypesFre.PGen<TypesFre.Masc>>;n=<TypesFre.Sg>;p=<TypesFre.P3>;c=<TypesFre.Clit0>;lock_NP={}};"Yesterday";
|
||||
}
|
||||
concrete MP3I of MP3={flags modulesize=n0;flags startcat=Move;}
|
||||
resource LexiconFre=open StructuralFre,ParadigmsFre in{flags modulesize=n0;}
|
||||
resource Lexicon={flags modulesize=n0;}
|
||||
resource ParadigmsFre=open Prelude,TypesFre,SyntaxFre,MorphoFre,ResourceFre in{flags modulesize=n0;}
|
||||
resource ResourceFre=open SyntaxFre,MorphoFre,Prelude in{flags modulesize=n0;}
|
||||
resource SyntaxFre=TypesFre**open Prelude,Coordination,MorphoFre in{flags modulesize=n108;AA data in TypesFre;
|
||||
AF data in TypesFre;
|
||||
AForm data in TypesFre;
|
||||
Acc data in TypesFre;
|
||||
Adj in TypesFre;
|
||||
AdjComp in TypesFre;
|
||||
Aton data in TypesFre;
|
||||
CNom in TypesFre;
|
||||
Case data in TypesFre;
|
||||
CaseA in TypesFre;
|
||||
Clit0 data in TypesFre;
|
||||
Clit1 data in TypesFre;
|
||||
Clit2 data in TypesFre;
|
||||
Clit3 data in TypesFre;
|
||||
ClitType data in TypesFre;
|
||||
Comp data in TypesFre;
|
||||
Con data in TypesFre;
|
||||
Cond data in TypesFre;
|
||||
Dat data in TypesFre;
|
||||
Degree data in TypesFre;
|
||||
Fem data in TypesFre;
|
||||
Futur data in TypesFre;
|
||||
Gen data in TypesFre;
|
||||
Gender data in TypesFre;
|
||||
Imparf data in TypesFre;
|
||||
Imper data in TypesFre;
|
||||
Ind data in TypesFre;
|
||||
Indic data in TypesFre;
|
||||
Inf data in TypesFre;
|
||||
Masc data in TypesFre;
|
||||
Mode data in TypesFre;
|
||||
NPForm data in TypesFre;
|
||||
NPFormA in TypesFre;
|
||||
Nom data in TypesFre;
|
||||
NumPersI data in TypesFre;
|
||||
Number data in TypesFre;
|
||||
P1 data in TypesFre;
|
||||
P2 data in TypesFre;
|
||||
P3 data in TypesFre;
|
||||
PGen data in TypesFre;
|
||||
PNoGen data in TypesFre;
|
||||
PPasse data in TypesFre;
|
||||
PPres data in TypesFre;
|
||||
Part data in TypesFre;
|
||||
Passe data in TypesFre;
|
||||
Person data in TypesFre;
|
||||
Pl data in TypesFre;
|
||||
PlP1 data in TypesFre;
|
||||
PlP2 data in TypesFre;
|
||||
Pos data in TypesFre;
|
||||
Poss data in TypesFre;
|
||||
Pres data in TypesFre;
|
||||
PronGen data in TypesFre;
|
||||
Pronoun in TypesFre;
|
||||
param QuestForm=DirQ|IndirQ;
|
||||
RComplex data in TypesFre;
|
||||
RG data in TypesFre;
|
||||
RNoGen data in TypesFre;
|
||||
RSimple data in TypesFre;
|
||||
RelForm data in TypesFre;
|
||||
RelFormA in TypesFre;
|
||||
RelGen data in TypesFre;
|
||||
SImparf data in TypesFre;
|
||||
SPres data in TypesFre;
|
||||
Sg data in TypesFre;
|
||||
SgP2 data in TypesFre;
|
||||
Subjo data in TypesFre;
|
||||
Sup data in TypesFre;
|
||||
TPart data in TypesFre;
|
||||
TSubj data in TypesFre;
|
||||
Temps data in TypesFre;
|
||||
Ton data in TypesFre;
|
||||
VF data in TypesFre;
|
||||
VFin data in TypesFre;
|
||||
VForm data in TypesFre;
|
||||
VImper data in TypesFre;
|
||||
VInfin data in TypesFre;
|
||||
VPart data in TypesFre;
|
||||
VerbPres in TypesFre;
|
||||
Verbum in TypesFre;
|
||||
accusative in TypesFre;
|
||||
adjCompLong in TypesFre;
|
||||
case2pform in TypesFre;
|
||||
case2pformClit in TypesFre;
|
||||
dative in TypesFre;
|
||||
elisDe in TypesFre;
|
||||
elisLa in TypesFre;
|
||||
elisLe in TypesFre;
|
||||
elisNe in TypesFre;
|
||||
elisQue in TypesFre;
|
||||
elisSi in TypesFre;
|
||||
elision in TypesFre;
|
||||
genitive in TypesFre;
|
||||
mkAdjComp in TypesFre;
|
||||
nombreVerb in TypesFre;
|
||||
nominative in TypesFre;
|
||||
pform2case in TypesFre;
|
||||
pgen2gen in TypesFre;
|
||||
plural in TypesFre;
|
||||
prepCase in TypesFre;
|
||||
prepositional in TypesFre;
|
||||
relPronForms in TypesFre;
|
||||
singular in TypesFre;
|
||||
stressed in TypesFre;
|
||||
unstressed in TypesFre;
|
||||
vImper in TypesFre;
|
||||
verbPres in TypesFre;
|
||||
voyelle in TypesFre;
|
||||
}
|
||||
resource SyntaxRomance={flags modulesize=n0;}
|
||||
resource Coordination=open Prelude in{flags modulesize=n1;param ListSize=TwoElem|ManyElem;
|
||||
}
|
||||
resource MorphoFre=open Predef,Prelude,TypesFre in{flags modulesize=n0;}
|
||||
resource Prelude=open Predef in{flags modulesize=n2;param Bool=True|False;
|
||||
param ENumber=E0|E1|E2|Emore;
|
||||
}
|
||||
resource Predef={flags modulesize=n1;param PBool=PTrue|PFalse;
|
||||
}
|
||||
resource TypesFre={flags modulesize=n18;param AForm=AF TypesFre.Gender TypesFre.Number|AA;
|
||||
param Case=Nom|Acc|Gen|Dat;
|
||||
param ClitType=Clit0|Clit1|Clit2|Clit3;
|
||||
param Degree=Pos|Comp|Sup;
|
||||
param Gender=Masc|Fem;
|
||||
param Mode=Ind|Con;
|
||||
param NPForm=Ton TypesFre.Case|Aton TypesFre.Case|Poss TypesFre.Number TypesFre.Gender;
|
||||
param NumPersI=SgP2|PlP1|PlP2;
|
||||
param Number=Sg|Pl;
|
||||
param Person=P1|P2|P3;
|
||||
param PronGen=PGen TypesFre.Gender|PNoGen;
|
||||
param RelForm=RSimple TypesFre.Case|RComplex TypesFre.Gender TypesFre.Number TypesFre.Case;
|
||||
param RelGen=RNoGen|RG TypesFre.Gender;
|
||||
param TPart=PPres|PPasse TypesFre.Gender TypesFre.Number;
|
||||
param TSubj=SPres|SImparf;
|
||||
param Temps=Pres|Imparf|Passe|Futur;
|
||||
param VF=VFin TypesFre.Mode TypesFre.Number TypesFre.Person|VImper TypesFre.NumPersI|VPart TypesFre.Gender TypesFre.Number|VInfin;
|
||||
param VForm=Inf|Indic TypesFre.Temps TypesFre.Number TypesFre.Person|Cond TypesFre.Number TypesFre.Person|Subjo TypesFre.TSubj TypesFre.Number TypesFre.Person|Imper TypesFre.NumPersI|Part TypesFre.TPart;
|
||||
}
|
||||
resource TypesRomance={flags modulesize=n0;}
|
||||
resource Resource={flags modulesize=n0;}
|
||||
concrete MP3Ger of MP3=open StructuralGer,LexiconGer in{flags modulesize=n9;flags startcat=Move;lin CanPlay:MP3.Move=\Song@0->{s="kannst"++("du"++(Song@0.s!<TypesGer.NPCase<TypesGer.Acc>>++"spielen"))++"?";lock_Phr={}};"(kannst du Song_0 spielen)?";
|
||||
lincat Move={s:Str;lock_Phr:{}}={s=str@0;lock_Phr={}};"Move";
|
||||
lin Play:MP3.Move=\Song@0->{s="spiel"++Song@0.s!<TypesGer.NPCase<TypesGer.Acc>>++"!";lock_Phr={}};"(spiel Song_0)!";
|
||||
lincat Song={s:(TypesGer.NPForm=>Str);n:TypesGer.Number;p:TypesGer.Person;pro:Prelude.Bool;lock_NP:{}}={s=table TypesGer.NPForm{(TypesGer.NPCase(TypesGer.Nom))(TypesGer.NPCase(TypesGer.Acc))(TypesGer.NPCase(TypesGer.Dat))(TypesGer.NPCase(TypesGer.Gen))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Masc))(TypesGer.Nom))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Masc))(TypesGer.Acc))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Masc))(TypesGer.Dat))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Masc))(TypesGer.Gen))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Fem))(TypesGer.Nom))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Fem))(TypesGer.Acc))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Fem))(TypesGer.Dat))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Fem))(TypesGer.Gen))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Neut))(TypesGer.Nom))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Neut))(TypesGer.Acc))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Neut))(TypesGer.Dat))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Neut))(TypesGer.Gen))(TypesGer.NPPoss(TypesGer.GPl)(TypesGer.Nom))(TypesGer.NPPoss(TypesGer.GPl)(TypesGer.Acc))(TypesGer.NPPoss(TypesGer.GPl)(TypesGer.Dat))(TypesGer.NPPoss(TypesGer.GPl)(TypesGer.Gen))=>str@0};n=<TypesGer.Sg>;p=<TypesGer.P1>;pro=<Prelude.True>;lock_NP={}};"Song";
|
||||
lin This:MP3.Song=\->{s=table TypesGer.NPForm{(TypesGer.NPCase(TypesGer.Dat))=>"diesem";(TypesGer.NPCase(TypesGer.Nom))(TypesGer.NPCase(TypesGer.Acc))(TypesGer.NPCase(TypesGer.Gen))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Masc))(TypesGer.Nom))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Masc))(TypesGer.Acc))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Masc))(TypesGer.Dat))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Masc))(TypesGer.Gen))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Fem))(TypesGer.Nom))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Fem))(TypesGer.Acc))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Fem))(TypesGer.Dat))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Fem))(TypesGer.Gen))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Neut))(TypesGer.Nom))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Neut))(TypesGer.Acc))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Neut))(TypesGer.Dat))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Neut))(TypesGer.Gen))(TypesGer.NPPoss(TypesGer.GPl)(TypesGer.Nom))(TypesGer.NPPoss(TypesGer.GPl)(TypesGer.Acc))(TypesGer.NPPoss(TypesGer.GPl)(TypesGer.Dat))(TypesGer.NPPoss(TypesGer.GPl)(TypesGer.Gen))=>"dieses"};n=<TypesGer.Sg>;p=<TypesGer.P3>;pro=<Prelude.False>;lock_NP={}};"dieses";
|
||||
lin ThisSong:MP3.Song=\->{s=table TypesGer.NPForm{(TypesGer.NPCase(TypesGer.Dat))=>"diesem"++"lied";(TypesGer.NPCase(TypesGer.Nom))(TypesGer.NPCase(TypesGer.Acc))=>"dieses"++"lied";(TypesGer.NPCase(TypesGer.Gen))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Masc))(TypesGer.Nom))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Masc))(TypesGer.Acc))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Masc))(TypesGer.Dat))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Masc))(TypesGer.Gen))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Fem))(TypesGer.Nom))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Fem))(TypesGer.Acc))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Fem))(TypesGer.Dat))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Fem))(TypesGer.Gen))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Neut))(TypesGer.Nom))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Neut))(TypesGer.Acc))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Neut))(TypesGer.Dat))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Neut))(TypesGer.Gen))(TypesGer.NPPoss(TypesGer.GPl)(TypesGer.Nom))(TypesGer.NPPoss(TypesGer.GPl)(TypesGer.Acc))(TypesGer.NPPoss(TypesGer.GPl)(TypesGer.Dat))(TypesGer.NPPoss(TypesGer.GPl)(TypesGer.Gen))=>"dieses"++"liedes"};n=<TypesGer.Sg>;p=<TypesGer.P3>;pro=<Prelude.False>;lock_NP={}};"dieses lied";
|
||||
lin WantPlay:MP3.Move=\Song@0->{s="ich"++("will"++(Song@0.s!<TypesGer.NPCase<TypesGer.Acc>>++"spielen"))++".";lock_Phr={}};"(ich will Song_0 spielen).";
|
||||
lin WhichPlay:MP3.Move=\->{s="welches"++"lied"++("wird"++"gespielt")++"?";lock_Phr={}};"((welches lied)wird gespielt)?";
|
||||
lin Yesterday:MP3.Song=\->{s=table TypesGer.NPForm{(TypesGer.NPCase(TypesGer.Nom))(TypesGer.NPCase(TypesGer.Acc))(TypesGer.NPCase(TypesGer.Dat))=>"Yesterday";(TypesGer.NPCase(TypesGer.Gen))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Masc))(TypesGer.Nom))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Masc))(TypesGer.Acc))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Masc))(TypesGer.Dat))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Masc))(TypesGer.Gen))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Fem))(TypesGer.Nom))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Fem))(TypesGer.Acc))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Fem))(TypesGer.Dat))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Fem))(TypesGer.Gen))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Neut))(TypesGer.Nom))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Neut))(TypesGer.Acc))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Neut))(TypesGer.Dat))(TypesGer.NPPoss(TypesGer.GSg(TypesGer.Neut))(TypesGer.Gen))(TypesGer.NPPoss(TypesGer.GPl)(TypesGer.Nom))(TypesGer.NPPoss(TypesGer.GPl)(TypesGer.Acc))(TypesGer.NPPoss(TypesGer.GPl)(TypesGer.Dat))(TypesGer.NPPoss(TypesGer.GPl)(TypesGer.Gen))=>"Yesterdays"};n=<TypesGer.Sg>;p=<TypesGer.P3>;pro=<Prelude.False>;lock_NP={}};"Yesterday";
|
||||
}
|
||||
abstract MP3={flags modulesize=n9;fun CanPlay:(h_:MP3.Song)->MP3.Move={};
|
||||
cat Move[]=;
|
||||
fun Play:(h_:MP3.Song)->MP3.Move={};
|
||||
cat Song[]=;
|
||||
fun This:MP3.Song={};
|
||||
fun ThisSong:MP3.Song={};
|
||||
fun WantPlay:(h_:MP3.Song)->MP3.Move={};
|
||||
fun WhichPlay:MP3.Move={};
|
||||
fun Yesterday:MP3.Song={};
|
||||
}
|
||||
resource LexiconGer=open StructuralGer,ParadigmsGer in{flags modulesize=n0;}
|
||||
resource ParadigmsGer=open Prelude,MorphoGer,SyntaxGer,ResourceGer in{flags modulesize=n0;}
|
||||
resource ResourceGer=open Prelude,SyntaxGer in{flags modulesize=n0;}
|
||||
resource SyntaxGer=MorphoGer**open Prelude,Coordination in{flags modulesize=n132;AForm data in TypesGer;
|
||||
AMod data in TypesGer;
|
||||
APred data in TypesGer;
|
||||
Acc data in TypesGer;
|
||||
AdjComp in TypesGer;
|
||||
Adjective in TypesGer;
|
||||
Adjf data in TypesGer;
|
||||
Case data in TypesGer;
|
||||
CommNoun in TypesGer;
|
||||
Comp data in TypesGer;
|
||||
Dat data in TypesGer;
|
||||
Degree data in TypesGer;
|
||||
Fem data in TypesGer;
|
||||
GPl data in TypesGer;
|
||||
GSg data in TypesGer;
|
||||
Gen data in TypesGer;
|
||||
GenNum data in TypesGer;
|
||||
Gender data in TypesGer;
|
||||
Inv data in TypesGer;
|
||||
Main data in TypesGer;
|
||||
Masc data in TypesGer;
|
||||
NPCase data in TypesGer;
|
||||
NPForm data in TypesGer;
|
||||
NPPoss data in TypesGer;
|
||||
Neut data in TypesGer;
|
||||
Nom data in TypesGer;
|
||||
Number data in TypesGer;
|
||||
Order data in TypesGer;
|
||||
P1 data in TypesGer;
|
||||
P2 data in TypesGer;
|
||||
P3 data in TypesGer;
|
||||
Particle in TypesGer;
|
||||
Person data in TypesGer;
|
||||
Pl data in TypesGer;
|
||||
Pos data in TypesGer;
|
||||
Preposition in TypesGer;
|
||||
ProPN in MorphoGer;
|
||||
param QuestForm=DirQ|IndirQ;
|
||||
RelPron in MorphoGer;
|
||||
Sg data in TypesGer;
|
||||
Strong data in TypesGer;
|
||||
Sub data in TypesGer;
|
||||
Sup data in TypesGer;
|
||||
VForm data in TypesGer;
|
||||
VImp data in TypesGer;
|
||||
VImpfInd data in TypesGer;
|
||||
VImpfSubj data in TypesGer;
|
||||
VInd data in TypesGer;
|
||||
VInf data in TypesGer;
|
||||
VPart data in TypesGer;
|
||||
VPresPart data in TypesGer;
|
||||
VSubj data in TypesGer;
|
||||
Verb in TypesGer;
|
||||
Verbum in TypesGer;
|
||||
Weak data in TypesGer;
|
||||
aMod in MorphoGer;
|
||||
adde in MorphoGer;
|
||||
adjCompReg in MorphoGer;
|
||||
adjCompReg3 in MorphoGer;
|
||||
adjE in MorphoGer;
|
||||
adjEr in MorphoGer;
|
||||
adjGen in MorphoGer;
|
||||
adjInvar in MorphoGer;
|
||||
adjReg in MorphoGer;
|
||||
artDef in MorphoGer;
|
||||
artIndef in MorphoGer;
|
||||
caselist in MorphoGer;
|
||||
declN1 in MorphoGer;
|
||||
declN1M in MorphoGer;
|
||||
declN1e in MorphoGer;
|
||||
declN1eM in MorphoGer;
|
||||
declN1in in MorphoGer;
|
||||
declN2 in MorphoGer;
|
||||
declN2i in MorphoGer;
|
||||
declN2in in MorphoGer;
|
||||
declN2n in MorphoGer;
|
||||
declN2u in MorphoGer;
|
||||
declN2uF in MorphoGer;
|
||||
declN3 in MorphoGer;
|
||||
declN3u in MorphoGer;
|
||||
declN3uS in MorphoGer;
|
||||
declNs in MorphoGer;
|
||||
gNumber in MorphoGer;
|
||||
impe in MorphoGer;
|
||||
mkAdjComp in MorphoGer;
|
||||
mkAdjective in MorphoGer;
|
||||
mkNoun in MorphoGer;
|
||||
mkNoun2es in MorphoGer;
|
||||
mkNoun2n in MorphoGer;
|
||||
mkNoun2s in MorphoGer;
|
||||
mkNoun2ses in MorphoGer;
|
||||
mkNoun3 in MorphoGer;
|
||||
mkNoun4 in MorphoGer;
|
||||
mkPronPers in MorphoGer;
|
||||
mkVerb in MorphoGer;
|
||||
mkVerbSimple in MorphoGer;
|
||||
mkVerbum in MorphoGer;
|
||||
numGenNum in MorphoGer;
|
||||
plural in TypesGer;
|
||||
pronDu in MorphoGer;
|
||||
pronEnding in MorphoGer;
|
||||
pronEr in MorphoGer;
|
||||
pronEs in MorphoGer;
|
||||
pronIch in MorphoGer;
|
||||
pronIhr in MorphoGer;
|
||||
pronSSie in MorphoGer;
|
||||
pronSie in MorphoGer;
|
||||
pronSiePl in MorphoGer;
|
||||
pronWir in MorphoGer;
|
||||
regVerb in MorphoGer;
|
||||
relPron in MorphoGer;
|
||||
singular in TypesGer;
|
||||
verbGeben in MorphoGer;
|
||||
verbHaben in MorphoGer;
|
||||
verbSein in MorphoGer;
|
||||
verbWerden in MorphoGer;
|
||||
verbumAux in MorphoGer;
|
||||
verbumDürfen in MorphoGer;
|
||||
verbumGratulieren in MorphoGer;
|
||||
verbumHaben in MorphoGer;
|
||||
verbumKönnen in MorphoGer;
|
||||
verbumMögen in MorphoGer;
|
||||
verbumMüssen in MorphoGer;
|
||||
verbumSein in MorphoGer;
|
||||
verbumSollen in MorphoGer;
|
||||
verbumStrongLaufen in MorphoGer;
|
||||
verbumStrongSehen in MorphoGer;
|
||||
verbumStrongSingen in MorphoGer;
|
||||
verbumWeak in MorphoGer;
|
||||
verbumWerden in MorphoGer;
|
||||
verbumWissen in MorphoGer;
|
||||
verbumWollen in MorphoGer;
|
||||
}
|
||||
resource MorphoGer=TypesGer**open Predef,Prelude in{flags modulesize=n54;AForm data in TypesGer;
|
||||
AMod data in TypesGer;
|
||||
APred data in TypesGer;
|
||||
Acc data in TypesGer;
|
||||
AdjComp in TypesGer;
|
||||
Adjective in TypesGer;
|
||||
Adjf data in TypesGer;
|
||||
Case data in TypesGer;
|
||||
CommNoun in TypesGer;
|
||||
Comp data in TypesGer;
|
||||
Dat data in TypesGer;
|
||||
Degree data in TypesGer;
|
||||
Fem data in TypesGer;
|
||||
GPl data in TypesGer;
|
||||
GSg data in TypesGer;
|
||||
Gen data in TypesGer;
|
||||
GenNum data in TypesGer;
|
||||
Gender data in TypesGer;
|
||||
Inv data in TypesGer;
|
||||
Main data in TypesGer;
|
||||
Masc data in TypesGer;
|
||||
NPCase data in TypesGer;
|
||||
NPForm data in TypesGer;
|
||||
NPPoss data in TypesGer;
|
||||
Neut data in TypesGer;
|
||||
Nom data in TypesGer;
|
||||
Number data in TypesGer;
|
||||
Order data in TypesGer;
|
||||
P1 data in TypesGer;
|
||||
P2 data in TypesGer;
|
||||
P3 data in TypesGer;
|
||||
Particle in TypesGer;
|
||||
Person data in TypesGer;
|
||||
Pl data in TypesGer;
|
||||
Pos data in TypesGer;
|
||||
Preposition in TypesGer;
|
||||
Sg data in TypesGer;
|
||||
Strong data in TypesGer;
|
||||
Sub data in TypesGer;
|
||||
Sup data in TypesGer;
|
||||
VForm data in TypesGer;
|
||||
VImp data in TypesGer;
|
||||
VImpfInd data in TypesGer;
|
||||
VImpfSubj data in TypesGer;
|
||||
VInd data in TypesGer;
|
||||
VInf data in TypesGer;
|
||||
VPart data in TypesGer;
|
||||
VPresPart data in TypesGer;
|
||||
VSubj data in TypesGer;
|
||||
Verb in TypesGer;
|
||||
Verbum in TypesGer;
|
||||
Weak data in TypesGer;
|
||||
plural in TypesGer;
|
||||
singular in TypesGer;
|
||||
}
|
||||
resource TypesGer=open Prelude in{flags modulesize=n11;param AForm=APred|AMod TypesGer.Adjf TypesGer.GenNum TypesGer.Case;
|
||||
param Adjf=Strong|Weak;
|
||||
param Case=Nom|Acc|Dat|Gen;
|
||||
param Degree=Pos|Comp|Sup;
|
||||
param GenNum=GSg TypesGer.Gender|GPl;
|
||||
param Gender=Masc|Fem|Neut;
|
||||
param NPForm=NPCase TypesGer.Case|NPPoss TypesGer.GenNum TypesGer.Case;
|
||||
param Number=Sg|Pl;
|
||||
param Order=Main|Inv|Sub;
|
||||
param Person=P1|P2|P3;
|
||||
param VForm=VInf|VInd TypesGer.Number TypesGer.Person|VImp TypesGer.Number|VSubj TypesGer.Number TypesGer.Person|VImpfInd TypesGer.Number TypesGer.Person|VImpfSubj TypesGer.Number TypesGer.Person|VPresPart TypesGer.AForm|VPart TypesGer.AForm;
|
||||
}
|
||||
Reference in New Issue
Block a user