forked from GitHub/gf-core
enabled VP-valued rules for V2V, V3, etc in App. Improve quality with less loss of speed than VPSlash-valued original rules.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
abstract App =
|
||||
Translate - [
|
||||
-- Verb
|
||||
SlashV2V,
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
@@ -28,4 +28,10 @@ fun
|
||||
PhrasePhr : Phrase -> Phr ;
|
||||
Phrase_Chunk : Phrase -> Chunk ;
|
||||
|
||||
ComplV2V : V2V -> NP -> VP -> VP ;
|
||||
ComplV2A : V2A -> NP -> AP -> VP ;
|
||||
ComplV2Q : V2Q -> NP -> QS -> VP ;
|
||||
ComplV2S : V2S -> NP -> S -> VP ;
|
||||
ComplV3 : V3 -> NP -> NP -> VP ;
|
||||
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ concrete AppBul of App =
|
||||
|
||||
TranslateBul - [
|
||||
-- Verb
|
||||
SlashV2V,
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
@@ -37,4 +37,11 @@ lin
|
||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||
Phrase_Chunk p = p ;
|
||||
|
||||
|
||||
ComplV2V v np vp = mkVP v np vp ;
|
||||
ComplV2A v np vp = mkVP v np vp ;
|
||||
ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ concrete AppChi of App =
|
||||
|
||||
TranslateChi - [
|
||||
-- Verb
|
||||
SlashV2V,
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
@@ -38,4 +38,11 @@ lin
|
||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||
Phrase_Chunk p = p ;
|
||||
|
||||
|
||||
ComplV2V v np vp = mkVP v np vp ;
|
||||
ComplV2A v np vp = mkVP v np vp ;
|
||||
ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ concrete AppDut of App =
|
||||
|
||||
TranslateDut - [
|
||||
-- Verb
|
||||
SlashV2V,
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
@@ -36,4 +36,11 @@ lin
|
||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||
Phrase_Chunk p = p ;
|
||||
|
||||
|
||||
ComplV2V v np vp = mkVP v np vp ;
|
||||
ComplV2A v np vp = mkVP v np vp ;
|
||||
ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ concrete AppEng of App =
|
||||
|
||||
TranslateEng - [
|
||||
-- Verb
|
||||
SlashV2V,
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
@@ -36,4 +36,17 @@ lin
|
||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||
Phrase_Chunk p = p ;
|
||||
|
||||
ComplV2V v np vp = mkVP v np vp ;
|
||||
ComplV2A v np vp = mkVP v np vp ;
|
||||
ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
|
||||
ComplV2V v np vp = mkVP v np vp ;
|
||||
ComplV2A v np vp = mkVP v np vp ;
|
||||
ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ concrete AppFin of App =
|
||||
|
||||
TranslateFin - [
|
||||
-- Verb
|
||||
SlashV2V,
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
@@ -36,4 +36,11 @@ lin
|
||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||
Phrase_Chunk p = p ;
|
||||
|
||||
|
||||
ComplV2V v np vp = mkVP v np vp ;
|
||||
ComplV2A v np vp = mkVP v np vp ;
|
||||
ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ concrete AppFre of App =
|
||||
|
||||
TranslateFre - [
|
||||
-- Verb
|
||||
SlashV2V,
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
@@ -37,4 +37,11 @@ lin
|
||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||
Phrase_Chunk p = p ;
|
||||
|
||||
|
||||
ComplV2V v np vp = mkVP v np vp ;
|
||||
ComplV2A v np vp = mkVP v np vp ;
|
||||
ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ concrete AppGer of App =
|
||||
|
||||
TranslateGer - [
|
||||
-- Verb
|
||||
SlashV2V,
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
@@ -36,4 +36,11 @@ lin
|
||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||
Phrase_Chunk p = p ;
|
||||
|
||||
|
||||
ComplV2V v np vp = mkVP v np vp ;
|
||||
ComplV2A v np vp = mkVP v np vp ;
|
||||
ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ concrete AppHin of App =
|
||||
|
||||
TranslateHin - [
|
||||
-- Verb
|
||||
SlashV2V,
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
@@ -36,4 +36,11 @@ lin
|
||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||
Phrase_Chunk p = p ;
|
||||
|
||||
|
||||
ComplV2V v np vp = mkVP v np vp ;
|
||||
ComplV2A v np vp = mkVP v np vp ;
|
||||
ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ concrete AppIta of App =
|
||||
|
||||
TranslateIta - [
|
||||
-- Verb
|
||||
SlashV2V,
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
@@ -35,4 +35,11 @@ lin
|
||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||
Phrase_Chunk p = p ;
|
||||
|
||||
|
||||
ComplV2V v np vp = mkVP v np vp ;
|
||||
ComplV2A v np vp = mkVP v np vp ;
|
||||
ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ concrete AppSpa of App =
|
||||
|
||||
TranslateSpa - [
|
||||
-- Verb
|
||||
SlashV2V,
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
@@ -37,4 +37,11 @@ lin
|
||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||
Phrase_Chunk p = p ;
|
||||
|
||||
|
||||
ComplV2V v np vp = mkVP v np vp ;
|
||||
ComplV2A v np vp = mkVP v np vp ;
|
||||
ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
concrete AppSwe of App =
|
||||
TranslateSwe - [
|
||||
-- Verb
|
||||
SlashV2V,
|
||||
SlashV2V, -- replaced by more efficient inlined versions
|
||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||
SlashVV, SlashV2VNP,
|
||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||
@@ -35,4 +35,11 @@ lin
|
||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||
Phrase_Chunk p = p ;
|
||||
|
||||
|
||||
ComplV2V v np vp = mkVP v np vp ;
|
||||
ComplV2A v np vp = mkVP v np vp ;
|
||||
ComplV2Q v np vp = mkVP v np vp ;
|
||||
ComplV2S v np vp = mkVP v np vp ;
|
||||
ComplV3 v np vp = mkVP v np vp ;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
-- update the import list of every language
|
||||
-- although possibly some extra definitions at the end
|
||||
-- the new files are produced in ./tmp/
|
||||
-- usage: runghc MkApp.hs
|
||||
|
||||
@@ -17,5 +18,18 @@ putImports i s =
|
||||
let
|
||||
(s1,_:s2) = span (/='[') s
|
||||
(_, s3) = span (/=']') s2
|
||||
in s1 ++ "[" ++ i ++ s3
|
||||
in s1 ++ "[" ++ i ++ extra s3
|
||||
|
||||
extra s = unlines (init (lines s) ++ extraLines ++ ["}"])
|
||||
|
||||
extraLines = -- [] -- default: no extra
|
||||
|
||||
[
|
||||
"",
|
||||
"ComplV2V v np vp = mkVP v np vp ;",
|
||||
"ComplV2A v np vp = mkVP v np vp ;",
|
||||
"ComplV2Q v np vp = mkVP v np vp ;",
|
||||
"ComplV2S v np vp = mkVP v np vp ;",
|
||||
"ComplV3 v np vp = mkVP v np vp ;",
|
||||
""
|
||||
]
|
||||
Reference in New Issue
Block a user