summaryrefslogtreecommitdiff
path: root/src/GF/Source/TestGF.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/Source/TestGF.hs
Founding the newly structured GF2.0 cvs archive.
Diffstat (limited to 'src/GF/Source/TestGF.hs')
-rw-r--r--src/GF/Source/TestGF.hs22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/GF/Source/TestGF.hs b/src/GF/Source/TestGF.hs
new file mode 100644
index 000000000..f1c8e49a1
--- /dev/null
+++ b/src/GF/Source/TestGF.hs
@@ -0,0 +1,22 @@
+-- automatically generated by BNF Converter
+module TestGF where
+
+import LexGF
+import ParGF
+import SkelGF
+import PrintGF
+import AbsGF
+import ErrM
+
+type ParseFun a = [Token] -> Err a
+
+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 (myLexer 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