mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
63 lines
2.0 KiB
Plaintext
63 lines
2.0 KiB
Plaintext
concrete SentencesChi of Sentences = NumeralChi ** SentencesI - [QWhereModVerbPhrase, APlace,ThePlace, PropCit, CitiNat, ACitizen, Nationality, CitizenShip, ByTransp, GObjectPlease, AKnowPerson, QDoHave , QWhereDoVerbPhrase, SHaveNo, AHaveCurr]
|
|
with
|
|
(Syntax = SyntaxChi),
|
|
(Symbolic = SymbolicChi),
|
|
(Lexicon = LexiconChi) ** open SyntaxChi, (P = ParadigmsChi) in {
|
|
|
|
flags coding=utf8 ;
|
|
lincat
|
|
Citizenship = N ;
|
|
Nationality = {lang : NP ; country : NP; prop : A };
|
|
lin
|
|
ThePlace kind =
|
|
let name : NP = lin NP (Syntax.mkNP theSg_Det kind.name) in {
|
|
name = lin NP name ;
|
|
at = mkAdv kind.at (lin NP name) ;
|
|
to = mkAdv kind.to (lin NP name)
|
|
} ;
|
|
APlace kind =
|
|
let name : NP = lin NP (Syntax.mkNP aSg_Det kind.name) in {
|
|
name = lin NP name ;
|
|
at = mkAdv kind.at (lin NP name) ;
|
|
to = mkAdv kind.to (lin NP name)
|
|
} ;
|
|
|
|
ACitizen p n = mkCl p.name (lin N {s = n.s ++ "人" } ) ; -- to get 俄罗斯人, not 俄罗斯(人)的 ;
|
|
CitiNat n = n.prop ; -- lin A { s = n.prop.s ++ "人" ; lock_A = <> ; monoSyl = False} ;
|
|
|
|
PropCit c = lin A { s = c.s ; lock_A = <>; monoSyl = True } ;
|
|
|
|
ByTransp t = t.by ;
|
|
|
|
QWhereModVerbPhrase m p vp = mkQS (mkQCl zai_where_IAdv (mkCl p.name (mkVP m vp))) ;
|
|
|
|
GObjectPlease o = lin Text (mkPhr noPConj (mkUtt o) please_shang_Voc) | lin Text (mkUtt o) ;
|
|
|
|
AKnowPerson p q = mkCl p.name (P.mkV2 "认识") q.name ;
|
|
|
|
|
|
QDoHave p obj = mkQS (mkQCl (mkCl p.name have_V2 obj)) ;
|
|
|
|
QWhereDoVerbPhrase p vp = mkQS (mkQCl qu_where_IAdv (mkCl p.name vp)) ;
|
|
|
|
SHaveNo p k = mkS negativePol (mkCl p.name have_V2 (mkNP k)) ;
|
|
|
|
AHaveCurr p curr = mkCl p.name have_V2 (mkNP curr) ;
|
|
|
|
MCan = can_VV ;
|
|
MWant = want_VV ;
|
|
MMust = must_VV ;
|
|
|
|
|
|
oper
|
|
qu_where_IAdv = mkIAdvL "去哪里" ;
|
|
zai_where_IAdv = mkIAdvL "在哪里" ;
|
|
where_m_IAdv : VV -> SS = \m -> mkIAdvL m.s ; -- ( "想在哪里" ) ;
|
|
|
|
have_or_not_V2 = P.mkV2 (P.mkV "有没有" "了" "着" "在" "过" "没") ;
|
|
|
|
please_shang_Voc : SS = ss "请上" ;
|
|
|
|
|
|
}
|