mirror of
https://github.com/GrammaticalFramework/comp-syntax-gu-mlt.git
synced 2026-02-08 22:41:05 -07:00
cp old labs to new folders
This commit is contained in:
120
old-labs/lab1/README.md
Normal file
120
old-labs/lab1/README.md
Normal file
@@ -0,0 +1,120 @@
|
||||
# Lab 1: Grammatical analysis
|
||||
|
||||
|
||||
This lab follows Chapters 1-4 in the course notes. Each part is started after the lecture on the corresponding chapter.
|
||||
The assignments are submitted via Canvas.
|
||||
|
||||
## Chapter 1: explore the parallel UD treebank (PUD)
|
||||
|
||||
1. Go to [universaldependencies.org](https://universaldependencies.org/) and download Version 2.7+ treebanks
|
||||
2. Look up the Parallel UD treebanks for those 21 languages that have it. They are named e.g. `UD_English-PUD/`
|
||||
3. Select a language to compare with English.
|
||||
4. Make statistics about the frequencies of POS tags and dependency labels in your language compared with English: find the top-20 tags/labels and their number of occurrences. What does this tell you about the language? (This can be done with shell or Python programming or, more easily, with the [deptreepy](https://github.com/aarneranta/deptreepy/) or [gf-ud](https://github.com/grammaticalFramework/gf-ud) tools. The latter is also available on the eduserv server.)
|
||||
5. Convert the following four trees from CoNLL-U format to graphical trees by hand, on paper.
|
||||
- a short English tree (5-10 words, of your choice) and its translation.
|
||||
- a long English tree (>25 words) and its translation.
|
||||
1. Draw word alignments for some non-trivial example in the PUD treebank, on paper.
|
||||
Use the same trees as in the previous question.
|
||||
What can you say about the syntactic differences between the languages?
|
||||
|
||||
|
||||
## Chapter 2: design the morpological types of the major parts of speech in your selected language
|
||||
|
||||
1. It is enough to cover NOUN, ADJ, and VERB.
|
||||
2. Use a traditional grammar book or a Wikipedia article to identify the inflectional and inherent features.
|
||||
3. Then use data from PUD to check which morphological features actually occur in the treebank for that language.
|
||||
|
||||
## Chapter 3: UD syntax analysis
|
||||
|
||||
In this lab, you will annotate a bilingual corpus with UD.
|
||||
You can choose between starting with an English corpus and translate it to a language of your choice, or start with a Swedish corpus to translate into English.
|
||||
|
||||
Your task is to:
|
||||
|
||||
1. write an CoNLL file analysing your chosen corpus
|
||||
2. translate it
|
||||
3. write a CoNLL file analysing your translation
|
||||
|
||||
### Option 1: English data
|
||||
The English text is given in the file [`comp-syntax-corpus-english.txt`](comp-syntax-corpus-english.txt) in this directory.
|
||||
The corpus is a combination of different sources, including the Parallel UD treebank (PUD).
|
||||
If you want to cheat - or just check your own answer - you can look for those sentences in the official PUD. You can also compare your analyses with those of an automatic parser, such as [UDPipe](https://lindat.mff.cuni.cz/services/udpipe/), which you can try directly from your browser. These automatic analyses must of course be taken with a grain of salt.
|
||||
|
||||
### Option 2: Swedish data
|
||||
The Swedish text is given in the file [`comp-syntax-corpus-swedish.txt`](comp-syntax-corpus-swedish.txt) in this directory.
|
||||
It consists of teacher-corrected sentences from the [Swedish Learner Language (SweLL) corpus](https://spraakbanken.gu.se/en/resources/swell-gold)[^1], which is currently being annotated in UD for the first time.
|
||||
In this case, there is no "gold standard" to check your answers against, but by choosing this corpus you will directly contribute to an ongoing annotation effort.
|
||||
Of course, you can still compare your solutions with [UDPipe](https://lindat.mff.cuni.cz/services/udpipe/)'s automatic analyses.
|
||||
|
||||
In both corpora, the first few sentences are POS-tagged, with each word having the form
|
||||
|
||||
`word:<POS>`
|
||||
|
||||
Hint: you can initialize the task by converting each word or word:<POS> to a simplified CoNLL line with a dummy head (0) and label (dep), with proper position number of course.
|
||||
|
||||
The UD annotation that you produce manually can be simplified CoNLL, with just the fields
|
||||
|
||||
`position word postag head label`
|
||||
|
||||
Make sure that each field is exactly one token, so that the whole line has exactly 5 tokens.
|
||||
|
||||
This input can be automatically expanded to full CoNLL by adding undescores for the lemma, morphology, and other missing fields, as well as tabs between the fields (if you didn't use tabs already).
|
||||
|
||||
`position word _ postag _ _ head label _ _`
|
||||
|
||||
Example:
|
||||
|
||||
`7 world NOUN 4 nmod`
|
||||
|
||||
expands to
|
||||
|
||||
`7 world _ NOUN _ _ 4 nmod _ _`
|
||||
|
||||
(Unfortunately, the tabs are not visible in the md output.)
|
||||
The conversion to full CoNLL can be done using Python or `gf-ud reduced2conll` (available on eduserv) or with [this script](https://gist.github.com/harisont/612a87d20f729aa3411041f873367fa2).
|
||||
|
||||
Once you have full CoNLL, you can use [deptreepy](https://github.com/aarneranta/deptreepy/), [gf-ud](https://github.com/grammaticalFramework/gf-ud) or [the online CoNNL-U viewer](https://universaldependencies.org/conllu_viewer.html) to visualize it.
|
||||
|
||||
With deptreepy, you will need to issue the command
|
||||
|
||||
`cat my-file.conllu | python deptreepy.py visualize_conllu > my-file.html`
|
||||
|
||||
which creates an HTML file you can open in you web browser.
|
||||
|
||||
If you use the gf-ud tool, the command is
|
||||
|
||||
`cat my-file.conllu | ./gf-ud conll2pdf`
|
||||
|
||||
which generates a PDF. However, this does not support all foreign characters.
|
||||
|
||||
(It is possible that you won't be able to visualize the trees directly on eduserv.
|
||||
Building gf-ud and running this command on your machine requires Haskell and the GF libraries, as well as LaTeX to show the pdf output.)
|
||||
|
||||
## (Chapter 4: phrase structure analysis)
|
||||
|
||||
> __NOTE:__ chapter 4 is __not__ required in the 2024 edition of the course.
|
||||
> You are of course welcome to try out these exercises, but they will not be graded.
|
||||
|
||||
### Prerequisites: get `gf-ud` to work
|
||||
There are multiple ways to use `gf-ud`:
|
||||
- using the version that is installed on eduserv
|
||||
- installing a pre-compiled executable, available for Mac and Ubuntu machines at http://www.grammaticalframework.org/~aarne/software/
|
||||
- compiling the source code, available at https://github.com/GrammaticalFramework/gf-ud. `gf-ud` can be built:
|
||||
- with `make` provided that you have the GHC Haskell compiler and the gf-core libraries (available at https://github.com/GrammaticalFramework/gf-core) installed
|
||||
- with the Haskell Stack tool, by running `stack install`. This will install all the necessary dependency automatically.
|
||||
|
||||
### Tasks
|
||||
1. Construct (by hand) phrase structure trees for some of the sentences in the corpus used in Chapter 3, both for English and your chosen language.
|
||||
|
||||
2. Test the grammar at
|
||||
|
||||
https://github.com/GrammaticalFramework/gf-ud/blob/master/grammars/English.dbnf
|
||||
|
||||
on last week's corpus, both for English and your own language.
|
||||
In practice, this means:
|
||||
- running `gf-ud`'s `dbnf` command on (possibly POS-tagged) versions of the sentences in Chapter 3's corpus.
|
||||
- comparing the CoNNL-U and parse trees obtained in this way with, respectively, your hand-drawn parse trees and the CoNNL-U trees from Chapter 3. Parse tree comparison can be qualitative, while CoNNL-U trees are to be compared quantitatively via `gf-ud eval`.
|
||||
|
||||
3. Modify the grammar to suit your language and test it on some of the UD treebanks by using `gf-ud eval`. Try to obtain a `udScore` above 0.60. You are welcome to explain the changes you make.
|
||||
|
||||
[^1]: to be precise, the sentences you will use have been extracted from [DaLAJ-GED-SuperLim 2.0](https://spraakbanken.gu.se/en/resources/dalaj-ged-superlim), a publicly available spinoff of the main SweLL corpus.
|
||||
24
old-labs/lab1/comp-syntax-corpus-english.txt
Normal file
24
old-labs/lab1/comp-syntax-corpus-english.txt
Normal file
@@ -0,0 +1,24 @@
|
||||
Who:<PRON> are:<AUX> they:<PRON> ?:<PUNCT>
|
||||
A:<DET> small:<ADJ> town:<NOUN> with:<ADP> two:<NUM> minarets:<NOUN> glides:<VERB> by:<ADV> .:<PUNCT>
|
||||
I:<PRON> was:<AUX> just:<ADV> a:<DET> boy:<NOUN> with:<ADP> muddy:<ADJ> shoes:<NOUN> .:<PUNCT>
|
||||
Shenzhen:<PROPN> 's:<PART> traffic:<NOUN> police:<NOUN> have:<AUX> opted:<VERB> for:<ADP> unconventional:<ADJ> penalties:<NOUN> before:<ADV> .:<PUNCT>.:<PUNCT>
|
||||
The:<DET> study:<NOUN> of:<ADP> volcanoes:<NOUN> is:<AUX> called:<VERB> volcanology:<NOUN> ,:<PUNCT> sometimes:<ADV> spelled:<VERB> vulcanology:<NOUN> .:<PUNCT>
|
||||
It:<PRON> was:<AUX> conducted:<VERB> just:<ADV> off:<ADP> the:<DET> Mexican:<ADJ> coast:<NOUN> from:<ADP> April:<PROPN> to:<ADP> June:<PROPN> .:<PUNCT>
|
||||
":<PUNCT> Her:<PRON> voice:<NOUN> literally:<ADV> went:<VERB> around:<ADP> the:<DET> world:<NOUN> ,:<PUNCT> ":<PUNCT> Leive:<PROPN> said:<VERB> .:<PUNCT>
|
||||
A:<DET> witness:<NOUN> told:<VERB> police:<NOUN> that:<SCONJ> the:<DET> victim:<NOUN> had:<AUX> attacked:<VERB> the:<DET> suspect:<NOUN> in:<ADP> April:<PROPN> .:<PUNCT>
|
||||
It:<PRON> 's:<AUX> most:<ADV> obvious:<ADJ> when:<SSUBJ> a:<DET> celebrity:<NOUN> 's:<PART> name:<NOUN> is:<AUX> initially:<ADV> quite:<ADV> rare:<ADJ> .:<PUNCT>
|
||||
This:<PRON> has:<AUX> not:<PART> stopped:<VERB> investors:<NOUN> flocking:<VERB> to:<PART> put:<VERB> their:<PRON> money:<NOUN> in:<ADP> the:<DET> funds:<NOUN> .:<PUNCT>
|
||||
This:<DET> discordance:<NOUN> between:<ADP> economic:<ADJ> data:<NOUN> and:<CCONJ> political:<ADJ> rhetoric:<NOUN> is:<AUX> familiar:<ADJ> ,:<PUNCT> or:<CCONJ> should:<AUX> be:<AUX> .:<PUNCT>
|
||||
The:<DET> feasibility:<NOUN> study:<NOUN> estimates:<VERB> that:<SCONJ> it:<PRON> would:<AUX> take:<VERB> passengers:<NOUN> about:<ADV> four:<NUM> minutes:<NOUN> to:<PART> cross:<VERB> the:<DET> Potomac:<PROPN> River:<PROPN> on:<ADP> the:<DET> gondola:<NOUN> .:<PUNCT>
|
||||
he collected cards and traded them with the other boys
|
||||
this crime carries a penalty of five years in prison
|
||||
the news was carried to every village in the province
|
||||
I carry these thoughts in the back of my head
|
||||
Adam would have been carried over into the life eternal
|
||||
the casings had rotted away and had to be replaced
|
||||
she was incensed that this chit of a girl should dare to make a fool of her in front of the class
|
||||
the landslide he had in the electoral college obscured the narrowness of a victory based on just 43% of the popular vote
|
||||
United States troops now carry atropine and autoinjectors in their first-aid kits to use in case of organophosphate nerve agent poisoning
|
||||
he may accomplish by craft in the long run what he cannot do by force and violence in the short one
|
||||
it has been said that only a hierarchical society with a leisure class at the top can produce works of art
|
||||
his ingenuous explanation that he would not have burned the church if he had not thought the bishop was in it
|
||||
24
old-labs/lab1/comp-syntax-corpus-swedish.txt
Normal file
24
old-labs/lab1/comp-syntax-corpus-swedish.txt
Normal file
@@ -0,0 +1,24 @@
|
||||
Jag:<PRON> tycker:<VERB> att:<SCONJ> du:<PRON> ska:<AUX> börja:<VERB> med:<ADP> en:<DET> språkkurs:<NOUN>.:<PUNCT>
|
||||
Flerspråkighet:<NOUN> gynnar:<VERB> oss:<PRON> även:<ADV> på:<ADP> arbetsmarknaden:<NOUN>.:<PUNCT>
|
||||
Språket:<NOUN> är:<AUX> lätt:<ADJ> och:<CCONJ> jag:<PRON> kan:<AUX> läsa:<VERB> utan:<ADP> något:<DET> problem:<PRON>.:<PUNCT>
|
||||
Man:<PRON> känner:<VERB> sig:<PRON> ensam:<ADJ> när:<SCONJ> man:<PRON> inte:<PART> kan:<AUX> prata:<VERB> språket:<NOUN> bra:<ADV>.:<PUNCT>
|
||||
Det:<PRON> kan:<AUX> vara:<AUX> kroppsspråk:<NOUN> men:<CCONJ> främst:<ADV> sker:<VERB> det:<PRON> genom:<ADP> talet:<NOUN>.
|
||||
Språket:<NOUN> är:<AUX> nyckeln:<NOUN> till:<ADP> alla:<DET> låsta:<ADJ> dörrar:<NOUN>,:<PUNCT> har:<AUX> vi:<PRON> hört:<VERB> flera:<ADJ> gånger:<NOUN>.:<PUNCT>
|
||||
Att:<PART> kunna:<VERB> ett:<DET> språk:<NOUN> är:<AUX> en:<DET> av:<ADP> de:<DET> viktigaste:<ADJ> och:<CCONJ> värdefullaste:<ADJ> egenskaper:<NOUN> en:<DET> människa:<NOUN> kan:<AUX> ha:<VERB> så:<SCONJ> det:<PRON> är:<AUX> värt:<ADJ> mer:<ADV> än:<ADP> vad:<PRON> man:<PRON> tror:<VERB>.:<PUNCT>
|
||||
Med:<ADP> andra:<ADJ> ord:<NOUN>,:<PUNCT> språket:<NOUN> är:<AUX> nyckeln:<NOUN> till:<ADP> alla:<DET> låsta:<ADJ> dörrar:<NOUN>,:<PUNCT> men:<CCONJ> det:<PRON> finns:<VERB> viktigare:<ADJ> saker:<NOUN> att:<PART> satsa:<VERB> på:<ADP> som:<PRON> jag:<PRON> kommer:<AUX> att:<PART> nämna:<VERB> längre:<ADV> ner:<ADV>.:<PUNCT>
|
||||
Han:<PRON> kom:<VERB> till:<ADP> Sverige:<PROPN> för:<ADP> 4:<NUM> år:<NOUN> sedan:<ADV>,:<PUNCT> han:<PRON> kunde:<AUX> inte:<PART> tala:<VERB> svenska:<ADJ> språket:<NOUN>,<PUNCT> ingen:<DET> engelska:<NOUN>,:<PUNCT> han:<PRON> kunde:<AUX> i:<ADP> princip:<NOUN> inte:<PART> kommunicera:<VERB> med:<ADP> någon:<PRON> här<ADV>.:<PUNCT>
|
||||
För:<ADP> det:<DET> första:<ADJ> hänger:<VERB> språket:<NOUN> ihop:<ADV> med:<ADP> tillhörighet:<NOUN>,:<PUNCT> särskilt:<ADV> för:<ADP> de:<DET> nya:<ADJ> invandrare:<NOUN> som:<PRON> har:<AUX> bestämt:<VERB> sig:<PRON> för:<ADP> att:<PART> flytta:<VERB> och:<CCONJ> bosätta:<VERB> sig:<PRON> i:<ADP> Sverige:<PROPN>.:<PUNCT>
|
||||
Om:<SCONJ> alla:<PRON> hade:<AUX> talat:<VERB> samma:<DET> språk:<NOUN> hade:<AUX> det:<PRON> förmodligen:<ADV> inte:<PART> funnits:<VERB> något:<DET> utanförskap:<NOUN>,:<PUNCT> utan:<CCONJ> man:<PRON> hade:<AUX> fått:<VERB> en:<DET> typ:<NOUN> av:<ADP> gemenskap:<NOUN> där:<ADV> man:<PRON> delar:<VERB> samma:<DET> kultur:<NOUN>.:<PUNCT>
|
||||
Att:<PART> lära:<VERB> sig:<PRON> ett:<DET> språk:<NOUN> är:<AUX> väldigt:<ADV> svårt:<ADJ>,:<PUNCT> speciellt:<ADV> för:<ADP> vuxna:<ADJ> människor:<NOUN>,:<PUNCT> och:<CCONJ> eftersom:<SCONJ> majoritetsspråket:<NOUN> blir:<VERB> en:<DET> viktig:<ADJ> del:<NOUN> i:<ADP> en:<DET> persons:<NOUN> liv:<NOUN> räcker:<VERB> det:<PRON> inte:<PART> att:<PART> tala:<VERB> det:<PRON> på:<ADP> söndagar:<NOUN> utan:<CCONJ> det:<PRON> måste:<AUX> läras:<VERB> in:<PART> som:<SCONJ> ett:<DET> modersmål:<NOUN>,:<PUNCT> vilket:<PRON> finansieras:<VERB> av:<ADP> oss:<PRON> skattebetalare:<NOUN>.:<PUNCT>
|
||||
Avslutningsvis så vill jag förmedla att vi bör rädda världen innan språken.
|
||||
Språket är ganska enkelt, och det är lätt att förstå vad romanen handlar om.
|
||||
Det är även kostsamt för staten att se till att dessa minoritetsspråk lever kvar.
|
||||
Låt mig säga att det är inte för sent att rädda de små språken, vi måste ta steget nu.
|
||||
Att hålla dessa minoritetsspråk vid liv är både slöseri med tid och mycket ekonomiskt krävande.
|
||||
Jag tackar alla lärare på Sfi som hjälper oss för att vi ska kunna bli bättre på svenska språket.
|
||||
Språk skapades för flera tusen år sedan och vissa språk har tynat bort medan några nya har skapats.
|
||||
Samhället behöver flerspråkiga och vägen till kommunikation och till att begripa andras kulturer är ett språk.
|
||||
Om man kan fler språk har man fler möjligheter att använda sig av dem vilket leder till utveckling.
|
||||
Därför tycker jag att vi bör införa ett förbud mot främmande språk i statliga myndigheter och föreningar.
|
||||
Men jag anser först och främst att språket är som själen, det som ger oss livskraft, säregenhet och karaktär.
|
||||
På Sveriges riksdags hemsida kan man läsa om hur Sverige bidrar med att skydda dessa språk med hjälp av statligt bidrag.
|
||||
38
old-labs/lab1/lecture3-examples.txt
Normal file
38
old-labs/lab1/lecture3-examples.txt
Normal file
@@ -0,0 +1,38 @@
|
||||
John prefers wine to beer.
|
||||
John definitely prefers beer to wine today if he is hungry.
|
||||
John walks.
|
||||
John does not walk.
|
||||
John has walked.
|
||||
John is old.
|
||||
John is a doctor.
|
||||
John is here.
|
||||
Probably the best beer in the world.
|
||||
Why?
|
||||
|
||||
She will.
|
||||
The black cat was seen.
|
||||
There is an elephant in the room.
|
||||
It is too cold in the room.
|
||||
She gave me a hint.
|
||||
She gave a hint to me.
|
||||
John saw a man with a telescope.
|
||||
She walks today.
|
||||
genetically modified
|
||||
|
||||
Why does she walk?
|
||||
|
||||
Why does she not walk?
|
||||
|
||||
Every man in the city works in the city.
|
||||
She is here.
|
||||
She has been here.
|
||||
The reason is that I am tired.
|
||||
He can sing.
|
||||
Does he sing?
|
||||
|
||||
Would he have sung?
|
||||
|
||||
He would not have been tired.
|
||||
He called me a "bad loser".
|
||||
|
||||
|
||||
63
old-labs/lab1/using_udpipe.md
Normal file
63
old-labs/lab1/using_udpipe.md
Normal file
@@ -0,0 +1,63 @@
|
||||
# UDPipe: quick instructions
|
||||
|
||||
## Download and install
|
||||
|
||||
The simplest way to use UDPipe is to install the binaries for UDPipe-1, which exist for several operating systems.
|
||||
They can be downloaded from
|
||||
|
||||
https://github.com/ufal/udpipe/releases/download/v1.3.0/udpipe-1.3.0-bin.zip
|
||||
|
||||
When you have downloaded and unzipped this file, you will find the binary for your system in a subdirectory, for instance,
|
||||
```
|
||||
udpipe-1.3.0-bin/bin-macos/udpipe
|
||||
```
|
||||
is the binary for MacOS.
|
||||
If you include this directory on your PATH, you can run the command `udpipe` from anywhere.
|
||||
|
||||
Running the parser for a language requires a model for that language.
|
||||
Models can be accessed via
|
||||
|
||||
https://lindat.mff.cuni.cz/repository/xmlui/handle/11234/1-3131
|
||||
|
||||
This page includes a long list of models and a command to install them all.
|
||||
If you need only some of them, you can do, for instance,
|
||||
```
|
||||
$ wget https://lindat.mff.cuni.cz/repository/xmlui/bitstream/handle/11234/1-3131//english-lines-ud-2.5-191206.udpipe
|
||||
```
|
||||
|
||||
## Running the parser
|
||||
|
||||
Assuming that you have the binary `udpipe` and the model `english-lines-ud-2.5-191206.udpipe` on you path, you can parse a single sentence with
|
||||
```
|
||||
$ echo "my hovercraft is full of eels" | udpipe --tokenize --tag --parse english-lines-ud-2.5-191206.udpipe
|
||||
```
|
||||
The result is a UD tree in the CoNLL-U notation,
|
||||
```
|
||||
# newdoc
|
||||
# newpar
|
||||
# sent_id = 1
|
||||
# text = my hovercraft is full of eels
|
||||
1 my I PRON P1SG-GEN Number=Sing|Person=1|Poss=Yes|PronType=Prs nmod:poss _ _
|
||||
2 hovercraft hovercraft NOUN SG-NOM Number=Sing 4 nsubj _ _
|
||||
3 is be AUX PRES Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin cop _ _
|
||||
4 full full ADJ POS Degree=Pos 0 root _ _
|
||||
5 of of ADP _ _ 6 case _ _
|
||||
6 eels eel NOUN PL-NOM Number=Plur 4 nmod _ SpacesAfter=\n
|
||||
```
|
||||
If you also have `gfud` and `pdflatex` on your path, you can pipe the result into `gfud conll2pdf` to see the graphical tree.
|
||||
|
||||
As `udpipe` reads standard input, you can read it from a file, such as `lecture3-examples.txt`:
|
||||
```
|
||||
$ cat <myfile> | udpipe --tokenize --tag --parse <model>
|
||||
```
|
||||
Notice that sentences in that file must either end with a period or be separated by empty lines, because otherwise the whole file is parsed as one sentence.
|
||||
|
||||
|
||||
## Training a new model
|
||||
|
||||
If you have a treebank in the CoNLL-U format, you can use it for training a new model, with
|
||||
```
|
||||
$ cat <myfile>.conllu | udpipe --tokenizer none --tagger none --train <myfile>.udpipe
|
||||
```
|
||||
|
||||
|
||||
87
old-labs/lab2/README.md
Normal file
87
old-labs/lab2/README.md
Normal file
@@ -0,0 +1,87 @@
|
||||
# Lab 2: Multilingual generation and translation
|
||||
|
||||
This lab corresponds to Chapters 5 to 9 of the Notes, but follows them only loosely.
|
||||
Therefore we will structure it according to the exercise sessions
|
||||
rather than chapters.
|
||||
The abstract syntax is given in the subdirectory grammars/abstract/
|
||||
|
||||
## After lecture 6
|
||||
|
||||
1. Design a morphology for the main lexical types (N, A, V) with parameters and a couple of paradigms.
|
||||
2. Test it by implementing the lexicon in the MicroLang module. You need to define lincat N,A,V,V2 as well as the paradigms in MicroResource.
|
||||
|
||||
*To deliver*: the lexicon part of files MicroGrammarX.gf and MicroResourceX.gf for your language of choice X. Follow the structure of MicroGrammarEng and MicroResourceEng when preparing these.
|
||||
|
||||
## After lecture 7
|
||||
|
||||
1. Define the linearization types of main phrasal categories - the remaining categories in MicroLang.
|
||||
2. Define the rest of the linearization rules in MicroLang.
|
||||
|
||||
*To deliver*: MicroLangX and MicroResourceX for your language of choice, with the lexicon part from Session 5 completed with syntax part.
|
||||
|
||||
## After lecture 8
|
||||
|
||||
1. Try out the applications in `../python` and read its README carefully.
|
||||
2. Add a concrete syntax for your language to one of the grammars
|
||||
in `../python/`, either `Query` or `Draw`.
|
||||
The simplest way to do this
|
||||
is first to copy the `Eng` grammar and then to change the words; the
|
||||
syntax may work well as it is. Even though it can be a bit unnatural,
|
||||
it should be in a wide sense natural.
|
||||
3. Compile the grammar with `gf -make Query???.gf` so that your grammar
|
||||
gets included (the same for `Draw`).
|
||||
4. Generate phrases in GF by first importing your pgf file and then
|
||||
issuing the command `gt | l -treebank`; fix your grammar if it looks
|
||||
too bad.
|
||||
5. Test the corresponding Python application with your language.
|
||||
|
||||
The Python code with embedded GF grammars will be explained in a greater
|
||||
detail in Lecture 9.
|
||||
|
||||
*To deliver*: your grammar module.
|
||||
|
||||
*Deadline*: 29 May 2024. Demo your grammars (both Micro and this one) at
|
||||
the last lecture of the course!
|
||||
|
||||
|
||||
## A method for testing your Micro grammar
|
||||
|
||||
Since MicroLang is a proper part of the RGL, it can be easily implemented as an application grammar.
|
||||
How to do this is shown in `grammar/functor/`, where the implementation consists of two files:
|
||||
- `MicroLangFunctor.gf` which is a generic implementation working for all RGL languages,
|
||||
- `MicroLangFunctorEng.gf` which is a *functor instantiation* for English, easily reproduciple for other languages than `Eng`.
|
||||
|
||||
To use this for testing, you can take the following steps:
|
||||
|
||||
1. Build a functor instantiation for your language by copying `MicroLangFunctorEng.gf` and changing `Eng` in the file name and inside the file to your language code.
|
||||
|
||||
2. Use GF to create a testfile by random generation:
|
||||
```
|
||||
$ echo "gr -number=1000 | l -tabtreebank" | gf english/MicroLangEng.gf functor/MicroLangFunctorEng.gf >test.tmp
|
||||
```
|
||||
|
||||
3. Inspect the resulting file `test.tmp`.
|
||||
But you can also use Unix `cut` to create separate files for the two versions of the grammar and `diff` to compare them:
|
||||
```
|
||||
$ cut -f2 test.tmp >test1.tmp
|
||||
$ cut -f3 test.tmp >test2.tmp
|
||||
$ diff test1.tmp test2.tmp
|
||||
|
||||
52c52
|
||||
< the hot fire teachs her
|
||||
---
|
||||
> the hot fire teaches her
|
||||
69c69
|
||||
< the man teachs the apples
|
||||
---
|
||||
> the man teaches the apples
|
||||
122c122
|
||||
```
|
||||
As seen from the result in this case, our implementation has a wrong inflection of the verb "teach".
|
||||
|
||||
The Mini grammar can be tested in the same way, by building a reference implementation using the functor in `functor/`.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
165
old-labs/lab2/grammar/abstract/MicroLang.gf
Normal file
165
old-labs/lab2/grammar/abstract/MicroLang.gf
Normal file
@@ -0,0 +1,165 @@
|
||||
abstract MicroLang = {
|
||||
|
||||
-- a very minimal version of MiniGrammar + MiniLexicon, helping to get started
|
||||
|
||||
-----------------------------------------------------
|
||||
---------------- Grammar part -----------------------
|
||||
-----------------------------------------------------
|
||||
|
||||
cat
|
||||
|
||||
-- Common
|
||||
Utt ; -- sentence, question, word... e.g. "be quiet"
|
||||
|
||||
-- Cat
|
||||
S ; -- declarative sentence e.g. "she lives here"
|
||||
VP ; -- verb phrase e.g. "lives here"
|
||||
Comp ; -- complement of copula e.g. "warm"
|
||||
AP ; -- adjectival phrase e.g. "warm"
|
||||
CN ; -- common noun (without determiner) e.g. "red house"
|
||||
NP ; -- noun phrase (subject or object) e.g. "the red house"
|
||||
Det ; -- determiner phrase e.g. "those"
|
||||
Prep ; -- preposition, or just case e.g. "in", dative
|
||||
V ; -- one-place verb e.g. "sleep"
|
||||
V2 ; -- two-place verb e.g. "love"
|
||||
A ; -- one-place adjective e.g. "warm"
|
||||
N ; -- common noun e.g. "house"
|
||||
Pron ; -- personal pronoun e.g. "she"
|
||||
Adv ; -- adverbial phrase e.g. "in the house"
|
||||
|
||||
fun
|
||||
-- Phrase
|
||||
UttS : S -> Utt ; -- he walks
|
||||
UttNP : NP -> Utt ; -- he
|
||||
|
||||
-- Sentence
|
||||
PredVPS : NP -> VP -> S ; -- John walks --s shortcut even wrt MiniGrammar
|
||||
|
||||
-- Verb
|
||||
UseV : V -> VP ; -- sleep
|
||||
ComplV2 : V2 -> NP -> VP ; -- love it ---s
|
||||
UseComp : Comp -> VP ; -- be small
|
||||
CompAP : AP -> Comp ; -- small
|
||||
AdvVP : VP -> Adv -> VP ; -- sleep here
|
||||
|
||||
-- Noun
|
||||
DetCN : Det -> CN -> NP ; -- the man
|
||||
UsePron : Pron -> NP ; -- she
|
||||
a_Det : Det ; -- indefinite singular ---s
|
||||
aPl_Det : Det ; -- indefinite plural ---s
|
||||
the_Det : Det ; -- definite singular ---s
|
||||
thePl_Det : Det ; -- definite plural ---s
|
||||
UseN : N -> CN ; -- house
|
||||
AdjCN : AP -> CN -> CN ; -- big house
|
||||
|
||||
-- Adjective
|
||||
PositA : A -> AP ; -- warm
|
||||
|
||||
-- Adverb
|
||||
PrepNP : Prep -> NP -> Adv ; -- in the house
|
||||
|
||||
-- Structural
|
||||
in_Prep : Prep ;
|
||||
on_Prep : Prep ;
|
||||
with_Prep : Prep ;
|
||||
|
||||
he_Pron : Pron ;
|
||||
she_Pron : Pron ;
|
||||
they_Pron : Pron ;
|
||||
|
||||
|
||||
-----------------------------------------------------
|
||||
---------------- Lexicon part -----------------------
|
||||
-----------------------------------------------------
|
||||
|
||||
fun
|
||||
already_Adv : Adv ;
|
||||
animal_N : N ;
|
||||
apple_N : N ;
|
||||
baby_N : N ;
|
||||
bad_A : A ;
|
||||
beer_N : N ;
|
||||
big_A : A ;
|
||||
bike_N : N ;
|
||||
bird_N : N ;
|
||||
black_A : A ;
|
||||
blood_N : N ;
|
||||
blue_A : A ;
|
||||
boat_N : N ;
|
||||
book_N : N ;
|
||||
boy_N : N ;
|
||||
bread_N : N ;
|
||||
break_V2 : V2 ;
|
||||
buy_V2 : V2 ;
|
||||
car_N : N ;
|
||||
cat_N : N ;
|
||||
child_N : N ;
|
||||
city_N : N ;
|
||||
clean_A : A ;
|
||||
clever_A : A ;
|
||||
cloud_N : N ;
|
||||
cold_A : A ;
|
||||
come_V : V ;
|
||||
computer_N : N ;
|
||||
cow_N : N ;
|
||||
dirty_A : A ;
|
||||
dog_N : N ;
|
||||
drink_V2 : V2 ;
|
||||
eat_V2 : V2 ;
|
||||
find_V2 : V2 ;
|
||||
fire_N : N ;
|
||||
fish_N : N ;
|
||||
flower_N : N ;
|
||||
friend_N : N ;
|
||||
girl_N : N ;
|
||||
good_A : A ;
|
||||
go_V : V ;
|
||||
grammar_N : N ;
|
||||
green_A : A ;
|
||||
heavy_A : A ;
|
||||
horse_N : N ;
|
||||
hot_A : A ;
|
||||
house_N : N ;
|
||||
-- john_PN : PN ;
|
||||
jump_V : V ;
|
||||
kill_V2 : V2 ;
|
||||
-- know_VS : VS ;
|
||||
language_N : N ;
|
||||
live_V : V ;
|
||||
love_V2 : V2 ;
|
||||
man_N : N ;
|
||||
milk_N : N ;
|
||||
music_N : N ;
|
||||
new_A : A ;
|
||||
now_Adv : Adv ;
|
||||
old_A : A ;
|
||||
-- paris_PN : PN ;
|
||||
play_V : V ;
|
||||
read_V2 : V2 ;
|
||||
ready_A : A ;
|
||||
red_A : A ;
|
||||
river_N : N ;
|
||||
run_V : V ;
|
||||
sea_N : N ;
|
||||
see_V2 : V2 ;
|
||||
ship_N : N ;
|
||||
sleep_V : V ;
|
||||
small_A : A ;
|
||||
star_N : N ;
|
||||
swim_V : V ;
|
||||
teach_V2 : V2 ;
|
||||
train_N : N ;
|
||||
travel_V : V ;
|
||||
tree_N : N ;
|
||||
understand_V2 : V2 ;
|
||||
wait_V2 : V2 ;
|
||||
walk_V : V ;
|
||||
warm_A : A ;
|
||||
water_N : N ;
|
||||
white_A : A ;
|
||||
wine_N : N ;
|
||||
woman_N : N ;
|
||||
yellow_A : A ;
|
||||
young_A : A ;
|
||||
|
||||
}
|
||||
16
old-labs/lab2/grammar/abstract/MicroLang.labels
Normal file
16
old-labs/lab2/grammar/abstract/MicroLang.labels
Normal file
@@ -0,0 +1,16 @@
|
||||
PredVPS nsubj head
|
||||
ComplV2 head obj
|
||||
AdvVP head advmod
|
||||
DetCN det head
|
||||
AdjCN amod head
|
||||
PrepNP case head
|
||||
|
||||
Det DET
|
||||
Prep ADP
|
||||
V VERB
|
||||
V2 VERB
|
||||
A ADJ
|
||||
N NOUN
|
||||
Pron PRON
|
||||
Adv ADV
|
||||
|
||||
121
old-labs/lab2/grammar/abstract/MiniGrammar.gf
Normal file
121
old-labs/lab2/grammar/abstract/MiniGrammar.gf
Normal file
@@ -0,0 +1,121 @@
|
||||
abstract MiniGrammar = {
|
||||
|
||||
-- collected from GF/lib/src/abstract/*.gf
|
||||
-- the functions marked ---s are shortcuts
|
||||
-- the leading comments, e.g. "-- Common", indicate the standard RGL module
|
||||
|
||||
cat
|
||||
|
||||
-- Common
|
||||
Utt ; -- sentence, question, word... e.g. "be quiet"
|
||||
Pol ; -- polarity e.g. positive, negative
|
||||
Temp ; -- temporal features e.g. present, anterior
|
||||
|
||||
-- Cat
|
||||
Imp ; -- imperative e.g. "walk", "don't walk"
|
||||
S ; -- declarative sentence e.g. "she lives here"
|
||||
QS ; -- question sentence e.g. "does she live here"
|
||||
Cl ; -- declarative clause, with all tenses e.g. "she looks at this"
|
||||
QCl ; -- question clause e.g. "does she look at this"
|
||||
VP ; -- verb phrase e.g. "lives here"
|
||||
Comp ; -- complement of copula e.g. "in trouble"
|
||||
AP ; -- adjectival phrase e.g. "very warm"
|
||||
CN ; -- common noun (without determiner) e.g. "red house"
|
||||
NP ; -- noun phrase (subject or object) e.g. "the red house"
|
||||
IP ; -- interrogative phrase e.g. "who"
|
||||
Pron ; -- personal pronoun e.g. "she"
|
||||
Det ; -- determiner phrase e.g. "those"
|
||||
Conj ; -- conjunction e.g. "and"
|
||||
Prep ; -- preposition, or just case e.g. "in", dative
|
||||
V ; -- one-place verb e.g. "sleep"
|
||||
V2 ; -- two-place verb e.g. "love"
|
||||
VS ; -- sentence-complement verb e.g. "know"
|
||||
VV ; -- verb-phrase-complement verb e.g. "want"
|
||||
A ; -- one-place adjective e.g. "warm"
|
||||
N ; -- common noun e.g. "house"
|
||||
PN ; -- proper name e.g. "Paris"
|
||||
Adv ; -- adverbial phrase e.g. "in the house"
|
||||
IAdv ; -- interrogative adverbial e.g. "where"
|
||||
|
||||
fun
|
||||
-- Phrase
|
||||
UttS : S -> Utt ; -- John walks
|
||||
UttQS : QS -> Utt ; -- does John walk
|
||||
UttNP : NP -> Utt ; -- John
|
||||
UttAdv : Adv -> Utt ; -- in the house
|
||||
UttIAdv : IAdv -> Utt ; -- why
|
||||
UttImpSg : Pol -> Imp -> Utt ; -- (do not) walk
|
||||
|
||||
-- Sentence
|
||||
UseCl : Temp -> Pol -> Cl -> S ; -- John has not walked
|
||||
UseQCl : Temp -> Pol -> QCl -> QS ; -- has John walked
|
||||
PredVP : NP -> VP -> Cl ; -- John walks / John does not walk
|
||||
QuestCl : Cl -> QCl ; -- does John (not) walk
|
||||
QuestVP : IP -> VP -> QCl ; -- who does (not) walk
|
||||
ImpVP : VP -> Imp ; -- walk / do not walk
|
||||
|
||||
-- Verb
|
||||
UseV : V -> VP ; -- sleep
|
||||
ComplV2 : V2 -> NP -> VP ; -- love it ---s
|
||||
ComplVS : VS -> S -> VP ; -- know that it is good
|
||||
ComplVV : VV -> VP -> VP ; -- want to be good
|
||||
UseComp : Comp -> VP ; -- be small
|
||||
CompAP : AP -> Comp ; -- small
|
||||
CompNP : NP -> Comp ; -- a man
|
||||
CompAdv : Adv -> Comp ; -- in the house
|
||||
AdvVP : VP -> Adv -> VP ; -- sleep here
|
||||
|
||||
-- Noun
|
||||
DetCN : Det -> CN -> NP ; -- the man
|
||||
UsePN : PN -> NP ; -- John
|
||||
UsePron : Pron -> NP ; -- he
|
||||
MassNP : CN -> NP ; -- milk
|
||||
a_Det : Det ; -- indefinite singular ---s
|
||||
aPl_Det : Det ; -- indefinite plural ---s
|
||||
the_Det : Det ; -- definite singular ---s
|
||||
thePl_Det : Det ; -- definite plural ---s
|
||||
UseN : N -> CN ; -- house
|
||||
AdjCN : AP -> CN -> CN ; -- big house
|
||||
|
||||
-- Adjective
|
||||
PositA : A -> AP ; -- warm
|
||||
|
||||
-- Adverb
|
||||
PrepNP : Prep -> NP -> Adv ; -- in the house
|
||||
|
||||
-- Conjunction
|
||||
CoordS : Conj -> S -> S -> S ; -- he walks and she runs ---s
|
||||
|
||||
-- Tense
|
||||
PPos : Pol ; -- I sleep [positive polarity]
|
||||
PNeg : Pol ; -- I do not sleep [negative polarity]
|
||||
TSim : Temp ; -- simultanous: she sleeps ---s
|
||||
TAnt : Temp ; -- anterior: she has slept ---s
|
||||
|
||||
-- Structural
|
||||
and_Conj : Conj ;
|
||||
or_Conj : Conj ;
|
||||
|
||||
every_Det : Det ;
|
||||
|
||||
in_Prep : Prep ;
|
||||
on_Prep : Prep ;
|
||||
with_Prep : Prep ;
|
||||
|
||||
i_Pron : Pron ;
|
||||
youSg_Pron : Pron ;
|
||||
he_Pron : Pron ;
|
||||
she_Pron : Pron ;
|
||||
we_Pron : Pron ;
|
||||
youPl_Pron : Pron ;
|
||||
they_Pron : Pron ;
|
||||
|
||||
whoSg_IP : IP ;
|
||||
|
||||
where_IAdv : IAdv ;
|
||||
why_IAdv : IAdv ;
|
||||
|
||||
have_V2 : V2 ;
|
||||
want_VV : VV ;
|
||||
|
||||
}
|
||||
8
old-labs/lab2/grammar/abstract/MiniLang.gf
Normal file
8
old-labs/lab2/grammar/abstract/MiniLang.gf
Normal file
@@ -0,0 +1,8 @@
|
||||
abstract MiniLang =
|
||||
MiniGrammar,
|
||||
MiniLexicon
|
||||
** {
|
||||
|
||||
flags startcat = Utt ;
|
||||
|
||||
}
|
||||
27
old-labs/lab2/grammar/abstract/MiniLang.labels
Normal file
27
old-labs/lab2/grammar/abstract/MiniLang.labels
Normal file
@@ -0,0 +1,27 @@
|
||||
AdjCN amod head
|
||||
AdvVP head advmod
|
||||
ComplV2 head obj
|
||||
ComplVS head ccomp
|
||||
ComplVV head xcomp
|
||||
CoordS cc head conj
|
||||
DetCN det head
|
||||
PredVP nsubj head
|
||||
PrepNP case head
|
||||
QuestVP nsubj head
|
||||
UseCl empty empty head
|
||||
UseQCl empty empty head
|
||||
UttImpSg emoty head
|
||||
|
||||
A ADJ
|
||||
Adv ADV
|
||||
Conj CONJ
|
||||
Det DET
|
||||
IAdv ADV
|
||||
N NOUN
|
||||
PN PROPN
|
||||
Prep ADP
|
||||
Pron PRON
|
||||
V VERB
|
||||
V2 VERB
|
||||
VV VERB
|
||||
VS VERB
|
||||
92
old-labs/lab2/grammar/abstract/MiniLexicon.gf
Normal file
92
old-labs/lab2/grammar/abstract/MiniLexicon.gf
Normal file
@@ -0,0 +1,92 @@
|
||||
abstract MiniLexicon = MiniGrammar ** {
|
||||
fun
|
||||
already_Adv : Adv ;
|
||||
animal_N : N ;
|
||||
apple_N : N ;
|
||||
baby_N : N ;
|
||||
bad_A : A ;
|
||||
beer_N : N ;
|
||||
big_A : A ;
|
||||
bike_N : N ;
|
||||
bird_N : N ;
|
||||
black_A : A ;
|
||||
blood_N : N ;
|
||||
blue_A : A ;
|
||||
boat_N : N ;
|
||||
book_N : N ;
|
||||
boy_N : N ;
|
||||
bread_N : N ;
|
||||
break_V2 : V2 ;
|
||||
buy_V2 : V2 ;
|
||||
car_N : N ;
|
||||
cat_N : N ;
|
||||
child_N : N ;
|
||||
city_N : N ;
|
||||
clean_A : A ;
|
||||
clever_A : A ;
|
||||
cloud_N : N ;
|
||||
cold_A : A ;
|
||||
come_V : V ;
|
||||
computer_N : N ;
|
||||
cow_N : N ;
|
||||
dirty_A : A ;
|
||||
dog_N : N ;
|
||||
drink_V2 : V2 ;
|
||||
eat_V2 : V2 ;
|
||||
find_V2 : V2 ;
|
||||
fire_N : N ;
|
||||
fish_N : N ;
|
||||
flower_N : N ;
|
||||
friend_N : N ;
|
||||
girl_N : N ;
|
||||
good_A : A ;
|
||||
go_V : V ;
|
||||
grammar_N : N ;
|
||||
green_A : A ;
|
||||
heavy_A : A ;
|
||||
horse_N : N ;
|
||||
hot_A : A ;
|
||||
house_N : N ;
|
||||
john_PN : PN ;
|
||||
jump_V : V ;
|
||||
kill_V2 : V2 ;
|
||||
know_VS : VS ;
|
||||
language_N : N ;
|
||||
live_V : V ;
|
||||
love_V2 : V2 ;
|
||||
man_N : N ;
|
||||
milk_N : N ;
|
||||
music_N : N ;
|
||||
new_A : A ;
|
||||
now_Adv : Adv ;
|
||||
old_A : A ;
|
||||
paris_PN : PN ;
|
||||
play_V : V ;
|
||||
read_V2 : V2 ;
|
||||
ready_A : A ;
|
||||
red_A : A ;
|
||||
river_N : N ;
|
||||
run_V : V ;
|
||||
sea_N : N ;
|
||||
see_V2 : V2 ;
|
||||
ship_N : N ;
|
||||
sleep_V : V ;
|
||||
small_A : A ;
|
||||
star_N : N ;
|
||||
swim_V : V ;
|
||||
teach_V2 : V2 ;
|
||||
train_N : N ;
|
||||
travel_V : V ;
|
||||
tree_N : N ;
|
||||
understand_V2 : V2 ;
|
||||
wait_V2 : V2 ;
|
||||
walk_V : V ;
|
||||
warm_A : A ;
|
||||
water_N : N ;
|
||||
white_A : A ;
|
||||
wine_N : N ;
|
||||
woman_N : N ;
|
||||
yellow_A : A ;
|
||||
young_A : A ;
|
||||
|
||||
}
|
||||
148
old-labs/lab2/grammar/api/MiniSyntax.gf
Normal file
148
old-labs/lab2/grammar/api/MiniSyntax.gf
Normal file
@@ -0,0 +1,148 @@
|
||||
incomplete resource MiniSyntax =
|
||||
open MiniGrammar
|
||||
|
||||
in {
|
||||
|
||||
oper
|
||||
|
||||
mkUtt = overload {
|
||||
mkUtt : S -> Utt
|
||||
= UttS ;
|
||||
mkUtt : QS -> Utt
|
||||
= UttQS ;
|
||||
mkUtt : NP -> Utt
|
||||
= UttNP ;
|
||||
mkUtt : Adv -> Utt
|
||||
= UttAdv ;
|
||||
mkUtt : Pol -> Imp -> Utt
|
||||
= UttImpSg ;
|
||||
mkUtt : Imp -> Utt
|
||||
= UttImpSg PPos
|
||||
} ;
|
||||
|
||||
mkImp = overload {
|
||||
mkImp : VP -> Imp
|
||||
= ImpVP ;
|
||||
} ;
|
||||
|
||||
mkS = overload {
|
||||
mkS : Temp -> Pol -> Cl -> S
|
||||
= UseCl ;
|
||||
mkS : Pol -> Cl -> S
|
||||
= UseCl TSim ;
|
||||
mkS : Temp -> Cl -> S
|
||||
= \t -> UseCl t PPos ;
|
||||
mkS : Cl -> S
|
||||
= UseCl TSim PPos ;
|
||||
mkS : Conj -> S -> S -> S
|
||||
= CoordS ;
|
||||
} ;
|
||||
|
||||
mkQS = overload {
|
||||
mkQS : Temp -> Pol -> QCl -> QS
|
||||
= UseQCl ;
|
||||
mkQS : Pol -> QCl -> QS
|
||||
= UseQCl TSim ;
|
||||
mkQS : Temp -> QCl -> QS
|
||||
= \t -> UseQCl t PPos ;
|
||||
mkQS : QCl -> QS
|
||||
= UseQCl TSim PPos ;
|
||||
} ;
|
||||
|
||||
positivePol : Pol
|
||||
= PPos ;
|
||||
negativePol : Pol
|
||||
= PNeg ;
|
||||
|
||||
simultaneousAnt : Temp
|
||||
= TSim ;
|
||||
anteriorAnt : Temp
|
||||
= TAnt ;
|
||||
|
||||
mkCl = overload {
|
||||
mkCl : NP -> VP -> Cl
|
||||
= PredVP ;
|
||||
mkCl : NP -> V -> Cl
|
||||
= \np,v -> PredVP np (UseV v) ;
|
||||
mkCl : NP -> V2 -> NP -> Cl
|
||||
= \np,v,obj -> PredVP np (ComplV2 v obj) ;
|
||||
mkCl : NP -> VS -> S -> Cl
|
||||
= \np,v,obj -> PredVP np (ComplVS v obj) ;
|
||||
mkCl : NP -> VV -> VP -> Cl
|
||||
= \np,v,obj -> PredVP np (ComplVV v obj) ;
|
||||
mkCl : NP -> AP -> Cl
|
||||
= \np,ap -> PredVP np (UseComp (CompAP ap)) ;
|
||||
mkCl : NP -> A -> Cl
|
||||
= \np,a -> PredVP np (UseComp (CompAP (PositA a))) ;
|
||||
} ;
|
||||
|
||||
mkQCl = overload {
|
||||
mkQCl : Cl -> QCl
|
||||
= QuestCl ;
|
||||
mkQCl : IP -> VP -> QCl
|
||||
= QuestVP ;
|
||||
} ;
|
||||
|
||||
mkVP = overload {
|
||||
mkVP : V -> VP
|
||||
= UseV ;
|
||||
mkVP : V2 -> NP -> VP
|
||||
= ComplV2 ;
|
||||
mkVP : AP -> VP
|
||||
= \ap -> UseComp (CompAP ap) ;
|
||||
mkVP : A -> VP
|
||||
= \a -> UseComp (CompAP (PositA a)) ;
|
||||
mkVP : NP -> VP
|
||||
= \np -> UseComp (CompNP np) ;
|
||||
mkVP : Adv -> VP
|
||||
= \adv -> UseComp (CompAdv adv) ;
|
||||
mkVP : VP -> Adv -> VP
|
||||
= AdvVP ;
|
||||
} ;
|
||||
|
||||
mkNP = overload {
|
||||
mkNP : Det -> CN -> NP
|
||||
= DetCN ;
|
||||
mkNP : Det -> N -> NP
|
||||
= \det,n -> DetCN det (UseN n) ;
|
||||
mkNP : Pron -> NP
|
||||
= UsePron ;
|
||||
mkNP : PN -> NP
|
||||
= UsePN ;
|
||||
mkNP : CN -> NP
|
||||
= MassNP ;
|
||||
mkNP : N -> NP
|
||||
= \n -> MassNP (UseN n) ;
|
||||
} ;
|
||||
|
||||
i_NP : NP
|
||||
= UsePron i_Pron ;
|
||||
you_NP : NP
|
||||
= UsePron youSg_Pron ;
|
||||
he_NP : NP
|
||||
= UsePron he_Pron ;
|
||||
she_NP : NP
|
||||
= UsePron she_Pron ;
|
||||
|
||||
mkCN = overload {
|
||||
mkCN : N -> CN
|
||||
= UseN ;
|
||||
mkCN : AP -> CN -> CN
|
||||
= AdjCN ;
|
||||
mkCN : A -> N -> CN
|
||||
= \a,n -> AdjCN (PositA a) (UseN n) ;
|
||||
mkCN : A -> CN -> CN
|
||||
= \a,cn -> AdjCN (PositA a) cn ;
|
||||
} ;
|
||||
|
||||
mkAP = overload {
|
||||
mkAP : A -> AP
|
||||
= PositA ;
|
||||
} ;
|
||||
|
||||
mkAdv = overload {
|
||||
mkAdv : Prep -> NP -> Adv
|
||||
= PrepNP ;
|
||||
} ;
|
||||
|
||||
}
|
||||
6
old-labs/lab2/grammar/api/MiniSyntaxEng.gf
Normal file
6
old-labs/lab2/grammar/api/MiniSyntaxEng.gf
Normal file
@@ -0,0 +1,6 @@
|
||||
--# -path=.:../english:../abstract
|
||||
|
||||
resource MiniSyntaxEng =
|
||||
MiniGrammarEng ** --- inheriting everything from Grammar, not just Cat and Structural
|
||||
MiniSyntax with
|
||||
(MiniGrammar=MiniGrammarEng) ;
|
||||
92
old-labs/lab2/grammar/application-2022/Doctor.gf
Normal file
92
old-labs/lab2/grammar/application-2022/Doctor.gf
Normal file
@@ -0,0 +1,92 @@
|
||||
abstract Doctor = {
|
||||
|
||||
flags startcat = Phrase ;
|
||||
|
||||
cat
|
||||
Phrase ; -- has she slept?
|
||||
Fact ; -- she sleeps
|
||||
Action ; -- sleep
|
||||
Property ; -- be a doctor
|
||||
Profession ; -- doctor
|
||||
Person ; -- she
|
||||
Place ; -- the hospital
|
||||
Substance ; -- drugs
|
||||
Illness ; -- fever
|
||||
|
||||
fun
|
||||
presPosPhrase : Fact -> Phrase ; -- she sleeps
|
||||
presNegPhrase : Fact -> Phrase ; -- she doesn't sleep
|
||||
pastPosPhrase : Fact -> Phrase ; -- she has slept
|
||||
pastNegPhrase : Fact -> Phrase ; -- she has not slept
|
||||
presQuestionPhrase : Fact -> Phrase ; -- does she sleep
|
||||
pastQuestionPhrase : Fact -> Phrase ; -- has she slept
|
||||
|
||||
impPosPhrase : Action -> Phrase ; -- eat
|
||||
impNegPhrase : Action -> Phrase ; -- don't eat
|
||||
|
||||
actionFact : Person -> Action -> Fact ; -- she vaccinates you
|
||||
propertyFact : Person -> Property -> Fact ; -- she is a doctor
|
||||
|
||||
isProfessionProperty : Profession -> Property ; -- be a doctor
|
||||
isAtPlaceProperty : Place -> Property ; -- be at the hospital
|
||||
haveIllnessProperty : Illness -> Property ; -- have a fever
|
||||
needProfessionProperty : Profession -> Property ; -- need a doctor
|
||||
|
||||
theProfessionPerson : Profession -> Person ; -- the doctor
|
||||
|
||||
iMascPerson : Person ;
|
||||
iFemPerson : Person ;
|
||||
youMascPerson : Person ;
|
||||
youFemPerson : Person ;
|
||||
hePerson : Person ;
|
||||
shePerson : Person ;
|
||||
|
||||
goToAction : Place -> Action ; -- go to the hospital
|
||||
stayAtAction : Place -> Action ; -- stay at home
|
||||
vaccinateAction : Person -> Action ; -- vaccinate you
|
||||
examineAction : Person -> Action ; -- examine you
|
||||
takeSubstanceAction : Substance -> Action ; -- take drugs
|
||||
|
||||
coughAction : Action ;
|
||||
breatheAction : Action ;
|
||||
vomitAction : Action ;
|
||||
sleepAction : Action ;
|
||||
undressAction : Action ;
|
||||
dressAction : Action ;
|
||||
eatAction : Action ;
|
||||
drinkAction : Action ;
|
||||
smokeAction : Action ;
|
||||
measureTemperatureAction : Action ;
|
||||
measureBloodPressureAction : Action ;
|
||||
|
||||
hospitalPlace : Place ;
|
||||
homePlace : Place ;
|
||||
schoolPlace : Place ;
|
||||
workPlace : Place ;
|
||||
|
||||
doctorProfession : Profession ;
|
||||
nurseProfession : Profession ;
|
||||
interpreterProfession : Profession ;
|
||||
|
||||
bePregnantProperty : Property ;
|
||||
beIllProperty : Property ;
|
||||
beWellProperty : Property ;
|
||||
beDeadProperty : Property ;
|
||||
haveAllergiesProperty : Property ;
|
||||
havePainsProperty : Property ;
|
||||
haveChildrenProperty : Property ;
|
||||
|
||||
feverIllness : Illness ;
|
||||
fluIllness : Illness ;
|
||||
headacheIllness : Illness ;
|
||||
diarrheaIllness : Illness ;
|
||||
heartDiseaseIllness : Illness ;
|
||||
lungDiseaseIllness : Illness ;
|
||||
hypertensionIllness : Illness ;
|
||||
|
||||
alcoholSubstance : Substance ;
|
||||
medicineSubstance : Substance ;
|
||||
drugsSubstance : Substance ;
|
||||
|
||||
|
||||
}
|
||||
110
old-labs/lab2/grammar/application-2022/DoctorEng.gf
Normal file
110
old-labs/lab2/grammar/application-2022/DoctorEng.gf
Normal file
@@ -0,0 +1,110 @@
|
||||
concrete DoctorEng of Doctor =
|
||||
open
|
||||
SyntaxEng,
|
||||
ParadigmsEng,
|
||||
Prelude
|
||||
in {
|
||||
|
||||
-- application using standard RGL
|
||||
|
||||
lincat
|
||||
Phrase = Utt ;
|
||||
Fact = Cl ;
|
||||
Action = VP ;
|
||||
Property = VP ;
|
||||
Profession = CN ;
|
||||
Person = NP ;
|
||||
Place = {at,to : Adv} ;
|
||||
Substance = NP ;
|
||||
Illness = NP ;
|
||||
|
||||
lin
|
||||
presPosPhrase fact = mkUtt (mkS fact) ;
|
||||
presNegPhrase fact = mkUtt (mkS negativePol fact) ;
|
||||
pastPosPhrase fact = mkUtt (mkS anteriorAnt fact) ;
|
||||
pastNegPhrase fact = mkUtt (mkS anteriorAnt negativePol fact) ;
|
||||
presQuestionPhrase fact = mkUtt (mkQS (mkQCl fact)) ;
|
||||
pastQuestionPhrase fact = mkUtt (mkQS anteriorAnt (mkQCl fact)) ;
|
||||
|
||||
impPosPhrase action = mkUtt (mkImp action) ;
|
||||
impNegPhrase action = mkUtt negativePol (mkImp action) ;
|
||||
|
||||
actionFact person action = mkCl person action ;
|
||||
propertyFact person property = mkCl person property ;
|
||||
|
||||
isProfessionProperty profession = mkVP (mkNP a_Det profession) ;
|
||||
needProfessionProperty profession = mkVP need_V2 (mkNP a_Det profession) ;
|
||||
isAtPlaceProperty place = mkVP place.at ;
|
||||
haveIllnessProperty illness = mkVP have_V2 illness ;
|
||||
|
||||
theProfessionPerson profession = mkNP the_Det profession ;
|
||||
|
||||
iMascPerson = i_NP ;
|
||||
iFemPerson = i_NP ;
|
||||
youMascPerson = you_NP ;
|
||||
youFemPerson = you_NP ;
|
||||
hePerson = he_NP ;
|
||||
shePerson = she_NP ;
|
||||
|
||||
goToAction place = mkVP (mkVP go_V) place.to ;
|
||||
stayAtAction place = mkVP (mkVP stay_V) place.at ;
|
||||
vaccinateAction person = mkVP vaccinate_V2 person ;
|
||||
examineAction person = mkVP examine_V2 person ;
|
||||
takeSubstanceAction substance = mkVP take_V2 substance ;
|
||||
|
||||
-- end of what could be a functor
|
||||
--------------------------------
|
||||
|
||||
coughAction = mkVP (mkV "cough") ;
|
||||
breatheAction = mkVP (mkV "breathe") ;
|
||||
vomitAction = mkVP (mkV "vomit") ;
|
||||
sleepAction = mkVP (mkV "sleep" "slept" "slept") ;
|
||||
undressAction = mkVP (mkVP take_V2 (mkNP thePl_Det (mkN "clothe"))) (pAdv "off") ;
|
||||
dressAction = mkVP (mkVP put_V2 (mkNP thePl_Det (mkN "clothe"))) (pAdv "on") ;
|
||||
eatAction = mkVP (mkV "eat" "ate" "eaten") ;
|
||||
drinkAction = mkVP (mkV "drink" "drank" "drunk") ;
|
||||
smokeAction = mkVP (mkV "smoke") ;
|
||||
measureTemperatureAction = mkVP (mkV2 (mkV "measure")) (mkNP the_Det (mkN "body temperature")) ;
|
||||
measureBloodPressureAction = mkVP (mkV2 (mkV "measure")) (mkNP the_Det (mkN "blood pressure")) ;
|
||||
|
||||
hospitalPlace = {at = pAdv "at the hospital" ; to = pAdv "to the hospital"} ;
|
||||
homePlace = {at = pAdv "at home" ; to = pAdv "home"} ;
|
||||
schoolPlace = {at = pAdv "at school" ; to = pAdv "to school"} ;
|
||||
workPlace = {at = pAdv "at work" ; to = pAdv "to work"} ;
|
||||
|
||||
doctorProfession = mkCN (mkN "doctor") ;
|
||||
nurseProfession = mkCN (mkN "nurse") ;
|
||||
interpreterProfession = mkCN (mkN "interpreter") ;
|
||||
|
||||
bePregnantProperty = mkVP (mkA "pregnant") ;
|
||||
beIllProperty = mkVP (mkA "ill") ;
|
||||
beWellProperty = mkVP (mkA "well") ;
|
||||
beDeadProperty = mkVP (mkA "dead") ;
|
||||
haveAllergiesProperty = mkVP have_V2 (mkNP aPl_Det (mkN "allergy")) ;
|
||||
havePainsProperty = mkVP have_V2 (mkNP aPl_Det (mkN "pain")) ;
|
||||
haveChildrenProperty = mkVP have_V2 (mkNP aPl_Det (mkN "child" "children")) ;
|
||||
|
||||
feverIllness = mkNP a_Det (mkN "fever") ;
|
||||
fluIllness = mkNP a_Det (mkN "flu") ;
|
||||
headacheIllness = mkNP a_Det (mkN "headache") ;
|
||||
diarrheaIllness = mkNP a_Det (mkN "diarrhea") ;
|
||||
heartDiseaseIllness = mkNP a_Det (mkN "heart disease") ;
|
||||
lungDiseaseIllness = mkNP a_Det (mkN "lung disease") ;
|
||||
hypertensionIllness = mkNP (mkN "hypertension") ;
|
||||
|
||||
alcoholSubstance = mkNP (mkN "alcohol") ;
|
||||
medicineSubstance = mkNP a_Det (mkN "drug") ;
|
||||
drugsSubstance = mkNP aPl_Det (mkN "drug") ;
|
||||
|
||||
oper
|
||||
pAdv : Str -> Adv = ParadigmsEng.mkAdv ;
|
||||
|
||||
go_V = mkV "go" "went" "gone" ;
|
||||
stay_V = mkV "stay" ;
|
||||
need_V2 = mkV2 (mkV "need") ;
|
||||
take_V2 = mkV2 (mkV "take" "took" "taken") ;
|
||||
put_V2 = mkV2 (mkV "put" "put" "put") ;
|
||||
vaccinate_V2 = mkV2 (mkV "vaccinate") ;
|
||||
examine_V2 = mkV2 (mkV "examine") ;
|
||||
|
||||
}
|
||||
117
old-labs/lab2/grammar/application-2022/DoctorMiniEng.gf
Normal file
117
old-labs/lab2/grammar/application-2022/DoctorMiniEng.gf
Normal file
@@ -0,0 +1,117 @@
|
||||
--# -path=.:../abstract:../english:../api
|
||||
|
||||
-- model implementation using Mini RGL
|
||||
|
||||
concrete DoctorMiniEng of Doctor =
|
||||
open
|
||||
MiniSyntaxEng,
|
||||
MiniParadigmsEng,
|
||||
Prelude
|
||||
in {
|
||||
|
||||
-- application using your own Mini* modules
|
||||
|
||||
lincat
|
||||
Phrase = Utt ;
|
||||
Fact = Cl ;
|
||||
Action = VP ;
|
||||
Property = VP ;
|
||||
Profession = CN ;
|
||||
Person = NP ;
|
||||
Place = {at,to : Adv} ;
|
||||
Substance = NP ;
|
||||
Illness = NP ;
|
||||
|
||||
lin
|
||||
presPosPhrase fact = mkUtt (mkS fact) ;
|
||||
presNegPhrase fact = mkUtt (mkS negativePol fact) ;
|
||||
pastPosPhrase fact = mkUtt (mkS anteriorAnt fact) ;
|
||||
pastNegPhrase fact = mkUtt (mkS anteriorAnt negativePol fact) ;
|
||||
-- presQuestionPhrase fact = mkUtt (mkQS (mkQCl fact)) ;
|
||||
-- pastQuestionPhrase fact = mkUtt (mkQS anteriorAnt (mkQCl fact)) ;
|
||||
presQuestionPhrase fact = let p : Utt = mkUtt (mkQS (mkQCl fact)) in p ** {s = p.s ++ SOFT_BIND ++ "?"} ;
|
||||
pastQuestionPhrase fact = let p : Utt = mkUtt (mkQS anteriorAnt (mkQCl fact)) in p ** {s = p.s ++ SOFT_BIND ++ "?"} ;
|
||||
|
||||
|
||||
impPosPhrase action = mkUtt (mkImp action) ;
|
||||
impNegPhrase action = mkUtt negativePol (mkImp action) ;
|
||||
|
||||
actionFact person action = mkCl person action ;
|
||||
propertyFact person property = mkCl person property ;
|
||||
|
||||
isProfessionProperty profession = mkVP (mkNP a_Det profession) ;
|
||||
needProfessionProperty profession = mkVP need_V2 (mkNP a_Det profession) ;
|
||||
isAtPlaceProperty place = mkVP place.at ;
|
||||
haveIllnessProperty illness = mkVP have_V2 illness ;
|
||||
|
||||
theProfessionPerson profession = mkNP the_Det profession ;
|
||||
|
||||
iMascPerson = i_NP ;
|
||||
iFemPerson = i_NP ;
|
||||
youMascPerson = you_NP ;
|
||||
youFemPerson = you_NP ;
|
||||
hePerson = he_NP ;
|
||||
shePerson = she_NP ;
|
||||
|
||||
goToAction place = mkVP (mkVP go_V) place.to ;
|
||||
stayAtAction place = mkVP (mkVP stay_V) place.at ;
|
||||
vaccinateAction person = mkVP vaccinate_V2 person ;
|
||||
examineAction person = mkVP examine_V2 person ;
|
||||
takeSubstanceAction substance = mkVP take_V2 substance ;
|
||||
|
||||
-- end of what could be a functor
|
||||
--------------------------------
|
||||
|
||||
coughAction = mkVP (mkV "cough") ;
|
||||
breatheAction = mkVP (mkV "breathe") ;
|
||||
vomitAction = mkVP (mkV "vomit") ;
|
||||
sleepAction = mkVP (mkV "sleep" "slept" "slept") ;
|
||||
undressAction = mkVP (mkVP take_V2 (mkNP thePl_Det (mkN "clothe"))) (pAdv "off") ;
|
||||
dressAction = mkVP (mkVP put_V2 (mkNP thePl_Det (mkN "clothe"))) (pAdv "on") ;
|
||||
eatAction = mkVP (mkV "eat" "ate" "eaten") ;
|
||||
drinkAction = mkVP (mkV "drink" "drank" "drunk") ;
|
||||
smokeAction = mkVP (mkV "smoke") ;
|
||||
measureTemperatureAction = mkVP (mkV2 (mkV "measure")) (mkNP the_Det (mkN "body temperature")) ;
|
||||
measureBloodPressureAction = mkVP (mkV2 (mkV "measure")) (mkNP the_Det (mkN "blood pressure")) ;
|
||||
|
||||
hospitalPlace = {at = pAdv "at the hospital" ; to = pAdv "to the hospital"} ;
|
||||
homePlace = {at = pAdv "at home" ; to = pAdv "home"} ;
|
||||
schoolPlace = {at = pAdv "at school" ; to = pAdv "to school"} ;
|
||||
workPlace = {at = pAdv "at work" ; to = pAdv "to work"} ;
|
||||
|
||||
doctorProfession = mkCN (mkN "doctor") ;
|
||||
nurseProfession = mkCN (mkN "nurse") ;
|
||||
interpreterProfession = mkCN (mkN "interpreter") ;
|
||||
|
||||
bePregnantProperty = mkVP (mkA "pregnant") ;
|
||||
beIllProperty = mkVP (mkA "ill") ;
|
||||
beWellProperty = mkVP (mkA "well") ;
|
||||
beDeadProperty = mkVP (mkA "dead") ;
|
||||
haveAllergiesProperty = mkVP have_V2 (mkNP aPl_Det (mkN "allergy")) ;
|
||||
havePainsProperty = mkVP have_V2 (mkNP aPl_Det (mkN "pain")) ;
|
||||
haveChildrenProperty = mkVP have_V2 (mkNP aPl_Det (mkN "child" "children")) ;
|
||||
|
||||
feverIllness = mkNP a_Det (mkN "fever") ;
|
||||
fluIllness = mkNP a_Det (mkN "flu") ;
|
||||
headacheIllness = mkNP a_Det (mkN "headache") ;
|
||||
diarrheaIllness = mkNP a_Det (mkN "diarrhea") ;
|
||||
heartDiseaseIllness = mkNP a_Det (mkN "heart disease") ;
|
||||
lungDiseaseIllness = mkNP a_Det (mkN "lung disease") ;
|
||||
hypertensionIllness = mkNP (mkN "hypertension") ;
|
||||
|
||||
alcoholSubstance = mkNP (mkN "alcohol") ;
|
||||
medicineSubstance = mkNP a_Det (mkN "drug") ;
|
||||
drugsSubstance = mkNP aPl_Det (mkN "drug") ;
|
||||
|
||||
oper
|
||||
pAdv : Str -> Adv = MiniParadigmsEng.mkAdv ;
|
||||
|
||||
go_V = mkV "go" "went" "gone" ;
|
||||
stay_V = mkV "stay" ;
|
||||
need_V2 = mkV2 (mkV "need") ;
|
||||
take_V2 = mkV2 (mkV "take" "took" "taken") ;
|
||||
put_V2 = mkV2 (mkV "put" "put" "put") ;
|
||||
vaccinate_V2 = mkV2 (mkV "vaccinate") ;
|
||||
examine_V2 = mkV2 (mkV "examine") ;
|
||||
|
||||
}
|
||||
225
old-labs/lab2/grammar/english/MicroLangEng.gf
Normal file
225
old-labs/lab2/grammar/english/MicroLangEng.gf
Normal file
@@ -0,0 +1,225 @@
|
||||
--# -path=.:../abstract
|
||||
concrete MicroLangEng of MicroLang = open MicroResEng, Prelude in {
|
||||
|
||||
-----------------------------------------------------
|
||||
---------------- Grammar part -----------------------
|
||||
-----------------------------------------------------
|
||||
|
||||
lincat
|
||||
Utt = {s : Str} ;
|
||||
|
||||
S = {s : Str} ;
|
||||
VP = {verb : Verb ; compl : Str} ; ---s special case of Mini
|
||||
Comp = {s : Str} ;
|
||||
AP = Adjective ;
|
||||
CN = Noun ;
|
||||
NP = {s : Case => Str ; a : Agreement} ;
|
||||
Pron = {s : Case => Str ; a : Agreement} ;
|
||||
Det = {s : Str ; n : Number} ;
|
||||
Prep = {s : Str} ;
|
||||
V = Verb ;
|
||||
V2 = Verb2 ;
|
||||
A = Adjective ;
|
||||
N = Noun ;
|
||||
Adv = {s : Str} ;
|
||||
|
||||
lin
|
||||
UttS s = s ;
|
||||
UttNP np = {s = np.s ! Acc} ;
|
||||
|
||||
PredVPS np vp = {
|
||||
s = np.s ! Nom ++ vp.verb.s ! agr2vform np.a ++ vp.compl
|
||||
} ;
|
||||
|
||||
UseV v = {
|
||||
verb = v ;
|
||||
compl = [] ;
|
||||
} ;
|
||||
|
||||
ComplV2 v2 np = {
|
||||
verb = v2 ;
|
||||
compl = v2.c ++ np.s ! Acc -- NP object in the accusative, preposition first
|
||||
} ;
|
||||
|
||||
UseComp comp = {
|
||||
verb = be_Verb ; -- the verb is the copula "be"
|
||||
compl = comp.s
|
||||
} ;
|
||||
|
||||
CompAP ap = ap ;
|
||||
|
||||
AdvVP vp adv =
|
||||
vp ** {compl = vp.compl ++ adv.s} ;
|
||||
|
||||
DetCN det cn = {
|
||||
s = \\c => det.s ++ cn.s ! det.n ;
|
||||
a = Agr det.n ;
|
||||
} ;
|
||||
|
||||
UsePron p = p ;
|
||||
|
||||
a_Det = {s = pre {"a"|"e"|"i"|"o" => "an" ; _ => "a"} ; n = Sg} ; --- a/an can get wrong
|
||||
aPl_Det = {s = "" ; n = Pl} ;
|
||||
the_Det = {s = "the" ; n = Sg} ;
|
||||
thePl_Det = {s = "the" ; n = Pl} ;
|
||||
|
||||
UseN n = n ;
|
||||
|
||||
AdjCN ap cn = {
|
||||
s = table {n => ap.s ++ cn.s ! n}
|
||||
} ;
|
||||
|
||||
PositA a = a ;
|
||||
|
||||
PrepNP prep np = {s = prep.s ++ np.s ! Acc} ;
|
||||
|
||||
in_Prep = {s = "in"} ;
|
||||
on_Prep = {s = "on"} ;
|
||||
with_Prep = {s = "with"} ;
|
||||
|
||||
he_Pron = {
|
||||
s = table {Nom => "he" ; Acc => "him"} ;
|
||||
a = Agr Sg ;
|
||||
} ;
|
||||
she_Pron = {
|
||||
s = table {Nom => "she" ; Acc => "her"} ;
|
||||
a = Agr Sg ;
|
||||
} ;
|
||||
they_Pron = {
|
||||
s = table {Nom => "they" ; Acc => "them"} ;
|
||||
a = Agr Pl ;
|
||||
} ;
|
||||
|
||||
-----------------------------------------------------
|
||||
---------------- Lexicon part -----------------------
|
||||
-----------------------------------------------------
|
||||
|
||||
lin already_Adv = mkAdv "already" ;
|
||||
lin animal_N = mkN "animal" ;
|
||||
lin apple_N = mkN "apple" ;
|
||||
lin baby_N = mkN "baby" ;
|
||||
lin bad_A = mkA "bad" ;
|
||||
lin beer_N = mkN "beer" ;
|
||||
lin big_A = mkA "big" ;
|
||||
lin bike_N = mkN "bike" ;
|
||||
lin bird_N = mkN "bird" ;
|
||||
lin black_A = mkA "black" ;
|
||||
lin blood_N = mkN "blood" ;
|
||||
lin blue_A = mkA "blue" ;
|
||||
lin boat_N = mkN "boat" ;
|
||||
lin book_N = mkN "book" ;
|
||||
lin boy_N = mkN "boy" ;
|
||||
lin bread_N = mkN "bread" ;
|
||||
lin break_V2 = mkV2 (mkV "break" "broke" "broken") ;
|
||||
lin buy_V2 = mkV2 (mkV "buy" "bought" "bought") ;
|
||||
lin car_N = mkN "car" ;
|
||||
lin cat_N = mkN "cat" ;
|
||||
lin child_N = mkN "child" "children" ;
|
||||
lin city_N = mkN "city" ;
|
||||
lin clean_A = mkA "clean" ;
|
||||
lin clever_A = mkA "clever" ;
|
||||
lin cloud_N = mkN "cloud" ;
|
||||
lin cold_A = mkA "cold" ;
|
||||
lin come_V = mkV "come" "came" "come" ;
|
||||
lin computer_N = mkN "computer" ;
|
||||
lin cow_N = mkN "cow" ;
|
||||
lin dirty_A = mkA "dirty" ;
|
||||
lin dog_N = mkN "dog" ;
|
||||
lin drink_V2 = mkV2 (mkV "drink" "drank" "drunk") ;
|
||||
lin eat_V2 = mkV2 (mkV "eat" "ate" "eaten") ;
|
||||
lin find_V2 = mkV2 (mkV "find" "found" "found") ;
|
||||
lin fire_N = mkN "fire" ;
|
||||
lin fish_N = mkN "fish" "fish" ;
|
||||
lin flower_N = mkN "flower" ;
|
||||
lin friend_N = mkN "friend" ;
|
||||
lin girl_N = mkN "girl" ;
|
||||
lin good_A = mkA "good" ;
|
||||
lin go_V = mkV "go" "went" "gone" ;
|
||||
lin grammar_N = mkN "grammar" ;
|
||||
lin green_A = mkA "green" ;
|
||||
lin heavy_A = mkA "heavy" ;
|
||||
lin horse_N = mkN "horse" ;
|
||||
lin hot_A = mkA "hot" ;
|
||||
lin house_N = mkN "house" ;
|
||||
-- lin john_PN = mkPN "John" ;
|
||||
lin jump_V = mkV "jump" ;
|
||||
lin kill_V2 = mkV2 "kill" ;
|
||||
-- lin know_VS = mkVS (mkV "know" "knew" "known") ;
|
||||
lin language_N = mkN "language" ;
|
||||
lin live_V = mkV "live" ;
|
||||
lin love_V2 = mkV2 (mkV "love") ;
|
||||
lin man_N = mkN "man" "men" ;
|
||||
lin milk_N = mkN "milk" ;
|
||||
lin music_N = mkN "music" ;
|
||||
lin new_A = mkA "new" ;
|
||||
lin now_Adv = mkAdv "now" ;
|
||||
lin old_A = mkA "old" ;
|
||||
-- lin paris_PN = mkPN "Paris" ;
|
||||
lin play_V = mkV "play" ;
|
||||
lin read_V2 = mkV2 (mkV "read" "read" "read") ;
|
||||
lin ready_A = mkA "ready" ;
|
||||
lin red_A = mkA "red" ;
|
||||
lin river_N = mkN "river" ;
|
||||
lin run_V = mkV "run" "ran" "run" ;
|
||||
lin sea_N = mkN "sea" ;
|
||||
lin see_V2 = mkV2 (mkV "see" "saw" "seen") ;
|
||||
lin ship_N = mkN "ship" ;
|
||||
lin sleep_V = mkV "sleep" "slept" "slept" ;
|
||||
lin small_A = mkA "small" ;
|
||||
lin star_N = mkN "star" ;
|
||||
lin swim_V = mkV "swim" "swam" "swum" ;
|
||||
lin teach_V2 = mkV2 (mkV "teach" "taught" "taught") ;
|
||||
lin train_N = mkN "train" ;
|
||||
lin travel_V = mkV "travel" ;
|
||||
lin tree_N = mkN "tree" ;
|
||||
lin understand_V2 = mkV2 (mkV "understand" "understood" "understood") ;
|
||||
lin wait_V2 = mkV2 "wait" "for" ;
|
||||
lin walk_V = mkV "walk" ;
|
||||
lin warm_A = mkA "warm" ;
|
||||
lin water_N = mkN "water" ;
|
||||
lin white_A = mkA "white" ;
|
||||
lin wine_N = mkN "wine" ;
|
||||
lin woman_N = mkN "woman" "women" ;
|
||||
lin yellow_A = mkA "yellow" ;
|
||||
lin young_A = mkA "young" ;
|
||||
|
||||
---------------------------
|
||||
-- Paradigms part ---------
|
||||
---------------------------
|
||||
|
||||
oper
|
||||
mkN = overload {
|
||||
mkN : Str -> Noun -- predictable noun, e.g. car-cars, boy-boys, fly-flies, bush-bushes
|
||||
= \n -> lin N (smartNoun n) ;
|
||||
mkN : Str -> Str -> Noun -- irregular noun, e.g. man-men
|
||||
= \sg,pl -> lin N (mkNoun sg pl) ;
|
||||
} ;
|
||||
|
||||
mkA : Str -> A
|
||||
= \s -> lin A {s = s} ;
|
||||
|
||||
mkV = overload {
|
||||
mkV : (inf : Str) -> V -- predictable verb, e.g. play-plays, cry-cries, wash-washes
|
||||
= \s -> lin V (smartVerb s) ;
|
||||
mkV : (inf,pres,part : Str) -> V -- irregular verb, e.g. drink-drank-drunk
|
||||
= \inf,pres,part -> lin V (irregVerb inf pres part) ;
|
||||
} ;
|
||||
|
||||
mkV2 = overload {
|
||||
mkV2 : Str -> V2 -- predictable verb with direct object, e.g. "wash"
|
||||
= \s -> lin V2 (smartVerb s ** {c = []}) ;
|
||||
mkV2 : Str -> Str -> V2 -- predictable verb with preposition, e.g. "wait - for"
|
||||
= \s,p -> lin V2 (smartVerb s ** {c = p}) ;
|
||||
mkV2 : V -> V2 -- any verb with direct object, e.g. "drink"
|
||||
= \v -> lin V2 (v ** {c = []}) ;
|
||||
mkV2 : V -> Str -> V2 -- any verb with preposition
|
||||
= \v,p -> lin V2 (v ** {c = p}) ;
|
||||
} ;
|
||||
|
||||
mkAdv : Str -> Adv
|
||||
= \s -> lin Adv {s = s} ;
|
||||
|
||||
mkPrep : Str -> Prep
|
||||
= \s -> lin Prep {s = s} ;
|
||||
|
||||
}
|
||||
1
old-labs/lab2/grammar/english/MicroLangEng.labels
Normal file
1
old-labs/lab2/grammar/english/MicroLangEng.labels
Normal file
@@ -0,0 +1 @@
|
||||
UseComp {"es","sont"} AUX cop head
|
||||
75
old-labs/lab2/grammar/english/MicroResEng.gf
Normal file
75
old-labs/lab2/grammar/english/MicroResEng.gf
Normal file
@@ -0,0 +1,75 @@
|
||||
resource MicroResEng = open Prelude in {
|
||||
|
||||
param
|
||||
Number = Sg | Pl ;
|
||||
Case = Nom | Acc ;
|
||||
|
||||
|
||||
Agreement = Agr Number ; ---s Person to be added
|
||||
|
||||
-- all forms of normal Eng verbs, although not yet used in MiniGrammar
|
||||
VForm = Inf | PresSg3 | Past | PastPart | PresPart ;
|
||||
|
||||
oper
|
||||
Noun : Type = {s : Number => Str} ;
|
||||
|
||||
mkNoun : Str -> Str -> Noun = \sg,pl -> {
|
||||
s = table {Sg => sg ; Pl => pl}
|
||||
} ;
|
||||
|
||||
regNoun : Str -> Noun = \sg -> mkNoun sg (sg + "s") ;
|
||||
|
||||
-- smart paradigm
|
||||
smartNoun : Str -> Noun = \sg -> case sg of {
|
||||
_ + ("ay"|"ey"|"oy"|"uy") => regNoun sg ;
|
||||
x + "y" => mkNoun sg (x + "ies") ;
|
||||
_ + ("ch"|"sh"|"s"|"o") => mkNoun sg (sg + "es") ;
|
||||
_ => regNoun sg
|
||||
} ;
|
||||
|
||||
Adjective : Type = {s : Str} ;
|
||||
|
||||
Verb : Type = {s : VForm => Str} ;
|
||||
|
||||
mkVerb : (inf,pres,past,pastpart,prespart : Str) -> Verb
|
||||
= \inf,pres,past,pastpart,prespart -> {
|
||||
s = table {
|
||||
Inf => inf ;
|
||||
PresSg3 => pres ;
|
||||
Past => past ;
|
||||
PastPart => pastpart ;
|
||||
PresPart => prespart
|
||||
}
|
||||
} ;
|
||||
|
||||
regVerb : (inf : Str) -> Verb = \inf ->
|
||||
mkVerb inf (inf + "s") (inf + "ed") (inf + "ed") (inf + "ing") ;
|
||||
|
||||
-- regular verbs with predictable variations
|
||||
smartVerb : Str -> Verb = \inf -> case inf of {
|
||||
pl + ("a"|"e"|"i"|"o"|"u") + "y" => regVerb inf ;
|
||||
cr + "y" => mkVerb inf (cr + "ies") (cr + "ied") (cr + "ied") (inf + "ing") ;
|
||||
lov + "e" => mkVerb inf (inf + "s") (lov + "ed") (lov + "ed") (lov + "ing") ;
|
||||
kis + ("s"|"sh"|"x"|"o") => mkVerb inf (inf + "es") (inf + "ed") (inf + "ed") (inf + "ing") ;
|
||||
_ => regVerb inf
|
||||
} ;
|
||||
|
||||
-- normal irregular verbs e.g. drink,drank,drunk
|
||||
irregVerb : (inf,past,pastpart : Str) -> Verb =
|
||||
\inf,past,pastpart ->
|
||||
let verb = smartVerb inf
|
||||
in mkVerb inf (verb.s ! PresSg3) past pastpart (verb.s ! PresPart) ;
|
||||
|
||||
-- two-place verb with "case" as preposition; for transitive verbs, c=[]
|
||||
Verb2 : Type = Verb ** {c : Str} ;
|
||||
|
||||
be_Verb : Verb = mkVerb "are" "is" "was" "been" "being" ; ---s to be generalized
|
||||
|
||||
|
||||
---s a very simplified verb agreement function for Micro
|
||||
agr2vform : Agreement -> VForm = \a -> case a of {
|
||||
Agr Sg => PresSg3 ;
|
||||
Agr Pl => Inf
|
||||
} ;
|
||||
|
||||
}
|
||||
234
old-labs/lab2/grammar/english/MiniGrammarEng.gf
Normal file
234
old-labs/lab2/grammar/english/MiniGrammarEng.gf
Normal file
@@ -0,0 +1,234 @@
|
||||
--# -path=.:../abstract
|
||||
concrete MiniGrammarEng of MiniGrammar = open MiniResEng, Prelude in {
|
||||
|
||||
|
||||
lincat
|
||||
Utt = {s : Str} ;
|
||||
Pol = {s : Str ; isTrue : Bool} ; -- the s field is empty, but needed for parsing
|
||||
Temp = {s : Str ; isPres : Bool} ;
|
||||
|
||||
S = {s : Str} ;
|
||||
QS = {s : Str} ;
|
||||
Cl = { -- word order is fixed in S and QS
|
||||
subj : Str ; -- subject
|
||||
verb : Bool => Bool => {fin,inf : Str} ; -- dep. on Pol,Temp, e.g. "does","sleep"
|
||||
compl : Str -- after verb: complement, adverbs
|
||||
} ;
|
||||
QCl = Cl ** {isWh : Bool} ;
|
||||
Imp = {s : Bool => Str} ;
|
||||
VP = {verb : GVerb ; compl : Str} ;
|
||||
Comp = {s : Str} ;
|
||||
AP = Adjective ;
|
||||
CN = Noun ;
|
||||
NP = {s : Case => Str ; a : Agreement} ;
|
||||
IP = {s : Case => Str ; a : Agreement} ;
|
||||
Pron = {s : Case => Str ; a : Agreement} ;
|
||||
Det = {s : Str ; n : Number} ;
|
||||
Conj = {s : Str} ;
|
||||
Prep = {s : Str} ;
|
||||
V = Verb ;
|
||||
V2 = Verb2 ;
|
||||
VS = Verb ;
|
||||
VV = Verb ; ---- only VV to VP
|
||||
A = Adjective ;
|
||||
N = Noun ;
|
||||
PN = {s : Str} ;
|
||||
Adv = {s : Str} ;
|
||||
IAdv = {s : Str} ;
|
||||
|
||||
lin
|
||||
UttS s = s ;
|
||||
UttQS s = s ;
|
||||
UttNP np = {s = np.s ! Acc} ; -- Acc: produce "me" rather than "I"
|
||||
UttAdv adv = adv ;
|
||||
UttIAdv iadv = iadv ;
|
||||
UttImpSg pol imp = {s = pol.s ++ imp.s ! pol.isTrue} ;
|
||||
|
||||
UseCl temp pol cl =
|
||||
let clt = cl.verb ! pol.isTrue ! temp.isPres -- isTrue regulates if "do" is used
|
||||
in {
|
||||
s = pol.s ++ temp.s ++ --- needed for parsing: a GF hack
|
||||
cl.subj ++ -- she
|
||||
clt.fin ++ -- does
|
||||
negation pol.isTrue ++ -- not
|
||||
clt.inf ++ -- drink
|
||||
cl.compl -- beer
|
||||
} ;
|
||||
|
||||
UseQCl temp pol qcl =
|
||||
let
|
||||
isWh = qcl.isWh ;
|
||||
clt = qcl.verb ! andB isWh pol.isTrue ! temp.isPres ; -- no "do" in present positive Wh questions
|
||||
verbsubj = case isWh of {
|
||||
True => qcl.subj ++ clt.fin ; -- no inversion in Wh questions
|
||||
False => clt.fin ++ qcl.subj
|
||||
}
|
||||
|
||||
in {
|
||||
s = pol.s ++ temp.s ++
|
||||
verbsubj ++
|
||||
negation pol.isTrue ++ -- not
|
||||
clt.inf ++ -- drink
|
||||
qcl.compl -- beer
|
||||
} ;
|
||||
|
||||
PredVP np vp = {
|
||||
subj = np.s ! Nom ;
|
||||
compl = vp.compl ;
|
||||
verb = \\plain,isPres => case <vp.verb.isAux, plain, isPres, np.a> of {
|
||||
|
||||
-- non-auxiliary verbs, negative/question present: "does (not) drink"
|
||||
<False,False,True,Agr Sg Per3> => {fin = "does" ; inf = vp.verb.s ! VF Inf} ;
|
||||
<False,False,True,_ > => {fin = "do" ; inf = vp.verb.s ! VF Inf} ;
|
||||
|
||||
-- non-auxiliary, plain present ; auxiliary, all present: "drinks", "is (not)"
|
||||
<_,_, True, Agr Sg Per1> => {fin = vp.verb.s ! PresSg1 ; inf = []} ;
|
||||
<_,_, True, Agr Sg Per3> => {fin = vp.verb.s ! VF PresSg3 ; inf = []} ;
|
||||
<_,_, True, _> => {fin = vp.verb.s ! PresPl ; inf = []} ;
|
||||
|
||||
-- all verbs, past: "has (not) drunk", "has (not) been"
|
||||
<_,_, False,Agr Sg Per3> => {fin = "has" ; inf = vp.verb.s ! VF PastPart} ;
|
||||
<_,_, False,_ > => {fin = "have" ; inf = vp.verb.s ! VF PastPart}
|
||||
|
||||
-- the negation word "not" is put in place in UseCl, UseQCl
|
||||
}
|
||||
} ;
|
||||
|
||||
QuestCl cl = cl ** {isWh = False} ; -- since the parts are the same, we don't need to change anything
|
||||
|
||||
QuestVP ip vp = PredVP ip vp ** {isWh = True} ;
|
||||
|
||||
ImpVP vp = {
|
||||
s = table {
|
||||
True => vp.verb.s ! VF Inf ++ vp.compl ; -- in Eng, imperative = infinitive
|
||||
False => "do not" ++ vp.verb.s ! VF Inf ++ vp.compl
|
||||
}
|
||||
} ;
|
||||
|
||||
UseV v = {
|
||||
verb = verb2gverb v ; -- lift ordinary verbs to generalized verbs
|
||||
compl = []
|
||||
} ;
|
||||
|
||||
ComplV2 v2 np = {
|
||||
verb = verb2gverb v2 ;
|
||||
compl = v2.c ++ np.s ! Acc -- NP object in the accusative, preposition first
|
||||
} ;
|
||||
|
||||
ComplVS vs s = {
|
||||
verb = verb2gverb vs ;
|
||||
compl = "that" ++ s.s ;
|
||||
} ;
|
||||
|
||||
ComplVV vv vp = {
|
||||
verb = verb2gverb vv ;
|
||||
compl = "to" ++ vp.verb.s ! VF Inf ++ vp.compl ;
|
||||
} ;
|
||||
|
||||
UseComp comp = {
|
||||
verb = be_GVerb ; -- the verb is the copula "be"
|
||||
compl = comp.s
|
||||
} ;
|
||||
|
||||
CompAP ap = ap ;
|
||||
|
||||
CompNP np = {
|
||||
s = np.s ! Nom -- NP complement is in the nominative
|
||||
} ;
|
||||
|
||||
CompAdv adv = adv ;
|
||||
|
||||
AdvVP vp adv =
|
||||
vp ** {compl = vp.compl ++ adv.s} ;
|
||||
|
||||
DetCN det cn = {
|
||||
s = table {c => det.s ++ cn.s ! det.n} ;
|
||||
a = Agr det.n Per3 -- this kind of NP is always third person
|
||||
} ;
|
||||
|
||||
UsePN pn = {
|
||||
s = \\_ => pn.s ;
|
||||
a = Agr Sg Per3
|
||||
} ;
|
||||
|
||||
UsePron p = p ; -- Pron is worst-case NP
|
||||
|
||||
MassNP cn = {
|
||||
s = \\_ => cn.s ! Sg ;
|
||||
a = Agr Sg Per3
|
||||
} ;
|
||||
|
||||
a_Det = {s = pre {"a"|"e"|"i"|"o" => "an" ; _ => "a"} ; n = Sg} ; --- a/an can get wrong
|
||||
aPl_Det = {s = "" ; n = Pl} ;
|
||||
the_Det = {s = "the" ; n = Sg} ;
|
||||
thePl_Det = {s = "the" ; n = Pl} ;
|
||||
|
||||
UseN n = n ;
|
||||
|
||||
AdjCN ap cn = {
|
||||
s = table {n => ap.s ++ cn.s ! n}
|
||||
} ;
|
||||
|
||||
PositA a = a ;
|
||||
|
||||
PrepNP prep np = {s = prep.s ++ np.s ! Acc} ;
|
||||
|
||||
CoordS conj a b = {s = a.s ++ conj.s ++ b.s} ;
|
||||
|
||||
PPos = {s = [] ; isTrue = True} ;
|
||||
PNeg = {s = [] ; isTrue = False} ;
|
||||
|
||||
TSim = {s = [] ; isPres = True} ;
|
||||
TAnt = {s = [] ; isPres = False} ;
|
||||
|
||||
and_Conj = {s = "and"} ;
|
||||
or_Conj = {s = "or"} ;
|
||||
|
||||
every_Det = {s = "every" ; n = Sg} ;
|
||||
|
||||
in_Prep = {s = "in"} ;
|
||||
on_Prep = {s = "on"} ;
|
||||
with_Prep = {s = "with"} ;
|
||||
|
||||
i_Pron = {
|
||||
s = table {Nom => "I" ; Acc => "me"} ;
|
||||
a = Agr Sg Per1
|
||||
} ;
|
||||
youSg_Pron = {
|
||||
s = \\_ => "you" ;
|
||||
a = Agr Sg Per2
|
||||
} ;
|
||||
he_Pron = {
|
||||
s = table {Nom => "he" ; Acc => "him"} ;
|
||||
a = Agr Sg Per3
|
||||
} ;
|
||||
she_Pron = {
|
||||
s = table {Nom => "she" ; Acc => "her"} ;
|
||||
a = Agr Sg Per3
|
||||
} ;
|
||||
we_Pron = {
|
||||
s = table {Nom => "we" ; Acc => "us"} ;
|
||||
a = Agr Pl Per1
|
||||
} ;
|
||||
youPl_Pron = {
|
||||
s = \\_ => "you" ;
|
||||
a = Agr Pl Per2
|
||||
} ;
|
||||
they_Pron = {
|
||||
s = table {Nom => "they" ; Acc => "them"} ;
|
||||
a = Agr Pl Per3
|
||||
} ;
|
||||
|
||||
whoSg_IP = {
|
||||
s = table {Nom => "who" ; Acc => "whom"} ;
|
||||
a = Agr Sg Per3
|
||||
} ;
|
||||
|
||||
where_IAdv = {s = "where"} ;
|
||||
why_IAdv = {s = "why"} ;
|
||||
|
||||
have_V2 = mkVerb "have" "has" "had" "had" "having" ** {c = []} ;
|
||||
|
||||
want_VV = regVerb "want" ;
|
||||
|
||||
}
|
||||
3
old-labs/lab2/grammar/english/MiniLangEng.gf
Normal file
3
old-labs/lab2/grammar/english/MiniLangEng.gf
Normal file
@@ -0,0 +1,3 @@
|
||||
--# -path=.:../abstract
|
||||
|
||||
concrete MiniLangEng of MiniLang = MiniGrammarEng, MiniLexiconEng ;
|
||||
6
old-labs/lab2/grammar/english/MiniLangEng.labels
Normal file
6
old-labs/lab2/grammar/english/MiniLangEng.labels
Normal file
@@ -0,0 +1,6 @@
|
||||
UseCl, UseQCl, ImpVP {"not"} PART advmod head
|
||||
UseComp {"is","are","am","was","were","been","be"} AUX cop head
|
||||
PredVP, QuestVP {"has","had","have","do","does"} AUX aux head
|
||||
ImpVP {"do"} AUX aux head
|
||||
ComplVS {"that"} SCONJ mark ccomp
|
||||
ComplVV {"to"} PART mark xcomp
|
||||
94
old-labs/lab2/grammar/english/MiniLexiconEng.gf
Normal file
94
old-labs/lab2/grammar/english/MiniLexiconEng.gf
Normal file
@@ -0,0 +1,94 @@
|
||||
concrete MiniLexiconEng of MiniLexicon = MiniGrammarEng **
|
||||
open
|
||||
MiniParadigmsEng
|
||||
in {
|
||||
lin already_Adv = mkAdv "already" ;
|
||||
lin animal_N = mkN "animal" ;
|
||||
lin apple_N = mkN "apple" ;
|
||||
lin baby_N = mkN "baby" ;
|
||||
lin bad_A = mkA "bad" ;
|
||||
lin beer_N = mkN "beer" ;
|
||||
lin big_A = mkA "big" ;
|
||||
lin bike_N = mkN "bike" ;
|
||||
lin bird_N = mkN "bird" ;
|
||||
lin black_A = mkA "black" ;
|
||||
lin blood_N = mkN "blood" ;
|
||||
lin blue_A = mkA "blue" ;
|
||||
lin boat_N = mkN "boat" ;
|
||||
lin book_N = mkN "book" ;
|
||||
lin boy_N = mkN "boy" ;
|
||||
lin bread_N = mkN "bread" ;
|
||||
lin break_V2 = mkV2 (mkV "break" "broke" "broken") ;
|
||||
lin buy_V2 = mkV2 (mkV "buy" "bought" "bought") ;
|
||||
lin car_N = mkN "car" ;
|
||||
lin cat_N = mkN "cat" ;
|
||||
lin child_N = mkN "child" "children" ;
|
||||
lin city_N = mkN "city" ;
|
||||
lin clean_A = mkA "clean" ;
|
||||
lin clever_A = mkA "clever" ;
|
||||
lin cloud_N = mkN "cloud" ;
|
||||
lin cold_A = mkA "cold" ;
|
||||
lin come_V = mkV "come" "came" "come" ;
|
||||
lin computer_N = mkN "computer" ;
|
||||
lin cow_N = mkN "cow" ;
|
||||
lin dirty_A = mkA "dirty" ;
|
||||
lin dog_N = mkN "dog" ;
|
||||
lin drink_V2 = mkV2 (mkV "drink" "drank" "drunk") ;
|
||||
lin eat_V2 = mkV2 (mkV "eat" "ate" "eaten") ;
|
||||
lin find_V2 = mkV2 (mkV "find" "found" "found") ;
|
||||
lin fire_N = mkN "fire" ;
|
||||
lin fish_N = mkN "fish" "fish" ;
|
||||
lin flower_N = mkN "flower" ;
|
||||
lin friend_N = mkN "friend" ;
|
||||
lin girl_N = mkN "girl" ;
|
||||
lin good_A = mkA "good" ;
|
||||
lin go_V = mkV "go" "went" "gone" ;
|
||||
lin grammar_N = mkN "grammar" ;
|
||||
lin green_A = mkA "green" ;
|
||||
lin heavy_A = mkA "heavy" ;
|
||||
lin horse_N = mkN "horse" ;
|
||||
lin hot_A = mkA "hot" ;
|
||||
lin house_N = mkN "house" ;
|
||||
lin john_PN = mkPN "John" ;
|
||||
lin jump_V = mkV "jump" ;
|
||||
lin kill_V2 = mkV2 "kill" ;
|
||||
lin know_VS = mkVS (mkV "know" "knew" "known") ;
|
||||
lin language_N = mkN "language" ;
|
||||
lin live_V = mkV "live" ;
|
||||
lin love_V2 = mkV2 (mkV "love") ;
|
||||
lin man_N = mkN "man" "men" ;
|
||||
lin milk_N = mkN "milk" ;
|
||||
lin music_N = mkN "music" ;
|
||||
lin new_A = mkA "new" ;
|
||||
lin now_Adv = mkAdv "now" ;
|
||||
lin old_A = mkA "old" ;
|
||||
lin paris_PN = mkPN "Paris" ;
|
||||
lin play_V = mkV "play" ;
|
||||
lin read_V2 = mkV2 (mkV "read" "read" "read") ;
|
||||
lin ready_A = mkA "ready" ;
|
||||
lin red_A = mkA "red" ;
|
||||
lin river_N = mkN "river" ;
|
||||
lin run_V = mkV "run" "ran" "run" ;
|
||||
lin sea_N = mkN "sea" ;
|
||||
lin see_V2 = mkV2 (mkV "see" "saw" "seen") ;
|
||||
lin ship_N = mkN "ship" ;
|
||||
lin sleep_V = mkV "sleep" "slept" "slept" ;
|
||||
lin small_A = mkA "small" ;
|
||||
lin star_N = mkN "star" ;
|
||||
lin swim_V = mkV "swim" "swam" "swum" ;
|
||||
lin teach_V2 = mkV2 (mkV "teach" "taught" "taught") ;
|
||||
lin train_N = mkN "train" ;
|
||||
lin travel_V = mkV "travel" ;
|
||||
lin tree_N = mkN "tree" ;
|
||||
lin understand_V2 = mkV2 (mkV "understand" "understood" "understood") ;
|
||||
lin wait_V2 = mkV2 "wait" "for" ;
|
||||
lin walk_V = mkV "walk" ;
|
||||
lin warm_A = mkA "warm" ;
|
||||
lin water_N = mkN "water" ;
|
||||
lin white_A = mkA "white" ;
|
||||
lin wine_N = mkN "wine" ;
|
||||
lin woman_N = mkN "woman" "women" ;
|
||||
lin yellow_A = mkA "yellow" ;
|
||||
lin young_A = mkA "young" ;
|
||||
|
||||
}
|
||||
49
old-labs/lab2/grammar/english/MiniParadigmsEng.gf
Normal file
49
old-labs/lab2/grammar/english/MiniParadigmsEng.gf
Normal file
@@ -0,0 +1,49 @@
|
||||
resource MiniParadigmsEng = open
|
||||
|
||||
MiniGrammarEng,
|
||||
MiniResEng
|
||||
|
||||
in {
|
||||
|
||||
oper
|
||||
mkN = overload {
|
||||
mkN : Str -> Noun -- predictable noun, e.g. car-cars, boy-boys, fly-flies, bush-bushes
|
||||
= \n -> lin N (smartNoun n) ;
|
||||
mkN : Str -> Str -> Noun -- irregular noun, e.g. man-men
|
||||
= \sg,pl -> lin N (mkNoun sg pl) ;
|
||||
} ;
|
||||
|
||||
mkPN : Str -> PN
|
||||
= \s -> lin PN {s = s} ;
|
||||
|
||||
mkA : Str -> A
|
||||
= \s -> lin A {s = s} ;
|
||||
|
||||
mkV = overload {
|
||||
mkV : (inf : Str) -> V -- predictable verb, e.g. play-plays, cry-cries, wash-washes
|
||||
= \s -> lin V (smartVerb s) ;
|
||||
mkV : (inf,pres,part : Str) -> V -- irregular verb, e.g. drink-drank-drunk
|
||||
= \inf,pres,part -> lin V (irregVerb inf pres part) ;
|
||||
} ;
|
||||
|
||||
mkV2 = overload {
|
||||
mkV2 : Str -> V2 -- predictable verb with direct object, e.g. "wash"
|
||||
= \s -> lin V2 (smartVerb s ** {c = []}) ;
|
||||
mkV2 : Str -> Str -> V2 -- predictable verb with preposition, e.g. "wait - for"
|
||||
= \s,p -> lin V2 (smartVerb s ** {c = p}) ;
|
||||
mkV2 : V -> V2 -- any verb with direct object, e.g. "drink"
|
||||
= \v -> lin V2 (v ** {c = []}) ;
|
||||
mkV2 : V -> Str -> V2 -- any verb with preposition
|
||||
= \v,p -> lin V2 (v ** {c = p}) ;
|
||||
} ;
|
||||
|
||||
mkVS : V -> VS
|
||||
= \v -> lin VS v ;
|
||||
|
||||
mkAdv : Str -> Adv
|
||||
= \s -> lin Adv {s = s} ;
|
||||
|
||||
mkPrep : Str -> Prep
|
||||
= \s -> lin Prep {s = s} ;
|
||||
|
||||
}
|
||||
99
old-labs/lab2/grammar/english/MiniResEng.gf
Normal file
99
old-labs/lab2/grammar/english/MiniResEng.gf
Normal file
@@ -0,0 +1,99 @@
|
||||
resource MiniResEng = open Prelude in {
|
||||
|
||||
param
|
||||
Number = Sg | Pl ;
|
||||
Case = Nom | Acc ;
|
||||
Person = Per1 | Per2 | Per3 ;
|
||||
|
||||
Agreement = Agr Number Person ;
|
||||
|
||||
-- all forms of normal Eng verbs, although not yet used in MiniGrammar
|
||||
VForm = Inf | PresSg3 | Past | PastPart | PresPart ;
|
||||
|
||||
oper
|
||||
Noun : Type = {s : Number => Str} ;
|
||||
|
||||
mkNoun : Str -> Str -> Noun = \sg,pl -> {
|
||||
s = table {Sg => sg ; Pl => pl}
|
||||
} ;
|
||||
|
||||
regNoun : Str -> Noun = \sg -> mkNoun sg (sg + "s") ;
|
||||
|
||||
-- smart paradigm
|
||||
smartNoun : Str -> Noun = \sg -> case sg of {
|
||||
_ + ("ay"|"ey"|"oy"|"uy") => regNoun sg ;
|
||||
x + "y" => mkNoun sg (x + "ies") ;
|
||||
_ + ("ch"|"sh"|"s"|"o") => mkNoun sg (sg + "es") ;
|
||||
_ => regNoun sg
|
||||
} ;
|
||||
|
||||
Adjective : Type = {s : Str} ;
|
||||
|
||||
Verb : Type = {s : VForm => Str} ;
|
||||
|
||||
mkVerb : (inf,pres,past,pastpart,prespart : Str) -> Verb
|
||||
= \inf,pres,past,pastpart,prespart -> {
|
||||
s = table {
|
||||
Inf => inf ;
|
||||
PresSg3 => pres ;
|
||||
Past => past ;
|
||||
PastPart => pastpart ;
|
||||
PresPart => prespart
|
||||
}
|
||||
} ;
|
||||
|
||||
regVerb : (inf : Str) -> Verb = \inf ->
|
||||
mkVerb inf (inf + "s") (inf + "ed") (inf + "ed") (inf + "ing") ;
|
||||
|
||||
-- regular verbs with predictable variations
|
||||
smartVerb : Str -> Verb = \inf -> case inf of {
|
||||
pl + ("a"|"e"|"i"|"o"|"u") + "y" => regVerb inf ;
|
||||
cr + "y" => mkVerb inf (cr + "ies") (cr + "ied") (cr + "ied") (inf + "ing") ;
|
||||
lov + "e" => mkVerb inf (inf + "s") (lov + "ed") (lov + "ed") (lov + "ing") ;
|
||||
kis + ("s"|"sh"|"x"|"o") => mkVerb inf (inf + "es") (inf + "ed") (inf + "ed") (inf + "ing") ;
|
||||
_ => regVerb inf
|
||||
} ;
|
||||
|
||||
-- normal irregular verbs e.g. drink,drank,drunk
|
||||
irregVerb : (inf,past,pastpart : Str) -> Verb =
|
||||
\inf,past,pastpart ->
|
||||
let verb = smartVerb inf
|
||||
in mkVerb inf (verb.s ! PresSg3) past pastpart (verb.s ! PresPart) ;
|
||||
|
||||
negation : Bool -> Str = \b -> case b of {True => [] ; False => "not"} ;
|
||||
|
||||
-- two-place verb with "case" as preposition; for transitive verbs, c=[]
|
||||
Verb2 : Type = Verb ** {c : Str} ;
|
||||
|
||||
-- generalized verb, here just "be"
|
||||
param
|
||||
GVForm = VF VForm | PresSg1 | PresPl | PastPl ;
|
||||
|
||||
oper
|
||||
GVerb : Type = {
|
||||
s : GVForm => Str ;
|
||||
isAux : Bool
|
||||
} ;
|
||||
|
||||
be_GVerb : GVerb = {
|
||||
s = table {
|
||||
PresSg1 => "am" ;
|
||||
PresPl => "are" ;
|
||||
PastPl => "were" ;
|
||||
VF vf => (mkVerb "be" "is" "was" "been" "being").s ! vf
|
||||
} ;
|
||||
isAux = True
|
||||
} ;
|
||||
|
||||
-- in VP formation, all verbs are lifted to GVerb, but morphology doesn't need to know this
|
||||
verb2gverb : Verb -> GVerb = \v -> {s =
|
||||
table {
|
||||
PresSg1 => v.s ! Inf ;
|
||||
PresPl => v.s ! Inf ;
|
||||
PastPl => v.s ! Past ;
|
||||
VF vf => v.s ! vf
|
||||
} ;
|
||||
isAux = False
|
||||
} ;
|
||||
|
||||
}
|
||||
27
old-labs/lab2/grammar/foods/Foods.gf
Normal file
27
old-labs/lab2/grammar/foods/Foods.gf
Normal file
@@ -0,0 +1,27 @@
|
||||
-- (c) 2009 Aarne Ranta under LGPL
|
||||
-- in https://github.com/GrammaticalFramework/gf-contrib/blob/master/foods/Foods.gf
|
||||
--
|
||||
-- modified for the Computational Syntax course in 2021
|
||||
|
||||
abstract Foods = {
|
||||
|
||||
flags startcat = Comment ;
|
||||
|
||||
cat
|
||||
Comment ; -- this Italian pizza is very warm
|
||||
Item ; -- this Italian pizza
|
||||
Kind ; -- Italian pizza
|
||||
Quality ; -- very warm
|
||||
|
||||
fun
|
||||
Pred : Item -> Quality -> Comment ; -- (this pizza) is (very warm)
|
||||
PredNeg : Item -> Quality -> Comment ; -- (this pizza) is not (very warm)
|
||||
This, That, These, Those : Kind -> Item ; -- this|that|these|those (pizza|pizzas)
|
||||
Mod : Quality -> Kind -> Kind ; -- (Italian) (pizza)
|
||||
Very : Quality -> Quality ; -- very (Italian)
|
||||
|
||||
Wine, Cheese, Fish, Pizza : Kind ;
|
||||
|
||||
Fresh, Warm, Italian,
|
||||
Expensive, Delicious, Boring : Quality ;
|
||||
}
|
||||
150
old-labs/lab2/grammar/functor/MicroLangFunctor.gf
Normal file
150
old-labs/lab2/grammar/functor/MicroLangFunctor.gf
Normal file
@@ -0,0 +1,150 @@
|
||||
incomplete concrete MicroLangFunctor of MicroLang =
|
||||
|
||||
open
|
||||
Grammar,
|
||||
Syntax,
|
||||
Lexicon
|
||||
in {
|
||||
|
||||
-- a functor implementation of MicroLang, using Grammar and Lexicon whenever the function is
|
||||
-- directly from there, Syntax otherwise
|
||||
|
||||
-----------------------------------------------------
|
||||
---------------- Grammar part -----------------------
|
||||
-----------------------------------------------------
|
||||
|
||||
lincat
|
||||
Utt = Grammar.Utt ;
|
||||
S = Grammar.S ;
|
||||
VP = Grammar.VP ;
|
||||
Comp = Grammar.Comp ;
|
||||
AP = Grammar.AP ;
|
||||
CN = Grammar.CN ;
|
||||
NP = Grammar.NP ;
|
||||
Det = Grammar.Det ;
|
||||
Prep = Grammar.Prep ;
|
||||
V = Grammar.V ;
|
||||
V2 = Grammar.V2 ;
|
||||
A = Grammar.A ;
|
||||
N = Grammar.N ;
|
||||
Pron = Grammar.Pron ;
|
||||
Adv = Grammar.Adv ;
|
||||
|
||||
lin
|
||||
UttS = Grammar.UttS ;
|
||||
UttNP = Grammar.UttNP ;
|
||||
PredVPS np vp = Syntax.mkS (Syntax.mkCl np vp) ;
|
||||
UseV = Grammar.UseV ;
|
||||
ComplV2 v2 np = Syntax.mkVP v2 np ;
|
||||
UseComp = Grammar.UseComp ;
|
||||
CompAP = Grammar.CompAP ;
|
||||
AdvVP = Grammar.AdvVP ;
|
||||
DetCN = Grammar.DetCN ;
|
||||
UsePron = Grammar.UsePron ;
|
||||
a_Det = Syntax.a_Det ;
|
||||
aPl_Det = Syntax.aPl_Det ;
|
||||
the_Det = Syntax.the_Det ;
|
||||
thePl_Det = Syntax.thePl_Det ;
|
||||
UseN = Grammar.UseN ;
|
||||
AdjCN = Grammar.AdjCN ;
|
||||
PositA = Grammar.PositA ;
|
||||
PrepNP = Grammar.PrepNP ;
|
||||
in_Prep = Grammar.in_Prep ;
|
||||
on_Prep = Grammar.on_Prep ;
|
||||
with_Prep = Grammar.with_Prep ;
|
||||
he_Pron = Grammar.he_Pron ;
|
||||
she_Pron = Grammar.she_Pron ;
|
||||
they_Pron = Grammar.they_Pron ;
|
||||
|
||||
-----------------------------------------------------
|
||||
---------------- Lexicon part -----------------------
|
||||
-----------------------------------------------------
|
||||
|
||||
lin
|
||||
already_Adv = Lexicon.already_Adv ;
|
||||
animal_N = Lexicon.animal_N ;
|
||||
apple_N = Lexicon.apple_N ;
|
||||
baby_N = Lexicon.baby_N ;
|
||||
bad_A = Lexicon.bad_A ;
|
||||
beer_N = Lexicon.beer_N ;
|
||||
big_A = Lexicon.big_A ;
|
||||
bike_N = Lexicon.bike_N ;
|
||||
bird_N = Lexicon.bird_N ;
|
||||
black_A = Lexicon.black_A ;
|
||||
blood_N = Lexicon.blood_N ;
|
||||
blue_A = Lexicon.blue_A ;
|
||||
boat_N = Lexicon.boat_N ;
|
||||
book_N = Lexicon.book_N ;
|
||||
boy_N = Lexicon.boy_N ;
|
||||
bread_N = Lexicon.bread_N ;
|
||||
break_V2 = Lexicon.break_V2 ;
|
||||
buy_V2 = Lexicon.buy_V2 ;
|
||||
car_N = Lexicon.car_N ;
|
||||
cat_N = Lexicon.cat_N ;
|
||||
child_N = Lexicon.child_N ;
|
||||
city_N = Lexicon.city_N ;
|
||||
clean_A = Lexicon.clean_A ;
|
||||
clever_A = Lexicon.clever_A ;
|
||||
cloud_N = Lexicon.cloud_N ;
|
||||
cold_A = Lexicon.cold_A ;
|
||||
come_V = Lexicon.come_V ;
|
||||
computer_N = Lexicon.computer_N ;
|
||||
cow_N = Lexicon.cow_N ;
|
||||
dirty_A = Lexicon.dirty_A ;
|
||||
dog_N = Lexicon.dog_N ;
|
||||
drink_V2 = Lexicon.drink_V2 ;
|
||||
eat_V2 = Lexicon.eat_V2 ;
|
||||
find_V2 = Lexicon.find_V2 ;
|
||||
fire_N = Lexicon.fire_N ;
|
||||
fish_N = Lexicon.fish_N ;
|
||||
flower_N = Lexicon.flower_N ;
|
||||
friend_N = Lexicon.friend_N ;
|
||||
girl_N = Lexicon.girl_N ;
|
||||
good_A = Lexicon.good_A ;
|
||||
go_V = Lexicon.go_V ;
|
||||
grammar_N = Lexicon.grammar_N ;
|
||||
green_A = Lexicon.green_A ;
|
||||
heavy_A = Lexicon.heavy_A ;
|
||||
horse_N = Lexicon.horse_N ;
|
||||
hot_A = Lexicon.hot_A ;
|
||||
house_N = Lexicon.house_N ;
|
||||
jump_V = Lexicon.jump_V ;
|
||||
kill_V2 = Lexicon.kill_V2 ;
|
||||
language_N = Lexicon.language_N ;
|
||||
live_V = Lexicon.live_V ;
|
||||
love_V2 = Lexicon.love_V2 ;
|
||||
man_N = Lexicon.man_N ;
|
||||
milk_N = Lexicon.milk_N ;
|
||||
music_N = Lexicon.music_N ;
|
||||
new_A = Lexicon.new_A ;
|
||||
now_Adv = Lexicon.now_Adv ;
|
||||
old_A = Lexicon.old_A ;
|
||||
play_V = Lexicon.play_V ;
|
||||
read_V2 = Lexicon.read_V2 ;
|
||||
ready_A = Lexicon.ready_A ;
|
||||
red_A = Lexicon.red_A ;
|
||||
river_N = Lexicon.river_N ;
|
||||
run_V = Lexicon.run_V ;
|
||||
sea_N = Lexicon.sea_N ;
|
||||
see_V2 = Lexicon.see_V2 ;
|
||||
ship_N = Lexicon.ship_N ;
|
||||
sleep_V = Lexicon.sleep_V ;
|
||||
small_A = Lexicon.small_A ;
|
||||
star_N = Lexicon.star_N ;
|
||||
swim_V = Lexicon.swim_V ;
|
||||
teach_V2 = Lexicon.teach_V2 ;
|
||||
train_N = Lexicon.train_N ;
|
||||
travel_V = Lexicon.travel_V ;
|
||||
tree_N = Lexicon.tree_N ;
|
||||
understand_V2 = Lexicon.understand_V2 ;
|
||||
wait_V2 = Lexicon.wait_V2 ;
|
||||
walk_V = Lexicon.walk_V ;
|
||||
warm_A = Lexicon.warm_A ;
|
||||
water_N = Lexicon.water_N ;
|
||||
white_A = Lexicon.white_A ;
|
||||
wine_N = Lexicon.wine_N ;
|
||||
woman_N = Lexicon.woman_N ;
|
||||
yellow_A = Lexicon.yellow_A ;
|
||||
young_A = Lexicon.young_A ;
|
||||
|
||||
}
|
||||
8
old-labs/lab2/grammar/functor/MicroLangFunctorEng.gf
Normal file
8
old-labs/lab2/grammar/functor/MicroLangFunctorEng.gf
Normal file
@@ -0,0 +1,8 @@
|
||||
--# -path=.:../abstract
|
||||
|
||||
concrete MicroLangFunctorEng of MicroLang = MicroLangFunctor with
|
||||
(Grammar = GrammarEng),
|
||||
(Syntax = SyntaxEng),
|
||||
(Lexicon = LexiconEng)
|
||||
;
|
||||
|
||||
7
old-labs/lab2/grammar/functor/MicroLangFunctorSwe.gf
Normal file
7
old-labs/lab2/grammar/functor/MicroLangFunctorSwe.gf
Normal file
@@ -0,0 +1,7 @@
|
||||
--# -path=.:../abstract
|
||||
|
||||
concrete MicroLangFunctorSwe of MicroLang = MicroLangFunctor with
|
||||
(Grammar = GrammarSwe),
|
||||
(Syntax = SyntaxSwe),
|
||||
(Lexicon = LexiconSwe)
|
||||
;
|
||||
196
old-labs/lab2/grammar/functor/MiniLangFunctor.gf
Normal file
196
old-labs/lab2/grammar/functor/MiniLangFunctor.gf
Normal file
@@ -0,0 +1,196 @@
|
||||
incomplete concrete MiniLangFunctor of MiniLang =
|
||||
open
|
||||
Grammar,
|
||||
Syntax,
|
||||
Lexicon
|
||||
in {
|
||||
|
||||
-- A functor implementation of MiniLang, using Grammar and Lexicon whenever the function is
|
||||
-- directly from there, Syntax otherwise.
|
||||
-- Both Grammar and Lexicon are in a single file for simplicity.
|
||||
|
||||
-----------------------------------------------------
|
||||
---------------- Grammar part -----------------------
|
||||
-----------------------------------------------------
|
||||
|
||||
lincat
|
||||
Utt = Grammar.Utt ;
|
||||
Pol = Grammar.Pol ;
|
||||
Temp = Grammar.Temp ;
|
||||
Imp = Grammar.Imp ;
|
||||
S = Grammar.S ;
|
||||
QS = Grammar.QS ;
|
||||
Cl = Grammar.Cl ;
|
||||
QCl = Grammar.QCl ;
|
||||
VP = Grammar.VP ;
|
||||
Comp = Grammar.Comp ;
|
||||
AP = Grammar.AP ;
|
||||
CN = Grammar.CN ;
|
||||
NP = Grammar.NP ;
|
||||
IP = Grammar.IP ;
|
||||
Pron = Grammar.Pron ;
|
||||
Det = Grammar.Det ;
|
||||
Conj = Grammar.Conj ;
|
||||
Prep = Grammar.Prep ;
|
||||
V = Grammar.V ;
|
||||
V2 = Grammar.V2 ;
|
||||
VS = Grammar.VS ;
|
||||
VV = Grammar.VV ;
|
||||
A = Grammar.A ;
|
||||
N = Grammar.N ;
|
||||
PN = Grammar.PN ;
|
||||
Adv = Grammar.Adv ;
|
||||
IAdv = Grammar.IAdv ;
|
||||
|
||||
lin
|
||||
UttS = Grammar.UttS ;
|
||||
UttQS = Grammar.UttQS ;
|
||||
UttNP = Grammar.UttNP ;
|
||||
UttAdv = Grammar.UttAdv ;
|
||||
UttIAdv = Grammar.UttIAdv ;
|
||||
UttImpSg pol imp = Syntax.mkUtt pol imp ;
|
||||
UseCl = Grammar.UseCl ;
|
||||
UseQCl = Grammar.UseQCl ;
|
||||
PredVP = Grammar.PredVP ;
|
||||
QuestCl = Grammar.QuestCl ;
|
||||
QuestVP = Grammar.QuestVP ;
|
||||
ImpVP = Grammar.ImpVP ;
|
||||
UseV = Grammar.UseV ;
|
||||
ComplV2 v2 np = Syntax.mkVP v2 np ;
|
||||
ComplVS = Grammar.ComplVS ;
|
||||
ComplVV = Grammar.ComplVV ;
|
||||
UseComp = Grammar.UseComp ;
|
||||
CompAP = Grammar.CompAP ;
|
||||
CompNP = Grammar.CompNP ;
|
||||
CompAdv = Grammar.CompAdv ;
|
||||
AdvVP = Grammar.AdvVP ;
|
||||
DetCN = Grammar.DetCN ;
|
||||
UsePN = Grammar.UsePN ;
|
||||
UsePron = Grammar.UsePron ;
|
||||
MassNP = Grammar.MassNP ;
|
||||
a_Det = Syntax.a_Det ;
|
||||
aPl_Det = Syntax.aPl_Det ;
|
||||
the_Det = Syntax.the_Det ;
|
||||
thePl_Det = Syntax.thePl_Det ;
|
||||
UseN = Grammar.UseN ;
|
||||
AdjCN = Grammar.AdjCN ;
|
||||
PositA = Grammar.PositA ;
|
||||
PrepNP = Grammar.PrepNP ;
|
||||
CoordS conj a b = Syntax.mkS conj a b ;
|
||||
PPos = Grammar.PPos ;
|
||||
PNeg = Grammar.PNeg ;
|
||||
TSim = Syntax.mkTemp Syntax.presentTense Syntax.simultaneousAnt ;
|
||||
TAnt = Syntax.mkTemp Syntax.presentTense Syntax.anteriorAnt ;
|
||||
and_Conj = Grammar.and_Conj ;
|
||||
or_Conj = Grammar.or_Conj ;
|
||||
every_Det = Grammar.every_Det ;
|
||||
in_Prep = Grammar.in_Prep ;
|
||||
on_Prep = Grammar.on_Prep ;
|
||||
with_Prep = Grammar.with_Prep ;
|
||||
i_Pron = Grammar.i_Pron ;
|
||||
youSg_Pron = Grammar.youSg_Pron ;
|
||||
he_Pron = Grammar.he_Pron ;
|
||||
she_Pron = Grammar.she_Pron ;
|
||||
we_Pron = Grammar.we_Pron ;
|
||||
youPl_Pron = Grammar.youPl_Pron ;
|
||||
they_Pron = Grammar.they_Pron ;
|
||||
whoSg_IP = Grammar.whoSg_IP ;
|
||||
where_IAdv = Grammar.where_IAdv ;
|
||||
why_IAdv = Grammar.why_IAdv ;
|
||||
have_V2 = Grammar.have_V2 ;
|
||||
want_VV = Grammar.want_VV ;
|
||||
|
||||
------------------------------------
|
||||
-- Lexicon part --------------------
|
||||
------------------------------------
|
||||
|
||||
already_Adv = Lexicon.already_Adv ;
|
||||
animal_N = Lexicon.animal_N ;
|
||||
apple_N = Lexicon.apple_N ;
|
||||
baby_N = Lexicon.baby_N ;
|
||||
bad_A = Lexicon.bad_A ;
|
||||
beer_N = Lexicon.beer_N ;
|
||||
big_A = Lexicon.big_A ;
|
||||
bike_N = Lexicon.bike_N ;
|
||||
bird_N = Lexicon.bird_N ;
|
||||
black_A = Lexicon.black_A ;
|
||||
blood_N = Lexicon.blood_N ;
|
||||
blue_A = Lexicon.blue_A ;
|
||||
boat_N = Lexicon.boat_N ;
|
||||
book_N = Lexicon.book_N ;
|
||||
boy_N = Lexicon.boy_N ;
|
||||
bread_N = Lexicon.bread_N ;
|
||||
break_V2 = Lexicon.break_V2 ;
|
||||
buy_V2 = Lexicon.buy_V2 ;
|
||||
car_N = Lexicon.car_N ;
|
||||
cat_N = Lexicon.cat_N ;
|
||||
child_N = Lexicon.child_N ;
|
||||
city_N = Lexicon.city_N ;
|
||||
clean_A = Lexicon.clean_A ;
|
||||
clever_A = Lexicon.clever_A ;
|
||||
cloud_N = Lexicon.cloud_N ;
|
||||
cold_A = Lexicon.cold_A ;
|
||||
come_V = Lexicon.come_V ;
|
||||
computer_N = Lexicon.computer_N ;
|
||||
cow_N = Lexicon.cow_N ;
|
||||
dirty_A = Lexicon.dirty_A ;
|
||||
dog_N = Lexicon.dog_N ;
|
||||
drink_V2 = Lexicon.drink_V2 ;
|
||||
eat_V2 = Lexicon.eat_V2 ;
|
||||
find_V2 = Lexicon.find_V2 ;
|
||||
fire_N = Lexicon.fire_N ;
|
||||
fish_N = Lexicon.fish_N ;
|
||||
flower_N = Lexicon.flower_N ;
|
||||
friend_N = Lexicon.friend_N ;
|
||||
girl_N = Lexicon.girl_N ;
|
||||
good_A = Lexicon.good_A ;
|
||||
go_V = Lexicon.go_V ;
|
||||
grammar_N = Lexicon.grammar_N ;
|
||||
green_A = Lexicon.green_A ;
|
||||
heavy_A = Lexicon.heavy_A ;
|
||||
horse_N = Lexicon.horse_N ;
|
||||
hot_A = Lexicon.hot_A ;
|
||||
house_N = Lexicon.house_N ;
|
||||
john_PN = Lexicon.john_PN ;
|
||||
jump_V = Lexicon.jump_V ;
|
||||
kill_V2 = Lexicon.kill_V2 ;
|
||||
know_VS = Lexicon.know_VS ;
|
||||
language_N = Lexicon.language_N ;
|
||||
live_V = Lexicon.live_V ;
|
||||
love_V2 = Lexicon.love_V2 ;
|
||||
man_N = Lexicon.man_N ;
|
||||
milk_N = Lexicon.milk_N ;
|
||||
music_N = Lexicon.music_N ;
|
||||
new_A = Lexicon.new_A ;
|
||||
now_Adv = Lexicon.now_Adv ;
|
||||
old_A = Lexicon.old_A ;
|
||||
paris_PN = Lexicon.paris_PN ;
|
||||
play_V = Lexicon.play_V ;
|
||||
read_V2 = Lexicon.read_V2 ;
|
||||
ready_A = Lexicon.ready_A ;
|
||||
red_A = Lexicon.red_A ;
|
||||
river_N = Lexicon.river_N ;
|
||||
run_V = Lexicon.run_V ;
|
||||
sea_N = Lexicon.sea_N ;
|
||||
see_V2 = Lexicon.see_V2 ;
|
||||
ship_N = Lexicon.ship_N ;
|
||||
sleep_V = Lexicon.sleep_V ;
|
||||
small_A = Lexicon.small_A ;
|
||||
star_N = Lexicon.star_N ;
|
||||
swim_V = Lexicon.swim_V ;
|
||||
teach_V2 = Lexicon.teach_V2 ;
|
||||
train_N = Lexicon.train_N ;
|
||||
travel_V = Lexicon.travel_V ;
|
||||
tree_N = Lexicon.tree_N ;
|
||||
understand_V2 = Lexicon.understand_V2 ;
|
||||
wait_V2 = Lexicon.wait_V2 ;
|
||||
walk_V = Lexicon.walk_V ;
|
||||
warm_A = Lexicon.warm_A ;
|
||||
water_N = Lexicon.water_N ;
|
||||
white_A = Lexicon.white_A ;
|
||||
wine_N = Lexicon.wine_N ;
|
||||
woman_N = Lexicon.woman_N ;
|
||||
yellow_A = Lexicon.yellow_A ;
|
||||
young_A = Lexicon.young_A ;
|
||||
|
||||
}
|
||||
8
old-labs/lab2/grammar/functor/MiniLangFunctorEng.gf
Normal file
8
old-labs/lab2/grammar/functor/MiniLangFunctorEng.gf
Normal file
@@ -0,0 +1,8 @@
|
||||
--# -path=.:../abstract
|
||||
|
||||
concrete MiniLangFunctorEng of MiniLang = MiniLangFunctor with
|
||||
(Grammar = GrammarEng),
|
||||
(Syntax = SyntaxEng),
|
||||
(Lexicon = LexiconEng)
|
||||
;
|
||||
|
||||
8
old-labs/lab2/grammar/functor/MiniLangFunctorSwe.gf
Normal file
8
old-labs/lab2/grammar/functor/MiniLangFunctorSwe.gf
Normal file
@@ -0,0 +1,8 @@
|
||||
--# -path=.:../abstract
|
||||
|
||||
concrete MiniLangFunctorSwe of MiniLang = MiniLangFunctor with
|
||||
(Grammar = GrammarSwe),
|
||||
(Syntax = SyntaxSwe),
|
||||
(Lexicon = LexiconSwe)
|
||||
;
|
||||
|
||||
15
old-labs/lab2/grammar/intro/MicroLangEng.gf
Normal file
15
old-labs/lab2/grammar/intro/MicroLangEng.gf
Normal file
@@ -0,0 +1,15 @@
|
||||
--# -path=.:../abstract
|
||||
|
||||
concrete MicroLangEng of MicroLang =
|
||||
open MicroResEng
|
||||
in {
|
||||
|
||||
lincat
|
||||
N = Noun ;
|
||||
|
||||
lin
|
||||
animal_N = mkN "animal" ;
|
||||
apple_N = mkN "apple" ;
|
||||
baby_N = mkN "baby" ;
|
||||
woman_N = mkN "woman" "women" ;
|
||||
}
|
||||
44
old-labs/lab2/grammar/intro/MicroResEng.gf
Normal file
44
old-labs/lab2/grammar/intro/MicroResEng.gf
Normal file
@@ -0,0 +1,44 @@
|
||||
-- live-coded MicroResEng for Lab 2
|
||||
|
||||
resource MicroResEng = {
|
||||
|
||||
param
|
||||
Number = Sg | Pl ;
|
||||
|
||||
oper
|
||||
-- phonological patterns
|
||||
sibilant : pattern Str
|
||||
= #("s" | "x" | "ch" | "sh" | "z") ;
|
||||
vowel : pattern Str
|
||||
= #("a" | "e" | "i" | "o" | "u") ;
|
||||
|
||||
-- the type of nouns
|
||||
Noun : Type = {s : Number => Str} ;
|
||||
|
||||
-- worst-case paradigm
|
||||
mkNoun : (sg, pl : Str) -> Noun
|
||||
= \sg, pl -> {s = table {Sg => sg ; Pl => pl}} ;
|
||||
|
||||
-- regular paradigm
|
||||
regNoun : (sg : Str) -> Noun
|
||||
= \sg -> mkNoun sg (sg + "s") ;
|
||||
|
||||
-- smart paradigm
|
||||
smartNoun : (sg : Str) -> Noun
|
||||
= \sg -> case sg of {
|
||||
x + #vowel + "y" => regNoun sg ;
|
||||
x + "y" => mkNoun sg (x + "ies") ;
|
||||
x + #sibilant => mkNoun sg (sg + "es") ;
|
||||
_ => regNoun sg
|
||||
} ;
|
||||
|
||||
-- overloaded paradigm for lexicographers
|
||||
mkN = overload {
|
||||
mkN : (sg : Str) -> Noun = smartNoun ;
|
||||
mkN : (sg, pl : Str) -> Noun = mkNoun ;
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
233
old-labs/lab2/grammar/italian/MicroLangIta.gf
Normal file
233
old-labs/lab2/grammar/italian/MicroLangIta.gf
Normal file
@@ -0,0 +1,233 @@
|
||||
--# -path=.:../abstract
|
||||
concrete MicroLangIta of MicroLang = open MicroResIta in {
|
||||
|
||||
-----------------------------------------------------
|
||||
---------------- Grammar part -----------------------
|
||||
-----------------------------------------------------
|
||||
|
||||
lincat
|
||||
{-
|
||||
Utt = {s : Str} ;
|
||||
|
||||
S = {s : Str} ;
|
||||
VP = {verb : Verb ; compl : Str} ; ---s special case of Mini
|
||||
Comp = {s : Str} ;
|
||||
-}
|
||||
AP = Adjective ;
|
||||
CN = Noun ;
|
||||
{-
|
||||
NP = {s : Case => Str ; a : Agreement} ;
|
||||
Pron = {s : Case => Str ; a : Agreement} ;
|
||||
Det = {s : Str ; n : Number} ;
|
||||
Prep = {s : Str} ;
|
||||
V = Verb ;
|
||||
V2 = Verb2 ;
|
||||
-}
|
||||
A = Adjective ;
|
||||
N = Noun ;
|
||||
Adv = {s : Str} ;
|
||||
|
||||
|
||||
lin
|
||||
{-
|
||||
UttS s = s ;
|
||||
UttNP np = {s = np.s ! Acc} ;
|
||||
|
||||
PredVPS np vp = {
|
||||
s = np.s ! Nom ++ vp.verb.s ! agr2vform np.a ++ vp.compl
|
||||
} ;
|
||||
|
||||
UseV v = {
|
||||
verb = v ;
|
||||
compl = [] ;
|
||||
} ;
|
||||
|
||||
ComplV2 v2 np = {
|
||||
verb = v2 ;
|
||||
compl = v2.c ++ np.s ! Acc -- NP object in the accusative, preposition first
|
||||
} ;
|
||||
|
||||
UseComp comp = {
|
||||
verb = be_Verb ; -- the verb is the copula "be"
|
||||
compl = comp.s
|
||||
} ;
|
||||
|
||||
CompAP ap = ap ;
|
||||
|
||||
AdvVP vp adv =
|
||||
vp ** {compl = vp.compl ++ adv.s} ;
|
||||
|
||||
DetCN det cn = {
|
||||
s = \\c => det.s ++ cn.s ! det.n ;
|
||||
a = Agr det.n ;
|
||||
} ;
|
||||
|
||||
UsePron p = p ;
|
||||
|
||||
a_Det = {s = pre {"a"|"e"|"i"|"o" => "an" ; _ => "a"} ; n = Sg} ; --- a/an can get wrong
|
||||
aPl_Det = {s = "" ; n = Pl} ;
|
||||
the_Det = {s = "the" ; n = Sg} ;
|
||||
thePl_Det = {s = "the" ; n = Pl} ;
|
||||
-}
|
||||
UseN n = n ;
|
||||
|
||||
AdjCN ap cn = {
|
||||
s = table {n => cn.s ! n ++ ap.s ! cn.g ! n} ;
|
||||
g = cn.g
|
||||
} ;
|
||||
|
||||
PositA a = a ;
|
||||
{-
|
||||
PrepNP prep np = {s = prep.s ++ np.s ! Acc} ;
|
||||
|
||||
in_Prep = {s = "in"} ;
|
||||
on_Prep = {s = "on"} ;
|
||||
with_Prep = {s = "with"} ;
|
||||
|
||||
he_Pron = {
|
||||
s = table {Nom => "he" ; Acc => "him"} ;
|
||||
a = Agr Sg ;
|
||||
} ;
|
||||
she_Pron = {
|
||||
s = table {Nom => "she" ; Acc => "her"} ;
|
||||
a = Agr Sg ;
|
||||
} ;
|
||||
they_Pron = {
|
||||
s = table {Nom => "they" ; Acc => "them"} ;
|
||||
a = Agr Pl ;
|
||||
} ;
|
||||
-}
|
||||
-----------------------------------------------------
|
||||
---------------- Lexicon part -----------------------
|
||||
-----------------------------------------------------
|
||||
|
||||
-- lin already_Adv = mkAdv "already" ;
|
||||
lin animal_N = mkN "animale" ;
|
||||
lin apple_N = mkN "mela" ;
|
||||
lin baby_N = mkN "bambino" ;
|
||||
lin bad_A = mkA "cattivo" ;
|
||||
lin beer_N = mkN "birra" ;
|
||||
lin big_A = mkA "grande" ;
|
||||
lin bike_N = mkN "bicicletta" ;
|
||||
{-
|
||||
lin bird_N = mkN "bird" ;
|
||||
lin black_A = mkA "black" ;
|
||||
lin blood_N = mkN "blood" ;
|
||||
lin blue_A = mkA "blue" ;
|
||||
lin boat_N = mkN "boat" ;
|
||||
lin book_N = mkN "book" ;
|
||||
lin boy_N = mkN "boy" ;
|
||||
lin bread_N = mkN "bread" ;
|
||||
lin break_V2 = mkV2 (mkV "break" "broke" "broken") ;
|
||||
lin buy_V2 = mkV2 (mkV "buy" "bought" "bought") ;
|
||||
lin car_N = mkN "car" ;
|
||||
lin cat_N = mkN "cat" ;
|
||||
lin child_N = mkN "child" "children" ;
|
||||
lin city_N = mkN "city" ;
|
||||
lin clean_A = mkA "clean" ;
|
||||
lin clever_A = mkA "clever" ;
|
||||
lin cloud_N = mkN "cloud" ;
|
||||
lin cold_A = mkA "cold" ;
|
||||
lin come_V = mkV "come" "came" "come" ;
|
||||
lin computer_N = mkN "computer" ;
|
||||
lin cow_N = mkN "cow" ;
|
||||
lin dirty_A = mkA "dirty" ;
|
||||
lin dog_N = mkN "dog" ;
|
||||
lin drink_V2 = mkV2 (mkV "drink" "drank" "drunk") ;
|
||||
lin eat_V2 = mkV2 (mkV "eat" "ate" "eaten") ;
|
||||
lin find_V2 = mkV2 (mkV "find" "found" "found") ;
|
||||
lin fire_N = mkN "fire" ;
|
||||
lin fish_N = mkN "fish" "fish" ;
|
||||
lin flower_N = mkN "flower" ;
|
||||
lin friend_N = mkN "friend" ;
|
||||
lin girl_N = mkN "girl" ;
|
||||
lin good_A = mkA "good" ;
|
||||
lin go_V = mkV "go" "went" "gone" ;
|
||||
lin grammar_N = mkN "grammar" ;
|
||||
lin green_A = mkA "green" ;
|
||||
lin heavy_A = mkA "heavy" ;
|
||||
lin horse_N = mkN "horse" ;
|
||||
lin hot_A = mkA "hot" ;
|
||||
lin house_N = mkN "house" ;
|
||||
-- lin john_PN = mkPN "John" ;
|
||||
lin jump_V = mkV "jump" ;
|
||||
lin kill_V2 = mkV2 "kill" ;
|
||||
-- lin know_VS = mkVS (mkV "know" "knew" "known") ;
|
||||
lin language_N = mkN "language" ;
|
||||
lin live_V = mkV "live" ;
|
||||
lin love_V2 = mkV2 (mkV "love") ;
|
||||
lin man_N = mkN "man" "men" ;
|
||||
lin milk_N = mkN "milk" ;
|
||||
lin music_N = mkN "music" ;
|
||||
lin new_A = mkA "new" ;
|
||||
lin now_Adv = mkAdv "now" ;
|
||||
lin old_A = mkA "old" ;
|
||||
-- lin paris_PN = mkPN "Paris" ;
|
||||
lin play_V = mkV "play" ;
|
||||
lin read_V2 = mkV2 (mkV "read" "read" "read") ;
|
||||
lin ready_A = mkA "ready" ;
|
||||
lin red_A = mkA "red" ;
|
||||
lin river_N = mkN "river" ;
|
||||
lin run_V = mkV "run" "ran" "run" ;
|
||||
lin sea_N = mkN "sea" ;
|
||||
lin see_V2 = mkV2 (mkV "see" "saw" "seen") ;
|
||||
lin ship_N = mkN "ship" ;
|
||||
lin sleep_V = mkV "sleep" "slept" "slept" ;
|
||||
lin small_A = mkA "small" ;
|
||||
lin star_N = mkN "star" ;
|
||||
lin swim_V = mkV "swim" "swam" "swum" ;
|
||||
lin teach_V2 = mkV2 (mkV "teach" "taught" "taught") ;
|
||||
lin train_N = mkN "train" ;
|
||||
lin travel_V = mkV "travel" ;
|
||||
lin tree_N = mkN "tree" ;
|
||||
lin understand_V2 = mkV2 (mkV "understand" "understood" "understood") ;
|
||||
lin wait_V2 = mkV2 "wait" "for" ;
|
||||
lin walk_V = mkV "walk" ;
|
||||
lin warm_A = mkA "warm" ;
|
||||
lin water_N = mkN "water" ;
|
||||
lin white_A = mkA "white" ;
|
||||
lin wine_N = mkN "wine" ;
|
||||
lin woman_N = mkN "woman" "women" ;
|
||||
lin yellow_A = mkA "yellow" ;
|
||||
lin young_A = mkA "young" ;
|
||||
|
||||
---------------------------
|
||||
-- Paradigms part ---------
|
||||
---------------------------
|
||||
|
||||
oper
|
||||
mkN = overload {
|
||||
mkN : Str -> Noun -- predictable noun, e.g. car-cars, boy-boys, fly-flies, bush-bushes
|
||||
= \n -> lin N (smartNoun n) ;
|
||||
mkN : Str -> Str -> Noun -- irregular noun, e.g. man-men
|
||||
= \sg,pl -> lin N (mkNoun sg pl) ;
|
||||
} ;
|
||||
|
||||
mkA : Str -> A
|
||||
= \s -> lin A {s = s} ;
|
||||
|
||||
mkV = overload {
|
||||
mkV : (inf : Str) -> V -- predictable verb, e.g. play-plays, cry-cries, wash-washes
|
||||
= \s -> lin V (smartVerb s) ;
|
||||
mkV : (inf,pres,part : Str) -> V -- irregular verb, e.g. drink-drank-drunk
|
||||
= \inf,pres,part -> lin V (irregVerb inf pres part) ;
|
||||
} ;
|
||||
|
||||
mkV2 = overload {
|
||||
mkV2 : Str -> V2 -- predictable verb with direct object, e.g. "wash"
|
||||
= \s -> lin V2 (smartVerb s ** {c = []}) ;
|
||||
mkV2 : Str -> Str -> V2 -- predictable verb with preposition, e.g. "wait - for"
|
||||
= \s,p -> lin V2 (smartVerb s ** {c = p}) ;
|
||||
mkV2 : V -> V2 -- any verb with direct object, e.g. "drink"
|
||||
= \v -> lin V2 (v ** {c = []}) ;
|
||||
mkV2 : V -> Str -> V2 -- any verb with preposition
|
||||
= \v,p -> lin V2 (v ** {c = p}) ;
|
||||
} ;
|
||||
|
||||
mkAdv : Str -> Adv
|
||||
= \s -> lin Adv {s = s} ;
|
||||
|
||||
mkPrep : Str -> Prep
|
||||
= \s -> lin Prep {s = s} ;
|
||||
-}
|
||||
}
|
||||
BIN
old-labs/lab2/grammar/italian/MicroLangIta.gfo
Normal file
BIN
old-labs/lab2/grammar/italian/MicroLangIta.gfo
Normal file
Binary file not shown.
62
old-labs/lab2/grammar/italian/MicroResIta.gf
Normal file
62
old-labs/lab2/grammar/italian/MicroResIta.gf
Normal file
@@ -0,0 +1,62 @@
|
||||
resource MicroResIta = {
|
||||
|
||||
param
|
||||
-- define types of morphological parameters
|
||||
Number = Sg | Pl ;
|
||||
Gender = Masc | Fem ;
|
||||
|
||||
oper
|
||||
-- define types for parts of speech
|
||||
-- they are recourd types with tables and inherent features
|
||||
Noun : Type = {s : Number => Str ; g : Gender} ;
|
||||
Adjective : Type = {s : Gender => Number => Str} ;
|
||||
|
||||
-- here is an example that is type-correct as a Noun
|
||||
donna_N : Noun = {
|
||||
s = table {Sg => "donna" ; Pl => "donne"} ;
|
||||
g = Fem
|
||||
} ;
|
||||
|
||||
-- define constructor function for Noun
|
||||
mkNoun : Str -> Str -> Gender -> Noun = \sg, pl, g -> {
|
||||
s = table {Sg => sg ; Pl => pl} ;
|
||||
g = g
|
||||
} ;
|
||||
|
||||
-- define a noun using this constructor
|
||||
uomo_N : Noun = mkNoun "uomo" "uomini" Masc ;
|
||||
|
||||
-- define a smart paradigm
|
||||
smartNoun : Str -> Noun = \s -> case s of {
|
||||
x + "o" => mkNoun s (x + "i") Masc ;
|
||||
x + "a" => mkNoun s (x + "e") Fem ;
|
||||
x + "e" => mkNoun s (x + "i") Masc ;
|
||||
_ => mkNoun s s Masc
|
||||
} ;
|
||||
|
||||
-- the overloaded paradigm is what the lexicon will use
|
||||
mkN = overload {
|
||||
mkN : Str -> Noun = smartNoun ;
|
||||
mkN : Str -> Str -> Gender -> Noun = mkNoun ;
|
||||
mkN : Gender -> Noun -> Noun = \g, n -> n ** {g = g} ;
|
||||
} ;
|
||||
|
||||
-- adjectives:
|
||||
mkAdjective : (msg,fsg,mpl,fpl : Str) -> Adjective = \msg,fsg,mpl,fpl -> {
|
||||
s = table {
|
||||
Masc => table {Sg => msg ; Pl => mpl} ;
|
||||
Fem => table {Sg => fsg ; Pl => fpl}
|
||||
}
|
||||
} ;
|
||||
smartAdjective : Str -> Adjective = \s -> case s of {
|
||||
x + "o" => mkAdjective s (x + "a") (x + "i") (x + "e") ;
|
||||
x + "e" => mkAdjective s s (x + "i") (x + "i") ;
|
||||
_ => mkAdjective s s s s
|
||||
} ;
|
||||
|
||||
mkA = overload {
|
||||
mkA : Str -> Adjective = smartAdjective ;
|
||||
mkA : (msg,fsg,mpl,fpl : Str) -> Adjective = mkAdjective ;
|
||||
} ;
|
||||
|
||||
}
|
||||
BIN
old-labs/lab2/grammar/italian/MicroResIta.gfo
Normal file
BIN
old-labs/lab2/grammar/italian/MicroResIta.gfo
Normal file
Binary file not shown.
57
old-labs/lab2/grammar/myproject/MicroLangEng.gf
Normal file
57
old-labs/lab2/grammar/myproject/MicroLangEng.gf
Normal file
@@ -0,0 +1,57 @@
|
||||
--# -path=.:../abstract
|
||||
|
||||
concrete MicroLangEng of MicroLang = open MicroResEng in {
|
||||
|
||||
lincat
|
||||
Utt = {s : Str} ;
|
||||
S = {s : Str} ;
|
||||
|
||||
VP = {verb : MicroResEng.V ; compl : Str} ;
|
||||
|
||||
|
||||
CN = MicroResEng.N ;
|
||||
AP = MicroResEng.A ;
|
||||
|
||||
NP = MicroResEng.Pron ;
|
||||
Pron = MicroResEng.Pron ;
|
||||
|
||||
N = MicroResEng.N ;
|
||||
A = MicroResEng.A ;
|
||||
V = MicroResEng.V ;
|
||||
V2 = MicroResEng.V2 ;
|
||||
|
||||
lin
|
||||
|
||||
PredVPS np vp = {s = np.s ! Nom ++ selectVerb vp.verb np.n ++ vp.compl} ;
|
||||
|
||||
UseV v = {verb = v ; compl = []} ;
|
||||
ComplV2 v np = {verb = v ; compl = np.s ! Acc} ;
|
||||
|
||||
AdjCN ap cn = {s = \\n => ap.s ++ cn.s ! n} ;
|
||||
|
||||
|
||||
UsePron p = p ;
|
||||
|
||||
UseN n = n ;
|
||||
PositA a = a ;
|
||||
|
||||
|
||||
he_Pron = mkPron "he" "him" Sg ;
|
||||
she_Pron = mkPron "she" "her" Sg ;
|
||||
they_Pron = mkPron "they" "them" Pl ;
|
||||
|
||||
|
||||
book_N = {s = table {Sg => "book" ; Pl => "books"}} ;
|
||||
grammar_N = mkN "grammar" ;
|
||||
woman_N = mkN "woman" "women" ;
|
||||
child_N = mkN "child" "children" ;
|
||||
boy_N = mkN "boy" ;
|
||||
|
||||
big_A = mkA "big" ;
|
||||
good_A = mkA "good" ;
|
||||
live_V = mkV "live" ;
|
||||
love_V2 = mkV2 "love" ;
|
||||
|
||||
|
||||
|
||||
}
|
||||
BIN
old-labs/lab2/grammar/myproject/MicroLangEng.gfo
Normal file
BIN
old-labs/lab2/grammar/myproject/MicroLangEng.gfo
Normal file
Binary file not shown.
15
old-labs/lab2/grammar/myproject/MicroLangSwe.gf
Normal file
15
old-labs/lab2/grammar/myproject/MicroLangSwe.gf
Normal file
@@ -0,0 +1,15 @@
|
||||
--# -path=.:../abstract
|
||||
|
||||
concrete MicroLangSwe of MicroLang = open MicroResSwe in {
|
||||
|
||||
lincat N = MicroResSwe.N ;
|
||||
|
||||
lin baby_N = decl2 "bebis" ;
|
||||
lin dog_N = decl2 "hund" ;
|
||||
lin man_N = worstN "man" "mannen" "män" "männen" Utr ;
|
||||
lin car_N = decl2 "bil" ;
|
||||
--lin city_N = mkN "stad" ;
|
||||
lin boy_N = decl2 "pojke" ;
|
||||
|
||||
|
||||
}
|
||||
BIN
old-labs/lab2/grammar/myproject/MicroLangSwe.gfo
Normal file
BIN
old-labs/lab2/grammar/myproject/MicroLangSwe.gfo
Normal file
Binary file not shown.
124
old-labs/lab2/grammar/myproject/MicroResEng.gf
Normal file
124
old-labs/lab2/grammar/myproject/MicroResEng.gf
Normal file
@@ -0,0 +1,124 @@
|
||||
resource MicroResEng = open Prelude in {
|
||||
|
||||
param
|
||||
Number = Sg | Pl ;
|
||||
Case = Nom | Acc ;
|
||||
|
||||
|
||||
Agreement = Agr Number ; ---s Person to be added
|
||||
|
||||
-- all forms of normal Eng verbs, although not yet used in MiniGrammar
|
||||
VForm = Inf | PresSg3 | Past | PastPart | PresPart ;
|
||||
|
||||
oper
|
||||
N : Type = {s : Number => Str} ;
|
||||
|
||||
worstN : Str -> Str -> N = \sg,pl -> {
|
||||
s = table {Sg => sg ; Pl => pl}
|
||||
} ;
|
||||
|
||||
regN : Str -> N = \sg -> worstN sg (sg + "s") ;
|
||||
|
||||
-- smart paradigm
|
||||
smartN : Str -> N = \sg -> case sg of {
|
||||
_ + ("ay"|"ey"|"oy"|"uy") => regN sg ;
|
||||
x + "y" => worstN sg (x + "ies") ;
|
||||
_ + ("ch"|"sh"|"s"|"o") => worstN sg (sg + "es") ;
|
||||
_ => regN sg
|
||||
} ;
|
||||
|
||||
A : Type = {s : Str} ;
|
||||
|
||||
V : Type = {s : VForm => Str} ;
|
||||
|
||||
mkVerb : (inf,pres,past,pastpart,prespart : Str) -> V
|
||||
= \inf,pres,past,pastpart,prespart -> {
|
||||
s = table {
|
||||
Inf => inf ;
|
||||
PresSg3 => pres ;
|
||||
Past => past ;
|
||||
PastPart => pastpart ;
|
||||
PresPart => prespart
|
||||
}
|
||||
} ;
|
||||
|
||||
regV : (inf : Str) -> V = \inf ->
|
||||
mkVerb inf (inf + "s") (inf + "ed") (inf + "ed") (inf + "ing") ;
|
||||
|
||||
-- regular verbs with predictable variations
|
||||
smartV : Str -> V = \inf -> case inf of {
|
||||
pl + ("a"|"e"|"i"|"o"|"u") + "y" => regV inf ;
|
||||
cr + "y" => mkVerb inf (cr + "ies") (cr + "ied") (cr + "ied") (inf + "ing") ;
|
||||
lov + "e" => mkVerb inf (inf + "s") (lov + "ed") (lov + "ed") (lov + "ing") ;
|
||||
kis + ("s"|"sh"|"x"|"o") => mkVerb inf (inf + "es") (inf + "ed") (inf + "ed") (inf + "ing") ;
|
||||
_ => regV inf
|
||||
} ;
|
||||
|
||||
-- normal irregular verbs e.g. drink,drank,drunk
|
||||
irregV : (inf,past,pastpart : Str) -> V =
|
||||
\inf,past,pastpart ->
|
||||
let verb = smartV inf
|
||||
in mkVerb inf (verb.s ! PresSg3) past pastpart (verb.s ! PresPart) ;
|
||||
|
||||
-- two-place verb with "case" as preposition; for transitive verbs, c=[]
|
||||
V2 : Type = V ** {c : Str} ;
|
||||
|
||||
be_V : V = mkVerb "are" "is" "was" "been" "being" ; ---s to be generalized
|
||||
|
||||
|
||||
---s a very simplified verb agreement function for Micro
|
||||
agr2vform : Agreement -> VForm = \a -> case a of {
|
||||
Agr Sg => PresSg3 ;
|
||||
Agr Pl => Inf
|
||||
} ;
|
||||
|
||||
Pron : Type = {s : Case => Str ; n : Number} ;
|
||||
|
||||
mkPron : Str -> Str -> Number -> Pron = \nom,acc,n -> {s = table {Nom => nom ; Acc => acc} ; n = n} ;
|
||||
|
||||
selectVerb : V -> Number -> Str = \v,n -> case n of {
|
||||
Sg => v.s ! PresSg3 ;
|
||||
Pl => v.s ! Inf
|
||||
} ;
|
||||
|
||||
---------------------------
|
||||
-- Paradigms part ---------
|
||||
---------------------------
|
||||
|
||||
oper
|
||||
mkN = overload {
|
||||
mkN : Str -> N -- predictable noun, e.g. car-cars, boy-boys, fly-flies, bush-bushes
|
||||
= \n -> lin N (smartN n) ;
|
||||
mkN : Str -> Str -> N -- irregular noun, e.g. man-men
|
||||
= \sg,pl -> lin N (worstN sg pl) ;
|
||||
} ;
|
||||
|
||||
mkA : Str -> A
|
||||
= \s -> {s = s} ;
|
||||
|
||||
mkV = overload {
|
||||
mkV : (inf : Str) -> V -- predictable verb, e.g. play-plays, cry-cries, wash-washes
|
||||
= \s -> lin V (smartV s) ;
|
||||
mkV : (inf,pres,part : Str) -> V -- irregular verb, e.g. drink-drank-drunk
|
||||
= \inf,pres,part -> lin V (irregV inf pres part) ;
|
||||
} ;
|
||||
|
||||
mkV2 = overload {
|
||||
mkV2 : Str -> V2 -- predictable verb with direct object, e.g. "wash"
|
||||
= \s -> lin V2 (smartV s ** {c = []}) ;
|
||||
mkV2 : Str -> Str -> V2 -- predictable verb with preposition, e.g. "wait - for"
|
||||
= \s,p -> lin V2 (smartV s ** {c = p}) ;
|
||||
mkV2 : V -> V2 -- any verb with direct object, e.g. "drink"
|
||||
= \v -> lin V2 (v ** {c = []}) ;
|
||||
mkV2 : V -> Str -> V2 -- any verb with preposition
|
||||
= \v,p -> lin V2 (v ** {c = p}) ;
|
||||
} ;
|
||||
|
||||
-- mkAdv : Str -> Adv
|
||||
-- = \s -> lin Adv {s = s} ;
|
||||
|
||||
-- mkPrep : Str -> Prep
|
||||
-- = \s -> lin Prep {s = s} ;
|
||||
|
||||
|
||||
}
|
||||
BIN
old-labs/lab2/grammar/myproject/MicroResEng.gfo
Normal file
BIN
old-labs/lab2/grammar/myproject/MicroResEng.gfo
Normal file
Binary file not shown.
36
old-labs/lab2/grammar/myproject/MicroResSwe.gf
Normal file
36
old-labs/lab2/grammar/myproject/MicroResSwe.gf
Normal file
@@ -0,0 +1,36 @@
|
||||
resource MicroResSwe = open Prelude in {
|
||||
|
||||
param
|
||||
Number = Sg | Pl ;
|
||||
Species = Indef | Def ;
|
||||
Gender = Utr | Neutr ;
|
||||
|
||||
oper
|
||||
N : Type = {s : Number => Species => Str ; g : Gender} ;
|
||||
|
||||
worstN : Str -> Str -> Str -> Str -> Gender -> N
|
||||
= \man,mannen,män,männen,g -> {
|
||||
s = table {
|
||||
Sg => table {Indef => man ; Def => mannen} ;
|
||||
Pl => table {Indef => män ; Def => männen}
|
||||
} ;
|
||||
g = g
|
||||
} ;
|
||||
-- https://en.wikipedia.org/wiki/Swedish_grammar
|
||||
|
||||
decl1 : Str -> N
|
||||
= \apa ->
|
||||
let ap = init apa in
|
||||
worstN apa (apa + "n") (ap + "or") (ap + "orna") Utr ;
|
||||
|
||||
decl2 : Str -> N
|
||||
= \bil -> case bil of {
|
||||
pojk + "e" => worstN bil (bil + "en") (pojk + "ar") (pojk + "arna") Utr ;
|
||||
_ => worstN bil (bil + "en") (bil + "ar") (bil + "arna") Utr
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
BIN
old-labs/lab2/grammar/myproject/MicroResSwe.gfo
Normal file
BIN
old-labs/lab2/grammar/myproject/MicroResSwe.gfo
Normal file
Binary file not shown.
8
old-labs/lab2/grammar/test.gfs
Normal file
8
old-labs/lab2/grammar/test.gfs
Normal file
@@ -0,0 +1,8 @@
|
||||
gt -cat=N | l -list
|
||||
gt -cat=A | l -list
|
||||
gt -cat=V | l -list
|
||||
gt -cat=V2 | l -list
|
||||
gt -cat=Pron | l -list
|
||||
gr -number=21 | l -treebank
|
||||
pg -missing
|
||||
|
||||
35
old-labs/lab2/intro/Intro.gf
Normal file
35
old-labs/lab2/intro/Intro.gf
Normal file
@@ -0,0 +1,35 @@
|
||||
abstract Intro = {
|
||||
|
||||
cat
|
||||
S ;
|
||||
NP ;
|
||||
VP ;
|
||||
CN ;
|
||||
Det ;
|
||||
Pron ;
|
||||
Subj ;
|
||||
N ;
|
||||
A ;
|
||||
V2 ;
|
||||
Adv ;
|
||||
|
||||
fun
|
||||
PredVP : NP -> VP -> S ;
|
||||
AdvS : S -> Adv -> S ;
|
||||
ComplV2 : V2 -> NP -> VP ;
|
||||
DetCN : Det -> CN -> NP ;
|
||||
UsePron : Pron -> NP ;
|
||||
AdjCN : A -> CN -> CN ;
|
||||
UseN : N -> CN ;
|
||||
SubjS : Subj -> S -> Adv ;
|
||||
|
||||
the_Det : Det ;
|
||||
we_Pron : Pron ;
|
||||
because_Subj : Subj ;
|
||||
|
||||
cat_N : N ;
|
||||
black_A : A ;
|
||||
see_V2 : V2 ;
|
||||
now_Adv : Adv ;
|
||||
|
||||
}
|
||||
39
old-labs/lab2/intro/IntroEng.gf
Normal file
39
old-labs/lab2/intro/IntroEng.gf
Normal file
@@ -0,0 +1,39 @@
|
||||
concrete IntroEng of Intro = {
|
||||
|
||||
lincat
|
||||
S = Str ;
|
||||
NP = {s : Case => Str ; a : Agr} ;
|
||||
VP = Agr => Str ;
|
||||
CN = Str ;
|
||||
Det = Str ;
|
||||
Pron = {s : Case => Str ; a : Agr} ;
|
||||
Subj = Str ;
|
||||
N = Str ;
|
||||
A = Str ;
|
||||
V2 = Agr => Str ;
|
||||
Adv = Str ;
|
||||
|
||||
lin
|
||||
PredVP np vp = np.s ! Nom ++ vp ! np.a ;
|
||||
AdvS s adv = s ++ adv ;
|
||||
ComplV2 v2 np = table {a => v2 ! a ++ np.s ! Acc} ;
|
||||
DetCN det cn = {s = table {_ => det ++ cn} ; a = SgP3} ;
|
||||
UsePron pron = pron ;
|
||||
AdjCN a cn = a ++ cn ;
|
||||
UseN n = n ;
|
||||
SubjS subj s = subj ++ s ;
|
||||
|
||||
the_Det = "the" ;
|
||||
we_Pron = {s = table {Nom => "we" ; Acc => "us"} ; a = Other} ;
|
||||
because_Subj = "because" ;
|
||||
|
||||
cat_N = "cat" ;
|
||||
black_A = "black" ;
|
||||
see_V2 = table {SgP3 => "sees" ; Other => "see"} ;
|
||||
now_Adv = "now" ;
|
||||
|
||||
param
|
||||
Case = Nom | Acc ;
|
||||
Agr = SgP3 | Other ;
|
||||
|
||||
}
|
||||
43
old-labs/lab2/intro/IntroFre.gf
Normal file
43
old-labs/lab2/intro/IntroFre.gf
Normal file
@@ -0,0 +1,43 @@
|
||||
concrete IntroFre of Intro = {
|
||||
|
||||
lincat
|
||||
S = Str ;
|
||||
NP = {s : Case => Str ; a : Agr ; t : NPType} ;
|
||||
VP = Agr => Str ;
|
||||
CN = Str ;
|
||||
Det = Str ;
|
||||
Pron = {s : Case => Str ; a : Agr} ;
|
||||
Subj = Str ;
|
||||
N = Str ;
|
||||
A = Str ;
|
||||
V2 = Agr => Str ;
|
||||
Adv = Str ;
|
||||
|
||||
lin
|
||||
PredVP np vp = np.s ! Nom ++ vp ! np.a ;
|
||||
AdvS s adv = s ++ adv ;
|
||||
ComplV2 v2 np = case np.t of {
|
||||
NPPron => table {a => np.s ! Acc ++ v2 ! a} ;
|
||||
NPOther => table {a => v2 ! a ++ np.s ! Acc}
|
||||
} ;
|
||||
DetCN det cn = {s = table {_ => det ++ cn} ; a = SgP3 ; t = NPOther} ;
|
||||
UsePron pron = pron ** {t = NPPron} ;
|
||||
AdjCN a cn = cn ++ a ;
|
||||
UseN n = n ;
|
||||
SubjS subj s = subj ++ s ;
|
||||
|
||||
the_Det = "le" ;
|
||||
we_Pron = {s = table {Nom => "nous" ; Acc => "nous"} ; a = Other} ;
|
||||
because_Subj = "parce que" ;
|
||||
|
||||
cat_N = "chat" ;
|
||||
black_A = "noir" ;
|
||||
see_V2 = table {SgP3 => "voit" ; Other => "voyons"} ;
|
||||
now_Adv = "maintenant" ;
|
||||
|
||||
param
|
||||
Case = Nom | Acc ;
|
||||
Agr = SgP3 | Other ;
|
||||
NPType = NPPron | NPOther ;
|
||||
|
||||
}
|
||||
37
old-labs/lab2/intro/english.cf
Normal file
37
old-labs/lab2/intro/english.cf
Normal file
@@ -0,0 +1,37 @@
|
||||
-- a tiny context-free grammar for English
|
||||
-- subcategories with _ in them are an unscalable hack
|
||||
|
||||
-- combination rules
|
||||
|
||||
S ::= NP_subj_3 VP_3 | NP_subj VP | S Adv ;
|
||||
|
||||
VP ::= V2 NP_obj ;
|
||||
VP_3 ::= V2_3 NP_obj ;
|
||||
|
||||
NP_subj_3 ::= Det CN | Pron_subj_3 ;
|
||||
NP_subj ::= Pron_subj ;
|
||||
NP_obj ::= Det CN | Pron_obj ;
|
||||
|
||||
CN ::= A N ;
|
||||
|
||||
Adv ::= Subj S ;
|
||||
|
||||
-- structural words
|
||||
|
||||
Det ::= "the" ;
|
||||
|
||||
Pron_subj ::= "we" ;
|
||||
Pron_obj ::= "us" ;
|
||||
|
||||
Subj ::= "because" ;
|
||||
|
||||
-- content words
|
||||
|
||||
N ::= "cat" ;
|
||||
A ::= "black" ;
|
||||
V2_3 ::= "sees" ;
|
||||
V2 ::= "see" ;
|
||||
Adv ::= "now" ;
|
||||
|
||||
|
||||
|
||||
16
old-labs/lab2/wikipedia-2022/Countries.gf
Normal file
16
old-labs/lab2/wikipedia-2022/Countries.gf
Normal file
@@ -0,0 +1,16 @@
|
||||
abstract Countries = Facts, CountryNames ** {
|
||||
fun
|
||||
-- using CNames
|
||||
cName : CName -> Name ;
|
||||
|
||||
-- basic properties
|
||||
capital_Attribute : Attribute ;
|
||||
area_Attribute : Attribute ;
|
||||
population_Attribute : Attribute ;
|
||||
continent_Attribute : Attribute ;
|
||||
currency_Attribute : Attribute ;
|
||||
|
||||
-- specialized expressions for properties
|
||||
populationFact : CName -> Int -> Fact ;
|
||||
continentFact : CName -> CName -> Fact ;
|
||||
}
|
||||
20
old-labs/lab2/wikipedia-2022/CountriesEng.gf
Normal file
20
old-labs/lab2/wikipedia-2022/CountriesEng.gf
Normal file
@@ -0,0 +1,20 @@
|
||||
concrete CountriesEng of Countries = FactsEng, CountryNamesEng **
|
||||
|
||||
open SyntaxEng, ParadigmsEng, SymbolicEng in {
|
||||
|
||||
lin
|
||||
cName name = name ;
|
||||
|
||||
capital_Attribute = mkAttribute "capital" ;
|
||||
area_Attribute = mkAttribute "area" ;
|
||||
population_Attribute = mkAttribute "population" ;
|
||||
continent_Attribute = mkAttribute "continent" ;
|
||||
currency_Attribute = mkAttribute "currency" ;
|
||||
|
||||
populationFact cname int = mkCl cname have_V2 (mkNP <symb int : Card> (mkN "inhabitant")) ;
|
||||
continentFact cname name = mkCl cname (SyntaxEng.mkAdv in_Prep name) ;
|
||||
|
||||
oper
|
||||
mkAttribute : Str -> CN = \s -> mkCN (mkN s) ;
|
||||
|
||||
}
|
||||
26
old-labs/lab2/wikipedia-2022/CountriesFin.gf
Normal file
26
old-labs/lab2/wikipedia-2022/CountriesFin.gf
Normal file
@@ -0,0 +1,26 @@
|
||||
concrete CountriesFin of Countries = FactsFin, CountryNamesFin **
|
||||
|
||||
open SyntaxFin, ParadigmsFin, SymbolicFin, Prelude
|
||||
|
||||
in {
|
||||
|
||||
lin
|
||||
cName name = name.np ;
|
||||
|
||||
capital_Attribute = mkAttribute "pääkaupunki" ;
|
||||
area_Attribute = mkAttribute "pinta-ala" ;
|
||||
population_Attribute = mkAttribute "asukasluku" ;
|
||||
continent_Attribute = mkAttribute "maanosa" ;
|
||||
currency_Attribute = mkAttribute "valuutta" ;
|
||||
|
||||
populationFact cname int = mkCl cname.np (mkV2 (caseV (locCase cname) have_V2)) (mkNP <symb int : Card> (mkN "asukas")) ;
|
||||
continentFact cname name = mkCl cname.np (SyntaxFin.mkAdv (casePrep (locCase name)) name.np) ;
|
||||
|
||||
oper
|
||||
mkAttribute : Str -> CN = \s -> mkCN (mkN s) ;
|
||||
|
||||
locCase : LocName -> Case = \name -> case name.isIn of {
|
||||
True => inessive ;
|
||||
False => adessive
|
||||
} ;
|
||||
}
|
||||
20
old-labs/lab2/wikipedia-2022/CountriesGer.gf
Normal file
20
old-labs/lab2/wikipedia-2022/CountriesGer.gf
Normal file
@@ -0,0 +1,20 @@
|
||||
concrete CountriesGer of Countries = FactsGer, CountryNamesGer **
|
||||
|
||||
open SyntaxGer, ParadigmsGer, SymbolicGer in {
|
||||
|
||||
lin
|
||||
cName name = name ;
|
||||
|
||||
capital_Attribute = mkAttribute (mkN "Hauptstadt" "Hauptstädte" feminine) ;
|
||||
area_Attribute = mkAttribute (mkN "Fläche") ;
|
||||
population_Attribute = mkAttribute (mkN "Einwohnerzahl" feminine) ;
|
||||
continent_Attribute = mkAttribute (mkN "Kontinent" "Kontinente" masculine) ;
|
||||
currency_Attribute = mkAttribute (mkN "Währung") ;
|
||||
|
||||
populationFact cname int = mkCl cname have_V2 (mkNP <symb int : Card> (mkN "Einwohner")) ;
|
||||
continentFact cname name = mkCl cname (mkVP (mkVP (mkV "liegen")) (SyntaxGer.mkAdv in_Prep name)) ;
|
||||
|
||||
oper
|
||||
mkAttribute : N -> CN = \n -> mkCN n ;
|
||||
|
||||
}
|
||||
25
old-labs/lab2/wikipedia-2022/CountriesSwe.gf
Normal file
25
old-labs/lab2/wikipedia-2022/CountriesSwe.gf
Normal file
@@ -0,0 +1,25 @@
|
||||
concrete CountriesSwe of Countries = FactsSwe, CountryNamesSwe **
|
||||
|
||||
open SyntaxSwe, ParadigmsSwe, SymbolicSwe, (I=IrregSwe), Prelude in {
|
||||
|
||||
lin
|
||||
cName name = name.np ;
|
||||
|
||||
capital_Attribute = mkAttribute "huvudstad" ;
|
||||
area_Attribute = mkAttribute "yta" ;
|
||||
population_Attribute = mkAttribute "befolkning" ;
|
||||
continent_Attribute = mkAttribute "kontinent" ;
|
||||
currency_Attribute = mkAttribute "valuta" ;
|
||||
|
||||
populationFact cname int = mkCl cname.np have_V2 (mkNP <symb int : Card> (mkN "invånare" "invånare")) ;
|
||||
continentFact cname name = mkCl cname.np (mkVP (mkVP I.ligga_V) (SyntaxSwe.mkAdv (locPrep name) name.np)) ;
|
||||
|
||||
oper
|
||||
mkAttribute : Str -> CN = \s -> mkCN (mkN s) ; ----
|
||||
|
||||
locPrep : LocName -> Prep = \name -> case name.isIn of {
|
||||
True => in_Prep ;
|
||||
False => on_Prep
|
||||
} ;
|
||||
|
||||
}
|
||||
545
old-labs/lab2/wikipedia-2022/CountryNames.gf
Normal file
545
old-labs/lab2/wikipedia-2022/CountryNames.gf
Normal file
@@ -0,0 +1,545 @@
|
||||
abstract CountryNames = {
|
||||
|
||||
cat CName ;
|
||||
|
||||
-- generated
|
||||
fun Africa_CName : CName ;
|
||||
fun Asia_CName : CName ;
|
||||
fun Central_America_CName : CName ;
|
||||
fun Europe_CName : CName ;
|
||||
fun North_America_CName : CName ;
|
||||
fun South_America_CName : CName ;
|
||||
fun insular_Oceania_CName : CName ;
|
||||
|
||||
fun 'Guinea-Bissau_CName' : CName ;
|
||||
fun 'Nur-Sultan_CName' : CName ;
|
||||
fun 'Port-au-Prince_CName' : CName ;
|
||||
fun 'Porto-Novo_CName' : CName ;
|
||||
fun 'St._George\'s_CName' : CName ;
|
||||
fun 'Washington,_D.C._CName' : CName ;
|
||||
fun Abu_Dhabi_CName : CName ;
|
||||
fun Abuja_CName : CName ;
|
||||
fun Accra_CName : CName ;
|
||||
fun Addis_Ababa_CName : CName ;
|
||||
fun Afghan_afghani_CName : CName ;
|
||||
fun Afghanistan_CName : CName ;
|
||||
fun Albania_CName : CName ;
|
||||
fun Albanian_lek_CName : CName ;
|
||||
fun Algeria_CName : CName ;
|
||||
fun Algerian_dinar_CName : CName ;
|
||||
fun Algiers_CName : CName ;
|
||||
fun Amman_CName : CName ;
|
||||
fun Amsterdam_CName : CName ;
|
||||
fun Andorra_CName : CName ;
|
||||
fun Andorra_la_Vella_CName : CName ;
|
||||
fun Angola_CName : CName ;
|
||||
fun Ankara_CName : CName ;
|
||||
fun Antananarivo_CName : CName ;
|
||||
fun Antigua_and_Barbuda_CName : CName ;
|
||||
fun Apia_CName : CName ;
|
||||
fun Argentina_CName : CName ;
|
||||
fun Argentine_peso_CName : CName ;
|
||||
fun Armenia_CName : CName ;
|
||||
fun Armenian_dram_CName : CName ;
|
||||
fun Ashgabat_CName : CName ;
|
||||
fun Asmara_CName : CName ;
|
||||
fun Asunción_CName : CName ;
|
||||
fun Athens_CName : CName ;
|
||||
fun Australia_CName : CName ;
|
||||
fun Australian_dollar_CName : CName ;
|
||||
fun Austria_CName : CName ;
|
||||
fun Azerbaijan_CName : CName ;
|
||||
fun Azerbaijani_manat_CName : CName ;
|
||||
fun Baghdad_CName : CName ;
|
||||
fun Bahamian_dollar_CName : CName ;
|
||||
fun Bahrain_CName : CName ;
|
||||
fun Bahraini_dinar_CName : CName ;
|
||||
fun Baku_CName : CName ;
|
||||
fun Bamako_CName : CName ;
|
||||
fun Bandar_Seri_Begawan_CName : CName ;
|
||||
fun Bangkok_CName : CName ;
|
||||
fun Bangladesh_CName : CName ;
|
||||
fun Bangladeshi_taka_CName : CName ;
|
||||
fun Bangui_CName : CName ;
|
||||
fun Banjul_CName : CName ;
|
||||
fun Barbadian_dollar_CName : CName ;
|
||||
fun Barbados_CName : CName ;
|
||||
fun Basseterre_CName : CName ;
|
||||
fun Beijing_CName : CName ;
|
||||
fun Beirut_CName : CName ;
|
||||
fun Belarus_CName : CName ;
|
||||
fun Belarusian_ruble_CName : CName ;
|
||||
fun Belgium_CName : CName ;
|
||||
fun Belgrade_CName : CName ;
|
||||
fun Belize_CName : CName ;
|
||||
fun Belize_dollar_CName : CName ;
|
||||
fun Belmopan_CName : CName ;
|
||||
fun Benin_CName : CName ;
|
||||
fun Berlin_CName : CName ;
|
||||
fun Bern_CName : CName ;
|
||||
fun Bhutan_CName : CName ;
|
||||
fun Bishkek_CName : CName ;
|
||||
fun Bissau_CName : CName ;
|
||||
fun Bogotá_CName : CName ;
|
||||
fun Bolivia_CName : CName ;
|
||||
fun Bosnia_and_Herzegovina_CName : CName ;
|
||||
fun Botswana_CName : CName ;
|
||||
fun Botswana_pula_CName : CName ;
|
||||
fun Brasília_CName : CName ;
|
||||
fun Bratislava_CName : CName ;
|
||||
fun Brazil_CName : CName ;
|
||||
fun Brazilian_real_CName : CName ;
|
||||
fun Brazzaville_CName : CName ;
|
||||
fun Bridgetown_CName : CName ;
|
||||
fun Brunei_CName : CName ;
|
||||
fun Brunei_dollar_CName : CName ;
|
||||
fun Bucharest_CName : CName ;
|
||||
fun Budapest_CName : CName ;
|
||||
fun Buenos_Aires_CName : CName ;
|
||||
fun Bulgaria_CName : CName ;
|
||||
fun Bulgarian_lev_CName : CName ;
|
||||
fun Burkina_Faso_CName : CName ;
|
||||
fun Burundi_CName : CName ;
|
||||
fun Burundian_franc_CName : CName ;
|
||||
fun Cairo_CName : CName ;
|
||||
fun Cambodia_CName : CName ;
|
||||
fun Cameroon_CName : CName ;
|
||||
fun Canada_CName : CName ;
|
||||
fun Canadian_dollar_CName : CName ;
|
||||
fun Canberra_CName : CName ;
|
||||
fun Cape_Verde_CName : CName ;
|
||||
fun Cape_Verdean_escudo_CName : CName ;
|
||||
fun Caracas_CName : CName ;
|
||||
fun Castries_CName : CName ;
|
||||
fun Central_African_CFA_franc_CName : CName ;
|
||||
fun Central_African_Republic_CName : CName ;
|
||||
fun Chad_CName : CName ;
|
||||
fun Chile_CName : CName ;
|
||||
fun Chilean_peso_CName : CName ;
|
||||
fun 'Chișinău_CName' : CName ;
|
||||
fun City_of_Brussels_CName : CName ;
|
||||
fun Colombia_CName : CName ;
|
||||
fun Colombian_cincuenta_centavos_CName : CName ;
|
||||
fun Colombo_CName : CName ;
|
||||
fun Comorian_franc_CName : CName ;
|
||||
fun Comoros_CName : CName ;
|
||||
fun Conakry_CName : CName ;
|
||||
fun Congolese_franc_CName : CName ;
|
||||
fun Copenhagen_CName : CName ;
|
||||
fun Costa_Rica_CName : CName ;
|
||||
fun Costa_Rican_colón_CName : CName ;
|
||||
fun Croatia_CName : CName ;
|
||||
fun Croatian_kuna_CName : CName ;
|
||||
fun Cuba_CName : CName ;
|
||||
fun Cuban_peso_CName : CName ;
|
||||
fun Cyprus_CName : CName ;
|
||||
fun Czech_Republic_CName : CName ;
|
||||
fun Czech_koruna_CName : CName ;
|
||||
fun Dakar_CName : CName ;
|
||||
fun Damascus_CName : CName ;
|
||||
fun Danish_krone_CName : CName ;
|
||||
fun Democratic_Republic_of_the_Congo_CName : CName ;
|
||||
fun Denmark_CName : CName ;
|
||||
fun Dhaka_CName : CName ;
|
||||
fun Dili_CName : CName ;
|
||||
fun Djibouti_CName : CName ;
|
||||
fun Djiboutian_franc_CName : CName ;
|
||||
fun Dodoma_CName : CName ;
|
||||
fun Doha_CName : CName ;
|
||||
fun Dominica_CName : CName ;
|
||||
fun Dominican_Republic_CName : CName ;
|
||||
fun Dominican_peso_CName : CName ;
|
||||
fun Dublin_CName : CName ;
|
||||
fun Dushanbe_CName : CName ;
|
||||
fun East_Timor_CName : CName ;
|
||||
fun East_Timor_centavo_coins_CName : CName ;
|
||||
fun Eastern_Caribbean_dollar_CName : CName ;
|
||||
fun Ecuador_CName : CName ;
|
||||
fun Egypt_CName : CName ;
|
||||
fun Egyptian_pound_CName : CName ;
|
||||
fun El_Salvador_CName : CName ;
|
||||
fun Equatorial_Guinea_CName : CName ;
|
||||
fun Eritrea_CName : CName ;
|
||||
fun Estonia_CName : CName ;
|
||||
fun Eswatini_CName : CName ;
|
||||
fun Ethiopia_CName : CName ;
|
||||
fun Federated_States_of_Micronesia_CName : CName ;
|
||||
fun Fiji_CName : CName ;
|
||||
fun Fijian_dollar_CName : CName ;
|
||||
fun Finland_CName : CName ;
|
||||
fun France_CName : CName ;
|
||||
fun Freetown_CName : CName ;
|
||||
fun Funafuti_CName : CName ;
|
||||
fun Gabon_CName : CName ;
|
||||
fun Gaborone_CName : CName ;
|
||||
fun Georgetown_CName : CName ;
|
||||
fun Georgia_CName : CName ;
|
||||
fun Georgian_lari_CName : CName ;
|
||||
fun Germany_CName : CName ;
|
||||
fun Ghana_CName : CName ;
|
||||
fun Ghana_cedi_CName : CName ;
|
||||
fun Gitega_CName : CName ;
|
||||
fun Greece_CName : CName ;
|
||||
fun Grenada_CName : CName ;
|
||||
fun Guatemala_CName : CName ;
|
||||
fun Guatemala_City_CName : CName ;
|
||||
fun Guinea_CName : CName ;
|
||||
fun Guinean_franc_CName : CName ;
|
||||
fun Guyana_CName : CName ;
|
||||
fun Guyanese_dollar_CName : CName ;
|
||||
fun Haiti_CName : CName ;
|
||||
fun Hanoi_CName : CName ;
|
||||
fun Harare_CName : CName ;
|
||||
fun Havana_CName : CName ;
|
||||
fun Helsinki_CName : CName ;
|
||||
fun Honduran_lempira_CName : CName ;
|
||||
fun Honduras_CName : CName ;
|
||||
fun Honiara_CName : CName ;
|
||||
fun Hungary_CName : CName ;
|
||||
fun Iceland_CName : CName ;
|
||||
fun Icelandic_króna_CName : CName ;
|
||||
fun India_CName : CName ;
|
||||
fun Indian_rupee_CName : CName ;
|
||||
fun Indonesia_CName : CName ;
|
||||
fun Iran_CName : CName ;
|
||||
fun Iranian_rial_CName : CName ;
|
||||
fun Iraq_CName : CName ;
|
||||
fun Iraqi_dinar_CName : CName ;
|
||||
fun Ireland_CName : CName ;
|
||||
fun Islamabad_CName : CName ;
|
||||
fun Israel_CName : CName ;
|
||||
fun Italy_CName : CName ;
|
||||
fun Ivory_Coast_CName : CName ;
|
||||
fun Jakarta_CName : CName ;
|
||||
fun Jamaica_CName : CName ;
|
||||
fun Jamaican_dollar_CName : CName ;
|
||||
fun Japan_CName : CName ;
|
||||
fun Japanese_yen_CName : CName ;
|
||||
fun Jerusalem_CName : CName ;
|
||||
fun Jordan_CName : CName ;
|
||||
fun Jordanian_dinar_CName : CName ;
|
||||
fun Juba_CName : CName ;
|
||||
fun Kabul_CName : CName ;
|
||||
fun Kampala_CName : CName ;
|
||||
fun Kathmandu_CName : CName ;
|
||||
fun Kazakhstan_CName : CName ;
|
||||
fun Kazakhstani_tenge_CName : CName ;
|
||||
fun Kenya_CName : CName ;
|
||||
fun Kenyan_shilling_CName : CName ;
|
||||
fun Khartoum_CName : CName ;
|
||||
fun Kigali_CName : CName ;
|
||||
fun Kingdom_of_the_Netherlands_CName : CName ;
|
||||
fun Kingston_CName : CName ;
|
||||
fun Kingstown_CName : CName ;
|
||||
fun Kinshasa_CName : CName ;
|
||||
fun Kiribati_CName : CName ;
|
||||
fun Kiribati_dollar_CName : CName ;
|
||||
fun Kuala_Lumpur_CName : CName ;
|
||||
fun Kuwait_CName : CName ;
|
||||
fun Kuwait_City_CName : CName ;
|
||||
fun Kuwaiti_dinar_CName : CName ;
|
||||
fun Kyiv_CName : CName ;
|
||||
fun Kyrgyzstan_CName : CName ;
|
||||
fun Kyrgyzstani_som_CName : CName ;
|
||||
fun La_Paz_CName : CName ;
|
||||
fun Lao_kip_CName : CName ;
|
||||
fun Laos_CName : CName ;
|
||||
fun Latvia_CName : CName ;
|
||||
fun Lebanese_pound_CName : CName ;
|
||||
fun Lebanon_CName : CName ;
|
||||
fun Lesotho_CName : CName ;
|
||||
fun Lesotho_loti_CName : CName ;
|
||||
fun Liberia_CName : CName ;
|
||||
fun Liberian_dollar_CName : CName ;
|
||||
fun Libreville_CName : CName ;
|
||||
fun Libya_CName : CName ;
|
||||
fun Libyan_dinar_CName : CName ;
|
||||
fun Liechtenstein_CName : CName ;
|
||||
fun Lilongwe_CName : CName ;
|
||||
fun Lima_CName : CName ;
|
||||
fun Lisbon_CName : CName ;
|
||||
fun Lithuania_CName : CName ;
|
||||
fun Ljubljana_CName : CName ;
|
||||
fun Lobamba_CName : CName ;
|
||||
fun Lomé_CName : CName ;
|
||||
fun London_CName : CName ;
|
||||
fun Luanda_CName : CName ;
|
||||
fun Lusaka_CName : CName ;
|
||||
fun Luxembourg_CName : CName ;
|
||||
fun Madagascar_CName : CName ;
|
||||
fun Madrid_CName : CName ;
|
||||
fun Majuro_CName : CName ;
|
||||
fun Malabo_CName : CName ;
|
||||
fun Malawi_CName : CName ;
|
||||
fun Malawian_kwacha_CName : CName ;
|
||||
fun Malaysia_CName : CName ;
|
||||
fun Malaysian_ringgit_CName : CName ;
|
||||
fun Maldives_CName : CName ;
|
||||
fun Maldivian_rufiyaa_CName : CName ;
|
||||
fun Mali_CName : CName ;
|
||||
fun Malta_CName : CName ;
|
||||
fun Malé_CName : CName ;
|
||||
fun Managua_CName : CName ;
|
||||
fun Manama_CName : CName ;
|
||||
fun Manila_CName : CName ;
|
||||
fun Maputo_CName : CName ;
|
||||
fun Marshall_Islands_CName : CName ;
|
||||
fun Maseru_CName : CName ;
|
||||
fun Mauritania_CName : CName ;
|
||||
fun Mauritanian_ouguiya_CName : CName ;
|
||||
fun Mauritian_rupee_CName : CName ;
|
||||
fun Mauritius_CName : CName ;
|
||||
fun Mexican_peso_CName : CName ;
|
||||
fun Mexico_CName : CName ;
|
||||
fun Mexico_City_CName : CName ;
|
||||
fun Minsk_CName : CName ;
|
||||
fun Mogadishu_CName : CName ;
|
||||
fun Moldova_CName : CName ;
|
||||
fun Moldovan_leu_CName : CName ;
|
||||
fun Monaco_CName : CName ;
|
||||
fun Monaco_City_CName : CName ;
|
||||
fun Mongolia_CName : CName ;
|
||||
fun Monrovia_CName : CName ;
|
||||
fun Montenegro_CName : CName ;
|
||||
fun Montevideo_CName : CName ;
|
||||
fun Moroccan_dirham_CName : CName ;
|
||||
fun Morocco_CName : CName ;
|
||||
fun Moroni_CName : CName ;
|
||||
fun Moscow_CName : CName ;
|
||||
fun Mozambican_metical_CName : CName ;
|
||||
fun Mozambique_CName : CName ;
|
||||
fun Muscat_CName : CName ;
|
||||
fun Myanmar_CName : CName ;
|
||||
fun N'Djamena_CName : CName ;
|
||||
fun Nairobi_CName : CName ;
|
||||
fun Namibia_CName : CName ;
|
||||
fun Namibian_dollar_CName : CName ;
|
||||
fun Nassau_CName : CName ;
|
||||
fun Nauru_CName : CName ;
|
||||
fun Naypyidaw_CName : CName ;
|
||||
fun Nepal_CName : CName ;
|
||||
fun Nepalese_rupee_CName : CName ;
|
||||
fun New_Delhi_CName : CName ;
|
||||
fun New_Taiwan_dollar_CName : CName ;
|
||||
fun New_Zealand_CName : CName ;
|
||||
fun New_Zealand_dollar_CName : CName ;
|
||||
fun Ngerulmud_CName : CName ;
|
||||
fun Niamey_CName : CName ;
|
||||
fun Nicaragua_CName : CName ;
|
||||
fun Nicaraguan_córdoba_CName : CName ;
|
||||
fun Nicosia_CName : CName ;
|
||||
fun Niger_CName : CName ;
|
||||
fun Nigeria_CName : CName ;
|
||||
fun Nigerian_naira_CName : CName ;
|
||||
fun North_Korea_CName : CName ;
|
||||
fun North_Korean_won_CName : CName ;
|
||||
fun North_Macedonia_CName : CName ;
|
||||
fun Norway_CName : CName ;
|
||||
fun Norwegian_krone_CName : CName ;
|
||||
fun Nouakchott_CName : CName ;
|
||||
fun Nuku'alofa_CName : CName ;
|
||||
fun Oman_CName : CName ;
|
||||
fun Omani_rial_CName : CName ;
|
||||
fun Oslo_CName : CName ;
|
||||
fun Ottawa_CName : CName ;
|
||||
fun Ouagadougou_CName : CName ;
|
||||
fun Pakistan_CName : CName ;
|
||||
fun Pakistani_rupee_CName : CName ;
|
||||
fun Palau_CName : CName ;
|
||||
fun Palikir_CName : CName ;
|
||||
fun Panama_CName : CName ;
|
||||
fun Panama_City_CName : CName ;
|
||||
fun Panamanian_balboa_CName : CName ;
|
||||
fun Papua_New_Guinea_CName : CName ;
|
||||
fun Paraguay_CName : CName ;
|
||||
fun Paraguayan_guaraní_CName : CName ;
|
||||
fun Paramaribo_CName : CName ;
|
||||
fun Paris_CName : CName ;
|
||||
fun People's_Republic_of_China_CName : CName ;
|
||||
fun Peru_CName : CName ;
|
||||
fun Peruvian_sol_CName : CName ;
|
||||
fun Philippine_peso_CName : CName ;
|
||||
fun Philippines_CName : CName ;
|
||||
fun Phnom_Penh_CName : CName ;
|
||||
fun Podgorica_CName : CName ;
|
||||
fun Poland_CName : CName ;
|
||||
fun Port_Louis_CName : CName ;
|
||||
fun Port_Moresby_CName : CName ;
|
||||
fun Port_Vila_CName : CName ;
|
||||
fun Port_of_Spain_CName : CName ;
|
||||
fun Portugal_CName : CName ;
|
||||
fun Prague_CName : CName ;
|
||||
fun Praia_CName : CName ;
|
||||
fun Pretoria_CName : CName ;
|
||||
fun Pyongyang_CName : CName ;
|
||||
fun Qatar_CName : CName ;
|
||||
fun Qatari_riyal_CName : CName ;
|
||||
fun Quito_CName : CName ;
|
||||
fun Rabat_CName : CName ;
|
||||
fun Republic_of_the_Congo_CName : CName ;
|
||||
fun Reykjavík_CName : CName ;
|
||||
fun Riga_CName : CName ;
|
||||
fun Riyadh_CName : CName ;
|
||||
fun Romania_CName : CName ;
|
||||
fun Romanian_leu_CName : CName ;
|
||||
fun Rome_CName : CName ;
|
||||
fun Roseau_CName : CName ;
|
||||
fun Russia_CName : CName ;
|
||||
fun Russian_ruble_CName : CName ;
|
||||
fun Rwanda_CName : CName ;
|
||||
fun Rwandan_franc_CName : CName ;
|
||||
fun Saint_John's_CName : CName ;
|
||||
fun Saint_Kitts_and_Nevis_CName : CName ;
|
||||
fun Saint_Lucia_CName : CName ;
|
||||
fun Saint_Vincent_and_the_Grenadines_CName : CName ;
|
||||
fun Samoa_CName : CName ;
|
||||
fun 'Samoan_tālā_CName' : CName ;
|
||||
fun San_José_CName : CName ;
|
||||
fun San_Marino_CName : CName ;
|
||||
fun San_Salvador_CName : CName ;
|
||||
fun Sanaa_CName : CName ;
|
||||
fun Santiago_CName : CName ;
|
||||
fun Santo_Domingo_CName : CName ;
|
||||
fun Sarajevo_CName : CName ;
|
||||
fun Saudi_Arabia_CName : CName ;
|
||||
fun Saudi_riyal_CName : CName ;
|
||||
fun Senegal_CName : CName ;
|
||||
fun Seoul_CName : CName ;
|
||||
fun Serbia_CName : CName ;
|
||||
fun Serbian_dinar_CName : CName ;
|
||||
fun Seychelles_CName : CName ;
|
||||
fun Seychellois_rupee_CName : CName ;
|
||||
fun Sierra_Leone_CName : CName ;
|
||||
fun Sierra_Leonean_leone_CName : CName ;
|
||||
fun Singapore_CName : CName ;
|
||||
fun Singapore_dollar_CName : CName ;
|
||||
fun Skopje_CName : CName ;
|
||||
fun Slovakia_CName : CName ;
|
||||
fun Slovenia_CName : CName ;
|
||||
fun Sofia_CName : CName ;
|
||||
fun Solomon_Islands_CName : CName ;
|
||||
fun Solomon_Islands_dollar_CName : CName ;
|
||||
fun Somali_shilling_CName : CName ;
|
||||
fun Somalia_CName : CName ;
|
||||
fun South_Africa_CName : CName ;
|
||||
fun South_African_rand_CName : CName ;
|
||||
fun South_Korea_CName : CName ;
|
||||
fun South_Korean_won_CName : CName ;
|
||||
fun South_Sudan_CName : CName ;
|
||||
fun South_Sudanese_pound_CName : CName ;
|
||||
fun South_Tarawa_CName : CName ;
|
||||
fun Sovereign_Bolivar_CName : CName ;
|
||||
fun Spain_CName : CName ;
|
||||
fun Sri_Lanka_CName : CName ;
|
||||
fun Sri_Lankan_rupee_CName : CName ;
|
||||
fun Stockholm_CName : CName ;
|
||||
fun Sudan_CName : CName ;
|
||||
fun Sudanese_pound_CName : CName ;
|
||||
fun Suriname_CName : CName ;
|
||||
fun Surinamese_dollar_CName : CName ;
|
||||
fun Suva_CName : CName ;
|
||||
fun Sweden_CName : CName ;
|
||||
fun Swedish_krona_CName : CName ;
|
||||
fun Swiss_franc_CName : CName ;
|
||||
fun Switzerland_CName : CName ;
|
||||
fun Syria_CName : CName ;
|
||||
fun Syrian_pound_CName : CName ;
|
||||
fun São_Tomé_CName : CName ;
|
||||
fun São_Tomé_and_Príncipe_CName : CName ;
|
||||
fun São_Tomé_and_Príncipe_dobra_CName : CName ;
|
||||
fun Taipei_CName : CName ;
|
||||
fun Taiwan_CName : CName ;
|
||||
fun Tajikistan_CName : CName ;
|
||||
fun Tajikistani_somoni_CName : CName ;
|
||||
fun Tallinn_CName : CName ;
|
||||
fun Tanzania_CName : CName ;
|
||||
fun Tanzanian_shilling_CName : CName ;
|
||||
fun Tashkent_CName : CName ;
|
||||
fun Tbilisi_CName : CName ;
|
||||
fun Tegucigalpa_CName : CName ;
|
||||
fun Tehran_CName : CName ;
|
||||
fun Thailand_CName : CName ;
|
||||
fun The_Bahamas_CName : CName ;
|
||||
fun The_Gambia_CName : CName ;
|
||||
fun Thimphu_CName : CName ;
|
||||
fun Tirana_CName : CName ;
|
||||
fun Togo_CName : CName ;
|
||||
fun Tokyo_CName : CName ;
|
||||
fun Tonga_CName : CName ;
|
||||
fun 'Tongan_paʻanga_CName' : CName ;
|
||||
fun Trinidad_and_Tobago_CName : CName ;
|
||||
fun Trinidad_and_Tobago_dollar_CName : CName ;
|
||||
fun Tripoli_CName : CName ;
|
||||
fun Tunis_CName : CName ;
|
||||
fun Tunisia_CName : CName ;
|
||||
fun Tunisian_dinar_CName : CName ;
|
||||
fun Turkey_CName : CName ;
|
||||
fun Turkish_lira_CName : CName ;
|
||||
fun Turkmenistan_CName : CName ;
|
||||
fun Turkmenistan_manat_CName : CName ;
|
||||
fun Tuvalu_CName : CName ;
|
||||
fun Tuvaluan_dollar_CName : CName ;
|
||||
fun Uganda_CName : CName ;
|
||||
fun Ugandan_shilling_CName : CName ;
|
||||
fun Ukraine_CName : CName ;
|
||||
fun Ulaanbaatar_CName : CName ;
|
||||
fun United_Arab_Emirates_CName : CName ;
|
||||
fun United_Arab_Emirates_dirham_CName : CName ;
|
||||
fun United_Kingdom_CName : CName ;
|
||||
fun United_States_dollar_CName : CName ;
|
||||
fun United_States_of_America_CName : CName ;
|
||||
fun Uruguay_CName : CName ;
|
||||
fun Uruguayan_peso_CName : CName ;
|
||||
fun Uzbekistan_CName : CName ;
|
||||
fun Uzbekistani_som_CName : CName ;
|
||||
fun Vaduz_CName : CName ;
|
||||
fun Valletta_CName : CName ;
|
||||
fun Vanuatu_CName : CName ;
|
||||
fun Vanuatu_vatus_CName : CName ;
|
||||
fun Venezuela_CName : CName ;
|
||||
fun Victoria_CName : CName ;
|
||||
fun Vienna_CName : CName ;
|
||||
fun Vientiane_CName : CName ;
|
||||
fun Vietnam_CName : CName ;
|
||||
fun Vietnamese_dong_CName : CName ;
|
||||
fun Vilnius_CName : CName ;
|
||||
fun Warsaw_CName : CName ;
|
||||
fun Wellington_CName : CName ;
|
||||
fun West_African_CFA_franc_CName : CName ;
|
||||
fun Windhoek_CName : CName ;
|
||||
fun Yamoussoukro_CName : CName ;
|
||||
fun Yaoundé_CName : CName ;
|
||||
fun Yaren_District_CName : CName ;
|
||||
fun Yemen_CName : CName ;
|
||||
fun Yemeni_rial_CName : CName ;
|
||||
fun Yerevan_CName : CName ;
|
||||
fun Zagreb_CName : CName ;
|
||||
fun Zambia_CName : CName ;
|
||||
fun Zambian_kwacha_CName : CName ;
|
||||
fun Zimbabwe_CName : CName ;
|
||||
fun ariary_CName : CName ;
|
||||
fun baht_CName : CName ;
|
||||
fun birr_CName : CName ;
|
||||
fun boliviano_CName : CName ;
|
||||
fun convertible_mark_CName : CName ;
|
||||
fun dalasi_CName : CName ;
|
||||
fun denar_CName : CName ;
|
||||
fun euro_CName : CName ;
|
||||
fun forint_CName : CName ;
|
||||
fun gourde_CName : CName ;
|
||||
fun hryvnia_CName : CName ;
|
||||
fun kina_CName : CName ;
|
||||
fun kwanza_CName : CName ;
|
||||
fun kyat_CName : CName ;
|
||||
fun lilangeni_CName : CName ;
|
||||
fun nakfa_CName : CName ;
|
||||
fun new_shekel_CName : CName ;
|
||||
fun ngultrum_CName : CName ;
|
||||
fun pound_sterling_CName : CName ;
|
||||
fun quetzal_CName : CName ;
|
||||
fun renminbi_CName : CName ;
|
||||
fun riel_CName : CName ;
|
||||
fun rupiah_CName : CName ;
|
||||
fun tugrik_CName : CName ;
|
||||
fun 'złoty_CName' : CName ;
|
||||
}
|
||||
548
old-labs/lab2/wikipedia-2022/CountryNamesEng.gf
Normal file
548
old-labs/lab2/wikipedia-2022/CountryNamesEng.gf
Normal file
@@ -0,0 +1,548 @@
|
||||
concrete CountryNamesEng of CountryNames =
|
||||
|
||||
open SyntaxEng, ParadigmsEng in {
|
||||
|
||||
lincat CName = NP ;
|
||||
|
||||
oper mkCName : Str -> NP = \s -> mkNP (mkPN s) ;
|
||||
|
||||
lin Africa_CName = mkCName "Africa" ;
|
||||
lin Asia_CName = mkCName "Asia" ;
|
||||
lin Central_America_CName = mkCName "Central America" ;
|
||||
lin Europe_CName = mkCName "Europe" ;
|
||||
lin North_America_CName = mkCName "North America" ;
|
||||
lin South_America_CName = mkCName "South America" ;
|
||||
lin insular_Oceania_CName = mkCName "insular Oceania" ;
|
||||
|
||||
lin 'Guinea-Bissau_CName' = mkCName "Guinea-Bissau" ;
|
||||
lin 'Nur-Sultan_CName' = mkCName "Nur-Sultan" ;
|
||||
lin 'Port-au-Prince_CName' = mkCName "Port-au-Prince" ;
|
||||
lin 'Porto-Novo_CName' = mkCName "Porto-Novo" ;
|
||||
lin 'St._George\'s_CName' = mkCName "St. George's" ;
|
||||
lin 'Washington,_D.C._CName' = mkCName "Washington, D.C." ;
|
||||
lin Abu_Dhabi_CName = mkCName "Abu Dhabi" ;
|
||||
lin Abuja_CName = mkCName "Abuja" ;
|
||||
lin Accra_CName = mkCName "Accra" ;
|
||||
lin Addis_Ababa_CName = mkCName "Addis Ababa" ;
|
||||
lin Afghan_afghani_CName = mkCName "Afghan afghani" ;
|
||||
lin Afghanistan_CName = mkCName "Afghanistan" ;
|
||||
lin Albania_CName = mkCName "Albania" ;
|
||||
lin Albanian_lek_CName = mkCName "Albanian lek" ;
|
||||
lin Algeria_CName = mkCName "Algeria" ;
|
||||
lin Algerian_dinar_CName = mkCName "Algerian dinar" ;
|
||||
lin Algiers_CName = mkCName "Algiers" ;
|
||||
lin Amman_CName = mkCName "Amman" ;
|
||||
lin Amsterdam_CName = mkCName "Amsterdam" ;
|
||||
lin Andorra_CName = mkCName "Andorra" ;
|
||||
lin Andorra_la_Vella_CName = mkCName "Andorra la Vella" ;
|
||||
lin Angola_CName = mkCName "Angola" ;
|
||||
lin Ankara_CName = mkCName "Ankara" ;
|
||||
lin Antananarivo_CName = mkCName "Antananarivo" ;
|
||||
lin Antigua_and_Barbuda_CName = mkCName "Antigua and Barbuda" ;
|
||||
lin Apia_CName = mkCName "Apia" ;
|
||||
lin Argentina_CName = mkCName "Argentina" ;
|
||||
lin Argentine_peso_CName = mkCName "Argentine peso" ;
|
||||
lin Armenia_CName = mkCName "Armenia" ;
|
||||
lin Armenian_dram_CName = mkCName "Armenian dram" ;
|
||||
lin Ashgabat_CName = mkCName "Ashgabat" ;
|
||||
lin Asmara_CName = mkCName "Asmara" ;
|
||||
lin Asunción_CName = mkCName "Asunción" ;
|
||||
lin Athens_CName = mkCName "Athens" ;
|
||||
lin Australia_CName = mkCName "Australia" ;
|
||||
lin Australian_dollar_CName = mkCName "Australian dollar" ;
|
||||
lin Austria_CName = mkCName "Austria" ;
|
||||
lin Azerbaijan_CName = mkCName "Azerbaijan" ;
|
||||
lin Azerbaijani_manat_CName = mkCName "Azerbaijani manat" ;
|
||||
lin Baghdad_CName = mkCName "Baghdad" ;
|
||||
lin Bahamian_dollar_CName = mkCName "Bahamian dollar" ;
|
||||
lin Bahrain_CName = mkCName "Bahrain" ;
|
||||
lin Bahraini_dinar_CName = mkCName "Bahraini dinar" ;
|
||||
lin Baku_CName = mkCName "Baku" ;
|
||||
lin Bamako_CName = mkCName "Bamako" ;
|
||||
lin Bandar_Seri_Begawan_CName = mkCName "Bandar Seri Begawan" ;
|
||||
lin Bangkok_CName = mkCName "Bangkok" ;
|
||||
lin Bangladesh_CName = mkCName "Bangladesh" ;
|
||||
lin Bangladeshi_taka_CName = mkCName "Bangladeshi taka" ;
|
||||
lin Bangui_CName = mkCName "Bangui" ;
|
||||
lin Banjul_CName = mkCName "Banjul" ;
|
||||
lin Barbadian_dollar_CName = mkCName "Barbadian dollar" ;
|
||||
lin Barbados_CName = mkCName "Barbados" ;
|
||||
lin Basseterre_CName = mkCName "Basseterre" ;
|
||||
lin Beijing_CName = mkCName "Beijing" ;
|
||||
lin Beirut_CName = mkCName "Beirut" ;
|
||||
lin Belarus_CName = mkCName "Belarus" ;
|
||||
lin Belarusian_ruble_CName = mkCName "Belarusian ruble" ;
|
||||
lin Belgium_CName = mkCName "Belgium" ;
|
||||
lin Belgrade_CName = mkCName "Belgrade" ;
|
||||
lin Belize_CName = mkCName "Belize" ;
|
||||
lin Belize_dollar_CName = mkCName "Belize dollar" ;
|
||||
lin Belmopan_CName = mkCName "Belmopan" ;
|
||||
lin Benin_CName = mkCName "Benin" ;
|
||||
lin Berlin_CName = mkCName "Berlin" ;
|
||||
lin Bern_CName = mkCName "Bern" ;
|
||||
lin Bhutan_CName = mkCName "Bhutan" ;
|
||||
lin Bishkek_CName = mkCName "Bishkek" ;
|
||||
lin Bissau_CName = mkCName "Bissau" ;
|
||||
lin Bogotá_CName = mkCName "Bogotá" ;
|
||||
lin Bolivia_CName = mkCName "Bolivia" ;
|
||||
lin Bosnia_and_Herzegovina_CName = mkCName "Bosnia and Herzegovina" ;
|
||||
lin Botswana_CName = mkCName "Botswana" ;
|
||||
lin Botswana_pula_CName = mkCName "Botswana pula" ;
|
||||
lin Brasília_CName = mkCName "Brasília" ;
|
||||
lin Bratislava_CName = mkCName "Bratislava" ;
|
||||
lin Brazil_CName = mkCName "Brazil" ;
|
||||
lin Brazilian_real_CName = mkCName "Brazilian real" ;
|
||||
lin Brazzaville_CName = mkCName "Brazzaville" ;
|
||||
lin Bridgetown_CName = mkCName "Bridgetown" ;
|
||||
lin Brunei_CName = mkCName "Brunei" ;
|
||||
lin Brunei_dollar_CName = mkCName "Brunei dollar" ;
|
||||
lin Bucharest_CName = mkCName "Bucharest" ;
|
||||
lin Budapest_CName = mkCName "Budapest" ;
|
||||
lin Buenos_Aires_CName = mkCName "Buenos Aires" ;
|
||||
lin Bulgaria_CName = mkCName "Bulgaria" ;
|
||||
lin Bulgarian_lev_CName = mkCName "Bulgarian lev" ;
|
||||
lin Burkina_Faso_CName = mkCName "Burkina Faso" ;
|
||||
lin Burundi_CName = mkCName "Burundi" ;
|
||||
lin Burundian_franc_CName = mkCName "Burundian franc" ;
|
||||
lin Cairo_CName = mkCName "Cairo" ;
|
||||
lin Cambodia_CName = mkCName "Cambodia" ;
|
||||
lin Cameroon_CName = mkCName "Cameroon" ;
|
||||
lin Canada_CName = mkCName "Canada" ;
|
||||
lin Canadian_dollar_CName = mkCName "Canadian dollar" ;
|
||||
lin Canberra_CName = mkCName "Canberra" ;
|
||||
lin Cape_Verde_CName = mkCName "Cape Verde" ;
|
||||
lin Cape_Verdean_escudo_CName = mkCName "Cape Verdean escudo" ;
|
||||
lin Caracas_CName = mkCName "Caracas" ;
|
||||
lin Castries_CName = mkCName "Castries" ;
|
||||
lin Central_African_CFA_franc_CName = mkCName "Central African CFA franc" ;
|
||||
lin Central_African_Republic_CName = mkCName "Central African Republic" ;
|
||||
lin Chad_CName = mkCName "Chad" ;
|
||||
lin Chile_CName = mkCName "Chile" ;
|
||||
lin Chilean_peso_CName = mkCName "Chilean peso" ;
|
||||
lin 'Chișinău_CName' = mkCName "Chișinău" ;
|
||||
lin City_of_Brussels_CName = mkCName "City of Brussels" ;
|
||||
lin Colombia_CName = mkCName "Colombia" ;
|
||||
lin Colombian_cincuenta_centavos_CName = mkCName "Colombian cincuenta centavos" ;
|
||||
lin Colombo_CName = mkCName "Colombo" ;
|
||||
lin Comorian_franc_CName = mkCName "Comorian franc" ;
|
||||
lin Comoros_CName = mkCName "Comoros" ;
|
||||
lin Conakry_CName = mkCName "Conakry" ;
|
||||
lin Congolese_franc_CName = mkCName "Congolese franc" ;
|
||||
lin Copenhagen_CName = mkCName "Copenhagen" ;
|
||||
lin Costa_Rica_CName = mkCName "Costa Rica" ;
|
||||
lin Costa_Rican_colón_CName = mkCName "Costa Rican colón" ;
|
||||
lin Croatia_CName = mkCName "Croatia" ;
|
||||
lin Croatian_kuna_CName = mkCName "Croatian kuna" ;
|
||||
lin Cuba_CName = mkCName "Cuba" ;
|
||||
lin Cuban_peso_CName = mkCName "Cuban peso" ;
|
||||
lin Cyprus_CName = mkCName "Cyprus" ;
|
||||
lin Czech_Republic_CName = mkCName "Czech Republic" ;
|
||||
lin Czech_koruna_CName = mkCName "Czech koruna" ;
|
||||
lin Dakar_CName = mkCName "Dakar" ;
|
||||
lin Damascus_CName = mkCName "Damascus" ;
|
||||
lin Danish_krone_CName = mkCName "Danish krone" ;
|
||||
lin Democratic_Republic_of_the_Congo_CName = mkCName "Democratic Republic of the Congo" ;
|
||||
lin Denmark_CName = mkCName "Denmark" ;
|
||||
lin Dhaka_CName = mkCName "Dhaka" ;
|
||||
lin Dili_CName = mkCName "Dili" ;
|
||||
lin Djibouti_CName = mkCName "Djibouti" ;
|
||||
lin Djiboutian_franc_CName = mkCName "Djiboutian franc" ;
|
||||
lin Dodoma_CName = mkCName "Dodoma" ;
|
||||
lin Doha_CName = mkCName "Doha" ;
|
||||
lin Dominica_CName = mkCName "Dominica" ;
|
||||
lin Dominican_Republic_CName = mkCName "Dominican Republic" ;
|
||||
lin Dominican_peso_CName = mkCName "Dominican peso" ;
|
||||
lin Dublin_CName = mkCName "Dublin" ;
|
||||
lin Dushanbe_CName = mkCName "Dushanbe" ;
|
||||
lin East_Timor_CName = mkCName "East Timor" ;
|
||||
lin East_Timor_centavo_coins_CName = mkCName "East Timor centavo coins" ;
|
||||
lin Eastern_Caribbean_dollar_CName = mkCName "Eastern Caribbean dollar" ;
|
||||
lin Ecuador_CName = mkCName "Ecuador" ;
|
||||
lin Egypt_CName = mkCName "Egypt" ;
|
||||
lin Egyptian_pound_CName = mkCName "Egyptian pound" ;
|
||||
lin El_Salvador_CName = mkCName "El Salvador" ;
|
||||
lin Equatorial_Guinea_CName = mkCName "Equatorial Guinea" ;
|
||||
lin Eritrea_CName = mkCName "Eritrea" ;
|
||||
lin Estonia_CName = mkCName "Estonia" ;
|
||||
lin Eswatini_CName = mkCName "Eswatini" ;
|
||||
lin Ethiopia_CName = mkCName "Ethiopia" ;
|
||||
lin Federated_States_of_Micronesia_CName = mkCName "Federated States of Micronesia" ;
|
||||
lin Fiji_CName = mkCName "Fiji" ;
|
||||
lin Fijian_dollar_CName = mkCName "Fijian dollar" ;
|
||||
lin Finland_CName = mkCName "Finland" ;
|
||||
lin France_CName = mkCName "France" ;
|
||||
lin Freetown_CName = mkCName "Freetown" ;
|
||||
lin Funafuti_CName = mkCName "Funafuti" ;
|
||||
lin Gabon_CName = mkCName "Gabon" ;
|
||||
lin Gaborone_CName = mkCName "Gaborone" ;
|
||||
lin Georgetown_CName = mkCName "Georgetown" ;
|
||||
lin Georgia_CName = mkCName "Georgia" ;
|
||||
lin Georgian_lari_CName = mkCName "Georgian lari" ;
|
||||
lin Germany_CName = mkCName "Germany" ;
|
||||
lin Ghana_CName = mkCName "Ghana" ;
|
||||
lin Ghana_cedi_CName = mkCName "Ghana cedi" ;
|
||||
lin Gitega_CName = mkCName "Gitega" ;
|
||||
lin Greece_CName = mkCName "Greece" ;
|
||||
lin Grenada_CName = mkCName "Grenada" ;
|
||||
lin Guatemala_CName = mkCName "Guatemala" ;
|
||||
lin Guatemala_City_CName = mkCName "Guatemala City" ;
|
||||
lin Guinea_CName = mkCName "Guinea" ;
|
||||
lin Guinean_franc_CName = mkCName "Guinean franc" ;
|
||||
lin Guyana_CName = mkCName "Guyana" ;
|
||||
lin Guyanese_dollar_CName = mkCName "Guyanese dollar" ;
|
||||
lin Haiti_CName = mkCName "Haiti" ;
|
||||
lin Hanoi_CName = mkCName "Hanoi" ;
|
||||
lin Harare_CName = mkCName "Harare" ;
|
||||
lin Havana_CName = mkCName "Havana" ;
|
||||
lin Helsinki_CName = mkCName "Helsinki" ;
|
||||
lin Honduran_lempira_CName = mkCName "Honduran lempira" ;
|
||||
lin Honduras_CName = mkCName "Honduras" ;
|
||||
lin Honiara_CName = mkCName "Honiara" ;
|
||||
lin Hungary_CName = mkCName "Hungary" ;
|
||||
lin Iceland_CName = mkCName "Iceland" ;
|
||||
lin Icelandic_króna_CName = mkCName "Icelandic króna" ;
|
||||
lin India_CName = mkCName "India" ;
|
||||
lin Indian_rupee_CName = mkCName "Indian rupee" ;
|
||||
lin Indonesia_CName = mkCName "Indonesia" ;
|
||||
lin Iran_CName = mkCName "Iran" ;
|
||||
lin Iranian_rial_CName = mkCName "Iranian rial" ;
|
||||
lin Iraq_CName = mkCName "Iraq" ;
|
||||
lin Iraqi_dinar_CName = mkCName "Iraqi dinar" ;
|
||||
lin Ireland_CName = mkCName "Ireland" ;
|
||||
lin Islamabad_CName = mkCName "Islamabad" ;
|
||||
lin Israel_CName = mkCName "Israel" ;
|
||||
lin Italy_CName = mkCName "Italy" ;
|
||||
lin Ivory_Coast_CName = mkCName "Ivory Coast" ;
|
||||
lin Jakarta_CName = mkCName "Jakarta" ;
|
||||
lin Jamaica_CName = mkCName "Jamaica" ;
|
||||
lin Jamaican_dollar_CName = mkCName "Jamaican dollar" ;
|
||||
lin Japan_CName = mkCName "Japan" ;
|
||||
lin Japanese_yen_CName = mkCName "Japanese yen" ;
|
||||
lin Jerusalem_CName = mkCName "Jerusalem" ;
|
||||
lin Jordan_CName = mkCName "Jordan" ;
|
||||
lin Jordanian_dinar_CName = mkCName "Jordanian dinar" ;
|
||||
lin Juba_CName = mkCName "Juba" ;
|
||||
lin Kabul_CName = mkCName "Kabul" ;
|
||||
lin Kampala_CName = mkCName "Kampala" ;
|
||||
lin Kathmandu_CName = mkCName "Kathmandu" ;
|
||||
lin Kazakhstan_CName = mkCName "Kazakhstan" ;
|
||||
lin Kazakhstani_tenge_CName = mkCName "Kazakhstani tenge" ;
|
||||
lin Kenya_CName = mkCName "Kenya" ;
|
||||
lin Kenyan_shilling_CName = mkCName "Kenyan shilling" ;
|
||||
lin Khartoum_CName = mkCName "Khartoum" ;
|
||||
lin Kigali_CName = mkCName "Kigali" ;
|
||||
lin Kingdom_of_the_Netherlands_CName = mkCName "Kingdom of the Netherlands" ;
|
||||
lin Kingston_CName = mkCName "Kingston" ;
|
||||
lin Kingstown_CName = mkCName "Kingstown" ;
|
||||
lin Kinshasa_CName = mkCName "Kinshasa" ;
|
||||
lin Kiribati_CName = mkCName "Kiribati" ;
|
||||
lin Kiribati_dollar_CName = mkCName "Kiribati dollar" ;
|
||||
lin Kuala_Lumpur_CName = mkCName "Kuala Lumpur" ;
|
||||
lin Kuwait_CName = mkCName "Kuwait" ;
|
||||
lin Kuwait_City_CName = mkCName "Kuwait City" ;
|
||||
lin Kuwaiti_dinar_CName = mkCName "Kuwaiti dinar" ;
|
||||
lin Kyiv_CName = mkCName "Kyiv" ;
|
||||
lin Kyrgyzstan_CName = mkCName "Kyrgyzstan" ;
|
||||
lin Kyrgyzstani_som_CName = mkCName "Kyrgyzstani som" ;
|
||||
lin La_Paz_CName = mkCName "La Paz" ;
|
||||
lin Lao_kip_CName = mkCName "Lao kip" ;
|
||||
lin Laos_CName = mkCName "Laos" ;
|
||||
lin Latvia_CName = mkCName "Latvia" ;
|
||||
lin Lebanese_pound_CName = mkCName "Lebanese pound" ;
|
||||
lin Lebanon_CName = mkCName "Lebanon" ;
|
||||
lin Lesotho_CName = mkCName "Lesotho" ;
|
||||
lin Lesotho_loti_CName = mkCName "Lesotho loti" ;
|
||||
lin Liberia_CName = mkCName "Liberia" ;
|
||||
lin Liberian_dollar_CName = mkCName "Liberian dollar" ;
|
||||
lin Libreville_CName = mkCName "Libreville" ;
|
||||
lin Libya_CName = mkCName "Libya" ;
|
||||
lin Libyan_dinar_CName = mkCName "Libyan dinar" ;
|
||||
lin Liechtenstein_CName = mkCName "Liechtenstein" ;
|
||||
lin Lilongwe_CName = mkCName "Lilongwe" ;
|
||||
lin Lima_CName = mkCName "Lima" ;
|
||||
lin Lisbon_CName = mkCName "Lisbon" ;
|
||||
lin Lithuania_CName = mkCName "Lithuania" ;
|
||||
lin Ljubljana_CName = mkCName "Ljubljana" ;
|
||||
lin Lobamba_CName = mkCName "Lobamba" ;
|
||||
lin Lomé_CName = mkCName "Lomé" ;
|
||||
lin London_CName = mkCName "London" ;
|
||||
lin Luanda_CName = mkCName "Luanda" ;
|
||||
lin Lusaka_CName = mkCName "Lusaka" ;
|
||||
lin Luxembourg_CName = mkCName "Luxembourg" ;
|
||||
lin Madagascar_CName = mkCName "Madagascar" ;
|
||||
lin Madrid_CName = mkCName "Madrid" ;
|
||||
lin Majuro_CName = mkCName "Majuro" ;
|
||||
lin Malabo_CName = mkCName "Malabo" ;
|
||||
lin Malawi_CName = mkCName "Malawi" ;
|
||||
lin Malawian_kwacha_CName = mkCName "Malawian kwacha" ;
|
||||
lin Malaysia_CName = mkCName "Malaysia" ;
|
||||
lin Malaysian_ringgit_CName = mkCName "Malaysian ringgit" ;
|
||||
lin Maldives_CName = mkCName "Maldives" ;
|
||||
lin Maldivian_rufiyaa_CName = mkCName "Maldivian rufiyaa" ;
|
||||
lin Mali_CName = mkCName "Mali" ;
|
||||
lin Malta_CName = mkCName "Malta" ;
|
||||
lin Malé_CName = mkCName "Malé" ;
|
||||
lin Managua_CName = mkCName "Managua" ;
|
||||
lin Manama_CName = mkCName "Manama" ;
|
||||
lin Manila_CName = mkCName "Manila" ;
|
||||
lin Maputo_CName = mkCName "Maputo" ;
|
||||
lin Marshall_Islands_CName = mkCName "Marshall Islands" ;
|
||||
lin Maseru_CName = mkCName "Maseru" ;
|
||||
lin Mauritania_CName = mkCName "Mauritania" ;
|
||||
lin Mauritanian_ouguiya_CName = mkCName "Mauritanian ouguiya" ;
|
||||
lin Mauritian_rupee_CName = mkCName "Mauritian rupee" ;
|
||||
lin Mauritius_CName = mkCName "Mauritius" ;
|
||||
lin Mexican_peso_CName = mkCName "Mexican peso" ;
|
||||
lin Mexico_CName = mkCName "Mexico" ;
|
||||
lin Mexico_City_CName = mkCName "Mexico City" ;
|
||||
lin Minsk_CName = mkCName "Minsk" ;
|
||||
lin Mogadishu_CName = mkCName "Mogadishu" ;
|
||||
lin Moldova_CName = mkCName "Moldova" ;
|
||||
lin Moldovan_leu_CName = mkCName "Moldovan leu" ;
|
||||
lin Monaco_CName = mkCName "Monaco" ;
|
||||
lin Monaco_City_CName = mkCName "Monaco City" ;
|
||||
lin Mongolia_CName = mkCName "Mongolia" ;
|
||||
lin Monrovia_CName = mkCName "Monrovia" ;
|
||||
lin Montenegro_CName = mkCName "Montenegro" ;
|
||||
lin Montevideo_CName = mkCName "Montevideo" ;
|
||||
lin Moroccan_dirham_CName = mkCName "Moroccan dirham" ;
|
||||
lin Morocco_CName = mkCName "Morocco" ;
|
||||
lin Moroni_CName = mkCName "Moroni" ;
|
||||
lin Moscow_CName = mkCName "Moscow" ;
|
||||
lin Mozambican_metical_CName = mkCName "Mozambican metical" ;
|
||||
lin Mozambique_CName = mkCName "Mozambique" ;
|
||||
lin Muscat_CName = mkCName "Muscat" ;
|
||||
lin Myanmar_CName = mkCName "Myanmar" ;
|
||||
lin N'Djamena_CName = mkCName "N'Djamena" ;
|
||||
lin Nairobi_CName = mkCName "Nairobi" ;
|
||||
lin Namibia_CName = mkCName "Namibia" ;
|
||||
lin Namibian_dollar_CName = mkCName "Namibian dollar" ;
|
||||
lin Nassau_CName = mkCName "Nassau" ;
|
||||
lin Nauru_CName = mkCName "Nauru" ;
|
||||
lin Naypyidaw_CName = mkCName "Naypyidaw" ;
|
||||
lin Nepal_CName = mkCName "Nepal" ;
|
||||
lin Nepalese_rupee_CName = mkCName "Nepalese rupee" ;
|
||||
lin New_Delhi_CName = mkCName "New Delhi" ;
|
||||
lin New_Taiwan_dollar_CName = mkCName "New Taiwan dollar" ;
|
||||
lin New_Zealand_CName = mkCName "New Zealand" ;
|
||||
lin New_Zealand_dollar_CName = mkCName "New Zealand dollar" ;
|
||||
lin Ngerulmud_CName = mkCName "Ngerulmud" ;
|
||||
lin Niamey_CName = mkCName "Niamey" ;
|
||||
lin Nicaragua_CName = mkCName "Nicaragua" ;
|
||||
lin Nicaraguan_córdoba_CName = mkCName "Nicaraguan córdoba" ;
|
||||
lin Nicosia_CName = mkCName "Nicosia" ;
|
||||
lin Niger_CName = mkCName "Niger" ;
|
||||
lin Nigeria_CName = mkCName "Nigeria" ;
|
||||
lin Nigerian_naira_CName = mkCName "Nigerian naira" ;
|
||||
lin North_Korea_CName = mkCName "North Korea" ;
|
||||
lin North_Korean_won_CName = mkCName "North Korean won" ;
|
||||
lin North_Macedonia_CName = mkCName "North Macedonia" ;
|
||||
lin Norway_CName = mkCName "Norway" ;
|
||||
lin Norwegian_krone_CName = mkCName "Norwegian krone" ;
|
||||
lin Nouakchott_CName = mkCName "Nouakchott" ;
|
||||
lin Nuku'alofa_CName = mkCName "Nuku'alofa" ;
|
||||
lin Oman_CName = mkCName "Oman" ;
|
||||
lin Omani_rial_CName = mkCName "Omani rial" ;
|
||||
lin Oslo_CName = mkCName "Oslo" ;
|
||||
lin Ottawa_CName = mkCName "Ottawa" ;
|
||||
lin Ouagadougou_CName = mkCName "Ouagadougou" ;
|
||||
lin Pakistan_CName = mkCName "Pakistan" ;
|
||||
lin Pakistani_rupee_CName = mkCName "Pakistani rupee" ;
|
||||
lin Palau_CName = mkCName "Palau" ;
|
||||
lin Palikir_CName = mkCName "Palikir" ;
|
||||
lin Panama_CName = mkCName "Panama" ;
|
||||
lin Panama_City_CName = mkCName "Panama City" ;
|
||||
lin Panamanian_balboa_CName = mkCName "Panamanian balboa" ;
|
||||
lin Papua_New_Guinea_CName = mkCName "Papua New Guinea" ;
|
||||
lin Paraguay_CName = mkCName "Paraguay" ;
|
||||
lin Paraguayan_guaraní_CName = mkCName "Paraguayan guaraní" ;
|
||||
lin Paramaribo_CName = mkCName "Paramaribo" ;
|
||||
lin Paris_CName = mkCName "Paris" ;
|
||||
lin People's_Republic_of_China_CName = mkCName "People's Republic of China" ;
|
||||
lin Peru_CName = mkCName "Peru" ;
|
||||
lin Peruvian_sol_CName = mkCName "Peruvian sol" ;
|
||||
lin Philippine_peso_CName = mkCName "Philippine peso" ;
|
||||
lin Philippines_CName = mkCName "Philippines" ;
|
||||
lin Phnom_Penh_CName = mkCName "Phnom Penh" ;
|
||||
lin Podgorica_CName = mkCName "Podgorica" ;
|
||||
lin Poland_CName = mkCName "Poland" ;
|
||||
lin Port_Louis_CName = mkCName "Port Louis" ;
|
||||
lin Port_Moresby_CName = mkCName "Port Moresby" ;
|
||||
lin Port_Vila_CName = mkCName "Port Vila" ;
|
||||
lin Port_of_Spain_CName = mkCName "Port of Spain" ;
|
||||
lin Portugal_CName = mkCName "Portugal" ;
|
||||
lin Prague_CName = mkCName "Prague" ;
|
||||
lin Praia_CName = mkCName "Praia" ;
|
||||
lin Pretoria_CName = mkCName "Pretoria" ;
|
||||
lin Pyongyang_CName = mkCName "Pyongyang" ;
|
||||
lin Qatar_CName = mkCName "Qatar" ;
|
||||
lin Qatari_riyal_CName = mkCName "Qatari riyal" ;
|
||||
lin Quito_CName = mkCName "Quito" ;
|
||||
lin Rabat_CName = mkCName "Rabat" ;
|
||||
lin Republic_of_the_Congo_CName = mkCName "Republic of the Congo" ;
|
||||
lin Reykjavík_CName = mkCName "Reykjavík" ;
|
||||
lin Riga_CName = mkCName "Riga" ;
|
||||
lin Riyadh_CName = mkCName "Riyadh" ;
|
||||
lin Romania_CName = mkCName "Romania" ;
|
||||
lin Romanian_leu_CName = mkCName "Romanian leu" ;
|
||||
lin Rome_CName = mkCName "Rome" ;
|
||||
lin Roseau_CName = mkCName "Roseau" ;
|
||||
lin Russia_CName = mkCName "Russia" ;
|
||||
lin Russian_ruble_CName = mkCName "Russian ruble" ;
|
||||
lin Rwanda_CName = mkCName "Rwanda" ;
|
||||
lin Rwandan_franc_CName = mkCName "Rwandan franc" ;
|
||||
lin Saint_John's_CName = mkCName "Saint John's" ;
|
||||
lin Saint_Kitts_and_Nevis_CName = mkCName "Saint Kitts and Nevis" ;
|
||||
lin Saint_Lucia_CName = mkCName "Saint Lucia" ;
|
||||
lin Saint_Vincent_and_the_Grenadines_CName = mkCName "Saint Vincent and the Grenadines" ;
|
||||
lin Samoa_CName = mkCName "Samoa" ;
|
||||
lin 'Samoan_tālā_CName' = mkCName "Samoan tālā" ;
|
||||
lin San_José_CName = mkCName "San José" ;
|
||||
lin San_Marino_CName = mkCName "San Marino" ;
|
||||
lin San_Salvador_CName = mkCName "San Salvador" ;
|
||||
lin Sanaa_CName = mkCName "Sanaa" ;
|
||||
lin Santiago_CName = mkCName "Santiago" ;
|
||||
lin Santo_Domingo_CName = mkCName "Santo Domingo" ;
|
||||
lin Sarajevo_CName = mkCName "Sarajevo" ;
|
||||
lin Saudi_Arabia_CName = mkCName "Saudi Arabia" ;
|
||||
lin Saudi_riyal_CName = mkCName "Saudi riyal" ;
|
||||
lin Senegal_CName = mkCName "Senegal" ;
|
||||
lin Seoul_CName = mkCName "Seoul" ;
|
||||
lin Serbia_CName = mkCName "Serbia" ;
|
||||
lin Serbian_dinar_CName = mkCName "Serbian dinar" ;
|
||||
lin Seychelles_CName = mkCName "Seychelles" ;
|
||||
lin Seychellois_rupee_CName = mkCName "Seychellois rupee" ;
|
||||
lin Sierra_Leone_CName = mkCName "Sierra Leone" ;
|
||||
lin Sierra_Leonean_leone_CName = mkCName "Sierra Leonean leone" ;
|
||||
lin Singapore_CName = mkCName "Singapore" ;
|
||||
lin Singapore_dollar_CName = mkCName "Singapore dollar" ;
|
||||
lin Skopje_CName = mkCName "Skopje" ;
|
||||
lin Slovakia_CName = mkCName "Slovakia" ;
|
||||
lin Slovenia_CName = mkCName "Slovenia" ;
|
||||
lin Sofia_CName = mkCName "Sofia" ;
|
||||
lin Solomon_Islands_CName = mkCName "Solomon Islands" ;
|
||||
lin Solomon_Islands_dollar_CName = mkCName "Solomon Islands dollar" ;
|
||||
lin Somali_shilling_CName = mkCName "Somali shilling" ;
|
||||
lin Somalia_CName = mkCName "Somalia" ;
|
||||
lin South_Africa_CName = mkCName "South Africa" ;
|
||||
lin South_African_rand_CName = mkCName "South African rand" ;
|
||||
lin South_Korea_CName = mkCName "South Korea" ;
|
||||
lin South_Korean_won_CName = mkCName "South Korean won" ;
|
||||
lin South_Sudan_CName = mkCName "South Sudan" ;
|
||||
lin South_Sudanese_pound_CName = mkCName "South Sudanese pound" ;
|
||||
lin South_Tarawa_CName = mkCName "South Tarawa" ;
|
||||
lin Sovereign_Bolivar_CName = mkCName "Sovereign Bolivar" ;
|
||||
lin Spain_CName = mkCName "Spain" ;
|
||||
lin Sri_Lanka_CName = mkCName "Sri Lanka" ;
|
||||
lin Sri_Lankan_rupee_CName = mkCName "Sri Lankan rupee" ;
|
||||
lin Stockholm_CName = mkCName "Stockholm" ;
|
||||
lin Sudan_CName = mkCName "Sudan" ;
|
||||
lin Sudanese_pound_CName = mkCName "Sudanese pound" ;
|
||||
lin Suriname_CName = mkCName "Suriname" ;
|
||||
lin Surinamese_dollar_CName = mkCName "Surinamese dollar" ;
|
||||
lin Suva_CName = mkCName "Suva" ;
|
||||
lin Sweden_CName = mkCName "Sweden" ;
|
||||
lin Swedish_krona_CName = mkCName "Swedish krona" ;
|
||||
lin Swiss_franc_CName = mkCName "Swiss franc" ;
|
||||
lin Switzerland_CName = mkCName "Switzerland" ;
|
||||
lin Syria_CName = mkCName "Syria" ;
|
||||
lin Syrian_pound_CName = mkCName "Syrian pound" ;
|
||||
lin São_Tomé_CName = mkCName "São Tomé" ;
|
||||
lin São_Tomé_and_Príncipe_CName = mkCName "São Tomé and Príncipe" ;
|
||||
lin São_Tomé_and_Príncipe_dobra_CName = mkCName "São Tomé and Príncipe dobra" ;
|
||||
lin Taipei_CName = mkCName "Taipei" ;
|
||||
lin Taiwan_CName = mkCName "Taiwan" ;
|
||||
lin Tajikistan_CName = mkCName "Tajikistan" ;
|
||||
lin Tajikistani_somoni_CName = mkCName "Tajikistani somoni" ;
|
||||
lin Tallinn_CName = mkCName "Tallinn" ;
|
||||
lin Tanzania_CName = mkCName "Tanzania" ;
|
||||
lin Tanzanian_shilling_CName = mkCName "Tanzanian shilling" ;
|
||||
lin Tashkent_CName = mkCName "Tashkent" ;
|
||||
lin Tbilisi_CName = mkCName "Tbilisi" ;
|
||||
lin Tegucigalpa_CName = mkCName "Tegucigalpa" ;
|
||||
lin Tehran_CName = mkCName "Tehran" ;
|
||||
lin Thailand_CName = mkCName "Thailand" ;
|
||||
lin The_Bahamas_CName = mkCName "The Bahamas" ;
|
||||
lin The_Gambia_CName = mkCName "The Gambia" ;
|
||||
lin Thimphu_CName = mkCName "Thimphu" ;
|
||||
lin Tirana_CName = mkCName "Tirana" ;
|
||||
lin Togo_CName = mkCName "Togo" ;
|
||||
lin Tokyo_CName = mkCName "Tokyo" ;
|
||||
lin Tonga_CName = mkCName "Tonga" ;
|
||||
lin 'Tongan_paʻanga_CName' = mkCName "Tongan paʻanga" ;
|
||||
lin Trinidad_and_Tobago_CName = mkCName "Trinidad and Tobago" ;
|
||||
lin Trinidad_and_Tobago_dollar_CName = mkCName "Trinidad and Tobago dollar" ;
|
||||
lin Tripoli_CName = mkCName "Tripoli" ;
|
||||
lin Tunis_CName = mkCName "Tunis" ;
|
||||
lin Tunisia_CName = mkCName "Tunisia" ;
|
||||
lin Tunisian_dinar_CName = mkCName "Tunisian dinar" ;
|
||||
lin Turkey_CName = mkCName "Turkey" ;
|
||||
lin Turkish_lira_CName = mkCName "Turkish lira" ;
|
||||
lin Turkmenistan_CName = mkCName "Turkmenistan" ;
|
||||
lin Turkmenistan_manat_CName = mkCName "Turkmenistan manat" ;
|
||||
lin Tuvalu_CName = mkCName "Tuvalu" ;
|
||||
lin Tuvaluan_dollar_CName = mkCName "Tuvaluan dollar" ;
|
||||
lin Uganda_CName = mkCName "Uganda" ;
|
||||
lin Ugandan_shilling_CName = mkCName "Ugandan shilling" ;
|
||||
lin Ukraine_CName = mkCName "Ukraine" ;
|
||||
lin Ulaanbaatar_CName = mkCName "Ulaanbaatar" ;
|
||||
lin United_Arab_Emirates_CName = mkCName "United Arab Emirates" ;
|
||||
lin United_Arab_Emirates_dirham_CName = mkCName "United Arab Emirates dirham" ;
|
||||
lin United_Kingdom_CName = mkCName "the United Kingdom" ;
|
||||
lin United_States_dollar_CName = mkCName "United States dollar" ;
|
||||
lin United_States_of_America_CName = mkCName "the United States" ;
|
||||
lin Uruguay_CName = mkCName "Uruguay" ;
|
||||
lin Uruguayan_peso_CName = mkCName "Uruguayan peso" ;
|
||||
lin Uzbekistan_CName = mkCName "Uzbekistan" ;
|
||||
lin Uzbekistani_som_CName = mkCName "Uzbekistani som" ;
|
||||
lin Vaduz_CName = mkCName "Vaduz" ;
|
||||
lin Valletta_CName = mkCName "Valletta" ;
|
||||
lin Vanuatu_CName = mkCName "Vanuatu" ;
|
||||
lin Vanuatu_vatus_CName = mkCName "Vanuatu vatus" ;
|
||||
lin Venezuela_CName = mkCName "Venezuela" ;
|
||||
lin Victoria_CName = mkCName "Victoria" ;
|
||||
lin Vienna_CName = mkCName "Vienna" ;
|
||||
lin Vientiane_CName = mkCName "Vientiane" ;
|
||||
lin Vietnam_CName = mkCName "Vietnam" ;
|
||||
lin Vietnamese_dong_CName = mkCName "Vietnamese dong" ;
|
||||
lin Vilnius_CName = mkCName "Vilnius" ;
|
||||
lin Warsaw_CName = mkCName "Warsaw" ;
|
||||
lin Wellington_CName = mkCName "Wellington" ;
|
||||
lin West_African_CFA_franc_CName = mkCName "West African CFA franc" ;
|
||||
lin Windhoek_CName = mkCName "Windhoek" ;
|
||||
lin Yamoussoukro_CName = mkCName "Yamoussoukro" ;
|
||||
lin Yaoundé_CName = mkCName "Yaoundé" ;
|
||||
lin Yaren_District_CName = mkCName "Yaren District" ;
|
||||
lin Yemen_CName = mkCName "Yemen" ;
|
||||
lin Yemeni_rial_CName = mkCName "Yemeni rial" ;
|
||||
lin Yerevan_CName = mkCName "Yerevan" ;
|
||||
lin Zagreb_CName = mkCName "Zagreb" ;
|
||||
lin Zambia_CName = mkCName "Zambia" ;
|
||||
lin Zambian_kwacha_CName = mkCName "Zambian kwacha" ;
|
||||
lin Zimbabwe_CName = mkCName "Zimbabwe" ;
|
||||
lin ariary_CName = mkCName "ariary" ;
|
||||
lin baht_CName = mkCName "baht" ;
|
||||
lin birr_CName = mkCName "birr" ;
|
||||
lin boliviano_CName = mkCName "boliviano" ;
|
||||
lin convertible_mark_CName = mkCName "convertible mark" ;
|
||||
lin dalasi_CName = mkCName "dalasi" ;
|
||||
lin denar_CName = mkCName "denar" ;
|
||||
lin euro_CName = mkCName "euro" ;
|
||||
lin forint_CName = mkCName "forint" ;
|
||||
lin gourde_CName = mkCName "gourde" ;
|
||||
lin hryvnia_CName = mkCName "hryvnia" ;
|
||||
lin kina_CName = mkCName "kina" ;
|
||||
lin kwanza_CName = mkCName "kwanza" ;
|
||||
lin kyat_CName = mkCName "kyat" ;
|
||||
lin lilangeni_CName = mkCName "lilangeni" ;
|
||||
lin nakfa_CName = mkCName "nakfa" ;
|
||||
lin new_shekel_CName = mkCName "new shekel" ;
|
||||
lin ngultrum_CName = mkCName "ngultrum" ;
|
||||
lin pound_sterling_CName = mkCName "pound sterling" ;
|
||||
lin quetzal_CName = mkCName "quetzal" ;
|
||||
lin renminbi_CName = mkCName "renminbi" ;
|
||||
lin riel_CName = mkCName "riel" ;
|
||||
lin rupiah_CName = mkCName "rupiah" ;
|
||||
lin tugrik_CName = mkCName "tugrik" ;
|
||||
lin 'złoty_CName' = mkCName "złoty" ;
|
||||
}
|
||||
557
old-labs/lab2/wikipedia-2022/CountryNamesFin.gf
Normal file
557
old-labs/lab2/wikipedia-2022/CountryNamesFin.gf
Normal file
@@ -0,0 +1,557 @@
|
||||
concrete CountryNamesFin of CountryNames =
|
||||
|
||||
open SyntaxFin, ParadigmsFin, Prelude in {
|
||||
|
||||
lincat CName = LocName ;
|
||||
|
||||
oper LocName = {np : NP ; isIn : Bool} ;
|
||||
|
||||
oper mkCName = overload {
|
||||
mkCName : Str -> LocName = \s -> {np = mkNP (foreignPN s) ; isIn = True} ;
|
||||
mkCName : N -> LocName = \n -> {np = mkNP n ; isIn = True} ;
|
||||
mkCName : NP -> LocName = \np -> {np = np ; isIn = True} ;
|
||||
} ;
|
||||
|
||||
exCName : LocName -> LocName = \name -> name ** {isIn = False} ;
|
||||
sgCName : LocName -> LocName = \name -> name ** {np = forceNumberNP singular name.np} ;
|
||||
|
||||
lin Africa_CName = mkCName (mkN "Afrikka") ;
|
||||
lin Asia_CName = mkCName "Aasia" ;
|
||||
lin Central_America_CName = mkCName (mkN "Keski-Amerikka") ;
|
||||
lin Europe_CName = mkCName (mkN "Eurooppa") ;
|
||||
lin North_America_CName = mkCName (mkN "Pohjois-Amerikka") ;
|
||||
lin South_America_CName = mkCName (mkN "Etelä-Amerikka") ;
|
||||
lin insular_Oceania_CName = mkCName "Oseania" ;
|
||||
|
||||
lin 'Guinea-Bissau_CName' = mkCName "Guinea-Bissau" ;
|
||||
lin 'Nur-Sultan_CName' = mkCName "Nur-Sultan" ;
|
||||
lin 'Port-au-Prince_CName' = mkCName "Port-au-Prince" ;
|
||||
lin 'Porto-Novo_CName' = mkCName "Porto-Novo" ;
|
||||
lin 'St._George\'s_CName' = mkCName "St. George’s" ;
|
||||
lin 'Washington,_D.C._CName' = mkCName "Washington" ;
|
||||
lin Abu_Dhabi_CName = mkCName "Abu Dhabi" ;
|
||||
lin Abuja_CName = mkCName "Abuja" ;
|
||||
lin Accra_CName = mkCName "Accra" ;
|
||||
lin Addis_Ababa_CName = mkCName "Addis Abeba" ;
|
||||
lin Afghan_afghani_CName = mkCName "afgani" ;
|
||||
lin Afghanistan_CName = mkCName "Afganistan" ;
|
||||
lin Albania_CName = mkCName "Albania" ;
|
||||
lin Albanian_lek_CName = mkCName "Albanian lek" ;
|
||||
lin Algeria_CName = mkCName "Algeria" ;
|
||||
lin Algerian_dinar_CName = mkCName "Algerian dinaari" ;
|
||||
lin Algiers_CName = mkCName "Alger" ;
|
||||
lin Amman_CName = mkCName "Amman" ;
|
||||
lin Amsterdam_CName = mkCName "Amsterdam" ;
|
||||
lin Andorra_CName = mkCName "Andorra" ;
|
||||
lin Andorra_la_Vella_CName = mkCName "Andorra la Vella" ;
|
||||
lin Angola_CName = mkCName "Angola" ;
|
||||
lin Ankara_CName = mkCName "Ankara" ;
|
||||
lin Antananarivo_CName = mkCName "Antananarivo" ;
|
||||
lin Antigua_and_Barbuda_CName = mkCName "Antigua ja Barbuda" ;
|
||||
lin Apia_CName = mkCName "Apia" ;
|
||||
lin Argentina_CName = mkCName "Argentiina" ;
|
||||
lin Argentine_peso_CName = mkCName "Argentiinan peso" ;
|
||||
lin Armenia_CName = mkCName "Armenia" ;
|
||||
lin Armenian_dram_CName = mkCName "Armenian dram" ;
|
||||
lin Ashgabat_CName = mkCName "Ašgabat" ;
|
||||
lin Asmara_CName = mkCName "Asmara" ;
|
||||
lin Asunción_CName = mkCName "Asunción" ;
|
||||
lin Athens_CName = mkCName "Ateena" ;
|
||||
lin Australia_CName = mkCName "Australia" ;
|
||||
lin Australian_dollar_CName = mkCName "Australian dollari" ;
|
||||
lin Austria_CName = mkCName "Itävalta" ;
|
||||
lin Azerbaijan_CName = mkCName "Azerbaidžan" ;
|
||||
lin Azerbaijani_manat_CName = mkCName "Azerbaidžanin manat" ;
|
||||
lin Baghdad_CName = mkCName "Bagdad" ;
|
||||
lin Bahamian_dollar_CName = mkCName "Bahaman dollari" ;
|
||||
lin Bahrain_CName = mkCName "Bahrain" ;
|
||||
lin Bahraini_dinar_CName = mkCName "Bahrainin dinaari" ;
|
||||
lin Baku_CName = mkCName "Baku" ;
|
||||
lin Bamako_CName = mkCName "Bamako" ;
|
||||
lin Bandar_Seri_Begawan_CName = mkCName "Bandar Seri Begawan" ;
|
||||
lin Bangkok_CName = mkCName "Bangkok" ;
|
||||
lin Bangladesh_CName = mkCName "Bangladesh" ;
|
||||
lin Bangladeshi_taka_CName = mkCName "Bangladeshin taka" ;
|
||||
lin Bangui_CName = mkCName "Bangui" ;
|
||||
lin Banjul_CName = mkCName "Banjul" ;
|
||||
lin Barbadian_dollar_CName = mkCName "Barbadoksen dollari" ;
|
||||
lin Barbados_CName = mkCName "Barbados" ;
|
||||
lin Basseterre_CName = mkCName "Basseterre" ;
|
||||
lin Beijing_CName = mkCName "Peking" ;
|
||||
lin Beirut_CName = mkCName "Beirut" ;
|
||||
lin Belarus_CName = mkCName "Valko-Venäjä" ;
|
||||
lin Belarusian_ruble_CName = mkCName "Valko-Venäjän rupla" ;
|
||||
lin Belgium_CName = mkCName "Belgia" ;
|
||||
lin Belgrade_CName = mkCName "Belgrad" ;
|
||||
lin Belize_CName = mkCName "Belize" ;
|
||||
lin Belize_dollar_CName = mkCName "Belizen dollari" ;
|
||||
lin Belmopan_CName = mkCName "Belmopan" ;
|
||||
lin Benin_CName = mkCName "Benin" ;
|
||||
lin Berlin_CName = mkCName "Berliini" ;
|
||||
lin Bern_CName = mkCName "Bern" ;
|
||||
lin Bhutan_CName = mkCName "Bhutan" ;
|
||||
lin Bishkek_CName = mkCName "Biškek" ;
|
||||
lin Bissau_CName = mkCName "Bissau" ;
|
||||
lin Bogotá_CName = mkCName "Bogotá" ;
|
||||
lin Bolivia_CName = mkCName "Bolivia" ;
|
||||
lin Bosnia_and_Herzegovina_CName = mkCName "Bosnia ja Hertsegovina" ;
|
||||
lin Botswana_CName = mkCName "Botswana" ;
|
||||
lin Botswana_pula_CName = mkCName "Pula" ;
|
||||
lin Brasília_CName = mkCName "Brasília" ;
|
||||
lin Bratislava_CName = mkCName "Bratislava" ;
|
||||
lin Brazil_CName = mkCName "Brasilia" ;
|
||||
lin Brazilian_real_CName = mkCName "Brasilian real" ;
|
||||
lin Brazzaville_CName = mkCName "Brazzaville" ;
|
||||
lin Bridgetown_CName = mkCName "Bridgetown" ;
|
||||
lin Brunei_CName = mkCName "Brunei" ;
|
||||
lin Brunei_dollar_CName = mkCName "Brunein dollari" ;
|
||||
lin Bucharest_CName = mkCName "Bukarest" ;
|
||||
lin Budapest_CName = mkCName "Budapest" ;
|
||||
lin Buenos_Aires_CName = mkCName "Buenos Aires" ;
|
||||
lin Bulgaria_CName = mkCName "Bulgaria" ;
|
||||
lin Bulgarian_lev_CName = mkCName "Bulgarian leva" ;
|
||||
lin Burkina_Faso_CName = mkCName "Burkina Faso" ;
|
||||
lin Burundi_CName = mkCName "Burundi" ;
|
||||
lin Burundian_franc_CName = mkCName "Burundin frangi" ;
|
||||
lin Cairo_CName = mkCName "Kairo" ;
|
||||
lin Cambodia_CName = mkCName "Kambodža" ;
|
||||
lin Cameroon_CName = mkCName "Kamerun" ;
|
||||
lin Canada_CName = mkCName "Kanada" ;
|
||||
lin Canadian_dollar_CName = mkCName "Kanadan dollari" ;
|
||||
lin Canberra_CName = mkCName "Canberra" ;
|
||||
lin Cape_Verde_CName = mkCName "Kap Verde" ;
|
||||
lin Cape_Verdean_escudo_CName = mkCName "Kap Verden escudo" ;
|
||||
lin Caracas_CName = mkCName "Caracas" ;
|
||||
lin Castries_CName = mkCName "Castries" ;
|
||||
lin Central_African_CFA_franc_CName = mkCName "Keski-Afrikan CFA-frangi" ;
|
||||
lin Central_African_Republic_CName = mkCName "Keski-Afrikan tasavalta" ;
|
||||
lin Chad_CName = mkCName "Tšad" ;
|
||||
lin Chile_CName = mkCName "Chile" ;
|
||||
lin Chilean_peso_CName = mkCName "Chilen peso" ;
|
||||
lin 'Chișinău_CName' = mkCName "Chișinău" ;
|
||||
lin City_of_Brussels_CName = mkCName "Bryssel" ;
|
||||
lin Colombia_CName = mkCName "Kolumbia" ;
|
||||
lin Colombian_cincuenta_centavos_CName = mkCName "Kolumbian peso" ;
|
||||
lin Colombo_CName = mkCName "Colombo" ;
|
||||
lin Comorian_franc_CName = mkCName "Komorien frangi" ;
|
||||
lin Comoros_CName = mkCName "Komorit" ;
|
||||
lin Conakry_CName = mkCName "Conakry" ;
|
||||
lin Congolese_franc_CName = mkCName "Kongon frangi" ;
|
||||
lin Copenhagen_CName = mkCName "Kööpenhamina" ;
|
||||
lin Costa_Rica_CName = mkCName "Costa Rica" ;
|
||||
lin Costa_Rican_colón_CName = mkCName "Costa Rican colón" ;
|
||||
lin Croatia_CName = mkCName "Kroatia" ;
|
||||
lin Croatian_kuna_CName = mkCName "Kroatian kuna" ;
|
||||
lin Cuba_CName = mkCName "Kuuba" ;
|
||||
lin Cuban_peso_CName = mkCName "Kuuban peso" ;
|
||||
lin Cyprus_CName = mkCName "Kypros" ;
|
||||
lin Czech_Republic_CName = mkCName "Tšekki" ;
|
||||
lin Czech_koruna_CName = mkCName "Tšekin koruna" ;
|
||||
lin Dakar_CName = mkCName "Dakar" ;
|
||||
lin Damascus_CName = mkCName "Damaskos" ;
|
||||
lin Danish_krone_CName = mkCName "Tanskan kruunu" ;
|
||||
lin Democratic_Republic_of_the_Congo_CName = mkCName "Kongon demokraattinen tasavalta" ;
|
||||
lin Denmark_CName = mkCName "Tanska" ;
|
||||
lin Dhaka_CName = mkCName "Dhaka" ;
|
||||
lin Dili_CName = mkCName "Dili" ;
|
||||
lin Djibouti_CName = mkCName "Djibouti" ;
|
||||
lin Djiboutian_franc_CName = mkCName "Djiboutin frangi" ;
|
||||
lin Dodoma_CName = mkCName "Dodoma" ;
|
||||
lin Doha_CName = mkCName "Doha" ;
|
||||
lin Dominica_CName = mkCName "Dominica" ;
|
||||
lin Dominican_Republic_CName = mkCName "Dominikaaninen tasavalta" ;
|
||||
lin Dominican_peso_CName = mkCName "Dominikaanisen tasavallan peso" ;
|
||||
lin Dublin_CName = mkCName "Dublin" ;
|
||||
lin Dushanbe_CName = mkCName "Dušanbe" ;
|
||||
lin East_Timor_CName = mkCName "Itä-Timor" ;
|
||||
lin East_Timor_centavo_coins_CName = mkCName "East Timor centavo coins" ;
|
||||
lin Eastern_Caribbean_dollar_CName = mkCName "Itä-Karibian dollari" ;
|
||||
lin Ecuador_CName = mkCName "Ecuador" ;
|
||||
lin Egypt_CName = mkCName "Egypti" ;
|
||||
lin Egyptian_pound_CName = mkCName "Egyptin punta" ;
|
||||
lin El_Salvador_CName = mkCName "El Salvador" ;
|
||||
lin Equatorial_Guinea_CName = mkCName "Päiväntasaajan Guinea" ;
|
||||
lin Eritrea_CName = mkCName "Eritrea" ;
|
||||
lin Estonia_CName = mkCName "Viro" ;
|
||||
lin Eswatini_CName = mkCName "Swazimaa" ;
|
||||
lin Ethiopia_CName = mkCName "Etiopia" ;
|
||||
lin Federated_States_of_Micronesia_CName = mkCName "Mikronesia" ;
|
||||
lin Fiji_CName = mkCName "Fidži" ;
|
||||
lin Fijian_dollar_CName = mkCName "Fidžin dollari" ;
|
||||
lin Finland_CName = mkCName (mkN "Suomi" "Suomia") ;
|
||||
lin France_CName = mkCName "Ranska" ;
|
||||
lin Freetown_CName = mkCName "Freetown" ;
|
||||
lin Funafuti_CName = mkCName "Funafuti" ;
|
||||
lin Gabon_CName = mkCName "Gabon" ;
|
||||
lin Gaborone_CName = mkCName "Gaborone" ;
|
||||
lin Georgetown_CName = mkCName "Georgetown" ;
|
||||
lin Georgia_CName = mkCName "Georgia" ;
|
||||
lin Georgian_lari_CName = mkCName "Georgian lari" ;
|
||||
lin Germany_CName = mkCName "Saksa" ;
|
||||
lin Ghana_CName = mkCName "Ghana" ;
|
||||
lin Ghana_cedi_CName = mkCName "Cedi" ;
|
||||
lin Gitega_CName = mkCName "Gitega" ;
|
||||
lin Greece_CName = mkCName "Kreikka" ;
|
||||
lin Grenada_CName = mkCName "Grenada" ;
|
||||
lin Guatemala_CName = mkCName "Guatemala" ;
|
||||
lin Guatemala_City_CName = mkCName "Guatemala" ;
|
||||
lin Guinea_CName = mkCName "Guinea" ;
|
||||
lin Guinean_franc_CName = mkCName "Guinean frangi" ;
|
||||
lin Guyana_CName = mkCName "Guyana" ;
|
||||
lin Guyanese_dollar_CName = mkCName "Guyanan dollari" ;
|
||||
lin Haiti_CName = mkCName "Haiti" ;
|
||||
lin Hanoi_CName = mkCName "Hanoi" ;
|
||||
lin Harare_CName = mkCName "Harare" ;
|
||||
lin Havana_CName = mkCName "Havanna" ;
|
||||
lin Helsinki_CName = mkCName "Helsinki" ;
|
||||
lin Honduran_lempira_CName = mkCName "Hondurasin lempira" ;
|
||||
lin Honduras_CName = mkCName "Honduras" ;
|
||||
lin Honiara_CName = mkCName "Honiara" ;
|
||||
lin Hungary_CName = mkCName "Unkari" ;
|
||||
lin Iceland_CName = mkCName "Islanti" ;
|
||||
lin Icelandic_króna_CName = mkCName "Islannin kruunu" ;
|
||||
lin India_CName = mkCName "Intia" ;
|
||||
lin Indian_rupee_CName = mkCName "Intian rupia" ;
|
||||
lin Indonesia_CName = mkCName "Indonesia" ;
|
||||
lin Iran_CName = mkCName "Iran" ;
|
||||
lin Iranian_rial_CName = mkCName "Iranin rial" ;
|
||||
lin Iraq_CName = mkCName "Irak" ;
|
||||
lin Iraqi_dinar_CName = mkCName "Irakin dinaari" ;
|
||||
lin Ireland_CName = mkCName "Irlanti" ;
|
||||
lin Islamabad_CName = mkCName "Islamabad" ;
|
||||
lin Israel_CName = mkCName "Israel" ;
|
||||
lin Italy_CName = mkCName "Italia" ;
|
||||
lin Ivory_Coast_CName = mkCName "Norsunluurannikko" ;
|
||||
lin Jakarta_CName = mkCName "Jakarta" ;
|
||||
lin Jamaica_CName = mkCName "Jamaika" ;
|
||||
lin Jamaican_dollar_CName = mkCName "Jamaikan dollari" ;
|
||||
lin Japan_CName = mkCName "Japani" ;
|
||||
lin Japanese_yen_CName = mkCName "Japanin jeni" ;
|
||||
lin Jerusalem_CName = mkCName "Jerusalem" ;
|
||||
lin Jordan_CName = mkCName "Jordania" ;
|
||||
lin Jordanian_dinar_CName = mkCName "Jordanian dinaari" ;
|
||||
lin Juba_CName = mkCName "Juba" ;
|
||||
lin Kabul_CName = mkCName "Kabul" ;
|
||||
lin Kampala_CName = mkCName "Kampala" ;
|
||||
lin Kathmandu_CName = mkCName "Kathmandu" ;
|
||||
lin Kazakhstan_CName = mkCName "Kazakstan" ;
|
||||
lin Kazakhstani_tenge_CName = mkCName "Kazakstanin tenge" ;
|
||||
lin Kenya_CName = mkCName "Kenia" ;
|
||||
lin Kenyan_shilling_CName = mkCName "Kenian šillinki" ;
|
||||
lin Khartoum_CName = mkCName "Khartum" ;
|
||||
lin Kigali_CName = mkCName "Kigali" ;
|
||||
lin Kingdom_of_the_Netherlands_CName = mkCName "Alankomaiden kuningaskunta" ;
|
||||
lin Kingston_CName = mkCName "Kingston" ;
|
||||
lin Kingstown_CName = mkCName "Kingstown" ;
|
||||
lin Kinshasa_CName = mkCName "Kinshasa" ;
|
||||
lin Kiribati_CName = mkCName "Kiribati" ;
|
||||
lin Kiribati_dollar_CName = mkCName "Kiribati dollar" ;
|
||||
lin Kuala_Lumpur_CName = mkCName "Kuala Lumpur" ;
|
||||
lin Kuwait_CName = mkCName "Kuwait" ;
|
||||
lin Kuwait_City_CName = mkCName "Kuwait" ;
|
||||
lin Kuwaiti_dinar_CName = mkCName "Kuwaitin dinaari" ;
|
||||
lin Kyiv_CName = mkCName "Kiova" ;
|
||||
lin Kyrgyzstan_CName = mkCName "Kirgisia" ;
|
||||
lin Kyrgyzstani_som_CName = mkCName "Kirgisian som" ;
|
||||
lin La_Paz_CName = mkCName "La Paz" ;
|
||||
lin Lao_kip_CName = mkCName "Laosin kip" ;
|
||||
lin Laos_CName = mkCName "Laos" ;
|
||||
lin Latvia_CName = mkCName "Latvia" ;
|
||||
lin Lebanese_pound_CName = mkCName "Libanonin punta" ;
|
||||
lin Lebanon_CName = mkCName "Libanon" ;
|
||||
lin Lesotho_CName = mkCName "Lesotho" ;
|
||||
lin Lesotho_loti_CName = mkCName "Lesothon loti" ;
|
||||
lin Liberia_CName = mkCName "Liberia" ;
|
||||
lin Liberian_dollar_CName = mkCName "Liberian dollari" ;
|
||||
lin Libreville_CName = mkCName "Libreville" ;
|
||||
lin Libya_CName = mkCName "Libya" ;
|
||||
lin Libyan_dinar_CName = mkCName "Libyan dinaari" ;
|
||||
lin Liechtenstein_CName = mkCName "Liechtenstein" ;
|
||||
lin Lilongwe_CName = mkCName "Lilongwe" ;
|
||||
lin Lima_CName = mkCName "Lima" ;
|
||||
lin Lisbon_CName = mkCName "Lissabon" ;
|
||||
lin Lithuania_CName = mkCName "Liettua" ;
|
||||
lin Ljubljana_CName = mkCName "Ljubljana" ;
|
||||
lin Lobamba_CName = mkCName "Lobamba" ;
|
||||
lin Lomé_CName = mkCName "Lomé" ;
|
||||
lin London_CName = mkCName "Lontoo" ;
|
||||
lin Luanda_CName = mkCName "Luanda" ;
|
||||
lin Lusaka_CName = mkCName "Lusaka" ;
|
||||
lin Luxembourg_CName = mkCName "Luxemburg" ;
|
||||
lin Madagascar_CName = mkCName "Madagaskar" ;
|
||||
lin Madrid_CName = mkCName "Madrid" ;
|
||||
lin Majuro_CName = mkCName "Majuro" ;
|
||||
lin Malabo_CName = mkCName "Malabo" ;
|
||||
lin Malawi_CName = mkCName "Malawi" ;
|
||||
lin Malawian_kwacha_CName = mkCName "Malawin kwacha" ;
|
||||
lin Malaysia_CName = mkCName "Malesia" ;
|
||||
lin Malaysian_ringgit_CName = mkCName "Malesian ringgit" ;
|
||||
lin Maldives_CName = mkCName "Malediivit" ;
|
||||
lin Maldivian_rufiyaa_CName = mkCName "Malediivien rufiyaa" ;
|
||||
lin Mali_CName = mkCName "Mali" ;
|
||||
lin Malta_CName = mkCName "Malta" ;
|
||||
lin Malé_CName = mkCName "Malé" ;
|
||||
lin Managua_CName = mkCName "Managua" ;
|
||||
lin Manama_CName = mkCName "Manama" ;
|
||||
lin Manila_CName = mkCName "Manila" ;
|
||||
lin Maputo_CName = mkCName "Maputo" ;
|
||||
lin Marshall_Islands_CName = exCName (mkCName (mkNP thePl_Det (mkN "Marshallin" (mkN "saari" "saaria")))) ;
|
||||
lin Maseru_CName = mkCName "Maseru" ;
|
||||
lin Mauritania_CName = mkCName "Mauritania" ;
|
||||
lin Mauritanian_ouguiya_CName = mkCName "Mauritanian ouguiya" ;
|
||||
lin Mauritian_rupee_CName = mkCName "Mauritiuksen rupia" ;
|
||||
lin Mauritius_CName = mkCName "Mauritius" ;
|
||||
lin Mexican_peso_CName = mkCName "Meksikon peso" ;
|
||||
lin Mexico_CName = mkCName "Meksiko" ;
|
||||
lin Mexico_City_CName = mkCName "México" ;
|
||||
lin Minsk_CName = mkCName "Minsk" ;
|
||||
lin Mogadishu_CName = mkCName "Mogadishu" ;
|
||||
lin Moldova_CName = mkCName "Moldova" ;
|
||||
lin Moldovan_leu_CName = mkCName "Moldovan leu" ;
|
||||
lin Monaco_CName = mkCName "Monaco" ;
|
||||
lin Monaco_City_CName = mkCName "Monaco City" ;
|
||||
lin Mongolia_CName = mkCName "Mongolia" ;
|
||||
lin Monrovia_CName = mkCName "Monrovia" ;
|
||||
lin Montenegro_CName = mkCName "Montenegro" ;
|
||||
lin Montevideo_CName = mkCName "Montevideo" ;
|
||||
lin Moroccan_dirham_CName = mkCName "Marokon dirhami" ;
|
||||
lin Morocco_CName = mkCName "Marokko" ;
|
||||
lin Moroni_CName = mkCName "Moroni" ;
|
||||
lin Moscow_CName = mkCName "Moskova" ;
|
||||
lin Mozambican_metical_CName = mkCName "Mosambikin metical" ;
|
||||
lin Mozambique_CName = mkCName "Mosambik" ;
|
||||
lin Muscat_CName = mkCName "Masqat" ;
|
||||
lin Myanmar_CName = mkCName "Myanmar" ;
|
||||
lin N'Djamena_CName = mkCName "N’Djamena" ;
|
||||
lin Nairobi_CName = mkCName "Nairobi" ;
|
||||
lin Namibia_CName = mkCName "Namibia" ;
|
||||
lin Namibian_dollar_CName = mkCName "Namibian dollari" ;
|
||||
lin Nassau_CName = mkCName "Nassau" ;
|
||||
lin Nauru_CName = mkCName "Nauru" ;
|
||||
lin Naypyidaw_CName = mkCName "Naypyidaw" ;
|
||||
lin Nepal_CName = mkCName "Nepal" ;
|
||||
lin Nepalese_rupee_CName = mkCName "Nepalin rupia" ;
|
||||
lin New_Delhi_CName = mkCName "New Delhi" ;
|
||||
lin New_Taiwan_dollar_CName = mkCName "Uusi Taiwanin dollari" ;
|
||||
lin New_Zealand_CName = mkCName "Uusi-Seelanti" ;
|
||||
lin New_Zealand_dollar_CName = mkCName "Uuden-Seelannin dollari" ;
|
||||
lin Ngerulmud_CName = mkCName "Ngerulmud" ;
|
||||
lin Niamey_CName = mkCName "Niamey" ;
|
||||
lin Nicaragua_CName = mkCName "Nicaragua" ;
|
||||
lin Nicaraguan_córdoba_CName = mkCName "Nicaraguan córdoba" ;
|
||||
lin Nicosia_CName = mkCName "Nikosia" ;
|
||||
lin Niger_CName = mkCName "Niger" ;
|
||||
lin Nigeria_CName = mkCName "Nigeria" ;
|
||||
lin Nigerian_naira_CName = mkCName "Nigerian naira" ;
|
||||
lin North_Korea_CName = mkCName "Korean demokraattinen kansantasavalta" ;
|
||||
lin North_Korean_won_CName = mkCName "Pohjois-Korean won" ;
|
||||
lin North_Macedonia_CName = mkCName "Pohjois-Makedonia" ;
|
||||
lin Norway_CName = mkCName "Norja" ;
|
||||
lin Norwegian_krone_CName = mkCName "Norjan kruunu" ;
|
||||
lin Nouakchott_CName = mkCName "Nouakchott" ;
|
||||
lin Nuku'alofa_CName = mkCName "Nukuʻalofa" ;
|
||||
lin Oman_CName = mkCName "Oman" ;
|
||||
lin Omani_rial_CName = mkCName "Omanin rial" ;
|
||||
lin Oslo_CName = mkCName "Oslo" ;
|
||||
lin Ottawa_CName = mkCName "Ottawa" ;
|
||||
lin Ouagadougou_CName = mkCName "Ouagadougou" ;
|
||||
lin Pakistan_CName = mkCName "Pakistan" ;
|
||||
lin Pakistani_rupee_CName = mkCName "Pakistanin rupia" ;
|
||||
lin Palau_CName = mkCName "Palau" ;
|
||||
lin Palikir_CName = mkCName "Palikir" ;
|
||||
lin Panama_CName = mkCName "Panama" ;
|
||||
lin Panama_City_CName = mkCName "Panamá" ;
|
||||
lin Panamanian_balboa_CName = mkCName "Panaman balboa" ;
|
||||
lin Papua_New_Guinea_CName = mkCName "Papua-Uusi-Guinea" ;
|
||||
lin Paraguay_CName = mkCName "Paraguay" ;
|
||||
lin Paraguayan_guaraní_CName = mkCName "Paraguayn guaraní" ;
|
||||
lin Paramaribo_CName = mkCName "Paramaribo" ;
|
||||
lin Paris_CName = mkCName "Pariisi" ;
|
||||
lin People's_Republic_of_China_CName = mkCName "Kiina" ;
|
||||
lin Peru_CName = mkCName "Peru" ;
|
||||
lin Peruvian_sol_CName = mkCName "Perun nuevo sol" ;
|
||||
lin Philippine_peso_CName = mkCName "Filippiinien peso" ;
|
||||
lin Philippines_CName = mkCName "Filippiinit" ;
|
||||
lin Phnom_Penh_CName = mkCName "Phnom Penh" ;
|
||||
lin Podgorica_CName = mkCName "Podgorica" ;
|
||||
lin Poland_CName = mkCName "Puola" ;
|
||||
lin Port_Louis_CName = mkCName "Port Louis" ;
|
||||
lin Port_Moresby_CName = mkCName "Port Moresby" ;
|
||||
lin Port_Vila_CName = mkCName "Port Vila" ;
|
||||
lin Port_of_Spain_CName = mkCName "Port of Spain" ;
|
||||
lin Portugal_CName = mkCName "Portugali" ;
|
||||
lin Prague_CName = mkCName "Praha" ;
|
||||
lin Praia_CName = mkCName "Praia" ;
|
||||
lin Pretoria_CName = mkCName "Pretoria" ;
|
||||
lin Pyongyang_CName = mkCName "Pjongjang" ;
|
||||
lin Qatar_CName = mkCName "Qatar" ;
|
||||
lin Qatari_riyal_CName = mkCName "Qatarin rial" ;
|
||||
lin Quito_CName = mkCName "Quito" ;
|
||||
lin Rabat_CName = mkCName "Rabat" ;
|
||||
lin Republic_of_the_Congo_CName = mkCName "Kongon tasavalta" ;
|
||||
lin Reykjavík_CName = mkCName "Reykjavík" ;
|
||||
lin Riga_CName = mkCName "Riika" ;
|
||||
lin Riyadh_CName = mkCName "Riad" ;
|
||||
lin Romania_CName = mkCName "Romania" ;
|
||||
lin Romanian_leu_CName = mkCName "Romanian leu" ;
|
||||
lin Rome_CName = mkCName "Rooma" ;
|
||||
lin Roseau_CName = mkCName "Roseau" ;
|
||||
lin Russia_CName = exCName (mkCName "Venäjä") ;
|
||||
lin Russian_ruble_CName = mkCName "Venäjän rupla" ;
|
||||
lin Rwanda_CName = mkCName "Ruanda" ;
|
||||
lin Rwandan_franc_CName = mkCName "Ruandan frangi" ;
|
||||
lin Saint_John's_CName = mkCName "St. John’s" ;
|
||||
lin Saint_Kitts_and_Nevis_CName = mkCName "Saint Kitts ja Nevis" ;
|
||||
lin Saint_Lucia_CName = mkCName "Saint Lucia" ;
|
||||
lin Saint_Vincent_and_the_Grenadines_CName = mkCName "Saint Vincent ja Grenadiinit" ;
|
||||
lin Samoa_CName = mkCName "Samoa" ;
|
||||
lin 'Samoan_tālā_CName' = mkCName "Samoan tala" ;
|
||||
lin San_José_CName = mkCName "San José" ;
|
||||
lin San_Marino_CName = mkCName "San Marino" ;
|
||||
lin San_Salvador_CName = mkCName "San Salvador" ;
|
||||
lin Sanaa_CName = mkCName "Sanaa" ;
|
||||
lin Santiago_CName = mkCName "Santiago de Chile" ;
|
||||
lin Santo_Domingo_CName = mkCName "Santo Domingo" ;
|
||||
lin Sarajevo_CName = mkCName "Sarajevo" ;
|
||||
lin Saudi_Arabia_CName = mkCName "Saudi-Arabia" ;
|
||||
lin Saudi_riyal_CName = mkCName "Saudi-Arabian rial" ;
|
||||
lin Senegal_CName = mkCName "Senegal" ;
|
||||
lin Seoul_CName = mkCName "Soul" ;
|
||||
lin Serbia_CName = mkCName "Serbia" ;
|
||||
lin Serbian_dinar_CName = mkCName "Serbian dinaari" ;
|
||||
lin Seychelles_CName = mkCName "Seychellit" ;
|
||||
lin Seychellois_rupee_CName = mkCName "Seychellien rupia" ;
|
||||
lin Sierra_Leone_CName = mkCName "Sierra Leone" ;
|
||||
lin Sierra_Leonean_leone_CName = mkCName "Sierra Leonen leone" ;
|
||||
lin Singapore_CName = mkCName "Singapore" ;
|
||||
lin Singapore_dollar_CName = mkCName "Singaporen dollari" ;
|
||||
lin Skopje_CName = mkCName "Skopje" ;
|
||||
lin Slovakia_CName = mkCName "Slovakia" ;
|
||||
lin Slovenia_CName = mkCName "Slovenia" ;
|
||||
lin Sofia_CName = mkCName "Sofia" ;
|
||||
lin Solomon_Islands_CName = exCName (mkCName (mkNP thePl_Det (mkN "Salomon" (mkN "saari" "saaria")))) ;
|
||||
lin Solomon_Islands_dollar_CName = mkCName "Salomonsaarten dollari" ;
|
||||
lin Somali_shilling_CName = mkCName "Somalian šillinki" ;
|
||||
lin Somalia_CName = mkCName "Somalia" ;
|
||||
lin South_Africa_CName = mkCName (mkN "Etelä-Afrikka") ;
|
||||
lin South_African_rand_CName = mkCName "Etelä-Afrikan randi" ;
|
||||
lin South_Korea_CName = mkCName "Etelä-Korea" ;
|
||||
lin South_Korean_won_CName = mkCName "Etelä-Korean won" ;
|
||||
lin South_Sudan_CName = mkCName "Etelä-Sudan" ;
|
||||
lin South_Sudanese_pound_CName = mkCName (mkN "Etelä-Sudanin punta") ;
|
||||
lin South_Tarawa_CName = mkCName "South Tarawa" ;
|
||||
lin Sovereign_Bolivar_CName = mkCName "Sovereign Bolivar" ;
|
||||
lin Spain_CName = mkCName "Espanja" ;
|
||||
lin Sri_Lanka_CName = mkCName "Sri Lanka" ;
|
||||
lin Sri_Lankan_rupee_CName = mkCName "Sri Lankan rupia" ;
|
||||
lin Stockholm_CName = mkCName "Tukholma" ;
|
||||
lin Sudan_CName = mkCName "Sudan" ;
|
||||
lin Sudanese_pound_CName = mkCName "Sudanin punta" ;
|
||||
lin Suriname_CName = mkCName "Suriname" ;
|
||||
lin Surinamese_dollar_CName = mkCName "Surinamen dollari" ;
|
||||
lin Suva_CName = mkCName "Suva" ;
|
||||
lin Sweden_CName = mkCName "Ruotsi" ;
|
||||
lin Swedish_krona_CName = mkCName "Ruotsin kruunu" ;
|
||||
lin Swiss_franc_CName = mkCName "Sveitsin frangi" ;
|
||||
lin Switzerland_CName = mkCName "Sveitsi" ;
|
||||
lin Syria_CName = mkCName "Syyria" ;
|
||||
lin Syrian_pound_CName = mkCName "Syyrian punta" ;
|
||||
lin São_Tomé_CName = mkCName "São Tomé" ;
|
||||
lin São_Tomé_and_Príncipe_CName = mkCName "São Tomé ja Príncipe" ;
|
||||
lin São_Tomé_and_Príncipe_dobra_CName = mkCName "São Tomén ja Príncipen dobra" ;
|
||||
lin Taipei_CName = mkCName "Taipei" ;
|
||||
lin Taiwan_CName = mkCName "Taiwan" ;
|
||||
lin Tajikistan_CName = mkCName "Tadžikistan" ;
|
||||
lin Tajikistani_somoni_CName = mkCName "Tadžikistanin somoni" ;
|
||||
lin Tallinn_CName = mkCName "Tallinna" ;
|
||||
lin Tanzania_CName = mkCName "Tansania" ;
|
||||
lin Tanzanian_shilling_CName = mkCName "Tansanian šillinki" ;
|
||||
lin Tashkent_CName = mkCName "Taškent" ;
|
||||
lin Tbilisi_CName = mkCName "Tbilisi" ;
|
||||
lin Tegucigalpa_CName = mkCName "Tegucigalpa" ;
|
||||
lin Tehran_CName = mkCName "Teheran" ;
|
||||
lin Thailand_CName = mkCName "Thaimaa" ;
|
||||
lin The_Bahamas_CName = mkCName "Bahama" ;
|
||||
lin The_Gambia_CName = mkCName "Gambia" ;
|
||||
lin Thimphu_CName = mkCName "Thimphu" ;
|
||||
lin Tirana_CName = mkCName "Tirana" ;
|
||||
lin Togo_CName = mkCName "Togo" ;
|
||||
lin Tokyo_CName = mkCName "Tokio" ;
|
||||
lin Tonga_CName = mkCName "Tonga" ;
|
||||
lin 'Tongan_paʻanga_CName' = mkCName "Tongan paʻanga" ;
|
||||
lin Trinidad_and_Tobago_CName = mkCName "Trinidad ja Tobago" ;
|
||||
lin Trinidad_and_Tobago_dollar_CName = mkCName "Trinidad ja Tobagon dollari" ;
|
||||
lin Tripoli_CName = mkCName "Tripoli" ;
|
||||
lin Tunis_CName = mkCName "Tunis" ;
|
||||
lin Tunisia_CName = mkCName "Tunisia" ;
|
||||
lin Tunisian_dinar_CName = mkCName "Tunisian dinaari" ;
|
||||
lin Turkey_CName = mkCName (mkN "Turkki") ;
|
||||
lin Turkish_lira_CName = mkCName "Turkin liira" ;
|
||||
lin Turkmenistan_CName = mkCName "Turkmenistan" ;
|
||||
lin Turkmenistan_manat_CName = mkCName "Turkmenistanin manat" ;
|
||||
lin Tuvalu_CName = mkCName "Tuvalu" ;
|
||||
lin Tuvaluan_dollar_CName = mkCName "Tuvalun dollari" ;
|
||||
lin Uganda_CName = mkCName "Uganda" ;
|
||||
lin Ugandan_shilling_CName = mkCName "Ugandan šillinki" ;
|
||||
lin Ukraine_CName = mkCName "Ukraina" ;
|
||||
lin Ulaanbaatar_CName = mkCName "Ulan Bator" ;
|
||||
lin United_Arab_Emirates_CName = mkCName "Yhdistyneet arabiemiirikunnat" ;
|
||||
lin United_Arab_Emirates_dirham_CName = mkCName "Yhdistyneiden arabiemiirikuntien dirhami" ;
|
||||
lin United_Kingdom_CName = mkCName "Yhdistynyt kuningaskunta" ;
|
||||
lin United_States_dollar_CName = mkCName "Yhdysvaltain dollari" ;
|
||||
lin United_States_of_America_CName = sgCName (mkCName (mkNP thePl_Det (exceptPlGenN (mkN "Yhdysvalta") "Yhdysvaltain"))) ;
|
||||
lin Uruguay_CName = mkCName "Uruguay" ;
|
||||
lin Uruguayan_peso_CName = mkCName "Uruguayn peso" ;
|
||||
lin Uzbekistan_CName = mkCName "Uzbekistan" ;
|
||||
lin Uzbekistani_som_CName = mkCName "Uzbekistanin som" ;
|
||||
lin Vaduz_CName = mkCName "Vaduz" ;
|
||||
lin Valletta_CName = mkCName "Valletta" ;
|
||||
lin Vanuatu_CName = mkCName "Vanuatu" ;
|
||||
lin Vanuatu_vatus_CName = mkCName "Vanuatun vatu" ;
|
||||
lin Venezuela_CName = mkCName "Venezuela" ;
|
||||
lin Victoria_CName = mkCName "Victoria" ;
|
||||
lin Vienna_CName = mkCName "Wien" ;
|
||||
lin Vientiane_CName = mkCName "Vientiane" ;
|
||||
lin Vietnam_CName = mkCName "Vietnam" ;
|
||||
lin Vietnamese_dong_CName = mkCName "Vietnamin đồng" ;
|
||||
lin Vilnius_CName = mkCName "Vilna" ;
|
||||
lin Warsaw_CName = mkCName "Varsova" ;
|
||||
lin Wellington_CName = mkCName "Wellington" ;
|
||||
lin West_African_CFA_franc_CName = mkCName "West African CFA franc" ;
|
||||
lin Windhoek_CName = mkCName "Windhoek" ;
|
||||
lin Yamoussoukro_CName = mkCName "Yamoussoukro" ;
|
||||
lin Yaoundé_CName = mkCName "Yaoundé" ;
|
||||
lin Yaren_District_CName = mkCName "Yaren" ;
|
||||
lin Yemen_CName = mkCName "Jemen" ;
|
||||
lin Yemeni_rial_CName = mkCName "Jemenin rial" ;
|
||||
lin Yerevan_CName = mkCName "Jerevan" ;
|
||||
lin Zagreb_CName = mkCName "Zagreb" ;
|
||||
lin Zambia_CName = mkCName "Sambia" ;
|
||||
lin Zambian_kwacha_CName = mkCName "Sambian kwacha" ;
|
||||
lin Zimbabwe_CName = mkCName "Zimbabwe" ;
|
||||
lin ariary_CName = mkCName "Madagaskarin ariary" ;
|
||||
lin baht_CName = mkCName "Baht" ;
|
||||
lin birr_CName = mkCName "Etiopian birr" ;
|
||||
lin boliviano_CName = mkCName "Bolivian boliviano" ;
|
||||
lin convertible_mark_CName = mkCName "Bosnian ja Hertsegovinan vaihdettava markka" ;
|
||||
lin dalasi_CName = mkCName "Dalasi" ;
|
||||
lin denar_CName = mkCName "Makedonian denaari" ;
|
||||
lin euro_CName = mkCName "euro" ;
|
||||
lin forint_CName = mkCName "Unkarin forintti" ;
|
||||
lin gourde_CName = mkCName "Haitin gourde" ;
|
||||
lin hryvnia_CName = mkCName "Ukrainan hryvnia" ;
|
||||
lin kina_CName = mkCName "Papua-Uuden-Guinean kina" ;
|
||||
lin kwanza_CName = mkCName "Angolan kwanza" ;
|
||||
lin kyat_CName = mkCName "Myanmarin kyat" ;
|
||||
lin lilangeni_CName = mkCName "Lilangeni" ;
|
||||
lin nakfa_CName = mkCName "Eritrean nakfa" ;
|
||||
lin new_shekel_CName = mkCName "Uusi Israelin sekeli" ;
|
||||
lin ngultrum_CName = mkCName "Bhutanin ngultrum" ;
|
||||
lin pound_sterling_CName = mkCName "Englannin punta" ;
|
||||
lin quetzal_CName = mkCName "Guatemalan quetzal" ;
|
||||
lin renminbi_CName = mkCName "Renminbi" ;
|
||||
lin riel_CName = mkCName "Kambodžan riel" ;
|
||||
lin rupiah_CName = mkCName "Indonesian rupia" ;
|
||||
lin tugrik_CName = mkCName "Mongolian tugrik" ;
|
||||
lin 'złoty_CName' = mkCName "Puolan złoty" ;
|
||||
}
|
||||
550
old-labs/lab2/wikipedia-2022/CountryNamesGer.gf
Normal file
550
old-labs/lab2/wikipedia-2022/CountryNamesGer.gf
Normal file
@@ -0,0 +1,550 @@
|
||||
concrete CountryNamesGer of CountryNames =
|
||||
|
||||
open SyntaxGer, ParadigmsGer in {
|
||||
|
||||
lincat CName = NP ;
|
||||
|
||||
oper mkCName = overload {
|
||||
mkCName : Str -> NP = \s -> mkNP (mkPN s) ;
|
||||
mkCName : NP -> NP = \np -> np ;
|
||||
} ;
|
||||
|
||||
lin 'Guinea-Bissau_CName' = mkCName "Guinea-Bissau" ;
|
||||
lin 'Nur-Sultan_CName' = mkCName "Nur-Sultan" ;
|
||||
lin 'Port-au-Prince_CName' = mkCName "Port-au-Prince" ;
|
||||
lin 'Porto-Novo_CName' = mkCName "Porto-Novo" ;
|
||||
lin 'St._George\'s_CName' = mkCName "St. George’s" ;
|
||||
lin 'Washington,_D.C._CName' = mkCName "Washington, D.C." ;
|
||||
lin Abu_Dhabi_CName = mkCName "Abu Dhabi" ;
|
||||
lin Abuja_CName = mkCName "Abuja" ;
|
||||
lin Accra_CName = mkCName "Accra" ;
|
||||
lin Addis_Ababa_CName = mkCName "Addis Abeba" ;
|
||||
lin Afghan_afghani_CName = mkCName "Afghani" ;
|
||||
lin Afghanistan_CName = mkCName "Afghanistan" ;
|
||||
lin Africa_CName = mkCName "Afrika" ;
|
||||
lin Albania_CName = mkCName "Albanien" ;
|
||||
lin Albanian_lek_CName = mkCName "Albanischer Lek" ;
|
||||
lin Algeria_CName = mkCName "Algerien" ;
|
||||
lin Algerian_dinar_CName = mkCName "algerischer Dinar" ;
|
||||
lin Algiers_CName = mkCName "Algier" ;
|
||||
lin Amman_CName = mkCName "Amman" ;
|
||||
lin Amsterdam_CName = mkCName "Amsterdam" ;
|
||||
lin Andorra_CName = mkCName "Andorra" ;
|
||||
lin Andorra_la_Vella_CName = mkCName "Andorra la Vella" ;
|
||||
lin Angola_CName = mkCName "Angola" ;
|
||||
lin Ankara_CName = mkCName "Ankara" ;
|
||||
lin Antananarivo_CName = mkCName "Antananarivo" ;
|
||||
lin Antigua_and_Barbuda_CName = mkCName "Antigua und Barbuda" ;
|
||||
lin Apia_CName = mkCName "Apia" ;
|
||||
lin Argentina_CName = mkCName "Argentinien" ;
|
||||
lin Argentine_peso_CName = mkCName "argentinischer Peso" ;
|
||||
lin Armenia_CName = mkCName "Armenien" ;
|
||||
lin Armenian_dram_CName = mkCName "Dram" ;
|
||||
lin Ashgabat_CName = mkCName "Aşgabat" ;
|
||||
lin Asia_CName = mkCName "Asien" ;
|
||||
lin Asmara_CName = mkCName "Asmara" ;
|
||||
lin Asunción_CName = mkCName "Asunción" ;
|
||||
lin Athens_CName = mkCName "Athen" ;
|
||||
lin Australia_CName = mkCName "Australien" ;
|
||||
lin Australian_dollar_CName = mkCName "Australischer Dollar" ;
|
||||
lin Austria_CName = mkCName "Österreich" ;
|
||||
lin Azerbaijan_CName = mkCName "Aserbaidschan" ;
|
||||
lin Azerbaijani_manat_CName = mkCName "Aserbaidschan-Manat" ;
|
||||
lin Baghdad_CName = mkCName "Bagdad" ;
|
||||
lin Bahamian_dollar_CName = mkCName "Bahama-Dollar" ;
|
||||
lin Bahrain_CName = mkCName "Bahrain" ;
|
||||
lin Bahraini_dinar_CName = mkCName "Bahrain-Dinar" ;
|
||||
lin Baku_CName = mkCName "Baku" ;
|
||||
lin Bamako_CName = mkCName "Bamako" ;
|
||||
lin Bandar_Seri_Begawan_CName = mkCName "Bandar Seri Begawan" ;
|
||||
lin Bangkok_CName = mkCName "Bangkok" ;
|
||||
lin Bangladesh_CName = mkCName "Bangladesch" ;
|
||||
lin Bangladeshi_taka_CName = mkCName "Taka" ;
|
||||
lin Bangui_CName = mkCName "Bangui" ;
|
||||
lin Banjul_CName = mkCName "Banjul" ;
|
||||
lin Barbadian_dollar_CName = mkCName "Barbados-Dollar" ;
|
||||
lin Barbados_CName = mkCName "Barbados" ;
|
||||
lin Basseterre_CName = mkCName "Basseterre" ;
|
||||
lin Beijing_CName = mkCName "Peking" ;
|
||||
lin Beirut_CName = mkCName "Beirut" ;
|
||||
lin Belarus_CName = mkCName "Belarus" ;
|
||||
lin Belarusian_ruble_CName = mkCName "weißrussischer Rubel" ;
|
||||
lin Belgium_CName = mkCName "Belgien" ;
|
||||
lin Belgrade_CName = mkCName "Belgrad" ;
|
||||
lin Belize_CName = mkCName "Belize" ;
|
||||
lin Belize_dollar_CName = mkCName "Belize-Dollar" ;
|
||||
lin Belmopan_CName = mkCName "Belmopan" ;
|
||||
lin Benin_CName = mkCName "Benin" ;
|
||||
lin Berlin_CName = mkCName "Berlin" ;
|
||||
lin Bern_CName = mkCName "Bern" ;
|
||||
lin Bhutan_CName = mkCName "Bhutan" ;
|
||||
lin Bishkek_CName = mkCName "Bischkek" ;
|
||||
lin Bissau_CName = mkCName "Bissau" ;
|
||||
lin Bogotá_CName = mkCName "Bogotá" ;
|
||||
lin Bolivia_CName = mkCName "Bolivien" ;
|
||||
lin Bosnia_and_Herzegovina_CName = mkCName "Bosnien und Herzegowina" ;
|
||||
lin Botswana_CName = mkCName "Botswana" ;
|
||||
lin Botswana_pula_CName = mkCName "botswanischer Pula" ;
|
||||
lin Brasília_CName = mkCName "Brasília" ;
|
||||
lin Bratislava_CName = mkCName "Bratislava" ;
|
||||
lin Brazil_CName = mkCName "Brasilien" ;
|
||||
lin Brazilian_real_CName = mkCName "brasilianischer Real" ;
|
||||
lin Brazzaville_CName = mkCName "Brazzaville" ;
|
||||
lin Bridgetown_CName = mkCName "Bridgetown" ;
|
||||
lin Brunei_CName = mkCName "Brunei" ;
|
||||
lin Brunei_dollar_CName = mkCName "Brunei-Dollar" ;
|
||||
lin Bucharest_CName = mkCName "Bukarest" ;
|
||||
lin Budapest_CName = mkCName "Budapest" ;
|
||||
lin Buenos_Aires_CName = mkCName "Buenos Aires" ;
|
||||
lin Bulgaria_CName = mkCName "Bulgarien" ;
|
||||
lin Bulgarian_lev_CName = mkCName "Lew" ;
|
||||
lin Burkina_Faso_CName = mkCName "Burkina Faso" ;
|
||||
lin Burundi_CName = mkCName "Burundi" ;
|
||||
lin Burundian_franc_CName = mkCName "Burundi-Franc" ;
|
||||
lin Cairo_CName = mkCName "Kairo" ;
|
||||
lin Cambodia_CName = mkCName "Kambodscha" ;
|
||||
lin Cameroon_CName = mkCName "Kamerun" ;
|
||||
lin Canada_CName = mkCName "Kanada" ;
|
||||
lin Canadian_dollar_CName = mkCName "kanadischer Dollar" ;
|
||||
lin Canberra_CName = mkCName "Canberra" ;
|
||||
lin Cape_Verde_CName = mkCName "Kap Verde" ;
|
||||
lin Cape_Verdean_escudo_CName = mkCName "Kap-Verde-Escudo" ;
|
||||
lin Caracas_CName = mkCName "Caracas" ;
|
||||
lin Castries_CName = mkCName "Castries" ;
|
||||
lin Central_African_CFA_franc_CName = mkCName "CFA-Franc BEAC" ;
|
||||
lin Central_African_Republic_CName = mkCName "Zentralafrikanische Republik" ;
|
||||
lin Central_America_CName = mkCName "Zentralamerika" ;
|
||||
lin Chad_CName = mkCName "Tschad" ;
|
||||
lin Chile_CName = mkCName "Chile" ;
|
||||
lin Chilean_peso_CName = mkCName "chilenischer Peso" ;
|
||||
lin 'Chișinău_CName' = mkCName "Chișinău" ;
|
||||
lin City_of_Brussels_CName = mkCName "Brüssel" ;
|
||||
lin Colombia_CName = mkCName "Kolumbien" ;
|
||||
lin Colombian_cincuenta_centavos_CName = mkCName "kolumbianischer Peso" ;
|
||||
lin Colombo_CName = mkCName "Colombo" ;
|
||||
lin Comorian_franc_CName = mkCName "Komoren-Franc" ;
|
||||
lin Comoros_CName = mkCName "Komoren" ;
|
||||
lin Conakry_CName = mkCName "Conakry" ;
|
||||
lin Congolese_franc_CName = mkCName "Kongo-Franc" ;
|
||||
lin Copenhagen_CName = mkCName "Kopenhagen" ;
|
||||
lin Costa_Rica_CName = mkCName "Costa Rica" ;
|
||||
lin Costa_Rican_colón_CName = mkCName "Costa-Rica-Colón" ;
|
||||
lin Croatia_CName = mkCName "Kroatien" ;
|
||||
lin Croatian_kuna_CName = mkCName "kroatische Kuna" ;
|
||||
lin Cuba_CName = mkCName "Kuba" ;
|
||||
lin Cuban_peso_CName = mkCName "kubanischer Peso" ;
|
||||
lin Cyprus_CName = mkCName "Republik Zypern" ;
|
||||
lin Czech_Republic_CName = mkCName "Tschechien" ;
|
||||
lin Czech_koruna_CName = mkCName "tschechische Krone" ;
|
||||
lin Dakar_CName = mkCName "Dakar" ;
|
||||
lin Damascus_CName = mkCName "Damaskus" ;
|
||||
lin Danish_krone_CName = mkCName "dänische Krone" ;
|
||||
lin Democratic_Republic_of_the_Congo_CName = mkCName "Demokratische Republik Kongo" ;
|
||||
lin Denmark_CName = mkCName "Dänemark" ;
|
||||
lin Dhaka_CName = mkCName "Dhaka" ;
|
||||
lin Dili_CName = mkCName "Dili" ;
|
||||
lin Djibouti_CName = mkCName "Dschibuti" ;
|
||||
lin Djiboutian_franc_CName = mkCName "Dschibuti-Franc" ;
|
||||
lin Dodoma_CName = mkCName "Dodoma" ;
|
||||
lin Doha_CName = mkCName "Doha" ;
|
||||
lin Dominica_CName = mkCName "Dominica" ;
|
||||
lin Dominican_Republic_CName = mkCName "Dominikanische Republik" ;
|
||||
lin Dominican_peso_CName = mkCName "dominikanischer Peso" ;
|
||||
lin Dublin_CName = mkCName "Dublin" ;
|
||||
lin Dushanbe_CName = mkCName "Duschanbe" ;
|
||||
lin East_Timor_CName = mkCName "Osttimor" ;
|
||||
lin East_Timor_centavo_coins_CName = mkCName "East Timor centavo coins" ;
|
||||
lin Eastern_Caribbean_dollar_CName = mkCName "Ostkaribischer Dollar" ;
|
||||
lin Ecuador_CName = mkCName "Ecuador" ;
|
||||
lin Egypt_CName = mkCName "Ägypten" ;
|
||||
lin Egyptian_pound_CName = mkCName "ägyptisches Pfund" ;
|
||||
lin El_Salvador_CName = mkCName "El Salvador" ;
|
||||
lin Equatorial_Guinea_CName = mkCName "Äquatorialguinea" ;
|
||||
lin Eritrea_CName = mkCName "Eritrea" ;
|
||||
lin Estonia_CName = mkCName "Estland" ;
|
||||
lin Eswatini_CName = mkCName "Eswatini" ;
|
||||
lin Ethiopia_CName = mkCName "Äthiopien" ;
|
||||
lin Europe_CName = mkCName "Europa" ;
|
||||
lin Federated_States_of_Micronesia_CName = mkCName "Föderierte Staaten von Mikronesien" ;
|
||||
lin Fiji_CName = mkCName "Fidschi" ;
|
||||
lin Fijian_dollar_CName = mkCName "Fidschi-Dollar" ;
|
||||
lin Finland_CName = mkCName "Finnland" ;
|
||||
lin France_CName = mkCName "Frankreich" ;
|
||||
lin Freetown_CName = mkCName "Freetown" ;
|
||||
lin Funafuti_CName = mkCName "Funafuti" ;
|
||||
lin Gabon_CName = mkCName "Gabun" ;
|
||||
lin Gaborone_CName = mkCName "Gaborone" ;
|
||||
lin Georgetown_CName = mkCName "Georgetown" ;
|
||||
lin Georgia_CName = mkCName "Georgien" ;
|
||||
lin Georgian_lari_CName = mkCName "georgischer Lari" ;
|
||||
lin Germany_CName = mkCName "Deutschland" ;
|
||||
lin Ghana_CName = mkCName "Ghana" ;
|
||||
lin Ghana_cedi_CName = mkCName "Cedi" ;
|
||||
lin Gitega_CName = mkCName "Gitega" ;
|
||||
lin Greece_CName = mkCName "Griechenland" ;
|
||||
lin Grenada_CName = mkCName "Grenada" ;
|
||||
lin Guatemala_CName = mkCName "Guatemala" ;
|
||||
lin Guatemala_City_CName = mkCName "Guatemala-Stadt" ;
|
||||
lin Guinea_CName = mkCName "Guinea" ;
|
||||
lin Guinean_franc_CName = mkCName "Franc Guinéen" ;
|
||||
lin Guyana_CName = mkCName "Guyana" ;
|
||||
lin Guyanese_dollar_CName = mkCName "Guyana-Dollar" ;
|
||||
lin Haiti_CName = mkCName "Haiti" ;
|
||||
lin Hanoi_CName = mkCName "Hanoi" ;
|
||||
lin Harare_CName = mkCName "Harare" ;
|
||||
lin Havana_CName = mkCName "Havanna" ;
|
||||
lin Helsinki_CName = mkCName "Helsinki" ;
|
||||
lin Honduran_lempira_CName = mkCName "Lempira" ;
|
||||
lin Honduras_CName = mkCName "Honduras" ;
|
||||
lin Honiara_CName = mkCName "Honiara" ;
|
||||
lin Hungary_CName = mkCName "Ungarn" ;
|
||||
lin Iceland_CName = mkCName "Island" ;
|
||||
lin Icelandic_króna_CName = mkCName "isländische Krone" ;
|
||||
lin India_CName = mkCName "Indien" ;
|
||||
lin Indian_rupee_CName = mkCName "Indische Rupie" ;
|
||||
lin Indonesia_CName = mkCName "Indonesien" ;
|
||||
lin Iran_CName = mkCName "Iran" ;
|
||||
lin Iranian_rial_CName = mkCName "iranischer Rial" ;
|
||||
lin Iraq_CName = mkCName "Irak" ;
|
||||
lin Iraqi_dinar_CName = mkCName "irakischer Dinar" ;
|
||||
lin Ireland_CName = mkCName "Irland" ;
|
||||
lin Islamabad_CName = mkCName "Islamabad" ;
|
||||
lin Israel_CName = mkCName "Israel" ;
|
||||
lin Italy_CName = mkCName "Italien" ;
|
||||
lin Ivory_Coast_CName = mkCName "Elfenbeinküste" ;
|
||||
lin Jakarta_CName = mkCName "Jakarta" ;
|
||||
lin Jamaica_CName = mkCName "Jamaika" ;
|
||||
lin Jamaican_dollar_CName = mkCName "Jamaika-Dollar" ;
|
||||
lin Japan_CName = mkCName "Japan" ;
|
||||
lin Japanese_yen_CName = mkCName "Yen" ;
|
||||
lin Jerusalem_CName = mkCName "Jerusalem" ;
|
||||
lin Jordan_CName = mkCName "Jordanien" ;
|
||||
lin Jordanian_dinar_CName = mkCName "jordanischer Dinar" ;
|
||||
lin Juba_CName = mkCName "Juba" ;
|
||||
lin Kabul_CName = mkCName "Kabul" ;
|
||||
lin Kampala_CName = mkCName "Kampala" ;
|
||||
lin Kathmandu_CName = mkCName "Kathmandu" ;
|
||||
lin Kazakhstan_CName = mkCName "Kasachstan" ;
|
||||
lin Kazakhstani_tenge_CName = mkCName "Tenge" ;
|
||||
lin Kenya_CName = mkCName "Kenia" ;
|
||||
lin Kenyan_shilling_CName = mkCName "Kenia-Schilling" ;
|
||||
lin Khartoum_CName = mkCName "Khartum" ;
|
||||
lin Kigali_CName = mkCName "Kigali" ;
|
||||
lin Kingdom_of_the_Netherlands_CName = mkCName "Königreich der Niederlande" ;
|
||||
lin Kingston_CName = mkCName "Kingston" ;
|
||||
lin Kingstown_CName = mkCName "Kingstown" ;
|
||||
lin Kinshasa_CName = mkCName "Kinshasa" ;
|
||||
lin Kiribati_CName = mkCName "Kiribati" ;
|
||||
lin Kiribati_dollar_CName = mkCName "Kiribati dollar" ;
|
||||
lin Kuala_Lumpur_CName = mkCName "Kuala Lumpur" ;
|
||||
lin Kuwait_CName = mkCName "Kuwait" ;
|
||||
lin Kuwait_City_CName = mkCName "Kuwait" ;
|
||||
lin Kuwaiti_dinar_CName = mkCName "Kuwait-Dinar" ;
|
||||
lin Kyiv_CName = mkCName "Kiew" ;
|
||||
lin Kyrgyzstan_CName = mkCName "Kirgisistan" ;
|
||||
lin Kyrgyzstani_som_CName = mkCName "Som" ;
|
||||
lin La_Paz_CName = mkCName "La Paz" ;
|
||||
lin Lao_kip_CName = mkCName "Kip" ;
|
||||
lin Laos_CName = mkCName "Laos" ;
|
||||
lin Latvia_CName = mkCName "Lettland" ;
|
||||
lin Lebanese_pound_CName = mkCName "libanesisches Pfund" ;
|
||||
lin Lebanon_CName = mkCName "Libanon" ;
|
||||
lin Lesotho_CName = mkCName "Lesotho" ;
|
||||
lin Lesotho_loti_CName = mkCName "Lesothischer Loti" ;
|
||||
lin Liberia_CName = mkCName "Liberia" ;
|
||||
lin Liberian_dollar_CName = mkCName "Liberianischer Dollar" ;
|
||||
lin Libreville_CName = mkCName "Libreville" ;
|
||||
lin Libya_CName = mkCName "Libyen" ;
|
||||
lin Libyan_dinar_CName = mkCName "libyscher Dinar" ;
|
||||
lin Liechtenstein_CName = mkCName "Liechtenstein" ;
|
||||
lin Lilongwe_CName = mkCName "Lilongwe" ;
|
||||
lin Lima_CName = mkCName "Lima" ;
|
||||
lin Lisbon_CName = mkCName "Lissabon" ;
|
||||
lin Lithuania_CName = mkCName "Litauen" ;
|
||||
lin Ljubljana_CName = mkCName "Ljubljana" ;
|
||||
lin Lobamba_CName = mkCName "Lobamba" ;
|
||||
lin Lomé_CName = mkCName "Lomé" ;
|
||||
lin London_CName = mkCName "London" ;
|
||||
lin Luanda_CName = mkCName "Luanda" ;
|
||||
lin Lusaka_CName = mkCName "Lusaka" ;
|
||||
lin Luxembourg_CName = mkCName "Luxemburg" ;
|
||||
lin Madagascar_CName = mkCName "Madagaskar" ;
|
||||
lin Madrid_CName = mkCName "Madrid" ;
|
||||
lin Majuro_CName = mkCName "Majuro" ;
|
||||
lin Malabo_CName = mkCName "Malabo" ;
|
||||
lin Malawi_CName = mkCName "Malawi" ;
|
||||
lin Malawian_kwacha_CName = mkCName "Malawi-Kwacha" ;
|
||||
lin Malaysia_CName = mkCName "Malaysia" ;
|
||||
lin Malaysian_ringgit_CName = mkCName "Ringgit" ;
|
||||
lin Maldives_CName = mkCName "Malediven" ;
|
||||
lin Maldivian_rufiyaa_CName = mkCName "Rufiyaa" ;
|
||||
lin Mali_CName = mkCName "Mali" ;
|
||||
lin Malta_CName = mkCName "Malta" ;
|
||||
lin Malé_CName = mkCName "Malé" ;
|
||||
lin Managua_CName = mkCName "Managua" ;
|
||||
lin Manama_CName = mkCName "Manama" ;
|
||||
lin Manila_CName = mkCName "Manila" ;
|
||||
lin Maputo_CName = mkCName "Maputo" ;
|
||||
lin Marshall_Islands_CName = mkCName "Marshallinseln" ;
|
||||
lin Maseru_CName = mkCName "Maseru" ;
|
||||
lin Mauritania_CName = mkCName "Mauretanien" ;
|
||||
lin Mauritanian_ouguiya_CName = mkCName "Ouguiya" ;
|
||||
lin Mauritian_rupee_CName = mkCName "Mauritius-Rupie" ;
|
||||
lin Mauritius_CName = mkCName "Mauritius" ;
|
||||
lin Mexican_peso_CName = mkCName "Mexikanischer Peso" ;
|
||||
lin Mexico_CName = mkCName "Mexiko" ;
|
||||
lin Mexico_City_CName = mkCName "Mexiko-Stadt" ;
|
||||
lin Minsk_CName = mkCName "Minsk" ;
|
||||
lin Mogadishu_CName = mkCName "Mogadischu" ;
|
||||
lin Moldova_CName = mkCName "Republik Moldau" ;
|
||||
lin Moldovan_leu_CName = mkCName "moldauischer Leu" ;
|
||||
lin Monaco_CName = mkCName "Monaco" ;
|
||||
lin Monaco_City_CName = mkCName "Monaco City" ;
|
||||
lin Mongolia_CName = mkCName "Mongolei" ;
|
||||
lin Monrovia_CName = mkCName "Monrovia" ;
|
||||
lin Montenegro_CName = mkCName "Montenegro" ;
|
||||
lin Montevideo_CName = mkCName "Montevideo" ;
|
||||
lin Moroccan_dirham_CName = mkCName "Marokkanischer Dirham" ;
|
||||
lin Morocco_CName = mkCName "Marokko" ;
|
||||
lin Moroni_CName = mkCName "Moroni" ;
|
||||
lin Moscow_CName = mkCName "Moskau" ;
|
||||
lin Mozambican_metical_CName = mkCName "Metical" ;
|
||||
lin Mozambique_CName = mkCName "Mosambik" ;
|
||||
lin Muscat_CName = mkCName "Maskat" ;
|
||||
lin Myanmar_CName = mkCName "Myanmar" ;
|
||||
lin N'Djamena_CName = mkCName "N’Djamena" ;
|
||||
lin Nairobi_CName = mkCName "Nairobi" ;
|
||||
lin Namibia_CName = mkCName "Namibia" ;
|
||||
lin Namibian_dollar_CName = mkCName "Namibia-Dollar" ;
|
||||
lin Nassau_CName = mkCName "Nassau" ;
|
||||
lin Nauru_CName = mkCName "Nauru" ;
|
||||
lin Naypyidaw_CName = mkCName "Naypyidaw" ;
|
||||
lin Nepal_CName = mkCName "Nepal" ;
|
||||
lin Nepalese_rupee_CName = mkCName "Nepalesische Rupie" ;
|
||||
lin New_Delhi_CName = mkCName "Neu-Delhi" ;
|
||||
lin New_Taiwan_dollar_CName = mkCName "Neuer Taiwan-Dollar" ;
|
||||
lin New_Zealand_CName = mkCName "Neuseeland" ;
|
||||
lin New_Zealand_dollar_CName = mkCName "Neuseeland-Dollar" ;
|
||||
lin Ngerulmud_CName = mkCName "Ngerulmud" ;
|
||||
lin Niamey_CName = mkCName "Niamey" ;
|
||||
lin Nicaragua_CName = mkCName "Nicaragua" ;
|
||||
lin Nicaraguan_córdoba_CName = mkCName "Córdoba Oro" ;
|
||||
lin Nicosia_CName = mkCName "Nikosia" ;
|
||||
lin Niger_CName = mkCName "Niger" ;
|
||||
lin Nigeria_CName = mkCName "Nigeria" ;
|
||||
lin Nigerian_naira_CName = mkCName "Naira" ;
|
||||
lin North_America_CName = mkCName "Nordamerika" ;
|
||||
lin North_Korea_CName = mkCName "Nordkorea" ;
|
||||
lin North_Korean_won_CName = mkCName "nordkoreanischer Won" ;
|
||||
lin North_Macedonia_CName = mkCName "Nordmazedonien" ;
|
||||
lin Norway_CName = mkCName "Norwegen" ;
|
||||
lin Norwegian_krone_CName = mkCName "norwegische Krone" ;
|
||||
lin Nouakchott_CName = mkCName "Nouakchott" ;
|
||||
lin Nuku'alofa_CName = mkCName "Nukuʻalofa" ;
|
||||
lin Oman_CName = mkCName "Oman" ;
|
||||
lin Omani_rial_CName = mkCName "Omanischer Rial" ;
|
||||
lin Oslo_CName = mkCName "Oslo" ;
|
||||
lin Ottawa_CName = mkCName "Ottawa" ;
|
||||
lin Ouagadougou_CName = mkCName "Ouagadougou" ;
|
||||
lin Pakistan_CName = mkCName "Pakistan" ;
|
||||
lin Pakistani_rupee_CName = mkCName "pakistanische Rupie" ;
|
||||
lin Palau_CName = mkCName "Palau" ;
|
||||
lin Palikir_CName = mkCName "Palikir" ;
|
||||
lin Panama_CName = mkCName "Panama" ;
|
||||
lin Panama_City_CName = mkCName "Panama-Stadt" ;
|
||||
lin Panamanian_balboa_CName = mkCName "Panamaischer Balboa" ;
|
||||
lin Papua_New_Guinea_CName = mkCName "Papua-Neuguinea" ;
|
||||
lin Paraguay_CName = mkCName "Paraguay" ;
|
||||
lin Paraguayan_guaraní_CName = mkCName "Paraguayischer Guaraní" ;
|
||||
lin Paramaribo_CName = mkCName "Paramaribo" ;
|
||||
lin Paris_CName = mkCName "Paris" ;
|
||||
lin People's_Republic_of_China_CName = mkCName "Volksrepublik China" ;
|
||||
lin Peru_CName = mkCName "Peru" ;
|
||||
lin Peruvian_sol_CName = mkCName "Nuevo Sol" ;
|
||||
lin Philippine_peso_CName = mkCName "philippinischer Peso" ;
|
||||
lin Philippines_CName = mkCName "Philippinen" ;
|
||||
lin Phnom_Penh_CName = mkCName "Phnom Penh" ;
|
||||
lin Podgorica_CName = mkCName "Podgorica" ;
|
||||
lin Poland_CName = mkCName "Polen" ;
|
||||
lin Port_Louis_CName = mkCName "Port Louis" ;
|
||||
lin Port_Moresby_CName = mkCName "Port Moresby" ;
|
||||
lin Port_Vila_CName = mkCName "Port Vila" ;
|
||||
lin Port_of_Spain_CName = mkCName "Port of Spain" ;
|
||||
lin Portugal_CName = mkCName "Portugal" ;
|
||||
lin Prague_CName = mkCName "Prag" ;
|
||||
lin Praia_CName = mkCName "Praia" ;
|
||||
lin Pretoria_CName = mkCName "Pretoria" ;
|
||||
lin Pyongyang_CName = mkCName "Pjöngjang" ;
|
||||
lin Qatar_CName = mkCName "Katar" ;
|
||||
lin Qatari_riyal_CName = mkCName "Katar-Riyal" ;
|
||||
lin Quito_CName = mkCName "Quito" ;
|
||||
lin Rabat_CName = mkCName "Rabat" ;
|
||||
lin Republic_of_the_Congo_CName = mkCName "Republik Kongo" ;
|
||||
lin Reykjavík_CName = mkCName "Reykjavík" ;
|
||||
lin Riga_CName = mkCName "Riga" ;
|
||||
lin Riyadh_CName = mkCName "Riad" ;
|
||||
lin Romania_CName = mkCName "Rumänien" ;
|
||||
lin Romanian_leu_CName = mkCName "rumänischer Leu" ;
|
||||
lin Rome_CName = mkCName "Rom" ;
|
||||
lin Roseau_CName = mkCName "Roseau" ;
|
||||
lin Russia_CName = mkCName "Russland" ;
|
||||
lin Russian_ruble_CName = mkCName "russischer Rubel" ;
|
||||
lin Rwanda_CName = mkCName "Ruanda" ;
|
||||
lin Rwandan_franc_CName = mkCName "Ruanda-Franc" ;
|
||||
lin Saint_John's_CName = mkCName "Saint John’s" ;
|
||||
lin Saint_Kitts_and_Nevis_CName = mkCName "St. Kitts und Nevis" ;
|
||||
lin Saint_Lucia_CName = mkCName "St. Lucia" ;
|
||||
lin Saint_Vincent_and_the_Grenadines_CName = mkCName "St. Vincent und die Grenadinen" ;
|
||||
lin Samoa_CName = mkCName "Samoa" ;
|
||||
lin 'Samoan_tālā_CName' = mkCName "samoanischer Tala" ;
|
||||
lin San_José_CName = mkCName "San José" ;
|
||||
lin San_Marino_CName = mkCName "San Marino" ;
|
||||
lin San_Salvador_CName = mkCName "San Salvador" ;
|
||||
lin Sanaa_CName = mkCName "Sanaa" ;
|
||||
lin Santiago_CName = mkCName "Santiago de Chile" ;
|
||||
lin Santo_Domingo_CName = mkCName "Santo Domingo" ;
|
||||
lin Sarajevo_CName = mkCName "Sarajevo" ;
|
||||
lin Saudi_Arabia_CName = mkCName "Saudi-Arabien" ;
|
||||
lin Saudi_riyal_CName = mkCName "Saudi-Rial" ;
|
||||
lin Senegal_CName = mkCName "Senegal" ;
|
||||
lin Seoul_CName = mkCName "Seoul" ;
|
||||
lin Serbia_CName = mkCName "Serbien" ;
|
||||
lin Serbian_dinar_CName = mkCName "serbischer Dinar" ;
|
||||
lin Seychelles_CName = mkCName "Seychellen" ;
|
||||
lin Seychellois_rupee_CName = mkCName "Seychellen-Rupie" ;
|
||||
lin Sierra_Leone_CName = mkCName "Sierra Leone" ;
|
||||
lin Sierra_Leonean_leone_CName = mkCName "Sierra-leonischer Leone" ;
|
||||
lin Singapore_CName = mkCName "Singapur" ;
|
||||
lin Singapore_dollar_CName = mkCName "Singapur-Dollar" ;
|
||||
lin Skopje_CName = mkCName "Skopje" ;
|
||||
lin Slovakia_CName = mkCName "Slowakei" ;
|
||||
lin Slovenia_CName = mkCName "Slowenien" ;
|
||||
lin Sofia_CName = mkCName "Sofia" ;
|
||||
lin Solomon_Islands_CName = mkCName "Salomonen" ;
|
||||
lin Solomon_Islands_dollar_CName = mkCName "Salomonen-Dollar" ;
|
||||
lin Somali_shilling_CName = mkCName "Somalia-Schilling" ;
|
||||
lin Somalia_CName = mkCName "Somalia" ;
|
||||
lin South_Africa_CName = mkCName "Südafrika" ;
|
||||
lin South_African_rand_CName = mkCName "südafrikanischer Rand" ;
|
||||
lin South_America_CName = mkCName "Südamerika" ;
|
||||
lin South_Korea_CName = mkCName "Südkorea" ;
|
||||
lin South_Korean_won_CName = mkCName "Südkoreanischer Won" ;
|
||||
lin South_Sudan_CName = mkCName "Südsudan" ;
|
||||
lin South_Sudanese_pound_CName = mkCName "südsudanesisches Pfund" ;
|
||||
lin South_Tarawa_CName = mkCName "South Tarawa" ;
|
||||
lin Sovereign_Bolivar_CName = mkCName "Sovereign Bolivar" ;
|
||||
lin Spain_CName = mkCName "Spanien" ;
|
||||
lin Sri_Lanka_CName = mkCName "Sri Lanka" ;
|
||||
lin Sri_Lankan_rupee_CName = mkCName "Sri-Lanka-Rupie" ;
|
||||
lin Stockholm_CName = mkCName "Stockholm" ;
|
||||
lin Sudan_CName = mkCName "Sudan" ;
|
||||
lin Sudanese_pound_CName = mkCName "sudanesisches Pfund" ;
|
||||
lin Suriname_CName = mkCName "Suriname" ;
|
||||
lin Surinamese_dollar_CName = mkCName "Suriname-Dollar" ;
|
||||
lin Suva_CName = mkCName "Suva" ;
|
||||
lin Sweden_CName = mkCName "Schweden" ;
|
||||
lin Swedish_krona_CName = mkCName "schwedische Krone" ;
|
||||
lin Swiss_franc_CName = mkCName "Schweizer Franken" ;
|
||||
lin Switzerland_CName = mkCName (mkNP the_Det (mkN "Schweiz" feminine)) ;
|
||||
lin Syria_CName = mkCName "Syrien" ;
|
||||
lin Syrian_pound_CName = mkCName "syrische Lira" ;
|
||||
lin São_Tomé_CName = mkCName "São Tomé" ;
|
||||
lin São_Tomé_and_Príncipe_CName = mkCName "São Tomé und Príncipe" ;
|
||||
lin São_Tomé_and_Príncipe_dobra_CName = mkCName "São-toméischer Dobra" ;
|
||||
lin Taipei_CName = mkCName "Taipeh" ;
|
||||
lin Taiwan_CName = mkCName "Republik China" ;
|
||||
lin Tajikistan_CName = mkCName "Tadschikistan" ;
|
||||
lin Tajikistani_somoni_CName = mkCName "Somoni" ;
|
||||
lin Tallinn_CName = mkCName "Tallinn" ;
|
||||
lin Tanzania_CName = mkCName "Tansania" ;
|
||||
lin Tanzanian_shilling_CName = mkCName "Tansania-Schilling" ;
|
||||
lin Tashkent_CName = mkCName "Taschkent" ;
|
||||
lin Tbilisi_CName = mkCName "Tiflis" ;
|
||||
lin Tegucigalpa_CName = mkCName "Tegucigalpa" ;
|
||||
lin Tehran_CName = mkCName "Teheran" ;
|
||||
lin Thailand_CName = mkCName "Thailand" ;
|
||||
lin The_Bahamas_CName = mkCName "Bahamas" ;
|
||||
lin The_Gambia_CName = mkCName "Gambia" ;
|
||||
lin Thimphu_CName = mkCName "Thimphu" ;
|
||||
lin Tirana_CName = mkCName "Tirana" ;
|
||||
lin Togo_CName = mkCName "Togo" ;
|
||||
lin Tokyo_CName = mkCName "Tokio" ;
|
||||
lin Tonga_CName = mkCName "Tonga" ;
|
||||
lin 'Tongan_paʻanga_CName' = mkCName "Paʻanga" ;
|
||||
lin Trinidad_and_Tobago_CName = mkCName "Trinidad und Tobago" ;
|
||||
lin Trinidad_and_Tobago_dollar_CName = mkCName "Trinidad-und-Tobago-Dollar" ;
|
||||
lin Tripoli_CName = mkCName "Tripolis" ;
|
||||
lin Tunis_CName = mkCName "Tunis" ;
|
||||
lin Tunisia_CName = mkCName "Tunesien" ;
|
||||
lin Tunisian_dinar_CName = mkCName "tunesischer Dinar" ;
|
||||
lin Turkey_CName = mkCName "Türkei" ;
|
||||
lin Turkish_lira_CName = mkCName "türkische Lira" ;
|
||||
lin Turkmenistan_CName = mkCName "Turkmenistan" ;
|
||||
lin Turkmenistan_manat_CName = mkCName "Turkmenistan-Manat" ;
|
||||
lin Tuvalu_CName = mkCName "Tuvalu" ;
|
||||
lin Tuvaluan_dollar_CName = mkCName "Tuvaluischer Dollar" ;
|
||||
lin Uganda_CName = mkCName "Uganda" ;
|
||||
lin Ugandan_shilling_CName = mkCName "Uganda-Schilling" ;
|
||||
lin Ukraine_CName = mkCName "Ukraine" ;
|
||||
lin Ulaanbaatar_CName = mkCName "Ulaanbaatar" ;
|
||||
lin United_Arab_Emirates_CName = mkCName "Vereinigte Arabische Emirate" ;
|
||||
lin United_Arab_Emirates_dirham_CName = mkCName "VAE-Dirham" ;
|
||||
lin United_Kingdom_CName = mkCName (mkNP the_Det (mkCN (mkA "Vereinigt") (mkN "Königreich" neuter))) ;
|
||||
lin United_States_dollar_CName = mkCName "US-Dollar" ;
|
||||
lin United_States_of_America_CName = mkCName (mkNP thePl_Det (mkCN (mkA "Vereinigt") (mkN "Staat" "Staaten" masculine))) ;
|
||||
lin Uruguay_CName = mkCName "Uruguay" ;
|
||||
lin Uruguayan_peso_CName = mkCName "uruguayischer Peso" ;
|
||||
lin Uzbekistan_CName = mkCName "Usbekistan" ;
|
||||
lin Uzbekistani_som_CName = mkCName "Soʻm" ;
|
||||
lin Vaduz_CName = mkCName "Vaduz" ;
|
||||
lin Valletta_CName = mkCName "Valletta" ;
|
||||
lin Vanuatu_CName = mkCName "Vanuatu" ;
|
||||
lin Vanuatu_vatus_CName = mkCName "Vatu" ;
|
||||
lin Venezuela_CName = mkCName "Venezuela" ;
|
||||
lin Victoria_CName = mkCName "Victoria" ;
|
||||
lin Vienna_CName = mkCName "Wien" ;
|
||||
lin Vientiane_CName = mkCName "Vientiane" ;
|
||||
lin Vietnam_CName = mkCName "Vietnam" ;
|
||||
lin Vietnamese_dong_CName = mkCName "vietnamesischer Đồng" ;
|
||||
lin Vilnius_CName = mkCName "Vilnius" ;
|
||||
lin Warsaw_CName = mkCName "Warschau" ;
|
||||
lin Wellington_CName = mkCName "Wellington" ;
|
||||
lin West_African_CFA_franc_CName = mkCName "West African CFA franc" ;
|
||||
lin Windhoek_CName = mkCName "Windhoek" ;
|
||||
lin Yamoussoukro_CName = mkCName "Yamoussoukro" ;
|
||||
lin Yaoundé_CName = mkCName "Yaoundé" ;
|
||||
lin Yaren_District_CName = mkCName "Yaren" ;
|
||||
lin Yemen_CName = mkCName "Jemen" ;
|
||||
lin Yemeni_rial_CName = mkCName "Jemen-Rial" ;
|
||||
lin Yerevan_CName = mkCName "Jerewan" ;
|
||||
lin Zagreb_CName = mkCName "Zagreb" ;
|
||||
lin Zambia_CName = mkCName "Sambia" ;
|
||||
lin Zambian_kwacha_CName = mkCName "sambischer Kwacha" ;
|
||||
lin Zimbabwe_CName = mkCName "Simbabwe" ;
|
||||
lin ariary_CName = mkCName "Ariary" ;
|
||||
lin baht_CName = mkCName "Baht" ;
|
||||
lin birr_CName = mkCName "Äthiopischer Birr" ;
|
||||
lin boliviano_CName = mkCName "Boliviano" ;
|
||||
lin convertible_mark_CName = mkCName "konvertible Mark" ;
|
||||
lin dalasi_CName = mkCName "Dalasi" ;
|
||||
lin denar_CName = mkCName "nordmazedonischer Denar" ;
|
||||
lin euro_CName = mkCName "Euro" ;
|
||||
lin forint_CName = mkCName "Forint" ;
|
||||
lin gourde_CName = mkCName "Gourde" ;
|
||||
lin hryvnia_CName = mkCName "Hrywnja" ;
|
||||
lin insular_Oceania_CName = mkCName "Ozeanien" ;
|
||||
lin kina_CName = mkCName "Kina" ;
|
||||
lin kwanza_CName = mkCName "Kwanza" ;
|
||||
lin kyat_CName = mkCName "Kyat" ;
|
||||
lin lilangeni_CName = mkCName "Lilangeni" ;
|
||||
lin nakfa_CName = mkCName "eritreischer Nakfa" ;
|
||||
lin new_shekel_CName = mkCName "Schekel" ;
|
||||
lin ngultrum_CName = mkCName "Ngultrum" ;
|
||||
lin pound_sterling_CName = mkCName "Pfund Sterling" ;
|
||||
lin quetzal_CName = mkCName "Guatemaltekischer Quetzal" ;
|
||||
lin renminbi_CName = mkCName "Renminbi" ;
|
||||
lin riel_CName = mkCName "Kambodschanischer Riel" ;
|
||||
lin rupiah_CName = mkCName "indonesische Rupiah" ;
|
||||
lin tugrik_CName = mkCName "Tögrög" ;
|
||||
lin 'złoty_CName' = mkCName "Złoty" ;
|
||||
}
|
||||
556
old-labs/lab2/wikipedia-2022/CountryNamesSwe.gf
Normal file
556
old-labs/lab2/wikipedia-2022/CountryNamesSwe.gf
Normal file
@@ -0,0 +1,556 @@
|
||||
concrete CountryNamesSwe of CountryNames =
|
||||
|
||||
open SyntaxSwe, ParadigmsSwe, Prelude in {
|
||||
|
||||
lincat CName = LocName ;
|
||||
|
||||
oper LocName = {np : NP ; isIn : Bool} ;
|
||||
|
||||
oper mkCName = overload {
|
||||
mkCName : Str -> LocName = \s -> {np = mkNP (mkPN s neutrum) ; isIn = True} ;
|
||||
mkCName : N -> LocName = \n -> {np = mkNP n ; isIn = True} ;
|
||||
mkCName : NP -> LocName = \np -> {np = np ; isIn = True} ;
|
||||
} ;
|
||||
|
||||
exCName : LocName -> LocName = \name -> name ** {isIn = False} ;
|
||||
sgCName : LocName -> LocName = \name -> name ; ---- ** {np = forceNumberNP singular name.np} ;
|
||||
|
||||
lin Afghanistan_CName = mkCName "Afghanistan" ;
|
||||
lin Afghan_afghani_CName = mkCName "afghani" ;
|
||||
lin Kabul_CName = mkCName "Kabul" ;
|
||||
lin Sudanese_pound_CName = mkCName "Sudanesiskt pund" ;
|
||||
lin Costa_Rican_colón_CName = mkCName "Costaricansk colón" ;
|
||||
lin Taiwan_CName = mkCName "Taiwan" ;
|
||||
lin Niger_CName = mkCName "Niger" ;
|
||||
lin Amsterdam_CName = mkCName "Amsterdam" ;
|
||||
lin Austria_CName = mkCName "Österrike" ;
|
||||
lin Morocco_CName = mkCName "Marocko" ;
|
||||
lin Kiribati_dollar_CName = mkCName "Kiribati dollar" ;
|
||||
lin Bahraini_dinar_CName = mkCName "Bahrainsk dinar" ;
|
||||
lin Ghana_CName = mkCName "Ghana" ;
|
||||
lin Pakistani_rupee_CName = mkCName "Pakistansk rupee" ;
|
||||
lin Indian_rupee_CName = mkCName "Indisk rupee" ;
|
||||
lin Bucharest_CName = mkCName "Bukarest" ;
|
||||
lin Marshall_Islands_CName = mkCName "Marshallöarna" ;
|
||||
lin Basseterre_CName = mkCName "Basseterre" ;
|
||||
lin Addis_Ababa_CName = mkCName "Addis Abeba" ;
|
||||
lin Mexico_CName = mkCName "Mexiko" ;
|
||||
lin nakfa_CName = mkCName "Nakfa" ;
|
||||
lin Cairo_CName = mkCName "Kairo" ;
|
||||
lin Ethiopia_CName = mkCName "Etiopien" ;
|
||||
lin North_America_CName = mkCName "Nordamerika" ;
|
||||
lin Valletta_CName = mkCName "Valletta" ;
|
||||
lin Argentine_peso_CName = mkCName "Argentinsk peso" ;
|
||||
lin Kuwait_City_CName = mkCName "Kuwait" ;
|
||||
lin Palau_CName = mkCName "Palau" ;
|
||||
lin Baku_CName = mkCName "Baku" ;
|
||||
lin Tirana_CName = mkCName "Tirana" ;
|
||||
lin Copenhagen_CName = mkCName "Köpenhamn" ;
|
||||
lin Damascus_CName = mkCName "Damaskus" ;
|
||||
lin Costa_Rica_CName = mkCName "Costa Rica" ;
|
||||
lin Israel_CName = mkCName "Israel" ;
|
||||
lin Mozambique_CName = mkCName "Moçambique" ;
|
||||
lin Victoria_CName = mkCName "Victoria" ;
|
||||
lin East_Timor_centavo_coins_CName = mkCName "East Timor centavo coins" ;
|
||||
lin Omani_rial_CName = mkCName "Omansk rial" ;
|
||||
lin Kingstown_CName = mkCName "Kingstown" ;
|
||||
lin Yaoundé_CName = mkCName "Yaoundé" ;
|
||||
lin Slovenia_CName = mkCName "Slovenien" ;
|
||||
lin Mali_CName = mkCName "Mali" ;
|
||||
lin Cuba_CName = mkCName "Kuba" ;
|
||||
lin Wellington_CName = mkCName "Wellington" ;
|
||||
lin East_Timor_CName = mkCName "Östtimor" ;
|
||||
lin quetzal_CName = mkCName "Quetzal" ;
|
||||
lin South_Sudan_CName = mkCName "Sydsudan" ;
|
||||
lin Turkey_CName = mkCName "Turkiet" ;
|
||||
lin Algiers_CName = mkCName "Alger" ;
|
||||
lin Jamaican_dollar_CName = mkCName "Jamaicansk dollar" ;
|
||||
lin Nassau_CName = mkCName "Nassau" ;
|
||||
lin Prague_CName = mkCName "Prag" ;
|
||||
lin Spain_CName = mkCName "Spanien" ;
|
||||
lin Serbian_dinar_CName = mkCName "Serbisk dinar" ;
|
||||
lin Montevideo_CName = mkCName "Montevideo" ;
|
||||
lin Sarajevo_CName = mkCName "Sarajevo" ;
|
||||
lin Paris_CName = mkCName "Paris" ;
|
||||
lin Luanda_CName = mkCName "Luanda" ;
|
||||
lin Indonesia_CName = mkCName "Indonesien" ;
|
||||
lin Seychelles_CName = mkCName "Seychellerna" ;
|
||||
lin Madrid_CName = mkCName "Madrid" ;
|
||||
lin Yaren_District_CName = mkCName "Yaren" ;
|
||||
lin Pretoria_CName = mkCName "Pretoria" ;
|
||||
lin Liberian_dollar_CName = mkCName "Liberiansk dollar" ;
|
||||
lin Vietnam_CName = mkCName "Vietnam" ;
|
||||
lin Tunisian_dinar_CName = mkCName "Tunisisk dinar" ;
|
||||
lin Nicaragua_CName = mkCName "Nicaragua" ;
|
||||
lin Taipei_CName = mkCName "Taipei" ;
|
||||
lin Lithuania_CName = mkCName "Litauen" ;
|
||||
lin Moroni_CName = mkCName "Moroni" ;
|
||||
lin Nairobi_CName = mkCName "Nairobi" ;
|
||||
lin United_Arab_Emirates_dirham_CName = mkCName "Emiratisk dirham" ;
|
||||
lin Maldives_CName = mkCName "Maldiverna" ;
|
||||
lin Swiss_franc_CName = mkCName "schweizisk franc" ;
|
||||
lin Ghana_cedi_CName = mkCName "Ghana Cedi" ;
|
||||
lin Bulgaria_CName = mkCName "Bulgarien" ;
|
||||
lin Tonga_CName = mkCName "Tonga" ;
|
||||
lin Maldivian_rufiyaa_CName = mkCName "Maldivisk rufiyah" ;
|
||||
lin Zimbabwe_CName = mkCName "Zimbabwe" ;
|
||||
lin Kenya_CName = mkCName "Kenya" ;
|
||||
lin Madagascar_CName = mkCName "Madagaskar" ;
|
||||
lin Bangui_CName = mkCName "Bangui" ;
|
||||
lin Thimphu_CName = mkCName "Thimphu" ;
|
||||
lin Phnom_Penh_CName = mkCName "Phnom Penh" ;
|
||||
lin Moscow_CName = mkCName "Moskva" ;
|
||||
lin São_Tomé_CName = mkCName "São Tomé" ;
|
||||
lin Fiji_CName = mkCName "Fiji" ;
|
||||
lin Lesotho_CName = mkCName "Lesotho" ;
|
||||
lin Philippines_CName = mkCName "Filippinerna" ;
|
||||
lin Barbadian_dollar_CName = mkCName "Barbadisk dollar" ;
|
||||
lin Philippine_peso_CName = mkCName "Filippinsk peso" ;
|
||||
lin Havana_CName = mkCName "Havanna" ;
|
||||
lin 'złoty_CName' = mkCName "Złoty" ;
|
||||
lin hryvnia_CName = mkCName "Hryvnja" ;
|
||||
lin Port_Louis_CName = mkCName "Port Louis" ;
|
||||
lin Dodoma_CName = mkCName "Dodoma" ;
|
||||
lin Comoros_CName = mkCName "Komorerna" ;
|
||||
lin Comorian_franc_CName = mkCName "Komoransk franc" ;
|
||||
lin Buenos_Aires_CName = mkCName "Buenos Aires" ;
|
||||
lin Russian_ruble_CName = mkCName "rysk rubel" ;
|
||||
lin Ivory_Coast_CName = mkCName "Elfenbenskusten" ;
|
||||
lin Oslo_CName = mkCName "Oslo" ;
|
||||
lin North_Korea_CName = mkCName "Nordkorea" ;
|
||||
lin Conakry_CName = mkCName "Conakry" ;
|
||||
lin Abuja_CName = mkCName "Abuja" ;
|
||||
lin Lomé_CName = mkCName "Lomé" ;
|
||||
lin ariary_CName = mkCName "Madagaskisk ariary" ;
|
||||
lin Iceland_CName = mkCName "Island" ;
|
||||
lin Rabat_CName = mkCName "Rabat" ;
|
||||
lin Yemeni_rial_CName = mkCName "Jemenitisk rial" ;
|
||||
lin Dakar_CName = mkCName "Dakar" ;
|
||||
lin Tunisia_CName = mkCName "Tunisien" ;
|
||||
lin N'Djamena_CName = mkCName "N'Djamena" ;
|
||||
lin Apia_CName = mkCName "Apia" ;
|
||||
lin tugrik_CName = mkCName "Mongolisk Tögrög" ;
|
||||
lin Sudan_CName = mkCName "Sudan" ;
|
||||
lin Italy_CName = mkCName "Italien" ;
|
||||
lin Maseru_CName = mkCName "Maseru" ;
|
||||
lin Montenegro_CName = mkCName "Montenegro" ;
|
||||
lin Syria_CName = mkCName "Syrien" ;
|
||||
lin La_Paz_CName = mkCName "La Paz" ;
|
||||
lin 'Guinea-Bissau_CName' = mkCName "Guinea-Bissau" ;
|
||||
lin Seoul_CName = mkCName "Seoul" ;
|
||||
lin Canadian_dollar_CName = mkCName "kanadensisk dollar" ;
|
||||
lin North_Macedonia_CName = mkCName "Nordmakedonien" ;
|
||||
lin Kuwait_CName = mkCName "Kuwait" ;
|
||||
lin New_Zealand_dollar_CName = mkCName "Nyzeeländsk dollar" ;
|
||||
lin Kenyan_shilling_CName = mkCName "Kenyansk shilling" ;
|
||||
lin Amman_CName = mkCName "Amman" ;
|
||||
lin rupiah_CName = mkCName "Rupiah" ;
|
||||
lin Vilnius_CName = mkCName "Vilnius" ;
|
||||
lin Zagreb_CName = mkCName "Zagreb" ;
|
||||
lin Uganda_CName = mkCName "Uganda" ;
|
||||
lin Nigerian_naira_CName = mkCName "Nigeriansk naira" ;
|
||||
lin Burundi_CName = mkCName "Burundi" ;
|
||||
lin baht_CName = mkCName "Baht" ;
|
||||
lin Algeria_CName = mkCName "Algeriet" ;
|
||||
lin Lao_kip_CName = mkCName "Laotisk Kip" ;
|
||||
lin Jordanian_dinar_CName = mkCName "Jordansk dinar" ;
|
||||
lin Ljubljana_CName = mkCName "Ljubljana" ;
|
||||
lin Yamoussoukro_CName = mkCName "Yamoussoukro" ;
|
||||
lin Japanese_yen_CName = mkCName "yen" ;
|
||||
lin Malaysia_CName = mkCName "Malaysia" ;
|
||||
lin kyat_CName = mkCName "Burmesisk kyat" ;
|
||||
lin Nicosia_CName = mkCName "Nicosia" ;
|
||||
lin Honduran_lempira_CName = mkCName "Lempira" ;
|
||||
lin Nigeria_CName = mkCName "Nigeria" ;
|
||||
lin Luxembourg_CName = mkCName "Luxemburg" ;
|
||||
lin 'Porto-Novo_CName' = mkCName "Porto-Novo" ;
|
||||
lin Lilongwe_CName = mkCName "Lilongwe" ;
|
||||
lin Finland_CName = mkCName "Finland" ;
|
||||
lin West_African_CFA_franc_CName = mkCName "West African CFA franc" ;
|
||||
lin Dublin_CName = mkCName "Dublin" ;
|
||||
lin Australia_CName = mkCName "Australien" ;
|
||||
lin 'Port-au-Prince_CName' = mkCName "Port-au-Prince" ;
|
||||
lin Freetown_CName = mkCName "Freetown" ;
|
||||
lin Qatari_riyal_CName = mkCName "Qatarisk rial" ;
|
||||
lin denar_CName = mkCName "Makedonisk denar" ;
|
||||
lin Praia_CName = mkCName "Praia" ;
|
||||
lin Jerusalem_CName = mkCName "Jerusalem" ;
|
||||
lin Mozambican_metical_CName = mkCName "Moçambikisk Metical" ;
|
||||
lin Egyptian_pound_CName = mkCName "Egyptiskt pund" ;
|
||||
lin Papua_New_Guinea_CName = mkCName "Papua Nya Guinea" ;
|
||||
lin Accra_CName = mkCName "Accra" ;
|
||||
lin Tripoli_CName = mkCName "Tripoli" ;
|
||||
lin Mongolia_CName = mkCName "Mongoliet" ;
|
||||
lin Antananarivo_CName = mkCName "Antananarivo" ;
|
||||
lin Eastern_Caribbean_dollar_CName = mkCName "Östkaribisk dollar" ;
|
||||
lin Lesotho_loti_CName = mkCName "Lesothisk Loti" ;
|
||||
lin South_African_rand_CName = mkCName "Rand" ;
|
||||
lin Belgium_CName = mkCName "Belgien" ;
|
||||
lin United_States_of_America_CName = mkCName "USA" ;
|
||||
lin Venezuela_CName = mkCName "Venezuela" ;
|
||||
lin Lobamba_CName = mkCName "Lobamba" ;
|
||||
lin Ukraine_CName = mkCName "Ukraina" ;
|
||||
lin Qatar_CName = mkCName "Qatar" ;
|
||||
lin Peruvian_sol_CName = mkCName "Nuevo sol" ;
|
||||
lin Sierra_Leone_CName = mkCName "Sierra Leone" ;
|
||||
lin Ireland_CName = mkCName "Irland" ;
|
||||
lin Ottawa_CName = mkCName "Ottawa" ;
|
||||
lin Bratislava_CName = mkCName "Bratislava" ;
|
||||
lin Ankara_CName = mkCName "Ankara" ;
|
||||
lin Albanian_lek_CName = mkCName "Lek" ;
|
||||
lin Portugal_CName = mkCName "Portugal" ;
|
||||
lin Paraguayan_guaraní_CName = mkCName "Guarani" ;
|
||||
lin Switzerland_CName = mkCName "Schweiz" ;
|
||||
lin India_CName = mkCName "Indien" ;
|
||||
lin Athens_CName = mkCName "Aten" ;
|
||||
lin Iraq_CName = mkCName "Irak" ;
|
||||
lin Singapore_CName = mkCName "Singapore" ;
|
||||
lin Nuku'alofa_CName = mkCName "Nuku'alofa" ;
|
||||
lin Brazil_CName = mkCName "Brasilien" ;
|
||||
lin Lisbon_CName = mkCName "Lissabon" ;
|
||||
lin Iranian_rial_CName = mkCName "Iransk rial" ;
|
||||
lin pound_sterling_CName = mkCName "Brittiskt pund" ;
|
||||
lin São_Tomé_and_Príncipe_CName = mkCName "São Tomé och Príncipe" ;
|
||||
lin Turkish_lira_CName = mkCName "Turkisk lira" ;
|
||||
lin Serbia_CName = mkCName "Serbien" ;
|
||||
lin Chad_CName = mkCName "Tchad" ;
|
||||
lin Libyan_dinar_CName = mkCName "Libysk dinar" ;
|
||||
lin Beijing_CName = mkCName "Peking" ;
|
||||
lin Stockholm_CName = mkCName "Stockholm" ;
|
||||
lin Hungary_CName = mkCName "Ungern" ;
|
||||
lin Georgetown_CName = mkCName "Georgetown" ;
|
||||
lin Andorra_CName = mkCName "Andorra" ;
|
||||
lin Angola_CName = mkCName "Angola" ;
|
||||
lin Africa_CName = mkCName "Afrika" ;
|
||||
lin New_Zealand_CName = mkCName "Nya Zeeland" ;
|
||||
lin Denmark_CName = mkCName "Danmark" ;
|
||||
lin Port_Vila_CName = mkCName "Port Vila" ;
|
||||
lin Lusaka_CName = mkCName "Lusaka" ;
|
||||
lin Samoa_CName = mkCName "Samoa" ;
|
||||
lin People's_Republic_of_China_CName = mkCName "Kina" ;
|
||||
lin 'Washington,_D.C._CName' = mkCName "Washington, D.C." ;
|
||||
lin Icelandic_króna_CName = mkCName "Isländsk krona" ;
|
||||
lin Dominican_Republic_CName = mkCName "Dominikanska republiken" ;
|
||||
lin Armenian_dram_CName = mkCName "Dram" ;
|
||||
lin boliviano_CName = mkCName "Boliviano" ;
|
||||
lin Senegal_CName = mkCName "Senegal" ;
|
||||
lin Saudi_Arabia_CName = mkCName "Saudiarabien" ;
|
||||
lin Turkmenistan_manat_CName = mkCName "Turkmenistansk manat" ;
|
||||
lin Lebanese_pound_CName = mkCName "Libanesiskt pund" ;
|
||||
lin Monaco_CName = mkCName "Monaco" ;
|
||||
lin Jordan_CName = mkCName "Jordanien" ;
|
||||
lin Thailand_CName = mkCName "Thailand" ;
|
||||
lin Romania_CName = mkCName "Rumänien" ;
|
||||
lin Suva_CName = mkCName "Suva" ;
|
||||
lin Naypyidaw_CName = mkCName "Naypyidaw" ;
|
||||
lin Roseau_CName = mkCName "Roseau" ;
|
||||
lin Riyadh_CName = mkCName "Riyadh" ;
|
||||
lin Laos_CName = mkCName "Laos" ;
|
||||
lin Majuro_CName = mkCName "Majuro" ;
|
||||
lin Canada_CName = mkCName "Kanada" ;
|
||||
lin Fijian_dollar_CName = mkCName "Fijidollar" ;
|
||||
lin Tegucigalpa_CName = mkCName "Tegucigalpa" ;
|
||||
lin France_CName = mkCName "Frankrike" ;
|
||||
lin Somalia_CName = mkCName "Somalia" ;
|
||||
lin convertible_mark_CName = mkCName "Konvertibilna marka" ;
|
||||
lin Djiboutian_franc_CName = mkCName "Djiboutisk franc" ;
|
||||
lin Saudi_riyal_CName = mkCName "Saudiarabisk rial" ;
|
||||
lin Congolese_franc_CName = mkCName "Kongolesisk franc" ;
|
||||
lin Togo_CName = mkCName "Togo" ;
|
||||
lin Bangkok_CName = mkCName "Bangkok" ;
|
||||
lin Minsk_CName = mkCName "Minsk" ;
|
||||
lin Nouakchott_CName = mkCName "Nouakchott" ;
|
||||
lin Sanaa_CName = mkCName "Sanaa" ;
|
||||
lin Sovereign_Bolivar_CName = mkCName "Sovereign Bolivar" ;
|
||||
lin Cape_Verde_CName = mkCName "Kap Verde" ;
|
||||
lin Oman_CName = mkCName "Oman" ;
|
||||
lin Swedish_krona_CName = mkCName "svensk krona" ;
|
||||
lin Central_African_CFA_franc_CName = mkCName "Centralafrikansk CFA Franc" ;
|
||||
lin Brazzaville_CName = mkCName "Brazzaville" ;
|
||||
lin ngultrum_CName = mkCName "Ngultrum" ;
|
||||
lin South_Tarawa_CName = mkCName "South Tarawa" ;
|
||||
lin Turkmenistan_CName = mkCName "Turkmenistan" ;
|
||||
lin Bahamian_dollar_CName = mkCName "Bahamansk dollar" ;
|
||||
lin Trinidad_and_Tobago_dollar_CName = mkCName "Trinidaddollar" ;
|
||||
lin Yemen_CName = mkCName "Jemen" ;
|
||||
lin United_Arab_Emirates_CName = mkCName "Förenade Arabemiraten" ;
|
||||
lin Brasília_CName = mkCName "Brasília" ;
|
||||
lin Cuban_peso_CName = mkCName "Kubansk peso" ;
|
||||
lin Tuvaluan_dollar_CName = mkCName "Tuvaluansk dollar" ;
|
||||
lin Bulgarian_lev_CName = mkCName "Lev" ;
|
||||
lin Tajikistani_somoni_CName = mkCName "Tadzjikistansk somoni" ;
|
||||
lin Malaysian_ringgit_CName = mkCName "Malaysisk ringgit" ;
|
||||
lin Baghdad_CName = mkCName "Bagdad" ;
|
||||
lin Sofia_CName = mkCName "Sofia" ;
|
||||
lin Bogotá_CName = mkCName "Bogotá" ;
|
||||
lin Asmara_CName = mkCName "Asmara" ;
|
||||
lin Brunei_CName = mkCName "Brunei" ;
|
||||
lin Juba_CName = mkCName "Juba" ;
|
||||
lin Tokyo_CName = mkCName "Tokyo prefektur" ;
|
||||
lin Azerbaijan_CName = mkCName "Azerbajdzjan" ;
|
||||
lin Beirut_CName = mkCName "Beirut" ;
|
||||
lin Dili_CName = mkCName "Dili" ;
|
||||
lin Georgian_lari_CName = mkCName "Georgiska lari" ;
|
||||
lin Budapest_CName = mkCName "Budapest" ;
|
||||
lin Reykjavík_CName = mkCName "Reykjavík" ;
|
||||
lin Vientiane_CName = mkCName "Vientiane" ;
|
||||
lin gourde_CName = mkCName "Gourde" ;
|
||||
lin Romanian_leu_CName = mkCName "Rumänsk leu" ;
|
||||
lin Nepalese_rupee_CName = mkCName "Nepalesisk rupee" ;
|
||||
lin Tanzania_CName = mkCName "Tanzania" ;
|
||||
lin Bahrain_CName = mkCName "Bahrain" ;
|
||||
lin Trinidad_and_Tobago_CName = mkCName "Trinidad och Tobago" ;
|
||||
lin Mauritius_CName = mkCName "Mauritius" ;
|
||||
lin Cyprus_CName = mkCName "Cypern" ;
|
||||
lin birr_CName = mkCName "Etiopisk Birr" ;
|
||||
lin Chile_CName = mkCName "Chile" ;
|
||||
lin Managua_CName = mkCName "Managua" ;
|
||||
lin San_José_CName = mkCName "San José" ;
|
||||
lin Colombian_cincuenta_centavos_CName = mkCName "Colombiansk peso" ;
|
||||
lin Caracas_CName = mkCName "Caracas" ;
|
||||
lin Vanuatu_vatus_CName = mkCName "Vanuatisk vatu" ;
|
||||
lin Danish_krone_CName = mkCName "dansk krona" ;
|
||||
lin United_Kingdom_CName = mkCName "Storbritannien" ;
|
||||
lin Berlin_CName = mkCName "Berlin" ;
|
||||
lin Eswatini_CName = mkCName "Swaziland" ;
|
||||
lin Riga_CName = mkCName "Riga" ;
|
||||
lin Ugandan_shilling_CName = mkCName "Ugandisk shilling" ;
|
||||
lin The_Bahamas_CName = mkCName "Bahamas" ;
|
||||
lin Uruguay_CName = mkCName "Uruguay" ;
|
||||
lin United_States_dollar_CName = mkCName "amerikansk dollar" ;
|
||||
lin Libya_CName = mkCName "Libyen" ;
|
||||
lin Nauru_CName = mkCName "Nauru" ;
|
||||
lin Latvia_CName = mkCName "Lettland" ;
|
||||
lin South_Korea_CName = mkCName "Sydkorea" ;
|
||||
lin Egypt_CName = mkCName "Egypten" ;
|
||||
lin Kazakhstan_CName = mkCName "Kazakstan" ;
|
||||
lin Vanuatu_CName = mkCName "Vanuatu" ;
|
||||
lin Guatemala_CName = mkCName "Guatemala" ;
|
||||
lin Dominican_peso_CName = mkCName "Dominikansk peso" ;
|
||||
lin Harare_CName = mkCName "Harare" ;
|
||||
lin Nepal_CName = mkCName "Nepal" ;
|
||||
lin Tallinn_CName = mkCName "Tallinn" ;
|
||||
lin Lebanon_CName = mkCName "Libanon" ;
|
||||
lin Botswana_pula_CName = mkCName "Pula" ;
|
||||
lin Central_America_CName = mkCName "Centralamerika" ;
|
||||
lin Kyiv_CName = mkCName "Kiev" ;
|
||||
lin Bridgetown_CName = mkCName "Bridgetown" ;
|
||||
lin Manila_CName = mkCName "Manila" ;
|
||||
lin Colombia_CName = mkCName "Colombia" ;
|
||||
lin Eritrea_CName = mkCName "Eritrea" ;
|
||||
lin Croatian_kuna_CName = mkCName "Kroatisk kuna" ;
|
||||
lin Manama_CName = mkCName "Manama" ;
|
||||
lin Sierra_Leonean_leone_CName = mkCName "Sierraleonsk Leone" ;
|
||||
lin Ngerulmud_CName = mkCName "Ngerulmud" ;
|
||||
lin 'Nur-Sultan_CName' = mkCName "Nur-Sultan" ;
|
||||
lin Azerbaijani_manat_CName = mkCName "Azerbajdzjansk manat" ;
|
||||
lin Norwegian_krone_CName = mkCName "norsk krona" ;
|
||||
lin Rome_CName = mkCName "Rom" ;
|
||||
lin Islamabad_CName = mkCName "Islamabad" ;
|
||||
lin Guyanese_dollar_CName = mkCName "Guyansk dollar" ;
|
||||
lin Rwanda_CName = mkCName "Rwanda" ;
|
||||
lin renminbi_CName = mkCName "Renminbi" ;
|
||||
lin Croatia_CName = mkCName "Kroatien" ;
|
||||
lin Quito_CName = mkCName "Quito" ;
|
||||
lin North_Korean_won_CName = mkCName "Nordkoreansk won" ;
|
||||
lin Port_Moresby_CName = mkCName "Port Moresby" ;
|
||||
lin Republic_of_the_Congo_CName = mkCName "Kongo-Brazzaville" ;
|
||||
lin Monrovia_CName = mkCName "Monrovia" ;
|
||||
lin Andorra_la_Vella_CName = mkCName "Andorra la Vella" ;
|
||||
lin Uruguayan_peso_CName = mkCName "Uruguayansk peso" ;
|
||||
lin Gitega_CName = mkCName "Gitega" ;
|
||||
lin Port_of_Spain_CName = mkCName "Port of Spain" ;
|
||||
lin Panama_CName = mkCName "Panama" ;
|
||||
lin Myanmar_CName = mkCName "Myanmar" ;
|
||||
lin Belarus_CName = mkCName "Belarus" ;
|
||||
lin Burkina_Faso_CName = mkCName "Burkina Faso" ;
|
||||
lin Georgia_CName = mkCName "Georgien" ;
|
||||
lin Belmopan_CName = mkCName "Belmopan" ;
|
||||
lin Paramaribo_CName = mkCName "Paramaribo" ;
|
||||
lin Muscat_CName = mkCName "Muskat" ;
|
||||
lin Chilean_peso_CName = mkCName "Chilensk peso" ;
|
||||
lin Kiribati_CName = mkCName "Kiribati" ;
|
||||
lin Tanzanian_shilling_CName = mkCName "Tanzanisk shilling" ;
|
||||
lin Russia_CName = mkCName "Ryssland" ;
|
||||
lin Saint_Lucia_CName = mkCName "Saint Lucia" ;
|
||||
lin Kathmandu_CName = mkCName "Katmandu" ;
|
||||
lin Guyana_CName = mkCName "Guyana" ;
|
||||
lin Kuwaiti_dinar_CName = mkCName "Kuwaitisk dinar" ;
|
||||
lin Asia_CName = mkCName "Asien" ;
|
||||
lin South_Korean_won_CName = mkCName "Sydkoreansk won" ;
|
||||
lin Iran_CName = mkCName "Iran" ;
|
||||
lin Argentina_CName = mkCName "Argentina" ;
|
||||
lin South_Africa_CName = mkCName "Sydafrika" ;
|
||||
lin Tunis_CName = mkCName "Tunis" ;
|
||||
lin Czech_koruna_CName = mkCName "tjeckisk krona" ;
|
||||
lin Bamako_CName = mkCName "Bamako" ;
|
||||
lin 'Tongan_paʻanga_CName' = mkCName "Tongansk pa'anga" ;
|
||||
lin Saint_John's_CName = mkCName "Saint John's" ;
|
||||
lin Paraguay_CName = mkCName "Paraguay" ;
|
||||
lin Cameroon_CName = mkCName "Kamerun" ;
|
||||
lin Mauritian_rupee_CName = mkCName "Mauritisk rupie" ;
|
||||
lin Solomon_Islands_dollar_CName = mkCName "Salomondollar" ;
|
||||
lin South_America_CName = mkCName "Sydamerika" ;
|
||||
lin Lima_CName = mkCName "Lima" ;
|
||||
lin Saint_Vincent_and_the_Grenadines_CName = mkCName "Saint Vincent och Grenadinerna" ;
|
||||
lin Seychellois_rupee_CName = mkCName "Seychellisk rupee" ;
|
||||
lin Belgrade_CName = mkCName "Belgrad" ;
|
||||
lin Tuvalu_CName = mkCName "Tuvalu" ;
|
||||
lin Belize_CName = mkCName "Belize" ;
|
||||
lin Kinshasa_CName = mkCName "Kinshasa" ;
|
||||
lin San_Marino_CName = mkCName "San Marino" ;
|
||||
lin Peru_CName = mkCName "Peru" ;
|
||||
lin El_Salvador_CName = mkCName "El Salvador" ;
|
||||
lin Equatorial_Guinea_CName = mkCName "Ekvatorialguinea" ;
|
||||
lin Bissau_CName = mkCName "Bissau" ;
|
||||
lin Ouagadougou_CName = mkCName "Ouagadougou" ;
|
||||
lin Germany_CName = mkCName "Tyskland" ;
|
||||
lin Uzbekistan_CName = mkCName "Uzbekistan" ;
|
||||
lin dalasi_CName = mkCName "Dalasi" ;
|
||||
lin Gaborone_CName = mkCName "Gaborone" ;
|
||||
lin forint_CName = mkCName "Forint" ;
|
||||
lin Kyrgyzstan_CName = mkCName "Kirgizistan" ;
|
||||
lin kwanza_CName = mkCName "Kwanza" ;
|
||||
lin Banjul_CName = mkCName "Banjul" ;
|
||||
lin Czech_Republic_CName = mkCName "Tjeckien" ;
|
||||
lin Windhoek_CName = mkCName "Windhoek" ;
|
||||
lin Liechtenstein_CName = mkCName "Liechtenstein" ;
|
||||
lin riel_CName = mkCName "Kambodjansk riel" ;
|
||||
lin Moldovan_leu_CName = mkCName "Moldavisk leu" ;
|
||||
lin Honiara_CName = mkCName "Honiara" ;
|
||||
lin Bhutan_CName = mkCName "Bhutan" ;
|
||||
lin Kingston_CName = mkCName "Kingston" ;
|
||||
lin Kampala_CName = mkCName "Kampala" ;
|
||||
lin Kingdom_of_the_Netherlands_CName = mkCName "Konungariket Nederländerna" ;
|
||||
lin Nicaraguan_córdoba_CName = mkCName "Nicaraguansk córdoba" ;
|
||||
lin Malawi_CName = mkCName "Malawi" ;
|
||||
lin new_shekel_CName = mkCName "Shekel" ;
|
||||
lin Panamanian_balboa_CName = mkCName "Panamansk balboa" ;
|
||||
lin Singapore_dollar_CName = mkCName "Singaporiansk dollar" ;
|
||||
lin lilangeni_CName = mkCName "Swazisk lilangeni" ;
|
||||
lin Mexico_City_CName = mkCName "Mexico City" ;
|
||||
lin Dushanbe_CName = mkCName "Dusjanbe" ;
|
||||
lin Zambian_kwacha_CName = mkCName "Zambisk kwacha" ;
|
||||
lin Estonia_CName = mkCName "Estland" ;
|
||||
lin Gabon_CName = mkCName "Gabon" ;
|
||||
lin Podgorica_CName = mkCName "Podgorica" ;
|
||||
lin Armenia_CName = mkCName "Armenien" ;
|
||||
lin Kuala_Lumpur_CName = mkCName "Kuala Lumpur" ;
|
||||
lin Namibia_CName = mkCName "Namibia" ;
|
||||
lin Guatemala_City_CName = mkCName "Guatemala City" ;
|
||||
lin 'Samoan_tālā_CName' = mkCName "Samoansk Tala" ;
|
||||
lin Pyongyang_CName = mkCName "Pyongyang" ;
|
||||
lin Barbados_CName = mkCName "Barbados" ;
|
||||
lin Algerian_dinar_CName = mkCName "Algerisk dinar" ;
|
||||
lin Malabo_CName = mkCName "Malabo" ;
|
||||
lin Federated_States_of_Micronesia_CName = mkCName "Mikronesiska federationen" ;
|
||||
lin Iraqi_dinar_CName = mkCName "Irakisk dinar" ;
|
||||
lin 'St._George\'s_CName' = mkCName "Saint George's" ;
|
||||
lin São_Tomé_and_Príncipe_dobra_CName = mkCName "Saotomeansk Dobra" ;
|
||||
lin Norway_CName = mkCName "Norge" ;
|
||||
lin Colombo_CName = mkCName "Colombo" ;
|
||||
lin Hanoi_CName = mkCName "Hanoi" ;
|
||||
lin Kigali_CName = mkCName "Kigali" ;
|
||||
lin Malé_CName = mkCName "Malé" ;
|
||||
lin Albania_CName = mkCName "Albanien" ;
|
||||
lin Slovakia_CName = mkCName "Slovakien" ;
|
||||
lin Suriname_CName = mkCName "Surinam" ;
|
||||
lin Niamey_CName = mkCName "Niamey" ;
|
||||
lin Sri_Lanka_CName = mkCName "Sri Lanka" ;
|
||||
lin Khartoum_CName = mkCName "Khartoum" ;
|
||||
lin Surinamese_dollar_CName = mkCName "Surinamesisk dollar" ;
|
||||
lin Bandar_Seri_Begawan_CName = mkCName "Bandar Seri Begawan" ;
|
||||
lin Tashkent_CName = mkCName "Tasjkent" ;
|
||||
lin Bolivia_CName = mkCName "Bolivia" ;
|
||||
lin Central_African_Republic_CName = mkCName "Centralafrikanska republiken" ;
|
||||
lin Ulaanbaatar_CName = mkCName "Ulan Bator" ;
|
||||
lin Yerevan_CName = mkCName "Jerevan" ;
|
||||
lin Zambia_CName = mkCName "Zambia" ;
|
||||
lin Dhaka_CName = mkCName "Dhaka" ;
|
||||
lin insular_Oceania_CName = mkCName "Oceanien" ;
|
||||
lin Mauritanian_ouguiya_CName = mkCName "Mauretansk ouguiya" ;
|
||||
lin Bern_CName = mkCName "Bern" ;
|
||||
lin Warsaw_CName = mkCName "Warszawa" ;
|
||||
lin Maputo_CName = mkCName "Maputo" ;
|
||||
lin Malta_CName = mkCName "Malta" ;
|
||||
lin Poland_CName = mkCName "Polen" ;
|
||||
lin Sweden_CName = mkCName "Sverige" ;
|
||||
lin Brazilian_real_CName = mkCName "Real" ;
|
||||
lin Solomon_Islands_CName = mkCName "Salomonöarna" ;
|
||||
lin Helsinki_CName = mkCName "Helsingfors" ;
|
||||
lin Santo_Domingo_CName = mkCName "Santo Domingo" ;
|
||||
lin 'Chișinău_CName' = mkCName "Chișinău" ;
|
||||
lin Vienna_CName = mkCName "Wien" ;
|
||||
lin Haiti_CName = mkCName "Haiti" ;
|
||||
lin Vaduz_CName = mkCName "Vaduz" ;
|
||||
lin Mogadishu_CName = mkCName "Mogadishu" ;
|
||||
lin Pakistan_CName = mkCName "Pakistan" ;
|
||||
lin Bosnia_and_Herzegovina_CName = mkCName "Bosnien och Hercegovina" ;
|
||||
lin New_Delhi_CName = mkCName "New Delhi" ;
|
||||
lin Bishkek_CName = mkCName "Bisjkek" ;
|
||||
lin Skopje_CName = mkCName "Skopje" ;
|
||||
lin Jakarta_CName = mkCName "Jakarta" ;
|
||||
lin Guinea_CName = mkCName "Guinea" ;
|
||||
lin Botswana_CName = mkCName "Botswana" ;
|
||||
lin Cambodia_CName = mkCName "Kambodja" ;
|
||||
lin The_Gambia_CName = mkCName "Gambia" ;
|
||||
lin Abu_Dhabi_CName = mkCName "Abu Dhabi" ;
|
||||
lin Libreville_CName = mkCName "Libreville" ;
|
||||
lin Syrian_pound_CName = mkCName "Syriskt pund" ;
|
||||
lin Tajikistan_CName = mkCName "Tadzjikistan" ;
|
||||
lin Kazakhstani_tenge_CName = mkCName "Kazakstansk Tenge" ;
|
||||
lin Europe_CName = mkCName "Europa" ;
|
||||
lin San_Salvador_CName = mkCName "San Salvador" ;
|
||||
lin Bangladeshi_taka_CName = mkCName "Taka" ;
|
||||
lin Malawian_kwacha_CName = mkCName "Malawisk kwacha" ;
|
||||
lin Honduras_CName = mkCName "Honduras" ;
|
||||
lin Saint_Kitts_and_Nevis_CName = mkCName "Saint Kitts och Nevis" ;
|
||||
lin Tehran_CName = mkCName "Teheran" ;
|
||||
lin Benin_CName = mkCName "Benin" ;
|
||||
lin City_of_Brussels_CName = mkCName "Bryssel" ;
|
||||
lin kina_CName = mkCName "Papuansk Kina" ;
|
||||
lin Democratic_Republic_of_the_Congo_CName = mkCName "Kongo-Kinshasa" ;
|
||||
lin Jamaica_CName = mkCName "Jamaica" ;
|
||||
lin Guinean_franc_CName = mkCName "Guinesisk franc" ;
|
||||
lin euro_CName = mkCName "euro" ;
|
||||
lin Ashgabat_CName = mkCName "Asjchabad" ;
|
||||
lin Liberia_CName = mkCName "Liberia" ;
|
||||
lin Belize_dollar_CName = mkCName "Belizisk dollar" ;
|
||||
lin Tbilisi_CName = mkCName "Tbilisi" ;
|
||||
lin Sri_Lankan_rupee_CName = mkCName "Lankesisk rupie" ;
|
||||
lin Antigua_and_Barbuda_CName = mkCName "Antigua och Barbuda" ;
|
||||
lin Panama_City_CName = mkCName "Panama City" ;
|
||||
lin South_Sudanese_pound_CName = mkCName "Sydsudanesiskt pund" ;
|
||||
lin Uzbekistani_som_CName = mkCName "Uzbekistansk som" ;
|
||||
lin Asunción_CName = mkCName "Asunción" ;
|
||||
lin Rwandan_franc_CName = mkCName "Rwandisk franc" ;
|
||||
lin Vietnamese_dong_CName = mkCName "Vietnamesisk dong" ;
|
||||
lin Namibian_dollar_CName = mkCName "Namibisk dollar" ;
|
||||
lin Djibouti_CName = mkCName "Djibouti" ;
|
||||
lin Somali_shilling_CName = mkCName "Somalisk shilling" ;
|
||||
lin Funafuti_CName = mkCName "Funafuti" ;
|
||||
lin Burundian_franc_CName = mkCName "Burundisk franc" ;
|
||||
lin Canberra_CName = mkCName "Canberra" ;
|
||||
lin Belarusian_ruble_CName = mkCName "Belarusisk rubel" ;
|
||||
lin Dominica_CName = mkCName "Dominica" ;
|
||||
lin Greece_CName = mkCName "Grekland" ;
|
||||
lin Santiago_CName = mkCName "Santiago de Chile" ;
|
||||
lin Palikir_CName = mkCName "Palikir" ;
|
||||
lin Moldova_CName = mkCName "Moldavien" ;
|
||||
lin Ecuador_CName = mkCName "Ecuador" ;
|
||||
lin Grenada_CName = mkCName "Grenada" ;
|
||||
lin Kyrgyzstani_som_CName = mkCName "Kirgizistansk som" ;
|
||||
lin Mauritania_CName = mkCName "Mauretanien" ;
|
||||
lin Japan_CName = mkCName "Japan" ;
|
||||
lin Mexican_peso_CName = mkCName "Mexikansk peso" ;
|
||||
lin New_Taiwan_dollar_CName = mkCName "Taiwanesisk dollar" ;
|
||||
lin Doha_CName = mkCName "Doha" ;
|
||||
lin Bangladesh_CName = mkCName "Bangladesh" ;
|
||||
lin Cape_Verdean_escudo_CName = mkCName "Kapverdisk escudo" ;
|
||||
lin London_CName = mkCName "London" ;
|
||||
lin Australian_dollar_CName = mkCName "Australisk dollar" ;
|
||||
lin Moroccan_dirham_CName = mkCName "Marockansk dirham" ;
|
||||
lin Monaco_City_CName = mkCName "Monaco City" ;
|
||||
lin Brunei_dollar_CName = mkCName "Bruneisk dollar" ;
|
||||
lin Castries_CName = mkCName "Castries" ;
|
||||
}
|
||||
19
old-labs/lab2/wikipedia-2022/Facts.gf
Normal file
19
old-labs/lab2/wikipedia-2022/Facts.gf
Normal file
@@ -0,0 +1,19 @@
|
||||
abstract Facts = {
|
||||
|
||||
flags startcat = Fact ;
|
||||
|
||||
cat
|
||||
Fact ;
|
||||
Object ;
|
||||
Attribute ;
|
||||
Value ;
|
||||
Name ;
|
||||
|
||||
fun
|
||||
AttributeFact : Attribute -> Object -> Value -> Fact ;
|
||||
|
||||
NameObject : Name -> Object ;
|
||||
NameValue : Name -> Value ;
|
||||
IntValue : Int -> Value ;
|
||||
|
||||
}
|
||||
16
old-labs/lab2/wikipedia-2022/FactsEng.gf
Normal file
16
old-labs/lab2/wikipedia-2022/FactsEng.gf
Normal file
@@ -0,0 +1,16 @@
|
||||
concrete FactsEng of Facts = open SyntaxEng, SymbolicEng in {
|
||||
|
||||
lincat
|
||||
Fact = Cl ;
|
||||
Object = NP ;
|
||||
Attribute = CN ;
|
||||
Value = NP ;
|
||||
Name = NP ;
|
||||
|
||||
lin
|
||||
AttributeFact attr obj val = mkCl (mkNP the_Det (mkCN attr (mkAdv possess_Prep obj))) val ;
|
||||
NameObject name = name ;
|
||||
NameValue name = name ;
|
||||
IntValue int = symb int ;
|
||||
|
||||
}
|
||||
17
old-labs/lab2/wikipedia-2022/FactsFin.gf
Normal file
17
old-labs/lab2/wikipedia-2022/FactsFin.gf
Normal file
@@ -0,0 +1,17 @@
|
||||
concrete FactsFin of Facts =
|
||||
open SyntaxFin, SymbolicFin, (E=ExtendFin) in {
|
||||
|
||||
lincat
|
||||
Fact = Cl ;
|
||||
Object = NP ;
|
||||
Attribute = CN ;
|
||||
Value = NP ;
|
||||
Name = NP ;
|
||||
|
||||
lin
|
||||
AttributeFact attr obj val = mkCl (mkNP (E.GenNP obj) attr) val ;
|
||||
NameObject name = name ;
|
||||
NameValue name = name ;
|
||||
IntValue int = symb int ;
|
||||
|
||||
}
|
||||
16
old-labs/lab2/wikipedia-2022/FactsGer.gf
Normal file
16
old-labs/lab2/wikipedia-2022/FactsGer.gf
Normal file
@@ -0,0 +1,16 @@
|
||||
concrete FactsGer of Facts = open SyntaxGer, SymbolicGer in {
|
||||
|
||||
lincat
|
||||
Fact = Cl ;
|
||||
Object = NP ;
|
||||
Attribute = CN ;
|
||||
Value = NP ;
|
||||
Name = NP ;
|
||||
|
||||
lin
|
||||
AttributeFact attr obj val = mkCl (mkNP the_Det (mkCN attr (mkAdv possess_Prep obj))) val ;
|
||||
NameObject name = name ;
|
||||
NameValue name = name ;
|
||||
IntValue int = symb int ;
|
||||
|
||||
}
|
||||
17
old-labs/lab2/wikipedia-2022/FactsSwe.gf
Normal file
17
old-labs/lab2/wikipedia-2022/FactsSwe.gf
Normal file
@@ -0,0 +1,17 @@
|
||||
concrete FactsSwe of Facts =
|
||||
open SyntaxSwe, SymbolicSwe, (E=ExtendSwe) in {
|
||||
|
||||
lincat
|
||||
Fact = Cl ;
|
||||
Object = NP ;
|
||||
Attribute = CN ;
|
||||
Value = NP ;
|
||||
Name = NP ;
|
||||
|
||||
lin
|
||||
AttributeFact attr obj val = mkCl (mkNP (E.GenNP obj) attr) val ;
|
||||
NameObject name = name ;
|
||||
NameValue name = name ;
|
||||
IntValue int = symb int ;
|
||||
|
||||
}
|
||||
64
old-labs/lab2/wikipedia-2022/country_facts.py
Normal file
64
old-labs/lab2/wikipedia-2022/country_facts.py
Normal file
@@ -0,0 +1,64 @@
|
||||
from data_facts import *
|
||||
|
||||
pgffile = 'Countries.pgf'
|
||||
datafile = '../data/countries.tsv'
|
||||
|
||||
# 0.238s
|
||||
def country_facts_embedded(factsys,tuple):
|
||||
countr = factsys.str2exp("CName",tuple[0])
|
||||
cap = factsys.str2exp('Name',tuple.capital)
|
||||
cont = factsys.str2exp('CName',tuple.continent)
|
||||
curr = factsys.str2exp('Name',tuple.currency)
|
||||
pop = mkInt(tuple.population)
|
||||
are = mkInt(tuple.area)
|
||||
|
||||
factsys.grammar.embed("G")
|
||||
import G
|
||||
object = G.NameObject(G.cName(countr))
|
||||
|
||||
return [
|
||||
G.AttributeFact(G.capital_Attribute, object, G.NameValue(cap)),
|
||||
G.AttributeFact(G.area_Attribute, object, G.IntValue(are)),
|
||||
G.populationFact(countr, pop),
|
||||
G.continentFact(countr, cont),
|
||||
G.AttributeFact(G.currency_Attribute, object, G.NameValue(curr))
|
||||
]
|
||||
|
||||
# 0.367s
|
||||
def country_facts_parsed(factsys,tuple):
|
||||
countr = factsys.data2lin("CName",tuple[0])
|
||||
cap = factsys.data2lin('Name',tuple.capital)
|
||||
cont = factsys.data2lin('CName',tuple.continent)
|
||||
curr = factsys.data2lin('Name',tuple.currency)
|
||||
pop = mkInt(tuple.population)
|
||||
are = mkInt(tuple.area)
|
||||
|
||||
return [ factsys.str2exp('Fact',s) for s in
|
||||
[
|
||||
"the capital of {} is {}".format(countr,cap),
|
||||
"the area of {} is {}".format(countr,are),
|
||||
"{} has {} inhabitants".format(countr,pop),
|
||||
"{} is in {}".format(countr, cont),
|
||||
"the currency of {} is {}".format(countr,are)
|
||||
]
|
||||
]
|
||||
|
||||
def countries_facts(factsys,cs):
|
||||
return [t for c in cs for t in country_facts_embedded(factsys,c)]
|
||||
|
||||
def mkInt(s):
|
||||
return pgf.readExpr(str(s))
|
||||
|
||||
def main():
|
||||
gr = pgf.readPGF('Countries.pgf')
|
||||
|
||||
factsys = FactSystem(
|
||||
'country capital area population continent currency',
|
||||
gr,
|
||||
'CountriesEng'
|
||||
)
|
||||
factsys.run(datafile, countries_facts)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
||||
72
old-labs/lab2/wikipedia-2022/data_facts.py
Normal file
72
old-labs/lab2/wikipedia-2022/data_facts.py
Normal file
@@ -0,0 +1,72 @@
|
||||
import pgf
|
||||
from collections import namedtuple
|
||||
|
||||
|
||||
class FactSystem:
|
||||
def __init__(self,fnames,gr,lang1):
|
||||
self.fieldnames = fnames
|
||||
self.grammar = gr
|
||||
self.language1 = lang1 # the language in which entities are parsed to trees
|
||||
|
||||
def get_data(self,filename):
|
||||
data = []
|
||||
Data = namedtuple('Data', self.fieldnames)
|
||||
file = open(filename)
|
||||
for line in file:
|
||||
fields = Data(*line.split('\t'))
|
||||
data.append(fields)
|
||||
return data
|
||||
|
||||
# can raise ParseError
|
||||
def str2exp(self,cat,s):
|
||||
eng = self.grammar.languages[self.language1]
|
||||
pp = eng.parse(s,cat=pgf.readType(cat))
|
||||
_,e = pp.__next__()
|
||||
return e
|
||||
|
||||
def exp2str(self,exp):
|
||||
eng = self.grammar.languages[self.language1]
|
||||
return eng.linearize(exp)
|
||||
|
||||
def data2lin(self,cat,s):
|
||||
return self.exp2str(self.str2exp(cat,s))
|
||||
|
||||
def run(self,datafile,fact_generator):
|
||||
gr = self.grammar
|
||||
data = sorted(list(self.get_data(datafile)))
|
||||
langs = list(gr.languages.values())
|
||||
for lang in langs:
|
||||
text = []
|
||||
for tree in fact_generator(self,data):
|
||||
lin = lang.linearize(tree)
|
||||
if lin: text.append(lin[0].upper() + lin[1:])
|
||||
print('\n'.join(text))
|
||||
|
||||
|
||||
def simple_facts(factsys,data):
|
||||
"for each tuple in data, generate an attribute fact for each field"
|
||||
fields = factsys.fieldnames.split()
|
||||
facts = []
|
||||
for tuple in data:
|
||||
object = factsys.str2exp("Object",tuple[0])
|
||||
for (attr,val) in [(fields[i],tuple[i]) for i in range(1,len(fields))]:
|
||||
fact = pgf.Expr("AttributeFact", [
|
||||
factsys.str2exp("Attribute",attr),
|
||||
object,
|
||||
factsys.str2exp("Value",val)])
|
||||
facts.append(fact)
|
||||
return facts
|
||||
|
||||
|
||||
def example_run():
|
||||
gr = pgf.readPGF('Countries.pgf')
|
||||
factsys = FactSystem(
|
||||
'country capital area population continent currency',
|
||||
gr,
|
||||
'CountriesEng'
|
||||
)
|
||||
|
||||
factsys.run('../data/countries.tsv',simple_facts)
|
||||
|
||||
if __name__ == "__main__":
|
||||
example_run()
|
||||
77
old-labs/lab2/wikipedia-2022/extract_names.py
Normal file
77
old-labs/lab2/wikipedia-2022/extract_names.py
Normal file
@@ -0,0 +1,77 @@
|
||||
country_file = '../data/countries.tsv'
|
||||
labels_file = '../data/alllabels.tsv'
|
||||
name_cat = 'CName'
|
||||
included_fields = [0,1,4,5]
|
||||
|
||||
source_field = 1 # English
|
||||
target_field = 4 # German
|
||||
|
||||
def get_names(filename):
|
||||
names = set()
|
||||
file = open(filename)
|
||||
for line in file.readlines()[1:]:
|
||||
fields = line.split('\t')
|
||||
for i in included_fields:
|
||||
names.add(fields[i].strip())
|
||||
return names
|
||||
|
||||
def name_rules(name,cat,lin):
|
||||
fun = mkFun(name,cat)
|
||||
return (
|
||||
' '.join(["fun",fun,':',cat,';']),
|
||||
' '.join(["lin",fun,'=','mk'+cat, '"'+lin+'"', ';'])
|
||||
)
|
||||
|
||||
def escape(s):
|
||||
r = ''
|
||||
for c in s:
|
||||
if c in "\\'":
|
||||
r = r + "\\" + c
|
||||
else:
|
||||
r = r + c
|
||||
return r
|
||||
|
||||
def mkFun(name,cat):
|
||||
parts = name.split()
|
||||
parts.append(cat)
|
||||
fun = '_'.join(parts)
|
||||
|
||||
esc = False
|
||||
if not name or not (name[0].isalpha()):
|
||||
esc = True
|
||||
else:
|
||||
for c in name:
|
||||
if not (c.isalpha() or c.isdigit() or c in "' _"):
|
||||
esc = True
|
||||
break
|
||||
if esc:
|
||||
fun = "'" + escape(fun) + "'"
|
||||
return fun
|
||||
|
||||
|
||||
def main_eng():
|
||||
names = get_names(country_file)
|
||||
for name in names:
|
||||
fun,lin = name_rules(name,name_cat,name)
|
||||
print(fun)
|
||||
print(lin)
|
||||
|
||||
def main_lang():
|
||||
|
||||
labeldefs = open(labels_file)
|
||||
labels = {}
|
||||
for row in labeldefs:
|
||||
cols = row.split('\t')
|
||||
labels[cols[source_field].strip()] = cols[target_field].strip()
|
||||
|
||||
names = get_names(country_file)
|
||||
for name in names:
|
||||
linname = labels.get(name,name)
|
||||
fun,lin = name_rules(name,name_cat,linname)
|
||||
print(fun)
|
||||
print(lin)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main_lang()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user