Pārlūkot izejas kodu

hello world using grammatical framework.

Lucas Stadler 11 gadi atpakaļ
vecāks
revīzija
10c90f5a7f
5 mainītis faili ar 46 papildinājumiem un 0 dzēšanām
  1. 1 0
      gf/.gitignore
  2. 10 0
      gf/Hello.gf
  3. 13 0
      gf/HelloEnglish.gf
  4. 9 0
      gf/HelloFinnish.gf
  5. 13 0
      gf/HelloGerman.gf

+ 1 - 0
gf/.gitignore

@ -0,0 +1 @@
1
*.gfo

+ 10 - 0
gf/Hello.gf

@ -0,0 +1,10 @@
1
abstract Hello = {
2
	flags startcat = Greeting;
3
4
	cat Greeting; Recipient; -- both are categories now
5
6
	fun
7
		Hello: Recipient -> Greeting;
8
		Goodbye: Recipient -> Greeting;
9
		World, Mum, Friends, Cat, Dog, RobotOverlords: Recipient;
10
}

+ 13 - 0
gf/HelloEnglish.gf

@ -0,0 +1,13 @@
1
concrete HelloEnglish of Hello = {
2
	lincat Greeting, Recipient = {s: Str};
3
4
	lin
5
		Hello recip = {s = "hello" ++ recip.s};
6
		Goodbye recip = {s = "goodbye" ++ recip.s};
7
		World = {s = "world"};
8
		Mum = {s = "mum"};
9
		Friends = {s = "friends"};
10
		Cat = {s = "kitty"};
11
		Dog = {s = "dog"};
12
		RobotOverlords = {s = "robot overlords"};
13
}

+ 9 - 0
gf/HelloFinnish.gf

@ -0,0 +1,9 @@
1
concrete HelloFinnish of Hello = {
2
	lincat Greeting, Recipient = {s : Str} ;
3
4
	lin
5
		Hello recip = {s = "terve" ++ recip.s} ;
6
		World = {s = "maailma"} ;
7
		Mum = {s = "äiti"} ;
8
		Friends = {s = "ystävät"} ;
9
}

+ 13 - 0
gf/HelloGerman.gf

@ -0,0 +1,13 @@
1
concrete HelloGerman of Hello = {
2
	lincat Greeting, Recipient = {s: Str};
3
4
	lin
5
		Hello recip = {s = "hallo" ++ recip.s};
6
		Goodbye recip = {s = "auf wiedersehen" ++ recip.s};
7
		World = {s = "Welt"};
8
		Mum = {s = "Mama"};
9
		Friends = {s = "Freunde"};
10
		Cat = {s = "Kitty"};
11
		Dog = {s = "Hund"};
12
		RobotOverlords = {s = "erlauchte Herren Roboter"};
13
}