diff options
| author | aarne <aarne@cs.chalmers.se> | 2008-06-25 16:54:35 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2008-06-25 16:54:35 +0000 |
| commit | e9e80fc389365e24d4300d7d5390c7d833a96c50 (patch) | |
| tree | f0b58473adaa670bd8fc52ada419d8cad470ee03 /old-examples/disamb | |
| parent | b96b36f43de3e2f8b58d5f539daa6f6d47f25870 (diff) | |
changed names of resource-1.3; added a note on homepage on release
Diffstat (limited to 'old-examples/disamb')
| -rw-r--r-- | old-examples/disamb/Conversation.gf | 18 | ||||
| -rw-r--r-- | old-examples/disamb/ConversationEng.gf | 23 | ||||
| -rw-r--r-- | old-examples/disamb/ConversationIta.gf | 57 |
3 files changed, 98 insertions, 0 deletions
diff --git a/old-examples/disamb/Conversation.gf b/old-examples/disamb/Conversation.gf new file mode 100644 index 000000000..fbbfccc0c --- /dev/null +++ b/old-examples/disamb/Conversation.gf @@ -0,0 +1,18 @@ +abstract Conversation = { + + cat + Q ; NP ; A ; + Gender ; Number ; Politeness ; + + fun + PredA : NP -> A -> Q ; + + GMasc, GFem : Gender ; + NSg, NPl : Number ; + PFamiliar, PPolite : Politeness ; + + You : Number -> Politeness -> Gender -> NP ; + + Ready : A ; + +} diff --git a/old-examples/disamb/ConversationEng.gf b/old-examples/disamb/ConversationEng.gf new file mode 100644 index 000000000..127ec54bd --- /dev/null +++ b/old-examples/disamb/ConversationEng.gf @@ -0,0 +1,23 @@ +--# -path=.:prelude + +concrete ConversationEng of Conversation = open Prelude in { + + lincat + Q, NP, A = {s : Str} ; + Gender, Number, Politeness = {s : Str} ; + + lin + PredA np a = ss ("are" ++ np.s ++ a.s) ; + + GMasc = ss (optStr "man") ; + GFem = ss (optStr "woman") ; + NSg = ss (optStr "one") ; + NPl = ss (optStr "many") ; + PFamiliar = ss (optStr "friend") ; + PPolite = ss (optStr "respected") ; + + You n p g = ss ("you" ++ n.s ++ p.s ++ g.s) ; + + Ready = ss "ready" ; + +} diff --git a/old-examples/disamb/ConversationIta.gf b/old-examples/disamb/ConversationIta.gf new file mode 100644 index 000000000..6728a38b0 --- /dev/null +++ b/old-examples/disamb/ConversationIta.gf @@ -0,0 +1,57 @@ +--# -path=.:prelude + +concrete ConversationIta of Conversation = open Prelude in { + + lincat + Q = {s : Str} ; + NP = {s : Str ; g : Gen ; n : Num ; p : Pol} ; + A = {s : Gen => Num => Str} ; + Gender = {s : Str ; g : Gen} ; + Number = {s : Str ; n : Num} ; + Politeness = {s : Str ; p : Pol} ; + + param + Num = Sg | Pl ; + Gen = Masc | Fem ; + Pol = Fam | Resp ; + lin + PredA np a = ss (np.s ++ essere np.n np.p ++ a.s ! np.g ! np.n) ; + + GMasc = ss [] ** {g = Masc} ; + GFem = ss [] ** {g = Fem} ; + NSg = ss [] ** {n = Sg} ; + NPl = ss [] ** {n = Pl} ; + PFamiliar = ss [] ** {p = Fam} ; + PPolite = ss [] ** {p = Resp} ; + + You n p g = + {g = g.g ; n = n.n ; p = p.p ; + s = case <n.n, p.p> of { + <Sg,Fam> => "tu" ; + <Sg,Resp> => "Lei" ; + <Pl,Fam> => "voi" ; + <Pl,Resp> => "Loro" + } ++ g.s ++ p.s ++ n.s + } ; + + Ready = regA "pronto" ; + + oper + essere : Num -> Pol -> Str = \n,p -> case <n,p> of { + <Sg,Fam> => "sei" ; + <Sg,Resp> => "รจ" ; + <Pl,Fam> => "siete" ; + <Pl,Resp> => "sono" + } ; + + regA : Str -> {s : Gen => Num => Str} = \nero -> + let ner = init nero in { + s = \\g,n => case <n,g> of { + <Sg,Fem> => ner + "a" ; + <Sg,Masc> => nero ; + <Pl,Fem> => ner + "e" ; + <Pl,Mas> => ner + "i" + } + } ; + +} |
