summaryrefslogtreecommitdiff
path: root/src/GF/Canon/TestGFC.hs
diff options
context:
space:
mode:
authoraarne <unknown>2003-09-22 13:16:55 +0000
committeraarne <unknown>2003-09-22 13:16:55 +0000
commitb1402e8bd6a68a891b00a214d6cf184d66defe19 (patch)
tree90372ac4e53dce91cf949dbf8e93be06f1d9e8bd /src/GF/Canon/TestGFC.hs
Founding the newly structured GF2.0 cvs archive.
Diffstat (limited to 'src/GF/Canon/TestGFC.hs')
-rw-r--r--src/GF/Canon/TestGFC.hs25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/GF/Canon/TestGFC.hs b/src/GF/Canon/TestGFC.hs
new file mode 100644
index 000000000..2210f4df3
--- /dev/null
+++ b/src/GF/Canon/TestGFC.hs
@@ -0,0 +1,25 @@
+-- automatically generated by BNF Converter
+module TestGFC where
+
+import LexGFC
+import ParGFC
+import SkelGFC
+import PrintGFC
+import AbsGFC
+
+import ErrM
+
+type ParseFun a = [Token] -> Err a
+
+myLLexer = myLexer
+
+runFile :: (Print a, Show a) => ParseFun a -> FilePath -> IO()
+runFile p f = readFile f >>= run p
+
+run :: (Print a, Show a) => ParseFun a -> String -> IO()
+run p s = case (p (myLLexer s)) of
+ Bad s -> do putStrLn "\nParse Failed...\n"
+ putStrLn s
+ Ok tree -> do putStrLn "\nParse Successful!"
+ putStrLn $ "\n[Abstract Syntax]\n\n" ++ show tree
+ putStrLn $ "\n[Linearized tree]\n\n" ++ printTree tree