ソースを参照

slightly more complex animals grammar (english & german).

the german one is very weird, though, as we'd actually need at least
gender, but likely also other things.
Lucas Stadler 11 年 前
コミット
122e88301c
共有3 個のファイルを変更した74 個の追加0 個の削除を含む
  1. 14 0
      gf/Animals.gf
  2. 30 0
      gf/AnimalsEnglish.gf
  3. 30 0
      gf/AnimalsGerman.gf

+ 14 - 0
gf/Animals.gf

@ -0,0 +1,14 @@
1
abstract Animals = {
2
	flags startcat = Phrase;
3
4
	cat
5
		Phrase; Individual; Species; Quality;
6
7
	fun
8
		Is: Individual -> Quality -> Phrase;
9
		This, That: Species -> Individual;
10
		QSpecies: Quality -> Species -> Species;
11
		Cat, Dog, Crocodile, Camel, Rhinoceros: Species;
12
		Very: Quality -> Quality;
13
		Furry, Big, Small, Tiny, Interesting, Friendly, Fluffy, Weird, Extraordinary: Quality;
14
}

+ 30 - 0
gf/AnimalsEnglish.gf

@ -0,0 +1,30 @@
1
concrete AnimalsEnglish of Animals = {
2
	lincat
3
		Phrase, Individual, Species, Quality = {s: Str};
4
5
	lin
6
		Is individual quality = {s = individual.s ++ "is" ++ quality.s};
7
8
		This species = {s = "this" ++ species.s};
9
		That species = {s = "that" ++ species.s};
10
11
		QSpecies quality species = {s = quality.s ++ species.s};
12
13
		Cat = {s = "cat"};
14
		Dog = {s = "dog"};
15
		Crocodile = {s = "crocodile"};
16
		Camel = {s = "camel"};
17
		Rhinoceros = {s = "rhinoceros"};
18
19
		Very quality = {s = "very" ++ quality.s};
20
21
		Furry = {s = "furry"};
22
		Big = {s = "big"};
23
		Small = {s = "small"};
24
		Tiny = {s = "tiny"};
25
		Interesting = {s = "interesting"};
26
		Friendly = {s = "friendly"};
27
		Fluffy = {s = "fluffy"};
28
		Weird = {s = "weird"};
29
		Extraordinary = {s = "extraordinary"};
30
}

+ 30 - 0
gf/AnimalsGerman.gf

@ -0,0 +1,30 @@
1
concrete AnimalsGerman of Animals = {
2
	lincat
3
		Phrase, Individual, Species, Quality = {s: Str};
4
5
	lin
6
		Is individual quality = {s = individual.s ++ "ist" ++ quality.s};
7
8
		This species = {s = "dieses" ++ species.s};
9
		That species = {s = "das" ++ species.s};
10
11
		QSpecies quality species = {s = quality.s ++ species.s};
12
13
		Cat = {s = "Katze"};
14
		Dog = {s = "Hund"};
15
		Crocodile = {s = "Krokodil"};
16
		Camel = {s = "Kamel"};
17
		Rhinoceros = {s = "Rhinozeros"};
18
19
		Very quality = {s = "sehr" ++ quality.s};
20
21
		Furry = {s = "haarig"};
22
		Big = {s = "big"};
23
		Small = {s = "klein"};
24
		Tiny = {s = "tiny"};
25
		Interesting = {s = "interessant"};
26
		Friendly = {s = "freundlich"};
27
		Fluffy = {s = "flauschig"};
28
		Weird = {s = "seltsam"};
29
		Extraordinary = {s = "außerordentlich"};
30
}