diff options
| author | aarne <aarne@cs.chalmers.se> | 2009-03-28 19:03:54 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2009-03-28 19:03:54 +0000 |
| commit | 71bb4eda8a34e39a3ef853e40f8be93494f975f4 (patch) | |
| tree | 8a90ec749893801e4e2bf4d8fd8db143d9a5e7e6 /next-lib/src/arabic/SymbolAra.gf | |
| parent | 90b71deaf12b82c6e1951640084d76f71268e114 (diff) | |
restoring Arabic to new API
Diffstat (limited to 'next-lib/src/arabic/SymbolAra.gf')
| -rw-r--r-- | next-lib/src/arabic/SymbolAra.gf | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/next-lib/src/arabic/SymbolAra.gf b/next-lib/src/arabic/SymbolAra.gf new file mode 100644 index 000000000..d8003eaf8 --- /dev/null +++ b/next-lib/src/arabic/SymbolAra.gf @@ -0,0 +1,47 @@ +--# -path=.:abstract:common + +concrete SymbolAra of Symbol = CatAra ** open Prelude, ResAra in { + +{- +lin + SymbPN i = {s = \\c => i.s ; g = Neutr} ; --- c + IntPN i = {s = \\c => i.s ; g = Neutr} ; --- c + FloatPN i = {s = \\c => i.s ; g = Neutr} ; --- c + NumPN i = {s = i.s ! Neutr ; g = Neutr} ; --- c + + CNIntNP cn i = { + s = \\c => cn.s ! Weak ! Sg ! Nom ++ i.s ; + a = agrP3 Sg ; + isPron = False + } ; + CNSymbNP det cn xs = let g = cn.g in { + s = \\c => det.s ! g ! c ++ cn.s ! adjfCase det.a c ! det.n ! c ++ xs.s ; + a = agrP3 det.n ; + isPron = False + } ; + CNNumNP cn i = { + s = \\c => artDef ! (GSg cn.g) ! c ++ cn.s ! Weak ! Sg ! Nom ++ i.s ! Neutr ! c ; + a = agrP3 Sg ; + isPron = False + } ; + + SymbS sy = {s = \\_ => sy.s} ; + + SymbNum n = {s = \\_,_ => n.s ; n = Pl ; isNum = True} ; + SymbOrd n = {s = \\_ => n.s ++ "."} ; + + +lincat + + Symb, [Symb] = SS ; + +lin + + MkSymb s = s ; + + BaseSymb = infixSS "und" ; + ConsSymb = infixSS "," ; +-} + +} + |
