summaryrefslogtreecommitdiff
path: root/src/Transfer/Syntax/Skel.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Transfer/Syntax/Skel.hs')
-rw-r--r--src/Transfer/Syntax/Skel.hs157
1 files changed, 157 insertions, 0 deletions
diff --git a/src/Transfer/Syntax/Skel.hs b/src/Transfer/Syntax/Skel.hs
new file mode 100644
index 000000000..7cba91e4e
--- /dev/null
+++ b/src/Transfer/Syntax/Skel.hs
@@ -0,0 +1,157 @@
+module Transfer.Syntax.Skel where
+
+-- Haskell module generated by the BNF converter
+
+import Transfer.Syntax.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 imports decls -> failure t
+ Import i -> failure t
+ DataDecl i exp consdecls -> failure t
+ TypeDecl i exp -> failure t
+ ValueDecl i patterns exp -> failure t
+ DeriveDecl i0 i1 -> failure t
+ ConsDecl i exp -> failure t
+ PConsTop i pattern patterns -> failure t
+ PCons i patterns -> failure t
+ PRec fieldpatterns -> failure t
+ PType -> failure t
+ PStr str -> failure t
+ PInt n -> failure t
+ PVar i -> failure t
+ PWild -> failure t
+ FieldPattern i pattern -> failure t
+ ELet letdefs exp -> failure t
+ ECase exp cases -> failure t
+ EIf exp0 exp1 exp2 -> failure t
+ EAbs varorwild exp -> failure t
+ EPi varorwild exp0 exp1 -> failure t
+ EPiNoVar exp0 exp1 -> failure t
+ EOr exp0 exp1 -> failure t
+ EAnd exp0 exp1 -> failure t
+ EEq exp0 exp1 -> failure t
+ ENe exp0 exp1 -> failure t
+ ELt exp0 exp1 -> failure t
+ ELe exp0 exp1 -> failure t
+ EGt exp0 exp1 -> failure t
+ EGe exp0 exp1 -> failure t
+ EAdd exp0 exp1 -> failure t
+ ESub exp0 exp1 -> failure t
+ EMul exp0 exp1 -> failure t
+ EDiv exp0 exp1 -> failure t
+ EMod exp0 exp1 -> failure t
+ EProj exp i -> failure t
+ ENeg exp -> failure t
+ EApp exp0 exp1 -> failure t
+ EEmptyRec -> failure t
+ ERecType fieldtypes -> failure t
+ ERec fieldvalues -> failure t
+ EVar i -> failure t
+ EType -> failure t
+ EStr str -> failure t
+ EInt n -> failure t
+ LetDef i exp0 exp1 -> failure t
+ Case pattern exp -> failure t
+ VVar i -> failure t
+ VWild -> failure t
+ FieldType i exp -> failure t
+ FieldValue i exp -> failure t
+ Ident str -> failure t
+
+transModule :: Module -> Result
+transModule t = case t of
+ Module imports decls -> failure t
+
+transImport :: Import -> Result
+transImport t = case t of
+ Import i -> failure t
+
+transDecl :: Decl -> Result
+transDecl t = case t of
+ DataDecl i exp consdecls -> failure t
+ TypeDecl i exp -> failure t
+ ValueDecl i patterns exp -> failure t
+ DeriveDecl i0 i1 -> failure t
+
+transConsDecl :: ConsDecl -> Result
+transConsDecl t = case t of
+ ConsDecl i exp -> failure t
+
+transPattern :: Pattern -> Result
+transPattern t = case t of
+ PConsTop i pattern patterns -> failure t
+ PCons i patterns -> failure t
+ PRec fieldpatterns -> failure t
+ PType -> failure t
+ PStr str -> failure t
+ PInt n -> failure t
+ PVar i -> failure t
+ PWild -> failure t
+
+transFieldPattern :: FieldPattern -> Result
+transFieldPattern t = case t of
+ FieldPattern i pattern -> failure t
+
+transExp :: Exp -> Result
+transExp t = case t of
+ ELet letdefs exp -> failure t
+ ECase exp cases -> failure t
+ EIf exp0 exp1 exp2 -> failure t
+ EAbs varorwild exp -> failure t
+ EPi varorwild exp0 exp1 -> failure t
+ EPiNoVar exp0 exp1 -> failure t
+ EOr exp0 exp1 -> failure t
+ EAnd exp0 exp1 -> failure t
+ EEq exp0 exp1 -> failure t
+ ENe exp0 exp1 -> failure t
+ ELt exp0 exp1 -> failure t
+ ELe exp0 exp1 -> failure t
+ EGt exp0 exp1 -> failure t
+ EGe exp0 exp1 -> failure t
+ EAdd exp0 exp1 -> failure t
+ ESub exp0 exp1 -> failure t
+ EMul exp0 exp1 -> failure t
+ EDiv exp0 exp1 -> failure t
+ EMod exp0 exp1 -> failure t
+ EProj exp i -> failure t
+ ENeg exp -> failure t
+ EApp exp0 exp1 -> failure t
+ EEmptyRec -> failure t
+ ERecType fieldtypes -> failure t
+ ERec fieldvalues -> failure t
+ EVar i -> failure t
+ EType -> failure t
+ EStr str -> failure t
+ EInt n -> failure t
+
+transLetDef :: LetDef -> Result
+transLetDef t = case t of
+ LetDef i exp0 exp1 -> failure t
+
+transCase :: Case -> Result
+transCase t = case t of
+ Case pattern exp -> failure t
+
+transVarOrWild :: VarOrWild -> Result
+transVarOrWild t = case t of
+ VVar i -> failure t
+ VWild -> failure t
+
+transFieldType :: FieldType -> Result
+transFieldType t = case t of
+ FieldType i exp -> failure t
+
+transFieldValue :: FieldValue -> Result
+transFieldValue t = case t of
+ FieldValue i exp -> failure t
+
+transIdent :: Ident -> Result
+transIdent t = case t of
+ Ident str -> failure t
+