mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-21 10:49:33 -06:00
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. --%
|
||||
= \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
|
||||
-- be directly built from sentences, present-tense clauses, questions, or
|
||||
mkText : Utt -> (Punct) -> (Text) -> Text -- Does she sleep? Yes. --:
|
||||
= \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.
|
||||
|
||||
mkText : Utt -> Text -- Yes.
|
||||
= \u -> TFullStop (PhrUtt NoPConj u NoVoc) TEmpty ; --%
|
||||
mkText : S -> Text -- She slept.
|
||||
= \s -> TFullStop (PhrUtt NoPConj (UttS s) NoVoc) TEmpty ; --%
|
||||
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 PPos = mkTerm (hide "positivePol") ;
|
||||
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 PositAdAAdj a_1 = mkTerm "mkAdA" 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 SubjS subj_1 s_2 = mkTerm "mkAdv" subj_1 s_2 ;
|
||||
lin TEmpty = mkTerm (hide "emptyText") ;
|
||||
lin TExclMark phr_1 text_2 = mkTerm "mkText" phr_1 (mkTerm "exclMarkPunct") text_2 ;
|
||||
lin TFullStop phr_1 text_2 = mkTerm "mkText" phr_1 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" (flatIfTerm phr_1) text_2 ;
|
||||
lin TCond = mkTerm "conditionalTense" ;
|
||||
lin TFut = mkTerm "futureTense" ;
|
||||
lin TPast = mkTerm "pastTense" ;
|
||||
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 Use2N3 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 UttInterj interj_1 = mkTerm "mkUtt" interj_1 ;
|
||||
lin UttNP np_1 = mkTerm "mkUtt" np_1 ;
|
||||
lin UttQS qs_1 = mkTerm "mkUtt" qs_1 ;
|
||||
lin UttS s_1 = mkTerm "mkUtt" s_1 ;
|
||||
lin UttQS qs_1 = mkFlat (mkTerm "mkUtt" qs_1) ;
|
||||
lin UttS s_1 = mkFlat (mkTerm "mkUtt" s_1) ;
|
||||
lin UttVP vp_1 = mkTerm "mkUtt" vp_1 ;
|
||||
lin VocNP np_1 = mkTerm "mkVoc" np_1 ;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user