diff options
| author | aarne <aarne@cs.chalmers.se> | 2008-06-20 10:38:03 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2008-06-20 10:38:03 +0000 |
| commit | e4119186fa03a12d8820bc3c03797ac33c71e258 (patch) | |
| tree | 87674c66ff9261fbdb9b75ea7507fdd0e5ec3c18 /examples-3.0/tutorial/semantics/Answer.hs | |
| parent | c3bb8267e67f8d2238a95f3930d6d8e3a6f7d234 (diff) | |
tutorial semantics example works except one rul
Diffstat (limited to 'examples-3.0/tutorial/semantics/Answer.hs')
| -rw-r--r-- | examples-3.0/tutorial/semantics/Answer.hs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/examples-3.0/tutorial/semantics/Answer.hs b/examples-3.0/tutorial/semantics/Answer.hs new file mode 100644 index 000000000..08a76c5f1 --- /dev/null +++ b/examples-3.0/tutorial/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 + |
