updated resource example

This commit is contained in:
aarne
2005-05-22 11:55:53 +00:00
parent 52b81f08a8
commit 60427e170c
14 changed files with 101 additions and 90 deletions

View File

@@ -1,12 +1,10 @@
abstract Animals = {
cat
Phrase ; Animal ; Action ;
fun
Who : Action -> Animal -> Phrase ;
Whom : Animal -> Action -> Phrase ;
Answer : Animal -> Action -> Animal -> Phrase ;
-- The Question grammar specialized to animals.
Dog, Cat, Mouse, Lion, Zebra : Animal ;
abstract Animals = Questions ** {
fun
-- a lexicon of animals and actions among them
Dog, Cat, Mouse, Lion, Zebra : Entity ;
Chase, Eat, Like : Action ;
}

View File

@@ -1,37 +1,15 @@
--# -path=.:resource/english:resource/abstract:resource/../prelude
concrete AnimalsEng of Animals = open ResourceEng, ParadigmsEng, VerbsEng in {
lincat
Phrase = Phr ;
Animal = N ;
Action = V2 ;
concrete AnimalsEng of Animals = QuestionsEng **
open ResourceEng, ParadigmsEng, VerbsEng in {
lin
Who act obj = QuestPhrase (UseQCl (PosTP TPresent ASimul)
(QPredV2 who8one_IP act (IndefNumNP NoNum (UseN obj)))) ;
Whom subj act = QuestPhrase (UseQCl (PosTP TPresent ASimul)
(IntSlash who8one_IP (SlashV2 (DefOneNP (UseN subj)) act))) ;
Answer subj act obj = IndicPhrase (UseCl (PosTP TPresent ASimul)
(SPredV2 (DefOneNP (UseN subj)) act (IndefNumNP NoNum (UseN obj)))) ;
Dog = regN "dog" ;
Cat = regN "cat" ;
Mouse = mk2N "mouse" "mice" ;
Lion = regN "lion" ;
Zebra = regN "zebra" ;
Chase = dirV2 (regV "chase") ;
Eat = dirV2 (eat_V ** {lock_V = <>}) ;
Eat = dirV2 eat_V ;
Like = dirV2 (regV "like") ;
}
{-
> p -cat=Phr "who likes cars ?"
QuestPhrase (UseQCl (PosTP TPresent ASimul) (QPredV2 who8one_IP like_V2 (IndefNumNP NoNum (UseN car_N))))
QuestPhrase (UseQCl (PosTP TPresent ASimul) (IntSlash who8one_IP (SlashV2 (DefOneNP (UseN car_N)) like_V2)))
> p -cat=Phr "the house likes cars ."
IndicPhrase (UseCl (PosTP TPresent ASimul) (SPredV2 (DefOneNP (UseN house_N)) like_V2 (IndefNumNP NoNum (UseN car_N))))
-}

View File

@@ -1,21 +1,9 @@
--# -path=.:resource/french:resource/romance:resource/abstract:resource/../prelude
concrete AnimalsFre of Animals =
open
--- ResourceFre,
RulesFre, StructuralFre, VerbphraseFre,
ParadigmsFre, VerbsFre in {
lincat
Phrase = Phr ;
Animal = N ;
Action = V2 ;
concrete AnimalsFre of Animals = QuestionsFre **
open ResourceFre, ParadigmsFre, VerbsFre in {
lin
Who act obj = QuestPhrase (UseQCl (PosTP TPresent ASimul)
(IntVP who8one_IP (ComplV2 act (DefNumNP NoNum (UseN obj))))) ;
Whom subj act = QuestPhrase (UseQCl (PosTP TPresent ASimul)
(IntSlash who8one_IP (SlashV2 (DefOneNP (UseN subj)) act))) ;
Answer subj act obj = IndicPhrase (UseCl (PosTP TPresent ASimul)
(PredVP (DefOneNP (UseN subj)) (ComplV2 act (DefNumNP NoNum (UseN obj))))) ;
Dog = regN "chien" masculine ;
Cat = regN "chat" masculine ;
Mouse = regN "souris" feminine ;

View File

@@ -1,17 +1,9 @@
--# -path=.:resource/swedish:resource/scandinavian:resource/abstract:resource/../prelude
concrete AnimalsSwe of Animals = open ResourceSwe, ParadigmsSwe, VerbsSwe in {
lincat
Phrase = Phr ;
Animal = N ;
Action = V2 ;
concrete AnimalsSwe of Animals = QuestionsSwe **
open ResourceSwe, ParadigmsSwe, VerbsSwe in {
lin
Who act obj = QuestPhrase (UseQCl (PosTP TPresent ASimul)
(QPredV2 who8one_IP act (IndefNumNP NoNum (UseN obj)))) ;
Whom subj act = QuestPhrase (UseQCl (PosTP TPresent ASimul)
(IntSlash who8one_IP (SlashV2 (DefOneNP (UseN subj)) act))) ;
Answer subj act obj = IndicPhrase (UseCl (PosTP TPresent ASimul)
(SPredV2 (DefOneNP (UseN subj)) act (IndefNumNP NoNum (UseN obj)))) ;
Dog = regN "hund" utrum ;
Cat = mk2N "katt" "katter" ;
Mouse = mkN "mus" "musen" "möss" "mössen" ;

View File

@@ -0,0 +1,10 @@
-- Simple questions and answers, in present tense.
abstract Questions = {
cat
Phrase ; Entity ; Action ;
fun
Who : Action -> Entity -> Phrase ; -- who chases X
Whom : Entity -> Action -> Phrase ; -- whom does X chase
Answer : Entity -> Action -> Entity -> Phrase ; -- X chases Y
}

View File

@@ -0,0 +1,2 @@
concrete QuestionsEng of Questions = QuestionsI with
(Resource = ResourceEng) ;

View File

@@ -0,0 +1,2 @@
concrete QuestionsFre of Questions = QuestionsI with
(Resource = ResourceFre) ;

View File

@@ -0,0 +1,20 @@
--# -path=.:resource/abstract:resource/../prelude
-- Language-independent question grammar parametwized on Resource.
incomplete concrete QuestionsI of Questions = open Resource in {
lincat
Phrase = Phr ;
Entity = N ;
Action = V2 ;
lin
Who act obj =
QuestPhrase (UseQCl (PosTP TPresent ASimul)
(QPredV2 who8one_IP act (IndefNumNP NoNum (UseN obj)))) ;
Whom subj act =
QuestPhrase (UseQCl (PosTP TPresent ASimul)
(IntSlash who8one_IP (SlashV2 (DefOneNP (UseN subj)) act))) ;
Answer subj act obj =
IndicPhrase (UseCl (PosTP TPresent ASimul)
(SPredV2 (DefOneNP (UseN subj)) act (IndefNumNP NoNum (UseN obj)))) ;
}

View File

@@ -0,0 +1,2 @@
concrete QuestionsSwe of Questions = QuestionsI with
(Resource = ResourceSwe) ;

View File

@@ -505,20 +505,21 @@ Test with random generation, translation, morphological analysis...
<!-- NEW -->
<h2>Use as top-level grammar: language learning quizzes</h2>
Morpho quiz with words:
Morpho quiz with words (e.g. French verbs):
<pre>
i
i french/VerbsFre.gf
mq -cat=V
</pre>
Morpho quiz with phrases:
Morpho quiz with phrases (e.g. Swedish clauses):
<pre>
i swedish/LangSwe.gf
mq -cat=Cl
</pre>
Translation quiz with sentences:
Translation quiz with sentences (e.g. sentences from English to Swedish):
<pre>
i swedish/LangEng.gf
i swedish/LangSwe.gf
tq -cat=S LangEng LangSwe
</pre>
@@ -580,21 +581,35 @@ Source modules:
<p>
Abstract syntax:
<a href=example/Questions.gf>Questions</a>,
<a href=example/Animals.gf>Animals</a>
<p>
Concrete syntax of questions parametrized on the resource API:
<a href=example/QuestionsI.gf>QuestionsI</a>
<p>
English concrete syntax:
<a href=example/QuestionsEng.gf>QuestionsEng</a>,
<a href=example/AnimalsEng.gf>AnimalsEng</a>
<p>
French concrete syntax:
<a href=example/QuestionsFre.gf>QuestionsFre</a>,
<a href=example/AnimalsFre.gf>AnimalsFre</a>
<p>
Swedish concrete syntax:
<a href=example/QuestionsSwe.gf>QuestionsSwe</a>,
<a href=example/AnimalsSwe.gf>AnimalsSwe</a>
<!-- NEW -->
<h2>Compiling the example application</h2>
@@ -667,18 +682,23 @@ In two language families:
<h2>Current status</h2>
<table border=1>
<tr><td>Language</td> <td>v0.6</td> <td>API</td> <td>Paradigms</td> <td>Basic lex</td> <td>Verbs</td></tr>
<tr><td>Danish</td> <td> </td> <td>X</td> <td> </td> <td> </td> <td> </tr>
<tr><td>Language</td> <td>v0.6</td> <td>v0.9 API</td> <td>Paradigms</td> <td>Basic lex</td> <td>Verbs</td></tr>
<tr><td>Danish</td> <td>-</td> <td>X</td> <td>-</td> <td>-</td> <td>-</tr>
<tr><td>English</td> <td>X</td> <td>X</td> <td>X</td> <td>X</td> <td>X</tr>
<tr><td>Finnish</td> <td>X</td> <td> </td> <td> </td> <td> </td> <td> </tr>
<tr><td>Finnish</td> <td>X</td> <td>-</td> <td>-</td> <td>-</td> <td>-</tr>
<tr><td>French</td> <td>X</td> <td>X</td> <td>X</td> <td>X</td> <td>X</tr>
<tr><td>German</td> <td>X</td> <td> </td> <td>*</td> <td> </td> <td> </tr>
<tr><td>German</td> <td>X</td> <td>-</td> <td>*</td> <td>-</td> <td>-</tr>
<tr><td>Italian</td> <td>X</td> <td>X</td> <td>X</td> <td>X</td> <td>X</tr>
<tr><td>Norwegian</td> <td> </td> <td>X</td> <td>X</td> <td>X</td> <td>X</tr>
<tr><td>Russian</td> <td>X</td> <td>*</td> <td>*</td> <td> </td> <td> </tr>
<tr><td>Spanish</td> <td> </td> <td>X</td> <td>X</td> <td> </td> <td>X</tr>
<tr><td>Norwegian</td> <td>-</td> <td>X</td> <td>X</td> <td>X</td> <td>X</tr>
<tr><td>Russian</td> <td>X</td> <td>*</td> <td>*</td> <td>-</td> <td>-</tr>
<tr><td>Spanish</td> <td>-</td> <td>X</td> <td>X</td> <td>X</td> <td>X</tr>
<tr><td>Swedish</td> <td>X</td> <td>X</td> <td>X</td> <td>X</td> <td>X</tr>
</table>
X = implemented (few exceptions may occur)
<br>
* = linguistic material ready for implementation
<br>
- = not implemented
<!-- NEW -->
@@ -720,15 +740,10 @@ Swedish
<!-- NEW -->
<h2>Obtaining it</h2>
Now on CVS at Chalmers:
<pre>
cvs -d /users/cs/aarne/cvs checkout GF2.0/lib
</pre>
Get the grammar package atDownload from
<a href="http://sourceforge.net/project/showfiles.php?group_id=132285">
GF Download Page</a>. The current libraries are in
<tt>lib/resource</tt>. Version 0.6 is in
<tt>lib/resource-0.6</tt>.
<p>
To appear later at GF Homepage:<p>
<a href="http://www.cs.chalmers.se/%7Eaarne/GF">
<tt>http://www.cs.chalmers.se/~aarne/GF</tt></a>
</p></body></html>
</body></html>

View File

@@ -1,4 +1,5 @@
--# -path=.:../romance:../abstract:../../prelude
concrete ResourceFre of ResourceVP = RulesFre, StructuralFre, VerbphraseFre ** {} ;
concrete ResourceFre of Resource = RulesFre, ClauseFre, StructuralFre ** {} ;

View File

@@ -0,0 +1,4 @@
--# -path=.:../romance:../abstract:../../prelude
concrete ResourceIta of Resource = RulesIta, ClauseIta, StructuralIta ** {} ;

View File

@@ -1,5 +1,4 @@
--# -path=.:../scandinavian:../abstract:../../prelude
---- concrete ResourceSwe of Resource = RulesSwe, VerbphraseSwe ** {} ;
concrete ResourceNor of Resource = RulesNor, StructuralNor, ClauseNor ** {} ;

View File

@@ -1,3 +1,3 @@
--# -path=.:../romance:../abstract:../../prelude
instance ResourceSpa of Resource = reuse AllResourceSpa ;
concrete ResourceSpa of Resource = RulesSpa, ClauseSpa, StructuralSpa ** {} ;