summaryrefslogtreecommitdiff
path: root/src/Transfer/Core/Skel.hs
diff options
context:
space:
mode:
authorbringert <bringert@cs.chalmers.se>2005-11-25 16:36:19 +0000
committerbringert <bringert@cs.chalmers.se>2005-11-25 16:36:19 +0000
commitdbe8e61acc616b8f5ac07e8df89eb98a7997c29d (patch)
tree6e379f18986fc60f5606e023def46abdf770dca5 /src/Transfer/Core/Skel.hs
parentfe2731e5f8e301b5a0169bf8b667bb6c13bae80b (diff)
Move transfer into the GF repo.
Diffstat (limited to 'src/Transfer/Core/Skel.hs')
-rw-r--r--src/Transfer/Core/Skel.hs114
1 files changed, 114 insertions, 0 deletions
diff --git a/src/Transfer/Core/Skel.hs b/src/Transfer/Core/Skel.hs
new file mode 100644
index 000000000..287b237e0
--- /dev/null
+++ b/src/Transfer/Core/Skel.hs
@@ -0,0 +1,114 @@
+module Transfer.Core.Skel where
+
+-- Haskell module generated by the BNF converter
+
+import Transfer.Core.Abs
+import Transfer.ErrM
+type Result = Err String
+
+failure :: Show a => a -> Result
+failure x = Bad $ "Undefined case: " ++ show x
+
+transTree :: Tree c -> Result
+transTree t = case t of
+ Module decls -> failure t
+ DataDecl cident exp consdecls -> failure t
+ TypeDecl cident exp -> failure t
+ ValueDecl cident exp -> failure t
+ ConsDecl cident exp -> failure t
+ PCons cident patterns -> failure t
+ PVar patternvariable -> failure t
+ PRec fieldpatterns -> failure t
+ PType -> failure t
+ PStr str -> failure t
+ PInt n -> failure t
+ FieldPattern cident pattern -> failure t
+ PVVar cident -> failure t
+ PVWild -> failure t
+ ELet letdefs exp -> failure t
+ ECase exp cases -> failure t
+ EAbs patternvariable exp -> failure t
+ EPi patternvariable exp0 exp1 -> failure t
+ EApp exp0 exp1 -> failure t
+ EProj exp cident -> failure t
+ EEmptyRec -> failure t
+ ERecType fieldtypes -> failure t
+ ERec fieldvalues -> failure t
+ EVar cident -> failure t
+ EType -> failure t
+ EStr str -> failure t
+ EInt n -> failure t
+ LetDef cident exp0 exp1 -> failure t
+ Case pattern exp -> failure t
+ FieldType cident exp -> failure t
+ FieldValue cident exp -> failure t
+ CIdent str -> failure t
+
+transModule :: Module -> Result
+transModule t = case t of
+ Module decls -> failure t
+
+transDecl :: Decl -> Result
+transDecl t = case t of
+ DataDecl cident exp consdecls -> failure t
+ TypeDecl cident exp -> failure t
+ ValueDecl cident exp -> failure t
+
+transConsDecl :: ConsDecl -> Result
+transConsDecl t = case t of
+ ConsDecl cident exp -> failure t
+
+transPattern :: Pattern -> Result
+transPattern t = case t of
+ PCons cident patterns -> failure t
+ PVar patternvariable -> failure t
+ PRec fieldpatterns -> failure t
+ PType -> failure t
+ PStr str -> failure t
+ PInt n -> failure t
+
+transFieldPattern :: FieldPattern -> Result
+transFieldPattern t = case t of
+ FieldPattern cident pattern -> failure t
+
+transPatternVariable :: PatternVariable -> Result
+transPatternVariable t = case t of
+ PVVar cident -> failure t
+ PVWild -> failure t
+
+transExp :: Exp -> Result
+transExp t = case t of
+ ELet letdefs exp -> failure t
+ ECase exp cases -> failure t
+ EAbs patternvariable exp -> failure t
+ EPi patternvariable exp0 exp1 -> failure t
+ EApp exp0 exp1 -> failure t
+ EProj exp cident -> failure t
+ EEmptyRec -> failure t
+ ERecType fieldtypes -> failure t
+ ERec fieldvalues -> failure t
+ EVar cident -> failure t
+ EType -> failure t
+ EStr str -> failure t
+ EInt n -> failure t
+
+transLetDef :: LetDef -> Result
+transLetDef t = case t of
+ LetDef cident exp0 exp1 -> failure t
+
+transCase :: Case -> Result
+transCase t = case t of
+ Case pattern exp -> failure t
+
+transFieldType :: FieldType -> Result
+transFieldType t = case t of
+ FieldType cident exp -> failure t
+
+transFieldValue :: FieldValue -> Result
+transFieldValue t = case t of
+ FieldValue cident exp -> failure t
+
+transCIdent :: CIdent -> Result
+transCIdent t = case t of
+ CIdent str -> failure t
+