summaryrefslogtreecommitdiff
path: root/examples/letter/LetterEng.gf
diff options
context:
space:
mode:
authorJohn J. Camilleri <john@digitalgrammars.com>2018-07-04 10:09:58 +0200
committerJohn J. Camilleri <john@digitalgrammars.com>2018-07-04 10:09:58 +0200
commitc6f4edaea5f1074ba682fac5d711016f0136998f (patch)
treebb49b8bac2e3cafd3c1f997115bf5bb841554eab /examples/letter/LetterEng.gf
parent00476ae38687fb7d33081130822cbd4e8f34cfd3 (diff)
Remove examples directory; these now live in gf-contrib
All changes have been reflected in the gf-contrib repository: https://github.com/GrammaticalFramework/gf-contrib Now, for WebSetup to build the example grammars, one must have gf-contrib cloned in the same top-level directory as GF. When this isn't the case, WebSetup displays a notice without failing.
Diffstat (limited to 'examples/letter/LetterEng.gf')
-rw-r--r--examples/letter/LetterEng.gf158
1 files changed, 0 insertions, 158 deletions
diff --git a/examples/letter/LetterEng.gf b/examples/letter/LetterEng.gf
deleted file mode 100644
index 6bc3fc884..000000000
--- a/examples/letter/LetterEng.gf
+++ /dev/null
@@ -1,158 +0,0 @@
-concrete LetterEng of Letter = {
-
---1 An English Concrete Syntax for Business and Love Letters
---
--- This file defines the English syntax of the grammar set
--- whose abstract syntax is $letter.Abs.gf$.
-
-flags lexer=textlit ; unlexer=textlit ;
-
-param Sex = masc | fem ;
-param Num = sg | pl ;
-param Kas = nom | acc ;
-param DepNum = depnum | cnum Num ;
-
-oper SS = {s : Str} ;
-oper SSDep = {s : Num => Sex => Str} ; -- needs Num and Sex
-oper SSSrc = {s : Str ; n : Num ; x : Sex} ; -- gives Num and Sex
-oper SSSrc2 = {s : Num => Sex => Str ; n : DepNum ; x : Sex} ; -- gives and needs
-oper SSDep2 = {s : DepNum => Sex => Num => Sex => Str} ; -- needs Auth's & Recp's
-oper SSSrcNum = {s : Str ; n : Num} ; -- gives Num only
-
-
-oper
- ss : Str -> SS = \s -> {s = s} ;
- constNX : Str -> Num -> Sex -> SSSrc2 = \str,num,sex ->
- {s = table {_ => table {_ => str}} ; n = cnum num ; x = sex} ;
-
- dep2num : DepNum -> Num -> Num = \dn,n -> case dn of {
- depnum => n ;
- cnum cn => cn
- } ;
-
- RET = "" ; -- &-
-
-lincat
-Letter = SS ;
-Recipient = SSSrc ;
-Author = SSSrc2 ;
-Message = SSDep2 ;
-Heading = SSSrc ;
-Ending = SSSrc2 ;
-Mode = SSDep2 ;
-Sentence = SSDep2 ;
-NounPhrase = SSSrcNum ;
-Position = SSDep ;
-
-lin
-MkLetter head mess end =
- ss (head.s ++ "," ++ RET ++
- mess.s ! end.n ! end.x ! head.n ! head.x ++ "." ++ RET ++
- end.s ! head.n ! head.x) ;
-
-DearRec rec = {s = "Dear" ++ rec.s ; n = rec.n ; x = rec.x} ;
-PlainRec rec = rec ;
-HelloRec rec = {s = "Hello" ++ rec.s ; n = rec.n ; x = rec.x} ;
-JustHello rec = {s = "Hello" ; n = rec.n ; x = rec.x} ;
-
-ModeSent mode sent =
- {s =
- table {dna => table {xa => table {nr => table {xr =>
- mode.s ! dna ! xa ! nr ! xr ++ sent.s ! dna ! xa ! nr ! xr}}}}
- } ;
-PlainSent sent = sent ;
-
-FormalEnding auth =
- {s = table {n => table {x =>
- ["Sincerely yours"] ++ RET ++ auth.s ! n ! x}} ; n = auth.n ; x = auth.x} ;
-InformalEnding auth =
- {s = table {n => table {x =>
- ["With best regards"] ++ RET ++ auth.s ! n ! x}} ; n = auth.n ; x = auth.x} ;
-
-ColleaguesHe = {s = kollega ! pl ; n = pl ; x = masc} ;
-ColleaguesShe = {s = kollega ! pl ; n = pl ; x = fem} ;
-ColleagueHe = {s = kollega ! sg ; n = sg ; x = masc} ;
-ColleagueShe = {s = kollega ! sg ; n = sg ; x = fem} ;
-DarlingHe = {s = "darling" ; n = sg ; x = masc} ;
-DarlingShe = {s = "darling" ; n = sg ; x = fem} ;
-NameHe s = {s = s.s ; n = sg ; x = masc} ;
-NameShe s = {s = s.s ; n = sg ; x = fem} ;
-
-
-Honour = {s =
- table {dna => table {xa => table {nr => table {xr =>
- let {na = dep2num dna nr} in
- ego ! na ! nom ++ ["have the honour to inform you that"]}}}}
- } ;
-
-Regret = {s =
- table {dna => table {xa => table {nr => table {xr =>
- let {na = dep2num dna nr} in
- ego ! na ! nom ++ am ! na ++ ["sorry to inform you that"]}}}}
- } ;
-
-
-President = constNX ["the President"] sg masc ;
-Mother = constNX "Mom" sg fem ;
-Spouse = {s = table {
- sg => table {fem => ["your husband"] ; masc => ["your wife"]} ;
- pl => table {fem => ["your husbands"] ; masc => ["your wives"]}
- } ; n = depnum ; x = masc} ; -- sex does not matter here
-Dean = constNX ["the Dean"] sg masc ;
-Name s = constNX s.s sg masc ; ---
-
-BePromoted pos = {s =
- table {na => table {xa => table {nr => table {xr =>
- ["you have been promoted to"] ++
- pos.s ! nr ! xr}}}}
- } ;
-GoBankrupt np = {s =
- table {na => table {xa => table {nr => table {xr =>
- np.s ++ have ! np.n ++ ["gone bankrupt"]}}}}
- } ;
-ILoveYou = {s =
- table {na => table {xa => table {nr => table {xr =>
- ego ! dep2num na nr ! nom ++ ["love you"]}}}}
- } ;
-
-Company = {s = ["our company"] ; n = sg} ;
-Competitor = {s = ["our worst competitor"] ; n = sg} ;
-OurCustomers = {s = ["our customers"] ; n = pl} ;
-
-Senior = {s =
- table {
- sg => table {x => ["a senior fellow"]} ;
- pl => table {x => ["senior fellows"]}
- }} ;
-ProjectManager = {s =
- table {
- sg => table {_ => ["a project manager"]} ;
- pl => table {_ => ["project managers"]}
- }} ;
-
-oper
-
-kollega :
- Num => Str =
- table {sg => "colleague" ; pl => "colleagues"} ;
-
-am :
- Num => Str =
- table {sg => "am" ; pl => "are"} ;
-
-have :
- Num => Str =
- table {sg => "has" ; pl => "have"} ;
-
-ego :
- Num => Kas => Str =
- table {
- sg => table {nom => "I" ; acc => "me"} ;
- pl => table {nom => "we" ; acc => "us"}
- } ;
-
- -- added by John 2013-01-11 for testing syntax editor
- printname cat Recipient = "Someone who receives a letter";
- printname fun HelloRec = "Saying hello to a recipient";
-
-}