forked from GitHub/gf-rgl
some more mkText API functions
This commit is contained in:
@@ -91,13 +91,29 @@ incomplete resource Constructors = open Grammar in { --%
|
|||||||
mkText : Phr -> Text -- But she sleeps. --%
|
mkText : Phr -> Text -- But she sleeps. --%
|
||||||
= \x -> TFullStop x TEmpty ; --%
|
= \x -> TFullStop x TEmpty ; --%
|
||||||
|
|
||||||
|
-- A text can also be directly built from utterances.
|
||||||
|
|
||||||
-- A text can also be directly built from utterances, which in turn can
|
mkText : Utt -> (Punct) -> (Text) -> Text -- Does she sleep? Yes. --:
|
||||||
-- be directly built from sentences, present-tense clauses, questions, or
|
= \u,punct,text -> let phr = (PhrUtt NoPConj u NoVoc) in case punct of { --%
|
||||||
|
PFullStop => TFullStop phr text ; --%
|
||||||
|
PExclMark => TExclMark phr text ; --%
|
||||||
|
PQuestMark => TQuestMark phr text --%
|
||||||
|
} ; --%
|
||||||
|
mkText : Utt -> Text -> Text -- But she sleeps. Yes! --%
|
||||||
|
= \u,t -> TFullStop (PhrUtt NoPConj u NoVoc) t ; --%
|
||||||
|
mkText : Utt -> Punct -> Text --%
|
||||||
|
= \u,punct -> let phr = (PhrUtt NoPConj u NoVoc) in case punct of { --%
|
||||||
|
PFullStop => TFullStop phr TEmpty ; --%
|
||||||
|
PExclMark => TExclMark phr TEmpty ; --%
|
||||||
|
PQuestMark => TQuestMark phr TEmpty --%
|
||||||
|
} ; --%
|
||||||
|
mkText : Utt -> Text -- But she sleeps. --%
|
||||||
|
= \u -> TFullStop (PhrUtt NoPConj u NoVoc) TEmpty ; --%
|
||||||
|
|
||||||
|
-- Utterances in turn can
|
||||||
|
-- be directly given as sentences, present-tense clauses, questions, or
|
||||||
-- positive imperatives.
|
-- positive imperatives.
|
||||||
|
|
||||||
mkText : Utt -> Text -- Yes.
|
|
||||||
= \u -> TFullStop (PhrUtt NoPConj u NoVoc) TEmpty ; --%
|
|
||||||
mkText : S -> Text -- She slept.
|
mkText : S -> Text -- She slept.
|
||||||
= \s -> TFullStop (PhrUtt NoPConj (UttS s) NoVoc) TEmpty ; --%
|
= \s -> TFullStop (PhrUtt NoPConj (UttS s) NoVoc) TEmpty ; --%
|
||||||
mkText : Cl -> Text -- She sleeps.
|
mkText : Cl -> Text -- She sleeps.
|
||||||
|
|||||||
@@ -154,7 +154,7 @@ lin PNeg = mkTerm "negativePol" ;
|
|||||||
lin PPartNP np_1 v2_2 = mkTerm "mkNP" np_1 v2_2 ;
|
lin PPartNP np_1 v2_2 = mkTerm "mkNP" np_1 v2_2 ;
|
||||||
lin PPos = mkTerm (hide "positivePol") ;
|
lin PPos = mkTerm (hide "positivePol") ;
|
||||||
lin PassV2 v2_1 = mkTerm "passiveVP" v2_1 ;
|
lin PassV2 v2_1 = mkTerm "passiveVP" v2_1 ;
|
||||||
lin PhrUtt pconj_1 utt_2 voc_3 = mkTerm "mkPhr" pconj_1 utt_2 voc_3 ;
|
lin PhrUtt pconj_1 utt_2 voc_3 = mkFlat (mkTerm "mkPhr" pconj_1 utt_2 voc_3) ;
|
||||||
lin PositA a_1 = mkFlat (mkTerm "mkAP" a_1) ;
|
lin PositA a_1 = mkFlat (mkTerm "mkAP" a_1) ;
|
||||||
lin PositAdAAdj a_1 = mkTerm "mkAdA" a_1 ;
|
lin PositAdAAdj a_1 = mkTerm "mkAdA" a_1 ;
|
||||||
lin PositAdvAdj a_1 = mkTerm "mkAdv" a_1 ;
|
lin PositAdvAdj a_1 = mkTerm "mkAdv" a_1 ;
|
||||||
@@ -197,13 +197,13 @@ lin SlashVS np_1 vs_2 sslash_3 = mkTerm "mkClSlash" np_1 vs_2 sslash_3 ;
|
|||||||
lin SlashVV vv_1 vpslash_2 = mkTerm "mkVPSlash" vv_1 vpslash_2 ;
|
lin SlashVV vv_1 vpslash_2 = mkTerm "mkVPSlash" vv_1 vpslash_2 ;
|
||||||
lin SubjS subj_1 s_2 = mkTerm "mkAdv" subj_1 s_2 ;
|
lin SubjS subj_1 s_2 = mkTerm "mkAdv" subj_1 s_2 ;
|
||||||
lin TEmpty = mkTerm (hide "emptyText") ;
|
lin TEmpty = mkTerm (hide "emptyText") ;
|
||||||
lin TExclMark phr_1 text_2 = mkTerm "mkText" phr_1 (mkTerm "exclMarkPunct") text_2 ;
|
lin TExclMark phr_1 text_2 = mkTerm "mkText" (flatIfTerm phr_1) (mkTerm "exclMarkPunct") text_2 ;
|
||||||
lin TFullStop phr_1 text_2 = mkTerm "mkText" phr_1 text_2 ;
|
lin TFullStop phr_1 text_2 = mkTerm "mkText" (flatIfTerm phr_1) text_2 ;
|
||||||
lin TCond = mkTerm "conditionalTense" ;
|
lin TCond = mkTerm "conditionalTense" ;
|
||||||
lin TFut = mkTerm "futureTense" ;
|
lin TFut = mkTerm "futureTense" ;
|
||||||
lin TPast = mkTerm "pastTense" ;
|
lin TPast = mkTerm "pastTense" ;
|
||||||
lin TPres = mkTerm (hide "presentTense") ;
|
lin TPres = mkTerm (hide "presentTense") ;
|
||||||
lin TQuestMark phr_1 text_2 = mkTerm "mkText" phr_1 (mkTerm "questMarkPunct") text_2 ;
|
lin TQuestMark phr_1 text_2 = mkTerm "mkText" (flatIfTerm phr_1) (mkTerm "questMarkPunct") text_2 ;
|
||||||
lin TTAnt tense_1 ant_2 = mkTerm "mkTense" tense_1 ant_2 ;
|
lin TTAnt tense_1 ant_2 = mkTerm "mkTense" tense_1 ant_2 ;
|
||||||
--lin Use2N3 n3_1 = mkTerm "mkN2" n3_1 ;
|
--lin Use2N3 n3_1 = mkTerm "mkN2" n3_1 ;
|
||||||
--lin Use3N3 n3_1 = mkTerm "mkN2" n3_1 ;
|
--lin Use3N3 n3_1 = mkTerm "mkN2" n3_1 ;
|
||||||
@@ -231,8 +231,8 @@ lin UttImpPol pol_1 imp_2 = mkTerm "mkUtt" (mkTerm "politeImpForm") pol_1 imp_2
|
|||||||
lin UttImpSg pol_1 imp_2 = mkTerm "mkUtt" pol_1 imp_2 ;
|
lin UttImpSg pol_1 imp_2 = mkTerm "mkUtt" pol_1 imp_2 ;
|
||||||
--lin UttInterj interj_1 = mkTerm "mkUtt" interj_1 ;
|
--lin UttInterj interj_1 = mkTerm "mkUtt" interj_1 ;
|
||||||
lin UttNP np_1 = mkTerm "mkUtt" np_1 ;
|
lin UttNP np_1 = mkTerm "mkUtt" np_1 ;
|
||||||
lin UttQS qs_1 = mkTerm "mkUtt" qs_1 ;
|
lin UttQS qs_1 = mkFlat (mkTerm "mkUtt" qs_1) ;
|
||||||
lin UttS s_1 = mkTerm "mkUtt" s_1 ;
|
lin UttS s_1 = mkFlat (mkTerm "mkUtt" s_1) ;
|
||||||
lin UttVP vp_1 = mkTerm "mkUtt" vp_1 ;
|
lin UttVP vp_1 = mkTerm "mkUtt" vp_1 ;
|
||||||
lin VocNP np_1 = mkTerm "mkVoc" np_1 ;
|
lin VocNP np_1 = mkTerm "mkVoc" np_1 ;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user