summaryrefslogtreecommitdiff
path: root/next-lib/src/arabic/SymbolAra.gf
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2009-03-28 19:03:54 +0000
committeraarne <aarne@cs.chalmers.se>2009-03-28 19:03:54 +0000
commit71bb4eda8a34e39a3ef853e40f8be93494f975f4 (patch)
tree8a90ec749893801e4e2bf4d8fd8db143d9a5e7e6 /next-lib/src/arabic/SymbolAra.gf
parent90b71deaf12b82c6e1951640084d76f71268e114 (diff)
restoring Arabic to new API
Diffstat (limited to 'next-lib/src/arabic/SymbolAra.gf')
-rw-r--r--next-lib/src/arabic/SymbolAra.gf47
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 "," ;
+-}
+
+}
+