mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-06-21 09:16:22 -06:00
The new Decimal API
This commit is contained in:
@@ -30,6 +30,7 @@ concrete CatTur of Cat = CommonX - [CAdv,AdN] ** open ResTur, HarmonyTur, Prelud
|
||||
|
||||
Numeral = {s : CardOrd => Number => Case => Str ; n : Number} ;
|
||||
Digits = {s : CardOrd => Number => Case => Str ; n : Number; tail : DTail} ;
|
||||
Decimal = {s : CardOrd => Number => Case => Str ; n : Number; hasDot : Bool} ;
|
||||
|
||||
-- Adjective
|
||||
AP = {s : Number => Case => Str; h : Harmony} ;
|
||||
|
||||
@@ -176,8 +176,8 @@ concrete NounTur of Noun = CatTur ** open ResTur, SuffixTur, HarmonyTur, Prelude
|
||||
s = n.s ! NCard ; n = n.n
|
||||
} ;
|
||||
|
||||
NumFloat n1 n2 = {
|
||||
s = \\n,c => n1.s ! NCard ! Sg ! Nom ++ BIND ++ "." ++ BIND ++ n2.s ! NCard ! n ! c ; n = Pl
|
||||
NumDecimal n = {
|
||||
s = n.s ! NCard ; n = n.n
|
||||
} ;
|
||||
|
||||
OrdNumeralSuperl n a = {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--# -path=.:../abstract:../common:../../prelude
|
||||
|
||||
concrete NumeralTur of Numeral = CatTur [Numeral,Digits] ** open Prelude, ResTur, ParadigmsTur in {
|
||||
concrete NumeralTur of Numeral = CatTur [Numeral,Digits,Decimal] ** open Prelude, ResTur, ParadigmsTur in {
|
||||
|
||||
flags
|
||||
coding = utf8 ;
|
||||
@@ -72,6 +72,21 @@ lin
|
||||
D_7 = mkDig "7" ;
|
||||
D_8 = mkDig "8" ;
|
||||
D_9 = mkDig "9" ;
|
||||
|
||||
PosDecimal d = d ** {hasDot=False} ;
|
||||
NegDecimal d = {
|
||||
s = \\t,num,c => "-" ++ BIND ++ d.s ! t ! num ! c;
|
||||
n = Pl;
|
||||
hasDot=False
|
||||
} ;
|
||||
IFrac d i = {
|
||||
s=\\t,num,c => d.s ! NCard ! Sg ! Nom ++
|
||||
if_then_Str d.hasDot BIND (BIND++"."++BIND) ++
|
||||
i.s ! t ! num ! c;
|
||||
n = Pl ;
|
||||
hasDot=True
|
||||
} ;
|
||||
|
||||
oper
|
||||
commaIf : DTail -> Str = \t -> case t of {
|
||||
T3 => BIND++","++BIND ;
|
||||
|
||||
Reference in New Issue
Block a user