1
0
forked from GitHub/gf-core

fixed bug leading to looping in Devel.Compute

This commit is contained in:
aarne
2008-03-15 19:00:09 +00:00
parent cccccd5ec1
commit 1196bbe21f
4 changed files with 57 additions and 31 deletions

View File

@@ -114,7 +114,7 @@ lin
leather_N = mkN "nahka" ; --- nahan
leave_V2 = mkV2 (mkV "jättää") ;
like_V2 = mkV2 (mkV "pitää") elative ;
listen_V2 = mkV2 (mkV "kuunnella" "kuuntelen" "kuunteli") partitive ;
listen_V2 = mkV2 (mkV "kuunnella" "kuunteli") partitive ;
live_V = mkV "elää" ;
long_A = mkA (mkN "pitkä") "pitempi" "pisin" ;
lose_V2 = mkV2 (mkV "hävitä" "hävisi") ; --- hukata
@@ -247,7 +247,7 @@ lin
dull_A = mkA (mkN "tylsä") "tylsempi" "tylsin" ;
full_A = mkA (mk3N "täysi" "täyden" "täysiä") "täydempi" "täysin" ;
heavy_A = mkA "raskas" ;
near_A = mkA "läheinen" ;
near_A = mkA (mkN "läheinen") ;
rotten_A = mkA "mätä" ;
round_A = mkA "pyöreä" ;
sharp_A = mkA "terävä" ;
@@ -338,8 +338,8 @@ lin
hold_V2 = mkV2 (mkV "pitää") cpartitive ;
hunt_V2 = mkV2 (mkV "metsästää") cpartitive ;
kill_V2 = mkV2 (mkV "tappaa") ;
laugh_V = mkV "nauraa" "nauran" "nauroi" ;
lie_V = mkV "maata" "makaan" "makasi" ;
laugh_V = mkV "nauraa" "nauroi" ;
lie_V = mkV "maata" "makasi" ;
play_V = mkV "pelata" ;
pull_V2 = mkV2 (mkV "vetää") ;
push_V2 = mkV2 (mkV "työntää") ;
@@ -376,7 +376,7 @@ lin
john_PN = mkPN "Jussi" ;
question_N = mkN "kysymys" ;
ready_A = mkA "valmis" ;
ready_A = mkA (mkN "valmis") ;
reason_N = mkN "syy" ;
today_Adv = mkAdv "tänään" ;
uncertain_A = mkA "epävarma" ;

View File

@@ -141,13 +141,13 @@ oper
-- a table.
-- The worst case needs twelve forms, as shown in the following.
mkV = overload {
mkV : (huutaa : Str) -> V = mk1V ;
mkV : (huutaa,huusi : Str) -> V = mk2V ;
mkV : (huutaa,huudan,huusi : Str) -> V = \x,_,y -> mk2V x y ; ----
mkV : overload {
mkV : (huutaa : Str) -> V ;
mkV : (huutaa,huusi : Str) -> V ;
mkV : (huutaa,huudan,huusi : Str) -> V ;
mkV : (
huutaa,huudan,huutaa,huutavat,huutakaa,huudetaan,
huusin,huusi,huusisi,huutanut,huudettu,huutanee : Str) -> V = mk12V ;
huusin,huusi,huusisi,huutanut,huudettu,huutanee : Str) -> V ;
} ;
-- All the patterns above have $nominative$ as subject case.
@@ -416,19 +416,24 @@ oper
mkN3 = \n,c,e -> n ** {c2 = c ; c3 = e ; lock_N3 = <>} ;
mkPN = overload {
mkPN : Str -> PN = \s -> {s = \\c => (mk1N s).s ! NCase Sg c ; lock_PN = <>} ;
mkPN : Str -> PN = mkPN_1 ;
mkPN : N -> PN = \s -> {s = \\c => s.s ! NCase Sg c ; lock_PN = <>} ;
} ;
mkPN_1 : Str -> PN = \s -> {s = \\c => (mk1N s).s ! NCase Sg c ; lock_PN = <>} ;
-- adjectives
mkA = overload {
mkA : Str -> A = \s -> noun2adjDeg (mk1N s) ** {lock_A = <>} ;
-- mkA : Str -> A = \x -> noun2adjDeg (mk1N x) ** {lock_A = <>} ;
mkA : Str -> A = mkA_1 ;
mkA : N -> A = \n -> noun2adjDeg n ** {lock_A = <>} ;
mkA : N -> (kivempaa,kivinta : Str) -> A = regAdjective ;
-- mkA : (hyva,parempi,paras : N) -> (hyvin,paremmin,parhaiten : Str) -> A ;
} ;
mkA_1 : Str -> A = \x -> noun2adjDeg (mk1N x) ** {lock_A = <>} ;
-- auxiliaries
mkAdjective : (_,_,_ : Adj) -> A = \hyva,parempi,paras ->
{s = table {
@@ -454,9 +459,18 @@ oper
-- verbs
mk1V : Str -> V = \s -> vforms2V (vForms1 s) ** {sc = NPCase Nom ; lock_V = <>} ;
mk2V : (_,_ : Str) -> V = \s,t -> vforms2V (vForms2 s t) ** {sc = NPCase Nom ; lock_V = <>} ;
mkV = overload {
mkV : (huutaa : Str) -> V = mk1V ;
mkV : (huutaa,huusi : Str) -> V = mk2V ;
mkV : (huutaa,huudan,huusi : Str) -> V = mk3V ;
mkV : (
huutaa,huudan,huutaa,huutavat,huutakaa,huudetaan,
huusin,huusi,huusisi,huutanut,huudettu,huutanee : Str) -> V = mk12V ;
} ;
mk1V : Str -> V = \s -> vforms2V (vForms1 s) ** {sc = NPCase Nom ; lock_V = <>} ;
mk2V : (_,_ : Str) -> V = \x,y -> vforms2V (vForms2 x y) ** {sc = NPCase Nom ; lock_V = <>} ;
mk3V : (huutaa,huudan,huusi : Str) -> V = \x,_,y -> mk2V x y ; ----
mk12V : (
huutaa,huudan,huutaa,huutavat,huutakaa,huudetaan,
huusin,huusi,huusisi,huutanut,huudettu,huutanee : Str) -> V =