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 /examples/regulus | |
| parent | b96b36f43de3e2f8b58d5f539daa6f6d47f25870 (diff) | |
changed names of resource-1.3; added a note on homepage on release
Diffstat (limited to 'examples/regulus')
28 files changed, 0 insertions, 724 deletions
diff --git a/examples/regulus/README b/examples/regulus/README deleted file mode 100644 index b3659c5e2..000000000 --- a/examples/regulus/README +++ /dev/null @@ -1,24 +0,0 @@ -AR 10 June 2007. - -Grammars from the book - - Manny Rayner, Beth and Hockey, and Pierrette Bouillon. - Putting Linguistics into Speech Recognition - The Regulus Grammar Compiler. - CSLI 2006. - -The goal is to help compare grammar writing in GF with Regulus. - -To compile a grammar X.gf into Nuance/GSL: - - gf - > i X.gf - > pg -printer=gsl - -The GSL format does not return semantics, but some others do, e.g. - - -printer=jsgf_sisr_old Java Speech Grammar Format with semantic tags in - SISR WD 20030401 format - -printer=srgs_abnf_sisr_old SRGS ABNF format, with semantic tags in - SISR WD 20030401 format - diff --git a/examples/regulus/toy0/Toy0.gf b/examples/regulus/toy0/Toy0.gf deleted file mode 100644 index b1e2d6a40..000000000 --- a/examples/regulus/toy0/Toy0.gf +++ /dev/null @@ -1,15 +0,0 @@ --- toy0 grammar from Chapter 2 of the Regulus book -abstract Toy0 = { - - flags startcat=NP ; - - cat - NP ; - Noun ; - Spec ; - - fun - SpecNoun : Spec -> Noun -> NP ; - One, Two : Spec ; - Felis, Canis : Noun ; -} diff --git a/examples/regulus/toy0/Toy0Eng.gf b/examples/regulus/toy0/Toy0Eng.gf deleted file mode 100644 index edfe520e4..000000000 --- a/examples/regulus/toy0/Toy0Eng.gf +++ /dev/null @@ -1,5 +0,0 @@ ---# -path=.:present:prelude - -concrete Toy0Eng of Toy0 = Toy0I with - (Syntax = SyntaxEng), - (Lexicon = LexiconEng) ; diff --git a/examples/regulus/toy0/Toy0Fin.gf b/examples/regulus/toy0/Toy0Fin.gf deleted file mode 100644 index f550e751e..000000000 --- a/examples/regulus/toy0/Toy0Fin.gf +++ /dev/null @@ -1,5 +0,0 @@ ---# -path=.:present:prelude - -concrete Toy0Fin of Toy0 = Toy0I with - (Syntax = SyntaxFin), - (Lexicon = LexiconFin) ; diff --git a/examples/regulus/toy0/Toy0Fre.gf b/examples/regulus/toy0/Toy0Fre.gf deleted file mode 100644 index 513e9b390..000000000 --- a/examples/regulus/toy0/Toy0Fre.gf +++ /dev/null @@ -1,5 +0,0 @@ ---# -path=.:present:prelude - -concrete Toy0Fre of Toy0 = Toy0I with - (Syntax = SyntaxFre), - (Lexicon = LexiconFre) ; diff --git a/examples/regulus/toy0/Toy0I.gf b/examples/regulus/toy0/Toy0I.gf deleted file mode 100644 index efb6e730a..000000000 --- a/examples/regulus/toy0/Toy0I.gf +++ /dev/null @@ -1,18 +0,0 @@ -incomplete concrete Toy0I of Toy0 = open Syntax, Lexicon in { - -lincat - Spec = Det ; - Noun = N ; - NP = Utt ; - -lin - SpecNoun spec noun = mkUtt (mkNP spec noun) ; - - One = mkDet n1_Numeral ; - Two = mkDet n2_Numeral ; - - Felis = cat_N ; - Canis = dog_N ; - -} - diff --git a/examples/regulus/toy0/Toy0Swe.gf b/examples/regulus/toy0/Toy0Swe.gf deleted file mode 100644 index 5de273d00..000000000 --- a/examples/regulus/toy0/Toy0Swe.gf +++ /dev/null @@ -1,5 +0,0 @@ ---# -path=.:present:prelude - -concrete Toy0Swe of Toy0 = Toy0I with - (Syntax = SyntaxSwe), - (Lexicon = LexiconSwe) ; diff --git a/examples/regulus/toy0/example-based/Toy0.gf b/examples/regulus/toy0/example-based/Toy0.gf deleted file mode 100644 index b1e2d6a40..000000000 --- a/examples/regulus/toy0/example-based/Toy0.gf +++ /dev/null @@ -1,15 +0,0 @@ --- toy0 grammar from Chapter 2 of the Regulus book -abstract Toy0 = { - - flags startcat=NP ; - - cat - NP ; - Noun ; - Spec ; - - fun - SpecNoun : Spec -> Noun -> NP ; - One, Two : Spec ; - Felis, Canis : Noun ; -} diff --git a/examples/regulus/toy0/example-based/Toy0Ger.gf b/examples/regulus/toy0/example-based/Toy0Ger.gf deleted file mode 100644 index 7355cbfac..000000000 --- a/examples/regulus/toy0/example-based/Toy0Ger.gf +++ /dev/null @@ -1,6 +0,0 @@ ---# -path=.:present:prelude - -concrete Toy0Ger of Toy0 = Toy0I with - (Grammar = GrammarGer), - (Lexicon = LexiconGer) ; - diff --git a/examples/regulus/toy0/example-based/Toy0I.gfe b/examples/regulus/toy0/example-based/Toy0I.gfe deleted file mode 100644 index 4589bf4b6..000000000 --- a/examples/regulus/toy0/example-based/Toy0I.gfe +++ /dev/null @@ -1,23 +0,0 @@ ---# -resource=present/LangEng.gfc ---# -path=.:present:prelude - --- to compile: gf -examples Toy0I.gfe - -incomplete concrete Toy0I of Toy0 = open Grammar, Lexicon in { - -lincat - Spec = Det ; - Noun = N ; - NP = Utt ; - -lin - SpecNoun every_Det house_N = in Utt "every house" ; - - One = in Det "one" ; - Two = in Det "two" ; - - Felis = in N "cat" ; - Canis = in N "dog" ; - -} - diff --git a/examples/regulus/toy0/no-functor/Toy0.gf b/examples/regulus/toy0/no-functor/Toy0.gf deleted file mode 100644 index b1e2d6a40..000000000 --- a/examples/regulus/toy0/no-functor/Toy0.gf +++ /dev/null @@ -1,15 +0,0 @@ --- toy0 grammar from Chapter 2 of the Regulus book -abstract Toy0 = { - - flags startcat=NP ; - - cat - NP ; - Noun ; - Spec ; - - fun - SpecNoun : Spec -> Noun -> NP ; - One, Two : Spec ; - Felis, Canis : Noun ; -} diff --git a/examples/regulus/toy0/no-functor/Toy0Eng.gf b/examples/regulus/toy0/no-functor/Toy0Eng.gf deleted file mode 100644 index 3bd6613a3..000000000 --- a/examples/regulus/toy0/no-functor/Toy0Eng.gf +++ /dev/null @@ -1,16 +0,0 @@ ---# -path=.:present:api:prelude -concrete Toy0Eng of Toy0 = - open SyntaxEng, ParadigmsEng in { - - flags language=en_US ; - - lincat - Spec = Det ; Noun = N ; NP = Utt ; - - lin - SpecNoun s n = mkUtt (mkNP s n) ; - One = mkDet one_Quant ; - Two = mkDet n2_Numeral ; - Felis = mkN "cat" ; - Canis = mkN "dog" ; -} diff --git a/examples/regulus/toy0/no-functor/Toy0Fin.gf b/examples/regulus/toy0/no-functor/Toy0Fin.gf deleted file mode 100644 index 4ebbf6f36..000000000 --- a/examples/regulus/toy0/no-functor/Toy0Fin.gf +++ /dev/null @@ -1,16 +0,0 @@ ---# -path=.:present:prelude - -concrete Toy0Fin of Toy0 = open SyntaxFin, ParadigmsFin in { - -lincat - Spec = Det ; - Noun = N ; - NP = Utt ; -lin - SpecNoun spec noun = mkUtt (SyntaxFin.mkNP spec noun) ; - - One = mkDet one_Quant ; - Two = mkDet (mkNum n2_Numeral) ; - Felis = mkN "kissa" ; - Canis = mkN "koira" ; -} diff --git a/examples/regulus/toy0/no-resource/Toy0.gf b/examples/regulus/toy0/no-resource/Toy0.gf deleted file mode 100644 index b1e2d6a40..000000000 --- a/examples/regulus/toy0/no-resource/Toy0.gf +++ /dev/null @@ -1,15 +0,0 @@ --- toy0 grammar from Chapter 2 of the Regulus book -abstract Toy0 = { - - flags startcat=NP ; - - cat - NP ; - Noun ; - Spec ; - - fun - SpecNoun : Spec -> Noun -> NP ; - One, Two : Spec ; - Felis, Canis : Noun ; -} diff --git a/examples/regulus/toy0/no-resource/Toy0Eng.gf b/examples/regulus/toy0/no-resource/Toy0Eng.gf deleted file mode 100644 index 977fb09c5..000000000 --- a/examples/regulus/toy0/no-resource/Toy0Eng.gf +++ /dev/null @@ -1,27 +0,0 @@ -concrete Toy0Eng of Toy0 = { - -param - Number = Sg | Pl ; - -lincat - Spec = {s : Str ; n : Number} ; - Noun = {s : Number => Str} ; - NP = {s : Str} ; - -lin - SpecNoun spec noun = {s = spec.s ++ noun.s ! spec.n} ; - - One = {s = "one" ; n = Sg} ; - Two = {s = "two" ; n = Pl} ; - - Felis = regNoun "cat" ; - Canis = regNoun "dog" ; - -oper - regNoun : Str -> {s : Number => Str} = \s -> { - s = table { - Sg => s ; - Pl => s + "s" - } - } ; -} diff --git a/examples/regulus/toy0/no-resource/Toy0Fre.gf b/examples/regulus/toy0/no-resource/Toy0Fre.gf deleted file mode 100644 index c5267ae18..000000000 --- a/examples/regulus/toy0/no-resource/Toy0Fre.gf +++ /dev/null @@ -1,29 +0,0 @@ -concrete Toy0Fre of Toy0 = { - -param - Number = Sg | Pl ; - Gender = Masc | Fem ; - -lincat - Spec = {s : Gender => Str ; n : Number} ; - Noun = {s : Number => Str ; g : Gender} ; - NP = {s : Str} ; - -lin - SpecNoun spec noun = {s = spec.s ! noun.g ++ noun.s ! spec.n} ; - - One = {s = table {Fem => "une" ; _ => "un"} ; n = Sg} ; - Two = {s = \\_ => "deux" ; n = Pl} ; - - Felis = mkNoun "chat" Masc ; - Canis = mkNoun "chien" Masc ; - -oper - mkNoun : Str -> Gender -> {s : Number => Str ; g : Gender} = \s,g -> { - s = table { - Sg => s ; - Pl => s + "s" - } ; - g = g - } ; -} diff --git a/examples/regulus/toy0/no-resource/Toy0Ger.gf b/examples/regulus/toy0/no-resource/Toy0Ger.gf deleted file mode 100644 index 091790f94..000000000 --- a/examples/regulus/toy0/no-resource/Toy0Ger.gf +++ /dev/null @@ -1,29 +0,0 @@ -concrete Toy0Ger of Toy0 = { - -param - Number = Sg | Pl ; - Gender = Masc | Fem | Neutr ; - -lincat - Spec = {s : Gender => Str ; n : Number} ; - Noun = {s : Number => Str ; g : Gender} ; - NP = {s : Str} ; - -lin - SpecNoun spec noun = {s = spec.s ! noun.g ++ noun.s ! spec.n} ; - - One = {s = table {Fem => "eine" ; _ => "ein"} ; n = Sg} ; - Two = {s = \\_ => "zwei" ; n = Pl} ; - - Felis = mkNoun "Katze" "Katzen" Fem ; - Canis = mkNoun "Hund" "Hünde" Masc ; - -oper - mkNoun : Str -> Str -> Gender -> {s : Number => Str ; g : Gender} = \s,p,g -> { - s = table { - Sg => s ; - Pl => p - } ; - g = g - } ; -} diff --git a/examples/regulus/toy0/no-resource/Toy0_eng.gf b/examples/regulus/toy0/no-resource/Toy0_eng.gf deleted file mode 100644 index ed8fe8063..000000000 --- a/examples/regulus/toy0/no-resource/Toy0_eng.gf +++ /dev/null @@ -1,39 +0,0 @@ --- grammar from Chapter 2 of the Regulus book - -flags startcat=MAIN ; - -cat - MAIN ; NP ; Noun ; Spec ; - -fun - Main : NP -> MAIN ; - SpecNoun : Spec -> Noun -> NP ; - - One, Two : Spec ; - Felis, Canis : Noun ; - -param - Number = Sg | Pl ; - -lincat - Spec = {s : Str ; n : Number} ; - Noun = {s : Number => Str} ; - MAIN,NP = {s : Str} ; - -lin - Main np = np ; - SpecNoun spec noun = {s = spec.s ++ noun.s ! spec.n} ; - - One = {s = "one" ; n = Sg} ; - Two = {s = "two" ; n = Pl} ; - - Felis = regNoun "cat" ; - Canis = regNoun "dog" ; - -oper - regNoun : Str -> {s : Number => Str} = \s -> { - s = table { - Sg => s ; - Pl => s + "s" - } - } ; diff --git a/examples/regulus/toy0/toy0.gfprobs b/examples/regulus/toy0/toy0.gfprobs deleted file mode 100644 index 7c97562e2..000000000 --- a/examples/regulus/toy0/toy0.gfprobs +++ /dev/null @@ -1 +0,0 @@ ---# prob Felis 0.9 diff --git a/examples/regulus/toy1/LexToy1.gf b/examples/regulus/toy1/LexToy1.gf deleted file mode 100644 index d48e43a3b..000000000 --- a/examples/regulus/toy1/LexToy1.gf +++ /dev/null @@ -1,12 +0,0 @@ -interface LexToy1 = open Syntax in { - -oper - dim_V2 : V2 ; - fan_N : N ; - kitchen_N : N ; - light_N : N ; - livingRoom_N : N ; - switchOff_V2 : V2 ; - switchOn_V2 : V2 ; - -}
\ No newline at end of file diff --git a/examples/regulus/toy1/LexToy1Swe.gf b/examples/regulus/toy1/LexToy1Swe.gf deleted file mode 100644 index 3930a4728..000000000 --- a/examples/regulus/toy1/LexToy1Swe.gf +++ /dev/null @@ -1,12 +0,0 @@ -instance LexToy1Swe of LexToy1 = open SyntaxSwe, ParadigmsSwe in { - -oper - dim_V2 = mkV2 "dämpa" ; - fan_N = mkN "fläkt" ; - kitchen_N = mkN "kök" neutrum ; - light_N = mkN "lampa" ; - livingRoom_N = mkN "vardagsrum" "vardagsrummet" "vardagsrum" "vardagsrummen" ; - switchOff_V2 = mkV2 "släcker" ; - switchOn_V2 = mkV2 "tänder" ; - -} diff --git a/examples/regulus/toy1/Toy1.gf b/examples/regulus/toy1/Toy1.gf deleted file mode 100644 index 49bd320c1..000000000 --- a/examples/regulus/toy1/Toy1.gf +++ /dev/null @@ -1,47 +0,0 @@ -abstract Toy1 = { - -flags startcat = Utterance ; - -cat - Utterance ; - Command ; - Question ; - Kind ; - Action Kind ; - Device Kind ; - Location ; - - Switchable Kind ; - Dimmable Kind ; - Statelike (k : Kind) (Action k) ; - -fun - UCommand : Command -> Utterance ; - UQuestion : Question -> Utterance ; - - CAction : (k : Kind) -> Action k -> Device k -> Command ; - QAction : (k : Kind) -> (a : Action k) -> Statelike k a -> Device k -> Question ; - - DKindOne : (k : Kind) -> Device k ; - DKindMany : (k : Kind) -> Device k ; - DLoc : (k : Kind) -> Device k -> Location -> Device k ; - - light, fan : Kind ; - - switchOn, switchOff : (k : Kind) -> Switchable k -> Action k ; - - dim : (k : Kind) -> Dimmable k -> Action k ; - - kitchen, livingRoom : Location ; - --- proof objects - - switchable_light : Switchable light ; - switchable_fan : Switchable fan ; - dimmable_light : Dimmable light ; - - statelike_switchOn : (k : Kind) -> (s : Switchable k) -> Statelike k (switchOn k s) ; - statelike_switchOff : (k : Kind) -> (s : Switchable k) -> Statelike k (switchOff k s) ; - -} - diff --git a/examples/regulus/toy1/Toy1Eng.gf b/examples/regulus/toy1/Toy1Eng.gf deleted file mode 100644 index 384e50060..000000000 --- a/examples/regulus/toy1/Toy1Eng.gf +++ /dev/null @@ -1,84 +0,0 @@ ---# -path=.:prelude - -concrete Toy1Eng of Toy1 = open Prelude in { - --- grammar Toy1 from the Regulus book - -flags startcat = Utterance ; - -param - Number = Sg | Pl ; - VForm = VImp | VPart ; - -lincat - Utterance = SS ; - Command = SS ; - Question = SS ; - Kind = {s : Number => Str} ; - Action = {s : VForm => Str ; part : Str} ; - Device = {s : Str ; n : Number} ; - Location = SS ; - -lin - UCommand c = c ; - UQuestion q = q ; - - CAction _ act dev = ss (act.s ! VImp ++ bothWays act.part dev.s) ; - QAction _ act st dev = ss (be dev.n ++ dev.s ++ act.s ! VPart ++ act.part ++ st.s) ; - - DKindOne k = { - s = "the" ++ k.s ! Sg ; - n = Sg - } ; - DKindMany k = { - s = "the" ++ k.s ! Pl ; - n = Pl - } ; - DLoc _ dev loc = { - s = dev.s ++ "in" ++ "the" ++ loc.s ; - n = dev.n - } ; - - light = mkNoun "light" ; - fan = mkNoun "fan" ; - - switchOn _ _ = mkVerb "switch" "swithced" "on" ; - switchOff _ _ = mkVerb "switch" "swithced" "off" ; - - dim _ _ = mkVerb "dim" "dimmed" [] ; - - kitchen = ss "kitchen" ; - livingRoom = ss ["living room"] ; - -oper - mkNoun : Str -> {s : Number => Str} = \dog -> { - s = table { - Sg => dog ; - Pl => dog + "s" - } - } ; - - mkVerb : (_,_,_ : Str) -> {s : VForm => Str ; part : Str} = \go,gone,away -> { - s = table { - VImp => go ; - VPart => gone - } ; - part = away - } ; - - be : Number -> Str = \n -> case n of { - Sg => "is" ; - Pl => "are" - } ; - - hidden : SS = ss [] ; -lin - switchable_light = hidden ; - switchable_fan = hidden ; - dimmable_light = hidden ; - - statelike_switchOn _ _ = hidden ; - statelike_switchOff _ _ = hidden ; - -} - diff --git a/examples/regulus/toy1/Toy1Fre.gf b/examples/regulus/toy1/Toy1Fre.gf deleted file mode 100644 index c5d903519..000000000 --- a/examples/regulus/toy1/Toy1Fre.gf +++ /dev/null @@ -1,95 +0,0 @@ ---# -path=.:prelude - -concrete Toy1Fre of Toy1 = open Prelude in { - --- grammar Toy1 from the Regulus book - -flags startcat = Utterance ; - -param - Number = Sg | Pl ; - Gender = Masc | Fem ; - VForm = VInf | VPart Gender Number ; - -lincat - Utterance = SS ; - Command = SS ; - Question = SS ; - Kind = {s : Number => Str ; g : Gender} ; - Action = {s : VForm => Str} ; - Device = {s : Str ; g : Gender ; n : Number} ; - Location = {s : Number => Str ; g : Gender} ; - -lin - UCommand c = c ; - UQuestion q = q ; - - CAction _ act dev = ss (act.s ! VInf ++ dev.s) ; - QAction _ act st dev = - ss (dev.s ++ est dev.g dev.n ++ act.s ! VPart dev.g dev.n ++ st.s) ; - - DKindOne k = { - s = defArt k.g ++ k.s ! Sg ; - g = k.g ; - n = Sg - } ; - DKindMany k = { - s = "les" ++ k.s ! Pl ; - g = k.g ; - n = Pl - } ; - DLoc _ dev loc = { - s = dev.s ++ "dans" ++ defArt loc.g ++ loc.s ! Sg ; - g = dev.g ; - n = dev.n - } ; - - light = mkNoun "lampe" Fem ; - fan = mkNoun "ventilateur" Masc ; - - switchOn _ _ = mkVerb "allumer" "allumé" ; - switchOff _ _ = mkVerb "éteindre" "éteint" ; - - dim _ _ = mkVerb "baisser" "baissé" ; - - kitchen = mkNoun "cuisine" Fem ; - livingRoom = mkNoun "salon" Masc ; - -oper - mkNoun : Str -> Gender -> {s : Number => Str ; g : Gender} = \dog,g -> { - s = table { - Sg => dog ; - Pl => dog + "s" - } ; - g = g - } ; - - mkVerb : (_,_ : Str) -> {s : VForm => Str} = \venir,venu -> { - s = table { - VInf => venir ; - VPart Masc Sg => venu ; - VPart Masc Pl => venu + "s" ; - VPart Fem Sg => venu + "e" ; - VPart Fem Pl => venu + "es" - } - } ; - - est : Gender -> Number -> Str = \g,n -> case <g,n> of { - <Masc,Sg> => "est-il" ; - <Fem, Sg> => "est-elle" ; - <Masc,Pl> => "sont-ils" ; - <Fem, Pl> => "sont-elles" - } ; - - defArt : Gender -> Str = \g -> case g of {Masc => "le" ; Fem => "la"} ; - -lin - switchable_light = ss [] ; - switchable_fan = ss [] ; - dimmable_light = ss [] ; - - statelike_switchOn _ _ = ss [] ; - statelike_switchOff _ _ = ss [] ; - -} - diff --git a/examples/regulus/toy1/Toy1I.gf b/examples/regulus/toy1/Toy1I.gf deleted file mode 100644 index eb7a9db7a..000000000 --- a/examples/regulus/toy1/Toy1I.gf +++ /dev/null @@ -1,50 +0,0 @@ ---# -path=.:present:prelude - -incomplete concrete Toy1I of Toy1 = open Syntax, LexToy1, Prelude in { - --- grammar Toy1 from the Regulus book - -flags startcat = Utterance ; - -lincat - Utterance = Utt ; - Command = Imp ; - Question = QS ; - Kind = N ; - Action = V2 ; - Device = NP ; - Location = N ; - -lin - UCommand c = mkUtt politeImpForm c ; - UQuestion q = mkUtt q ; - - CAction _ act dev = mkImp act dev ; - QAction _ act st dev = - mkQS anteriorAnt (mkQCl (mkCl dev (passiveVP act))) ; ---- show empty proof - - DKindOne k = mkNP defSgDet k ; - DKindMany k = mkNP defPlDet k ; - DLoc _ dev loc = mkNP dev (mkAdv in_Prep (mkNP defSgDet loc)) ; - - light = light_N ; - fan = fan_N ; - - switchOn _ _ = switchOn_V2 ; - switchOff _ _ = switchOff_V2 ; - - dim _ _ = dim_V2 ; - - kitchen = kitchen_N ; - livingRoom = livingRoom_N ; - -lin - switchable_light = ss [] ; - switchable_fan = ss [] ; - dimmable_light = ss [] ; - - statelike_switchOn _ _ = ss [] ; - statelike_switchOff _ _ = ss [] ; - - -} diff --git a/examples/regulus/toy1/Toy1Swe.gf b/examples/regulus/toy1/Toy1Swe.gf deleted file mode 100644 index 0e23994c8..000000000 --- a/examples/regulus/toy1/Toy1Swe.gf +++ /dev/null @@ -1,5 +0,0 @@ ---# -path=.:alltenses:prelude - -concrete Toy1Swe of Toy1 = Toy1I with - (Syntax = SyntaxSwe), - (LexToy1 = LexToy1Swe) ; diff --git a/examples/regulus/toy1/Toy1a.gf b/examples/regulus/toy1/Toy1a.gf deleted file mode 100644 index cab51455b..000000000 --- a/examples/regulus/toy1/Toy1a.gf +++ /dev/null @@ -1,35 +0,0 @@ -abstract Toy1a = { - -flags startcat = Utterance ; - -cat - Utterance ; - Command ; - Question ; - Kind ; - Action Kind ; - Device Kind ; - Location ; - -fun - UCommand : Command -> Utterance ; - UQuestion : Question -> Utterance ; - - CAction : (k : Kind) -> Action k -> Device k -> Command ; - QAction : (k : Kind) -> Action k -> Device k -> Question ; - - DKindOne : (k : Kind) -> Device k ; - DKindMany : (k : Kind) -> Device k ; - DLoc : (k : Kind) -> Device k -> Location -> Device k ; - - light, fan : Kind ; - - switchOn, switchOff : (k : Kind) -> Action k ; - - dim : Action light ; - - kitchen, livingRoom : Location ; - - -} - diff --git a/examples/regulus/toy1/Toy1aEng.gf b/examples/regulus/toy1/Toy1aEng.gf deleted file mode 100644 index d0748cc82..000000000 --- a/examples/regulus/toy1/Toy1aEng.gf +++ /dev/null @@ -1,76 +0,0 @@ ---# -path=.:prelude - -concrete Toy1aEng of Toy1a = open Prelude in { - --- grammar Toy1 from the Regulus book - -flags startcat = Utterance ; - -param - Number = Sg | Pl ; - VForm = VImp | VPart ; - -lincat - Utterance = SS ; - Command = SS ; - Question = SS ; - Kind = {s : Number => Str} ; - Action = {s : VForm => Str ; part : Str} ; - Device = {s : Str ; n : Number} ; - Location = SS ; - -lin - UCommand c = c ; - UQuestion q = q ; - - CAction _ act dev = ss (act.s ! VImp ++ bothWays act.part dev.s) ; - QAction _ act dev = ss (be dev.n ++ dev.s ++ act.s ! VPart ++ act.part) ; - - DKindOne k = { - s = "the" ++ k.s ! Sg ; - n = Sg - } ; - DKindMany k = { - s = "the" ++ k.s ! Pl ; - n = Pl - } ; - DLoc _ dev loc = { - s = dev.s ++ "in" ++ "the" ++ loc.s ; - n = dev.n - } ; - - light = mkNoun "light" ; - fan = mkNoun "fan" ; - - switchOn _ = mkVerb "switch" "switched" "on" ; - switchOff _ = mkVerb "switch" "switched" "off" ; - - dim = mkVerb "dim" "dimmed" [] ; - - kitchen = ss "kitchen" ; - livingRoom = ss ["living room"] ; - -oper - mkNoun : Str -> {s : Number => Str} = \dog -> { - s = table { - Sg => dog ; - Pl => dog + "s" - } - } ; - - mkVerb : (_,_,_ : Str) -> {s : VForm => Str ; part : Str} = \go,gone,away -> { - s = table { - VImp => go ; - VPart => gone - } ; - part = away - } ; - - be : Number -> Str = \n -> case n of { - Sg => "is" ; - Pl => "are" - } ; - - -} - |
