Skip to content

Commit

Permalink
comma instead of dot and space separator in Romance decimals
Browse files Browse the repository at this point in the history
  • Loading branch information
krangelov committed Jan 31, 2024
1 parent b746a42 commit a8b0e5d
Show file tree
Hide file tree
Showing 6 changed files with 86 additions and 21 deletions.
21 changes: 17 additions & 4 deletions src/catalan/NumeralCat.gf
Original file line number Diff line number Diff line change
Expand Up @@ -140,11 +140,12 @@ param
Dig = TDigit ;

lin
IDig d = d ;
IDig d = d ** {tail = T1} ;

IIDig d i = {
s = \\o => d.s ! NCard Masc ++ BIND ++ i.s ! o ;
n = Pl
s = \\o => d.s ! NCard Masc ++ spaceIf i.tail ++ i.s ! o ;
n = Pl ;
tail = inc i.tail
} ;

D_0 = mkDig "0" ;
Expand All @@ -166,12 +167,24 @@ param
} ;
IFrac d i = {
s = \\o => d.s ! NCard Masc ++
if_then_Str d.hasDot BIND (BIND++"."++BIND) ++
if_then_Str d.hasDot BIND (BIND++","++BIND) ++
i.s ! o ;
n = Pl ;
hasDot=True
} ;

oper
spaceIf : DTail -> Str = \t -> case t of {
T3 => SOFT_SPACE ;
_ => BIND
} ;

inc : DTail -> DTail = \t -> case t of {
T1 => T2 ;
T2 => T3 ;
T3 => T1
} ;

oper
mk2Dig : Str -> Str -> TDigit = \c,o -> mk3Dig c o Pl ;
mkDig : Str -> TDigit = \c -> mk2Dig c (c + ":o") ;
Expand Down
21 changes: 17 additions & 4 deletions src/french/NumeralFre.gf
Original file line number Diff line number Diff line change
Expand Up @@ -153,11 +153,12 @@ oper hyphen = BIND ++ "-" ++ BIND ;
Dig = TDigit ;

lin
IDig d = d ;
IDig d = d ** {tail = T1} ;

IIDig d i = {
s = \\o => d.s ! NCard Masc ++ BIND ++ i.s ! o ;
n = Pl
s = \\o => d.s ! NCard Masc ++ spaceIf i.tail ++ i.s ! o ;
n = Pl ;
tail = inc i.tail
} ;

D_0 = mkDig "0" ;
Expand All @@ -179,12 +180,24 @@ oper hyphen = BIND ++ "-" ++ BIND ;
} ;
IFrac d i = {
s = \\o => d.s ! NCard Masc ++
if_then_Str d.hasDot BIND (BIND++"."++BIND) ++
if_then_Str d.hasDot BIND (BIND++","++BIND) ++
i.s ! o ;
n = Pl ;
hasDot=True
} ;

oper
spaceIf : DTail -> Str = \t -> case t of {
T3 => SOFT_SPACE ;
_ => BIND
} ;

inc : DTail -> DTail = \t -> case t of {
T1 => T2 ;
T2 => T3 ;
T3 => T1
} ;

oper
mk2Dig : Str -> Str -> TDigit = \c,o -> mk3Dig c o Pl ;
mkDig : Str -> TDigit = \c -> mk2Dig c (c + "ème") ;
Expand Down
21 changes: 17 additions & 4 deletions src/italian/NumeralIta.gf
Original file line number Diff line number Diff line change
Expand Up @@ -120,11 +120,12 @@ param Pred = pred | indip ;
Dig = TDigit ;

lin
IDig d = d ;
IDig d = d ** {tail = T1} ;

IIDig d i = {
s = \\o => d.s ! NCard Masc ++ BIND ++ i.s ! o ;
n = Pl
s = \\o => d.s ! NCard Masc ++ spaceIf i.tail ++ i.s ! o ;
n = Pl ;
tail = inc i.tail
} ;

D_0 = mkDig "0" ;
Expand All @@ -146,12 +147,24 @@ param Pred = pred | indip ;
} ;
IFrac d i = {
s = \\o => d.s ! NCard Masc ++
if_then_Str d.hasDot BIND (BIND++"."++BIND) ++
if_then_Str d.hasDot BIND (BIND++","++BIND) ++
i.s ! o;
n = Pl ;
hasDot=True
} ;

