From 85b905f0e08313d2722b0c439ea0bd05a8193d1a Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Fri, 3 Apr 2020 16:04:52 +0200 Subject: [PATCH] (Kor) Add SymbolKor functions and MassNP --- src/korean/NounKor.gf | 6 +++--- src/korean/SymbolKor.gf | 23 +++++++++++++---------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/src/korean/NounKor.gf b/src/korean/NounKor.gf index f8a25e8b..d2abb0cc 100644 --- a/src/korean/NounKor.gf +++ b/src/korean/NounKor.gf @@ -63,9 +63,9 @@ concrete NounKor of Noun = CatKor ** open ResKor, Prelude in { } ; -- MassNP : CN -> NP ; - -- MassNP cn = useN cn ** { - -- } ; - + MassNP cn = cn ** { + s = \\nf => cn.rs ++ cn.s ! nf + } ; --2 Determiners diff --git a/src/korean/SymbolKor.gf b/src/korean/SymbolKor.gf index dd10943a..c5da282f 100644 --- a/src/korean/SymbolKor.gf +++ b/src/korean/SymbolKor.gf @@ -1,7 +1,7 @@ --# -path=.:../abstract:../common:../prelude concrete SymbolKor of Symbol = CatKor ** - open Prelude, ResKor in { + open Prelude, ResKor, (NK=NounKor) in { lin @@ -24,26 +24,29 @@ oper p = Consonant ; -- ?? } ; -{- lin --- CNIntNP cn i = {} ; + -- : CN -> Int -> NP + CNIntNP cn i = NK.MassNP (cn ** { + s = \\nf => cn.s ! nf ++ i.s}) ; -- : Det -> CN -> [Symb] -> NP ; -- (the) (2) numbers x and y CNSymbNP det cn xs = - let cnSymb = cn ** { comp = cn.comp ++ xs.s } - in NS.DetCN det cnSymb ; + let cnSymb : CN = cn ** {s = \\nf => cn.s ! nf ++ xs.s} + in NK.DetCN det cnSymb ; -- : CN -> Card -> NP ; -- level five ; level 5 - CNNumNP cn i = NS.MassNP (cn ** { comp = cn.comp ++ i.s }) ; + CNNumNP cn i = NK.MassNP (cn ** { + s = \\nf => cn.s ! nf ++ i.s ! cn.c.origin ! Indep}) ; -- : Symb -> S ; - SymbS sy = {s = } ; + SymbS sy = {s = \\_ => sy.s} ; + -- : Symb -> Card ; - SymbNum sy = { s = sy.s ; n = Pl } ; + SymbNum sy = baseNum ** {s = \\_,_ => sy.s} ; -- : Symb -> Ord ; - SymbOrd sy = { s =} ; --} + SymbOrd sy = sy ** {n=Pl} ; + lincat Symb, [Symb] = SS ;