(Kor) WIP: First draft of Korean RG.

Not at all correct, just a minimal implementation that compiles.
This commit is contained in:
Inari Listenmaa
2020-02-07 11:00:37 +01:00
parent 4eed81d729
commit 495c9b7e52
25 changed files with 2104 additions and 0 deletions
+50
View File
@@ -0,0 +1,50 @@
--# -path=.:../abstract:../common:../prelude
concrete SymbolKor of Symbol = CatKor **
open Prelude, ParadigmsKor, ResKor, (NS=NounKor) in {
lin
-- : Symb -> PN ; -- x
SymbPN i = mkPN i.s ;
-- : Int -> PN ; -- 27
IntPN i = mkPN i.s ;
-- : Float -> PN ; -- 3.14159
FloatPN i = mkPN i.s ;
-- : Card -> PN ; -- twelve [as proper name]
NumPN i = mkPN i.s ;
{-
lin
-- CNIntNP cn i = {} ;
-- : 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 ;
-- : CN -> Card -> NP ; -- level five ; level 5
CNNumNP cn i = NS.MassNP (cn ** { comp = cn.comp ++ i.s }) ;
-- : Symb -> S ;
SymbS sy = {s = } ;
-- : Symb -> Card ;
SymbNum sy = { s = sy.s ; n = Pl } ;
-- : Symb -> Ord ;
SymbOrd sy = { s =} ;
-}
lincat
Symb, [Symb] = SS ;
lin
MkSymb s = s ;
BaseSymb = infixSS "과" ; -- 와 after vowel. TODO make it a table.
ConsSymb = infixSS "," ;
}