From 67176f1520d8ac68a00b5266092fcd31a82f4bd8 Mon Sep 17 00:00:00 2001 From: aarne Date: Mon, 22 Nov 2010 15:48:52 +0000 Subject: completed book examples --- book/examples/chapter7/Map.gf | 10 ++++++++++ book/examples/chapter7/MapEng.gf | 17 +++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 book/examples/chapter7/Map.gf create mode 100644 book/examples/chapter7/MapEng.gf (limited to 'book/examples/chapter7') diff --git a/book/examples/chapter7/Map.gf b/book/examples/chapter7/Map.gf new file mode 100644 index 000000000..52deebb87 --- /dev/null +++ b/book/examples/chapter7/Map.gf @@ -0,0 +1,10 @@ +abstract Map = { +flags startcat = Query ; +cat + Query ; Input ; Place ; Click ; +fun + GoFromTo : Place -> Place -> Input ; + ThisPlace : Click -> Place ; + QueryInput : Input -> Query ; + ClickCoord : Int -> Int -> Click ; +} diff --git a/book/examples/chapter7/MapEng.gf b/book/examples/chapter7/MapEng.gf new file mode 100644 index 000000000..fee0b502c --- /dev/null +++ b/book/examples/chapter7/MapEng.gf @@ -0,0 +1,17 @@ +concrete MapEng of Map = { +lincat + Query = {s : Str} ; + Input, Place = {s : Str ; p : Str} ; + Click = {p : Str} ; +lin + GoFromTo x y = { + s = "I want to go from" ++ x.s ++ "to" ++ y.s ; + p = x.p ++ y.p + } ; + ThisPlace c = { + s = "this place" ; + p = c.p + } ; + QueryInput i = {s = i.s ++ ";" ++ i.p} ; + ClickCoord x y = {p = "(" ++ x.s ++ "," ++ y.s ++ ")"} ; +} -- cgit v1.2.3