summaryrefslogtreecommitdiff
path: root/examples/tutorial/embedded
diff options
context:
space:
mode:
Diffstat (limited to 'examples/tutorial/embedded')
-rw-r--r--examples/tutorial/embedded/Makefile4
-rw-r--r--examples/tutorial/embedded/Query.gf17
-rw-r--r--examples/tutorial/embedded/QueryEng.gf15
-rw-r--r--examples/tutorial/embedded/QuerySpa.gf15
-rw-r--r--examples/tutorial/embedded/TransferDef.hs26
-rw-r--r--examples/tutorial/embedded/TransferLoop.hs21
6 files changed, 0 insertions, 98 deletions
diff --git a/examples/tutorial/embedded/Makefile b/examples/tutorial/embedded/Makefile
deleted file mode 100644
index 14e85bd76..000000000
--- a/examples/tutorial/embedded/Makefile
+++ /dev/null
@@ -1,4 +0,0 @@
-all:
- gfc --make --output-format=haskell QueryEng.gf QuerySpa.gf
- ghc --make -o ./math TransferLoop.hs
- strip math
diff --git a/examples/tutorial/embedded/Query.gf b/examples/tutorial/embedded/Query.gf
deleted file mode 100644
index b1ba23a87..000000000
--- a/examples/tutorial/embedded/Query.gf
+++ /dev/null
@@ -1,17 +0,0 @@
-abstract Query = {
-
- flags startcat=Question ;
-
- cat
- Answer ; Question ; Object ;
-
- fun
- Even : Object -> Question ;
- Odd : Object -> Question ;
- Prime : Object -> Question ;
- Number : Int -> Object ;
-
- Yes : Answer ;
- No : Answer ;
-}
-
diff --git a/examples/tutorial/embedded/QueryEng.gf b/examples/tutorial/embedded/QueryEng.gf
deleted file mode 100644
index a740056ee..000000000
--- a/examples/tutorial/embedded/QueryEng.gf
+++ /dev/null
@@ -1,15 +0,0 @@
-concrete QueryEng of Query = {
- lincat
- Answer, Question, Object = Str ;
-
- lin
- Even x = "is" ++ x ++ "even" ;
- Odd x = "is" ++ x ++ "odd" ;
- Prime x = "is" ++ x ++ "prime" ;
- Number n = n.s ;
-
- Yes = "yes" ;
- No = "no" ;
-
-}
-
diff --git a/examples/tutorial/embedded/QuerySpa.gf b/examples/tutorial/embedded/QuerySpa.gf
deleted file mode 100644
index bcbef3550..000000000
--- a/examples/tutorial/embedded/QuerySpa.gf
+++ /dev/null
@@ -1,15 +0,0 @@
-concrete QuerySpa of Query = {
- lincat
- Answer, Question, Object = Str ;
-
- lin
- Even x = x ++ "es" ++ "par" ;
- Odd x = x ++ "es" ++ "impar" ;
- Prime x = x ++ "es" ++ "primo" ;
- Number n = n.s ;
-
- Yes = "si" ;
- No = "no" ;
-
-}
-
diff --git a/examples/tutorial/embedded/TransferDef.hs b/examples/tutorial/embedded/TransferDef.hs
deleted file mode 100644
index 37d81c6dc..000000000
--- a/examples/tutorial/embedded/TransferDef.hs
+++ /dev/null
@@ -1,26 +0,0 @@
-module TransferDef where
-
-import PGF (Tree)
-import Query -- generated from GF
-
-transfer :: Tree -> Tree
-transfer = gf . answer . fg
-
-answer :: GQuestion -> GAnswer
-answer p = case p of
- GOdd x -> test odd x
- GEven x -> test even x
- GPrime x -> test prime x
-
-value :: GObject -> Int
-value e = case e of
- GNumber (GInt i) -> fromInteger i
-
-test :: (Int -> Bool) -> GObject -> GAnswer
-test f x = if f (value x) then GYes else GNo
-
-prime :: Int -> Bool
-prime x = elem x primes where
- primes = sieve [2 .. x]
- sieve (p:xs) = p : sieve [ n | n <- xs, n `mod` p > 0 ]
- sieve [] = []
diff --git a/examples/tutorial/embedded/TransferLoop.hs b/examples/tutorial/embedded/TransferLoop.hs
deleted file mode 100644
index 58498da11..000000000
--- a/examples/tutorial/embedded/TransferLoop.hs
+++ /dev/null
@@ -1,21 +0,0 @@
-module Main where
-
-import PGF
-import TransferDef (transfer)
-
-main :: IO ()
-main = do
- gr <- readPGF "Query.pgf"
- loop (translate transfer gr)
-
-loop :: (String -> String) -> IO ()
-loop trans = do
- s <- getLine
- if s == "quit" then putStrLn "bye" else do
- putStrLn $ trans s
- loop trans
-
-translate :: (Tree -> Tree) -> PGF -> String -> String
-translate tr gr s = case parseAllLang gr (startCat gr) s of
- (lg,t:_):_ -> linearize gr lg (tr t)
- _ -> "NO PARSE"