summaryrefslogtreecommitdiff
path: root/src/Transfer/Core/Skel.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Transfer/Core/Skel.hs')
-rw-r--r--src/Transfer/Core/Skel.hs119
1 files changed, 119 insertions, 0 deletions
diff --git a/src/Transfer/Core/Skel.hs b/src/Transfer/Core/Skel.hs
new file mode 100644
index 000000000..005ae92b1
--- /dev/null
+++ b/src/Transfer/Core/Skel.hs
@@ -0,0 +1,119 @@
+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
+ 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
+ ERecType fieldtypes -> failure t
+ ERec fieldvalues -> failure t
+ EVar cident -> failure t
+ EType -> failure t
+ EStr str -> failure t
+ EInteger n -> failure t
+ EDouble d -> failure t
+ EMeta tmeta -> failure t
+ LetDef cident exp -> failure t
+ Case pattern exp0 exp1 -> failure t
+ FieldType cident exp -> failure t
+ FieldValue cident exp -> failure t
+ TMeta str -> 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
+ 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
+ ERecType fieldtypes -> failure t
+ ERec fieldvalues -> failure t
+ EVar cident -> failure t
+ EType -> failure t
+ EStr str -> failure t
+ EInteger n -> failure t
+ EDouble d -> failure t
+ EMeta tmeta -> failure t
+
+transLetDef :: LetDef -> Result
+transLetDef t = case t of
+ LetDef cident exp -> failure t
+
+transCase :: Case -> Result
+transCase t = case t of
+ Case pattern exp0 exp1 -> 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
+
+transTMeta :: TMeta -> Result
+transTMeta t = case t of
+ TMeta str -> failure t
+
+transCIdent :: CIdent -> Result
+transCIdent t = case t of
+ CIdent str -> failure t
+