packages feed

eo-phi-normalizer-0.3.1: src/Language/EO/Phi/Syntax/Skel.hs

-- 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