diff options
| author | aarne <aarne@cs.chalmers.se> | 2007-08-16 09:41:00 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2007-08-16 09:41:00 +0000 |
| commit | 1f342b2c25a5b3026de101028a56b3ff17e04e5b (patch) | |
| tree | 02ab8398695564ed6e019a0c028e4e068c952cc2 /doc/tutorial/resource/SyntaxIta.gf | |
| parent | 69129be4b25c6d764df449dfdb2e15cf4b4ebd0a (diff) | |
prepared mini syntax example
Diffstat (limited to 'doc/tutorial/resource/SyntaxIta.gf')
| -rw-r--r-- | doc/tutorial/resource/SyntaxIta.gf | 37 |
1 files changed, 29 insertions, 8 deletions
diff --git a/doc/tutorial/resource/SyntaxIta.gf b/doc/tutorial/resource/SyntaxIta.gf index 1633ac5f8..a0c2405e7 100644 --- a/doc/tutorial/resource/SyntaxIta.gf +++ b/doc/tutorial/resource/SyntaxIta.gf @@ -3,23 +3,38 @@ concrete SyntaxIta of Syntax = open Prelude, MorphoIta in { lincat + Phr = {s : Str} ; S = {s : Str} ; + QS = {s : Str} ; NP = {s : Str ; g : Gender ; n : Number} ; + IP = {s : Str ; g : Gender ; n : Number} ; CN = {s : Number => Str ; g : Gender} ; Det = {s : Gender => Str ; n : Number} ; AP = {s : Gender => Number => Str} ; AdA = {s : Str} ; VP = {s : Bool => Gender => Number => Str} ; + + N = {s : Number => Str ; g : Gender} ; + A = {s : Gender => Number => Str} ; V = {s : Number => Str} ; V2 = {s : Number => Str ; c : Str} ; lin - PosVP np vp = {s = np.s ++ vp.s ! True ! np.g ! np.n} ; - NegVP np vp = {s = np.s ++ vp.s ! False ! np.g ! np.n} ; + PhrS = postfixSS "." ; + PhrQS = postfixSS "?" ; + + PosVP np vp = {s = np.s ++ vp.s ! True ! np.g ! np.n} ; + NegVP np vp = {s = np.s ++ vp.s ! False ! np.g ! np.n} ; + QPosVP np vp = {s = np.s ++ vp.s ! True ! np.g ! np.n} ; + QNegVP np vp = {s = np.s ++ vp.s ! False ! np.g ! np.n} ; + IPPosVP np vp = {s = np.s ++ vp.s ! True ! np.g ! np.n} ; + IPNegVP np vp = {s = np.s ++ vp.s ! False ! np.g ! np.n} ; + + IPPosV2 ip np v2 = {s = v2.c ++ ip.s ++ v2.s ! np.n ++ np.s} ; + IPNegV2 ip np v2 = {s = v2.c ++ ip.s ++ "non" ++ v2.s ! np.n ++ np.s} ; - PredAP ap = {s = \\b,g,n => posneg b ++ copula n ++ ap.s ! g ! n} ; - PredV v = {s = \\b,_,n => posneg b ++ v.s ! n} ; - PredV2 v2 np = {s = \\b,_,n => posneg b ++ v2.s ! n ++ v2.c ++ np.s} ; + ComplV2 v2 np = {s = \\b,_,n => posneg b ++ v2.s ! n ++ v2.c ++ np.s} ; + ComplAP ap = {s = \\b,g,n => posneg b ++ copula n ++ ap.s ! g ! n} ; DetCN det cn = {s = det.s ! cn.g ++ cn.s ! det.n ; g = cn.g ; n = det.n} ; @@ -27,6 +42,13 @@ concrete SyntaxIta of Syntax = open Prelude, MorphoIta in { AdAP ada ap = {s = \\n,g => ada.s ++ ap.s ! n ! g} ; + WhichCN cn = {s = "quale" ++ cn.s ! Sg ; g = cn.g ; n = Sg} ; + + UseN n = n ; + UseA a = a ; + UseV v = {s = \\b,_,n => posneg b ++ v.s ! n} ; + + this_Det = mkDet Sg (regAdjective "questo") ; that_Det = mkDet Sg (regAdjective "quello") ; these_Det = mkDet Pl (regAdjective "questo") ; @@ -34,17 +56,16 @@ concrete SyntaxIta of Syntax = open Prelude, MorphoIta in { every_Det = {s = \\_ => "ogni" ; n = Sg} ; theSg_Det = {s = artDef Sg ; n = Sg} ; thePl_Det = {s = artDef Pl ; n = Pl} ; - a_Det = {s = artIndef ; n = Pl} ; + indef_Det = {s = artIndef ; n = Sg} ; plur_Det = {s = \\_ => [] ; n = Pl} ; two_Det = {s = \\_ => "due" ; n = Pl} ; very_AdA = {s = "molto"} ; - too_AdA = {s = "troppo"} ; oper copula : Number -> Str = \n -> case n of { - Sg => "รจ" ; + Sg => "่" ; Pl => "sono" } ; |
