From d5b856bb943b57e1cfb935a69f72195be38a7b30 Mon Sep 17 00:00:00 2001 From: aarne Date: Thu, 8 Dec 2011 14:04:42 +0000 Subject: [PATCH] adjustments in Phrasebook and synopsis --- doc/CC_eng_tha.txt | 8 +- doc/Test.hs | 22 +++ doc/api-examples.txt | 2 +- doc/synopsis.html | 393 +++++++++++++++++++------------------- src/dutch/LexiconDut.gf | 4 +- src/dutch/ParadigmsDut.gf | 3 + src/dutch/ResDut.gf | 2 +- src/thai/CatTha.gf | 7 +- src/thai/LexiconTha.gf | 14 +- src/thai/NounTha.gf | 2 +- src/thai/ParadigmsTha.gf | 8 +- src/thai/StructuralTha.gf | 8 +- src/thai/VerbTha.gf | 12 +- 13 files changed, 258 insertions(+), 227 deletions(-) create mode 100644 doc/Test.hs diff --git a/doc/CC_eng_tha.txt b/doc/CC_eng_tha.txt index 406964ffd..3d33db6bd 100644 --- a/doc/CC_eng_tha.txt +++ b/doc/CC_eng_tha.txt @@ -65,11 +65,11 @@ she sleeps mkUtt (mkQS pastTense negativePol (mkQCl who_IP sleep_V)) who didn't sleep -ไครไม่นอนหลับ -- neg place not preferred +ใครไม่นอนหลับ -- neg place not preferred mkUtt (mkQCl who_IP sleep_V) who sleeps -ไครนอนหลับ +ใครนอนหลับ mkUtt pluralImpForm negativePol (mkImp (mkVP man_N)) don't be men @@ -217,7 +217,7 @@ she answers to him that we sleep mkCl she_NP ask_V2Q he_NP (mkQS (mkQCl who_IP sleep_V)) she asks him who sleeps -หล่อนถามเขาว่าไครนอนหลับ +หล่อนถามเขาว่าใครนอนหลับ mkCl she_NP beg_V2V he_NP (mkVP sleep_V) she begs him to sleep @@ -854,7 +854,7 @@ it is good that she sleeps mkCl (mkVP (mkAP (mkAP uncertain_A) (mkQS (mkQCl who_IP sleep_V)))) it is uncertain who sleeps -ลังเลใจว่าไครนอนหลับ +ลังเลใจว่าใครนอนหลับ mkCl she_NP (mkAP (mkAP ready_A) (mkVP sleep_V)) she is ready to sleep diff --git a/doc/Test.hs b/doc/Test.hs new file mode 100644 index 000000000..25165cb0a --- /dev/null +++ b/doc/Test.hs @@ -0,0 +1,22 @@ +import qualified Data.Map as Map +import Data.Char + +gold = "CC_eng_tha.txt" +tested = "api-examples-Tha.txt" + +main = do + s <- readFile gold + let corrects = Map.fromList $ exx 1 5 2 (lines s) +-- mapM_ putStrLn $ concat [[t,s] | (t,s) <- Map.toList corrects] + t <- readFile tested + mapM_ (doTest corrects) (exx 18 22 1 (map (drop 4) (lines t))) + +exx x y z ss = [(ss!!k,ss!!(k+z)) | k <- [x,y .. length ss - 2]] + +doTest corrects (t,s) = case Map.lookup t corrects of + Just c -> if unspace s == uncomment c then return () else mapM_ putStrLn [t,unspace s,c] + _ -> return () + +unspace = filter (not . isSpace) +uncomment = unspace . takeWhile (/= '-') + diff --git a/doc/api-examples.txt b/doc/api-examples.txt index 9b781cd3a..782e13f17 100644 --- a/doc/api-examples.txt +++ b/doc/api-examples.txt @@ -750,7 +750,7 @@ mkUtt everything_NP everywhere_Adv : Adv everywhere_Adv few_Det : Det -mkUtt (mkNP few_Det women_N) +mkUtt (mkNP few_Det woman_N) for_Prep : Prep mkAdv for_Prep it_NP from_Prep : Prep diff --git a/doc/synopsis.html b/doc/synopsis.html index f6b6f1dd1..c91ad5037 100644 --- a/doc/synopsis.html +++ b/doc/synopsis.html @@ -542,7 +542,7 @@ Lexical category, constructors given in mkAP A2 -> NP -> AP -
married to her
+
married to her
mkAP @@ -552,22 +552,22 @@ Lexical category, constructors given in mkAP AP -> S -> AP -
it is good that she sleeps
+
it is good that she sleeps
mkAP AP -> QS -> AP -
it is uncertain who sleeps
+
it is uncertain who sleeps
mkAP AP -> VP -> AP -
she is ready to sleep
+
she is ready to sleep
mkAP AP -> SC -> AP -
she is ready to sleep
+
she is ready to sleep
mkAP @@ -587,7 +587,7 @@ Lexical category, constructors given in mkAP Conj -> ListAP -> AP -
old , big and warm
+
old , big and warm
mkAP @@ -597,7 +597,7 @@ Lexical category, constructors given in mkAP CAdv -> AP -> NP -> AP -
as old as she
+
as old as she
reflAP @@ -618,17 +618,17 @@ Lexical category, constructors given in almost_AdA AdA -
almost red
+
almost red
quite_Adv AdA -
quite
+
quite
so_AdA AdA -
so
+
so
too_AdA @@ -654,22 +654,22 @@ Lexical category, constructors given in almost_AdN AdN -
almost eight
+
almost eight
at_least_AdN AdN -
at least eight
+
at least eight
at_most_AdN AdN -
at most eight
+
at most eight
mkAdN CAdv -> AdN -
more than eight
+
more than eight
@@ -685,7 +685,7 @@ Lexical category, constructors given in always_AdV AdV -
always
+
always
@@ -731,17 +731,17 @@ Lexical category, constructors given in mkAdv Subj -> S -> Adv -
when she sleeps
+
when she sleeps
mkAdv CAdv -> A -> NP -> Adv -
more warmly than he
+
more warmly than he
mkAdv CAdv -> A -> S -> Adv -
more warmly than he runs
+
more warmly than he runs
mkAdv @@ -751,12 +751,12 @@ Lexical category, constructors given in mkAdv Conj -> Adv -> Adv -> Adv -
here and now
+
here and now
mkAdv Conj -> ListAdv -> Adv -
with her , here and now
+
with her , here and now
somewhere_Adv @@ -792,12 +792,12 @@ Lexical category, constructors given in anteriorAnt Ant -
she has slept
+
she has slept
simultaneousAnt Ant -
she sleeps
+
she sleeps
@@ -844,7 +844,7 @@ Lexical category, constructors given in mkCN N2 -> NP -> CN -
mother of the king
+
mother of the king
mkCN @@ -869,7 +869,7 @@ Lexical category, constructors given in mkCN A -> CN -> CN -
big blue house
+
big blue house
mkCN @@ -879,17 +879,17 @@ Lexical category, constructors given in mkCN AP -> CN -> CN -
very big blue house
+
very big blue house
mkCN N -> RS -> CN -
man whom she loves
+
man whom she loves
mkCN CN -> RS -> CN -
old man whom she loves
+
old man whom she loves
mkCN @@ -904,12 +904,12 @@ Lexical category, constructors given in mkCN CN -> S -> CN -
almost five
+
almost five
mkCN CN -> QS -> CN -
almost five
+
almost five
mkCN @@ -981,112 +981,112 @@ Lexical category, constructors given in mkCl NP -> V -> Cl -
she sleeps
+
she sleeps
mkCl NP -> V2 -> NP -> Cl -
she loves him
+
she loves him
mkCl NP -> V3 -> NP -> NP -> Cl -
she sends it to him
+
she sends it to him
mkCl NP -> VV -> VP -> Cl -
she wants to sleep
+
she wants to sleep
mkCl NP -> VS -> S -> Cl -
she says that I sleep
+
she says that I sleep
mkCl NP -> VQ -> QS -> Cl -
she wonders who sleeps
+
she wonders who sleeps
mkCl NP -> VA -> A -> Cl -
she becomes old
+
she becomes old
mkCl NP -> VA -> AP -> Cl -
she becomes very old
+
she becomes very old
mkCl NP -> V2A -> NP -> A -> Cl -
she paints it red
+
she paints it red
mkCl NP -> V2A -> NP -> AP -> Cl -
she paints it red
+
she paints it red
mkCl NP -> V2S -> NP -> S -> Cl -
she answers to him that we sleep
+
she answers to him that we sleep
mkCl NP -> V2Q -> NP -> QS -> Cl -
she asks him who sleeps
+
she asks him who sleeps
mkCl NP -> V2V -> NP -> VP -> Cl -
she begs him to sleep
+
she begs him to sleep
mkCl NP -> A -> Cl -
she is old
+
she is old
mkCl NP -> A -> NP -> Cl -
she is older than he
+
she is older than he
mkCl NP -> A2 -> NP -> Cl -
she is married to him
+
she is married to him
mkCl NP -> AP -> Cl -
she is very old
+
she is very old
mkCl NP -> NP -> Cl -
she is the woman
+
she is the woman
mkCl NP -> N -> Cl -
she is a woman
+
she is a woman
mkCl NP -> CN -> Cl -
she is an old woman
+
she is an old woman
mkCl NP -> Adv -> Cl -
she is here
+
she is here
mkCl NP -> VP -> Cl -
she always sleeps
+
she always sleeps
mkCl @@ -1106,12 +1106,12 @@ Lexical category, constructors given in mkCl NP -> RS -> Cl -
it is she who sleeps
+
it is she who sleeps
mkCl Adv -> S -> Cl -
it is here that she sleeps
+
it is here that she sleeps
mkCl @@ -1126,7 +1126,7 @@ Lexical category, constructors given in mkCl SC -> VP -> Cl -
that she sleeps is good
+
that she sleeps is good
@@ -1142,32 +1142,32 @@ Lexical category, constructors given in mkClSlash NP -> VPSlash -> ClSlash -
whom does she see
+
whom does she see
mkClSlash NP -> V2 -> ClSlash -
whom does she see
+
whom does she see
mkClSlash NP -> VV -> V2 -> ClSlash -
whom does she want to see
+
whom does she want to see
mkClSlash Cl -> Prep -> ClSlash -
with whom does she sleep
+
with whom does she sleep
mkClSlash ClSlash -> Adv -> ClSlash -
whom does she see today
+
whom does she see today
mkClSlash NP -> VS -> SSlash -> ClSlash -
whom does she know that we hadn't seen
+
whom does she know that we hadn't seen
@@ -1209,17 +1209,17 @@ Lexical category, constructors given in and_Conj Conj -
here and now
+
here and now
both7and_DConj Conj -
both here and there
+
both here and there
either7or_DConj Conj -
either here or there
+
either here or there
if_then_Conj @@ -1265,7 +1265,7 @@ Lexical category, constructors given in few_Det Det -
constant not found: women_N
+
few women
many_Det @@ -1325,17 +1325,17 @@ Lexical category, constructors given in much_Det Det -
much wine
+
much wine
somePl_Det Det -
some women
+
some women
someSg_Det Det -
some wine
+
some wine
that_Det @@ -1503,7 +1503,7 @@ Lexical category, constructors given in why_IAdv IAdv -
why
+
why
@@ -1606,7 +1606,7 @@ Lexical category, constructors given in mkIP IP -> Adv -> IP -
who in Paris
+
who in Paris
whatPl_IP @@ -1626,17 +1626,17 @@ Lexical category, constructors given in whoPl_IP IP -
who
+
who
whoSg_IP IP -
who
+
who
who_IP IP -
who
+
who
@@ -1857,7 +1857,7 @@ Lexical category, constructors given in everybody_NP NP -
everybody
+
everybody
everything_NP @@ -1987,7 +1987,7 @@ Lexical category, constructors given in mkNP Predet -> NP -> NP -
only this woman
+
only this woman
mkNP @@ -2012,7 +2012,7 @@ Lexical category, constructors given in mkNP Conj -> ListNP -> NP -
this woman , John or I
+
this woman , John or I
nobody_NP @@ -2027,7 +2027,7 @@ Lexical category, constructors given in she_NP NP -
she
+
she
somebody_NP @@ -2052,7 +2052,7 @@ Lexical category, constructors given in they_NP NP -
they
+
they
this_NP @@ -2072,7 +2072,7 @@ Lexical category, constructors given in youPl_NP NP -
you
+
you
youPol_NP @@ -2118,12 +2118,12 @@ Lexical category, constructors given in mkNum Card -> Num -
almost five
+
almost five
mkNum AdN -> Card -> Num -
almost five
+
almost five
pluralNum @@ -2159,12 +2159,12 @@ Lexical category, constructors given in mkNumeral Sub1000 -> Numeral -
nine hundred and ninety - nine
+
nine hundred and ninety - nine
mkNumeral Sub1000 -> Sub1000 -> Numeral -
nine hundred and ninety - nine thousand nine hundred and ninety - nine
+
nine hundred and ninety - nine thousand nine hundred and ninety - nine
mkNumeral @@ -2174,7 +2174,7 @@ Lexical category, constructors given in thousandfoldNumeral Sub1000 -> Numeral -
nine hundred and ninety - nine thousand
+
nine hundred and ninety - nine thousand
@@ -2226,12 +2226,12 @@ Lexical category, constructors given in mkPConj Conj -> PConj -
and now
+
and now
otherwise_PConj PConj -
otherwise
+
otherwise
therefore_PConj @@ -2265,17 +2265,17 @@ Lexical category, constructors given in mkPhr S -> Phr -
she won't sleep
+
she won't sleep
mkPhr Cl -> Phr -
she sleeps
+
she sleeps
mkPhr QS -> Phr -
would she sleep
+
would she sleep
mkPhr @@ -2296,12 +2296,12 @@ Lexical category, constructors given in negativePol Pol -
she doesn't sleep
+
she doesn't sleep
positivePol Pol -
she sleeps
+
she sleeps
@@ -2327,12 +2327,12 @@ Lexical category, constructors given in not_Predet Predet -
not everybody
+
not everybody
only_Predet Predet -
only
+
only
@@ -2353,7 +2353,7 @@ Lexical category, constructors given in after_Prep Prep -
after it
+
after it
before_Prep @@ -2368,7 +2368,7 @@ Lexical category, constructors given in between_Prep Prep -
between you and me
+
between you and me
by8agent_Prep @@ -2383,7 +2383,7 @@ Lexical category, constructors given in during_Prep Prep -
during it
+
during it
except_Prep @@ -2448,7 +2448,7 @@ Lexical category, constructors given in without_Prep Prep -
without it
+
without it
@@ -2479,12 +2479,12 @@ Lexical category, constructors given in she_Pron Pron -
she
+
she
they_Pron Pron -
they
+
they
we_Pron @@ -2494,7 +2494,7 @@ Lexical category, constructors given in youPl_Pron Pron -
you
+
you
youPol_Pron @@ -2546,147 +2546,147 @@ Lexical category, constructors given in mkQCl Cl -> QCl -
does she sleep
+
does she sleep
mkQCl IP -> VP -> QCl -
who always sleeps
+
who always sleeps
mkQCl IP -> V -> QCl -
who sleeps
+
who sleeps
mkQCl IP -> V2 -> NP -> QCl -
who loves her
+
who loves her
mkQCl IP -> V3 -> NP -> NP -> QCl -
who sends it to her
+
who sends it to her
mkQCl IP -> VV -> VP -> QCl -
who wants to sleep
+
who wants to sleep
mkQCl IP -> VS -> S -> QCl -
who says that I sleep
+
who says that I sleep
mkQCl IP -> VQ -> QS -> QCl -
who wonders who sleeps
+
who wonders who sleeps
mkQCl IP -> VA -> A -> QCl -
who becomes old
+
who becomes old
mkQCl IP -> VA -> AP -> QCl -
who becomes very old
+
who becomes very old
mkQCl IP -> V2A -> NP -> A -> QCl -
who paints it red
+
who paints it red
mkQCl IP -> V2A -> NP -> AP -> QCl -
who paints it very red
+
who paints it very red
mkQCl IP -> V2S -> NP -> S -> QCl -
who answers to him that we sleep
+
who answers to him that we sleep
mkQCl IP -> V2Q -> NP -> QS -> QCl -
who asks him who sleeps
+
who asks him who sleeps
mkQCl IP -> V2V -> NP -> VP -> QCl -
who begs him to sleep
+
who begs him to sleep
mkQCl IP -> A -> QCl -
who is old
+
who is old
mkQCl IP -> A -> NP -> QCl -
who is older than he
+
who is older than he
mkQCl IP -> A2 -> NP -> QCl -
who is married to him
+
who is married to him
mkQCl IP -> AP -> QCl -
who is very old
+
who is very old
mkQCl IP -> NP -> QCl -
who is the woman
+
who is the woman
mkQCl IP -> N -> QCl -
who is a woman
+
who is a woman
mkQCl IP -> CN -> QCl -
who is an old woman
+
who is an old woman
mkQCl IP -> Adv -> QCl -
who is here
+
who is here
mkQCl IP -> NP -> V2 -> QCl -
who is her
+
who is her
mkQCl IP -> ClSlash -> QCl -
whom does she love today
+
whom does she love today
mkQCl IAdv -> Cl -> QCl -
why does she sleep
+
why does she sleep
mkQCl Prep -> IP -> Cl -> QCl -
with whom does she sleep
+
with whom does she sleep
mkQCl IAdv -> NP -> QCl -
where is she
+
where is she
mkQCl IComp -> NP -> QCl -
who is this man
+
who is this man
mkQCl @@ -2707,12 +2707,12 @@ Lexical category, constructors given in mkQS (Tense) -> (Ant) -> (Pol) -> QCl -> QS -
who wouldn't have slept
+
who wouldn't have slept
mkQS Cl -> QS -
does she sleep
+
does she sleep
@@ -2738,7 +2738,7 @@ Lexical category, constructors given in no_Quant Quant -
no house
+
no house
that_Quant @@ -2769,7 +2769,7 @@ Lexical category, constructors given in mkRCl RP -> VP -> RCl -
woman who always sleeps
+
woman who always sleeps
mkRCl @@ -2784,7 +2784,7 @@ Lexical category, constructors given in mkRCl RP -> V3 -> NP -> NP -> RCl -
woman who sends it to him
+
woman who sends it to him
mkRCl @@ -2794,12 +2794,12 @@ Lexical category, constructors given in mkRCl RP -> VS -> S -> RCl -
woman who says that I sleep
+
woman who says that I sleep
mkRCl RP -> VQ -> QS -> RCl -
woman who wonders who sleeps
+
woman who wonders who sleeps
mkRCl @@ -2814,27 +2814,27 @@ Lexical category, constructors given in mkRCl RP -> V2A -> NP -> A -> RCl -
woman who paints it red
+
woman who paints it red
mkRCl RP -> V2A -> NP -> AP -> RCl -
woman who paints it very red
+
woman who paints it very red
mkRCl RP -> V2S -> NP -> S -> RCl -
woman who answers to him that we sleep
+
woman who answers to him that we sleep
mkRCl RP -> V2Q -> NP -> QS -> RCl -
woman who asks him who sleeps
+
woman who asks him who sleeps
mkRCl RP -> V2V -> NP -> VP -> RCl -
woman who begs him to sleep
+
woman who begs him to sleep
mkRCl @@ -2884,7 +2884,7 @@ Lexical category, constructors given in mkRCl RP -> ClSlash -> RCl -
woman whom she loves today
+
woman whom she loves today
mkRCl @@ -2957,7 +2957,7 @@ Lexical category, constructors given in mkS (Tense) -> (Ant) -> (Pol) -> Cl -> S -
she wouldn't have slept
+
she wouldn't have slept
mkS @@ -2967,17 +2967,17 @@ Lexical category, constructors given in mkS Conj -> S -> S -> S -
she sleeps and I run
+
she sleeps and I run
mkS Conj -> ListS -> S -
she sleeps , I run and you walk
+
she sleeps , I run and you walk
mkS Adv -> S -> S -
today she sleeps
+
today she sleeps
@@ -2993,12 +2993,12 @@ Lexical category, constructors given in mkSC S -> SC -
that she sleeps
+
that she sleeps
mkSC QS -> SC -
who sleeps
+
who sleeps
mkSC @@ -3019,7 +3019,7 @@ Lexical category, constructors given in mkSSlash Temp -> Pol -> ClSlash -> SSlash -
she hadn't seen
+
she hadn't seen
@@ -3061,17 +3061,17 @@ Lexical category, constructors given in mkSub1000 Sub100 -> Sub1000 -
ninety - nine
+
ninety - nine
mkSub1000 Unit -> Sub1000 -
nine hundred
+
nine hundred
mkSub1000 Unit -> Sub100 -> Sub1000 -
nine hundred and ninety - nine
+
nine hundred and ninety - nine
@@ -3087,27 +3087,27 @@ Lexical category, constructors given in although_Subj Subj -
although she sleeps
+
although she sleeps
because_Subj Subj -
because she sleeps
+
because she sleeps
if_Subj Subj -
if she sleeps
+
if she sleeps
that_Subj Subj -
that she sleeps
+
that she sleeps
when_Subj Subj -
when she sleeps
+
when she sleeps
@@ -3139,22 +3139,22 @@ Lexical category, constructors given in conditionalTense Tense -
she would sleep
+
she would sleep
futureTense Tense -
she will sleep
+
she will sleep
pastTense Tense -
she slept
+
she slept
presentTense Tense -
she sleeps
+
she sleeps
@@ -3175,7 +3175,7 @@ Lexical category, constructors given in mkText Phr -> (Punct) -> (Text) -> Text -
does she sleep ? yes .
+
does she sleep ? yes .
mkText @@ -3185,17 +3185,17 @@ Lexical category, constructors given in mkText S -> Text -
she slept .
+
she slept .
mkText Cl -> Text -
she sleeps .
+
she sleeps .
mkText QS -> Text -
did she sleep ?
+
did she sleep ?
mkText @@ -3205,7 +3205,7 @@ Lexical category, constructors given in mkText Text -> Text -> Text -
where ? here . when ? now !
+
where ? here . when ? now !
@@ -3261,7 +3261,7 @@ Lexical category, constructors given in n9_Unit Unit -
nine
+
nine
@@ -3282,22 +3282,22 @@ Lexical category, constructors given in mkUtt S -> Utt -
she slept
+
she slept
mkUtt Cl -> Utt -
she sleeps
+
she sleeps
mkUtt QS -> Utt -
who didn't sleep
+
who didn't sleep
mkUtt QCl -> Utt -
who sleeps
+
who sleeps
mkUtt @@ -3307,12 +3307,12 @@ Lexical category, constructors given in mkUtt IP -> Utt -
who
+
who
mkUtt IAdv -> Utt -
why
+
why
mkUtt @@ -3475,7 +3475,7 @@ Lexical category, constructors given in mkVP V3 -> NP -> NP -> VP -
to send it to him
+
to send it to him
mkVP @@ -3485,37 +3485,37 @@ Lexical category, constructors given in mkVP VS -> S -> VP -
to know that she sleeps
+
to know that she sleeps
mkVP VQ -> QS -> VP -
to wonder who sleeps
+
to wonder who sleeps
mkVP VA -> AP -> VP -
to become red
+
to become red
mkVP V2A -> NP -> AP -> VP -
to paint it red
+
to paint it red
mkVP V2S -> NP -> S -> VP -
to answer to him that she sleeps
+
to answer to him that she sleeps
mkVP V2Q -> NP -> QS -> VP -
to ask him who sleeps
+
to ask him who sleeps
mkVP V2V -> NP -> VP -> VP -
to beg him to sleep
+
to beg him to sleep
mkVP @@ -3565,17 +3565,17 @@ Lexical category, constructors given in mkVP AdV -> VP -> VP -
always to sleep
+
always to sleep
mkVP VPSlash -> NP -> VP -
to paint it black
+
to paint it black
mkVP VPSlash -> VP -
to paint itself black
+
to paint itself black
mkVP @@ -3590,7 +3590,7 @@ Lexical category, constructors given in passiveVP V2 -> NP -> VP -
to be loved by her
+
to be loved by her
progressiveVP @@ -3621,42 +3621,42 @@ Lexical category, constructors given in mkVPSlash V2 -> VPSlash -
whom does she see
+
whom does she see
mkVPSlash V3 -> NP -> VPSlash -
to whom does she send it
+
to whom does she send it
mkVPSlash V2A -> AP -> VPSlash -
whom does she paint red
+
whom does she paint red
mkVPSlash V2Q -> QS -> VPSlash -
whom does she ask where I sleep
+
whom does she ask where I sleep
mkVPSlash V2S -> S -> VPSlash -
to whom does she answer that I sleep
+
to whom does she answer that I sleep
mkVPSlash V2V -> VP -> VPSlash -
whom does she beg to sleep
+
whom does she beg to sleep
mkVPSlash VV -> VPSlash -> VPSlash -
whom does she want to see
+
whom does she want to see
mkVPSlash V2V -> NP -> VPSlash -> VPSlash -
whom does she beg me to see
+
whom does she beg me to see
@@ -5386,6 +5386,11 @@ source V +regular verb with third person sg pres (giving stem) + + +mkV (breken,brak,gebroken : Str) -> V theme of irregular verb @@ -8900,7 +8905,7 @@ source V -> Str -> V2V = +V -> Str -> Str -> V2V = - @@ -8910,7 +8915,7 @@ source V -> Str -> V2A = +V -> Str -> Str -> V2A = - diff --git a/src/dutch/LexiconDut.gf b/src/dutch/LexiconDut.gf index 7e473b01d..14b31c4d5 100644 --- a/src/dutch/LexiconDut.gf +++ b/src/dutch/LexiconDut.gf @@ -44,7 +44,7 @@ lin married_A2 = mkA2 (mkA "getrouwd") (mkPrep "met") ; mother_N2 = mkN2 (mkN "moeder") ; now_Adv = mkAdv "nu" ; - paint_V2A = mkV2A (mkV "schilderen") noPrep ; + paint_V2A = mkV2A (mkV "schilderen" "schildert") noPrep ; paris_PN = mkPN "Parijs" ; red_A = mkA "rood" ; say_VS = mkVS zeggen_V ; @@ -196,7 +196,7 @@ laugh_V = lachen_V ; leaf_N = mkN "blad" neuter ; learn_V2 = mkV2 "leren" ; leather_N = mkN "leer" neuter ; -leave_V2 = mkV2 laten_V ; +leave_V2 = mkV2 (mkV "verlaten" "verliet" "verlieten" "verlaten") ; leg_N = mkN "been" neuter ; lie_V = liggen_V ; like_V2 = mkV2 houden_V van_Prep ; diff --git a/src/dutch/ParadigmsDut.gf b/src/dutch/ParadigmsDut.gf index 1211a1f32..8f3f35996 100644 --- a/src/dutch/ParadigmsDut.gf +++ b/src/dutch/ParadigmsDut.gf @@ -116,6 +116,7 @@ oper mkV : overload { mkV : (aaien : Str) -> V ; -- regular verb + mkV : (aaien,aait : Str) -> V ; -- regular verb with third person sg pres (giving stem) mkV : (breken,brak,gebroken : Str) -> V ; -- theme of irregular verb mkV : (breken,brak,braken,gebroken : Str) -> V ; -- also past plural irregular mkV : (aai,aait,aaien,aaide,aaide,aaiden,geaaid : Str) -> V ; -- worst-case verb @@ -216,6 +217,8 @@ oper mkV = overload { mkV : (aaien : Str) -> V = \s -> lin V (v2vv (regVerb s)) ; + mkV : (aaien, aait : Str) -> V = + \s,t -> lin V (v2vv (smartVerb s (init t))) ; mkV : (breken,brak,gebroken : Str) -> V = \a,b,c -> lin V (v2vv (irregVerb a b c)) ; mkV : (breken,brak,braken,gebroken : Str) -> V = diff --git a/src/dutch/ResDut.gf b/src/dutch/ResDut.gf index 77ca8bd63..e738cce59 100644 --- a/src/dutch/ResDut.gf +++ b/src/dutch/ResDut.gf @@ -224,7 +224,7 @@ resource ResDut = ParamX ** open Prelude in { -- For regular verbs with past tense 'd' d_regVerb : (_,_ :Str) -> Verb = \geeuwen,geeuw -> - let stem = mkStem geeuwen + let stem = geeuw --- mkStem geeuwen in mkVerb stem (stem + "t") geeuwen (stem + "de") (stem + "de") (stem + "den") diff --git a/src/thai/CatTha.gf b/src/thai/CatTha.gf index b043e5d23..b407d4881 100644 --- a/src/thai/CatTha.gf +++ b/src/thai/CatTha.gf @@ -44,7 +44,8 @@ concrete CatTha of Cat = CommonX ** open ResTha, Prelude in { CN = ResTha.Noun ; NP, Pron = ResTha.NP ; Det, Quant = ResTha.Determiner ; - Predet, Ord = {s : Str} ; + Predet = {s1,s2 : Str} ; + Ord = {s : Str} ; Num = {s : Str ; hasC : Bool} ; -- Numeral @@ -60,8 +61,8 @@ concrete CatTha of Cat = CommonX ** open ResTha, Prelude in { -- Open lexical classes, e.g. Lexicon V, VS, VQ, VA = Verb ; - V2, V2A, V2Q, V2S, V2V = Verb ** {c2 : Str} ; - V3 = Verb ** {c2, c3 : Str} ; + V2, V2Q, V2S = Verb ** {c2 : Str} ; + V3, V2A, V2V = Verb ** {c2, c3 : Str} ; VV = VVerb ; A = ResTha.Adj ; diff --git a/src/thai/LexiconTha.gf b/src/thai/LexiconTha.gf index 556f92296..bef525b23 100644 --- a/src/thai/LexiconTha.gf +++ b/src/thai/LexiconTha.gf @@ -26,7 +26,7 @@ lin beautiful_A = mkA "สวย" ; become_VA = mkV (thword "กลาย" "เป็น") ; -- pen beer_N = mkN biar_s kew_s ; - beg_V2V = regV "ขอ" ** {c2 = []} ; + beg_V2V = regV "ขอ" ** {c2 = [] ; c3 = "ให้"} ; --- hay as prep of VP belly_N = mkN (thword "พุง") ; big_A = mkA (thword "ใหญ่") ; bike_N = mkN (thword "จักร" "ยาน") "คัน" ; @@ -35,7 +35,7 @@ lin black_A = mkA (thword "ดำ") ; blood_N = mkN (thword "เลือด") ; blow_V = mkV (thword "พัด") ; - blue_A = mkA (thword "สี" "น้ำ" "เงิน") ; + blue_A = mkA (thword "น้ำ" "เงิน") ; --- (thword "สี" "น้ำ" "เงิน") ; boat_N = mkN (thword "เรือ") "ลำ" ; bone_N = mkN (thword "กระ" "ดูก") ; book_N = mkN (thword nag_s svv_s) lem_s ; @@ -137,7 +137,7 @@ lin good_A = mkA "ดี" ; grammar_N = mkN (thword "ไวย" "กรณ์") ; ----? grass_N = mkN "หญ้า" ; - green_A = mkA (thword "สี" "เขียว") ; + green_A = mkA "เขียว" ; --- (thword "สี" "เขียว") ; guts_N = mkN (thword "ไส้") ; hair_N = mkN (thword "ผม") ; hand_N = mkN (thword "มือ") ; @@ -214,7 +214,7 @@ lin old_A = mkA (thword "แก่") ; open_V2 = mkV2 (mkV "เปิด") ; other_A = mkA "อื่น" ; - paint_V2A = mkV2A (regV "ทา") [] ; + paint_V2A = mkV2A (regV "ทา") [] "สี" ; paper_N = mkN (thword "กระ" "ดาษ") ; ----? paris_PN = ss "ปารีส" ; peace_N = mkN (thword "สัน" "ติ" "ภาพ"); ----? @@ -237,7 +237,7 @@ lin ready_A = mkA "พร้อม" ; reason_N = verbalN "เหตู" ; read_V2 = mkV2 "อ่าน" ; - red_A = mkA (thword "สี" "แดง") ; + red_A = mkA "แดง" ; --- (thword "สี" "แดง") ; religion_N = mkN (thword "ศาส" "นา") ; ----? restaurant_N = placeN (thword "ร้าน" "อา" "หาร") ; right_Ord = ss "ขวา" ; @@ -264,7 +264,7 @@ lin seed_N = mkN (thword "เม็ด") ; seek_V2 = mkV2 "หา" ; sell_V3 = mkV3 "ขาย" ; - send_V3 = mkV3 (mkV "ส่ง" "ให้") ; + send_V3 = mkV3 (mkV "ส่ง") [] (thword "ให้" "กับ") ; --- hai kab as prep sew_V = mkV (thword "เย็บ") ; sharp_A = mkA (thword "คม") ; sheep_N = animalN "แกะ" ; @@ -356,7 +356,7 @@ lin worm_N = animalN (thword "หนอน") ; write_V2 = mkV2 "เขียน" ; year_N = mkN (thword "ปี") ; - yellow_A = mkA (thword "สี" "เหลือง") ; + yellow_A = mkA "เหลือง" ; ---- (thword "สี" "เหลือง") ; young_A = mkA "รุ่น" ; oper diff --git a/src/thai/NounTha.gf b/src/thai/NounTha.gf index 52671b83c..bda5cc417 100644 --- a/src/thai/NounTha.gf +++ b/src/thai/NounTha.gf @@ -11,7 +11,7 @@ concrete NounTha of Noun = CatTha ** open StringsTha, ResTha, Prelude in { DetNP det = mkNP (thbind det.s1 det.s2) ; - PredetNP pred np = thbind pred np ; + PredetNP pred np = mkNP (thbind pred.s1 np.s pred.s2) ; PPartNP np v2 = thbind np (ss ((predV v2).s ! Pos)) ; ---- ?? diff --git a/src/thai/ParadigmsTha.gf b/src/thai/ParadigmsTha.gf index 8a1123260..b08dc7aee 100644 --- a/src/thai/ParadigmsTha.gf +++ b/src/thai/ParadigmsTha.gf @@ -76,14 +76,14 @@ oper mkV2Q : V -> Str -> V2Q = \v,p -> lin V2Q (v ** {c2 = p}) ; - mkV2V : V -> Str -> V2V = - \v,p -> lin V2V (v ** {c2 = p}) ; + mkV2V : V -> Str -> Str -> V2V = + \v,p,q -> lin V2V (v ** {c2 = p ; c3 = q}) ; mkV2S : V -> Str -> V2S = \v,p -> lin V2S (v ** {c2 = p}) ; - mkV2A : V -> Str -> V2A = - \v,p -> lin V2A (v ** {c2 = p}) ; + mkV2A : V -> Str -> Str -> V2A = + \v,p,q -> lin V2A (v ** {c2 = p ; c3 = q}) ; mkAdv : Str -> Adv = \s -> lin Adv (ss s) ; diff --git a/src/thai/StructuralTha.gf b/src/thai/StructuralTha.gf index 837227067..bb6cc993a 100644 --- a/src/thai/StructuralTha.gf +++ b/src/thai/StructuralTha.gf @@ -6,7 +6,7 @@ concrete StructuralTha of Structural = CatTha ** lin above_Prep = ss (thword "ข้าง" "บน") ; after_Prep = ss (thword "หลัง" "จาก") ; - all_Predet = ss (thword "ทั้ง" "หมด") ; + all_Predet = {s1 = thword "ทั้ง" "หมด" ; s2 = []} ; almost_AdA, almost_AdN = ss (thword "เกิ" "อบ") ; although_Subj = ss "ถืง" ; always_AdV = ss (thword "เส" "มอ") ; --- pronunciation @@ -51,16 +51,16 @@ concrete StructuralTha of Structural = CatTha ** less_CAdv = {s = "น้อย" ; p = "กว่า"} ; many_Det = quantDet "หลาย" ; more_CAdv = {s = "มาก" ; p = "กว่า"} ; - most_Predet = ss (thword "มาก" "ที่" "สุด") ; + most_Predet = {s1 = thword "มาก" "ที่" "สุด" ; s2 = []} ; much_Det = quantDet "หลาย" ; ---- always? must_VV = {s = tog_s ; typ = VVPre} ; no_Quant = quantDet (thword "ไม่" "มี") ; no_Utt = ss may_s ; nobody_NP = mkNP (thword "ไม่" "มี" "ใคร") ; - not_Predet = ss may_s ; ---- + not_Predet = {s1 = may_s ; s2 = []} ; ---- nothing_NP = mkNP "เปล่า" ; on_Prep = ss "บน" ; - only_Predet = ss (thword "เท่า" "นั้น") ; + only_Predet = {s1 = [] ; s2 = thword "เท่า" "นั้น"} ; or_Conj = {s1 = [] ; s2 = "หริอ"} ; otherwise_PConj = ss (thword "ไม่" "อย่าง" "นั้น") ; part_Prep = ss "" ; ---- diff --git a/src/thai/VerbTha.gf b/src/thai/VerbTha.gf index c2559f772..f1e5d7630 100644 --- a/src/thai/VerbTha.gf +++ b/src/thai/VerbTha.gf @@ -7,16 +7,16 @@ concrete VerbTha of Verb = CatTha ** open ResTha, StringsTha, Prelude in { SlashV2a v = predV v ** {c2 = v.c2} ; - Slash2V3 v np = insertObj np (predV v) ** {c2 = v.c3} ; - Slash3V3 v np = insertObj np (predV v) ** {c2 = v.c2} ; + Slash2V3 v np = insertObject (predV v) ** {c2 = v.c3} ; + Slash3V3 v np = insertExtra (predV v) ** {c2 = v.c2} ; SlashV2A v ap = - insertExtra (predV v) ** {c2 = v.c2} ; + insertExtra (predV v) ** {c2 = v.c2} ; --- pen? SlashV2V v vp = ---- looks too simple compared with ComplVV - insertExtra : Str> (predV v) ** {c2 = v.c2} ; + insertExtra : Str> (predV v) ** {c2 = v.c2} ; SlashV2S v s = - insertExtra conjThat (predV v) ** {c2 = v.c2} ; + insertExtra (predV v) ** {c2 = v.c2} ; SlashV2Q v q = insertExtra (q.s ! QIndir) (predV v) ** {c2 = v.c2} ; @@ -57,7 +57,7 @@ concrete VerbTha of Verb = CatTha ** open ResTha, StringsTha, Prelude in { ReflVP vp = insertObj (mkNP (thbind vp.c2 reflPron)) vp ; - PassV2 v = {s = \\p => thbind thuuk_s ((predV v).s ! p) ; e = []} ; + PassV2 v = {s = \\p => thbind (polStr may_s p) thuuk_s ; e = thbind v.s1 v.s2} ; -- to put agent before verb; --- the place of neg? CompAP ap = {s = \\p => thbind (polStr may_s p) ap.s} ;