oper
spaceIf : DTail -> Str = \t -> case t of {
T3 => SOFT_SPACE ;
_ => BIND
} ;

inc : DTail -> DTail = \t -> case t of {
T1 => T2 ;
T2 => T3 ;
T3 => T1
} ;

oper
mkDig : Str -> TDigit = \c -> mk2Dig c Pl ;

Expand Down
21 changes: 17 additions & 4 deletions src/portuguese/NumeralPor.gf
Original file line number Diff line number Diff line change
Expand Up @@ -189,11 +189,12 @@ concrete NumeralPor of Numeral = CatPor [Numeral,Digits,Decimal] **
Dig = TDigit ;

lin
IDig d = d ;
IDig d = d ** {tail = T1} ;

IIDig d i = {
s = \\o => d.s ! NCard Masc ++ BIND ++ i.s ! o ;
n = Pl
s = \\o => d.s ! NCard Masc ++ spaceIf i.tail ++ i.s ! o ;
n = Pl ;
tail = inc i.tail
} ;

D_0 = mkDig "0" Sg ;
Expand All @@ -215,12 +216,24 @@ concrete NumeralPor of Numeral = CatPor [Numeral,Digits,Decimal] **
} ;
IFrac d i = {
s = \\o => d.s ! NCard Masc ++
if_then_Str d.hasDot BIND (BIND++"."++BIND) ++
if_then_Str d.hasDot BIND (BIND++","++BIND) ++
i.s ! o;
n = Pl ;
hasDot=True
} ;

oper
spaceIf : DTail -> Str = \t -> case t of {
T3 => SOFT_SPACE ;
_ => BIND
} ;

inc : DTail -> DTail = \t -> case t of {
T1 => T2 ;
T2 => T3 ;
T3 => T1
} ;

oper
mk4Dig : Str -> Str -> Str -> Number -> TDigit = \c,o,a,n -> {
s = table {
Expand Down
2 changes: 1 addition & 1 deletion src/romance/CatRomance.gf
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ incomplete concrete CatRomance of Cat = CommonX - [SC,Pol,MU]
-- Numeral

Numeral = {s : CardOrd => Str ; n : Number} ;
Digits = {s : CardOrd => Str ; n : Number} ;
Digits = {s : CardOrd => Str ; n : Number ; tail : DTail} ;
Decimal = {s : CardOrd => Str ; n : Number ; hasDot : Bool} ;

-- Structural
Expand Down
21 changes: 17 additions & 4 deletions src/spanish/NumeralSpa.gf
Original file line number Diff line number Diff line change
Expand Up @@ -114,11 +114,12 @@ param
Dig = TDigit ;

lin
IDig d = d ;
IDig d = d ** {tail = T1} ;

IIDig d i = {
s = \\o => d.s ! NCard Masc ++ BIND ++ i.s ! o ;
n = Pl
s = \\o => d.s ! NCard Masc ++ spaceIf i.tail ++ i.s ! o ;
n = Pl ;
tail = inc i.tail
} ;

D_0 = mkDig "0" ;
Expand All @@ -140,12 +141,24 @@ param
} ;
IFrac d i = {
s = \\o => d.s ! NCard Masc ++
if_then_Str d.hasDot BIND (BIND++"."++BIND) ++
if_then_Str d.hasDot BIND (BIND++","++BIND) ++
i.s ! o ;
n = Pl ;
hasDot=True
} ;

oper
spaceIf : DTail -> Str = \t -> case t of {
T3 => SOFT_SPACE ;
_ => BIND
} ;

inc : DTail -> DTail = \t -> case t of {
T1 => T2 ;
T2 => T3 ;
T3 => T1
} ;

oper
mk2Dig : Str -> Str -> TDigit = \c,o -> mk3Dig c o Pl ;
mkDig : Str -> TDigit = \c -> mk2Dig c (c + ":o") ;
Expand Down

0 comments on commit a8b0e5d

Please sign in to comment.