mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-20 16:42:51 -06:00
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 =
|
abstract App =
|
||||||
Translate - [
|
Translate - [
|
||||||
-- Verb
|
-- Verb
|
||||||
SlashV2V,
|
SlashV2V, -- replaced by more efficient inlined versions
|
||||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||||
SlashVV, SlashV2VNP,
|
SlashVV, SlashV2VNP,
|
||||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||||
@@ -28,4 +28,10 @@ fun
|
|||||||
PhrasePhr : Phrase -> Phr ;
|
PhrasePhr : Phrase -> Phr ;
|
||||||
Phrase_Chunk : Phrase -> Chunk ;
|
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 - [
|
TranslateBul - [
|
||||||
-- Verb
|
-- Verb
|
||||||
SlashV2V,
|
SlashV2V, -- replaced by more efficient inlined versions
|
||||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||||
SlashVV, SlashV2VNP,
|
SlashVV, SlashV2VNP,
|
||||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||||
@@ -37,4 +37,11 @@ lin
|
|||||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||||
Phrase_Chunk p = 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 - [
|
TranslateChi - [
|
||||||
-- Verb
|
-- Verb
|
||||||
SlashV2V,
|
SlashV2V, -- replaced by more efficient inlined versions
|
||||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||||
SlashVV, SlashV2VNP,
|
SlashVV, SlashV2VNP,
|
||||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||||
@@ -38,4 +38,11 @@ lin
|
|||||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||||
Phrase_Chunk p = 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 - [
|
TranslateDut - [
|
||||||
-- Verb
|
-- Verb
|
||||||
SlashV2V,
|
SlashV2V, -- replaced by more efficient inlined versions
|
||||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||||
SlashVV, SlashV2VNP,
|
SlashVV, SlashV2VNP,
|
||||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||||
@@ -36,4 +36,11 @@ lin
|
|||||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||||
Phrase_Chunk p = 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 - [
|
TranslateEng - [
|
||||||
-- Verb
|
-- Verb
|
||||||
SlashV2V,
|
SlashV2V, -- replaced by more efficient inlined versions
|
||||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||||
SlashVV, SlashV2VNP,
|
SlashVV, SlashV2VNP,
|
||||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||||
@@ -36,4 +36,17 @@ lin
|
|||||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||||
Phrase_Chunk p = 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 - [
|
TranslateFin - [
|
||||||
-- Verb
|
-- Verb
|
||||||
SlashV2V,
|
SlashV2V, -- replaced by more efficient inlined versions
|
||||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||||
SlashVV, SlashV2VNP,
|
SlashVV, SlashV2VNP,
|
||||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||||
@@ -36,4 +36,11 @@ lin
|
|||||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||||
Phrase_Chunk p = 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 - [
|
TranslateFre - [
|
||||||
-- Verb
|
-- Verb
|
||||||
SlashV2V,
|
SlashV2V, -- replaced by more efficient inlined versions
|
||||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||||
SlashVV, SlashV2VNP,
|
SlashVV, SlashV2VNP,
|
||||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||||
@@ -37,4 +37,11 @@ lin
|
|||||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||||
Phrase_Chunk p = 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 - [
|
TranslateGer - [
|
||||||
-- Verb
|
-- Verb
|
||||||
SlashV2V,
|
SlashV2V, -- replaced by more efficient inlined versions
|
||||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||||
SlashVV, SlashV2VNP,
|
SlashVV, SlashV2VNP,
|
||||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||||
@@ -36,4 +36,11 @@ lin
|
|||||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||||
Phrase_Chunk p = 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 - [
|
TranslateHin - [
|
||||||
-- Verb
|
-- Verb
|
||||||
SlashV2V,
|
SlashV2V, -- replaced by more efficient inlined versions
|
||||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||||
SlashVV, SlashV2VNP,
|
SlashVV, SlashV2VNP,
|
||||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||||
@@ -36,4 +36,11 @@ lin
|
|||||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||||
Phrase_Chunk p = 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 - [
|
TranslateIta - [
|
||||||
-- Verb
|
-- Verb
|
||||||
SlashV2V,
|
SlashV2V, -- replaced by more efficient inlined versions
|
||||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||||
SlashVV, SlashV2VNP,
|
SlashVV, SlashV2VNP,
|
||||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||||
@@ -35,4 +35,11 @@ lin
|
|||||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||||
Phrase_Chunk p = 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 - [
|
TranslateSpa - [
|
||||||
-- Verb
|
-- Verb
|
||||||
SlashV2V,
|
SlashV2V, -- replaced by more efficient inlined versions
|
||||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||||
SlashVV, SlashV2VNP,
|
SlashVV, SlashV2VNP,
|
||||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||||
@@ -37,4 +37,11 @@ lin
|
|||||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||||
Phrase_Chunk p = 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 =
|
concrete AppSwe of App =
|
||||||
TranslateSwe - [
|
TranslateSwe - [
|
||||||
-- Verb
|
-- Verb
|
||||||
SlashV2V,
|
SlashV2V, -- replaced by more efficient inlined versions
|
||||||
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
|
||||||
SlashVV, SlashV2VNP,
|
SlashVV, SlashV2VNP,
|
||||||
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
AdvVPSlash, AdVVPSlash, VPSlashPrep,
|
||||||
@@ -35,4 +35,11 @@ lin
|
|||||||
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
PhrasePhr p = {s = "+" ++ p.s} | p ;
|
||||||
Phrase_Chunk p = 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
|
-- update the import list of every language
|
||||||
|
-- although possibly some extra definitions at the end
|
||||||
-- the new files are produced in ./tmp/
|
-- the new files are produced in ./tmp/
|
||||||
-- usage: runghc MkApp.hs
|
-- usage: runghc MkApp.hs
|
||||||
|
|
||||||
@@ -17,5 +18,18 @@ putImports i s =
|
|||||||
let
|
let
|
||||||
(s1,_:s2) = span (/='[') s
|
(s1,_:s2) = span (/='[') s
|
||||||
(_, s3) = span (/=']') s2
|
(_, 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