mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-16 00:09:31 -06:00
49 lines
1.2 KiB
Plaintext
49 lines
1.2 KiB
Plaintext
--# -path=.:../abstract:../common
|
|
|
|
concrete SymbolHun of Symbol = CatHun ** open Prelude, ResHun in
|
|
{
|
|
--{
|
|
--
|
|
--lin
|
|
-- SymbPN i = {s = addGenitiveS i.s ; g = Neutr} ;
|
|
-- IntPN i = {s = addGenitiveS i.s ; g = Neutr} ;
|
|
-- FloatPN i = {s = addGenitiveS i.s ; g = Neutr} ;
|
|
-- NumPN i = {s = i.s ; g = Neutr} ;
|
|
-- CNIntNP cn i = {
|
|
-- s = \\c => cn.s ! Sg ! Nom ++ (addGenitiveS i.s) ! npcase2case c ;
|
|
-- a = agrgP3 Sg cn.g
|
|
-- } ;
|
|
-- CNSymbNP det cn xs = {
|
|
-- s = \\c => det.s ++ cn.s ! det.n ! Nom ++ (addGenitiveS xs.s) ! npcase2case c ;
|
|
-- a = agrgP3 det.n cn.g
|
|
-- } ;
|
|
-- CNNumNP cn i = {
|
|
-- s = \\c => cn.s ! Sg ! Nom ++ i.s ! npcase2case c ;
|
|
-- a = agrgP3 Sg cn.g
|
|
-- } ;
|
|
--
|
|
-- SymbS sy = sy ;
|
|
--
|
|
-- SymbNum sy = { s = addGenitiveS sy.s ; n = Pl ; hasCard = True } ;
|
|
-- SymbOrd sy = { s = \\c => sy.s ++ (regGenitiveS "th")!c} ;
|
|
--
|
|
--lincat
|
|
--
|
|
-- Symb, [Symb] = SS ;
|
|
--
|
|
--lin
|
|
-- MkSymb s = s ;
|
|
--
|
|
-- BaseSymb = infixSS "and" ;
|
|
-- ConsSymb = infixSS "," ;
|
|
--
|
|
--oper
|
|
-- -- Note: this results in a space before 's, but there's
|
|
-- -- not mauch we can do about that.
|
|
-- addGenitiveS : Str -> Case => Str = \s ->
|
|
-- table { Gen => s ++ "'s"; _ => s } ;
|
|
--
|
|
--}
|
|
|
|
}
|