mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-23 01:52:50 -06:00
missing syntax functions in Chi and some other languages
This commit is contained in:
@@ -2,7 +2,7 @@ concrete AdverbChi of Adverb = CatChi **
|
|||||||
open ResChi, Prelude in {
|
open ResChi, Prelude in {
|
||||||
|
|
||||||
lin
|
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 ?
|
PrepNP prep np = ss (appPrep prep np.s) ** {advType = prep.advType} ; --- should depend on np too ?
|
||||||
|
|
||||||
|
|||||||
@@ -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) ; ---- ??
|
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) ;
|
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 = {
|
DetQuant quant num = {
|
||||||
s = case num.numType of {
|
s = case num.numType of {
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ concrete VerbChi of Verb = CatChi ** open ResChi, Prelude in {
|
|||||||
insertObj np
|
insertObj np
|
||||||
(insertObj (mkNP (infVP vp)) (predV v v.part)) ** {c2 = vp.c2 ; isPre = vp.isPre} ;
|
(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*
|
ATManner => insertObj (ss (deVAdv_s ++ adv.s)) vp ; -- he sleeps *well*
|
||||||
ATPlace True => insertAdvPost adv vp ; -- he today *in the house* sleeps
|
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
|
ATPlace False => insertAdvPost (ss (zai_V.s ++ adv.s)) vp ; -- he today *here* sleeps
|
||||||
|
|||||||
@@ -39,6 +39,11 @@ concrete NounDut of Noun = CatDut ** open ResDut, Prelude in {
|
|||||||
a = np.a
|
a = np.a
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
ExtAdvNP np adv = heavyNP {
|
||||||
|
s = \\c => np.s ! c ++ embedInCommas adv.s ;
|
||||||
|
a = np.a
|
||||||
|
} ;
|
||||||
|
|
||||||
DetQuantOrd quant num ord =
|
DetQuantOrd quant num ord =
|
||||||
let
|
let
|
||||||
n = num.n ;
|
n = num.n ;
|
||||||
|
|||||||
@@ -46,6 +46,11 @@ concrete NounGer of Noun = CatGer ** open ResGer, MorphoGer, Prelude in {
|
|||||||
a = np.a
|
a = np.a
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
ExtAdvNP np adv = heavyNP {
|
||||||
|
s = \\c => np.s ! c ++ embedInCommas adv.s ;
|
||||||
|
a = np.a
|
||||||
|
} ;
|
||||||
|
|
||||||
DetQuantOrd quant num ord =
|
DetQuantOrd quant num ord =
|
||||||
let
|
let
|
||||||
n = num.n ;
|
n = num.n ;
|
||||||
|
|||||||
@@ -46,6 +46,12 @@ incomplete concrete NounRomance of Noun =
|
|||||||
hasClit = False
|
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 = {
|
DetQuantOrd quant num ord = {
|
||||||
s,sp = \\g,c => quant.s ! num.isNum ! num.n ! g ! c ++ num.s ! g ++
|
s,sp = \\g,c => quant.s ! num.isNum ! num.n ! g ! c ++ num.s ! g ++
|
||||||
ord.s ! aagr g num.n ;
|
ord.s ! aagr g num.n ;
|
||||||
|
|||||||
@@ -45,6 +45,11 @@ incomplete concrete NounScand of Noun =
|
|||||||
a = np.a
|
a = np.a
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
ExtAdvNP np adv = {
|
||||||
|
s = \\c => np.s ! c ++ embedInCommas adv.s ;
|
||||||
|
a = np.a
|
||||||
|
} ;
|
||||||
|
|
||||||
DetQuantOrd quant num ord = {
|
DetQuantOrd quant num ord = {
|
||||||
s = \\b,g => quant.s ! num.n ! b ! True ! g ++
|
s = \\b,g => quant.s ! num.n ! b ! True ! g ++
|
||||||
num.s ! g ++ ord.s ;
|
num.s ! g ++ ord.s ;
|
||||||
|
|||||||
@@ -52,6 +52,15 @@ lin
|
|||||||
c = ge_s ---- ge
|
c = ge_s ---- ge
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
GerundNP vp = {
|
||||||
|
s = infVP vp ; ---- ?
|
||||||
|
} ;
|
||||||
|
|
||||||
|
GerundAdv vp = {
|
||||||
|
s = infVP vp ++ "地" ; ---- ?
|
||||||
|
advType = ATManner ;
|
||||||
|
} ;
|
||||||
|
|
||||||
GerundAP v = {
|
GerundAP v = {
|
||||||
s = v.s ++ de_s ; ----
|
s = v.s ++ de_s ; ----
|
||||||
monoSyl = False ;
|
monoSyl = False ;
|
||||||
|
|||||||
Reference in New Issue
Block a user