summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authoraarne <aarne@chalmers.se>2011-09-26 06:56:36 +0000
committeraarne <aarne@chalmers.se>2011-09-26 06:56:36 +0000
commitff4929e25e49e771dd0355dd7f8809161f69e008 (patch)
tree73978518681a33f051392f127cf61876e64b718b /examples
parent1a3a26563b502395702704824e74929f53696348 (diff)
Query/small packaged
Diffstat (limited to 'examples')
-rw-r--r--examples/query/small/Makefile10
-rw-r--r--examples/query/small/QueryEng.gf5
-rw-r--r--examples/query/small/QuerySwe.gf9
-rw-r--r--examples/query/small/README11
-rw-r--r--examples/query/small/treebank.txt299
5 files changed, 327 insertions, 7 deletions
diff --git a/examples/query/small/Makefile b/examples/query/small/Makefile
new file mode 100644
index 000000000..351850274
--- /dev/null
+++ b/examples/query/small/Makefile
@@ -0,0 +1,10 @@
+all: pgf treebank
+
+pgf:
+ gf -make -optimize-pgf Query???.gf
+
+treebank:
+ gf --run Query.pgf <tests.gfs >treebank.txt
+
+
+
diff --git a/examples/query/small/QueryEng.gf b/examples/query/small/QueryEng.gf
index c2db9880a..207e56483 100644
--- a/examples/query/small/QueryEng.gf
+++ b/examples/query/small/QueryEng.gf
@@ -5,7 +5,7 @@ concrete QueryEng of Query = open
IrregEng,
SyntaxEng,
ExtraEng,
- (L = LangEng),
+ (L = GrammarEng),
Prelude
in {
@@ -32,7 +32,7 @@ lin
QSet s =
let
ss : NP = s
- | mkNP (mkNP thePl_Det L.name_N) (mkAdv possess_Prep s)
+ | mkNP (mkNP thePl_Det name_N) (mkAdv possess_Prep s)
---- s's names
in
mkUtt (mkImp (mkVP give_V3 (mkNP i_Pron) ss))
@@ -101,6 +101,7 @@ oper
give_V3 = mkV3 give_V ;
information_N = mkN "information" ;
other_A = mkA "other" ;
+ name_N = mkN "name" ;
-- lexical constructors
mkName : Str -> NP =
diff --git a/examples/query/small/QuerySwe.gf b/examples/query/small/QuerySwe.gf
index b928093ab..f56ee6b53 100644
--- a/examples/query/small/QuerySwe.gf
+++ b/examples/query/small/QuerySwe.gf
@@ -6,7 +6,7 @@ concrete QuerySwe of Query = open
SyntaxSwe,
ExtraSwe,
(M = MakeStructuralSwe),
- (L = LangSwe),
+ (L = GrammarSwe),
Prelude
in {
@@ -35,7 +35,7 @@ lin
QSet s =
let
ss : NP = s
- | mkNP (mkNP thePl_Det L.name_N) (mkAdv on_Prep s)
+ | mkNP (mkNP thePl_Det name_N) (mkAdv on_Prep s)
---- s's names
in
mkUtt (mkImp (mkVP give_V3 (mkNP i_Pron) ss))
@@ -51,7 +51,7 @@ lin
mkUtt (mkImp (mkVP give_V3 (mkNP i_Pron) info))
| mkUtt info ;
- QCalled i = mkUtt (mkQS (mkQCl how_IAdv (mkCl i (mkVP also_AdV (mkVP called_A))))) ;
+ QCalled i = mkUtt (mkQS (mkQCl (mkIP whichSg_IDet (mkCN other_A name_N)) i have_V2)) ;
AKind s k = mkUtt (mkCl s (mkNP aPl_Det k)) ; ---- a, fun of s
AProp s p = mkUtt (mkCl s p) ;
@@ -105,8 +105,7 @@ oper
information_N = mkN "information" "informationer" ;
other_A = compoundA (mkA "annan" "annat" "andra" "andra" "andra") ;
that_RP = which_RP ;
-
- sina : CN -> NP = \cn -> mkNP (M.mkPredet "sin" "sitt" "sina") (mkNP a_Quant plNum cn) ; ---- should be in ExtraSwe
+ name_N = mkN "namn" "namn" ;
-- lexical constructors
mkName : Str -> NP =
diff --git a/examples/query/small/README b/examples/query/small/README
new file mode 100644
index 000000000..9e3997e00
--- /dev/null
+++ b/examples/query/small/README
@@ -0,0 +1,11 @@
+Query language for MOLTO KRI.
+(c) Aarne Ranta 2011 for the gf files
+
+To compile and test: make
+
+To build a new language, use QueryGer or QueryIta as starting point:
+they are the simplest and cleanest implementations. As baseline, just change
+the lexical oper's in the beginning of the file.
+
+
+
diff --git a/examples/query/small/treebank.txt b/examples/query/small/treebank.txt
new file mode 100644
index 000000000..028a667bf
--- /dev/null
+++ b/examples/query/small/treebank.txt
@@ -0,0 +1,299 @@
+Query: MQuery (QSet (SAll Person))
+QueryEng: give me all people
+QueryFin: näytä kaikki henkilöt
+QueryFre: montrer toutes les personnes
+QueryGer: zeigen Sie alle Personen
+QueryIta: mostrare tutte le persone
+QuerySwe: ge mig alla personer
+
+
+Query: MQuery (QSet (SAll (KRel Location)))
+QueryEng: give me all locations
+QueryFin: näytä kaikki sijainnit
+QueryFre: montrer toutes les positions
+QueryGer: zeigen Sie alle Lagen
+QueryIta: mostrare tutte le posizioni
+QuerySwe: ge mig alla lägen
+
+
+Query: MQuery (QSet (SAll Organization))
+QueryEng: give me all organizations
+QueryFin: näytä kaikki organisaatiot
+QueryFre: montrer toutes les organisations
+QueryGer: zeigen Sie alle Organisationen
+QueryIta: mostrare tutte le organizzazioni
+QuerySwe: ge mig alla organisationer
+
+
+Query: MQuery (QInfo (SInd (IName (NOrg Organization1))))
+QueryEng: give me all information about 'Organization1
+QueryFin: anna kaikki tiedot organisaatiosta 'Organization1
+QueryFre: montrer toutes les informations sur 'Organization1
+QueryGer: zeigen Sie alle Informationen über 'Organization1
+QueryIta: mostrare tutte le informazioni su 'Organization1
+QuerySwe: ge mig all information om 'Organization1
+
+
+Query: MQuery (QInfo (SInd (IName (NPers Person1))))
+QueryEng: give me all information about 'Person1
+QueryFin: anna kaikki tiedot henkilöstä 'Person1
+QueryFre: montrer toutes les informations sur 'Person1
+QueryGer: zeigen Sie alle Informationen über 'Person1
+QueryIta: mostrare tutte le informazioni su 'Person1
+QuerySwe: ge mig all information om 'Person1
+
+
+Query: MQuery (QInfo (SInd (IName (NLoc Location1))))
+QueryEng: give me all information about 'Location1
+QueryFin: anna kaikki tiedot paikasta 'Location1
+QueryFre: montrer toutes les informations sur 'Location1
+QueryGer: zeigen Sie alle Informationen über 'Location1
+QueryIta: mostrare tutte le informazioni su 'Location1
+QuerySwe: ge mig all information om 'Location1
+
+
+Query: MQuery (QSet (SInd (IName (NOrg Organization1))))
+QueryEng: give me 'Organization1
+QueryFin: näytä organisaatio 'Organization1
+QueryFre: montrer 'Organization1
+QueryGer: zeigen Sie 'Organization1
+QueryIta: mostrare 'Organization1
+QuerySwe: ge mig 'Organization1
+
+
+Query: MQuery (QSet (SInd (IName (NPers Person1))))
+QueryEng: give me 'Person1
+QueryFin: näytä henkilö 'Person1
+QueryFre: montrer 'Person1
+QueryGer: zeigen Sie 'Person1
+QueryIta: mostrare 'Person1
+QuerySwe: ge mig 'Person1
+
+
+Query: MQuery (QSet (SInd (IName (NLoc Location1))))
+QueryEng: give me 'Location1
+QueryFin: näytä paikka 'Location1
+QueryFre: montrer 'Location1
+QueryGer: zeigen Sie 'Location1
+QueryIta: mostrare 'Location1
+QuerySwe: ge mig 'Location1
+
+
+Query: MQuery (QInfo (SAll Person))
+QueryEng: give me all information about all people
+QueryFin: anna kaikki tiedot kaikista henkilöistä
+QueryFre: montrer toutes les informations sur toutes les personnes
+QueryGer: zeigen Sie alle Informationen über alle Personen
+QueryIta: mostrare tutte le informazioni su tutte le persone
+QuerySwe: ge mig all information om alla personer
+
+
+Query: MQuery (QInfo (SAll (KRel Location)))
+QueryEng: give me all information about all locations
+QueryFin: anna kaikki tiedot kaikista sijainneista
+QueryFre: montrer toutes les informations sur toutes les positions
+QueryGer: zeigen Sie alle Informationen über alle Lagen
+QueryIta: mostrare tutte le informazioni su tutte le posizioni
+QuerySwe: ge mig all information om alla lägen
+
+
+Query: MQuery (QInfo (SAll Organization))
+QueryEng: give me all information about all organizations
+QueryFin: anna kaikki tiedot kaikista organisaatioista
+QueryFre: montrer toutes les informations sur toutes les organisations
+QueryGer: zeigen Sie alle Informationen über alle Organisationen
+QueryIta: mostrare tutte le informazioni su tutte le organizzazioni
+QuerySwe: ge mig all information om alla organisationer
+
+
+Query: MQuery (QSet (SAll (KRelSet Subregion (SAll (KRel Location)))))
+QueryEng: give me all subregions of all locations
+QueryFin: näytä kaikki kaikkien sijaintien osat
+QueryFre: montrer toutes les sous-régions de toutes les positions
+QueryGer: zeigen Sie alle Teilbereiche von allen Lagen
+QueryIta: mostrare tutte le sottoregioni di tutte le posizioni
+QuerySwe: ge mig alla delregioner i alla lägen
+
+
+Query: MQuery (QSet (SAll (KRelKind (KRel Location) Subregion (SOther (KRel Location)))))
+QueryEng: give me all locations that are subregions of other locations
+QueryFin: näytä kaikki sijainnit jotka ovat muiden sijaintien osia
+QueryFre: montrer toutes les positions qui sont des sous-régions d' autres positions
+QueryGer: zeigen Sie alle Lagen die Teilbereiche von anderen Lagen sind
+QueryIta: mostrare tutte le posizioni che sono sottoregioni di altre posizioni
+QuerySwe: ge mig alla lägen som är delregioner i andra lägen
+
+
+Query: MQuery (QSet (SAll (KRelSet Subregion (SInd (IName (NLoc Location1))))))
+QueryEng: give me all subregions of 'Location1
+QueryFin: näytä kaikki paikan 'Location1 osat
+QueryFre: montrer toutes les sous-régions de 'Location1
+QueryGer: zeigen Sie alle Teilbereiche von 'Location1
+QueryIta: mostrare tutte le sottoregioni di 'Location1
+QuerySwe: ge mig alla delregioner i 'Location1
+
+
+Query: MQuery (QSet (SPlural (KProp (Located Location1) Organization)))
+QueryEng: give me organizations located in 'Location1
+QueryFin: näytä paikassa 'Location1 sijaitsevia organisaatioita
+QueryFre: montrer des organisations situées dans 'Location1
+QueryGer: zeigen Sie in 'Location1 situierte Organisationen
+QueryIta: mostrare organizzazioni situate in 'Location1
+QuerySwe: ge mig organisationer belägna i 'Location1
+
+
+Query: MQuery (QSet (SPlural (KProp (Located Location1) Person)))
+QueryEng: give me people located in 'Location1
+QueryFin: näytä paikassa 'Location1 sijaitsevia henkilöitä
+QueryFre: montrer des personnes situées dans 'Location1
+QueryGer: zeigen Sie in 'Location1 situierte Personen
+QueryIta: mostrare persone situate in 'Location1
+QuerySwe: ge mig personer belägna i 'Location1
+
+
+Query: MQuery (QSet (SPlural (KProp (Located Location1) (KRel Location))))
+QueryEng: give me locations located in 'Location1
+QueryFin: näytä paikassa 'Location1 sijaitsevia sijainteja
+QueryFre: montrer des positions situées dans 'Location1
+QueryGer: zeigen Sie in 'Location1 situierte Lagen
+QueryIta: mostrare posizioni situate in 'Location1
+QuerySwe: ge mig lägen belägna i 'Location1
+
+
+Query: MQuery (QWhere (SInd (IName (NLoc Location1))))
+QueryEng: where is 'Location1
+QueryFin: missä on paikka 'Location1
+QueryFre: où est 'Location1
+QueryGer: wo ist 'Location1
+QueryIta: dove è 'Location1
+QuerySwe: var är 'Location1
+
+
+Query: MQuery (QWhere (SInd (IName (NOrg Organization1))))
+QueryEng: where is 'Organization1
+QueryFin: missä on organisaatio 'Organization1
+QueryFre: où est 'Organization1
+QueryGer: wo ist 'Organization1
+QueryIta: dove è 'Organization1
+QuerySwe: var är 'Organization1
+
+
+Query: MQuery (QWhere (SInd (IName (NPers Person1))))
+QueryEng: where is 'Person1
+QueryFin: missä on henkilö 'Person1
+QueryFre: où est 'Person1
+QueryGer: wo ist 'Person1
+QueryIta: dove è 'Person1
+QuerySwe: var är 'Person1
+
+
+Query: MQuery (QSet (SAll (KRelPair Organization Location)))
+QueryEng: give me all organizations with their locations
+QueryFin: näytä kaikki organisaatiot ja näiden sijainnit
+QueryFre: montrer toutes les organisations avec leurs positions
+QueryGer: zeigen Sie alle Organisationen mit ihren Lagen
+QueryIta: mostrare tutte le organizzazioni colle loro posizioni
+QuerySwe: ge mig alla organisationer med deras lägen
+
+
+Query: MQuery (QWhere (SAll Organization))
+QueryEng: where are all organizations
+QueryFin: missä ovat kaikki organisaatiot
+QueryFre: où sont toutes les organisations
+QueryGer: wo sind alle Organisationen
+QueryIta: dove sono tutte le organizzazioni
+QuerySwe: var är alla organisationer
+
+
+Query: MQuery (QWhere (SAll Person))
+QueryEng: where are all people
+QueryFin: missä ovat kaikki henkilöt
+QueryFre: où sont toutes les personnes
+QueryGer: wo sind alle Personen
+QueryIta: dove sono tutte le persone
+QuerySwe: var är alla personer
+
+
+Query: MQuery (QWhere (SAll (KRel Location)))
+QueryEng: where are all locations
+QueryFin: missä ovat kaikki sijainnit
+QueryFre: où sont toutes les positions
+QueryGer: wo sind alle Lagen
+QueryIta: dove sono tutte le posizioni
+QuerySwe: var är alla lägen
+
+
+Query: MQuery (QSet (SPlural (KRelPair (KRel Region) Subregion)))
+QueryEng: give me regions with their subregions
+QueryFin: näytä alueita ja näiden osia
+QueryFre: montrer des régions avec leurs sous-régions
+QueryGer: zeigen Sie Regionen mit ihren Teilbereichen
+QueryIta: mostrare regioni colle loro sottoregioni
+QuerySwe: ge mig regioner med deras delregioner
+
+
+command not parsed
+Query: MQuery (QSet (SAll (KAct (Work Organization1) Person)))
+QueryEng: give me all people that work at 'Organization1
+QueryFin: näytä kaikki henkilöt jotka työskentelevät organisaatiossa 'Organization1
+QueryFre: montrer toutes les personnes qui travaillent chez 'Organization1
+QueryGer: zeigen Sie alle Personen die bei 'Organization1 arbeiten
+QueryIta: mostrare tutte le persone che lavorano presso 'Organization1
+QuerySwe: ge mig alla personer som jobbar på 'Organization1
+
+
+Query: MQuery (QSet (SAll (KRelSet RNickname (SInd (IName (NPers Person1))))))
+QueryEng: give me all nicknames of 'Person1
+QueryFin: näytä kaikki henkilön 'Person1 lisänimet
+QueryFre: montrer tous les surnoms de 'Person1
+QueryGer: zeigen Sie alle Spitznamen von 'Person1
+QueryIta: mostrare tutti i soprannomi di 'Person1
+QuerySwe: ge mig alla tilläggsnamn på 'Person1
+
+
+Query: MQuery (QSet (SAll (KRelSet RNickname (SInd (IName (NLoc Location1))))))
+QueryEng: give me all nicknames of 'Location1
+QueryFin: näytä kaikki paikan 'Location1 lisänimet
+QueryFre: montrer tous les surnoms de 'Location1
+QueryGer: zeigen Sie alle Spitznamen von 'Location1
+QueryIta: mostrare tutti i soprannomi di 'Location1
+QuerySwe: ge mig alla tilläggsnamn på 'Location1
+
+
+Query: MQuery (QSet (SAll (KRelSet RNickname (SInd (IName (NOrg Organization1))))))
+QueryEng: give me all nicknames of 'Organization1
+QueryFin: näytä kaikki organisaation 'Organization1 lisänimet
+QueryFre: montrer tous les surnoms de 'Organization1
+QueryGer: zeigen Sie alle Spitznamen von 'Organization1
+QueryIta: mostrare tutti i soprannomi di 'Organization1
+QuerySwe: ge mig alla tilläggsnamn på 'Organization1
+
+
+Query: MQuery (QCalled (IName (NPers Person1)))
+QueryEng: how is 'Person1 also called
+QueryFin: mikä on henkilön 'Person1 toinen nimi
+QueryFre: quel autre nom a 'Person1
+QueryGer: welchen anderen Namen hat 'Person1
+QueryIta: quale altro nome ha 'Person1
+QuerySwe: vilket annat namn har 'Person1
+
+
+Query: MQuery (QCalled (IName (NLoc Location1)))
+QueryEng: how is 'Location1 also called
+QueryFin: mikä on paikan 'Location1 toinen nimi
+QueryFre: quel autre nom a 'Location1
+QueryGer: welchen anderen Namen hat 'Location1
+QueryIta: quale altro nome ha 'Location1
+QuerySwe: vilket annat namn har 'Location1
+
+
+Query: MQuery (QCalled (IName (NOrg Organization1)))
+QueryEng: how is 'Organization1 also called
+QueryFin: mikä on organisaation 'Organization1 toinen nimi
+QueryFre: quel autre nom a 'Organization1
+QueryGer: welchen anderen Namen hat 'Organization1
+QueryIta: quale altro nome ha 'Organization1
+QuerySwe: vilket annat namn har 'Organization1
+
+
+command not parsed