-- File generated by the BNF Converter (bnfc 2.9.5). -- Templates for pattern matching on abstract syntax {-# OPTIONS_GHC -fno-warn-unused-matches #-} module Language.EO.Phi.Syntax.Skel where import Prelude (($), Either(..), String, (++), Show, show) import qualified Language.EO.Phi.Syntax.Abs type Err = Either String type Result = Err String failure :: Show a => a -> Result failure x = Left $ "Undefined case: " ++ show x transBytes :: Language.EO.Phi.Syntax.Abs.Bytes -> Result transBytes x = case x of Language.EO.Phi.Syntax.Abs.Bytes string -> failure x transFunction :: Language.EO.Phi.Syntax.Abs.Function -> Result transFunction x = case x of Language.EO.Phi.Syntax.Abs.Function string -> failure x transLabelId :: Language.EO.Phi.Syntax.Abs.LabelId -> Result transLabelId x = case x of Language.EO.Phi.Syntax.Abs.LabelId string -> failure x transAlphaIndex :: Language.EO.Phi.Syntax.Abs.AlphaIndex -> Result transAlphaIndex x = case x of Language.EO.Phi.Syntax.Abs.AlphaIndex string -> failure x transMetaId :: Language.EO.Phi.Syntax.Abs.MetaId -> Result transMetaId x = case x of Language.EO.Phi.Syntax.Abs.MetaId string -> failure x transMetaFunctionName :: Language.EO.Phi.Syntax.Abs.MetaFunctionName -> Result transMetaFunctionName x = case x of Language.EO.Phi.Syntax.Abs.MetaFunctionName string -> failure x transProgram :: Language.EO.Phi.Syntax.Abs.Program -> Result transProgram x = case x of Language.EO.Phi.Syntax.Abs.Program bindings -> failure x transObject :: Language.EO.Phi.Syntax.Abs.Object -> Result transObject x = case x of Language.EO.Phi.Syntax.Abs.Formation bindings -> failure x Language.EO.Phi.Syntax.Abs.Application object bindings -> failure x Language.EO.Phi.Syntax.Abs.ObjectDispatch object attribute -> failure x Language.EO.Phi.Syntax.Abs.GlobalObject -> failure x Language.EO.Phi.Syntax.Abs.ThisObject -> failure x Language.EO.Phi.Syntax.Abs.Termination -> failure x Language.EO.Phi.Syntax.Abs.MetaObject metaid -> failure x Language.EO.Phi.Syntax.Abs.MetaFunction metafunctionname object -> failure x transBinding :: Language.EO.Phi.Syntax.Abs.Binding -> Result transBinding x = case x of Language.EO.Phi.Syntax.Abs.AlphaBinding attribute object -> failure x Language.EO.Phi.Syntax.Abs.EmptyBinding attribute -> failure x Language.EO.Phi.Syntax.Abs.DeltaBinding bytes -> failure x Language.EO.Phi.Syntax.Abs.DeltaEmptyBinding -> failure x Language.EO.Phi.Syntax.Abs.LambdaBinding function -> failure x Language.EO.Phi.Syntax.Abs.MetaBindings metaid -> failure x Language.EO.Phi.Syntax.Abs.MetaDeltaBinding metaid -> failure x transAttribute :: Language.EO.Phi.Syntax.Abs.Attribute -> Result transAttribute x = case x of Language.EO.Phi.Syntax.Abs.Phi -> failure x Language.EO.Phi.Syntax.Abs.Rho -> failure x Language.EO.Phi.Syntax.Abs.Sigma -> failure x Language.EO.Phi.Syntax.Abs.VTX -> failure x Language.EO.Phi.Syntax.Abs.Label labelid -> failure x Language.EO.Phi.Syntax.Abs.Alpha alphaindex -> failure x Language.EO.Phi.Syntax.Abs.MetaAttr metaid -> failure x transRuleAttribute :: Language.EO.Phi.Syntax.Abs.RuleAttribute -> Result transRuleAttribute x = case x of Language.EO.Phi.Syntax.Abs.ObjectAttr attribute -> failure x Language.EO.Phi.Syntax.Abs.DeltaAttr -> failure x Language.EO.Phi.Syntax.Abs.LambdaAttr -> failure x transPeeledObject :: Language.EO.Phi.Syntax.Abs.PeeledObject -> Result transPeeledObject x = case x of Language.EO.Phi.Syntax.Abs.PeeledObject objecthead objectactions -> failure x transObjectHead :: Language.EO.Phi.Syntax.Abs.ObjectHead -> Result transObjectHead x = case x of Language.EO.Phi.Syntax.Abs.HeadFormation bindings -> failure x Language.EO.Phi.Syntax.Abs.HeadGlobal -> failure x Language.EO.Phi.Syntax.Abs.HeadThis -> failure x Language.EO.Phi.Syntax.Abs.HeadTermination -> failure x transObjectAction :: Language.EO.Phi.Syntax.Abs.ObjectAction -> Result transObjectAction x = case x of Language.EO.Phi.Syntax.Abs.ActionApplication bindings -> failure x Language.EO.Phi.Syntax.Abs.ActionDispatch attribute -> failure x