summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2008-03-04 11:56:12 +0000
committeraarne <aarne@cs.chalmers.se>2008-03-04 11:56:12 +0000
commitbc77ad31639775dbb8201e44d1f8a3c3b8b78852 (patch)
tree83654a2fc5e67ebfb8ed8908b7c779b728a4edcf
parentb21fe037352bbbe55a1d30515c278d21f964bdec (diff)
added wiki grammars
-rw-r--r--examples/wiki/Editor.gf68
-rw-r--r--examples/wiki/EditorEng.gf7
-rw-r--r--examples/wiki/EditorFin.gf7
-rw-r--r--examples/wiki/EditorFre.gf7
-rw-r--r--examples/wiki/EditorI.gf69
-rw-r--r--examples/wiki/EditorSpa.gf7
-rw-r--r--examples/wiki/EditorSwe.gf7
-rw-r--r--examples/wiki/LexEditor.gf58
-rw-r--r--examples/wiki/LexEditorEng.gf60
-rw-r--r--examples/wiki/LexEditorFin.gf62
-rw-r--r--examples/wiki/LexEditorFre.gf64
-rw-r--r--examples/wiki/LexEditorSpa.gf67
-rw-r--r--examples/wiki/LexEditorSwe.gf60
-rw-r--r--examples/wiki/LexRestaurant.gf66
-rw-r--r--examples/wiki/LexRestaurantEng.gf68
-rw-r--r--examples/wiki/LexRestaurantFin.gf70
-rw-r--r--examples/wiki/LexRestaurantFre.gf70
-rw-r--r--examples/wiki/LexRestaurantSpa.gf68
-rw-r--r--examples/wiki/LexRestaurantSwe.gf68
-rw-r--r--examples/wiki/LexWiki.gf399
-rw-r--r--examples/wiki/LexWikiEng.gf400
-rw-r--r--examples/wiki/LexWikiFin.gf401
-rw-r--r--examples/wiki/LexWikiFre.gf402
-rw-r--r--examples/wiki/LexWikiSpa.gf404
-rw-r--r--examples/wiki/LexWikiSwe.gf401
-rw-r--r--examples/wiki/Restaurant.gf111
-rw-r--r--examples/wiki/RestaurantEng.gf8
-rw-r--r--examples/wiki/RestaurantFin.gf8
-rw-r--r--examples/wiki/RestaurantFre.gf8
-rw-r--r--examples/wiki/RestaurantI.gf117
-rw-r--r--examples/wiki/RestaurantSpa.gf8
-rw-r--r--examples/wiki/RestaurantSwe.gf8
-rw-r--r--examples/wiki/Wiki.gf410
-rw-r--r--examples/wiki/WikiEng.gf7
-rw-r--r--examples/wiki/WikiFin.gf7
-rw-r--r--examples/wiki/WikiFre.gf7
-rw-r--r--examples/wiki/WikiI.gf411
-rw-r--r--examples/wiki/WikiSpa.gf7
-rw-r--r--examples/wiki/WikiSwe.gf7
39 files changed, 4484 insertions, 0 deletions
diff --git a/examples/wiki/Editor.gf b/examples/wiki/Editor.gf
new file mode 100644
index 000000000..ff7c1f5fa
--- /dev/null
+++ b/examples/wiki/Editor.gf
@@ -0,0 +1,68 @@
+
+abstract Editor = {
+
+ flags startcat = Sentence ;
+ coding = utf8 ;
+
+ cat
+ Sentence ;
+ Verb ;
+ Noun ;
+ Adjective ;
+ Determiner ;
+
+ fun
+-- Sentences
+ SingleWordCommand : Verb -> Sentence ;
+ Command : Verb -> Determiner -> Adjective -> Noun -> Sentence ;
+ RandomlyCommand : Verb -> Determiner -> Noun -> Sentence ;
+ Label : Noun -> Sentence ;
+ ErrorMessage : Adjective -> Noun -> Sentence ;
+
+-- Verbs
+ Undo : Verb ;
+ Redo : Verb ;
+ Cut : Verb ;
+ Copy : Verb ;
+ Paste : Verb ;
+ Delete : Verb ;
+ Refine : Verb ;
+ Replace : Verb ;
+ Wrap : Verb ;
+ Select : Verb ;
+ Enter : Verb ;
+ Show : Verb ;
+
+-- Nouns
+ Language : Noun ;
+ Node : Noun ;
+ Tree : Noun ;
+ Refinement : Noun ;
+ Wrapper : Noun ;
+ String : Noun ;
+ Page : Noun ;
+ Danish : Noun ;
+ English : Noun ;
+ Finnish : Noun ;
+ French : Noun ;
+ German : Noun ;
+ Italian : Noun ;
+ Norwegian : Noun ;
+ Russian : Noun ;
+ Spanish : Noun ;
+ Swedish : Noun ;
+
+-- Adjectives
+ NoAdj : Adjective ;
+ Available : Adjective ;
+ Next : Adjective ;
+ Previous : Adjective ;
+
+-- Determiners
+ DefSgDet : Determiner ;
+ DefPlDet : Determiner ;
+ IndefSgDet : Determiner ;
+ IndefPlDet : Determiner ;
+ This : Determiner ;
+
+}
diff --git a/examples/wiki/EditorEng.gf b/examples/wiki/EditorEng.gf
new file mode 100644
index 000000000..11e5efdca
--- /dev/null
+++ b/examples/wiki/EditorEng.gf
@@ -0,0 +1,7 @@
+
+--# -path=.:present:prelude
+
+concrete EditorEng of Editor = EditorI with
+
+ (Syntax = SyntaxEng),
+ (LexEditor = LexEditorEng) ;
diff --git a/examples/wiki/EditorFin.gf b/examples/wiki/EditorFin.gf
new file mode 100644
index 000000000..a56b1fb68
--- /dev/null
+++ b/examples/wiki/EditorFin.gf
@@ -0,0 +1,7 @@
+
+--# -path=.:present:prelude
+
+concrete EditorFin of Editor = EditorI with
+
+ (Syntax = SyntaxFin),
+ (LexEditor = LexEditorFin) ;
diff --git a/examples/wiki/EditorFre.gf b/examples/wiki/EditorFre.gf
new file mode 100644
index 000000000..ed591b29d
--- /dev/null
+++ b/examples/wiki/EditorFre.gf
@@ -0,0 +1,7 @@
+
+--# -path=.:present:prelude
+
+concrete EditorFre of Editor = EditorI with
+
+ (Syntax = SyntaxFre),
+ (LexEditor = LexEditorFre) ;
diff --git a/examples/wiki/EditorI.gf b/examples/wiki/EditorI.gf
new file mode 100644
index 000000000..f5b51baa1
--- /dev/null
+++ b/examples/wiki/EditorI.gf
@@ -0,0 +1,69 @@
+
+--# -path=.=present=prelude
+
+incomplete concrete EditorI of Editor = open Syntax, LexEditor in {
+
+ flags coding = utf8 ;
+
+ lincat
+ Sentence = Utt ;
+ Verb = V ;
+ Noun = N ;
+ Adjective = A ;
+ Determiner = Det ;
+
+ lin
+-- Sentences
+ SingleWordCommand verb = singleWordCommand_Utt verb ;
+ Command verb det adj noun = command_Utt verb det adj noun ;
+ RandomlyCommand verb det noun = randomlyCommand_Utt verb det noun ;
+ Label noun = label_Utt noun ;
+ ErrorMessage adj noun = errorMessage_Utt adj noun ;
+
+-- Verbs
+ Undo = undo_V ;
+ Redo = redo_V ;
+ Cut = cut_V ;
+ Copy = copy_V ;
+ Paste = paste_V ;
+ Delete = delete_V ;
+ Refine = refine_V ;
+ Replace = replace_V ;
+ Wrap = wrap_V ;
+ Select = select_V ;
+ Enter = enter_V ;
+ Show = show_V ;
+
+-- Nouns
+ Language = language_N ;
+ Node = node_N ;
+ Tree = tree_N ;
+ Refinement = refinement_N ;
+ Wrapper = wrapper_N ;
+ String = string_N ;
+ Page = page_N ;
+ Danish = danish_N ;
+ English = english_N ;
+ Finnish = finnish_N ;
+ French = french_N ;
+ German = german_N ;
+ Italian = italian_N ;
+ Norwegian = norwegian_N ;
+ Russian = russian_N ;
+ Spanish = spanish_N ;
+ Swedish = swedish_N ;
+
+-- Adjectives
+ NoAdj = noAdj_A ;
+ Available = available_A ;
+ Next = next_A ;
+ Previous = previous_A ;
+
+-- Determiners
+ DefSgDet = defSg_Det ;
+ DefPlDet = defPl_Det ;
+ IndefSgDet = indefSg_Det ;
+ IndefPlDet = indefPl_Det ;
+ This = this_Det ;
+
+}
diff --git a/examples/wiki/EditorSpa.gf b/examples/wiki/EditorSpa.gf
new file mode 100644
index 000000000..1b442a717
--- /dev/null
+++ b/examples/wiki/EditorSpa.gf
@@ -0,0 +1,7 @@
+
+--# -path=.:present:prelude
+
+concrete EditorSpa of Editor = EditorI with
+
+ (Syntax = SyntaxSpa),
+ (LexEditor = LexEditorSpa) ;
diff --git a/examples/wiki/EditorSwe.gf b/examples/wiki/EditorSwe.gf
new file mode 100644
index 000000000..89a733b1c
--- /dev/null
+++ b/examples/wiki/EditorSwe.gf
@@ -0,0 +1,7 @@
+
+--# -path=.:present:prelude
+
+concrete EditorSwe of Editor = EditorI with
+
+ (Syntax = SyntaxSwe),
+ (LexEditor = LexEditorSwe) ;
diff --git a/examples/wiki/LexEditor.gf b/examples/wiki/LexEditor.gf
new file mode 100644
index 000000000..f9c263e93
--- /dev/null
+++ b/examples/wiki/LexEditor.gf
@@ -0,0 +1,58 @@
+
+interface LexEditor = open Syntax in {
+
+ oper
+-- Sentences
+ singleWordCommand_Utt : V -> Utt ;
+ command_Utt : V -> Det -> A -> N -> Utt ;
+ randomlyCommand_Utt : V -> Det -> N -> Utt ;
+ label_Utt : N -> Utt ;
+ errorMessage_Utt : A -> N -> Utt ;
+
+-- Verbs
+ undo_V : V ;
+ redo_V : V ;
+ cut_V : V ;
+ copy_V : V ;
+ paste_V : V ;
+ delete_V : V ;
+ refine_V : V ;
+ replace_V : V ;
+ wrap_V : V ;
+ select_V : V ;
+ enter_V : V ;
+ show_V : V ;
+
+-- Nouns
+ language_N : N ;
+ node_N : N ;
+ tree_N : N ;
+ refinement_N : N ;
+ wrapper_N : N ;
+ string_N : N ;
+ page_N : N ;
+ danish_N : N ;
+ english_N : N ;
+ finnish_N : N ;
+ french_N : N ;
+ german_N : N ;
+ italian_N : N ;
+ norwegian_N : N ;
+ russian_N : N ;
+ spanish_N : N ;
+ swedish_N : N ;
+
+-- Adjectives
+ noAdj_A : A ;
+ available_A : A ;
+ next_A : A ;
+ previous_A : A ;
+
+-- Determiners
+ defSg_Det : Det ;
+ defPl_Det : Det ;
+ indefSg_Det : Det ;
+ indefPl_Det : Det ;
+ this_Det : Det ;
+
+}
diff --git a/examples/wiki/LexEditorEng.gf b/examples/wiki/LexEditorEng.gf
new file mode 100644
index 000000000..094cb539a
--- /dev/null
+++ b/examples/wiki/LexEditorEng.gf
@@ -0,0 +1,60 @@
+
+instance LexEditorEng of LexEditor = open SyntaxEng, ParadigmsEng in {
+
+ flags coding = utf8 ;
+
+ oper
+-- Sentences
+ singleWordCommand_Utt verb = mkUtt politeImpForm positivePol (mkImp verb) ;
+ command_Utt verb det adj noun = mkUtt politeImpForm positivePol (mkImp (mkVP (mkV2 verb) (mkNP det (mkCN adj noun)))) ;
+ randomlyCommand_Utt verb det noun = mkUtt politeImpForm positivePol (mkImp (mkVP (mkAdV "Randomly") (mkVP (mkV2 verb) (mkNP det noun)))) ;
+ label_Utt noun = mkUtt (mkNP (mkPN noun)) ;
+ errorMessage_Utt adj noun = mkUtt (mkS negativePol (mkCl (mkNP indefPlDet (mkCN adj noun)))) ;
+
+-- Verbs
+ undo_V = mkV "Undo" ;
+ redo_V = mkV "Redo" ;
+ cut_V = mkV "Cut" ;
+ copy_V = mkV "Copy" ;
+ paste_V = mkV "Paste" ;
+ delete_V = mkV "Delete" ;
+ refine_V = mkV "Refine" ;
+ replace_V = mkV "Replace" ;
+ wrap_V = mkV "Wrap" ;
+ select_V = mkV "Select" ;
+ enter_V = mkV "Enter" ;
+ show_V = mkV "Show" ;
+
+-- Nouns
+ language_N = mkN "language" ;
+ node_N = mkN "node" ;
+ tree_N = mkN "tree" ;
+ refinement_N = mkN "refinement" ;
+ wrapper_N = mkN "wrapper" ;
+ string_N = mkN "string" ;
+ page_N = mkN "page" ;
+ danish_N = mkN "Danish" "Danish" ;
+ english_N = mkN "English" "English" ;
+ finnish_N = mkN "Finnish" "Finnish" ;
+ french_N = mkN "French" "French" ;
+ german_N = mkN "German" "German" ;
+ italian_N = mkN "Italian" "Italian" ;
+ norwegian_N = mkN "Norwegian" "Norwegian" ;
+ russian_N = mkN "Russian" "Russian" ;
+ spanish_N = mkN "Spanish" "Spanish" ;
+ swedish_N = mkN "Swedish" "Swedish" ;
+
+-- Adjectives
+ noAdj_A = mkA "" ;
+ available_A = mkA "available" ;
+ next_A = mkA "next" ;
+ previous_A = mkA "previous" ;
+
+-- Determiners
+ defSg_Det = defSgDet ;
+ defPl_Det = defPlDet ;
+ indefSg_Det = indefSgDet ;
+ indefPl_Det = indefPlDet ;
+ this_Det = mkDet this_QuantSg ;
+
+}
diff --git a/examples/wiki/LexEditorFin.gf b/examples/wiki/LexEditorFin.gf
new file mode 100644
index 000000000..21bd9ae00
--- /dev/null
+++ b/examples/wiki/LexEditorFin.gf
@@ -0,0 +1,62 @@
+
+instance LexEditorFin of LexEditor = open SyntaxFin, ParadigmsFin in {
+
+-- flags coding = utf8 ;
+
+ oper mkAdV : Str -> AdV = \s -> {s = s ; lock_AdV = <>} ;
+
+ oper
+-- Sentences
+ singleWordCommand_Utt verb = mkUtt politeImpForm positivePol (mkImp verb) ;
+ command_Utt verb det adj noun = mkUtt politeImpForm positivePol (mkImp (mkVP (mkV2 verb) (mkNP det (mkCN adj noun)))) ;
+ randomlyCommand_Utt verb det noun = mkUtt politeImpForm positivePol (mkImp (mkVP (mkAdV "satunnaisesti") (mkVP (mkV2 verb) (mkNP det noun)))) ;
+ label_Utt noun = mkUtt (mkNP (mkPN noun)) ;
+ errorMessage_Utt adj noun = mkUtt (mkS negativePol (mkCl (mkNP indefPlDet (mkCN adj noun)))) ;
+
+-- Verbs
+ undo_V = mkV "perua" ;
+ redo_V = mkV "toistaa" ;
+ cut_V = mkV "leikata" ;
+ copy_V = mkV "kopioida" ;
+ paste_V = mkV "liimata" ;
+ delete_V = mkV "poistaa" ;
+ refine_V = mkV "hienontaa" ;
+ replace_V = mkV "korvata" ;
+ wrap_V = mkV "kääriä" ;
+ select_V = mkV "valita" ;
+ enter_V = mkV "lisätä" ;
+ show_V = mkV "näyttää" ;
+
+-- Nouns
+ language_N = mkN "kieli" "kieliä" ;
+ node_N = mkN "solmu" ;
+ tree_N = mkN "puu" ;
+ refinement_N = mkN "hienonnus" ;
+ wrapper_N = mkN "kääre" ;
+ string_N = mkN "merkkijono" ;
+ page_N = mkN "sivu" ;
+ danish_N = mkN "tanska" ;
+ english_N = mkN "englanti" ;
+ finnish_N = mkN "suomi" "suomia" ;
+ french_N = mkN "ranska" ;
+ german_N = mkN "saksa" ;
+ italian_N = mkN "italia" ;
+ norwegian_N = mkN "norja" ;
+ russian_N = mkN "venäjä" ;
+ spanish_N = mkN "espanja" ;
+ swedish_N = mkN "ruotsi" ;
+
+-- Adjectives
+ noAdj_A = mkA "" ;
+ available_A = mkA "saatavillaoleva" ;
+ next_A = mkA "seuraava" ;
+ previous_A = mkA "edellinen" ;
+
+-- Determiners
+ defSg_Det = defSgDet ;
+ defPl_Det = defPlDet ;
+ indefSg_Det = indefSgDet ;
+ indefPl_Det = indefPlDet ;
+ this_Det = mkDet this_QuantSg ;
+
+}
diff --git a/examples/wiki/LexEditorFre.gf b/examples/wiki/LexEditorFre.gf
new file mode 100644
index 000000000..519d3d7e8
--- /dev/null
+++ b/examples/wiki/LexEditorFre.gf
@@ -0,0 +1,64 @@
+
+instance LexEditorFre of LexEditor = open SyntaxFre, ParadigmsFre, IrregFre in {
+
+-- flags coding = utf8 ;
+
+ oper ---
+ mkAdV : Str -> AdV = \s -> {s = s ; lock_AdV = <>} ;
+ myMkPN : N -> PN = \n -> {s = n.s ! singular ; g = n.g ; lock_PN = <>} ;
+
+ oper
+-- Sentences
+ singleWordCommand_Utt verb = mkUtt politeImpForm positivePol (mkImp verb) ;
+ command_Utt verb det adj noun = mkUtt politeImpForm positivePol (mkImp (mkVP (mkV2 verb) (mkNP det (mkCN adj noun)))) ;
+ randomlyCommand_Utt verb det noun = mkUtt politeImpForm positivePol (mkImp (mkVP (mkAdV "aléatoirement") (mkVP (mkV2 verb) (mkNP det noun)))) ;
+ label_Utt noun = mkUtt (mkNP (myMkPN noun)) ;
+ errorMessage_Utt adj noun = mkUtt (mkS negativePol (mkCl (mkNP indefPlDet (mkCN adj noun)))) ;
+
+-- Verbs
+ undo_V = défaire_V2 ;
+ redo_V = refaire_V2 ;
+ cut_V = mkV "couper" ;
+ copy_V = mkV "copier" ;
+ paste_V = mkV "coller" ;
+ delete_V = détruire_V2 ;
+ refine_V = mkV "raffiner" ;
+ replace_V = mkV "remplacer" ;
+ wrap_V = mkV "emballer" ;
+ select_V = mkV "selectionner" ;
+ enter_V = mkV "ajouter" ;
+ show_V = mkV "montrer" ;
+
+-- Nouns
+ language_N = mkN "langue" ;
+ node_N = mkN "noeud" ;
+ tree_N = mkN "arbre" masculine ;
+ refinement_N = mkN "raffinement" ;
+ wrapper_N = mkN "emballage" masculine ;
+ string_N = mkN "chaîne" ;
+ page_N = mkN "page" ;
+ danish_N = mkN "danois" ;
+ english_N = mkN "anglais" ;
+ finnish_N = mkN "finnois" ;
+ french_N = mkN "français" ;
+ german_N = mkN "allemand" ;
+ italian_N = mkN "italien" ;
+ norwegian_N = mkN "norvégien" ;
+ russian_N = mkN "russe" ;
+ spanish_N = mkN "espagnol" ;
+ swedish_N = mkN "suédois" ;
+
+-- Adjectives
+ noAdj_A = mkA "" "" "" "" ;
+ available_A = mkA "disponible" ;
+ next_A = mkA "prochaine" ;
+ previous_A = mkA "précédent" ;
+
+-- Determiners
+ defSg_Det = defSgDet ;
+ defPl_Det = defPlDet ;
+ indefSg_Det = indefSgDet ;
+ indefPl_Det = indefPlDet ;
+ this_Det = mkDet this_QuantSg ;
+
+}
diff --git a/examples/wiki/LexEditorSpa.gf b/examples/wiki/LexEditorSpa.gf
new file mode 100644
index 000000000..1e0c8793d
--- /dev/null
+++ b/examples/wiki/LexEditorSpa.gf
@@ -0,0 +1,67 @@
+
+instance LexEditorSpa of LexEditor = open SyntaxSpa, IrregSpa, ParadigmsSpa in {
+
+ flags coding = utf8 ;
+
+ oper
+-- Sentences
+ singleWordCommand_Utt verb = mkUtt (mkVP verb) ;
+ command_Utt verb det adj noun = mkUtt (mkVP (mkV2 verb) (mkNP det (mkCN adj noun))) ;
+ randomlyCommand_Utt verb det noun = mkUtt (mkVP (mkAdV "aleatoriamente") (mkVP (mkV2 verb) (mkNP det noun))) ;
+ label_Utt noun = mkUtt (mkNP (myMkPN noun)) ;
+ errorMessage_Utt adj noun = mkUtt (mkS negativePol (mkCl (mkNP indefPlDet (mkCN adj noun)))) ;
+
+-- Verbs
+-- undo_V = deshacer_V ;
+-- redo_V = rehacer_V ;
+ undo_V = mkV "Deshacer" ;
+ redo_V = mkV "Rehacer" ;
+ cut_V = mkV "Cortar" ;
+ copy_V = mkV "Copiar" ;
+ paste_V = mkV "Pegar" ;
+ delete_V = mkV "Borrar" ;
+ refine_V = mkV "Refinar" ;
+ replace_V = mkV "Reemplazar" ;
+-- wrap_V = envolver_V ;
+ wrap_V = mkV "Envolver" ;
+ select_V = mkV "Seleccionar" ;
+ enter_V = mkV "Introducir" ;
+ show_V = mkV "Mostrar" ;
+
+-- Nouns
+ language_N = mkN "lenguaje" ;
+ node_N = mkN "nodo" ;
+ tree_N = mkN "árbol" ;
+ refinement_N = mkN "refinamiento" ;
+ wrapper_N = mkN "envoltura" ;
+ string_N = compN (mkN "cadena") ("de" ++ "caracteres") ;
+ page_N = mkN "página" ;
+ danish_N = mkN "Danés" ;
+ english_N = mkN "Inglés" ;
+ finnish_N = mkN "Finlandés" ;
+ french_N = mkN "Francés" ;
+ german_N = mkN "Alemán" ;
+ italian_N = mkN "Italiano" ;
+ norwegian_N = mkN "Noruego" ;
+ russian_N = mkN "Ruso" ;
+ spanish_N = mkN "Español" ;
+ swedish_N = mkN "Sueco" ;
+
+-- Adjectives
+ noAdj_A = mkA "" ;
+ available_A = mkA "disponible" ;
+ next_A = mkA "siguiente" ;
+ previous_A = mkA "anterior" ;
+
+-- Determiners
+ defSg_Det = defSgDet ;
+ defPl_Det = defPlDet ;
+ indefSg_Det = indefSgDet ;
+ indefPl_Det = indefPlDet ;
+ this_Det = mkDet this_QuantSg ;
+
+-- Functions
+ myMkPN : N -> PN =
+ \n -> {s = n.s ! singular ; g = n.g ; lock_PN = <>} ;
+
+}
diff --git a/examples/wiki/LexEditorSwe.gf b/examples/wiki/LexEditorSwe.gf
new file mode 100644
index 000000000..f414dbe3d
--- /dev/null
+++ b/examples/wiki/LexEditorSwe.gf
@@ -0,0 +1,60 @@
+
+instance LexEditorSwe of LexEditor = open SyntaxSwe, IrregSwe, ParadigmsSwe in {
+
+ flags coding = utf8 ;
+
+ oper
+-- Sentences
+ singleWordCommand_Utt verb = mkUtt politeImpForm positivePol (mkImp verb) ;
+ command_Utt verb det adj noun = mkUtt politeImpForm positivePol (mkImp (mkVP (mkV2 verb) (mkNP det (mkCN adj noun)))) ;
+ randomlyCommand_Utt verb det noun = mkUtt politeImpForm positivePol (mkImp (mkVP (mkAdV "slumpmässigt") (mkVP (mkV2 verb) (mkNP det noun)))) ;
+ label_Utt noun = mkUtt (mkNP (nounPN noun)) ;
+ errorMessage_Utt adj noun = mkUtt (mkS negativePol (mkCl (mkNP indefPlDet (mkCN adj noun)))) ;
+
+-- Verbs
+ undo_V = mkV "Ã…ngrar" ;
+ redo_V = mkV "Upprepar" ;
+ cut_V = mkV (mkV "Klipper") "ut" ;
+ copy_V = mkV "Kopierar" ;
+ paste_V = mkV (mkV "Klistrar") "in" ;
+ delete_V = mkV "Raderar" ;
+ refine_V = mkV "Raffinerar" ; -- FIX!!!
+ replace_V = mkV "Ersätter" ;
+ wrap_V = mkV "Förpackar" ; -- FIX!!!
+ select_V = mkV "Väljer" ;
+ enter_V = mkV "Skriver" ;
+ show_V = mkV "Visar" ;
+
+-- Nouns
+ language_N = mkN "språk" "språket" "språk" "språken" ;
+ node_N = mkN "nod" ;
+ tree_N = mkN "träd" "trädet" "träd" "träden" ;
+ refinement_N = mkN "raffinemang" ;
+ wrapper_N = mkN "förpackning" ;
+ string_N = mkN "sträng" ;
+ page_N = mkN "sida" ;
+ danish_N = mkN "Danska" ;
+ english_N = mkN "Engelska" ;
+ finnish_N = mkN "Finska" ;
+ french_N = mkN "Franska" ;
+ german_N = mkN "Tyska" ;
+ italian_N = mkN "Italienska" ;
+ norwegian_N = mkN "Norska" ;
+ russian_N = mkN "Ryska" ;
+ spanish_N = mkN "Spanska" ;
+ swedish_N = mkN "Svenska" ;
+
+-- Adjectives
+ noAdj_A = mkA "" ;
+ available_A = mkA "tillgänglig" ;
+ next_A = mkA "näst" ;
+ previous_A = mkA "föregående" ;
+
+-- Determiners
+ defSg_Det = defSgDet ;
+ defPl_Det = defPlDet ;
+ indefSg_Det = indefSgDet ;
+ indefPl_Det = indefPlDet ;
+ this_Det = mkDet this_QuantSg ;
+
+}
diff --git a/examples/wiki/LexRestaurant.gf b/examples/wiki/LexRestaurant.gf
new file mode 100644
index 000000000..50436e079
--- /dev/null
+++ b/examples/wiki/LexRestaurant.gf
@@ -0,0 +1,66 @@
+
+interface LexRestaurant = open Syntax in {
+
+ oper
+ restaurant_N : N ;
+ food_N : N ;
+ staff_N : N ;
+ wine_N : N ;
+ pizza_N : N ;
+ cheese_N : N ;
+ fish_N : N ;
+ dish_N : N ;
+ drink_N : N ;
+ dessert_N : N ;
+
+ recommend_V2 : V2 ;
+
+ chinese_A : A ;
+ french_A : A ;
+ italian_A : A ;
+ japanese_A : A ;
+ mexican_A : A ;
+ thai_A : A ;
+ expensive_A : A ;
+ cheap_A : A ;
+ nice_A : A ;
+ clean_A : A ;
+ dirty_A : A ;
+ fresh_A : A ;
+ delicious_A : A ;
+ fatty_A : A ;
+ tasteless_A : A ;
+ authentic_A : A ;
+ efficient_A : A ;
+ courteous_A : A ;
+ helpful_A : A ;
+ friendly_A : A ;
+ personal_A : A ;
+ warm_A : A ;
+ prompt_A : A ;
+ attentive_A : A ;
+ inefficient_A : A ;
+ rude_A : A ;
+ impersonal_A : A ;
+ slow_A : A ;
+ unattentive_A : A ;
+ good_A : A ;
+ great_A : A ;
+ excellent_A : A ;
+ bad_A : A ;
+ awful_A : A ;
+ horrible_A : A ;
+ disgusting_A : A ;
+ boring_A : A ;
+ diverse_A : A ;
+
+ noAdv_AdV : AdV ;
+ strongly_AdV : AdV ;
+ completely_AdV : AdV ;
+ certainly_AdV : AdV ;
+ honestly_AdV : AdV ;
+ really_AdV : AdV ;
+ reluctantly_AdV : AdV ;
+ hardly_AdV : AdV ;
+
+}
diff --git a/examples/wiki/LexRestaurantEng.gf b/examples/wiki/LexRestaurantEng.gf
new file mode 100644
index 000000000..944484cb5
--- /dev/null
+++ b/examples/wiki/LexRestaurantEng.gf
@@ -0,0 +1,68 @@
+
+instance LexRestaurantEng of LexRestaurant = open SyntaxEng,GrammarEng,ParadigmsEng in {
+
+ oper
+ restaurant_N = mkN "restaurant" ;
+ food_N = mkN "food" ;
+ staff_N = variants {mkN "staff" ; mkN "service"} ;
+ wine_N = mkN "wine" ;
+ pizza_N = mkN "pizza" ;
+ cheese_N = mkN "cheese" ;
+ fish_N = mkN "fish" "fish" ;
+ dish_N = mkN "dish" ;
+ drink_N = mkN "drink" ;
+ dessert_N = mkN "dessert" ;
+
+ recommend_V2 = mkV2 (mkV "recommend") ;
+
+ chinese_A = mkA "chinese" ;
+ french_A = mkA "french" ;
+ italian_A = mkA "italian" ;
+ japanese_A = mkA "japanese" ;
+ mexican_A = mkA "mexican" ;
+ thai_A = mkA "thai" ;
+ expensive_A = mkA "expensive" ;
+ cheap_A = mkA "cheap" ;
+ nice_A = mkA "nice" ;
+ clean_A = mkA "clean" ;
+ dirty_A = mkA "dirty" ;
+ fresh_A = mkA "fresh" ;
+ delicious_A = variants {mkA "delicious"; mkA "exquisit"; mkA "tasty"} ;
+ fatty_A = mkA "fatty" ;
+ tasteless_A = variants {mkA "tasteless"; mkA "flavorless"; mkA "bland"} ;
+ authentic_A = mkA "authentic" ;
+ efficient_A = mkA "efficient" ;
+ courteous_A = mkA "courteous" ;
+ helpful_A = mkA "helpful" ;
+ friendly_A = mkA "friendly" ;
+ personal_A = mkA "personal" ;
+ warm_A = mkA "warm" ;
+ prompt_A = mkA "prompt" ;
+ attentive_A = mkA "attentive" ;
+ inefficient_A = variants {mkA "inefficient" ; mkA "incompetent"} ;
+ rude_A = variants {mkA "rude" ; mkA "discourteous"} ;
+ impersonal_A = variants {mkA "impersonal" ; mkA "cold"} ;
+ slow_A = mkA "slow" ;
+ unattentive_A = mkA "unattentive" ;
+ good_A = mkA "good" "better" "best" "well" ;
+ great_A = mkA "great" ;
+ excellent_A = mkA "excellent" ;
+ bad_A = mkA "bad" ;
+ awful_A = mkA "awful" ;
+ horrible_A = variants {mkA "horrible" ; mkA "dreadful"} ;
+ disgusting_A = variants {mkA "disgusting"; mkA "gross"} ;
+ boring_A = mkA "boring" ;
+ diverse_A = mkA "diverse" ;
+
+ noAdv_AdV = mkAdV "" ;
+ strongly_AdV = mkAdV "strongly" ;
+ completely_AdV = mkAdV (variants {"completely"; "totally"; "definitely"; "absolutely"}) ;
+ certainly_AdV = mkAdV "certainly" ;
+ honestly_AdV = mkAdV "honestly" ;
+ really_AdV = mkAdV (variants {"really"; "truly"}) ;
+ reluctantly_AdV = mkAdV "reluctantly" ;
+ hardly_AdV = mkAdV "hardly" ;
+
+-- but_Conj = ss "but" ** {n = Pl} ;
+
+}
diff --git a/examples/wiki/LexRestaurantFin.gf b/examples/wiki/LexRestaurantFin.gf
new file mode 100644
index 000000000..0e5853797
--- /dev/null
+++ b/examples/wiki/LexRestaurantFin.gf
@@ -0,0 +1,70 @@
+
+instance LexRestaurantFin of LexRestaurant = open SyntaxFin,GrammarFin,ParadigmsFin in {
+
+ oper
+ restaurant_N = mkN "ravintola" ;
+ food_N = mkN "ruoka" ;
+ staff_N = mkN "henkilökunta" ;
+ wine_N = mkN "viini" ;
+ pizza_N = mkN "pizza" ;
+ cheese_N = mkN "juusto" ;
+ fish_N = mkN "kala" ;
+ dish_N = mkN "ruokalaji" ;
+ drink_N = mkN "juoma" ;
+ dessert_N = mkN "jälkiruoka" ;
+
+ recommend_V2 = mkV2 (mkV "suositella") ;
+
+ chinese_A = mkA "kiinalainen" ;
+ french_A = mkA "ranskalainen" ;
+ italian_A = mkA "italialainen" ;
+ japanese_A = mkA "japanilainen" ;
+ mexican_A = mkA "meksikolainen" ;
+ thai_A = mkA "thaimaalainen" ;
+ expensive_A = mkA "kallis" ;
+ cheap_A = mkA "halpa" ;
+ nice_A = mkA "mukava" ;
+ clean_A = mkA "siisti" ;
+ dirty_A = mkA "likainen" ;
+ fresh_A = mkA "raikas" ;
+ delicious_A = mkA "herkullinen" ;
+ fatty_A = mkA "rasvainen" ;
+ tasteless_A = mkA "mauton";
+ authentic_A = mkA "autenttinen" ;
+ efficient_A = mkA "tehokas" ;
+ courteous_A = mkA "kohtelias" ;
+ helpful_A = mkA "avulias" ;
+ friendly_A = mkA "ystävällinen" ;
+ personal_A = mkA "persoonallinen" ;
+ warm_A = mkA "lämmin" ;
+ prompt_A = mkA "nopea" ;
+ attentive_A = mkA "valpas" ;
+ inefficient_A = mkA "tehoton" ;
+ rude_A = mkA "tyly" ;
+ impersonal_A = mkA "persoonaton" ;
+ slow_A = mkA "hidas" ;
+ unattentive_A = mkA "unelias" ;
+ good_A = mkA "hyvä" ;
+ great_A = mkA "upea" ;
+ excellent_A = mkA "erinomainen" ;
+ bad_A = mkA "huono" ;
+ awful_A = mkA "kamala" ;
+ horrible_A = mkA "kauhea" ;
+ disgusting_A = mkA "vastenmielinen" ;
+ boring_A = mkA "tylsä" ;
+ diverse_A = mkA "erilainen" ;
+
+ noAdv_AdV = mkAdV "" ;
+ strongly_AdV = mkAdV "vahvasti" ;
+ completely_AdV = mkAdV "täysin";
+ certainly_AdV = mkAdV "varmasti" ;
+ honestly_AdV = mkAdV "vilpittömästi" ;
+ really_AdV = mkAdV "todella" ;
+ reluctantly_AdV = mkAdV "vastahakoisesti" ;
+ hardly_AdV = mkAdV "tuskin" ;
+
+-- but_Conj = ss "vaan" ** {n = Pl} ;
+
+oper mkAdV : Str -> AdV = \s -> {s = s ; lock_AdV = <>} ;
+
+}
diff --git a/examples/wiki/LexRestaurantFre.gf b/examples/wiki/LexRestaurantFre.gf
new file mode 100644
index 000000000..fa3623748
--- /dev/null
+++ b/examples/wiki/LexRestaurantFre.gf
@@ -0,0 +1,70 @@
+
+instance LexRestaurantFre of LexRestaurant = open SyntaxFre,GrammarFre,ParadigmsFre in {
+
+ oper
+ restaurant_N = mkN "restaurant" ;
+ food_N = mkN "manger" ;
+ staff_N = mkN "personnel" ;
+ wine_N = mkN "vin" ;
+ pizza_N = mkN "pizza" feminine ;
+ cheese_N = mkN "fromage" masculine ;
+ fish_N = mkN "poisson" ;
+ dish_N = mkN "plat" ;
+ drink_N = mkN "boisson" feminine ;
+ dessert_N = mkN "dessert" ;
+
+ recommend_V2 = mkV2 (mkV "recommander") ;
+
+ chinese_A = mkA "chinois" ;
+ french_A = mkA "français" ;
+ italian_A = mkA "italien" ;
+ japanese_A = mkA "japonais" ;
+ mexican_A = mkA "mexicain" ;
+ thai_A = mkA "thaïlandais" ;
+ expensive_A = mkA "cher" ;
+ cheap_A = mkA ["bon marché"] ["bon marché"] ["bon marché"] ["bon marché"] ;
+ nice_A = mkA "agréable" ;
+ clean_A = mkA "propre" ;
+ dirty_A = mkA "sale" ;
+ fresh_A = mkA "frais" "fraîche" "frais" "fraîches" ;
+ delicious_A = mkA "délicieux" ;
+ fatty_A = mkA "gras" "grasse" "gras" "grasses" ;
+ tasteless_A = mkA "fade";
+ authentic_A = mkA "authentique" ;
+ efficient_A = mkA "efficace" ;
+ courteous_A = mkA "poli" ;
+ helpful_A = mkA "obligeant" ;
+ friendly_A = mkA "amical" ;
+ personal_A = mkA "personnel" ;
+ warm_A = mkA "chaud" ;
+ prompt_A = mkA "rapide" ;
+ attentive_A = mkA "attentif" ;
+ inefficient_A = mkA "inefficace" ;
+ rude_A = mkA "rude" ;
+ impersonal_A = mkA "impersonnel" ;
+ slow_A = mkA "lent" ;
+ unattentive_A = mkA "inattentif" ;
+ good_A = mkA "bon" "bonne" ;
+ great_A = mkA "magnifique" ;
+ excellent_A = mkA "excellent" ;
+ bad_A = mkA "mauveux" ;
+ awful_A = mkA "affreux" ;
+ horrible_A = mkA "horrible" ;
+ disgusting_A = mkA "dégoûtant" ;
+ boring_A = mkA "ennuyeux" ;
+ diverse_A = mkA "divers" ;
+
+ noAdv_AdV = mkAdV "" ;
+ strongly_AdV = mkAdV "fortement" ;
+ completely_AdV = mkAdV "complètement";
+ certainly_AdV = mkAdV "certainement" ;
+ honestly_AdV = mkAdV "honnêtement" ;
+ really_AdV = mkAdV "vraiment" ;
+ reluctantly_AdV = mkAdV ["avec réticence"] ;
+ hardly_AdV = mkAdV ["à peine"] ;
+
+-- but_Conj = ss "mais" ** {n = Pl} ;
+
+oper mkAdV : Str -> AdV = \s -> {s = s ; lock_AdV = <>} ;
+
+}
diff --git a/examples/wiki/LexRestaurantSpa.gf b/examples/wiki/LexRestaurantSpa.gf
new file mode 100644
index 000000000..a7be39e0c
--- /dev/null
+++ b/examples/wiki/LexRestaurantSpa.gf
@@ -0,0 +1,68 @@
+
+instance LexRestaurantSpa of LexRestaurant = open SyntaxSpa,GrammarSpa,ParadigmsSpa in {
+
+ flags encoding = utf8 ;
+
+ oper
+ restaurant_N = mkN "restaurante" ;
+ food_N = mkN "comida" ;
+ staff_N = variants {mkN "personal" ; mkN "servicio"} ;
+ wine_N = mkN "vino" ;
+ pizza_N = mkN "pizza" ;
+ cheese_N = mkN "queso" ;
+ fish_N = mkN "pescado" ;
+ dish_N = mkN "platillo" ;
+ drink_N = mkN "bebida" ;
+ dessert_N = mkN "postre" ;
+
+ recommend_V2 = mkV2 (mkV "recomendar" "recomiendo") ;
+
+ chinese_A = mkA "chino" ;
+ french_A = mkA "francés" "francesa" "franceses" "francesas" "francesamente";
+ italian_A = mkA "italiano" ;
+ japanese_A = mkA "japonés" ;
+ mexican_A = mkA "mexicano" ;
+ thai_A = mkA "tailandés" "tailandesa" "tailandeses" "tailandesas" "tailandesamente";
+ expensive_A = mkA "caro" ;
+ cheap_A = mkA "barato" ;
+ nice_A = mkA "agradable" ;
+ clean_A = mkA "limpio" ;
+ dirty_A = mkA "sucio" ;
+ fresh_A = mkA "fresco" ;
+ delicious_A = variants {mkA "delicioso"; mkA "exquisito"; mkA "sabroso"} ;
+ fatty_A = mkA "grasoso" ;
+ tasteless_A = variants {mkA "insípido"; mkA "insulso"} ;
+ authentic_A = mkA "auténtico" ;
+ efficient_A = mkA "eficiente" ;
+ courteous_A = mkA "cortés" ;
+ helpful_A = mkA "servicial" ;
+ friendly_A = mkA "amigable" ;
+ personal_A = mkA "personal" ;
+ warm_A = mkA "cálido" ;
+ prompt_A = mkA "rápido" ;
+ attentive_A = mkA "atento" ;
+ inefficient_A = variants {mkA "ineficiente" ; mkA "incompetente"} ;
+ rude_A = variants {mkA "grosero" ; mkA "descortés"} ;
+ impersonal_A = variants {mkA "impersonal" ; mkA "frío"} ;
+ slow_A = mkA "lento" ;
+ unattentive_A = mkA "desatento" ;
+ good_A = mkA "bueno" ;
+ great_A = mkA "magnífico" ;
+ excellent_A = mkA "excelente" ;
+ bad_A = mkA "malo" ;
+ awful_A = mkA "terrible" ;
+ horrible_A = variants {mkA "horrible" ; mkA "espantoso"} ;
+ disgusting_A = mkA "repugnante" ;
+ boring_A = mkA "aburrido" ;
+ diverse_A = mkA "variado" ;
+
+ noAdv_AdV = mkAdV "" ;
+ strongly_AdV = mkAdV "enfáticamente" ;
+ completely_AdV = mkAdV (variants {"completamente"; "totalmente"; "definitivamente"; "absolutamente"}) ;
+ certainly_AdV = mkAdV "ciertamente" ;
+ honestly_AdV = mkAdV "honestamente" ;
+ really_AdV = mkAdV (variants {"realmente"; "verdaderamente"}) ;
+ reluctantly_AdV = mkAdV ("a" ++ "regañadientes") ;
+ hardly_AdV = mkAdV "difícilmente" ;
+
+}
diff --git a/examples/wiki/LexRestaurantSwe.gf b/examples/wiki/LexRestaurantSwe.gf
new file mode 100644
index 000000000..695c78e28
--- /dev/null
+++ b/examples/wiki/LexRestaurantSwe.gf
@@ -0,0 +1,68 @@
+
+instance LexRestaurantSwe of LexRestaurant = open SyntaxSwe,GrammarSwe,ParadigmsSwe in {
+
+ flags encoding = utf8 ;
+
+ oper
+ restaurant_N = mkN "restaurang" ;
+ food_N = mkN "mat" ;
+ staff_N = variants {mkN "personal" ; mkN "betjäning"} ;
+ wine_N = mkN "vin" "vinet" "viner" "vinerna" ;
+ pizza_N = mkN "pizza" ;
+ cheese_N = mkN "ost" ;
+ fish_N = mkN "fisk" ;
+ dish_N = mkN "rätt" "rätten" "rätter" "rätterna" ;
+ drink_N = mkN "dryck" "drycken" "drycker" "dryckerna" ;
+ dessert_N = mkN "dessert" "desserten" "desserter" "desserterna" ;
+
+ recommend_V2 = mkV2 (mkV "rekommenderar") ;
+
+ chinese_A = mkA "kinesisk" ;
+ french_A = mkA "fransk" ;
+ italian_A = mkA "italiensk" ;
+ japanese_A = mkA "japansk" ;
+ mexican_A = mkA "mexikansk" ;
+ thai_A = mkA "thailändsk" ;
+ expensive_A = mkA "dyr" ;
+ cheap_A = mkA "billig" ;
+ nice_A = mkA "fin" ;
+ clean_A = mkA "ren" ;
+ dirty_A = mkA "smutsig" ;
+ fresh_A = mkA "färsk" ;
+ delicious_A = variants {mkA "läcker" "läckert" "läckra" "läckra" "läckrast" ; mkA "smaklig"} ;
+ fatty_A = mkA "fet" ;
+ tasteless_A = mkA "smaklös" ;
+ authentic_A = mkA "autentisk" ;
+ efficient_A = mkA "effektiv" ;
+ courteous_A = variants {mkA "artig"; mkA "hövlig"} ;
+ helpful_A = variants {mkA "hjälpsam" "hjälpsamt" "hjälpsamma" "" "" ; mkA "tjänstvillig"} ;
+ friendly_A = mkA "vänlig" ;
+ personal_A = mkA "personlig" ;
+ warm_A = mkA "varm" ;
+ prompt_A = mkA "snabb" ;
+ attentive_A = mkA "uppmärksam" "uppmärksamt" "uppmärksamma" "" "" ;
+ inefficient_A = variants {mkA "ineffektiv" ; mkA "inkompetent"} ;
+ rude_A = variants {mkA "oartig" "rått" ; mkA "otrevlig"} ;
+ impersonal_A = variants {mkA "opersonlig" ; mkA "kall"} ;
+ slow_A = mkA "långsam" "långsamt" "långsamma" "" "" ;
+ unattentive_A = mkA "oartig" ;
+ good_A = mkA "god" "gott" "goda" "bättre" "bäst" ;
+ great_A = mkA "fantastisk" ;
+ excellent_A = mkA "utmärkt" "utmärkt" ;
+ bad_A = mkA "dålig" ;
+ awful_A = mkA "hemsk" ;
+ horrible_A = mkA "hemsk" ;
+ disgusting_A = mkA "äcklig" ;
+ boring_A = mkA "tråkig" ;
+ diverse_A = mkA "varierad" "varierat" "varierade" "" "" ;
+
+ noAdv_AdV = mkAdV "" ;
+ strongly_AdV = mkAdV "absolut" ;
+ completely_AdV = mkAdV (variants {"helt"; "absolut"}) ;
+ certainly_AdV = mkAdV "definitivt" ;
+ honestly_AdV = mkAdV ["helt ärligt"] ;
+ really_AdV = mkAdV (variants {"verkligen"; "sannerligen"}) ;
+ reluctantly_AdV = mkAdV "motvilligt" ;
+ hardly_AdV = mkAdV "knappast" ;
+
+}
diff --git a/examples/wiki/LexWiki.gf b/examples/wiki/LexWiki.gf
new file mode 100644
index 000000000..2b7efc58e
--- /dev/null
+++ b/examples/wiki/LexWiki.gf
@@ -0,0 +1,399 @@
+
+interface LexWiki = open Syntax in {
+
+ oper
+-- Sentences
+ singleWordCommand_Utt : V -> Utt ;
+ command_Utt : V -> Det -> N -> Utt ;
+ randomlyCommand_Utt : V -> Det -> N -> Utt ;
+ label_Utt : N -> Utt ;
+ countryName_Utt : PN -> Utt;
+ cuisineName_Utt : PN -> Utt;
+
+-- Verbs
+ cancel_V : V ;
+ select_V : V ;
+ edit_V : V ;
+ save_V : V ;
+ add_V : V ;
+ undo_V : V ;
+ redo_V : V ;
+ cut_V : V ;
+ copy_V : V ;
+ paste_V : V ;
+ delete_V : V ;
+ refine_V : V ;
+ replace_V : V ;
+ wrap_V : V ;
+
+-- Nouns
+-- Labels
+-- Information
+ information_N : N ;
+ name_N : N ;
+ address_N : N ;
+ city_N : N ;
+ state_N : N ;
+ postalcode_N : N ;
+ country_N : N ;
+ phone_N : N ;
+ cuisine_N : N ;
+ language_N : N ;
+
+-- Misc
+ page_N : N ;
+ index_N : N ;
+ review_N : N ;
+ restaurant_N : N ;
+ food_N : N ;
+ service_N : N ;
+ node_N : N ;
+ tree_N : N ;
+
+-- Proper Nouns
+-- Countries
+ Andorra_PN : PN ;
+ UnitedArabEmirates_PN : PN ;
+ Afghanistan_PN : PN ;
+ AntiguaAndBarbuda_PN : PN ;
+ Anguilla_PN : PN ;
+ Albania_PN : PN ;
+ Armenia_PN : PN ;
+ NetherlandsAntilles_PN : PN ;
+ Angola_PN : PN ;
+ Antarctica_PN : PN ;
+ Argentina_PN : PN ;
+ AmericanSamoa_PN : PN ;
+ Austria_PN : PN ;
+ Australia_PN : PN ;
+ Aruba_PN : PN ;
+ AlandIslands_PN : PN ;
+ Azerbaijan_PN : PN ;
+ BosniaAndHerzegovina_PN : PN ;
+ Barbados_PN : PN ;
+ Bangladesh_PN : PN ;
+ Belgium_PN : PN ;
+ BurkinaFaso_PN : PN ;
+ Bulgaria_PN : PN ;
+ Bahrain_PN : PN ;
+ Burundi_PN : PN ;
+ Benin_PN : PN ;
+ Bermuda_PN : PN ;
+ Brunei_PN : PN ;
+ Bolivia_PN : PN ;
+ Brazil_PN : PN ;
+ Bahamas_PN : PN ;
+ Bhutan_PN : PN ;
+ BouvetIsland_PN : PN ;
+ Botswana_PN : PN ;
+ Belarus_PN : PN ;
+ Belize_PN : PN ;
+ Canada_PN : PN ;
+ CocosIslands_PN : PN ;
+ CongoDemocraticRepublicofthe_PN : PN ;
+ CentralAfricanRepublic_PN : PN ;
+ Congo_PN : PN ;
+ Switzerland_PN : PN ;
+ CotedIvoire_PN : PN ;
+ CookIslands_PN : PN ;
+ Chile_PN : PN ;
+ Cameroon_PN : PN ;
+ China_PN : PN ;
+ Colombia_PN : PN ;
+ CostaRica_PN : PN ;
+ SerbiaAndMontenegro_PN : PN ;
+ Cuba_PN : PN ;
+ CapeVerde_PN : PN ;
+ ChristmasIsland_PN : PN ;
+ Cyprus_PN : PN ;
+ CzechRepublic_PN : PN ;
+ Germany_PN : PN ;
+ Djibouti_PN : PN ;
+ Denmark_PN : PN ;
+ Dominica_PN : PN ;
+ DominicanRepublic_PN : PN ;
+ Algeria_PN : PN ;
+ Ecuador_PN : PN ;
+ Estonia_PN : PN ;
+ Egypt_PN : PN ;
+ WesternSahara_PN : PN ;
+ Eritrea_PN : PN ;
+ Spain_PN : PN ;
+ Ethiopia_PN : PN ;
+ Finland_PN : PN ;
+ Fiji_PN : PN ;
+ FalklandIslands_PN : PN ;
+ Micronesia_PN : PN ;
+ FaroeIslands_PN : PN ;
+ France_PN : PN ;
+ Gabon_PN : PN ;
+ UnitedKingdom_PN : PN ;
+ Grenada_PN : PN ;
+ Georgia_PN : PN ;
+ FrenchGuiana_PN : PN ;
+ Guernsey_PN : PN ;
+ Ghana_PN : PN ;
+ Gibraltar_PN : PN ;
+ Greenland_PN : PN ;
+ Gambia_PN : PN ;
+ Guinea_PN : PN ;
+ Guadeloupe_PN : PN ;
+ EquatorialGuinea_PN : PN ;
+ Greece_PN : PN ;
+ SouthGeorgiaAndTheSouthSandwichIslands_PN : PN ;
+ Guatemala_PN : PN ;
+ Guam_PN : PN ;
+ GuineaBissau_PN : PN ;
+ Guyana_PN : PN ;
+ HongKong_PN : PN ;
+ HeardIslandAndMcDonaldIslands_PN : PN ;
+ Honduras_PN : PN ;
+ Croatia_PN : PN ;
+ Haiti_PN : PN ;
+ Hungary_PN : PN ;
+ Indonesia_PN : PN ;
+ Ireland_PN : PN ;
+ Israel_PN : PN ;
+ IsleofMan_PN : PN ;
+ India_PN : PN ;
+ BritishIndianOceanTerritory_PN : PN ;
+ Iraq_PN : PN ;
+ Iran_PN : PN ;
+ Iceland_PN : PN ;
+ Italy_PN : PN ;
+ Jersey_PN : PN ;
+ Jamaica_PN : PN ;
+ Jordan_PN : PN ;
+ Japan_PN : PN ;
+ Kenya_PN : PN ;
+ Kyrgyzstan_PN : PN ;
+ Cambodia_PN : PN ;
+ Kiribati_PN : PN ;
+ Comoros_PN : PN ;
+ SaintKittsAndNevis_PN : PN ;
+ NorthKorea_PN : PN ;
+ SouthKorea_PN : PN ;
+ Kuwait_PN : PN ;
+ CaymanIslands_PN : PN ;
+ Kazakhstan_PN : PN ;
+ Laos_PN : PN ;
+ Lebanon_PN : PN ;
+ SaintLucia_PN : PN ;
+ Liechtenstein_PN : PN ;
+ SriLanka_PN : PN ;
+ Liberia_PN : PN ;
+ Lesotho_PN : PN ;
+ Lithuania_PN : PN ;
+ Luxembourg_PN : PN ;
+ Latvia_PN : PN ;
+ Libya_PN : PN ;
+ Morocco_PN : PN ;
+ Monaco_PN : PN ;
+ Moldova_PN : PN ;
+ Montenegro_PN : PN ;
+ Madagascar_PN : PN ;
+ MarshallIslands_PN : PN ;
+ Macedonia_PN : PN ;
+ Mali_PN : PN ;
+ Myanmar_PN : PN ;
+ Mongolia_PN : PN ;
+ Macao_PN : PN ;
+ NorthernMarianaIslands_PN : PN ;
+ Martinique_PN : PN ;
+ Mauritania_PN : PN ;
+ Montserrat_PN : PN ;
+ Malta_PN : PN ;
+ Mauritius_PN : PN ;
+ Maldives_PN : PN ;
+ Malawi_PN : PN ;
+ Mexico_PN : PN ;
+ Malaysia_PN : PN ;
+ Mozambique_PN : PN ;
+ Namibia_PN : PN ;
+ NewCaledonia_PN : PN ;
+ Niger_PN : PN ;
+ NorfolkIsland_PN : PN ;
+ Nigeria_PN : PN ;
+ Nicaragua_PN : PN ;
+ Netherlands_PN : PN ;
+ Norway_PN : PN ;
+ Nepal_PN : PN ;
+ Nauru_PN : PN ;
+ Niue_PN : PN ;
+ NewZealand_PN : PN ;
+ Oman_PN : PN ;
+ Panama_PN : PN ;
+ Peru_PN : PN ;
+ FrenchPolynesia_PN : PN ;
+ PapuaNewGuinea_PN : PN ;
+ Philippines_PN : PN ;
+ Pakistan_PN : PN ;
+ Poland_PN : PN ;
+ SaintPierreAndMiquelon_PN : PN ;
+ Pitcairn_PN : PN ;
+ PuertoRico_PN : PN ;
+ PalestinianTerritory_PN : PN ;
+ Portugal_PN : PN ;
+ Palau_PN : PN ;
+ Paraguay_PN : PN ;
+ Qatar_PN : PN ;
+ Reunion_PN : PN ;
+ Romania_PN : PN ;
+ Serbia_PN : PN ;
+ Russia_PN : PN ;
+ Rwanda_PN : PN ;
+ SaudiArabia_PN : PN ;
+ SolomonIslands_PN : PN ;
+ Seychelles_PN : PN ;
+ Sudan_PN : PN ;
+ Sweden_PN : PN ;
+ Singapore_PN : PN ;
+ SaintHelena_PN : PN ;
+ Slovenia_PN : PN ;
+ SvalbardAndJanMayen_PN : PN ;
+ Slovakia_PN : PN ;
+ SierraLeone_PN : PN ;
+ SanMarino_PN : PN ;
+ Senegal_PN : PN ;
+ Somalia_PN : PN ;
+ Suriname_PN : PN ;
+ SaoTomeAndPrincipe_PN : PN ;
+ ElSalvador_PN : PN ;
+ Syria_PN : PN ;
+ Swaziland_PN : PN ;
+ TurksAndCaicosIslands_PN : PN ;
+ Chad_PN : PN ;
+ FrenchSouthernTerritories_PN : PN ;
+ Togo_PN : PN ;
+ Thailand_PN : PN ;
+ Tajikistan_PN : PN ;
+ Tokelau_PN : PN ;
+ EastTimor_PN : PN ;
+ Turkmenistan_PN : PN ;
+ Tunisia_PN : PN ;
+ Tonga_PN : PN ;
+ Turkey_PN : PN ;
+ TrinidadAndTobago_PN : PN ;
+ Tuvalu_PN : PN ;
+ Taiwan_PN : PN ;
+ Tanzania_PN : PN ;
+ Ukraine_PN : PN ;
+ Uganda_PN : PN ;
+ UnitedStatesMinorOutlyingIslands_PN : PN ;
+ UnitedStates_PN : PN ;
+ Uruguay_PN : PN ;
+ Uzbekistan_PN : PN ;
+ VaticanCity_PN : PN ;
+ SaintVincentAndtheGrenadines_PN : PN ;
+ Venezuela_PN : PN ;
+ VirginIslandsBritish_PN : PN ;
+ VirginIslandsUS_PN : PN ;
+ Vietnam_PN : PN ;
+ Vanuatu_PN : PN ;
+ WallisAndFutuna_PN : PN ;
+ Samoa_PN : PN ;
+ Yemen_PN : PN ;
+ Mayotte_PN : PN ;
+ SouthAfrica_PN : PN ;
+ Zambia_PN : PN ;
+ Zimbabwe_PN : PN ;
+
+-- Cuisines
+ Afghani_PN : PN ;
+ African_PN : PN ;
+ American_PN : PN ;
+ Arabic_PN : PN ;
+ Argentine_PN : PN ;
+ Armenian_PN : PN ;
+ Asian_PN : PN ;
+ Australian_PN : PN ;
+ Austrian_PN : PN ;
+ Balinese_PN : PN ;
+ Basque_PN : PN ;
+ Belgian_PN : PN ;
+ Brazilian_PN : PN ;
+ Bulgarian_PN : PN ;
+ Burmese_PN : PN ;
+ Cajun_PN : PN ;
+ Cambodian_PN : PN ;
+ Caribbean_PN : PN ;
+ Catalan_PN : PN ;
+ Chinese_PN : PN ;
+ Colombian_PN : PN ;
+ Contemporary_PN : PN ;
+ Continental_PN : PN ;
+ Creole_PN : PN ;
+ Cuban_PN : PN ;
+ Czech_PN : PN ;
+ Dutch_PN : PN ;
+ EasternEuropean_PN : PN ;
+ Eclectic_PN : PN ;
+ Egyptian_PN : PN ;
+ English_PN : PN ;
+ Ethiopian_PN : PN ;
+ Ethnic_PN : PN ;
+ French_PN : PN ;
+ Fusion_PN : PN ;
+ German_PN : PN ;
+ Greek_PN : PN ;
+ Haitian_PN : PN ;
+ Hungarian_PN : PN ;
+ Indian_PN : PN ;
+ Indonesian_PN : PN ;
+ International_PN : PN ;
+ Irish_PN : PN ;
+ Israeli_PN : PN ;
+ Italian_PN : PN ;
+ Jamaican_PN : PN ;
+ Japanese_PN : PN ;
+ Jewish_PN : PN ;
+ Korean_PN : PN ;
+ LatinAmerican_PN : PN ;
+ Lebanese_PN : PN ;
+ Malaysian_PN : PN ;
+ Mexican_PN : PN ;
+ MiddleEastern_PN : PN ;
+ Mongolian_PN : PN ;
+ Moroccan_PN : PN ;
+ NewZealandCuisine_PN : PN ;
+ Nicaraguan_PN : PN ;
+ Nouveau_PN : PN ;
+ Pakistani_PN : PN ;
+ Persian_PN : PN ;
+ Peruvian_PN : PN ;
+ Philippine_PN : PN ;
+ Polish_PN : PN ;
+ Polynesian_PN : PN ;
+ Portuguese_PN : PN ;
+ PuertoRican_PN : PN ;
+ Russian_PN : PN ;
+ Salvadorean_PN : PN ;
+ Scandinavian_PN : PN ;
+ Scottish_PN : PN ;
+ Seafood_PN : PN ;
+ Singaporean_PN : PN ;
+ Spanish_PN : PN ;
+ SriLankan_PN : PN ;
+ Swedish_PN : PN ;
+ Swiss_PN : PN ;
+ Tex_Mex_PN : PN ;
+ Thai_PN : PN ;
+ Tibetan_PN : PN ;
+ Turkish_PN : PN ;
+ Ukrainian_PN : PN ;
+ Vegan_PN : PN ;
+ Vegetarian_PN : PN ;
+ Venezulean_PN : PN ;
+ Vietnamese_PN : PN ;
+
+-- Determiners
+ defSg_Det : Det ;
+-- defPl_Det : Det ;
+ indefSg_Det : Det ;
+-- indefPl_Det : Det ;
+ this_Det : Det ;
+-- that_Det : Det ;
+-- these_Det : Det ;
+-- those_Det : Det ;
+
+}
diff --git a/examples/wiki/LexWikiEng.gf b/examples/wiki/LexWikiEng.gf
new file mode 100644
index 000000000..2dc810189
--- /dev/null
+++ b/examples/wiki/LexWikiEng.gf
@@ -0,0 +1,400 @@
+
+instance LexWikiEng of LexWiki = open SyntaxEng, ParadigmsEng in {
+
+ flags coding = utf8 ;
+
+ oper
+-- Sentences
+ singleWordCommand_Utt verb = mkUtt politeImpForm positivePol (mkImp verb) ;
+ command_Utt verb det noun = mkUtt politeImpForm positivePol (mkImp (mkVP (mkV2 verb) (mkNP det noun))) ;
+ randomlyCommand_Utt verb det noun = mkUtt politeImpForm positivePol (mkImp (mkVP (mkAdV "randomly") (mkVP (mkV2 verb) (mkNP det noun)))) ;
+ label_Utt noun = mkUtt (mkNP (mkPN noun)) ;
+ countryName_Utt pn = mkUtt (mkNP pn) ;
+ cuisineName_Utt pn = mkUtt (mkNP pn) ;
+
+-- Verbs
+ cancel_V = mkV "cancel" ;
+ select_V = mkV "select" ;
+ edit_V = mkV "edit" ;
+ save_V = mkV "save" ;
+ add_V = mkV "add" ;
+ undo_V = mkV "undo" ;
+ redo_V = mkV "redo" ;
+ cut_V = mkV "cut" ;
+ copy_V = mkV "copy" ;
+ paste_V = mkV "paste" ;
+ delete_V = mkV "delete" ;
+ refine_V = mkV "refine" ;
+ replace_V = mkV "replace" ;
+ wrap_V = mkV "wrap" ;
+
+-- Nouns
+-- Information
+ information_N = mkN "information" ;
+ name_N = mkN "name" ;
+ address_N = mkN "address" ;
+ city_N = mkN "city" ;
+ state_N = mkN "state" ;
+ postalcode_N = mkN "postal" (mkN "code") ;
+ country_N = mkN "country" ;
+ phone_N = mkN "phone" ;
+ cuisine_N = mkN "cuisine" ;
+ language_N = mkN "language" ;
+
+-- Misc
+ page_N = mkN "page" ;
+ index_N = mkN "index" ;
+ review_N = mkN "review" ;
+ restaurant_N = mkN "restaurant" ;
+ food_N = mkN "food" ;
+ service_N = mkN "service" ;
+ node_N = mkN "node" ;
+ tree_N = mkN "tree" ;
+
+-- Proper Nouns
+-- Countries
+ Andorra_PN = mkPN "Andorra" ;
+ UnitedArabEmirates_PN = mkPN ("United" ++ "Arab" ++ "Emirates") ;
+ Afghanistan_PN = mkPN "Afghanistan" ;
+ AntiguaAndBarbuda_PN = mkPN ("Antigua" ++ "and" ++ "Barbuda") ;
+ Anguilla_PN = mkPN "Anguilla" ;
+ Albania_PN = mkPN "Albania" ;
+ Armenia_PN = mkPN "Armenia" ;
+ NetherlandsAntilles_PN = mkPN ("Netherlands" ++ "Antilles") ;
+ Angola_PN = mkPN "Angola" ;
+ Antarctica_PN = mkPN "Antarctica" ;
+ Argentina_PN = mkPN "Argentina" ;
+ AmericanSamoa_PN = mkPN ("American" ++ "Samoa") ;
+ Austria_PN = mkPN "Austria" ;
+ Australia_PN = mkPN "Australia" ;
+ Aruba_PN = mkPN "Aruba" ;
+ AlandIslands_PN = mkPN ("Aland" ++ "Islands") ;
+ Azerbaijan_PN = mkPN "Azerbaijan" ;
+ BosniaAndHerzegovina_PN = mkPN ("Bosnia" ++ "and" ++ "Herzegovina") ;
+ Barbados_PN = mkPN "Barbados" ;
+ Bangladesh_PN = mkPN "Bangladesh" ;
+ Belgium_PN = mkPN "Belgium" ;
+ BurkinaFaso_PN = mkPN ("Burkina" ++ "Faso") ;
+ Bulgaria_PN = mkPN "Bulgaria" ;
+ Bahrain_PN = mkPN "Bahrain" ;
+ Burundi_PN = mkPN "Burundi" ;
+ Benin_PN = mkPN "Benin" ;
+ Bermuda_PN = mkPN "Bermuda" ;
+ Brunei_PN = mkPN "Brunei" ;
+ Bolivia_PN = mkPN "Bolivia" ;
+ Brazil_PN = mkPN "Brazil" ;
+ Bahamas_PN = mkPN "Bahamas" ;
+ Bhutan_PN = mkPN "Bhutan" ;
+ BouvetIsland_PN = mkPN ("Bouvet" ++ "Island") ;
+ Botswana_PN = mkPN "Botswana" ;
+ Belarus_PN = mkPN "Belarus" ;
+ Belize_PN = mkPN "Belize" ;
+ Canada_PN = mkPN "Canada" ;
+ CocosIslands_PN = mkPN ("Cocos" ++ "Islands") ;
+ CongoDemocraticRepublicofthe_PN = mkPN ("Congo," ++ "Democratic" ++ "Republic" ++ "of" ++ "the") ;
+ CentralAfricanRepublic_PN = mkPN ("Central" ++ "African" ++ "Republic") ;
+ Congo_PN = mkPN "Congo" ;
+ Switzerland_PN = mkPN "Switzerland" ;
+ CotedIvoire_PN = mkPN ("Côte" ++ "d'Ivoire") ;
+ CookIslands_PN = mkPN ("Cook" ++ "Islands") ;
+ Chile_PN = mkPN "Chile" ;
+ Cameroon_PN = mkPN "Cameroon" ;
+ China_PN = mkPN "China" ;
+ Colombia_PN = mkPN "Colombia" ;
+ CostaRica_PN = mkPN ("Costa" ++ "Rica") ;
+ SerbiaAndMontenegro_PN = mkPN ("Serbia" ++ "and" ++ "Montenegro") ;
+ Cuba_PN = mkPN "Cuba" ;
+ CapeVerde_PN = mkPN ("Cape" ++ "Verde") ;
+ ChristmasIsland_PN = mkPN ("Christmas" ++ "Island") ;
+ Cyprus_PN = mkPN "Cyprus" ;
+ CzechRepublic_PN = mkPN ("Czech" ++ "Republic") ;
+ Germany_PN = mkPN "Germany" ;
+ Djibouti_PN = mkPN "Djibouti" ;
+ Denmark_PN = mkPN "Denmark" ;
+ Dominica_PN = mkPN "Dominica" ;
+ DominicanRepublic_PN = mkPN ("Dominican" ++ "Republic") ;
+ Algeria_PN = mkPN "Algeria" ;
+ Ecuador_PN = mkPN "Ecuador" ;
+ Estonia_PN = mkPN "Estonia" ;
+ Egypt_PN = mkPN "Egypt" ;
+ WesternSahara_PN = mkPN ("Western" ++ "Sahara") ;
+ Eritrea_PN = mkPN "Eritrea" ;
+ Spain_PN = mkPN "Spain" ;
+ Ethiopia_PN = mkPN "Ethiopia" ;
+ Finland_PN = mkPN "Finland" ;
+ Fiji_PN = mkPN "Fiji" ;
+ FalklandIslands_PN = mkPN ("Falkland" ++ "Islands") ;
+ Micronesia_PN = mkPN "Micronesia" ;
+ FaroeIslands_PN = mkPN ("Faroe" ++ "Islands") ;
+ France_PN = mkPN "France" ;
+ Gabon_PN = mkPN "Gabon" ;
+ UnitedKingdom_PN = mkPN ("United" ++ "Kingdom") ;
+ Grenada_PN = mkPN "Grenada" ;
+ Georgia_PN = mkPN "Georgia" ;
+ FrenchGuiana_PN = mkPN ("French" ++ "Guiana") ;
+ Guernsey_PN = mkPN "Guernsey" ;
+ Ghana_PN = mkPN "Ghana" ;
+ Gibraltar_PN = mkPN "Gibraltar" ;
+ Greenland_PN = mkPN "Greenland" ;
+ Gambia_PN = mkPN "Gambia" ;
+ Guinea_PN = mkPN "Guinea" ;
+ Guadeloupe_PN = mkPN "Guadeloupe" ;
+ EquatorialGuinea_PN = mkPN ("Equatorial" ++ "Guinea") ;
+ Greece_PN = mkPN "Greece" ;
+ SouthGeorgiaAndTheSouthSandwichIslands_PN = mkPN ("South" ++ "Georgia" ++ "and" ++ "the" ++ "South" ++ "Sandwich" ++ "Islands") ;
+ Guatemala_PN = mkPN "Guatemala" ;
+ Guam_PN = mkPN "Guam" ;
+ GuineaBissau_PN = mkPN "Guinea-Bissau" ;
+ Guyana_PN = mkPN "Guyana" ;
+ HongKong_PN = mkPN ("Hong" ++ "Kong") ;
+ HeardIslandAndMcDonaldIslands_PN = mkPN ("Heard" ++ "Island" ++ "and" ++ "McDonald" ++ "Islands") ;
+ Honduras_PN = mkPN "Honduras" ;
+ Croatia_PN = mkPN "Croatia" ;
+ Haiti_PN = mkPN "Haiti" ;
+ Hungary_PN = mkPN "Hungary" ;
+ Indonesia_PN = mkPN "Indonesia" ;
+ Ireland_PN = mkPN "Ireland" ;
+ Israel_PN = mkPN "Israel" ;
+ IsleofMan_PN = mkPN ("Isle" ++ "of" ++ "Man") ;
+ India_PN = mkPN "India" ;
+ BritishIndianOceanTerritory_PN = mkPN ("British" ++ "Indian" ++ "Ocean" ++ "Territory") ;
+ Iraq_PN = mkPN "Iraq" ;
+ Iran_PN = mkPN "Iran" ;
+ Iceland_PN = mkPN "Iceland" ;
+ Italy_PN = mkPN "Italy" ;
+ Jersey_PN = mkPN "Jersey" ;
+ Jamaica_PN = mkPN "Jamaica" ;
+ Jordan_PN = mkPN "Jordan" ;
+ Japan_PN = mkPN "Japan" ;
+ Kenya_PN = mkPN "Kenya" ;
+ Kyrgyzstan_PN = mkPN "Kyrgyzstan" ;
+ Cambodia_PN = mkPN "Cambodia" ;
+ Kiribati_PN = mkPN "Kiribati" ;
+ Comoros_PN = mkPN "Comoros" ;
+ SaintKittsAndNevis_PN = mkPN ("Saint" ++ "Kitts" ++ "and" ++ "Nevis") ;
+ NorthKorea_PN = mkPN ("North" ++ "Korea") ;
+ SouthKorea_PN = mkPN ("South" ++ "Korea") ;
+ Kuwait_PN = mkPN "Kuwait" ;
+ CaymanIslands_PN = mkPN ("Cayman" ++ "Islands") ;
+ Kazakhstan_PN = mkPN "Kazakhstan" ;
+ Laos_PN = mkPN "Laos" ;
+ Lebanon_PN = mkPN "Lebanon" ;
+ SaintLucia_PN = mkPN ("Saint" ++ "Lucia") ;
+ Liechtenstein_PN = mkPN "Liechtenstein" ;
+ SriLanka_PN = mkPN ("Sri" ++ "Lanka") ;
+ Liberia_PN = mkPN "Liberia" ;
+ Lesotho_PN = mkPN "Lesotho" ;
+ Lithuania_PN = mkPN "Lithuania" ;
+ Luxembourg_PN = mkPN "Luxembourg" ;
+ Latvia_PN = mkPN "Latvia" ;
+ Libya_PN = mkPN "Libya" ;
+ Morocco_PN = mkPN "Morocco" ;
+ Monaco_PN = mkPN "Monaco" ;
+ Moldova_PN = mkPN "Moldova" ;
+ Montenegro_PN = mkPN "Montenegro" ;
+ Madagascar_PN = mkPN "Madagascar" ;
+ MarshallIslands_PN = mkPN ("Marshall" ++ "Islands") ;
+ Macedonia_PN = mkPN "Macedonia" ;
+ Mali_PN = mkPN "Mali" ;
+ Myanmar_PN = mkPN "Myanmar" ;
+ Mongolia_PN = mkPN "Mongolia" ;
+ Macao_PN = mkPN "Macao" ;
+ NorthernMarianaIslands_PN = mkPN ("Northern" ++ "Mariana" ++ "Islands") ;
+ Martinique_PN = mkPN "Martinique" ;
+ Mauritania_PN = mkPN "Mauritania" ;
+ Montserrat_PN = mkPN "Montserrat" ;
+ Malta_PN = mkPN "Malta" ;
+ Mauritius_PN = mkPN "Mauritius" ;
+ Maldives_PN = mkPN "Maldives" ;
+ Malawi_PN = mkPN "Malawi" ;
+ Mexico_PN = mkPN "Mexico" ;
+ Malaysia_PN = mkPN "Malaysia" ;
+ Mozambique_PN = mkPN "Mozambique" ;
+ Namibia_PN = mkPN "Namibia" ;
+ NewCaledonia_PN = mkPN ("New" ++ "Caledonia") ;
+ Niger_PN = mkPN "Niger" ;
+ NorfolkIsland_PN = mkPN ("Norfolk" ++ "Island") ;
+ Nigeria_PN = mkPN "Nigeria" ;
+ Nicaragua_PN = mkPN "Nicaragua" ;
+ Netherlands_PN = mkPN "Netherlands" ;
+ Norway_PN = mkPN "Norway" ;
+ Nepal_PN = mkPN "Nepal" ;
+ Nauru_PN = mkPN "Nauru" ;
+ Niue_PN = mkPN "Niue" ;
+ NewZealand_PN = mkPN ("New" ++ "Zealand") ;
+ Oman_PN = mkPN "Oman" ;
+ Panama_PN = mkPN "Panama" ;
+ Peru_PN = mkPN "Peru" ;
+ FrenchPolynesia_PN = mkPN ("French" ++ "Polynesia") ;
+ PapuaNewGuinea_PN = mkPN ("Papua" ++ "New" ++ "Guinea") ;
+ Philippines_PN = mkPN "Philippines" ;
+ Pakistan_PN = mkPN "Pakistan" ;
+ Poland_PN = mkPN "Poland" ;
+ SaintPierreAndMiquelon_PN = mkPN ("Saint" ++ "Pierre" ++ "and" ++ "Miquelon") ;
+ Pitcairn_PN = mkPN "Pitcairn" ;
+ PuertoRico_PN = mkPN ("Puerto" ++ "Rico") ;
+ PalestinianTerritory_PN = mkPN ("Palestinian" ++ "Territory") ;
+ Portugal_PN = mkPN "Portugal" ;
+ Palau_PN = mkPN "Palau" ;
+ Paraguay_PN = mkPN "Paraguay" ;
+ Qatar_PN = mkPN "Qatar" ;
+ Reunion_PN = mkPN "Reunion" ;
+ Romania_PN = mkPN "Romania" ;
+ Serbia_PN = mkPN "Serbia" ;
+ Russia_PN = mkPN "Russia" ;
+ Rwanda_PN = mkPN "Rwanda" ;
+ SaudiArabia_PN = mkPN ("Saudi" ++ "Arabia") ;
+ SolomonIslands_PN = mkPN ("Solomon" ++ "Islands") ;
+ Seychelles_PN = mkPN "Seychelles" ;
+ Sudan_PN = mkPN "Sudan" ;
+ Sweden_PN = mkPN "Sweden" ;
+ Singapore_PN = mkPN "Singapore" ;
+ SaintHelena_PN = mkPN ("Saint" ++ "Helena") ;
+ Slovenia_PN = mkPN "Slovenia" ;
+ SvalbardAndJanMayen_PN = mkPN ("Svalbard" ++ "and" ++ "Jan" ++ "Mayen") ;
+ Slovakia_PN = mkPN "Slovakia" ;
+ SierraLeone_PN = mkPN ("Sierra" ++ "Leone") ;
+ SanMarino_PN = mkPN ("San" ++ "Marino") ;
+ Senegal_PN = mkPN "Senegal" ;
+ Somalia_PN = mkPN "Somalia" ;
+ Suriname_PN = mkPN "Suriname" ;
+ SaoTomeAndPrincipe_PN = mkPN ("São" ++ "Tomé" ++ "and" ++ "Príncipe") ;
+ ElSalvador_PN = mkPN ("El" ++ "Salvador") ;
+ Syria_PN = mkPN "Syria" ;
+ Swaziland_PN = mkPN "Swaziland" ;
+ TurksAndCaicosIslands_PN = mkPN ("Turks" ++ "and" ++ "Caicos" ++ "Islands") ;
+ Chad_PN = mkPN "Chad" ;
+ FrenchSouthernTerritories_PN = mkPN ("French" ++ "Southern" ++ "Territories") ;
+ Togo_PN = mkPN "Togo" ;
+ Thailand_PN = mkPN "Thailand" ;
+ Tajikistan_PN = mkPN "Tajikistan" ;
+ Tokelau_PN = mkPN "Tokelau" ;
+ EastTimor_PN = mkPN ("East" ++ "Timor") ;
+ Turkmenistan_PN = mkPN "Turkmenistan" ;
+ Tunisia_PN = mkPN "Tunisia" ;
+ Tonga_PN = mkPN "Tonga" ;
+ Turkey_PN = mkPN "Turkey" ;
+ TrinidadAndTobago_PN = mkPN ("Trinidad" ++ "and" ++ "Tobago") ;
+ Tuvalu_PN = mkPN "Tuvalu" ;
+ Taiwan_PN = mkPN "Taiwan" ;
+ Tanzania_PN = mkPN "Tanzania" ;
+ Ukraine_PN = mkPN "Ukraine" ;
+ Uganda_PN = mkPN "Uganda" ;
+ UnitedStatesMinorOutlyingIslands_PN = mkPN ("United" ++ "States" ++ "minor" ++ "outlying" ++ "islands") ;
+ UnitedStates_PN = mkPN ("United" ++ "States") ;
+ Uruguay_PN = mkPN "Uruguay" ;
+ Uzbekistan_PN = mkPN "Uzbekistan" ;
+ VaticanCity_PN = mkPN ("Vatican" ++ "City") ;
+ SaintVincentAndtheGrenadines_PN = mkPN ("Saint" ++ "Vincent" ++ "and" ++ "the" ++ "Grenadines") ;
+ Venezuela_PN = mkPN "Venezuela" ;
+ VirginIslandsBritish_PN = mkPN ("Virgin" ++ "Islands," ++ "British") ;
+ VirginIslandsUS_PN = mkPN ("Virgin" ++ "Islands," ++ "U.S.") ;
+ Vietnam_PN = mkPN "Vietnam" ;
+ Vanuatu_PN = mkPN "Vanuatu" ;
+ WallisAndFutuna_PN = mkPN ("Wallis" ++ "and" ++ "Futuna") ;
+ Samoa_PN = mkPN "Samoa" ;
+ Yemen_PN = mkPN "Yemen" ;
+ Mayotte_PN = mkPN "Mayotte" ;
+ SouthAfrica_PN = mkPN ("South" ++ "Africa") ;
+ Zambia_PN = mkPN "Zambia" ;
+ Zimbabwe_PN = mkPN "Zimbabwe" ;
+
+-- Cuisines
+ Afghani_PN = mkPN "Afghani" ;
+ African_PN = mkPN "African" ;
+ American_PN = mkPN "American" ;
+ Arabic_PN = mkPN "Arabic" ;
+ Argentine_PN = mkPN "Argentine" ;
+ Armenian_PN = mkPN "Armenian" ;
+ Asian_PN = mkPN "Asian" ;
+ Australian_PN = mkPN "Australian" ;
+ Austrian_PN = mkPN "Austrian" ;
+ Balinese_PN = mkPN "Balinese" ;
+ Basque_PN = mkPN "Basque" ;
+ Belgian_PN = mkPN "Belgian" ;
+ Brazilian_PN = mkPN "Brazilian" ;
+ Bulgarian_PN = mkPN "Bulgarian" ;
+ Burmese_PN = mkPN "Burmese" ;
+ Cajun_PN = mkPN "Cajun" ;
+ Cambodian_PN = mkPN "Cambodian" ;
+ Caribbean_PN = mkPN "Caribbean" ;
+ Catalan_PN = mkPN "Catalan" ;
+ Chinese_PN = mkPN "Chinese" ;
+ Colombian_PN = mkPN "Colombian" ;
+ Contemporary_PN = mkPN "Contemporary" ;
+ Continental_PN = mkPN "Continental" ;
+ Creole_PN = mkPN "Creole" ;
+ Cuban_PN = mkPN "Cuban" ;
+ Czech_PN = mkPN "Czech" ;
+ Dutch_PN = mkPN "Dutch" ;
+ EasternEuropean_PN = mkPN ("Eastern" ++ "European") ;
+ Eclectic_PN = mkPN "Eclectic" ;
+ Egyptian_PN = mkPN "Egyptian" ;
+ English_PN = mkPN "English" ;
+ Ethiopian_PN = mkPN "Ethiopian" ;
+ Ethnic_PN = mkPN "Ethnic" ;
+ French_PN = mkPN "French" ;
+ Fusion_PN = mkPN "Fusion" ;
+ German_PN = mkPN "German" ;
+ Greek_PN = mkPN "Greek" ;
+ Haitian_PN = mkPN "Haitian" ;
+ Hungarian_PN = mkPN "Hungarian" ;
+ Indian_PN = mkPN "Indian" ;
+ Indonesian_PN = mkPN "Indonesian" ;
+ International_PN = mkPN "International" ;
+ Irish_PN = mkPN "Irish" ;
+ Israeli_PN = mkPN "Israeli" ;
+ Italian_PN = mkPN "Italian" ;
+ Jamaican_PN = mkPN "Jamaican" ;
+ Japanese_PN = mkPN "Japanese" ;
+ Jewish_PN = mkPN "Jewish" ;
+ Korean_PN = mkPN "Korean" ;
+ LatinAmerican_PN = mkPN ("Latin" ++ "American") ;
+ Lebanese_PN = mkPN "Lebanese" ;
+ Malaysian_PN = mkPN "Malaysian" ;
+ Mexican_PN = mkPN "Mexican" ;
+ MiddleEastern_PN = mkPN ("Middle" ++ "Eastern") ;
+ Mongolian_PN = mkPN "Mongolian" ;
+ Moroccan_PN = mkPN "Moroccan" ;
+ NewZealandCuisine_PN = mkPN ("New" ++ "Zealand") ;
+ Nicaraguan_PN = mkPN "Nicaraguan" ;
+ Nouveau_PN = mkPN "Nouveau" ;
+ Pakistani_PN = mkPN "Pakistani" ;
+ Persian_PN = mkPN "Persian" ;
+ Peruvian_PN = mkPN "Peruvian" ;
+ Philippine_PN = mkPN "Philippine" ;
+ Polish_PN = mkPN "Polish" ;
+ Polynesian_PN = mkPN "Polynesian" ;
+ Portuguese_PN = mkPN "Portuguese" ;
+ PuertoRican_PN = mkPN ("Puerto" ++ "Rican") ;
+ Russian_PN = mkPN "Russian" ;
+ Salvadorean_PN = mkPN "Salvadorean" ;
+ Scandinavian_PN = mkPN "Scandinavian" ;
+ Scottish_PN = mkPN "Scottish" ;
+ Seafood_PN = mkPN "Seafood" ;
+ Singaporean_PN = mkPN "Singaporean" ;
+ Spanish_PN = mkPN "Spanish" ;
+ SriLankan_PN = mkPN ("Sri" ++ "Lankan") ;
+ Swedish_PN = mkPN "Swedish" ;
+ Swiss_PN = mkPN "Swiss" ;
+ Tex_Mex_PN = mkPN "Tex-Mex" ;
+ Thai_PN = mkPN "Thai" ;
+ Tibetan_PN = mkPN "Tibetan" ;
+ Turkish_PN = mkPN "Turkish" ;
+ Ukrainian_PN = mkPN "Ukrainian" ;
+ Vegan_PN = mkPN "Vegan" ;
+ Vegetarian_PN = mkPN "Vegetarian" ;
+ Venezulean_PN = mkPN "Venezulean" ;
+ Vietnamese_PN = mkPN "Vietnamese" ;
+
+-- Determiners
+ defSg_Det = defSgDet ;
+-- defPl_Det = defPlDet ;
+ indefSg_Det = indefSgDet ;
+-- indefPl_Det = indefPlDet ;
+ this_Det = mkDet this_QuantSg ;
+-- that_Det = mkDet that_QuantSg ;
+-- these_Det = mkDet these_QuantPl ;
+-- those_Det = mkDet those_QuantPl ;
+
+}
diff --git a/examples/wiki/LexWikiFin.gf b/examples/wiki/LexWikiFin.gf
new file mode 100644
index 000000000..033a3f448
--- /dev/null
+++ b/examples/wiki/LexWikiFin.gf
@@ -0,0 +1,401 @@
+
+instance LexWikiFin of LexWiki = open SyntaxFin, ParadigmsFin in {
+
+--- flags coding = utf8 ;
+ oper mkAdV : Str -> AdV = \s -> {s = s ; lock_AdV = <>} ; ---
+
+ oper
+-- Sentences
+ singleWordCommand_Utt verb = mkUtt politeImpForm positivePol (mkImp verb) ;
+ command_Utt verb det noun = mkUtt politeImpForm positivePol (mkImp (mkVP (mkV2 verb) (mkNP det noun))) ;
+ randomlyCommand_Utt verb det noun = mkUtt politeImpForm positivePol (mkImp (mkVP (mkAdV "satunnaisesti") (mkVP (mkV2 verb) (mkNP det noun)))) ;
+ label_Utt noun = mkUtt (mkNP (mkPN noun)) ;
+ countryName_Utt pn = mkUtt (mkNP pn) ;
+ cuisineName_Utt pn = mkUtt (mkNP pn) ;
+
+-- Verbs
+ cancel_V = mkV "peruuttaa" ;
+ select_V = mkV "valita" ;
+ edit_V = mkV "editoida" ;
+ save_V = mkV "tallentaa" ;
+ add_V = mkV "lisätä" ;
+ undo_V = mkV "perua" ;
+ redo_V = mkV "toistaa" ;
+ cut_V = mkV "leikata" ;
+ copy_V = mkV "kopioida" ;
+ paste_V = mkV "liimata" ;
+ delete_V = mkV "poistaa" ;
+ refine_V = mkV "hienontaa" ;
+ replace_V = mkV "korvata" ;
+ wrap_V = mkV "kääriä" ;
+
+-- Nouns
+-- Information
+ information_N = mkN "informaatio" ;
+ name_N = mkN "nimi" "nimen" ;
+ address_N = mkN "osoite" ;
+ city_N = mkN "kaupunki" ;
+ state_N = mkN "osavaltio" ;
+ postalcode_N = mkN "postinumero" ;
+ country_N = mkN "maa" ;
+ phone_N = mkN "puhelin" ;
+ cuisine_N = mkN "keittiö" ;
+ language_N = mkN "kieli" "kielen" ;
+
+-- Misc
+ page_N = mkN "sivu" ;
+ index_N = mkN "sisällysluettelo" ;
+ review_N = mkN "arvostelu" ;
+ restaurant_N = mkN "ravintola" ;
+ food_N = mkN "ruoka" ;
+ service_N = mkN "palvelu" ;
+ node_N = mkN "solmu" ;
+ tree_N = mkN "puu" ;
+
+-- Proper Nouns
+-- Countries
+ Andorra_PN = mkPN "Andorra" ;
+ UnitedArabEmirates_PN = mkPN ("United" ++ "Arab" ++ "Emirates") ;
+ Afghanistan_PN = mkPN "Afghanistan" ;
+ AntiguaAndBarbuda_PN = mkPN ("Antigua" ++ "and" ++ "Barbuda") ;
+ Anguilla_PN = mkPN "Anguilla" ;
+ Albania_PN = mkPN "Albania" ;
+ Armenia_PN = mkPN "Armenia" ;
+ NetherlandsAntilles_PN = mkPN ("Netherlands" ++ "Antilles") ;
+ Angola_PN = mkPN "Angola" ;
+ Antarctica_PN = mkPN "Antarctica" ;
+ Argentina_PN = mkPN "Argentina" ;
+ AmericanSamoa_PN = mkPN ("American" ++ "Samoa") ;
+ Austria_PN = mkPN "Austria" ;
+ Australia_PN = mkPN "Australia" ;
+ Aruba_PN = mkPN "Aruba" ;
+ AlandIslands_PN = mkPN ("Aland" ++ "Islands") ;
+ Azerbaijan_PN = mkPN "Azerbaijan" ;
+ BosniaAndHerzegovina_PN = mkPN ("Bosnia" ++ "and" ++ "Herzegovina") ;
+ Barbados_PN = mkPN "Barbados" ;
+ Bangladesh_PN = mkPN "Bangladesh" ;
+ Belgium_PN = mkPN "Belgium" ;
+ BurkinaFaso_PN = mkPN ("Burkina" ++ "Faso") ;
+ Bulgaria_PN = mkPN "Bulgaria" ;
+ Bahrain_PN = mkPN "Bahrain" ;
+ Burundi_PN = mkPN "Burundi" ;
+ Benin_PN = mkPN "Benin" ;
+ Bermuda_PN = mkPN "Bermuda" ;
+ Brunei_PN = mkPN "Brunei" ;
+ Bolivia_PN = mkPN "Bolivia" ;
+ Brazil_PN = mkPN "Brazil" ;
+ Bahamas_PN = mkPN "Bahamas" ;
+ Bhutan_PN = mkPN "Bhutan" ;
+ BouvetIsland_PN = mkPN ("Bouvet" ++ "Island") ;
+ Botswana_PN = mkPN "Botswana" ;
+ Belarus_PN = mkPN "Belarus" ;
+ Belize_PN = mkPN "Belize" ;
+ Canada_PN = mkPN "Canada" ;
+ CocosIslands_PN = mkPN ("Cocos" ++ "Islands") ;
+ CongoDemocraticRepublicofthe_PN = mkPN ("Congo," ++ "Democratic" ++ "Republic" ++ "of" ++ "the") ;
+ CentralAfricanRepublic_PN = mkPN ("Central" ++ "African" ++ "Republic") ;
+ Congo_PN = mkPN "Congo" ;
+ Switzerland_PN = mkPN "Switzerland" ;
+ CotedIvoire_PN = mkPN ("Côte" ++ "d'Ivoire") ;
+ CookIslands_PN = mkPN ("Cook" ++ "Islands") ;
+ Chile_PN = mkPN "Chile" ;
+ Cameroon_PN = mkPN "Cameroon" ;
+ China_PN = mkPN "China" ;
+ Colombia_PN = mkPN "Colombia" ;
+ CostaRica_PN = mkPN ("Costa" ++ "Rica") ;
+ SerbiaAndMontenegro_PN = mkPN ("Serbia" ++ "and" ++ "Montenegro") ;
+ Cuba_PN = mkPN "Cuba" ;
+ CapeVerde_PN = mkPN ("Cape" ++ "Verde") ;
+ ChristmasIsland_PN = mkPN ("Christmas" ++ "Island") ;
+ Cyprus_PN = mkPN "Cyprus" ;
+ CzechRepublic_PN = mkPN ("Czech" ++ "Republic") ;
+ Germany_PN = mkPN "Germany" ;
+ Djibouti_PN = mkPN "Djibouti" ;
+ Denmark_PN = mkPN "Denmark" ;
+ Dominica_PN = mkPN "Dominica" ;
+ DominicanRepublic_PN = mkPN ("Dominican" ++ "Republic") ;
+ Algeria_PN = mkPN "Algeria" ;
+ Ecuador_PN = mkPN "Ecuador" ;
+ Estonia_PN = mkPN "Estonia" ;
+ Egypt_PN = mkPN "Egypt" ;
+ WesternSahara_PN = mkPN ("Western" ++ "Sahara") ;
+ Eritrea_PN = mkPN "Eritrea" ;
+ Spain_PN = mkPN "Spain" ;
+ Ethiopia_PN = mkPN "Ethiopia" ;
+ Finland_PN = mkPN "Finland" ;
+ Fiji_PN = mkPN "Fiji" ;
+ FalklandIslands_PN = mkPN ("Falkland" ++ "Islands") ;
+ Micronesia_PN = mkPN "Micronesia" ;
+ FaroeIslands_PN = mkPN ("Faroe" ++ "Islands") ;
+ France_PN = mkPN "France" ;
+ Gabon_PN = mkPN "Gabon" ;
+ UnitedKingdom_PN = mkPN ("United" ++ "Kingdom") ;
+ Grenada_PN = mkPN "Grenada" ;
+ Georgia_PN = mkPN "Georgia" ;
+ FrenchGuiana_PN = mkPN ("French" ++ "Guiana") ;
+ Guernsey_PN = mkPN "Guernsey" ;
+ Ghana_PN = mkPN "Ghana" ;
+ Gibraltar_PN = mkPN "Gibraltar" ;
+ Greenland_PN = mkPN "Greenland" ;
+ Gambia_PN = mkPN "Gambia" ;
+ Guinea_PN = mkPN "Guinea" ;
+ Guadeloupe_PN = mkPN "Guadeloupe" ;
+ EquatorialGuinea_PN = mkPN ("Equatorial" ++ "Guinea") ;
+ Greece_PN = mkPN "Greece" ;
+ SouthGeorgiaAndTheSouthSandwichIslands_PN = mkPN ("South" ++ "Georgia" ++ "and" ++ "the" ++ "South" ++ "Sandwich" ++ "Islands") ;
+ Guatemala_PN = mkPN "Guatemala" ;
+ Guam_PN = mkPN "Guam" ;
+ GuineaBissau_PN = mkPN "Guinea-Bissau" ;
+ Guyana_PN = mkPN "Guyana" ;
+ HongKong_PN = mkPN ("Hong" ++ "Kong") ;
+ HeardIslandAndMcDonaldIslands_PN = mkPN ("Heard" ++ "Island" ++ "and" ++ "McDonald" ++ "Islands") ;
+ Honduras_PN = mkPN "Honduras" ;
+ Croatia_PN = mkPN "Croatia" ;
+ Haiti_PN = mkPN "Haiti" ;
+ Hungary_PN = mkPN "Hungary" ;
+ Indonesia_PN = mkPN "Indonesia" ;
+ Ireland_PN = mkPN "Ireland" ;
+ Israel_PN = mkPN "Israel" ;
+ IsleofMan_PN = mkPN ("Isle" ++ "of" ++ "Man") ;
+ India_PN = mkPN "India" ;
+ BritishIndianOceanTerritory_PN = mkPN ("British" ++ "Indian" ++ "Ocean" ++ "Territory") ;
+ Iraq_PN = mkPN "Iraq" ;
+ Iran_PN = mkPN "Iran" ;
+ Iceland_PN = mkPN "Iceland" ;
+ Italy_PN = mkPN "Italy" ;
+ Jersey_PN = mkPN "Jersey" ;
+ Jamaica_PN = mkPN "Jamaica" ;
+ Jordan_PN = mkPN "Jordan" ;
+ Japan_PN = mkPN "Japan" ;
+ Kenya_PN = mkPN "Kenya" ;
+ Kyrgyzstan_PN = mkPN "Kyrgyzstan" ;
+ Cambodia_PN = mkPN "Cambodia" ;
+ Kiribati_PN = mkPN "Kiribati" ;
+ Comoros_PN = mkPN "Comoros" ;
+ SaintKittsAndNevis_PN = mkPN ("Saint" ++ "Kitts" ++ "and" ++ "Nevis") ;
+ NorthKorea_PN = mkPN ("North" ++ "Korea") ;
+ SouthKorea_PN = mkPN ("South" ++ "Korea") ;
+ Kuwait_PN = mkPN "Kuwait" ;
+ CaymanIslands_PN = mkPN ("Cayman" ++ "Islands") ;
+ Kazakhstan_PN = mkPN "Kazakhstan" ;
+ Laos_PN = mkPN "Laos" ;
+ Lebanon_PN = mkPN "Lebanon" ;
+ SaintLucia_PN = mkPN ("Saint" ++ "Lucia") ;
+ Liechtenstein_PN = mkPN "Liechtenstein" ;
+ SriLanka_PN = mkPN ("Sri" ++ "Lanka") ;
+ Liberia_PN = mkPN "Liberia" ;
+ Lesotho_PN = mkPN "Lesotho" ;
+ Lithuania_PN = mkPN "Lithuania" ;
+ Luxembourg_PN = mkPN "Luxembourg" ;
+ Latvia_PN = mkPN "Latvia" ;
+ Libya_PN = mkPN "Libya" ;
+ Morocco_PN = mkPN "Morocco" ;
+ Monaco_PN = mkPN "Monaco" ;
+ Moldova_PN = mkPN "Moldova" ;
+ Montenegro_PN = mkPN "Montenegro" ;
+ Madagascar_PN = mkPN "Madagascar" ;
+ MarshallIslands_PN = mkPN ("Marshall" ++ "Islands") ;
+ Macedonia_PN = mkPN "Macedonia" ;
+ Mali_PN = mkPN "Mali" ;
+ Myanmar_PN = mkPN "Myanmar" ;
+ Mongolia_PN = mkPN "Mongolia" ;
+ Macao_PN = mkPN "Macao" ;
+ NorthernMarianaIslands_PN = mkPN ("Northern" ++ "Mariana" ++ "Islands") ;
+ Martinique_PN = mkPN "Martinique" ;
+ Mauritania_PN = mkPN "Mauritania" ;
+ Montserrat_PN = mkPN "Montserrat" ;
+ Malta_PN = mkPN "Malta" ;
+ Mauritius_PN = mkPN "Mauritius" ;
+ Maldives_PN = mkPN "Maldives" ;
+ Malawi_PN = mkPN "Malawi" ;
+ Mexico_PN = mkPN "Mexico" ;
+ Malaysia_PN = mkPN "Malaysia" ;
+ Mozambique_PN = mkPN "Mozambique" ;
+ Namibia_PN = mkPN "Namibia" ;
+ NewCaledonia_PN = mkPN ("New" ++ "Caledonia") ;
+ Niger_PN = mkPN "Niger" ;
+ NorfolkIsland_PN = mkPN ("Norfolk" ++ "Island") ;
+ Nigeria_PN = mkPN "Nigeria" ;
+ Nicaragua_PN = mkPN "Nicaragua" ;
+ Netherlands_PN = mkPN "Netherlands" ;
+ Norway_PN = mkPN "Norway" ;
+ Nepal_PN = mkPN "Nepal" ;
+ Nauru_PN = mkPN "Nauru" ;
+ Niue_PN = mkPN "Niue" ;
+ NewZealand_PN = mkPN ("New" ++ "Zealand") ;
+ Oman_PN = mkPN "Oman" ;
+ Panama_PN = mkPN "Panama" ;
+ Peru_PN = mkPN "Peru" ;
+ FrenchPolynesia_PN = mkPN ("French" ++ "Polynesia") ;
+ PapuaNewGuinea_PN = mkPN ("Papua" ++ "New" ++ "Guinea") ;
+ Philippines_PN = mkPN "Philippines" ;
+ Pakistan_PN = mkPN "Pakistan" ;
+ Poland_PN = mkPN "Poland" ;
+ SaintPierreAndMiquelon_PN = mkPN ("Saint" ++ "Pierre" ++ "and" ++ "Miquelon") ;
+ Pitcairn_PN = mkPN "Pitcairn" ;
+ PuertoRico_PN = mkPN ("Puerto" ++ "Rico") ;
+ PalestinianTerritory_PN = mkPN ("Palestinian" ++ "Territory") ;
+ Portugal_PN = mkPN "Portugal" ;
+ Palau_PN = mkPN "Palau" ;
+ Paraguay_PN = mkPN "Paraguay" ;
+ Qatar_PN = mkPN "Qatar" ;
+ Reunion_PN = mkPN "Reunion" ;
+ Romania_PN = mkPN "Romania" ;
+ Serbia_PN = mkPN "Serbia" ;
+ Russia_PN = mkPN "Russia" ;
+ Rwanda_PN = mkPN "Rwanda" ;
+ SaudiArabia_PN = mkPN ("Saudi" ++ "Arabia") ;
+ SolomonIslands_PN = mkPN ("Solomon" ++ "Islands") ;
+ Seychelles_PN = mkPN "Seychelles" ;
+ Sudan_PN = mkPN "Sudan" ;
+ Sweden_PN = mkPN "Sweden" ;
+ Singapore_PN = mkPN "Singapore" ;
+ SaintHelena_PN = mkPN ("Saint" ++ "Helena") ;
+ Slovenia_PN = mkPN "Slovenia" ;
+ SvalbardAndJanMayen_PN = mkPN ("Svalbard" ++ "and" ++ "Jan" ++ "Mayen") ;
+ Slovakia_PN = mkPN "Slovakia" ;
+ SierraLeone_PN = mkPN ("Sierra" ++ "Leone") ;
+ SanMarino_PN = mkPN ("San" ++ "Marino") ;
+ Senegal_PN = mkPN "Senegal" ;
+ Somalia_PN = mkPN "Somalia" ;
+ Suriname_PN = mkPN "Suriname" ;
+ SaoTomeAndPrincipe_PN = mkPN ("São" ++ "Tomé" ++ "and" ++ "Príncipe") ;
+ ElSalvador_PN = mkPN ("El" ++ "Salvador") ;
+ Syria_PN = mkPN "Syria" ;
+ Swaziland_PN = mkPN "Swaziland" ;
+ TurksAndCaicosIslands_PN = mkPN ("Turks" ++ "and" ++ "Caicos" ++ "Islands") ;
+ Chad_PN = mkPN "Chad" ;
+ FrenchSouthernTerritories_PN = mkPN ("French" ++ "Southern" ++ "Territories") ;
+ Togo_PN = mkPN "Togo" ;
+ Thailand_PN = mkPN "Thailand" ;
+ Tajikistan_PN = mkPN "Tajikistan" ;
+ Tokelau_PN = mkPN "Tokelau" ;
+ EastTimor_PN = mkPN ("East" ++ "Timor") ;
+ Turkmenistan_PN = mkPN "Turkmenistan" ;
+ Tunisia_PN = mkPN "Tunisia" ;
+ Tonga_PN = mkPN "Tonga" ;
+ Turkey_PN = mkPN "Turkey" ;
+ TrinidadAndTobago_PN = mkPN ("Trinidad" ++ "and" ++ "Tobago") ;
+ Tuvalu_PN = mkPN "Tuvalu" ;
+ Taiwan_PN = mkPN "Taiwan" ;
+ Tanzania_PN = mkPN "Tanzania" ;
+ Ukraine_PN = mkPN "Ukraine" ;
+ Uganda_PN = mkPN "Uganda" ;
+ UnitedStatesMinorOutlyingIslands_PN = mkPN ("United" ++ "States" ++ "minor" ++ "outlying" ++ "islands") ;
+ UnitedStates_PN = mkPN ("United" ++ "States") ;
+ Uruguay_PN = mkPN "Uruguay" ;
+ Uzbekistan_PN = mkPN "Uzbekistan" ;
+ VaticanCity_PN = mkPN ("Vatican" ++ "City") ;
+ SaintVincentAndtheGrenadines_PN = mkPN ("Saint" ++ "Vincent" ++ "and" ++ "the" ++ "Grenadines") ;
+ Venezuela_PN = mkPN "Venezuela" ;
+ VirginIslandsBritish_PN = mkPN ("Virgin" ++ "Islands," ++ "British") ;
+ VirginIslandsUS_PN = mkPN ("Virgin" ++ "Islands," ++ "U.S.") ;
+ Vietnam_PN = mkPN "Vietnam" ;
+ Vanuatu_PN = mkPN "Vanuatu" ;
+ WallisAndFutuna_PN = mkPN ("Wallis" ++ "and" ++ "Futuna") ;
+ Samoa_PN = mkPN "Samoa" ;
+ Yemen_PN = mkPN "Yemen" ;
+ Mayotte_PN = mkPN "Mayotte" ;
+ SouthAfrica_PN = mkPN ("South" ++ "Africa") ;
+ Zambia_PN = mkPN "Zambia" ;
+ Zimbabwe_PN = mkPN "Zimbabwe" ;
+
+-- Cuisines
+ Afghani_PN = mkPN "Afghani" ;
+ African_PN = mkPN "African" ;
+ American_PN = mkPN "American" ;
+ Arabic_PN = mkPN "Arabic" ;
+ Argentine_PN = mkPN "Argentine" ;
+ Armenian_PN = mkPN "Armenian" ;
+ Asian_PN = mkPN "Asian" ;
+ Australian_PN = mkPN "Australian" ;
+ Austrian_PN = mkPN "Austrian" ;
+ Balinese_PN = mkPN "Balinese" ;
+ Basque_PN = mkPN "Basque" ;
+ Belgian_PN = mkPN "Belgian" ;
+ Brazilian_PN = mkPN "Brazilian" ;
+ Bulgarian_PN = mkPN "Bulgarian" ;
+ Burmese_PN = mkPN "Burmese" ;
+ Cajun_PN = mkPN "Cajun" ;
+ Cambodian_PN = mkPN "Cambodian" ;
+ Caribbean_PN = mkPN "Caribbean" ;
+ Catalan_PN = mkPN "Catalan" ;
+ Chinese_PN = mkPN "Chinese" ;
+ Colombian_PN = mkPN "Colombian" ;
+ Contemporary_PN = mkPN "Contemporary" ;
+ Continental_PN = mkPN "Continental" ;
+ Creole_PN = mkPN "Creole" ;
+ Cuban_PN = mkPN "Cuban" ;
+ Czech_PN = mkPN "Czech" ;
+ Dutch_PN = mkPN "Dutch" ;
+ EasternEuropean_PN = mkPN ("Eastern" ++ "European") ;
+ Eclectic_PN = mkPN "Eclectic" ;
+ Egyptian_PN = mkPN "Egyptian" ;
+ Finlish_PN = mkPN "Finlish" ;
+ Ethiopian_PN = mkPN "Ethiopian" ;
+ Ethnic_PN = mkPN "Ethnic" ;
+ French_PN = mkPN "French" ;
+ Fusion_PN = mkPN "Fusion" ;
+ German_PN = mkPN "German" ;
+ Greek_PN = mkPN "Greek" ;
+ Haitian_PN = mkPN "Haitian" ;
+ Hungarian_PN = mkPN "Hungarian" ;
+ Indian_PN = mkPN "Indian" ;
+ Indonesian_PN = mkPN "Indonesian" ;
+ International_PN = mkPN "International" ;
+ Irish_PN = mkPN "Irish" ;
+ Israeli_PN = mkPN "Israeli" ;
+ Italian_PN = mkPN "Italian" ;
+ Jamaican_PN = mkPN "Jamaican" ;
+ Japanese_PN = mkPN "Japanese" ;
+ Jewish_PN = mkPN "Jewish" ;
+ Korean_PN = mkPN "Korean" ;
+ LatinAmerican_PN = mkPN ("Latin" ++ "American") ;
+ Lebanese_PN = mkPN "Lebanese" ;
+ Malaysian_PN = mkPN "Malaysian" ;
+ Mexican_PN = mkPN "Mexican" ;
+ MiddleEastern_PN = mkPN ("Middle" ++ "Eastern") ;
+ Mongolian_PN = mkPN "Mongolian" ;
+ Moroccan_PN = mkPN "Moroccan" ;
+ NewZealandCuisine_PN = mkPN ("New" ++ "Zealand") ;
+ Nicaraguan_PN = mkPN "Nicaraguan" ;
+ Nouveau_PN = mkPN "Nouveau" ;
+ Pakistani_PN = mkPN "Pakistani" ;
+ Persian_PN = mkPN "Persian" ;
+ Peruvian_PN = mkPN "Peruvian" ;
+ Philippine_PN = mkPN "Philippine" ;
+ Polish_PN = mkPN "Polish" ;
+ Polynesian_PN = mkPN "Polynesian" ;
+ Portuguese_PN = mkPN "Portuguese" ;
+ PuertoRican_PN = mkPN ("Puerto" ++ "Rican") ;
+ Russian_PN = mkPN "Russian" ;
+ Salvadorean_PN = mkPN "Salvadorean" ;
+ Scandinavian_PN = mkPN "Scandinavian" ;
+ Scottish_PN = mkPN "Scottish" ;
+ Seafood_PN = mkPN "Seafood" ;
+ Singaporean_PN = mkPN "Singaporean" ;
+ Spanish_PN = mkPN "Spanish" ;
+ SriLankan_PN = mkPN ("Sri" ++ "Lankan") ;
+ Swedish_PN = mkPN "Swedish" ;
+ Swiss_PN = mkPN "Swiss" ;
+ Tex_Mex_PN = mkPN "Tex-Mex" ;
+ Thai_PN = mkPN "Thai" ;
+ Tibetan_PN = mkPN "Tibetan" ;
+ Turkish_PN = mkPN "Turkish" ;
+ Ukrainian_PN = mkPN "Ukrainian" ;
+ Vegan_PN = mkPN "Vegan" ;
+ Vegetarian_PN = mkPN "Vegetarian" ;
+ Venezulean_PN = mkPN "Venezulean" ;
+ Vietnamese_PN = mkPN "Vietnamese" ;
+
+-- Determiners
+ defSg_Det = defSgDet ;
+-- defPl_Det = defPlDet ;
+ indefSg_Det = indefSgDet ;
+-- indefPl_Det = indefPlDet ;
+ this_Det = mkDet this_QuantSg ;
+-- that_Det = mkDet that_QuantSg ;
+-- these_Det = mkDet these_QuantPl ;
+-- those_Det = mkDet those_QuantPl ;
+
+}
diff --git a/examples/wiki/LexWikiFre.gf b/examples/wiki/LexWikiFre.gf
new file mode 100644
index 000000000..c187af79e
--- /dev/null
+++ b/examples/wiki/LexWikiFre.gf
@@ -0,0 +1,402 @@
+
+instance LexWikiFre of LexWiki = open SyntaxFre, ParadigmsFre, IrregFre in {
+
+--- flags coding = utf8 ;
+ oper mkAdV : Str -> AdV = \s -> {s = s ; lock_AdV = <>} ; ---
+ myMkPN : N -> PN = \n -> {s = n.s ! singular ; g = n.g ; lock_PN = <>} ;
+
+ oper
+-- Sentences
+ singleWordCommand_Utt verb = mkUtt politeImpForm positivePol (mkImp verb) ;
+ command_Utt verb det noun = mkUtt politeImpForm positivePol (mkImp (mkVP (mkV2 verb) (mkNP det noun))) ;
+ randomlyCommand_Utt verb det noun = mkUtt politeImpForm positivePol (mkImp (mkVP (mkAdV "aléatoirement") (mkVP (mkV2 verb) (mkNP det noun)))) ;
+ label_Utt noun = mkUtt (mkNP (myMkPN noun)) ;
+ countryName_Utt pn = mkUtt (mkNP pn) ;
+ cuisineName_Utt pn = mkUtt (mkNP pn) ;
+
+-- Verbs
+ cancel_V = mkV "annuler" ;
+ select_V = mkV "selectionner" ;
+ edit_V = mkV "rédiger" ;
+ save_V = mkV "sauvegarder" ;
+ add_V = mkV "ajouter" ;
+ undo_V = défaire_V2 ;
+ redo_V = refaire_V2 ;
+ cut_V = mkV "couper" ;
+ copy_V = mkV "copier" ;
+ paste_V = mkV "coller" ;
+ delete_V = mkV "supprimer" ;
+ refine_V = mkV "raffiner" ;
+ replace_V = mkV "remplacer" ;
+ wrap_V = mkV "emballer" ;
+
+-- Nouns
+-- Information
+ information_N = mkN "informaatio" ;
+ name_N = mkN "nom" ;
+ address_N = mkN "adresse" ;
+ city_N = mkN "ville" ;
+ state_N = mkN "état" ;
+ postalcode_N = mkN "code" masculine ;
+ country_N = mkN "pays" ;
+ phone_N = mkN "téléphone" masculine ;
+ cuisine_N = mkN "cuisine" ;
+ language_N = mkN "langue" ;
+
+-- Misc
+ page_N = mkN "page" ;
+ index_N = mkN "index" ;
+ review_N = mkN "critique" ;
+ restaurant_N = mkN "restaurant" ;
+ food_N = mkN "manger" ;
+ service_N = mkN "service" masculine ;
+ node_N = mkN "noeud" ;
+ tree_N = mkN "arbre" ;
+
+-- Proper Nouns
+-- Countries
+ Andorra_PN = mkPN "Andorra" ;
+ UnitedArabEmirates_PN = mkPN ("United_Arab_Emirates") ;
+ Afghanistan_PN = mkPN "Afghanistan" ;
+ AntiguaAndBarbuda_PN = mkPN ("Antigua_and_Barbuda") ;
+ Anguilla_PN = mkPN "Anguilla" ;
+ Albania_PN = mkPN "Albania" ;
+ Armenia_PN = mkPN "Armenia" ;
+ NetherlandsAntilles_PN = mkPN ("Netherlands_Antilles") ;
+ Angola_PN = mkPN "Angola" ;
+ Antarctica_PN = mkPN "Antarctica" ;
+ Argentina_PN = mkPN "Argentina" ;
+ AmericanSamoa_PN = mkPN ("American_Samoa") ;
+ Austria_PN = mkPN "Austria" ;
+ Australia_PN = mkPN "Australia" ;
+ Aruba_PN = mkPN "Aruba" ;
+ AlandIslands_PN = mkPN ("Aland_Islands") ;
+ Azerbaijan_PN = mkPN "Azerbaijan" ;
+ BosniaAndHerzegovina_PN = mkPN ("Bosnia_and_Herzegovina") ;
+ Barbados_PN = mkPN "Barbados" ;
+ Bangladesh_PN = mkPN "Bangladesh" ;
+ Belgium_PN = mkPN "Belgium" ;
+ BurkinaFaso_PN = mkPN ("Burkina_Faso") ;
+ Bulgaria_PN = mkPN "Bulgaria" ;
+ Bahrain_PN = mkPN "Bahrain" ;
+ Burundi_PN = mkPN "Burundi" ;
+ Benin_PN = mkPN "Benin" ;
+ Bermuda_PN = mkPN "Bermuda" ;
+ Brunei_PN = mkPN "Brunei" ;
+ Bolivia_PN = mkPN "Bolivia" ;
+ Brazil_PN = mkPN "Brazil" ;
+ Bahamas_PN = mkPN "Bahamas" ;
+ Bhutan_PN = mkPN "Bhutan" ;
+ BouvetIsland_PN = mkPN ("Bouvet_Island") ;
+ Botswana_PN = mkPN "Botswana" ;
+ Belarus_PN = mkPN "Belarus" ;
+ Belize_PN = mkPN "Belize" ;
+ Canada_PN = mkPN "Canada" ;
+ CocosIslands_PN = mkPN ("Cocos_Islands") ;
+ CongoDemocraticRepublicofthe_PN = mkPN ("Congo,_Democratic_Republic_of_the") ;
+ CentralAfricanRepublic_PN = mkPN ("Central_African_Republic") ;
+ Congo_PN = mkPN "Congo" ;
+ Switzerland_PN = mkPN "Switzerland" ;
+ CotedIvoire_PN = mkPN ("Côte_d'Ivoire") ;
+ CookIslands_PN = mkPN ("Cook_Islands") ;
+ Chile_PN = mkPN "Chile" ;
+ Cameroon_PN = mkPN "Cameroon" ;
+ China_PN = mkPN "China" ;
+ Colombia_PN = mkPN "Colombia" ;
+ CostaRica_PN = mkPN ("Costa_Rica") ;
+ SerbiaAndMontenegro_PN = mkPN ("Serbia_and_Montenegro") ;
+ Cuba_PN = mkPN "Cuba" ;
+ CapeVerde_PN = mkPN ("Cape_Verde") ;
+ ChristmasIsland_PN = mkPN ("Christmas_Island") ;
+ Cyprus_PN = mkPN "Cyprus" ;
+ CzechRepublic_PN = mkPN ("Czech_Republic") ;
+ Germany_PN = mkPN "Germany" ;
+ Djibouti_PN = mkPN "Djibouti" ;
+ Denmark_PN = mkPN "Denmark" ;
+ Dominica_PN = mkPN "Dominica" ;
+ DominicanRepublic_PN = mkPN ("Dominican_Republic") ;
+ Algeria_PN = mkPN "Algeria" ;
+ Ecuador_PN = mkPN "Ecuador" ;
+ Estonia_PN = mkPN "Estonia" ;
+ Egypt_PN = mkPN "Egypt" ;
+ WesternSahara_PN = mkPN ("Western_Sahara") ;
+ Eritrea_PN = mkPN "Eritrea" ;
+ Spain_PN = mkPN "Spain" ;
+ Ethiopia_PN = mkPN "Ethiopia" ;
+ Finland_PN = mkPN "Finland" ;
+ Fiji_PN = mkPN "Fiji" ;
+ FalklandIslands_PN = mkPN ("Falkland_Islands") ;
+ Micronesia_PN = mkPN "Micronesia" ;
+ FaroeIslands_PN = mkPN ("Faroe_Islands") ;
+ France_PN = mkPN "France" ;
+ Gabon_PN = mkPN "Gabon" ;
+ UnitedKingdom_PN = mkPN ("United_Kingdom") ;
+ Grenada_PN = mkPN "Grenada" ;
+ Georgia_PN = mkPN "Georgia" ;
+ FrenchGuiana_PN = mkPN ("French_Guiana") ;
+ Guernsey_PN = mkPN "Guernsey" ;
+ Ghana_PN = mkPN "Ghana" ;
+ Gibraltar_PN = mkPN "Gibraltar" ;
+ Greenland_PN = mkPN "Greenland" ;
+ Gambia_PN = mkPN "Gambia" ;
+ Guinea_PN = mkPN "Guinea" ;
+ Guadeloupe_PN = mkPN "Guadeloupe" ;
+ EquatorialGuinea_PN = mkPN ("Equatorial_Guinea") ;
+ Greece_PN = mkPN "Greece" ;
+ SouthGeorgiaAndTheSouthSandwichIslands_PN = mkPN ("South_Georgia_and_the_South_Sandwich_Islands") ;
+ Guatemala_PN = mkPN "Guatemala" ;
+ Guam_PN = mkPN "Guam" ;
+ GuineaBissau_PN = mkPN "Guinea-Bissau" ;
+ Guyana_PN = mkPN "Guyana" ;
+ HongKong_PN = mkPN ("Hong_Kong") ;
+ HeardIslandAndMcDonaldIslands_PN = mkPN ("Heard_Island_and_McDonald_Islands") ;
+ Honduras_PN = mkPN "Honduras" ;
+ Croatia_PN = mkPN "Croatia" ;
+ Haiti_PN = mkPN "Haiti" ;
+ Hungary_PN = mkPN "Hungary" ;
+ Indonesia_PN = mkPN "Indonesia" ;
+ Ireland_PN = mkPN "Ireland" ;
+ Israel_PN = mkPN "Israel" ;
+ IsleofMan_PN = mkPN ("Isle_of_Man") ;
+ India_PN = mkPN "India" ;
+ BritishIndianOceanTerritory_PN = mkPN ("British_Indian_Ocean_Territory") ;
+ Iraq_PN = mkPN "Iraq" ;
+ Iran_PN = mkPN "Iran" ;
+ Iceland_PN = mkPN "Iceland" ;
+ Italy_PN = mkPN "Italy" ;
+ Jersey_PN = mkPN "Jersey" ;
+ Jamaica_PN = mkPN "Jamaica" ;
+ Jordan_PN = mkPN "Jordan" ;
+ Japan_PN = mkPN "Japan" ;
+ Kenya_PN = mkPN "Kenya" ;
+ Kyrgyzstan_PN = mkPN "Kyrgyzstan" ;
+ Cambodia_PN = mkPN "Cambodia" ;
+ Kiribati_PN = mkPN "Kiribati" ;
+ Comoros_PN = mkPN "Comoros" ;
+ SaintKittsAndNevis_PN = mkPN ("Saint_Kitts_and_Nevis") ;
+ NorthKorea_PN = mkPN ("North_Korea") ;
+ SouthKorea_PN = mkPN ("South_Korea") ;
+ Kuwait_PN = mkPN "Kuwait" ;
+ CaymanIslands_PN = mkPN ("Cayman_Islands") ;
+ Kazakhstan_PN = mkPN "Kazakhstan" ;
+ Laos_PN = mkPN "Laos" ;
+ Lebanon_PN = mkPN "Lebanon" ;
+ SaintLucia_PN = mkPN ("Saint_Lucia") ;
+ Liechtenstein_PN = mkPN "Liechtenstein" ;
+ SriLanka_PN = mkPN ("Sri_Lanka") ;
+ Liberia_PN = mkPN "Liberia" ;
+ Lesotho_PN = mkPN "Lesotho" ;
+ Lithuania_PN = mkPN "Lithuania" ;
+ Luxembourg_PN = mkPN "Luxembourg" ;
+ Latvia_PN = mkPN "Latvia" ;
+ Libya_PN = mkPN "Libya" ;
+ Morocco_PN = mkPN "Morocco" ;
+ Monaco_PN = mkPN "Monaco" ;
+ Moldova_PN = mkPN "Moldova" ;
+ Montenegro_PN = mkPN "Montenegro" ;
+ Madagascar_PN = mkPN "Madagascar" ;
+ MarshallIslands_PN = mkPN ("Marshall_Islands") ;
+ Macedonia_PN = mkPN "Macedonia" ;
+ Mali_PN = mkPN "Mali" ;
+ Myanmar_PN = mkPN "Myanmar" ;
+ Mongolia_PN = mkPN "Mongolia" ;
+ Macao_PN = mkPN "Macao" ;
+ NorthernMarianaIslands_PN = mkPN ("Northern_Mariana_Islands") ;
+ Martinique_PN = mkPN "Martinique" ;
+ Mauritania_PN = mkPN "Mauritania" ;
+ Montserrat_PN = mkPN "Montserrat" ;
+ Malta_PN = mkPN "Malta" ;
+ Mauritius_PN = mkPN "Mauritius" ;
+ Maldives_PN = mkPN "Maldives" ;
+ Malawi_PN = mkPN "Malawi" ;
+ Mexico_PN = mkPN "Mexico" ;
+ Malaysia_PN = mkPN "Malaysia" ;
+ Mozambique_PN = mkPN "Mozambique" ;
+ Namibia_PN = mkPN "Namibia" ;
+ NewCaledonia_PN = mkPN ("New_Caledonia") ;
+ Niger_PN = mkPN "Niger" ;
+ NorfolkIsland_PN = mkPN ("Norfolk_Island") ;
+ Nigeria_PN = mkPN "Nigeria" ;
+ Nicaragua_PN = mkPN "Nicaragua" ;
+ Netherlands_PN = mkPN "Netherlands" ;
+ Norway_PN = mkPN "Norway" ;
+ Nepal_PN = mkPN "Nepal" ;
+ Nauru_PN = mkPN "Nauru" ;
+ Niue_PN = mkPN "Niue" ;
+ NewZealand_PN = mkPN ("New_Zealand") ;
+ Oman_PN = mkPN "Oman" ;
+ Panama_PN = mkPN "Panama" ;
+ Peru_PN = mkPN "Peru" ;
+ FrenchPolynesia_PN = mkPN ("French_Polynesia") ;
+ PapuaNewGuinea_PN = mkPN ("Papua_New_Guinea") ;
+ Philippines_PN = mkPN "Philippines" ;
+ Pakistan_PN = mkPN "Pakistan" ;
+ Poland_PN = mkPN "Poland" ;
+ SaintPierreAndMiquelon_PN = mkPN ("Saint_Pierre_and_Miquelon") ;
+ Pitcairn_PN = mkPN "Pitcairn" ;
+ PuertoRico_PN = mkPN ("Puerto_Rico") ;
+ PalestinianTerritory_PN = mkPN ("Palestinian_Territory") ;
+ Portugal_PN = mkPN "Portugal" ;
+ Palau_PN = mkPN "Palau" ;
+ Paraguay_PN = mkPN "Paraguay" ;
+ Qatar_PN = mkPN "Qatar" ;
+ Reunion_PN = mkPN "Reunion" ;
+ Romania_PN = mkPN "Romania" ;
+ Serbia_PN = mkPN "Serbia" ;
+ Russia_PN = mkPN "Russia" ;
+ Rwanda_PN = mkPN "Rwanda" ;
+ SaudiArabia_PN = mkPN ("Saudi_Arabia") ;
+ SolomonIslands_PN = mkPN ("Solomon_Islands") ;
+ Seychelles_PN = mkPN "Seychelles" ;
+ Sudan_PN = mkPN "Sudan" ;
+ Sweden_PN = mkPN "Sweden" ;
+ Singapore_PN = mkPN "Singapore" ;
+ SaintHelena_PN = mkPN ("Saint_Helena") ;
+ Slovenia_PN = mkPN "Slovenia" ;
+ SvalbardAndJanMayen_PN = mkPN ("Svalbard_and_Jan_Mayen") ;
+ Slovakia_PN = mkPN "Slovakia" ;
+ SierraLeone_PN = mkPN ("Sierra_Leone") ;
+ SanMarino_PN = mkPN ("San_Marino") ;
+ Senegal_PN = mkPN "Senegal" ;
+ Somalia_PN = mkPN "Somalia" ;
+ Suriname_PN = mkPN "Suriname" ;
+ SaoTomeAndPrincipe_PN = mkPN ("São_Tomé_and_Príncipe") ;
+ ElSalvador_PN = mkPN ("El_Salvador") ;
+ Syria_PN = mkPN "Syria" ;
+ Swaziland_PN = mkPN "Swaziland" ;
+ TurksAndCaicosIslands_PN = mkPN ("Turks_and_Caicos_Islands") ;
+ Chad_PN = mkPN "Chad" ;
+ FrenchSouthernTerritories_PN = mkPN ("French_Southern_Territories") ;
+ Togo_PN = mkPN "Togo" ;
+ Thailand_PN = mkPN "Thailand" ;
+ Tajikistan_PN = mkPN "Tajikistan" ;
+ Tokelau_PN = mkPN "Tokelau" ;
+ EastTimor_PN = mkPN ("East_Timor") ;
+ Turkmenistan_PN = mkPN "Turkmenistan" ;
+ Tunisia_PN = mkPN "Tunisia" ;
+ Tonga_PN = mkPN "Tonga" ;
+ Turkey_PN = mkPN "Turkey" ;
+ TrinidadAndTobago_PN = mkPN ("Trinidad_and_Tobago") ;
+ Tuvalu_PN = mkPN "Tuvalu" ;
+ Taiwan_PN = mkPN "Taiwan" ;
+ Tanzania_PN = mkPN "Tanzania" ;
+ Ukraine_PN = mkPN "Ukraine" ;
+ Uganda_PN = mkPN "Uganda" ;
+ UnitedStatesMinorOutlyingIslands_PN = mkPN ("United_States_minor_outlying_islands") ;
+ UnitedStates_PN = mkPN ("United_States") ;
+ Uruguay_PN = mkPN "Uruguay" ;
+ Uzbekistan_PN = mkPN "Uzbekistan" ;
+ VaticanCity_PN = mkPN ("Vatican_City") ;
+ SaintVincentAndtheGrenadines_PN = mkPN ("Saint_Vincent_and_the_Grenadines") ;
+ Venezuela_PN = mkPN "Venezuela" ;
+ VirginIslandsBritish_PN = mkPN ("Virgin_Islands,_British") ;
+ VirginIslandsUS_PN = mkPN ("Virgin_Islands,_U.S.") ;
+ Vietnam_PN = mkPN "Vietnam" ;
+ Vanuatu_PN = mkPN "Vanuatu" ;
+ WallisAndFutuna_PN = mkPN ("Wallis_and_Futuna") ;
+ Samoa_PN = mkPN "Samoa" ;
+ Yemen_PN = mkPN "Yemen" ;
+ Mayotte_PN = mkPN "Mayotte" ;
+ SouthAfrica_PN = mkPN ("South_Africa") ;
+ Zambia_PN = mkPN "Zambia" ;
+ Zimbabwe_PN = mkPN "Zimbabwe" ;
+
+-- Cuisines
+ Afghani_PN = mkPN "Afghani" ;
+ African_PN = mkPN "African" ;
+ American_PN = mkPN "American" ;
+ Arabic_PN = mkPN "Arabic" ;
+ Argentine_PN = mkPN "Argentine" ;
+ Armenian_PN = mkPN "Armenian" ;
+ Asian_PN = mkPN "Asian" ;
+ Australian_PN = mkPN "Australian" ;
+ Austrian_PN = mkPN "Austrian" ;
+ Balinese_PN = mkPN "Balinese" ;
+ Basque_PN = mkPN "Basque" ;
+ Belgian_PN = mkPN "Belgian" ;
+ Brazilian_PN = mkPN "Brazilian" ;
+ Bulgarian_PN = mkPN "Bulgarian" ;
+ Burmese_PN = mkPN "Burmese" ;
+ Cajun_PN = mkPN "Cajun" ;
+ Cambodian_PN = mkPN "Cambodian" ;
+ Caribbean_PN = mkPN "Caribbean" ;
+ Catalan_PN = mkPN "Catalan" ;
+ Chinese_PN = mkPN "Chinese" ;
+ Colombian_PN = mkPN "Colombian" ;
+ Contemporary_PN = mkPN "Contemporary" ;
+ Continental_PN = mkPN "Continental" ;
+ Creole_PN = mkPN "Creole" ;
+ Cuban_PN = mkPN "Cuban" ;
+ Czech_PN = mkPN "Czech" ;
+ Dutch_PN = mkPN "Dutch" ;
+ EasternEuropean_PN = mkPN ("Eastern_European") ;
+ Eclectic_PN = mkPN "Eclectic" ;
+ Egyptian_PN = mkPN "Egyptian" ;
+ English_PN = mkPN "English" ;
+ Ethiopian_PN = mkPN "Ethiopian" ;
+ Ethnic_PN = mkPN "Ethnic" ;
+ French_PN = mkPN "French" ;
+ Fusion_PN = mkPN "Fusion" ;
+ German_PN = mkPN "German" ;
+ Greek_PN = mkPN "Greek" ;
+ Haitian_PN = mkPN "Haitian" ;
+ Hungarian_PN = mkPN "Hungarian" ;
+ Indian_PN = mkPN "Indian" ;
+ Indonesian_PN = mkPN "Indonesian" ;
+ International_PN = mkPN "International" ;
+ Irish_PN = mkPN "Irish" ;
+ Israeli_PN = mkPN "Israeli" ;
+ Italian_PN = mkPN "Italian" ;
+ Jamaican_PN = mkPN "Jamaican" ;
+ Japanese_PN = mkPN "Japanese" ;
+ Jewish_PN = mkPN "Jewish" ;
+ Korean_PN = mkPN "Korean" ;
+ LatinAmerican_PN = mkPN ("Latin_American") ;
+ Lebanese_PN = mkPN "Lebanese" ;
+ Malaysian_PN = mkPN "Malaysian" ;
+ Mexican_PN = mkPN "Mexican" ;
+ MiddleEastern_PN = mkPN ("Middle_Eastern") ;
+ Mongolian_PN = mkPN "Mongolian" ;
+ Moroccan_PN = mkPN "Moroccan" ;
+ NewZealandCuisine_PN = mkPN ("New_Zealand") ;
+ Nicaraguan_PN = mkPN "Nicaraguan" ;
+ Nouveau_PN = mkPN "Nouveau" ;
+ Pakistani_PN = mkPN "Pakistani" ;
+ Persian_PN = mkPN "Persian" ;
+ Peruvian_PN = mkPN "Peruvian" ;
+ Philippine_PN = mkPN "Philippine" ;
+ Polish_PN = mkPN "Polish" ;
+ Polynesian_PN = mkPN "Polynesian" ;
+ Portuguese_PN = mkPN "Portuguese" ;
+ PuertoRican_PN = mkPN ("Puerto_Rican") ;
+ Russian_PN = mkPN "Russian" ;
+ Salvadorean_PN = mkPN "Salvadorean" ;
+ Scandinavian_PN = mkPN "Scandinavian" ;
+ Scottish_PN = mkPN "Scottish" ;
+ Seafood_PN = mkPN "Seafood" ;
+ Singaporean_PN = mkPN "Singaporean" ;
+ Spanish_PN = mkPN "Spanish" ;
+ SriLankan_PN = mkPN ("Sri_Lankan") ;
+ Swedish_PN = mkPN "Swedish" ;
+ Swiss_PN = mkPN "Swiss" ;
+ Tex_Mex_PN = mkPN "Tex-Mex" ;
+ Thai_PN = mkPN "Thai" ;
+ Tibetan_PN = mkPN "Tibetan" ;
+ Turkish_PN = mkPN "Turkish" ;
+ Ukrainian_PN = mkPN "Ukrainian" ;
+ Vegan_PN = mkPN "Vegan" ;
+ Vegetarian_PN = mkPN "Vegetarian" ;
+ Venezulean_PN = mkPN "Venezulean" ;
+ Vietnamese_PN = mkPN "Vietnamese" ;
+
+-- Determiners
+ defSg_Det = defSgDet ;
+-- defPl_Det = defPlDet ;
+ indefSg_Det = indefSgDet ;
+-- indefPl_Det = indefPlDet ;
+ this_Det = mkDet this_QuantSg ;
+-- that_Det = mkDet that_QuantSg ;
+-- these_Det = mkDet these_QuantPl ;
+-- those_Det = mkDet those_QuantPl ;
+
+}
diff --git a/examples/wiki/LexWikiSpa.gf b/examples/wiki/LexWikiSpa.gf
new file mode 100644
index 000000000..306aed30a
--- /dev/null
+++ b/examples/wiki/LexWikiSpa.gf
@@ -0,0 +1,404 @@
+
+instance LexWikiSpa of LexWiki = open SyntaxSpa, IrregSpa, ParadigmsSpa in {
+
+ flags coding = utf8 ;
+
+ oper
+-- Sentences
+ singleWordCommand_Utt verb = mkUtt (mkVP verb) ;
+ command_Utt verb det noun = mkUtt (mkVP (mkV2 verb) (mkNP det noun)) ;
+ randomlyCommand_Utt verb det noun = mkUtt (mkVP (mkAdV "aleatoriamente") (mkVP (mkV2 verb) (mkNP det noun))) ;
+ label_Utt noun = mkUtt (mkNP (myMkPN noun)) ;
+ countryName_Utt pn = mkUtt (mkNP pn) ;
+ cuisineName_Utt pn = mkUtt (mkNP pn) ;
+
+-- Verbs
+ cancel_V = mkV "cancelar" ;
+ select_V = mkV "seleccionar" ;
+ edit_V = mkV "editar" ;
+ save_V = mkV "guardar" ;
+ add_V = mkV "agregar" ;
+ undo_V = deshacer_V ;
+ redo_V = rehacer_V ;
+ cut_V = mkV "cortar" ;
+ copy_V = mkV "copiar" ;
+ paste_V = mkV "pegar" ;
+ delete_V = mkV "borrar" ;
+ refine_V = mkV "refinar" ;
+ replace_V = mkV "reemplazar" ;
+ wrap_V = envolver_V ;
+
+-- Nouns
+-- Information
+ information_N = mkN "información" feminine;
+ name_N = mkN "nombre" ;
+ address_N = mkN "dirección" ;
+ city_N = mkN "ciudad" ;
+ state_N = mkN "estado" ;
+ postalcode_N = compN (mkN "código") "postal" ;
+ country_N = mkN "país" ;
+ phone_N = mkN "teléfono" ;
+ cuisine_N = mkN "cocina" ;
+ language_N = mkN "lenguaje" ;
+
+-- Misc
+ page_N = mkN "página" ;
+ index_N = mkN "índice" ;
+ review_N = mkN "crítica" ;
+ restaurant_N = mkN "restaurante" ;
+ food_N = mkN "comida" ;
+ service_N = mkN "servicio" ;
+ node_N = mkN "nodo" ;
+ tree_N = mkN "árbol" ;
+
+-- Proper Nouns
+-- Countries
+ Andorra_PN = mkPN "Andorra" feminine ;
+ UnitedArabEmirates_PN = mkPN ("Emiratos" ++ "Ãrabes" ++ "Unidos") masculine ;
+ Afghanistan_PN = mkPN "Afganistán" masculine ;
+ AntiguaAndBarbuda_PN = mkPN ("Antigua" ++ "y" ++ "Barbuda") feminine ;
+ Anguilla_PN = mkPN "Anguila" feminine ;
+ Albania_PN = mkPN "Albania" feminine ;
+ Armenia_PN = mkPN "Armenia" feminine ;
+ NetherlandsAntilles_PN = mkPN ("Antillas" ++ "Neerlandesas") feminine ;
+ Angola_PN = mkPN "Angola" feminine ;
+ Antarctica_PN = mkPN "Antártida" feminine ;
+ Argentina_PN = mkPN "Argentina" feminine ;
+ AmericanSamoa_PN = mkPN ("Samoa" ++ "americana") feminine ;
+ Austria_PN = mkPN "Austria" feminine ;
+ Australia_PN = mkPN "Australia" feminine ;
+ Aruba_PN = mkPN "Aruba" feminine ;
+ AlandIslands_PN = mkPN ("Islas" ++ "Aland") feminine ;
+ Azerbaijan_PN = mkPN "Azerbaiyán" masculine ;
+ BosniaAndHerzegovina_PN = mkPN ("Bosnia" ++ "y" ++ "Hercegovina") feminine ;
+ Barbados_PN = mkPN "Barbados" masculine ;
+ Bangladesh_PN = mkPN "Bangladesh" masculine ;
+ Belgium_PN = mkPN "Bélgica" feminine ;
+ BurkinaFaso_PN = mkPN ("Burkina" ++ "Faso") masculine ;
+ Bulgaria_PN = mkPN "Bulgaria" feminine ;
+ Bahrain_PN = mkPN "Bahráin" masculine ;
+ Burundi_PN = mkPN "Burundi" masculine ;
+ Benin_PN = mkPN "Benín" masculine ;
+ Bermuda_PN = mkPN "Bermudas" feminine ;
+ Brunei_PN = mkPN "Brunéi" masculine ;
+ Bolivia_PN = mkPN "Bolivia" feminine ;
+ Brazil_PN = mkPN "Brasil" masculine ;
+ Bahamas_PN = mkPN "Bahamas" feminine ;
+ Bhutan_PN = mkPN "Bután" masculine ;
+ BouvetIsland_PN = mkPN ("Isla" ++ "Bouvet") feminine ;
+ Botswana_PN = mkPN "Botsuana" feminine ;
+ Belarus_PN = mkPN "Bielorrusia" feminine ;
+ Belize_PN = mkPN "Belice" masculine ;
+ Canada_PN = mkPN "Canadá" feminine ;
+ CocosIslands_PN = mkPN ("Islas" ++ "Cocos") feminine ;
+ CongoDemocraticRepublicofthe_PN = mkPN ("Congo," ++ "República" ++ "Democrática" ++ "del") masculine ;
+ CentralAfricanRepublic_PN = mkPN ("República" ++ "Centroafricana") feminine ;
+ Congo_PN = mkPN "Congo" masculine ;
+ Switzerland_PN = mkPN "Suiza" feminine ;
+ CotedIvoire_PN = mkPN ("Costa" ++ "de" ++ "Marfil") feminine ;
+ CookIslands_PN = mkPN ("Islas" ++ "Cook") feminine ;
+ Chile_PN = mkPN "Chile" masculine ;
+ Cameroon_PN = mkPN "Camerún" masculine ;
+ China_PN = mkPN "China" feminine ;
+ Colombia_PN = mkPN "Colombia" feminine ;
+ CostaRica_PN = mkPN ("Costa" ++ "Rica") feminine ;
+ SerbiaAndMontenegro_PN = mkPN ("Serbia" ++ "y" ++ "Montenegro") masculine ;
+ Cuba_PN = mkPN "Cuba" feminine ;
+ CapeVerde_PN = mkPN ("Cabo" ++ "Verde") masculine ;
+ ChristmasIsland_PN = mkPN ("Isla" ++ "Christmas") feminine ;
+ Cyprus_PN = mkPN "Chipre" masculine ;
+ CzechRepublic_PN = mkPN ("República" ++ "Checa") feminine ;
+ Germany_PN = mkPN "Alemania" feminine ;
+ Djibouti_PN = mkPN "Yibuti" masculine ;
+ Denmark_PN = mkPN "Dinamarca" feminine ;
+ Dominica_PN = mkPN "Dominica" feminine ;
+ DominicanRepublic_PN = mkPN ("República" ++ "Dominicana") feminine ;
+ Algeria_PN = mkPN "Argelia" feminine ;
+ Ecuador_PN = mkPN "Ecuador" masculine ;
+ Estonia_PN = mkPN "Estonia" feminine ;
+ Egypt_PN = mkPN "Egipto" masculine ;
+ WesternSahara_PN = mkPN ("Sáhara" ++ "Occidental") feminine ;
+ Eritrea_PN = mkPN "Eritrea" feminine ;
+ Spain_PN = mkPN "España" feminine ;
+ Ethiopia_PN = mkPN "Etiopía" feminine ;
+ Finland_PN = mkPN "Finlandia" feminine ;
+ Fiji_PN = mkPN "Fiyi" masculine ;
+ FalklandIslands_PN = mkPN ("Islas" ++ "Malvinas") feminine ;
+ Micronesia_PN = mkPN "Micronesia" feminine ;
+ FaroeIslands_PN = mkPN ("Islas" ++ "Feroe") feminine ;
+ France_PN = mkPN "Francia" feminine ;
+ Gabon_PN = mkPN "Gabón" masculine ;
+ UnitedKingdom_PN = mkPN ("Reino" ++ "Unido") masculine ;
+ Grenada_PN = mkPN "Granada" feminine ;
+ Georgia_PN = mkPN "Georgia" feminine ;
+ FrenchGuiana_PN = mkPN ("Guayana" ++ "Francesa") feminine ;
+ Guernsey_PN = mkPN "Guernsey" masculine ;
+ Ghana_PN = mkPN "Ghana" feminine ;
+ Gibraltar_PN = mkPN "Gibraltar" masculine ;
+ Greenland_PN = mkPN "Groenlandia" feminine ;
+ Gambia_PN = mkPN "Gambia" feminine ;
+ Guinea_PN = mkPN "Guinea" feminine ;
+ Guadeloupe_PN = mkPN "Guadalupe" masculine ;
+ EquatorialGuinea_PN = mkPN "Guinea" feminine ;
+ Greece_PN = mkPN "Grecia" feminine ;
+ SouthGeorgiaAndTheSouthSandwichIslands_PN = mkPN ("Islas" ++ "Georgia" ++ "del" ++ "Sur" ++ "y" ++ "Sandwich" ++ "del" ++ "Sur") feminine ;
+ Guatemala_PN = mkPN "Guatemala" feminine ;
+ Guam_PN = mkPN "Guam" masculine ;
+ GuineaBissau_PN = mkPN "Guinea-Bissau" feminine ;
+ Guyana_PN = mkPN "Guyana" feminine ;
+ HongKong_PN = mkPN ("Hong" ++ "Kong") masculine ;
+ HeardIslandAndMcDonaldIslands_PN = mkPN ("Islas" ++ "Heard" ++ "y" ++ "McDonald") feminine ;
+ Honduras_PN = mkPN "Honduras" masculine ;
+ Croatia_PN = mkPN "Croacia" feminine ;
+ Haiti_PN = mkPN "Haití" masculine ;
+ Hungary_PN = mkPN "Hungría" feminine ;
+ Indonesia_PN = mkPN "Indonesia" feminine ;
+ Ireland_PN = mkPN "Irlanda" feminine ;
+ Israel_PN = mkPN "Israel" masculine ;
+ IsleofMan_PN = mkPN ("Isla" ++ "de" ++ "Man") feminine ;
+ India_PN = mkPN "India" feminine ;
+ BritishIndianOceanTerritory_PN = mkPN ("Territorio" ++ "Británico" ++ "del" ++ "Océano" ++ "Ãndico") masculine ;
+ Iraq_PN = mkPN "Iraq" masculine ;
+ Iran_PN = mkPN "Irán" masculine ;
+ Iceland_PN = mkPN "Islandia" feminine ;
+ Italy_PN = mkPN "Italia" feminine ;
+ Jersey_PN = mkPN "Jersey" masculine ;
+ Jamaica_PN = mkPN "Jamaica" feminine ;
+ Jordan_PN = mkPN "Jordania" feminine ;
+ Japan_PN = mkPN "Japón" masculine ;
+ Kenya_PN = mkPN "Kenia" feminine ;
+ Kyrgyzstan_PN = mkPN "Kirguizistán" masculine ;
+ Cambodia_PN = mkPN "Camboya" feminine ;
+ Kiribati_PN = mkPN "Kiribati" masculine ;
+ Comoros_PN = mkPN "Comoras" feminine ;
+ SaintKittsAndNevis_PN = mkPN ("San" ++ "Cristóbal" ++ "y" ++ "Nieves") masculine ;
+ NorthKorea_PN = mkPN ("Corea" ++ "del" ++ "Norte") feminine ;
+ SouthKorea_PN = mkPN ("Corea" ++ "del" ++ "Sur") feminine ;
+ Kuwait_PN = mkPN "Kuwait" masculine ;
+ CaymanIslands_PN = mkPN ("Islas" ++ "Caimán") feminine ;
+ Kazakhstan_PN = mkPN "Kazajistán" masculine ;
+ Laos_PN = mkPN "Laos" masculine ;
+ Lebanon_PN = mkPN "Líbano" masculine ;
+ SaintLucia_PN = mkPN ("Santa" ++ "Lucía") feminine ;
+ Liechtenstein_PN = mkPN "Liechtenstein" masculine ;
+ SriLanka_PN = mkPN ("Sri" ++ "Lanka") feminine ;
+ Liberia_PN = mkPN "Liberia" feminine ;
+ Lesotho_PN = mkPN "Lesoto" masculine ;
+ Lithuania_PN = mkPN "Lituania" feminine ;
+ Luxembourg_PN = mkPN "Luxemburgo" masculine ;
+ Latvia_PN = mkPN "Letonia" feminine ;
+ Libya_PN = mkPN "Libia" feminine ;
+ Morocco_PN = mkPN "Marruecos" masculine ;
+ Monaco_PN = mkPN "Mónaco" masculine ;
+ Moldova_PN = mkPN "Moldavia" feminine ;
+ Montenegro_PN = mkPN "Montenegro" masculine ;
+ Madagascar_PN = mkPN "Madagascar" masculine ;
+ MarshallIslands_PN = mkPN ("Islas" ++ "Marshall") feminine ;
+ Macedonia_PN = mkPN "Macedonia" feminine ;
+ Mali_PN = mkPN "Mali" masculine ;
+ Myanmar_PN = mkPN "Myanmar" masculine ;
+ Mongolia_PN = mkPN "Mongolia" feminine ;
+ Macao_PN = mkPN "Macao" masculine ;
+ NorthernMarianaIslands_PN = mkPN ("Islas" ++ "Mariana" ++ "del" ++ "Norte") feminine ;
+ Martinique_PN = mkPN "Martinica" feminine ;
+ Mauritania_PN = mkPN "Mauritania" feminine ;
+ Montserrat_PN = mkPN "Montserrat" masculine ;
+ Malta_PN = mkPN "Malta" feminine ;
+ Mauritius_PN = mkPN "Mauricio" masculine ;
+ Maldives_PN = mkPN "Maldivas" feminine ;
+ Malawi_PN = mkPN "Malaui" masculine ;
+ Mexico_PN = mkPN "México" masculine ;
+ Malaysia_PN = mkPN "Malasia" feminine ;
+ Mozambique_PN = mkPN "Mozambique" masculine ;
+ Namibia_PN = mkPN "Namibia" feminine ;
+ NewCaledonia_PN = mkPN ("Nueva" ++ "Caledonia") feminine ;
+ Niger_PN = mkPN "Níger" masculine ;
+ NorfolkIsland_PN = mkPN ("Isla" ++ "Norfolk") feminine ;
+ Nigeria_PN = mkPN "Nigeria" feminine ;
+ Nicaragua_PN = mkPN "Nicaragua" feminine ;
+ Netherlands_PN = mkPN ("Países" ++ "Bajos") masculine ;
+ Norway_PN = mkPN "Noruega" feminine ;
+ Nepal_PN = mkPN "Nepal" masculine ;
+ Nauru_PN = mkPN "Nauru" masculine ;
+ Niue_PN = mkPN "Niue" masculine ;
+ NewZealand_PN = mkPN ("Nueva" ++ "Zelanda") feminine ;
+ Oman_PN = mkPN "Omán" masculine ;
+ Panama_PN = mkPN "Panamá" feminine ;
+ Peru_PN = mkPN "Perú" masculine ;
+ FrenchPolynesia_PN = mkPN ("Polinesia" ++ "Francesa") feminine ;
+ PapuaNewGuinea_PN = mkPN ("Papúa-Nueva" ++ "Guinea") feminine ;
+ Philippines_PN = mkPN "Filipinas" feminine ;
+ Pakistan_PN = mkPN "Pakistán" masculine ;
+ Poland_PN = mkPN "Polonia" feminine ;
+ SaintPierreAndMiquelon_PN = mkPN ("San" ++ "Pedro" ++ "y" ++ "Miquelón") masculine ;
+ Pitcairn_PN = mkPN ("Islas" ++ "Pitcairn") feminine ;
+ PuertoRico_PN = mkPN ("Puerto" ++ "Rico") masculine ;
+ PalestinianTerritory_PN = mkPN ("Territorio" ++ "Palestino") masculine ;
+ Portugal_PN = mkPN "Portugal" masculine ;
+ Palau_PN = mkPN "Palaos" masculine ;
+ Paraguay_PN = mkPN "Paraguay" masculine ;
+ Qatar_PN = mkPN "Qatar" masculine ;
+ Reunion_PN = mkPN "Reunión" masculine ;
+ Romania_PN = mkPN "Rumania" feminine ;
+ Serbia_PN = mkPN "Serbia" feminine ;
+ Russia_PN = mkPN "Rusia" feminine ;
+ Rwanda_PN = mkPN "Ruanda" feminine ;
+ SaudiArabia_PN = mkPN ("Arabia" ++ "Saudí") feminine ;
+ SolomonIslands_PN = mkPN ("Islas" ++ "Salomón") feminine ;
+ Seychelles_PN = mkPN "Seychelles" masculine ;
+ Sudan_PN = mkPN "Sudán" masculine ;
+ Sweden_PN = mkPN "Suecia" feminine ;
+ Singapore_PN = mkPN "Singapur" masculine ;
+ SaintHelena_PN = mkPN ("Santa" ++ "Elena") feminine ;
+ Slovenia_PN = mkPN "Eslovenia" feminine ;
+ SvalbardAndJanMayen_PN = mkPN ("Islas" ++ "Svalbard" ++ "y" ++ "Jan" ++ "Mayen") feminine ;
+ Slovakia_PN = mkPN "Eslovaquia" feminine ;
+ SierraLeone_PN = mkPN ("Sierra" ++ "Leona") feminine ;
+ SanMarino_PN = mkPN ("San" ++ "Marino") masculine ;
+ Senegal_PN = mkPN "Senegal" masculine ;
+ Somalia_PN = mkPN "Somalia" feminine ;
+ Suriname_PN = mkPN "Surinam" masculine ;
+ SaoTomeAndPrincipe_PN = mkPN ("Santo" ++ "Tomé" ++ "y" ++ "Príncipe") masculine ;
+ ElSalvador_PN = mkPN ("El" ++ "Salvador") masculine ;
+ Syria_PN = mkPN "Siria" feminine ;
+ Swaziland_PN = mkPN "Suazilandia" feminine ;
+ TurksAndCaicosIslands_PN = mkPN ("Islas" ++ "Turcas" ++ "y" ++ "Caicos") feminine ;
+ Chad_PN = mkPN "Chad" masculine ;
+ FrenchSouthernTerritories_PN = mkPN ("Territorios" ++ "Australes" ++ "Franceses") masculine ;
+ Togo_PN = mkPN "Togo" masculine ;
+ Thailand_PN = mkPN "Tailandia" feminine ;
+ Tajikistan_PN = mkPN "Tayikistán" masculine ;
+ Tokelau_PN = mkPN "Tokelau" masculine ;
+ EastTimor_PN = mkPN ("Timor" ++ "Oriental") masculine ;
+ Turkmenistan_PN = mkPN "Turkmenistán" masculine ;
+ Tunisia_PN = mkPN "Túnez" masculine ;
+ Tonga_PN = mkPN "Tonga" feminine ;
+ Turkey_PN = mkPN "Turquía" feminine ;
+ TrinidadAndTobago_PN = mkPN ("Trinidad" ++ "y" ++ "Tobago") masculine ;
+ Tuvalu_PN = mkPN "Tuvalu" masculine ;
+ Taiwan_PN = mkPN "Taiwán" masculine ;
+ Tanzania_PN = mkPN "Tanzania" feminine ;
+ Ukraine_PN = mkPN "Ucrania" feminine ;
+ Uganda_PN = mkPN "Uganda" feminine ;
+ UnitedStatesMinorOutlyingIslands_PN = mkPN ("Islas" ++ "menores" ++ "alejadas" ++ "de" ++ "los" ++ "Estados" ++ "Unidos") feminine ;
+ UnitedStates_PN = mkPN ("Estados" ++ "Unidos") masculine ;
+ Uruguay_PN = mkPN "Uruguay" masculine ;
+ Uzbekistan_PN = mkPN "Uzbekistán" masculine ;
+ VaticanCity_PN = mkPN ("Ciudad" ++ "del" ++ "Vaticano") feminine ;
+ SaintVincentAndtheGrenadines_PN = mkPN ("San" ++ "Vicente" ++ "y" ++ "las" ++ "Granadinas") masculine ;
+ Venezuela_PN = mkPN "Venezuela" feminine ;
+ VirginIslandsBritish_PN = mkPN ("Islas" ++ "Vírgenes" ++ "Británicas") feminine ;
+ VirginIslandsUS_PN = mkPN ("Islas" ++ "Vírgenes," ++ "EE.UU.") feminine ;
+ Vietnam_PN = mkPN "Vietnam" masculine ;
+ Vanuatu_PN = mkPN "Vanuatu" masculine ;
+ WallisAndFutuna_PN = mkPN ("Wallis" ++ "y" ++ "Futuna") feminine ;
+ Samoa_PN = mkPN "Samoa" feminine ;
+ Yemen_PN = mkPN "Yemen" masculine ;
+ Mayotte_PN = mkPN "Mayotte" masculine ;
+ SouthAfrica_PN = mkPN "Sudáfrica" feminine ;
+ Zambia_PN = mkPN "Zambia" feminine ;
+ Zimbabwe_PN = mkPN "Zimbabue" masculine ;
+
+-- Cuisines
+ Afghani_PN = mkPN "Afgana" ;
+ African_PN = mkPN "Africana" ;
+ American_PN = mkPN "Americana" ;
+ Arabic_PN = mkPN "Arabe" ;
+ Argentine_PN = mkPN "Argentina" ;
+ Armenian_PN = mkPN "Armenia" ;
+ Asian_PN = mkPN "Asiática" ;
+ Australian_PN = mkPN "Australiana" ;
+ Austrian_PN = mkPN "Austriaca" ;
+ Balinese_PN = mkPN "Balinesa" ;
+ Basque_PN = mkPN "Vasca" ;
+ Belgian_PN = mkPN "Belga" ;
+ Brazilian_PN = mkPN "Brasileña" ;
+ Bulgarian_PN = mkPN "Búlgara" ;
+ Burmese_PN = mkPN "Birmana" ;
+ Cajun_PN = mkPN "Cajun" ;
+ Cambodian_PN = mkPN "Camboyana" ;
+ Caribbean_PN = mkPN "Caribeña" ;
+ Catalan_PN = mkPN "Catalana" ;
+ Chinese_PN = mkPN "China" ;
+ Colombian_PN = mkPN "Colombiana" ;
+ Contemporary_PN = mkPN "Contemporánea" ;
+ Continental_PN = mkPN "Continental" ;
+ Creole_PN = mkPN "Criolla" ;
+ Cuban_PN = mkPN "Cubana" ;
+ Czech_PN = mkPN "Checa" ;
+ Dutch_PN = mkPN "Holandesa" ;
+ EasternEuropean_PN = mkPN ("Europea" ++ "oriental") feminine ;
+ Eclectic_PN = mkPN "Ecléctica" ;
+ Egyptian_PN = mkPN "Egipcia" ;
+ English_PN = mkPN "Inglesa" ;
+ Ethiopian_PN = mkPN "Etíope" ;
+ Ethnic_PN = mkPN "Etnica" ;
+ French_PN = mkPN "Francesa" ;
+ Fusion_PN = mkPN "Fusión" ;
+ German_PN = mkPN "Alemana" ;
+ Greek_PN = mkPN "Griega" ;
+ Haitian_PN = mkPN "Haitiana" ;
+ Hungarian_PN = mkPN "Húngara" ;
+ Indian_PN = mkPN "India" ;
+ Indonesian_PN = mkPN "Indonesia" ;
+ International_PN = mkPN "Internacional" ;
+ Irish_PN = mkPN "Irlandesa" ;
+ Israeli_PN = mkPN "Israelí" ;
+ Italian_PN = mkPN "Italiana" ;
+ Jamaican_PN = mkPN "Jamaiquina" ;
+ Japanese_PN = mkPN "Japonesa" ;
+ Jewish_PN = mkPN "Judía" ;
+ Korean_PN = mkPN "Coreana" ;
+ LatinAmerican_PN = mkPN "Latinoamericana" ;
+ Lebanese_PN = mkPN "Libanesa" ;
+ Malaysian_PN = mkPN "Malasia" ;
+ Mexican_PN = mkPN "Mexicana" ;
+ MiddleEastern_PN = mkPN ("Del" ++ "Medio" ++ "Oriente") feminine ;
+ Mongolian_PN = mkPN "Mongola" ;
+ Moroccan_PN = mkPN "Marroquí" ;
+ NewZealandCuisine_PN = mkPN "Neozelandesa" ;
+ Nicaraguan_PN = mkPN "Nicaraguense" ;
+ Nouveau_PN = mkPN "Nouveau" ;
+ Pakistani_PN = mkPN "Pakistaní" ;
+ Persian_PN = mkPN "Persa" ;
+ Peruvian_PN = mkPN "Peruana" ;
+ Philippine_PN = mkPN "Filipina" ;
+ Polish_PN = mkPN "Polaca" ;
+ Polynesian_PN = mkPN "Polinesia" ;
+ Portuguese_PN = mkPN "Portuguesa" ;
+ PuertoRican_PN = mkPN "Puertorriqueña" ;
+ Russian_PN = mkPN "Rusa" ;
+ Salvadorean_PN = mkPN "Salvadoreña" ;
+ Scandinavian_PN = mkPN "Escandinava" ;
+ Scottish_PN = mkPN "Escocesa" ;
+ Seafood_PN = mkPN ("Pescados" ++ "y" ++ "mariscos") feminine ;
+ Singaporean_PN = mkPN "Singapurense" ;
+ Spanish_PN = mkPN "Española" ;
+ SriLankan_PN = mkPN "Esrilanquesa" ;
+ Swedish_PN = mkPN "Sueca" ;
+ Swiss_PN = mkPN "Suiza" ;
+ Tex_Mex_PN = mkPN "Tex-Mex" ;
+ Thai_PN = mkPN "Tailandesa" ;
+ Tibetan_PN = mkPN "Tibetana" ;
+ Turkish_PN = mkPN "Turca" ;
+ Ukrainian_PN = mkPN "Ucraniana" ;
+ Vegan_PN = mkPN "Vegana" ;
+ Vegetarian_PN = mkPN "Vegetariana" ;
+ Venezulean_PN = mkPN "Venezolana" ;
+ Vietnamese_PN = mkPN "Vietnamita" ;
+
+-- Determiners
+ defSg_Det = defSgDet ;
+-- defPl_Det = defPlDet ;
+ indefSg_Det = indefSgDet ;
+-- indefPl_Det = indefPlDet ;
+ this_Det = mkDet this_QuantSg ;
+-- that_Det = mkDet that_QuantSg ;
+-- these_Det = mkDet these_QuantPl ;
+-- those_Det = mkDet those_QuantPl ;
+
+-- Functions
+ myMkPN : N -> PN =
+ \n -> {s = n.s ! singular ; g = n.g ; lock_PN = <>} ;
+
+}
diff --git a/examples/wiki/LexWikiSwe.gf b/examples/wiki/LexWikiSwe.gf
new file mode 100644
index 000000000..5dfba8de8
--- /dev/null
+++ b/examples/wiki/LexWikiSwe.gf
@@ -0,0 +1,401 @@
+
+instance LexWikiSwe of LexWiki = open SyntaxSwe, IrregSwe, ParadigmsSwe in {
+
+ flags coding = utf8 ;
+
+ oper
+-- Sentences
+ singleWordCommand_Utt verb = mkUtt politeImpForm positivePol (mkImp verb) ;
+ command_Utt verb det noun = mkUtt politeImpForm positivePol (mkImp (mkVP (mkV2 verb) (mkNP det noun))) ;
+ randomlyCommand_Utt verb det noun = mkUtt politeImpForm positivePol (mkImp (mkVP (mkAdV "slumpmässigt") (mkVP (mkV2 verb) (mkNP det noun)))) ;
+ label_Utt noun = mkUtt (mkNP (nounPN noun)) ;
+ countryName_Utt pn = mkUtt (mkNP pn) ;
+ cuisineName_Utt pn = mkUtt (mkNP pn) ;
+
+-- Verbs
+ cancel_V = mkV "avbryt" ;
+ select_V = mkV "väljer" ;
+ edit_V = mkV "redigerar" ;
+ save_V = mkV "sparar" ;
+ add_V = mkV (mkV "lägger") "till" ;
+ undo_V = mkV "Ã¥ngrar" ;
+ redo_V = mkV "upprepar" ;
+ cut_V = mkV (mkV "klipper") "ut" ;
+ copy_V = mkV "kopierar" ;
+ paste_V = mkV (mkV "klistrar") "in" ;
+ delete_V = mkV "raderar" ;
+ refine_V = mkV "raffinerar" ; -- FIX!!!
+ replace_V = mkV "ersätter" ;
+ wrap_V = mkV "förpackar" ; -- FIX!!!
+
+-- Nouns
+-- Information
+ information_N = mkN "information" ;
+ name_N = mkN "namn" "namnet" "namn" "namnen" ;
+ address_N = mkN "adress" ;
+ city_N = mkN "stad" "städer" ;
+ state_N = mkN "stat" ;
+ postalcode_N = mkN "postnummer" "postnumret" "postnummer" "postnumren" ;
+ country_N = mkN "land" "landet" "länder" "länderna" ;
+ phone_N = mkN "telefonnummer" "telefonnumret" "telefonnummer" "telefonnumren" ;
+ cuisine_N = mkN "kök" "köket" "kök" "köken" ;
+ language_N = mkN "språk" "språket" "språk" "språken" ;
+
+-- Misc
+ page_N = mkN "sida" ;
+ index_N = mkN "index" "indexet" "index" "indexen" ;
+ review_N = mkN "recension" ;
+ restaurant_N = mkN "restaurang" ;
+ food_N = mkN "mat" ;
+ service_N = mkN "betjäning" ;
+ node_N = mkN "nod" ;
+ tree_N = mkN "träd" "trädet" "träd" "träden" ;
+
+-- Proper Nouns
+-- Countries
+ Andorra_PN = mkPN "Andorra" ;
+ UnitedArabEmirates_PN = mkPN "Förenade Arabemiraten" ;
+ Afghanistan_PN = mkPN "Afghanistan" ;
+ AntiguaAndBarbuda_PN = mkPN "Antigua och Barbuda" ;
+ Anguilla_PN = mkPN "Anguilla" ;
+ Albania_PN = mkPN "Albanien" ;
+ Armenia_PN = mkPN "Armenien" ;
+ NetherlandsAntilles_PN = mkPN "Nederländska Antillerna" ;
+ Angola_PN = mkPN "Angola" ;
+ Antarctica_PN = mkPN "Antarktis" ;
+ Argentina_PN = mkPN "Argentina" ;
+ AmericanSamoa_PN = mkPN "Amerikanska Samoa" ;
+ Austria_PN = mkPN "Österrike" ;
+ Australia_PN = mkPN "Australien" ;
+ Aruba_PN = mkPN "Aruba" ;
+ AlandIslands_PN = mkPN "Ã…land" ;
+ Azerbaijan_PN = mkPN "Azerbajdzjan" ;
+ BosniaAndHerzegovina_PN = mkPN "Bosnien-Hercegovina" ;
+ Barbados_PN = mkPN "Barbados" ;
+ Bangladesh_PN = mkPN "Bangladesh" ;
+ Belgium_PN = mkPN "Belgien" ;
+ BurkinaFaso_PN = mkPN "Burkina Faso" ;
+ Bulgaria_PN = mkPN "Bulgarien" ;
+ Bahrain_PN = mkPN "Bahrain" ;
+ Burundi_PN = mkPN "Burundi" ;
+ Benin_PN = mkPN "Benin" ;
+ Bermuda_PN = mkPN "Bermuda" ;
+ Brunei_PN = mkPN "Brunei" ;
+ Bolivia_PN = mkPN "Bolivia" ;
+ Brazil_PN = mkPN "Brasilien" ;
+ Bahamas_PN = mkPN "Bahamas" ;
+ Bhutan_PN = mkPN "Bhutan" ;
+ BouvetIsland_PN = mkPN "Bouvetön" ;
+ Botswana_PN = mkPN "Botswana" ;
+ Belarus_PN = mkPN "Vitryssland" ;
+ Belize_PN = mkPN "Belize" ;
+ Canada_PN = mkPN "Kanada" ;
+ CocosIslands_PN = mkPN "Kokosöarna" ;
+ CongoDemocraticRepublicofthe_PN = mkPN "Demokratiska republiken Kongo" ;
+ CentralAfricanRepublic_PN = mkPN "Centralafrikanska republiken" ;
+ Congo_PN = mkPN "Kongo" ;
+ Switzerland_PN = mkPN "Schweiz" ;
+ CotedIvoire_PN = mkPN "Elfenbenskusten" ;
+ CookIslands_PN = mkPN "Cooköarna" ;
+ Chile_PN = mkPN "Chile" ;
+ Cameroon_PN = mkPN "Kamerun" ;
+ China_PN = mkPN "Kina" ;
+ Colombia_PN = mkPN "Colombia" ;
+ CostaRica_PN = mkPN "Costa Rica" ;
+ SerbiaAndMontenegro_PN = mkPN "Serbien och Montenegro" ;
+ Cuba_PN = mkPN "Kuba" ;
+ CapeVerde_PN = mkPN "Kap Verde" ;
+ ChristmasIsland_PN = mkPN "Julön" ;
+ Cyprus_PN = mkPN "Cypern" ;
+ CzechRepublic_PN = mkPN "Tjeckien" ;
+ Germany_PN = mkPN "Tyskland" ;
+ Djibouti_PN = mkPN "Djibouti" ;
+ Denmark_PN = mkPN "Danmark" ;
+ Dominica_PN = mkPN "Dominica" ;
+ DominicanRepublic_PN = mkPN "Dominikanska republiken" ;
+ Algeria_PN = mkPN "Algeriet" ;
+ Ecuador_PN = mkPN "Ecuador" ;
+ Estonia_PN = mkPN "Estland" ;
+ Egypt_PN = mkPN "Egypten" ;
+ WesternSahara_PN = mkPN "Västsahara" ;
+ Eritrea_PN = mkPN "Eritrea" ;
+ Spain_PN = mkPN "Spanien" ;
+ Ethiopia_PN = mkPN "Etiopien" ;
+ Finland_PN = mkPN "Finland" ;
+ Fiji_PN = mkPN "Fiji" ;
+ FalklandIslands_PN = mkPN "Falklandsöarna" ;
+ Micronesia_PN = mkPN "Mikronesien" ;
+ FaroeIslands_PN = mkPN "Färöarna" ;
+ France_PN = mkPN "Frankrike" ;
+ Gabon_PN = mkPN "Gabon" ;
+ UnitedKingdom_PN = mkPN "Storbritannien" ;
+ Grenada_PN = mkPN "Grenada" ;
+ Georgia_PN = mkPN "Georgia" ;
+ FrenchGuiana_PN = mkPN "Franska Guyana" ;
+ Guernsey_PN = mkPN "Guernsey" ;
+ Ghana_PN = mkPN "Ghana" ;
+ Gibraltar_PN = mkPN "Gibraltar" ;
+ Greenland_PN = mkPN "Grönland" ;
+ Gambia_PN = mkPN "Gambia" ;
+ Guinea_PN = mkPN "Guinea" ;
+ Guadeloupe_PN = mkPN "Guadeloupe" ;
+ EquatorialGuinea_PN = mkPN "Ekvatorialguinea" ;
+ Greece_PN = mkPN "Grekland" ;
+ SouthGeorgiaAndTheSouthSandwichIslands_PN = mkPN "Sydgeorgien och Sydsandwichöarna" ;
+ Guatemala_PN = mkPN "Guatemala" ;
+ Guam_PN = mkPN "Guam" ;
+ GuineaBissau_PN = mkPN "Guinea-Bissau" ;
+ Guyana_PN = mkPN "Guyana" ;
+ HongKong_PN = mkPN "Hongkong" ;
+ HeardIslandAndMcDonaldIslands_PN = mkPN "Heardön och McDonaldöarna" ;
+ Honduras_PN = mkPN "Honduras" ;
+ Croatia_PN = mkPN "Kroatien" ;
+ Haiti_PN = mkPN "Haiti" ;
+ Hungary_PN = mkPN "Ungern" ;
+ Indonesia_PN = mkPN "Indonesien" ;
+ Ireland_PN = mkPN "Irland" ;
+ Israel_PN = mkPN "Israel" ;
+ IsleofMan_PN = mkPN "Isle of Man" ;
+ India_PN = mkPN "Indien" ;
+ BritishIndianOceanTerritory_PN = mkPN "Brittiska territoriet i Indiska Oceanen" ;
+ Iraq_PN = mkPN "Irak" ;
+ Iran_PN = mkPN "Iran" ;
+ Iceland_PN = mkPN "Island" ;
+ Italy_PN = mkPN "Italien" ;
+ Jersey_PN = mkPN "Jersey" ;
+ Jamaica_PN = mkPN "Jamaica" ;
+ Jordan_PN = mkPN "Jordanien" ;
+ Japan_PN = mkPN "Japan" ;
+ Kenya_PN = mkPN "Kenya" ;
+ Kyrgyzstan_PN = mkPN "Kirgizistan" ;
+ Cambodia_PN = mkPN "Kambodja" ;
+ Kiribati_PN = mkPN "Kiribati" ;
+ Comoros_PN = mkPN "Komorerna" ;
+ SaintKittsAndNevis_PN = mkPN "St Kitts och Nevis" ;
+ NorthKorea_PN = mkPN "Nordkorea" ;
+ SouthKorea_PN = mkPN "Sydkorea" ;
+ Kuwait_PN = mkPN "Kuwait" ;
+ CaymanIslands_PN = mkPN "Caymanöarna" ;
+ Kazakhstan_PN = mkPN "Kazakstan" ;
+ Laos_PN = mkPN "Laos" ;
+ Lebanon_PN = mkPN "Libanon" ;
+ SaintLucia_PN = mkPN "St Lucia" ;
+ Liechtenstein_PN = mkPN "Liechtenstein" ;
+ SriLanka_PN = mkPN "Sri Lanka" ;
+ Liberia_PN = mkPN "Liberia" ;
+ Lesotho_PN = mkPN "Lesotho" ;
+ Lithuania_PN = mkPN "Litauen" ;
+ Luxembourg_PN = mkPN "Luxemburg" ;
+ Latvia_PN = mkPN "Lettland" ;
+ Libya_PN = mkPN "Libyen" ;
+ Morocco_PN = mkPN "Marocko" ;
+ Monaco_PN = mkPN "Monaco" ;
+ Moldova_PN = mkPN "Moldavien" ;
+ Montenegro_PN = mkPN "Montenegro" ;
+ Madagascar_PN = mkPN "Madagaskar" ;
+ MarshallIslands_PN = mkPN "Marshallöarna" ;
+ Macedonia_PN = mkPN "Makedonien" ;
+ Mali_PN = mkPN "Mali" ;
+ Myanmar_PN = mkPN "Myanmar" ;
+ Mongolia_PN = mkPN "Mongoliet" ;
+ Macao_PN = mkPN "Macao" ;
+ NorthernMarianaIslands_PN = mkPN "Nordmarianerna" ;
+ Martinique_PN = mkPN "Martinique" ;
+ Mauritania_PN = mkPN "Mauretanien" ;
+ Montserrat_PN = mkPN "Montserrat" ;
+ Malta_PN = mkPN "Malta" ;
+ Mauritius_PN = mkPN "Mauritius" ;
+ Maldives_PN = mkPN "Maldiverna" ;
+ Malawi_PN = mkPN "Malawi" ;
+ Mexico_PN = mkPN "Mexiko" ;
+ Malaysia_PN = mkPN "Malaysia" ;
+ Mozambique_PN = mkPN "Moçambique" ;
+ Namibia_PN = mkPN "Namibia" ;
+ NewCaledonia_PN = mkPN "Nya Kaledonien" ;
+ Niger_PN = mkPN "Niger" ;
+ NorfolkIsland_PN = mkPN "Norfolkön" ;
+ Nigeria_PN = mkPN "Nigeria" ;
+ Nicaragua_PN = mkPN "Nicaragua" ;
+ Netherlands_PN = mkPN "Nederländerna" ;
+ Norway_PN = mkPN "Norge" ;
+ Nepal_PN = mkPN "Nepal" ;
+ Nauru_PN = mkPN "Nauru" ;
+ Niue_PN = mkPN "Niue" ;
+ NewZealand_PN = mkPN "Nya Zeeland" ;
+ Oman_PN = mkPN "Oman" ;
+ Panama_PN = mkPN "Panama" ;
+ Peru_PN = mkPN "Peru" ;
+ FrenchPolynesia_PN = mkPN "Franska Polynesien" ;
+ PapuaNewGuinea_PN = mkPN "Papua Nya Guinea" ;
+ Philippines_PN = mkPN "Filippinerna" ;
+ Pakistan_PN = mkPN "Pakistan" ;
+ Poland_PN = mkPN "Polen" ;
+ SaintPierreAndMiquelon_PN = mkPN "St. Pierre och Miquelon" ;
+ Pitcairn_PN = mkPN "Pitcairn" ;
+ PuertoRico_PN = mkPN "Puerto Rico" ;
+ PalestinianTerritory_PN = mkPN "Palestinska territoriet" ;
+ Portugal_PN = mkPN "Portugal" ;
+ Palau_PN = mkPN "Palau Belau" ;
+ Paraguay_PN = mkPN "Paraguay" ;
+ Qatar_PN = mkPN "Qatar" ;
+ Reunion_PN = mkPN "Réunion" ;
+ Romania_PN = mkPN "Rumänien" ;
+ Serbia_PN = mkPN "Serbien" ;
+ Russia_PN = mkPN "Ryssland" ;
+ Rwanda_PN = mkPN "Rwanda" ;
+ SaudiArabia_PN = mkPN "Saudiarabien" ;
+ SolomonIslands_PN = mkPN "Salomonöarna" ;
+ Seychelles_PN = mkPN "Seychellerna" ;
+ Sudan_PN = mkPN "Sudan" ;
+ Sweden_PN = mkPN "Sverige" ;
+ Singapore_PN = mkPN "Singapore" ;
+ SaintHelena_PN = mkPN "St Helena" ;
+ Slovenia_PN = mkPN "Slovenien" ;
+ SvalbardAndJanMayen_PN = mkPN "Svalbard och Jan Mayen" ;
+ Slovakia_PN = mkPN "Slovakien" ;
+ SierraLeone_PN = mkPN "Sierra Leone" ;
+ SanMarino_PN = mkPN "San Marino" ;
+ Senegal_PN = mkPN "Senegal" ;
+ Somalia_PN = mkPN "Somalia" ;
+ Suriname_PN = mkPN "Surinam" ;
+ SaoTomeAndPrincipe_PN = mkPN "Sao Tomé och Principe" ;
+ ElSalvador_PN = mkPN "El Salvador" ;
+ Syria_PN = mkPN "Syrien" ;
+ Swaziland_PN = mkPN "Swaziland" ;
+ TurksAndCaicosIslands_PN = mkPN "Turks- och Caicosöarna" ;
+ Chad_PN = mkPN "Tchad" ;
+ FrenchSouthernTerritories_PN = mkPN "Franska territorierna i södra Indiska Oceanen" ;
+ Togo_PN = mkPN "Togo" ;
+ Thailand_PN = mkPN "Thailand" ;
+ Tajikistan_PN = mkPN "Tadzjikistan" ;
+ Tokelau_PN = mkPN "Tokelauöarna" ;
+ EastTimor_PN = mkPN "Östtimor" ;
+ Turkmenistan_PN = mkPN "Turkmenistan" ;
+ Tunisia_PN = mkPN "Tunisien" ;
+ Tonga_PN = mkPN "Tonga" ;
+ Turkey_PN = mkPN "Turkiet" ;
+ TrinidadAndTobago_PN = mkPN "Trinidad och Tobago" ;
+ Tuvalu_PN = mkPN "Tuvalu" ;
+ Taiwan_PN = mkPN "Taiwan" ;
+ Tanzania_PN = mkPN "Tanzania" ;
+ Ukraine_PN = mkPN "Ukraina" ;
+ Uganda_PN = mkPN "Uganda" ;
+ UnitedStatesMinorOutlyingIslands_PN = mkPN "Förenta staternas yttre öar" ;
+ UnitedStates_PN = mkPN "USA" ;
+ Uruguay_PN = mkPN "Uruguay" ;
+ Uzbekistan_PN = mkPN "Uzbekistan" ;
+ VaticanCity_PN = mkPN "Vatikanstaten" ;
+ SaintVincentAndtheGrenadines_PN = mkPN "Saint Vincent och Grenadinerna" ;
+ Venezuela_PN = mkPN "Venezuela" ;
+ VirginIslandsBritish_PN = mkPN "Brittiska jungfruöarna" ;
+ VirginIslandsUS_PN = mkPN "Amerikanska jungfruöarna" ;
+ Vietnam_PN = mkPN "Vietnam" ;
+ Vanuatu_PN = mkPN "Vanuatu" ;
+ WallisAndFutuna_PN = mkPN "Wallis och Futuna" ;
+ Samoa_PN = mkPN "Samoa" ;
+ Yemen_PN = mkPN "Yemen" ;
+ Mayotte_PN = mkPN "Mayotte" ;
+ SouthAfrica_PN = mkPN "Sydafrika" ;
+ Zambia_PN = mkPN "Zambia" ;
+ Zimbabwe_PN = mkPN "Zimbabwe" ;
+
+
+-- Cuisines
+ Afghani_PN = mkPN "Afghansk" ;
+ African_PN = mkPN "Afrikansk" ;
+ American_PN = mkPN "Amerikansk" ;
+ Arabic_PN = mkPN "Arabisk" ;
+ Argentine_PN = mkPN "Argentinsk" ;
+ Armenian_PN = mkPN "Armenisk" ;
+ Asian_PN = mkPN "Asiatisk" ;
+ Australian_PN = mkPN "Australiensisk" ;
+ Austrian_PN = mkPN "Österrikisk" ;
+ Balinese_PN = mkPN "Balinesisk" ;
+ Basque_PN = mkPN "Baskisk" ;
+ Belgian_PN = mkPN "Belgisk" ;
+ Brazilian_PN = mkPN "Brasiliansk" ;
+ Bulgarian_PN = mkPN "Bulgarisk" ;
+ Burmese_PN = mkPN "Burmesisk" ;
+ Cajun_PN = mkPN "Cajun" ;
+ Cambodian_PN = mkPN "Kambodjansk" ;
+ Caribbean_PN = mkPN "Karibisk" ;
+ Catalan_PN = mkPN "Katalansk" ;
+ Chinese_PN = mkPN "Kinesisk" ;
+ Colombian_PN = mkPN "Colombiansk" ;
+ Contemporary_PN = mkPN "Samtida" ;
+ Continental_PN = mkPN "Kontinental" ;
+ Creole_PN = mkPN "Kreolsk" ;
+ Cuban_PN = mkPN "Kubansk" ;
+ Czech_PN = mkPN "Tjeckisk" ;
+ Dutch_PN = mkPN "Nederländsk" ;
+ EasternEuropean_PN = mkPN "Östeuropeisk" ;
+ Eclectic_PN = mkPN "Eklektisk" ;
+ Egyptian_PN = mkPN "Egyptisk" ;
+ English_PN = mkPN "Brittisk" ;
+ Ethiopian_PN = mkPN "Etiopisk" ;
+ Ethnic_PN = mkPN "Etnisk" ;
+ French_PN = mkPN "Fransk" ;
+ Fusion_PN = mkPN "Fusion" ;
+ German_PN = mkPN "Tysk" ;
+ Greek_PN = mkPN "Grekisk" ;
+ Haitian_PN = mkPN "Haitiansk" ;
+ Hungarian_PN = mkPN "Ungersk" ;
+ Indian_PN = mkPN "Indisk" ;
+ Indonesian_PN = mkPN "Indonesisk" ;
+ International_PN = mkPN "Internationell" ;
+ Irish_PN = mkPN "Irländsk" ;
+ Israeli_PN = mkPN "Israelisk" ;
+ Italian_PN = mkPN "Italiensk" ;
+ Jamaican_PN = mkPN "Jamaicansk" ;
+ Japanese_PN = mkPN "Japansk" ;
+ Jewish_PN = mkPN "Judisk" ;
+ Korean_PN = mkPN "Koreansk" ;
+ LatinAmerican_PN = mkPN "Latinamerikansk" ;
+ Lebanese_PN = mkPN "Libanesisk" ;
+ Malaysian_PN = mkPN "Malaysisk" ;
+ Mexican_PN = mkPN "Mexikansk" ;
+ MiddleEastern_PN = mkPN "Mellanösternsk" ;
+ Mongolian_PN = mkPN "Mongolisk" ;
+ Moroccan_PN = mkPN "Marockansk" ;
+ NewZealandCuisine_PN = mkPN "Nyzeeländsk" ;
+ Nicaraguan_PN = mkPN "Nicaraguansk" ;
+ Nouveau_PN = mkPN "Nouveau" ;
+ Pakistani_PN = mkPN "Pakistansk" ;
+ Persian_PN = mkPN "Iransk" ;
+ Peruvian_PN = mkPN "Peruansk" ;
+ Philippine_PN = mkPN "Filippinsk" ;
+ Polish_PN = mkPN "Polsk" ;
+ Polynesian_PN = mkPN "Polynesisk" ;
+ Portuguese_PN = mkPN "Portugisisk" ;
+ PuertoRican_PN = mkPN "Puertorikansk" ;
+ Russian_PN = mkPN "Rysk" ;
+ Salvadorean_PN = mkPN "Salvadoransk" ;
+ Scandinavian_PN = mkPN "Skandinavisk" ;
+ Scottish_PN = mkPN "Skotsk" ;
+ Seafood_PN = mkPN "Fisk och Skaldjur" ; --FIX!!!
+ Singaporean_PN = mkPN "Singaporiansk" ;
+ Spanish_PN = mkPN "Spansk" ;
+ SriLankan_PN = mkPN "Lankiesisk" ;
+ Swedish_PN = mkPN "Svensk" ;
+ Swiss_PN = mkPN "Schweizisk" ;
+ Tex_Mex_PN = mkPN "Tex-Mex" ;
+ Thai_PN = mkPN "Thailändsk" ;
+ Tibetan_PN = mkPN "Tibetansk" ;
+ Turkish_PN = mkPN "Turkisk" ;
+ Ukrainian_PN = mkPN "Ukrainsk" ;
+ Vegan_PN = mkPN "Vegansk" ;
+ Vegetarian_PN = mkPN "Vegetarisk" ;
+ Venezulean_PN = mkPN "Venezolansk" ;
+ Vietnamese_PN = mkPN "Vietnamesisk" ;
+
+-- Determiners
+ defSg_Det = defSgDet ;
+-- defPl_Det = defPlDet ;
+ indefSg_Det = indefSgDet ;
+-- indefPl_Det = indefPlDet ;
+ this_Det = mkDet this_QuantSg ;
+-- that_Det = mkDet that_QuantSg ;
+-- these_Det = mkDet these_QuantPl ;
+-- those_Det = mkDet those_QuantPl ;
+
+}
diff --git a/examples/wiki/Restaurant.gf b/examples/wiki/Restaurant.gf
new file mode 100644
index 000000000..447c6cf14
--- /dev/null
+++ b/examples/wiki/Restaurant.gf
@@ -0,0 +1,111 @@
+
+abstract Restaurant = {
+
+ flags startcat = Paragraph ;
+ coding = utf8 ;
+
+ cat
+ Paragraph ;
+ Phrase ;
+ Item ;
+ Quality ;
+ ListQual ;
+ Adverb ;
+ STense ;
+
+ fun
+
+-- Paragraphs
+ Sentence : Phrase -> Paragraph -> Paragraph ;
+ Empty_Sentence : Paragraph ;
+
+-- Sentences
+
+ The_Item_Is : Item -> Quality -> Phrase ;
+ The_Item_Is_Not : Item -> Quality -> Phrase ;
+ I_Recommend : Adverb -> Item -> Phrase ;
+ I_Do_Not_Recommend : Adverb -> Item -> Phrase ;
+
+-- Noun Phrases
+ The_Restaurant : Item ;
+ The_Food : Item ;
+ The_Staff : Item ;
+ The_Wine : Item ;
+ The_Wines : Item ;
+ The_Cheese : Item ;
+ The_Cheeses : Item ;
+ The_Fish : Item ;
+ The_Pizza : Item ;
+ The_Dishes : Item ;
+ The_Drinks : Item ;
+ The_Desserts : Item ;
+
+-- Adjectival Phrases
+
+ Adjective_And_Adjective : Quality -> Quality -> ListQual ;
+ Adj_Comma_List_Of_Adjs : Quality -> ListQual -> ListQual ;
+ A_List_Of_Adjectives : ListQual -> Quality ;
+ Very_Adjective : Quality -> Quality ;
+
+-- Adjectives
+-- Restaurant
+ Chinese : Quality ;
+ French : Quality ;
+ Italian : Quality ;
+ Japanese : Quality ;
+ Mexican : Quality ;
+ Thai : Quality ;
+
+ Expensive : Quality ;
+ Cheap : Quality ;
+ Nice : Quality ;
+ Clean : Quality ;
+ Dirty : Quality ;
+
+-- Food
+
+ Fresh : Quality ;
+ Delicious : Quality ;
+ Fatty : Quality ;
+ Tasteless : Quality ;
+ Authentic : Quality ;
+
+-- Service
+ Efficient : Quality ;
+ Courteous : Quality ;
+ Helpful : Quality ;
+ Friendly : Quality ;
+ Personal : Quality ;
+ Warm : Quality ;
+ Prompt : Quality ;
+ Attentive : Quality ;
+
+ Inefficient : Quality ;
+ Rude : Quality ;
+ Impersonal : Quality ;
+ Slow : Quality ;
+ UnAttentive : Quality ;
+
+-- General
+ Good, Great, Excellent : Quality ;
+ Bad, Awful, Horrible, Disgusting : Quality ;
+ Boring : Quality ;
+
+-- General Plural
+ Diverse : Quality ;
+
+-- Adverbs
+ NoAdverb : Adverb ;
+ Strongly : Adverb ;
+ Completely : Adverb ;
+ Certainly : Adverb ;
+ Honestly : Adverb ;
+ Really : Adverb ;
+ Reluctantly : Adverb ;
+ Hardly : Adverb ;
+
+-- Tenses
+ Present_Tense : STense ;
+ Conditional_Tense : STense ;
+
+}
diff --git a/examples/wiki/RestaurantEng.gf b/examples/wiki/RestaurantEng.gf
new file mode 100644
index 000000000..1d1655ff7
--- /dev/null
+++ b/examples/wiki/RestaurantEng.gf
@@ -0,0 +1,8 @@
+
+--# -path=.:alltenses:prelude
+
+concrete RestaurantEng of Restaurant = RestaurantI with
+
+ (Syntax = SyntaxEng),
+ (Grammar = GrammarEng),
+ (LexRestaurant = LexRestaurantEng) ;
diff --git a/examples/wiki/RestaurantFin.gf b/examples/wiki/RestaurantFin.gf
new file mode 100644
index 000000000..aaf7a2c5c
--- /dev/null
+++ b/examples/wiki/RestaurantFin.gf
@@ -0,0 +1,8 @@
+
+--# -path=.:alltenses:prelude
+
+concrete RestaurantFin of Restaurant = RestaurantI with
+
+ (Syntax = SyntaxFin),
+ (Grammar = GrammarFin),
+ (LexRestaurant = LexRestaurantFin) ;
diff --git a/examples/wiki/RestaurantFre.gf b/examples/wiki/RestaurantFre.gf
new file mode 100644
index 000000000..7ae6b1bad
--- /dev/null
+++ b/examples/wiki/RestaurantFre.gf
@@ -0,0 +1,8 @@
+
+--# -path=.:alltenses:prelude
+
+concrete RestaurantFre of Restaurant = RestaurantI with
+
+ (Syntax = SyntaxFre),
+ (Grammar = GrammarFre),
+ (LexRestaurant = LexRestaurantFre) ;
diff --git a/examples/wiki/RestaurantI.gf b/examples/wiki/RestaurantI.gf
new file mode 100644
index 000000000..9d491f01e
--- /dev/null
+++ b/examples/wiki/RestaurantI.gf
@@ -0,0 +1,117 @@
+
+--# -path=.:alltenses:prelude
+
+incomplete concrete RestaurantI of Restaurant = open Syntax, Grammar, LexRestaurant in {
+
+ flags coding = utf8 ;
+
+ lincat
+ Paragraph = Text ;
+ Phrase = Phr ;
+ Item = NP ;
+ Quality = AP ;
+ ListQual = ListAP ;
+ Adverb = AdV ;
+ STense = Tense ;
+
+ lin
+-- Paragraphs
+ Sentence phrase phrases = mkText phrase phrases ;
+ Empty_Sentence = emptyText ;
+
+-- Sentences
+
+ The_Item_Is item quality = mkPhr (mkS positivePol (mkCl item quality)) ;
+ The_Item_Is_Not item quality = mkPhr (mkS negativePol (mkCl item quality)) ;
+ I_Recommend adv item =
+ variants {mkPhr (mkS presentTense positivePol (mkCl (mkNP i_Pron) (mkVP adv (mkVP recommend_V2 item)))) ;
+ mkPhr (mkS conditionalTense positivePol (mkCl (mkNP i_Pron) (mkVP adv (mkVP recommend_V2 item))))} ;
+ I_Do_Not_Recommend adv item =
+ variants {mkPhr (mkS presentTense negativePol (mkCl (mkNP i_Pron) (mkVP adv (mkVP recommend_V2 item)))) ;
+ mkPhr (mkS conditionalTense negativePol (mkCl (mkNP i_Pron) (mkVP adv (mkVP recommend_V2 item))))} ;
+
+-- Common Nouns
+ The_Restaurant = variants {mkNP defSgDet restaurant_N; mkNP this_QuantSg restaurant_N} ;
+ The_Food = mkNP defSgDet food_N ;
+ The_Staff = mkNP defSgDet staff_N ;
+ The_Wine = mkNP defSgDet wine_N ;
+ The_Wines = mkNP defPlDet wine_N ;
+ The_Cheese = mkNP defSgDet cheese_N ;
+ The_Cheeses = mkNP defPlDet cheese_N ;
+ The_Fish = mkNP defSgDet fish_N ;
+ The_Pizza = mkNP defSgDet pizza_N ;
+ The_Dishes = mkNP defPlDet dish_N ;
+ The_Drinks = mkNP defPlDet drink_N ;
+ The_Desserts = mkNP defPlDet dessert_N ;
+
+-- Adjectival Phrases
+ Adjective_And_Adjective qualA qualB = mkListAP qualA qualB ;
+ Adj_Comma_List_Of_Adjs qualA qualB = mkListAP qualA qualB ;
+ A_List_Of_Adjectives qual = mkAP and_Conj qual ;
+ Very_Adjective quality = mkAP very_AdA quality ;
+
+-- Adjectives
+-- Restaurant
+ Chinese = mkAP chinese_A ;
+ French = mkAP french_A ;
+ Italian = mkAP italian_A ;
+ Japanese = mkAP japanese_A ;
+ Mexican = mkAP mexican_A ;
+ Thai = mkAP thai_A ;
+
+ Expensive = mkAP expensive_A ;
+ Cheap = mkAP cheap_A ;
+ Nice = mkAP nice_A ;
+ Clean = mkAP clean_A ;
+ Dirty = mkAP dirty_A ;
+
+-- Food
+ Fresh = mkAP fresh_A ;
+ Delicious = mkAP delicious_A ;
+ Fatty = mkAP fatty_A ;
+ Tasteless = mkAP tasteless_A;
+ Authentic = mkAP authentic_A ;
+
+-- Service
+ Efficient = mkAP efficient_A ;
+ Courteous = mkAP courteous_A ;
+ Helpful = mkAP helpful_A ;
+ Friendly = mkAP friendly_A ;
+ Personal = mkAP personal_A ;
+ Warm = mkAP warm_A ;
+ Prompt = mkAP prompt_A ;
+ Attentive = mkAP attentive_A ;
+ Inefficient = mkAP inefficient_A ;
+ Rude = mkAP rude_A ;
+ Impersonal = mkAP impersonal_A ;
+ Slow = mkAP slow_A ;
+ UnAttentive = mkAP unattentive_A ;
+
+-- Generic
+ Good = mkAP good_A ;
+ Great = mkAP great_A ;
+ Excellent = mkAP excellent_A ;
+ Bad = mkAP bad_A ;
+ Awful = mkAP awful_A ;
+ Horrible = mkAP horrible_A ;
+ Disgusting = mkAP disgusting_A ;
+ Boring = mkAP boring_A ;
+
+-- Generic Plural
+ Diverse = mkAP diverse_A ;
+
+-- Adverbs
+ NoAdverb = noAdv_AdV ;
+ Strongly = strongly_AdV ;
+ Completely = completely_AdV ;
+ Certainly = certainly_AdV ;
+ Honestly = honestly_AdV ;
+ Really = really_AdV ;
+ Reluctantly = reluctantly_AdV ;
+ Hardly = hardly_AdV ;
+
+-- Tenses
+ Present_Tense = presentTense ;
+ Conditional_Tense = conditionalTense ;
+
+}
diff --git a/examples/wiki/RestaurantSpa.gf b/examples/wiki/RestaurantSpa.gf
new file mode 100644
index 000000000..cc516d2eb
--- /dev/null
+++ b/examples/wiki/RestaurantSpa.gf
@@ -0,0 +1,8 @@
+
+--# -path=.:alltenses:prelude
+
+concrete RestaurantSpa of Restaurant = RestaurantI with
+
+ (Syntax = SyntaxSpa),
+ (Grammar = GrammarSpa),
+ (LexRestaurant = LexRestaurantSpa) ;
diff --git a/examples/wiki/RestaurantSwe.gf b/examples/wiki/RestaurantSwe.gf
new file mode 100644
index 000000000..9cd487892
--- /dev/null
+++ b/examples/wiki/RestaurantSwe.gf
@@ -0,0 +1,8 @@
+
+--# -path=.:alltenses:prelude
+
+concrete RestaurantSwe of Restaurant = RestaurantI with
+
+ (Syntax = SyntaxSwe),
+ (Grammar = GrammarSwe),
+ (LexRestaurant = LexRestaurantSwe) ;
diff --git a/examples/wiki/Wiki.gf b/examples/wiki/Wiki.gf
new file mode 100644
index 000000000..c8842044e
--- /dev/null
+++ b/examples/wiki/Wiki.gf
@@ -0,0 +1,410 @@
+
+abstract Wiki = {
+
+ flags startcat = Sentence ;
+ coding = utf8 ;
+
+ cat
+ Sentence ;
+ Verb ;
+ Noun ;
+ CountryPN ;
+ CuisinePN ;
+ Determiner ;
+
+ fun
+-- Sentences
+ SingleWordCommand : Verb -> Sentence ;
+ Command : Verb -> Determiner -> Noun -> Sentence ;
+ RandomlyCommand : Verb -> Determiner -> Noun -> Sentence ;
+ Label : Noun -> Sentence ;
+ CountryName : CountryPN -> Sentence ;
+ CuisineName : CuisinePN -> Sentence ;
+
+-- Verbs
+ Cancel : Verb ;
+ Select : Verb ;
+ Edit : Verb ;
+ Save : Verb ;
+ Add : Verb ;
+ Undo : Verb ;
+ Redo : Verb ;
+ Cut : Verb ;
+ Copy : Verb ;
+ Paste : Verb ;
+ Delete : Verb ;
+ Refine : Verb ;
+ Replace : Verb ;
+ Wrap : Verb ;
+
+-- Nouns
+-- Field Labels
+-- Information
+ Information : Noun ;
+ Name : Noun ;
+ Address : Noun ;
+ City : Noun ;
+ State : Noun ;
+ Postalcode : Noun ;
+ Country : Noun ;
+ Phone : Noun ;
+ Cuisine : Noun ;
+ Language : Noun ;
+
+-- Misc
+ Page : Noun ;
+ Index : Noun ;
+ Review : Noun ;
+ Restaurant : Noun ;
+ Food : Noun ;
+ Service : Noun ;
+ Node : Noun ;
+ Tree : Noun ;
+
+-- Proper Nouns
+-- Countries
+ Andorra : CountryPN ;
+ UnitedArabEmirates : CountryPN ;
+ Afghanistan : CountryPN ;
+ AntiguaAndBarbuda : CountryPN ;
+ Anguilla : CountryPN ;
+ Albania : CountryPN ;
+ Armenia : CountryPN ;
+ NetherlandsAntilles : CountryPN ;
+ Angola : CountryPN ;
+ Antarctica : CountryPN ;
+ Argentina : CountryPN ;
+ AmericanSamoa : CountryPN ;
+ Austria : CountryPN ;
+ Australia : CountryPN ;
+ Aruba : CountryPN ;
+ AlandIslands : CountryPN ;
+ Azerbaijan : CountryPN ;
+ BosniaAndHerzegovina : CountryPN ;
+ Barbados : CountryPN ;
+ Bangladesh : CountryPN ;
+ Belgium : CountryPN ;
+ BurkinaFaso : CountryPN ;
+ Bulgaria : CountryPN ;
+ Bahrain : CountryPN ;
+ Burundi : CountryPN ;
+ Benin : CountryPN ;
+ Bermuda : CountryPN ;
+ Brunei : CountryPN ;
+ Bolivia : CountryPN ;
+ Brazil : CountryPN ;
+ Bahamas : CountryPN ;
+ Bhutan : CountryPN ;
+ BouvetIsland : CountryPN ;
+ Botswana : CountryPN ;
+ Belarus : CountryPN ;
+ Belize : CountryPN ;
+ Canada : CountryPN ;
+ CocosIslands : CountryPN ;
+ CongoDemocraticRepublicofthe : CountryPN ;
+ CentralAfricanRepublic : CountryPN ;
+ Congo : CountryPN ;
+ Switzerland : CountryPN ;
+ CotedIvoire : CountryPN ;
+ CookIslands : CountryPN ;
+ Chile : CountryPN ;
+ Cameroon : CountryPN ;
+ China : CountryPN ;
+ Colombia : CountryPN ;
+ CostaRica : CountryPN ;
+ SerbiaAndMontenegro : CountryPN ;
+ Cuba : CountryPN ;
+ CapeVerde : CountryPN ;
+ ChristmasIsland : CountryPN ;
+ Cyprus : CountryPN ;
+ CzechRepublic : CountryPN ;
+ Germany : CountryPN ;
+ Djibouti : CountryPN ;
+ Denmark : CountryPN ;
+ Dominica : CountryPN ;
+ DominicanRepublic : CountryPN ;
+ Algeria : CountryPN ;
+ Ecuador : CountryPN ;
+ Estonia : CountryPN ;
+ Egypt : CountryPN ;
+ WesternSahara : CountryPN ;
+ Eritrea : CountryPN ;
+ Spain : CountryPN ;
+ Ethiopia : CountryPN ;
+ Finland : CountryPN ;
+ Fiji : CountryPN ;
+ FalklandIslands : CountryPN ;
+ Micronesia : CountryPN ;
+ FaroeIslands : CountryPN ;
+ France : CountryPN ;
+ Gabon : CountryPN ;
+ UnitedKingdom : CountryPN ;
+ Grenada : CountryPN ;
+ Georgia : CountryPN ;
+ FrenchGuiana : CountryPN ;
+ Guernsey : CountryPN ;
+ Ghana : CountryPN ;
+ Gibraltar : CountryPN ;
+ Greenland : CountryPN ;
+ Gambia : CountryPN ;
+ Guinea : CountryPN ;
+ Guadeloupe : CountryPN ;
+ EquatorialGuinea : CountryPN ;
+ Greece : CountryPN ;
+ SouthGeorgiaAndTheSouthSandwichIslands : CountryPN ;
+ Guatemala : CountryPN ;
+ Guam : CountryPN ;
+ GuineaBissau : CountryPN ;
+ Guyana : CountryPN ;
+ HongKong : CountryPN ;
+ HeardIslandAndMcDonaldIslands : CountryPN ;
+ Honduras : CountryPN ;
+ Croatia : CountryPN ;
+ Haiti : CountryPN ;
+ Hungary : CountryPN ;
+ Indonesia : CountryPN ;
+ Ireland : CountryPN ;
+ Israel : CountryPN ;
+ IsleofMan : CountryPN ;
+ India : CountryPN ;
+ BritishIndianOceanTerritory : CountryPN ;
+ Iraq : CountryPN ;
+ Iran : CountryPN ;
+ Iceland : CountryPN ;
+ Italy : CountryPN ;
+ Jersey : CountryPN ;
+ Jamaica : CountryPN ;
+ Jordan : CountryPN ;
+ Japan : CountryPN ;
+ Kenya : CountryPN ;
+ Kyrgyzstan : CountryPN ;
+ Cambodia : CountryPN ;
+ Kiribati : CountryPN ;
+ Comoros : CountryPN ;
+ SaintKittsAndNevis : CountryPN ;
+ NorthKorea : CountryPN ;
+ SouthKorea : CountryPN ;
+ Kuwait : CountryPN ;
+ CaymanIslands : CountryPN ;
+ Kazakhstan : CountryPN ;
+ Laos : CountryPN ;
+ Lebanon : CountryPN ;
+ SaintLucia : CountryPN ;
+ Liechtenstein : CountryPN ;
+ SriLanka : CountryPN ;
+ Liberia : CountryPN ;
+ Lesotho : CountryPN ;
+ Lithuania : CountryPN ;
+ Luxembourg : CountryPN ;
+ Latvia : CountryPN ;
+ Libya : CountryPN ;
+ Morocco : CountryPN ;
+ Monaco : CountryPN ;
+ Moldova : CountryPN ;
+ Montenegro : CountryPN ;
+ Madagascar : CountryPN ;
+ MarshallIslands : CountryPN ;
+ Macedonia : CountryPN ;
+ Mali : CountryPN ;
+ Myanmar : CountryPN ;
+ Mongolia : CountryPN ;
+ Macao : CountryPN ;
+ NorthernMarianaIslands : CountryPN ;
+ Martinique : CountryPN ;
+ Mauritania : CountryPN ;
+ Montserrat : CountryPN ;
+ Malta : CountryPN ;
+ Mauritius : CountryPN ;
+ Maldives : CountryPN ;
+ Malawi : CountryPN ;
+ Mexico : CountryPN ;
+ Malaysia : CountryPN ;
+ Mozambique : CountryPN ;
+ Namibia : CountryPN ;
+ NewCaledonia : CountryPN ;
+ Niger : CountryPN ;
+ NorfolkIsland : CountryPN ;
+ Nigeria : CountryPN ;
+ Nicaragua : CountryPN ;
+ Netherlands : CountryPN ;
+ Norway : CountryPN ;
+ Nepal : CountryPN ;
+ Nauru : CountryPN ;
+ Niue : CountryPN ;
+ NewZealand : CountryPN ;
+ Oman : CountryPN ;
+ Panama : CountryPN ;
+ Peru : CountryPN ;
+ FrenchPolynesia : CountryPN ;
+ PapuaNewGuinea : CountryPN ;
+ Philippines : CountryPN ;
+ Pakistan : CountryPN ;
+ Poland : CountryPN ;
+ SaintPierreAndMiquelon : CountryPN ;
+ Pitcairn : CountryPN ;
+ PuertoRico : CountryPN ;
+ PalestinianTerritory : CountryPN ;
+ Portugal : CountryPN ;
+ Palau : CountryPN ;
+ Paraguay : CountryPN ;
+ Qatar : CountryPN ;
+ Reunion : CountryPN ;
+ Romania : CountryPN ;
+ Serbia : CountryPN ;
+ Russia : CountryPN ;
+ Rwanda : CountryPN ;
+ SaudiArabia : CountryPN ;
+ SolomonIslands : CountryPN ;
+ Seychelles : CountryPN ;
+ Sudan : CountryPN ;
+ Sweden : CountryPN ;
+ Singapore : CountryPN ;
+ SaintHelena : CountryPN ;
+ Slovenia : CountryPN ;
+ SvalbardAndJanMayen : CountryPN ;
+ Slovakia : CountryPN ;
+ SierraLeone : CountryPN ;
+ SanMarino : CountryPN ;
+ Senegal : CountryPN ;
+ Somalia : CountryPN ;
+ Suriname : CountryPN ;
+ SaoTomeAndPrincipe : CountryPN ;
+ ElSalvador : CountryPN ;
+ Syria : CountryPN ;
+ Swaziland : CountryPN ;
+ TurksAndCaicosIslands : CountryPN ;
+ Chad : CountryPN ;
+ FrenchSouthernTerritories : CountryPN ;
+ Togo : CountryPN ;
+ Thailand : CountryPN ;
+ Tajikistan : CountryPN ;
+ Tokelau : CountryPN ;
+ EastTimor : CountryPN ;
+ Turkmenistan : CountryPN ;
+ Tunisia : CountryPN ;
+ Tonga : CountryPN ;
+ Turkey : CountryPN ;
+ TrinidadAndTobago : CountryPN ;
+ Tuvalu : CountryPN ;
+ Taiwan : CountryPN ;
+ Tanzania : CountryPN ;
+ Ukraine : CountryPN ;
+ Uganda : CountryPN ;
+ UnitedStatesMinorOutlyingIslands : CountryPN ;
+ UnitedStates : CountryPN ;
+ Uruguay : CountryPN ;
+ Uzbekistan : CountryPN ;
+ VaticanCity : CountryPN ;
+ SaintVincentAndtheGrenadines : CountryPN ;
+ Venezuela : CountryPN ;
+ VirginIslandsBritish : CountryPN ;
+ VirginIslandsUS : CountryPN ;
+ Vietnam : CountryPN ;
+ Vanuatu : CountryPN ;
+ WallisAndFutuna : CountryPN ;
+ Samoa : CountryPN ;
+ Yemen : CountryPN ;
+ Mayotte : CountryPN ;
+ SouthAfrica : CountryPN ;
+ Zambia : CountryPN ;
+ Zimbabwe : CountryPN ;
+
+-- Cuisines
+ Afghani : CuisinePN ;
+ African : CuisinePN ;
+ American : CuisinePN ;
+ Arabic : CuisinePN ;
+ Argentine : CuisinePN ;
+ Armenian : CuisinePN ;
+ Asian : CuisinePN ;
+ Australian : CuisinePN ;
+ Austrian : CuisinePN ;
+ Balinese : CuisinePN ;
+ Basque : CuisinePN ;
+ Belgian : CuisinePN ;
+ Brazilian : CuisinePN ;
+ Bulgarian : CuisinePN ;
+ Burmese : CuisinePN ;
+ Cajun : CuisinePN ;
+ Cambodian : CuisinePN ;
+ Caribbean : CuisinePN ;
+ Catalan : CuisinePN ;
+ Chinese : CuisinePN ;
+ Colombian : CuisinePN ;
+ Contemporary : CuisinePN ;
+ Continental : CuisinePN ;
+ Creole : CuisinePN ;
+ Cuban : CuisinePN ;
+ Czech : CuisinePN ;
+ Dutch : CuisinePN ;
+ EasternEuropean : CuisinePN ;
+ Eclectic : CuisinePN ;
+ Egyptian : CuisinePN ;
+ English : CuisinePN ;
+ Ethiopian : CuisinePN ;
+ Ethnic : CuisinePN ;
+ French : CuisinePN ;
+ Fusion : CuisinePN ;
+ German : CuisinePN ;
+ Greek : CuisinePN ;
+ Haitian : CuisinePN ;
+ Hungarian : CuisinePN ;
+ Indian : CuisinePN ;
+ Indonesian : CuisinePN ;
+ International : CuisinePN ;
+ Irish : CuisinePN ;
+ Israeli : CuisinePN ;
+ Italian : CuisinePN ;
+ Jamaican : CuisinePN ;
+ Japanese : CuisinePN ;
+ Jewish : CuisinePN ;
+ Korean : CuisinePN ;
+ LatinAmerican : CuisinePN ;
+ Lebanese : CuisinePN ;
+ Malaysian : CuisinePN ;
+ Mexican : CuisinePN ;
+ MiddleEastern : CuisinePN ;
+ Mongolian : CuisinePN ;
+ Moroccan : CuisinePN ;
+ NewZealandCuisine : CuisinePN ;
+ Nicaraguan : CuisinePN ;
+ Nouveau : CuisinePN ;
+ Pakistani : CuisinePN ;
+ Persian : CuisinePN ;
+ Peruvian : CuisinePN ;
+ Philippine : CuisinePN ;
+ Polish : CuisinePN ;
+ Polynesian : CuisinePN ;
+ Portuguese : CuisinePN ;
+ PuertoRican : CuisinePN ;
+ Russian : CuisinePN ;
+ Salvadorean : CuisinePN ;
+ Scandinavian : CuisinePN ;
+ Scottish : CuisinePN ;
+ Seafood : CuisinePN ;
+ Singaporean : CuisinePN ;
+ Spanish : CuisinePN ;
+ SriLankan : CuisinePN ;
+ Swedish : CuisinePN ;
+ Swiss : CuisinePN ;
+ Tex_Mex : CuisinePN ;
+ Thai : CuisinePN ;
+ Tibetan : CuisinePN ;
+ Turkish : CuisinePN ;
+ Ukrainian : CuisinePN ;
+ Vegan : CuisinePN ;
+ Vegetarian : CuisinePN ;
+ Venezulean : CuisinePN ;
+ Vietnamese : CuisinePN ;
+
+-- Determiners
+ DefSgDet : Determiner ;
+-- DefPlDet : Determiner ;
+ IndefSgDet : Determiner ;
+-- IndefPlDet : Determiner ;
+ This : Determiner ;
+-- That : Determiner ;
+-- These : Determiner ;
+-- Those : Determiner ;
+
+}
diff --git a/examples/wiki/WikiEng.gf b/examples/wiki/WikiEng.gf
new file mode 100644
index 000000000..0c42d1b36
--- /dev/null
+++ b/examples/wiki/WikiEng.gf
@@ -0,0 +1,7 @@
+
+--# -path=.:present:prelude
+
+concrete WikiEng of Wiki = WikiI with
+
+ (Syntax = SyntaxEng),
+ (LexWiki = LexWikiEng) ;
diff --git a/examples/wiki/WikiFin.gf b/examples/wiki/WikiFin.gf
new file mode 100644
index 000000000..df504768c
--- /dev/null
+++ b/examples/wiki/WikiFin.gf
@@ -0,0 +1,7 @@
+
+--# -path=.:present:prelude
+
+concrete WikiFin of Wiki = WikiI with
+
+ (Syntax = SyntaxFin),
+ (LexWiki = LexWikiFin) ;
diff --git a/examples/wiki/WikiFre.gf b/examples/wiki/WikiFre.gf
new file mode 100644
index 000000000..98ea770b5
--- /dev/null
+++ b/examples/wiki/WikiFre.gf
@@ -0,0 +1,7 @@
+
+--# -path=.:present:prelude
+
+concrete WikiFre of Wiki = WikiI with
+
+ (Syntax = SyntaxFre),
+ (LexWiki = LexWikiFre) ;
diff --git a/examples/wiki/WikiI.gf b/examples/wiki/WikiI.gf
new file mode 100644
index 000000000..1c18c111c
--- /dev/null
+++ b/examples/wiki/WikiI.gf
@@ -0,0 +1,411 @@
+
+--# -path=.=present=prelude
+
+incomplete concrete WikiI of Wiki = open Syntax, LexWiki in {
+
+ flags coding = utf8 ;
+
+ lincat
+ Sentence = Utt ;
+ Verb = V ;
+ Noun = N ;
+ CountryPN = PN ;
+ CuisinePN = PN ;
+ Determiner = Det ;
+
+ lin
+-- Sentences
+ SingleWordCommand verb = singleWordCommand_Utt verb ;
+ Command verb det noun = command_Utt verb det noun ;
+ RandomlyCommand verb det noun = randomlyCommand_Utt verb det noun ;
+ Label noun = label_Utt noun ;
+ CountryName pn = countryName_Utt pn ;
+ CuisineName pn = cuisineName_Utt pn ;
+
+-- Verbs
+ Cancel = cancel_V ;
+ Select = select_V ;
+ Edit = edit_V ;
+ Save = save_V ;
+ Add = add_V ;
+ Undo = undo_V ;
+ Redo = redo_V ;
+ Cut = cut_V ;
+ Copy = copy_V ;
+ Paste = paste_V ;
+ Delete = delete_V ;
+ Refine = refine_V ;
+ Replace = replace_V ;
+ Wrap = wrap_V ;
+
+-- Nouns
+-- Field Labels
+-- Information
+ Information = information_N ;
+ Name = name_N ;
+ Address = address_N ;
+ City = city_N ;
+ State = state_N ;
+ Postalcode = postalcode_N ;
+ Country = country_N ;
+ Phone = phone_N ;
+ Cuisine = cuisine_N ;
+ Language = language_N ;
+
+-- Misc
+ Page = page_N ;
+ Index = index_N ;
+ Review = review_N ;
+ Restaurant = restaurant_N ;
+ Food = food_N ;
+ Service = service_N ;
+ Node = node_N ;
+ Tree = tree_N ;
+
+-- Proper Nouns
+-- Countries
+ Andorra = Andorra_PN ;
+ UnitedArabEmirates = UnitedArabEmirates_PN ;
+ Afghanistan = Afghanistan_PN ;
+ AntiguaAndBarbuda = AntiguaAndBarbuda_PN ;
+ Anguilla = Anguilla_PN ;
+ Albania = Albania_PN ;
+ Armenia = Armenia_PN ;
+ NetherlandsAntilles = NetherlandsAntilles_PN ;
+ Angola = Angola_PN ;
+ Antarctica = Antarctica_PN ;
+ Argentina = Argentina_PN ;
+ AmericanSamoa = AmericanSamoa_PN ;
+ Austria = Austria_PN ;
+ Australia = Australia_PN ;
+ Aruba = Aruba_PN ;
+ AlandIslands = AlandIslands_PN ;
+ Azerbaijan = Azerbaijan_PN ;
+ BosniaAndHerzegovina = BosniaAndHerzegovina_PN ;
+ Barbados = Barbados_PN ;
+ Bangladesh = Bangladesh_PN ;
+ Belgium = Belgium_PN ;
+ BurkinaFaso = BurkinaFaso_PN ;
+ Bulgaria = Bulgaria_PN ;
+ Bahrain = Bahrain_PN ;
+ Burundi = Burundi_PN ;
+ Benin = Benin_PN ;
+ Bermuda = Bermuda_PN ;
+ Brunei = Brunei_PN ;
+ Bolivia = Bolivia_PN ;
+ Brazil = Brazil_PN ;
+ Bahamas = Bahamas_PN ;
+ Bhutan = Bhutan_PN ;
+ BouvetIsland = BouvetIsland_PN ;
+ Botswana = Botswana_PN ;
+ Belarus = Belarus_PN ;
+ Belize = Belize_PN ;
+ Canada = Canada_PN ;
+ CocosIslands = CocosIslands_PN ;
+ CongoDemocraticRepublicofthe = CongoDemocraticRepublicofthe_PN ;
+ CentralAfricanRepublic = CentralAfricanRepublic_PN ;
+ Congo = Congo_PN ;
+ Switzerland = Switzerland_PN ;
+ CotedIvoire = CotedIvoire_PN ;
+ CookIslands = CookIslands_PN ;
+ Chile = Chile_PN ;
+ Cameroon = Cameroon_PN ;
+ China = China_PN ;
+ Colombia = Colombia_PN ;
+ CostaRica = CostaRica_PN ;
+ SerbiaAndMontenegro = SerbiaAndMontenegro_PN ;
+ Cuba = Cuba_PN ;
+ CapeVerde = CapeVerde_PN ;
+ ChristmasIsland = ChristmasIsland_PN ;
+ Cyprus = Cyprus_PN ;
+ CzechRepublic = CzechRepublic_PN ;
+ Germany = Germany_PN ;
+ Djibouti = Djibouti_PN ;
+ Denmark = Denmark_PN ;
+ Dominica = Dominica_PN ;
+ DominicanRepublic = DominicanRepublic_PN ;
+ Algeria = Algeria_PN ;
+ Ecuador = Ecuador_PN ;
+ Estonia = Estonia_PN ;
+ Egypt = Egypt_PN ;
+ WesternSahara = WesternSahara_PN ;
+ Eritrea = Eritrea_PN ;
+ Spain = Spain_PN ;
+ Ethiopia = Ethiopia_PN ;
+ Finland = Finland_PN ;
+ Fiji = Fiji_PN ;
+ FalklandIslands = FalklandIslands_PN ;
+ Micronesia = Micronesia_PN ;
+ FaroeIslands = FaroeIslands_PN ;
+ France = France_PN ;
+ Gabon = Gabon_PN ;
+ UnitedKingdom = UnitedKingdom_PN ;
+ Grenada = Grenada_PN ;
+ Georgia = Georgia_PN ;
+ FrenchGuiana = FrenchGuiana_PN ;
+ Guernsey = Guernsey_PN ;
+ Ghana = Ghana_PN ;
+ Gibraltar = Gibraltar_PN ;
+ Greenland = Greenland_PN ;
+ Gambia = Gambia_PN ;
+ Guinea = Guinea_PN ;
+ Guadeloupe = Guadeloupe_PN ;
+ EquatorialGuinea = EquatorialGuinea_PN ;
+ Greece = Greece_PN ;
+ SouthGeorgiaAndTheSouthSandwichIslands = SouthGeorgiaAndTheSouthSandwichIslands_PN ;
+ Guatemala = Guatemala_PN ;
+ Guam = Guam_PN ;
+ GuineaBissau = GuineaBissau_PN ;
+ Guyana = Guyana_PN ;
+ HongKong = HongKong_PN ;
+ HeardIslandAndMcDonaldIslands = HeardIslandAndMcDonaldIslands_PN ;
+ Honduras = Honduras_PN ;
+ Croatia = Croatia_PN ;
+ Haiti = Haiti_PN ;
+ Hungary = Hungary_PN ;
+ Indonesia = Indonesia_PN ;
+ Ireland = Ireland_PN ;
+ Israel = Israel_PN ;
+ IsleofMan = IsleofMan_PN ;
+ India = India_PN ;
+ BritishIndianOceanTerritory = BritishIndianOceanTerritory_PN ;
+ Iraq = Iraq_PN ;
+ Iran = Iran_PN ;
+ Iceland = Iceland_PN ;
+ Italy = Italy_PN ;
+ Jersey = Jersey_PN ;
+ Jamaica = Jamaica_PN ;
+ Jordan = Jordan_PN ;
+ Japan = Japan_PN ;
+ Kenya = Kenya_PN ;
+ Kyrgyzstan = Kyrgyzstan_PN ;
+ Cambodia = Cambodia_PN ;
+ Kiribati = Kiribati_PN ;
+ Comoros = Comoros_PN ;
+ SaintKittsAndNevis = SaintKittsAndNevis_PN ;
+ NorthKorea = NorthKorea_PN ;
+ SouthKorea = SouthKorea_PN ;
+ Kuwait = Kuwait_PN ;
+ CaymanIslands = CaymanIslands_PN ;
+ Kazakhstan = Kazakhstan_PN ;
+ Laos = Laos_PN ;
+ Lebanon = Lebanon_PN ;
+ SaintLucia = SaintLucia_PN ;
+ Liechtenstein = Liechtenstein_PN ;
+ SriLanka = SriLanka_PN ;
+ Liberia = Liberia_PN ;
+ Lesotho = Lesotho_PN ;
+ Lithuania = Lithuania_PN ;
+ Luxembourg = Luxembourg_PN ;
+ Latvia = Latvia_PN ;
+ Libya = Libya_PN ;
+ Morocco = Morocco_PN ;
+ Monaco = Monaco_PN ;
+ Moldova = Moldova_PN ;
+ Montenegro = Montenegro_PN ;
+ Madagascar = Madagascar_PN ;
+ MarshallIslands = MarshallIslands_PN ;
+ Macedonia = Macedonia_PN ;
+ Mali = Mali_PN ;
+ Myanmar = Myanmar_PN ;
+ Mongolia = Mongolia_PN ;
+ Macao = Macao_PN ;
+ NorthernMarianaIslands = NorthernMarianaIslands_PN ;
+ Martinique = Martinique_PN ;
+ Mauritania = Mauritania_PN ;
+ Montserrat = Montserrat_PN ;
+ Malta = Malta_PN ;
+ Mauritius = Mauritius_PN ;
+ Maldives = Maldives_PN ;
+ Malawi = Malawi_PN ;
+ Mexico = Mexico_PN ;
+ Malaysia = Malaysia_PN ;
+ Mozambique = Mozambique_PN ;
+ Namibia = Namibia_PN ;
+ NewCaledonia = NewCaledonia_PN ;
+ Niger = Niger_PN ;
+ NorfolkIsland = NorfolkIsland_PN ;
+ Nigeria = Nigeria_PN ;
+ Nicaragua = Nicaragua_PN ;
+ Netherlands = Netherlands_PN ;
+ Norway = Norway_PN ;
+ Nepal = Nepal_PN ;
+ Nauru = Nauru_PN ;
+ Niue = Niue_PN ;
+ NewZealand = NewZealand_PN ;
+ Oman = Oman_PN ;
+ Panama = Panama_PN ;
+ Peru = Peru_PN ;
+ FrenchPolynesia = FrenchPolynesia_PN ;
+ PapuaNewGuinea = PapuaNewGuinea_PN ;
+ Philippines = Philippines_PN ;
+ Pakistan = Pakistan_PN ;
+ Poland = Poland_PN ;
+ SaintPierreAndMiquelon = SaintPierreAndMiquelon_PN ;
+ Pitcairn = Pitcairn_PN ;
+ PuertoRico = PuertoRico_PN ;
+ PalestinianTerritory = PalestinianTerritory_PN ;
+ Portugal = Portugal_PN ;
+ Palau = Palau_PN ;
+ Paraguay = Paraguay_PN ;
+ Qatar = Qatar_PN ;
+ Reunion = Reunion_PN ;
+ Romania = Romania_PN ;
+ Serbia = Serbia_PN ;
+ Russia = Russia_PN ;
+ Rwanda = Rwanda_PN ;
+ SaudiArabia = SaudiArabia_PN ;
+ SolomonIslands = SolomonIslands_PN ;
+ Seychelles = Seychelles_PN ;
+ Sudan = Sudan_PN ;
+ Sweden = Sweden_PN ;
+ Singapore = Singapore_PN ;
+ SaintHelena = SaintHelena_PN ;
+ Slovenia = Slovenia_PN ;
+ SvalbardAndJanMayen = SvalbardAndJanMayen_PN ;
+ Slovakia = Slovakia_PN ;
+ SierraLeone = SierraLeone_PN ;
+ SanMarino = SanMarino_PN ;
+ Senegal = Senegal_PN ;
+ Somalia = Somalia_PN ;
+ Suriname = Suriname_PN ;
+ SaoTomeAndPrincipe = SaoTomeAndPrincipe_PN ;
+ ElSalvador = ElSalvador_PN ;
+ Syria = Syria_PN ;
+ Swaziland = Swaziland_PN ;
+ TurksAndCaicosIslands = TurksAndCaicosIslands_PN ;
+ Chad = Chad_PN ;
+ FrenchSouthernTerritories = FrenchSouthernTerritories_PN ;
+ Togo = Togo_PN ;
+ Thailand = Thailand_PN ;
+ Tajikistan = Tajikistan_PN ;
+ Tokelau = Tokelau_PN ;
+ EastTimor = EastTimor_PN ;
+ Turkmenistan = Turkmenistan_PN ;
+ Tunisia = Tunisia_PN ;
+ Tonga = Tonga_PN ;
+ Turkey = Turkey_PN ;
+ TrinidadAndTobago = TrinidadAndTobago_PN ;
+ Tuvalu = Tuvalu_PN ;
+ Taiwan = Taiwan_PN ;
+ Tanzania = Tanzania_PN ;
+ Ukraine = Ukraine_PN ;
+ Uganda = Uganda_PN ;
+ UnitedStatesMinorOutlyingIslands = UnitedStatesMinorOutlyingIslands_PN ;
+ UnitedStates = UnitedStates_PN ;
+ Uruguay = Uruguay_PN ;
+ Uzbekistan = Uzbekistan_PN ;
+ VaticanCity = VaticanCity_PN ;
+ SaintVincentAndtheGrenadines = SaintVincentAndtheGrenadines_PN ;
+ Venezuela = Venezuela_PN ;
+ VirginIslandsBritish = VirginIslandsBritish_PN ;
+ VirginIslandsUS = VirginIslandsUS_PN ;
+ Vietnam = Vietnam_PN ;
+ Vanuatu = Vanuatu_PN ;
+ WallisAndFutuna = WallisAndFutuna_PN ;
+ Samoa = Samoa_PN ;
+ Yemen = Yemen_PN ;
+ Mayotte = Mayotte_PN ;
+ SouthAfrica = SouthAfrica_PN ;
+ Zambia = Zambia_PN ;
+ Zimbabwe = Zimbabwe_PN ;
+
+-- Cuisines
+ Afghani = Afghani_PN ;
+ African = African_PN ;
+ American = American_PN ;
+ Arabic = Arabic_PN ;
+ Argentine = Argentine_PN ;
+ Armenian = Armenian_PN ;
+ Asian = Asian_PN ;
+ Australian = Australian_PN ;
+ Austrian = Austrian_PN ;
+ Balinese = Balinese_PN ;
+ Basque = Basque_PN ;
+ Belgian = Belgian_PN ;
+ Brazilian = Brazilian_PN ;
+ Bulgarian = Bulgarian_PN ;
+ Burmese = Burmese_PN ;
+ Cajun = Cajun_PN ;
+ Cambodian = Cambodian_PN ;
+ Caribbean = Caribbean_PN ;
+ Catalan = Catalan_PN ;
+ Chinese = Chinese_PN ;
+ Colombian = Colombian_PN ;
+ Contemporary = Contemporary_PN ;
+ Continental = Continental_PN ;
+ Creole = Creole_PN ;
+ Cuban = Cuban_PN ;
+ Czech = Czech_PN ;
+ Dutch = Dutch_PN ;
+ EasternEuropean = EasternEuropean_PN ;
+ Eclectic = Eclectic_PN ;
+ Egyptian = Egyptian_PN ;
+ English = English_PN ;
+ Ethiopian = Ethiopian_PN ;
+ Ethnic = Ethnic_PN ;
+ French = French_PN ;
+ Fusion = Fusion_PN ;
+ German = German_PN ;
+ Greek = Greek_PN ;
+ Haitian = Haitian_PN ;
+ Hungarian = Hungarian_PN ;
+ Indian = Indian_PN ;
+ Indonesian = Indonesian_PN ;
+ International = International_PN ;
+ Irish = Irish_PN ;
+ Israeli = Israeli_PN ;
+ Italian = Italian_PN ;
+ Jamaican = Jamaican_PN ;
+ Japanese = Japanese_PN ;
+ Jewish = Jewish_PN ;
+ Korean = Korean_PN ;
+ LatinAmerican = LatinAmerican_PN ;
+ Lebanese = Lebanese_PN ;
+ Malaysian = Malaysian_PN ;
+ Mexican = Mexican_PN ;
+ MiddleEastern = MiddleEastern_PN ;
+ Mongolian = Mongolian_PN ;
+ Moroccan = Moroccan_PN ;
+ NewZealandCuisine = NewZealandCuisine_PN ;
+ Nicaraguan = Nicaraguan_PN ;
+ Nouveau = Nouveau_PN ;
+ Pakistani = Pakistani_PN ;
+ Persian = Persian_PN ;
+ Peruvian = Peruvian_PN ;
+ Philippine = Philippine_PN ;
+ Polish = Polish_PN ;
+ Polynesian = Polynesian_PN ;
+ Portuguese = Portuguese_PN ;
+ PuertoRican = PuertoRican_PN ;
+ Russian = Russian_PN ;
+ Salvadorean = Salvadorean_PN ;
+ Scandinavian = Scandinavian_PN ;
+ Scottish = Scottish_PN ;
+ Seafood = Seafood_PN ;
+ Singaporean = Singaporean_PN ;
+ Spanish = Spanish_PN ;
+ SriLankan = SriLankan_PN ;
+ Swedish = Swedish_PN ;
+ Swiss = Swiss_PN ;
+ Tex_Mex = Tex_Mex_PN ;
+ Thai = Thai_PN ;
+ Tibetan = Tibetan_PN ;
+ Turkish = Turkish_PN ;
+ Ukrainian = Ukrainian_PN ;
+ Vegan = Vegan_PN ;
+ Vegetarian = Vegetarian_PN ;
+ Venezulean = Venezulean_PN ;
+ Vietnamese = Vietnamese_PN ;
+
+-- Determiners
+ DefSgDet = defSg_Det ;
+-- DefPlDet = defPl_Det ;
+ IndefSgDet = indefSg_Det ;
+-- IndefPlDet = indefPl_Det ;
+ This = this_Det ;
+-- That = that_Det ;
+-- These = these_Det ;
+-- Those = those_Det ;
+
+}
diff --git a/examples/wiki/WikiSpa.gf b/examples/wiki/WikiSpa.gf
new file mode 100644
index 000000000..c7d2c6508
--- /dev/null
+++ b/examples/wiki/WikiSpa.gf
@@ -0,0 +1,7 @@
+
+--# -path=.:present:prelude
+
+concrete WikiSpa of Wiki = WikiI with
+
+ (Syntax = SyntaxSpa),
+ (LexWiki = LexWikiSpa) ;
diff --git a/examples/wiki/WikiSwe.gf b/examples/wiki/WikiSwe.gf
new file mode 100644
index 000000000..fa911ad6f
--- /dev/null
+++ b/examples/wiki/WikiSwe.gf
@@ -0,0 +1,7 @@
+
+--# -path=.:present:prelude
+
+concrete WikiSwe of Wiki = WikiI with
+
+ (Syntax = SyntaxSwe),
+ (LexWiki = LexWikiSwe) ;