summaryrefslogtreecommitdiff
path: root/examples/tutorial/old/semantics/Answer.hs
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2008-11-11 10:28:32 +0000
committeraarne <aarne@cs.chalmers.se>2008-11-11 10:28:32 +0000
commita5300ad062b82154f3f9533e143ea35515e6c39e (patch)
treea7eddd52596e0d216f17c9c7581d6ea67f9d8879 /examples/tutorial/old/semantics/Answer.hs
parentdb18350b1e55f7edfca8f02b0b233a6a7dcbb1ec (diff)
tutorial complete with server and js
Diffstat (limited to 'examples/tutorial/old/semantics/Answer.hs')
-rw-r--r--examples/tutorial/old/semantics/Answer.hs21
1 files changed, 21 insertions, 0 deletions
diff --git a/examples/tutorial/old/semantics/Answer.hs b/examples/tutorial/old/semantics/Answer.hs
new file mode 100644
index 000000000..08a76c5f1
--- /dev/null
+++ b/examples/tutorial/old/semantics/Answer.hs
@@ -0,0 +1,21 @@
+module Main where
+
+import GSyntax
+import AnswerBase
+import GF.GFCC.API
+
+main :: IO ()
+main = do
+ gr <- file2grammar "base.gfcc"
+ loop gr
+
+loop :: MultiGrammar -> IO ()
+loop gr = do
+ s <- getLine
+ case parse gr "BaseEng" "Question" s of
+ [] -> putStrLn "no parse"
+ ts -> mapM_ answer ts
+ loop gr
+ where
+ answer t = putStrLn $ linearize gr "BaseEng" $ gf $ question2answer $ fg t
+