This repository has been archived by the owner on Jul 26, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 51
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
a fairly complete Nynorsk implementation added
- Loading branch information
stian
committed
Jun 16, 2016
1 parent
aa0412e
commit b8f50d4
Showing
35 changed files
with
1,687 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
--# -path=.:alltenses:prelude | ||
|
||
resource CombinatorsNno = Combinators with | ||
(Cat = CatNno), | ||
(Structural = StructuralNno), | ||
(Constructors = ConstructorsNno) ; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
--# -path=.:alltenses:prelude | ||
|
||
resource ConstructorsNno = Constructors with (Grammar = GrammarNno) ; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
--# -path=.:../nynorsk:../scandinavian:../common:../abstract:../prelude | ||
|
||
resource SymbolicNno = Symbolic with | ||
(Symbol = SymbolNno), | ||
(Grammar = GrammarNno) ; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
--# -path=.:alltenses:prelude | ||
|
||
instance SyntaxNno of Syntax = ConstructorsNno, CatNno, StructuralNno, CombinatorsNno | ||
; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
--# -path=.:../nynorsk:../scandinavian:../common:../abstract:../prelude | ||
|
||
resource TryNno = SyntaxNno, LexiconNno, ParadigmsNno - [mkAdv] ; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
concrete AdjectiveNno of Adjective = CatNno ** AdjectiveScand with | ||
(ResScand = ResNno) ; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
concrete AdverbNno of Adverb = CatNno ** AdverbScand with | ||
(ResScand = ResNno) ; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
--# -path=.:../scandinavian:../abstract:../common:../prelude | ||
|
||
concrete AllNno of AllNnoAbs = | ||
LangNno, | ||
IrregNno - [fly_V], | ||
ExtraNno | ||
** {} ; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
abstract AllNnoAbs = | ||
Lang, | ||
IrregNnoAbs - [fly_V], | ||
ExtraNnoAbs | ||
** {} ; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
concrete CatNno of Cat = CommonX - [Tense, Temp] ** CatScand with | ||
(ResScand = ResNno) ; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
concrete ConjunctionNno of Conjunction = CatNno ** ConjunctionScand with | ||
(ResScand = ResNno) ; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,114 @@ | ||
instance DiffNno of DiffScand = open CommonScand, Prelude in { | ||
flags coding=utf8 ; | ||
|
||
-- Parameters. | ||
|
||
oper | ||
NGender = NGenderNno ; | ||
|
||
ngen2gen g = case g of {NUtr _ => Utr ; NNeutr => Neutr} ; | ||
|
||
param | ||
NGenderNno = NUtr Sex | NNeutr ; | ||
Sex = Masc | Fem ; | ||
|
||
oper | ||
utrum = NUtr Masc ; | ||
neutrum = NNeutr ; | ||
|
||
detDef : Species = Def ; | ||
|
||
Verb : Type = { | ||
s : VForm => Str ; | ||
part : Str ; | ||
vtype : VType ; | ||
isVaere : Bool | ||
} ; | ||
|
||
hasAuxBe v = v.isVaere ; | ||
|
||
-- Strings. | ||
|
||
conjThat = "at" ; | ||
conjThan = "enn" ; | ||
conjAnd = "og" ; | ||
compMore = "meir" ; | ||
infMark = "å" ; | ||
|
||
subjIf = "viss" ; | ||
|
||
-- artDef : GenNum -> Str = \gn -> gennumForms "den" "det" "dei" ! gn ; | ||
|
||
artIndef : NGender => Str = table { | ||
NUtr Masc => "ein" ; | ||
NUtr Fem => "ei" ; | ||
NNeutr => "eit" | ||
} ; | ||
detIndefPl = "noko" ; | ||
|
||
verbHave = | ||
mkVerb9 "ha" "har" "ha" "hadde" "hatt" "haven" "havet" "havne" "havande" | ||
** {part = [] ; isVaere = False} ; | ||
verbBe = | ||
mkVerb9 "vere" "er" "var" "var" "vore" "veren" "veret" "verne" "verande" | ||
** {part = [] ; isVaere = False} ; | ||
verbBecome = | ||
mkVerb9 "verte" "vert" "verte" "vart" "vorte" "vorte" "vorte" "vorte" "vertande" | ||
** {part = [] ; isVaere = True} ; | ||
|
||
-- auxiliary | ||
noPart = {part = []} ; | ||
|
||
auxFut = "vil" ; -- "skal" in ExtNno | ||
auxFutKommer = "kjem" ; | ||
auxFutPart = "til" ; | ||
auxCond = "ville" ; | ||
|
||
negation : Polarity => Str = table { | ||
Pos => [] ; | ||
Neg => "ikkje" | ||
} ; | ||
|
||
genderForms : (x1,x2 : Str) -> NGender => Str = \all,allt -> | ||
table { | ||
NUtr _ => all ; | ||
NNeutr => allt | ||
} ; | ||
|
||
relPron : Gender => Number => RCase => Str = \\g,n,c => case c of { | ||
RNom | RAcc | RPrep False => "som" ; | ||
RGen => "viss" ; | ||
RPrep _ => gennumForms "kva" "kva" "kva" ! gennum g n | ||
} ; | ||
|
||
pronSuch = gennumForms "slik" "slikt" "slike" ; | ||
|
||
reflPron : Agr -> Str = \a -> case <a.n,a.p> of { | ||
<Pl,P1> => "oss" ; | ||
<Pl,P2> => "dykk" ; | ||
<Sg,P1> => "meg" ; | ||
<Sg,P2> => "deg" ; | ||
<_, P3> => "seg" | ||
} ; | ||
|
||
hur_IAdv = {s = "kvar"} ; | ||
|
||
av_Prep = "av" ; | ||
|
||
---- added by AR | ||
possPron : Number -> Person -> Number -> Gender -> Str = \sn,sb,on,og -> case <sn,sb,on,og> of { | ||
<Sg,P1,Sg,Utr> => "min" ; | ||
<Sg,P1,Sg,Neutr> => "mitt" ; | ||
<Sg,P1,Pl,_> => "mine" ; | ||
<Sg,P2,Sg,Utr> => "din" ; | ||
<Sg,P2,Sg,Neutr> => "ditt" ; | ||
<Sg,P2,Pl,_> => "dine" ; | ||
<Pl,P1,Sg,Utr> => "vår" ; | ||
<Pl,P1,Sg,Neutr> => "vårt" ; | ||
<Pl,P1,Pl,_> => "våre" ; | ||
<Pl,P2,_,_> => "dykkar" ; | ||
<_,_,Sg,Utr> => "sin" ; | ||
<_,_,Sg,Neutr> => "sitt" ; | ||
<_,_,Pl,_> => "sine" | ||
} ; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
concrete ExtraNno of ExtraNnoAbs = ExtraScandNno ** open CommonScand, ResNno, Prelude in { | ||
|
||
lin | ||
PossNPPron np pro = { | ||
s = \\c => np.s ! NPNom ++ pro.s ! NPPoss (gennumAgr np.a) (caseNP c) ; | ||
a = np.a ; | ||
isPron = False ; | ||
} ; | ||
|
||
TFutKommer = {s = []} ** {t = SFutKommer} ; --# notpresent | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
-- Structures special for Norwegian. These are not implemented in other | ||
-- Scandinavian languages. | ||
|
||
abstract ExtraNnoAbs = ExtraScandAbs ** { | ||
|
||
fun | ||
PossNPPron : NP -> Pron -> NP ; -- bilen min | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
concrete ExtraScandNno of ExtraScandAbs = CatNno ** ExtraScand with | ||
(ResScand = ResNno) ; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
--# -path=.:../scandinavian:../abstract:../common:prelude | ||
|
||
concrete GrammarNno of Grammar = | ||
NounNno, | ||
VerbNno, | ||
AdjectiveNno, | ||
AdverbNno, | ||
NumeralNno, | ||
SentenceNno, | ||
QuestionNno, | ||
RelativeNno, | ||
ConjunctionNno, | ||
PhraseNno, | ||
TextX - [Tense,Temp] , | ||
IdiomNno, | ||
StructuralNno, | ||
TenseNno | ||
** { | ||
|
||
flags startcat = Phr ; unlexer = text ; lexer = text ; | ||
|
||
} ; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
concrete IdiomNno of Idiom = CatNno ** | ||
open MorphoNno, ParadigmsNno, IrregNno, Prelude in { | ||
|
||
flags optimize=all_subs ; | ||
coding=utf8 ; | ||
|
||
lin | ||
|
||
ImpersCl vp = mkClause "det" (agrP3 Neutr Sg) vp ; | ||
GenericCl vp = mkClause "eine" (agrP3 Utr Sg) vp ; | ||
|
||
CleftNP np rs = mkClause "det" (agrP3 Neutr Sg) | ||
(insertObj (\\_ => np.s ! rs.c ++ rs.s ! np.a ! RNom) (predV verbBe)) ; | ||
|
||
CleftAdv ad s = mkClause "det" (agrP3 Neutr Sg) | ||
(insertObj (\\_ => ad.s ++ s.s ! Sub) (predV verbBe)) ; | ||
|
||
ExistNP np = | ||
mkClause "det" (agrP3 Neutr Sg) (insertObj | ||
(\\_ => np.s ! accusative) (predV (depV finnast_V))) ; | ||
|
||
ExistIP ip = { | ||
s = \\t,a,p => | ||
let | ||
cls = | ||
(mkClause "det" (agrP3 Neutr Sg) (predV (depV finnast_V))).s ! t ! a ! p ; | ||
who = ip.s ! accusative | ||
in table { | ||
QDir => who ++ cls ! Inv ; | ||
QIndir => who ++ cls ! Sub | ||
} | ||
} ; | ||
|
||
ProgrVP vp = | ||
insertObj (\\a => ["ved å"] ++ infVP vp a) (predV verbBe) ; | ||
|
||
ImpPl1 vp = {s = ["lat oss"] ++ infVP vp {g = Utr ; n = Pl ; p = P1}} ; | ||
|
||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
--# -path=.:../scandinavian:../common:../abstract:../../prelude | ||
|
||
-- see: http://frodo.bruderhof.com/norskklassen/commonverbs.htm | ||
|
||
concrete IrregNno of IrregNnoAbs = CatNno ** open ParadigmsNno in { | ||
|
||
flags optimize=values ; | ||
coding=utf8 ; | ||
|
||
lin be_V = mkV "be" "ber" "bes" "bad" "bede" "be" ; | ||
lin bite_V = mkV "bite" "bit" "bitast" "beit" "bite" "bit" ; | ||
lin verte_V = mkV "verte" "vert" "vertast" "vart" "vorte" "vert" ; | ||
lin brenne_V = mkV "brenne" "brenn" "brenn" "brann" "brunne" "brenn" ; | ||
lin blase_V = mkV "blåse" "blæs" "blåsast" "bles" "blåse" "blås" ; | ||
lin bringe_V = mkV "bringe" "bringar" "bringast" "bringa" "bringa" "bring" ; | ||
lin burde_V = mkV "burde" "bør" "burdest" "burde" "burda" "burde" ; | ||
lin bære_V = mkV "bere" "ber" "berast" "bar" "bore" "ber" ; | ||
lin dra_V = mkV "dra" "dreg" "dragast" "drog" "drege" "dra" ; | ||
lin drikke_V = mkV "drikke" "drikk" "drikkast" "drakk" "drukke" "drikk" ; | ||
lin drive_V = irregV "drive" "dreiv" "drive" ; | ||
lin dø_V = mkV "døy" "døyr" "døyast" "døydde" "døydd" "døy" ; | ||
lin eie_V = mkV "eige" "eig" "eigast" "eigde" "eigd" "eig" ; | ||
lin falle_V = mkV "falle" "fell" "fallast" "fall" "falle" "fall" ; | ||
lin finne_V = mkV "finne" "finn" "finnas" "fann" "funne" "finn" ; | ||
lin finnast_V = mkV "finnast" "finst" "finst" "fans" "funnest" "finnast" ; | ||
lin fly_V = mkV "flyge" "flyg" "flygast" "flaug" "flyge" "flyg" ; | ||
lin flyte_V = mkV "flyte" "flyt" "flytast" "flaut" "flyte" "flyt" ; | ||
lin foretrekke_V = mkV "føretrekkje" "føretrekkjer" "føretrekkjast" "føretrekte" "føretrekt" "føretrekk" ; | ||
lin forlate_V = mkV "forlate" "forlèt" "forlatast" "forlét" "forlate" "forlat" ; | ||
lin forstå_V = irregV "forstå" "forstod" "forstått" ; | ||
lin fortelle_V = mkV "fortelje" "fortel" "forteljast" "fortalde" "fortalt" "fortel" ; | ||
lin fryse_V = mkV "fryse" "frys" "frysast" "fraus" "frose" "frys" ; | ||
lin få_V = mkV "få" "får" "fåast" "fekk" "fått" "få" ; | ||
lin gi_V = mkV "gje" "gjev" "gjevast" "gav" "gjeve" "gje" ; | ||
lin gjelde_V = mkV "gjelde" "gjeld" "gjeldast" "gjaldt" "gjeldt" "gjeld"; | ||
lin gjøre_V = mkV "gjere" "gjer" "gjerast" "gjorde" "gjort" "gjer"; | ||
lin gni_V = irregV "gni" "gnidde" "gnidd" ; | ||
lin gå_V = irregV "gå" "gjekk" "gått" ; | ||
lin ha_V = irregV "ha" "hadde" "hatt" ; | ||
lin hente_V = irregV "hente" "henta" "henta" ; | ||
lin hete_V = irregV "heite" "heitte" "heitt" ; | ||
lin hjelpe_V = irregV "hjelpe" "hjelpte" "hjelpt" ; | ||
lin holde_V = mkV "halde" "held" "haldast" "heldt" "halde" "hald" ; | ||
lin komme_V = mkV "kome" "kjem" "kommast" "kom" "kome" "kom" ; | ||
lin kunne_V = mkV "kunne" "kan" "kan" "kunne" "kunna" "kunn" ; | ||
lin la_V = mkV "la" "lar" "lar" "let" "latt" "la" ; | ||
lin legge_V = mkV "leggje" "legg" "leggast" "la" "lagt" "legg"; | ||
lin ligge_V = mkV "liggje" "ligg" "liggast" "låg" "lege" "ligg"; | ||
lin løpe_V = springe_V ; | ||
lin måtte_V = mkV "måtte" "må" "måast" "måtte" "måtta" "må"; | ||
lin renne_V = mkV "renne" "renn" "rennast" "rant" "rent" "renn" ; | ||
lin se_V = mkV "sjå" "ser" "sjåast" "såg" "sett" "sjå" ; | ||
lin selge_V = mkV "selje" "sel" "seljast" "selde" "selt" "sel" ; | ||
lin sette_V = irregV "sette" "satte" "satt" ; | ||
lin si_V = mkV "seie" "seier" "seiast" "sa" "sagt" "sei" ; | ||
lin sitte_V = mkV "sitje" "sit" "sits" "sat" "sete" "sit" ; | ||
lin skjære_V = irregV "skjere" "skar" "skure" ; | ||
lin skrive_V = irregV "skrive" "skreiv" "skrive" ; | ||
lin skulle_V = irregV "skulle" "skulle" "skulla" ; | ||
lin slå_V = irregV "slå" "slo" "slått" ; | ||
lin slåss_V = mkV "slåss" "slåss" "slåss" "sloss" "slåss" "slåss" ; | ||
lin sove_V = mkV "sove" "søv" "sovast" "sov" "sove" "sov" ; | ||
lin springe_V = mkV "springe" "spring" "springast" "sprang" "sprunge" "spring"; | ||
lin spørre_V = mkV "spørje" "spør" "spørjas" "spurte" "spurt" "spør" ; | ||
lin stikke_V = irregV "stikke" "stakk" "stukke" ; | ||
lin stå_V = irregV "stå" "stod" "stått" ; | ||
lin suge_V = mkV "suge" "sug" "sugast" "saug" "sugd" "sug" ; | ||
lin synes_V = irregV "synes" "syntes" (variants {"synes" ; "syns"}) ; | ||
lin synge_V = mkV "synge" "syng" "syngast" "sang" "sunge" "syng"; | ||
lin ta_V = mkV "ta" "tek" "tek" "tok" "teke" "ta" ; | ||
lin treffe_V = mkV "treffe" "treff" "treffast" "traff" "truffe" "treff" ; | ||
lin trives_V = mkV "trivast" "trivst" "trivast" "treivst" "trivest" "trivst" ; | ||
lin ville_V = irregV "ville" "ville" "villet" ; | ||
lin vite_V = mkV "vite" "veit" "vitast" "visste" "visst" "vit" ; | ||
} |
Oops, something went wrong.