mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-23 18:02:54 -06:00
started implementing Swedish construction grammar from Språkbanken
This commit is contained in:
@@ -78,7 +78,7 @@ incomplete concrete NounScand of Noun =
|
|||||||
g = neutrum ; ----
|
g = neutrum ; ----
|
||||||
m = True ; ---- is this needed for other than Art?
|
m = True ; ---- is this needed for other than Art?
|
||||||
in {
|
in {
|
||||||
s = \\c => det.sp ! m ! g ;
|
s = \\c => det.sp ! m ! g ; ---- case of det!
|
||||||
a = agrP3 (ngen2gen g) det.n
|
a = agrP3 (ngen2gen g) det.n
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|||||||
74
lib/src/swedish/Konstruktikon.gf
Normal file
74
lib/src/swedish/Konstruktikon.gf
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
-- AR 4/12/2013 from http://spraakbanken.gu.se/swe/resurs/konstruktikon/utvecklingsversion
|
||||||
|
|
||||||
|
abstract Konstruktikon = Lang ** {
|
||||||
|
|
||||||
|
|
||||||
|
fun
|
||||||
|
reflexiv_resultativVP : V -> AP -> VP ; -- jag dricker mig smal
|
||||||
|
indirekt_kausativ_bortVP : V -> NP -> VP ; -- jag äter bort min huvudverk
|
||||||
|
verba_pa_fortsVP : V -> VP ; -- jag jobbar på
|
||||||
|
adjektiv_som_nom_abstraktNP : A -> NP ; -- det materiella --- should be AP but case is not available in AFormPos
|
||||||
|
adjektiv_som_nom_anaforiskNP : NPAgr -> A -> NP ; -- den blåa ; det röda ---- should be AP
|
||||||
|
adjektiv_som_nom_folkNP : A -> NP ; -- den gamla ---- should be AP
|
||||||
|
-- samordningXP : Conj -> [XP] -> XP ; -- mjölk, havregryn och gröt -- exists as ConjXP for XP = NP, AP, VP, S, Adv, CN
|
||||||
|
-- disj_sam_korrXP : [XP] -> XP ; -- varken gas, vätska eller fast material -- special case of Conj
|
||||||
|
|
||||||
|
-- ellips_samordningXP ---- TODO :
|
||||||
|
-- en klänning med skärp och en 0 utan 0
|
||||||
|
-- en röd 0 och en grön stol
|
||||||
|
-- Alf sitter i soffan och Barbro 0 i stolen
|
||||||
|
-- humrarna var beställda och borden 0 dukade
|
||||||
|
-- hon började gilla Simon och han 0 henne
|
||||||
|
|
||||||
|
-- ellips_komplementXP ---- TODO
|
||||||
|
-- det är förbjudet att både köpa 0 och sälja droger
|
||||||
|
|
||||||
|
-- ellips_fragmentXP ---- TODO
|
||||||
|
-- han somnade om, men bara en halvtimma
|
||||||
|
|
||||||
|
-- snarare_hellre_an_samordnXO ---- TODO
|
||||||
|
-- förvara plånboken i framfickan hellre än bakfickan
|
||||||
|
|
||||||
|
-- exocentrisk_adj_smnN : N -> A ; -- tjockbottnad ---- should perhaps be an oper
|
||||||
|
|
||||||
|
-- jämförelseAP
|
||||||
|
-- lika bra som -- CAdvAP
|
||||||
|
-- bättre än -- ComparA
|
||||||
|
|
||||||
|
-- jämförelse_likhet
|
||||||
|
-- inte ... så bra som
|
||||||
|
-- lika mycket som
|
||||||
|
|
||||||
|
-- jämförelse_olikhet
|
||||||
|
-- högre än
|
||||||
|
|
||||||
|
|
||||||
|
saa_gradAP : AP -> S -> AP ; -- så allvarligt skadad att han inte kan höras av polis
|
||||||
|
saa_gradAdv : Adv -> S -> Adv ; -- så mycket att jag till slut sa upp skiten
|
||||||
|
|
||||||
|
-- grad_mod_attribut
|
||||||
|
-- superlativ
|
||||||
|
|
||||||
|
unikhetQuant : Quant ; -- den enda (varelse)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- auxiliaries
|
||||||
|
cat
|
||||||
|
NPAgr ; -- needed in adjektiv_som_nom.anaforiskNP
|
||||||
|
NPGender ;
|
||||||
|
fun
|
||||||
|
UtrNPGender, NeutrNPGender : NPGender ;
|
||||||
|
MkNPAgr : NPGender -> Num -> NPAgr ;
|
||||||
|
|
||||||
|
DetNPGender : NPGender -> Det -> NP ; -- a generalization of DetNP
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
58
lib/src/swedish/KonstruktikonSwe.gf
Normal file
58
lib/src/swedish/KonstruktikonSwe.gf
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
|
||||||
|
concrete KonstruktikonSwe of Konstruktikon = LangSwe **
|
||||||
|
open
|
||||||
|
SyntaxSwe,
|
||||||
|
(P = ParadigmsSwe),
|
||||||
|
Prelude,
|
||||||
|
CommonScand, ResSwe
|
||||||
|
in {
|
||||||
|
|
||||||
|
lin
|
||||||
|
reflexiv_resultativVP v ap =
|
||||||
|
insertObj (\\a => reflPron a ++ ap.s ! agrAdjNP a DIndef) (predV v) ;
|
||||||
|
indirekt_kausativ_bortVP v np =
|
||||||
|
insertObj (\\a => "bort" ++ np.s ! accusative) (predV v) ;
|
||||||
|
verba_pa_fortsVP v =
|
||||||
|
mkVP (mkVP (lin V v)) (P.mkAdv "på") ;
|
||||||
|
adjektiv_som_nom_abstraktNP ap = {
|
||||||
|
s = \\c => ap.s ! (AF (APosit (Weak Sg)) (caseNP c)) ;
|
||||||
|
a = agrP3 Neutr Sg
|
||||||
|
} ;
|
||||||
|
adjektiv_som_nom_anaforiskNP npa ap = {
|
||||||
|
s = \\c => artDef (gennum npa.g npa.n) ++ npa.s ++ ap.s ! (AF (APosit (Weak npa.n)) (caseNP c)) ;
|
||||||
|
a = agrP3 npa.g npa.n
|
||||||
|
} ;
|
||||||
|
adjektiv_som_nom_folkNP ap = {
|
||||||
|
s = \\c => artDef (gennum Utr Pl) ++ ap.s ! (AF (APosit (Weak Pl)) (caseNP c)) ;
|
||||||
|
a = agrP3 Utr Pl
|
||||||
|
} ;
|
||||||
|
|
||||||
|
saa_gradAP ap s = {
|
||||||
|
s = \\a => "så" ++ ap.s ! a ++ (mkSC (lin S s)).s ;
|
||||||
|
isPre = False ----
|
||||||
|
} ;
|
||||||
|
saa_gradAdv adv s = {
|
||||||
|
s = "så" ++ adv.s ++ (mkSC (lin S s)).s ;
|
||||||
|
} ;
|
||||||
|
|
||||||
|
unikhetQuant = {
|
||||||
|
s,sp = \\n,bm,bn,g => artDef (gennum (ngen2gen g) n) ++ "enda" ;
|
||||||
|
det = DDef Def
|
||||||
|
} ;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
lincat
|
||||||
|
NPAgr = {s : Str ; g : Gender ; n : Number} ;
|
||||||
|
NPGender = {s : Str ; g : Gender} ;
|
||||||
|
lin
|
||||||
|
UtrNPGender = {s = [] ; g = Utr} ;
|
||||||
|
NeutrNPGender = {s = [] ; g = Neutr} ;
|
||||||
|
MkNPAgr npg nu = {s = npg.s ++ nu.s ! npg.g ; g = npg.g ; n = nu.n} ;
|
||||||
|
|
||||||
|
DetNPGender npg det = {
|
||||||
|
s = \\c => npg.s ++ det.sp ! True ! npg.g ; ---- case of det!
|
||||||
|
a = agrP3 npg.g det.n
|
||||||
|
} ;
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user