missing syntax functions in Chi and some other languages

This commit is contained in:
aarne
2014-12-08 10:19:38 +00:00
parent 77ecefafbb
commit 91e00cf827
8 changed files with 33 additions and 2 deletions

View File

@@ -2,7 +2,7 @@ concrete AdverbChi of Adverb = CatChi **
open ResChi, Prelude in {
lin
PositAdvAdj a = {s = a.s ; advType = ATManner} ;
PositAdvAdj a = {s = a.s ++ "地" ; advType = ATManner} ; ---- for all adjs?
PrepNP prep np = ss (appPrep prep np.s) ** {advType = prep.advType} ; --- should depend on np too ?

View File

@@ -17,6 +17,7 @@ concrete NounChi of Noun = CatChi ** open ResChi, Prelude in {
PPartNP np v2 = mkNP ((predV v2 v2.part).verb.s ++ possessive_s ++ np.s) ; ---- ??
AdvNP np adv = mkNP (adv.s ++ possessiveIf adv.advType ++ np.s) ;
ExtAdvNP np adv = mkNP (adv.s ++ possessiveIf adv.advType ++ embedInCommas np.s) ; ---- commas?
DetQuant quant num = {
s = case num.numType of {

View File

@@ -42,7 +42,7 @@ concrete VerbChi of Verb = CatChi ** open ResChi, Prelude in {
insertObj np
(insertObj (mkNP (infVP vp)) (predV v v.part)) ** {c2 = vp.c2 ; isPre = vp.isPre} ;
AdvVP vp adv = case adv.advType of {
ExtAdvVP, AdvVP = \vp,adv -> case adv.advType of { ---- ExtAdvVP also ?
ATManner => insertObj (ss (deVAdv_s ++ adv.s)) vp ; -- he sleeps *well*
ATPlace True => insertAdvPost adv vp ; -- he today *in the house* sleeps
ATPlace False => insertAdvPost (ss (zai_V.s ++ adv.s)) vp ; -- he today *here* sleeps

View File

@@ -39,6 +39,11 @@ concrete NounDut of Noun = CatDut ** open ResDut, Prelude in {
a = np.a
} ;
ExtAdvNP np adv = heavyNP {
s = \\c => np.s ! c ++ embedInCommas adv.s ;
a = np.a
} ;
DetQuantOrd quant num ord =
let
n = num.n ;

View File

@@ -46,6 +46,11 @@ concrete NounGer of Noun = CatGer ** open ResGer, MorphoGer, Prelude in {
a = np.a
} ;
ExtAdvNP np adv = heavyNP {
s = \\c => np.s ! c ++ embedInCommas adv.s ;
a = np.a
} ;
DetQuantOrd quant num ord =
let
n = num.n ;

View File

@@ -46,6 +46,12 @@ incomplete concrete NounRomance of Noun =
hasClit = False
} ;
ExtAdvNP np adv = heavyNPpol np.isNeg {
s = \\c => (np.s ! c).ton ++ embedInCommas adv.s ;
a = np.a ;
hasClit = False
} ;
DetQuantOrd quant num ord = {
s,sp = \\g,c => quant.s ! num.isNum ! num.n ! g ! c ++ num.s ! g ++
ord.s ! aagr g num.n ;

View File

@@ -45,6 +45,11 @@ incomplete concrete NounScand of Noun =
a = np.a
} ;
ExtAdvNP np adv = {
s = \\c => np.s ! c ++ embedInCommas adv.s ;
a = np.a
} ;
DetQuantOrd quant num ord = {
s = \\b,g => quant.s ! num.n ! b ! True ! g ++
num.s ! g ++ ord.s ;

View File

@@ -51,6 +51,15 @@ lin
s = v.s ;
c = ge_s ---- ge
} ;
GerundNP vp = {
s = infVP vp ; ---- ?
} ;
GerundAdv vp = {
s = infVP vp ++ "地" ; ---- ?
advType = ATManner ;
} ;
GerundAP v = {
s = v.s ++ de_s ; ----