rzk 0.4.1.1 → 0.5
raw patch · 14 files changed
+2478/−1887 lines, 14 filesdep +aesondep +bytestringdep +text
Dependencies added: aeson, bytestring, text
Files
- ChangeLog.md +8/−0
- rzk.cabal +15/−4
- src/Language/Rzk/Free/Syntax.hs +77/−26
- src/Language/Rzk/Syntax/Abs.hs +40/−17
- src/Language/Rzk/Syntax/Layout.hs +2/−2
- src/Language/Rzk/Syntax/Lex.hs +38/−38
- src/Language/Rzk/Syntax/Lex.x +40/−40
- src/Language/Rzk/Syntax/Par.hs +1664/−1594
- src/Language/Rzk/Syntax/Par.y +93/−70
- src/Language/Rzk/Syntax/Print.hs +16/−5
- src/Language/Rzk/VSCode/Tokenize.hs +173/−0
- src/Language/Rzk/VSCode/Tokens.hs +169/−0
- src/Rzk/Main.hs +40/−24
- src/Rzk/TypeCheck.hs +103/−67
ChangeLog.md view
@@ -6,6 +6,14 @@ and this project adheres to the [Haskell Package Versioning Policy](https://pvp.haskell.org/). +## v0.5 — 2022-06-20++This version contains the following changes:++- `Unit` type (with `unit` value) (see [ede02611]( https://github.com/fizruk/rzk/commit/ede02611 ) and [bf9d6cd9]( https://github.com/fizruk/rzk/commit/bf9d6cd9 );+- Add basic tokenizer support via `rzk tokenize` (see [#53]( https://github.com/fizruk/rzk/pull/53 ));+- Add location information for shadowing warnings and duplicate definition errors (see [bf9d6cd9]( https://github.com/fizruk/rzk/commit/bf9d6cd9 )).+ ## v0.4.1 — 2022-06-16 This is version contains minor changes, primarily in tools around rzk:
rzk.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack name: rzk-version: 0.4.1.1+version: 0.5 synopsis: An experimental proof assistant for synthetic ∞-categories description: Please see the README on GitHub at <https://github.com/fizruk/rzk#readme> category: Dependent Types@@ -36,6 +36,8 @@ Language.Rzk.Syntax.Lex Language.Rzk.Syntax.Par Language.Rzk.Syntax.Print+ Language.Rzk.VSCode.Tokenize+ Language.Rzk.VSCode.Tokens Rzk Rzk.Main Rzk.TypeCheck@@ -45,12 +47,15 @@ src ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints build-depends:- array+ aeson+ , array , base >=4.7 && <5 , bifunctors+ , bytestring , mtl , optparse-generic , template-haskell+ , text default-language: Haskell2010 executable rzk@@ -61,13 +66,16 @@ app ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -threaded -rtsopts -with-rtsopts=-N build-depends:- array+ aeson+ , array , base >=4.7 && <5 , bifunctors+ , bytestring , mtl , optparse-generic , rzk , template-haskell+ , text default-language: Haskell2010 test-suite rzk-test@@ -79,11 +87,14 @@ test ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -threaded -rtsopts -with-rtsopts=-N build-depends:- array+ aeson+ , array , base >=4.7 && <5 , bifunctors+ , bytestring , mtl , optparse-generic , rzk , template-haskell+ , text default-language: Haskell2010
src/Language/Rzk/Free/Syntax.hs view
@@ -4,6 +4,7 @@ {-# LANGUAGE DeriveTraversable #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TemplateHaskell #-}@@ -13,7 +14,10 @@ import Data.Bifunctor.TH import Data.Char (chr, ord) import Data.Coerce-import Data.List (nub, (\\))+import Data.Function (on)+import Data.Functor (void)+import Data.List (intercalate, nub, (\\))+import Data.Maybe (fromMaybe) import Data.String import Free.Scoped@@ -21,6 +25,37 @@ import qualified Language.Rzk.Syntax as Rzk +data RzkPosition = RzkPosition+ { rzkFilePath :: Maybe FilePath+ , rzkLineCol :: Rzk.BNFC'Position+ }++ppRzkPosition :: RzkPosition -> String+ppRzkPosition RzkPosition{..} = intercalate ":" $ concat+ [ [fromMaybe "<stdin>" rzkFilePath]+ , foldMap (\(row, col) -> map show [row, col]) rzkLineCol]++newtype VarIdent = VarIdent { getVarIdent :: Rzk.VarIdent' RzkPosition }++instance Eq VarIdent where+ (==) = (==) `on` (void . getVarIdent)++instance IsString VarIdent where+ fromString s = VarIdent (Rzk.VarIdent (RzkPosition Nothing Nothing) (fromString s))++ppVarIdentWithLocation :: VarIdent -> String+ppVarIdentWithLocation (VarIdent var@(Rzk.VarIdent pos _ident)) =+ Rzk.printTree var <> " (" <> ppRzkPosition pos <> ")"++varIdent :: Rzk.VarIdent -> VarIdent+varIdent = varIdentAt Nothing++varIdentAt :: Maybe FilePath -> Rzk.VarIdent -> VarIdent+varIdentAt path (Rzk.VarIdent pos ident) = VarIdent (Rzk.VarIdent (RzkPosition path pos) ident)++fromVarIdent :: VarIdent -> Rzk.VarIdent+fromVarIdent (VarIdent (Rzk.VarIdent (RzkPosition _file pos) ident)) = Rzk.VarIdent pos ident+ data TermF scope term = UniverseF | UniverseCubeF@@ -39,16 +74,18 @@ | TopeOrF term term | RecBottomF | RecOrF [(term, term)]- | TypeFunF (Maybe Rzk.VarIdent) term (Maybe scope) scope- | TypeSigmaF (Maybe Rzk.VarIdent) term scope+ | TypeFunF (Maybe VarIdent) term (Maybe scope) scope+ | TypeSigmaF (Maybe VarIdent) term scope | TypeIdF term (Maybe term) term | AppF term term- | LambdaF (Maybe Rzk.VarIdent) (Maybe (term, Maybe scope)) scope+ | LambdaF (Maybe VarIdent) (Maybe (term, Maybe scope)) scope | PairF term term | FirstF term | SecondF term | ReflF (Maybe (term, Maybe term)) | IdJF term term term term term term+ | UnitF+ | TypeUnitF | TypeAscF term term | TypeRestrictedF term [(term, term)] deriving (Eq)@@ -88,8 +125,8 @@ substituteT :: TermT var -> Scope TermT var -> TermT var substituteT x = substitute x . invalidateWHNF -type Term' = Term Rzk.VarIdent-type TermT' = TermT Rzk.VarIdent+type Term' = Term VarIdent+type TermT' = TermT VarIdent freeVars :: Term a -> [a] freeVars = foldMap pure@@ -117,24 +154,25 @@ toTerm' :: Rzk.Term -> Term' toTerm' = toTerm Pure -toScope :: Rzk.VarIdent -> (Rzk.VarIdent -> Term a) -> Rzk.Term -> Scope Term a+toScope :: VarIdent -> (VarIdent -> Term a) -> Rzk.Term -> Scope Term a toScope x bvars = toTerm $ \z -> if x == z then Pure Z else S <$> bvars z -toScopePattern :: Rzk.Pattern -> (Rzk.VarIdent -> Term a) -> Rzk.Term -> Scope Term a+toScopePattern :: Rzk.Pattern -> (VarIdent -> Term a) -> Rzk.Term -> Scope Term a toScopePattern pat bvars = toTerm $ \z -> case lookup z (bindings pat (Pure Z)) of Just t -> t Nothing -> S <$> bvars z where- bindings (Rzk.PatternWildcard _loc) _ = []- bindings (Rzk.PatternVar _loc x) t = [(x, t)]+ bindings (Rzk.PatternWildcard _loc) _ = []+ bindings (Rzk.PatternUnit _loc) _ = []+ bindings (Rzk.PatternVar _loc x) t = [(varIdent x, t)] bindings (Rzk.PatternPair _loc l r) t = bindings l (First t) <> bindings r (Second t) -toTerm :: (Rzk.VarIdent -> Term a) -> Rzk.Term -> Term a+toTerm :: (VarIdent -> Term a) -> Rzk.Term -> Term a toTerm bvars = go where go = \case- Rzk.Var _loc x -> bvars x+ Rzk.Var _loc x -> bvars (varIdent x) Rzk.Universe _loc -> Universe Rzk.UniverseCube _loc -> UniverseCube@@ -155,6 +193,8 @@ Rzk.RecOr _loc rs -> RecOr [ (go tope, go term) | Rzk.Restriction _loc tope term <- rs ] Rzk.TypeId _loc x tA y -> TypeId (go x) (Just (go tA)) (go y) Rzk.TypeIdSimple _loc x y -> TypeId (go x) Nothing (go y)+ Rzk.TypeUnit _loc -> TypeUnit+ Rzk.Unit _loc -> Unit Rzk.App _loc f x -> App (go f) (go x) Rzk.Pair _loc l r -> Pair (go l) (go r) Rzk.First _loc term -> First (go term)@@ -195,20 +235,20 @@ Rzk.Hole _loc _ident -> error "holes are not supported" - patternVar (Rzk.PatternVar _loc x) = Just x+ patternVar (Rzk.PatternVar _loc x) = Just (varIdent x) patternVar _ = Nothing fromTerm' :: Term' -> Rzk.Term fromTerm' t = fromTermWith' vars (defaultVarIdents \\ vars) t where vars = freeVars t -fromScope' :: Rzk.VarIdent -> [Rzk.VarIdent] -> [Rzk.VarIdent] -> Scope Term Rzk.VarIdent -> Rzk.Term+fromScope' :: VarIdent -> [VarIdent] -> [VarIdent] -> Scope Term VarIdent -> Rzk.Term fromScope' x used xs = fromTermWith' (x : used) xs . (>>= f) where f Z = Pure x f (S z) = Pure z -fromTermWith' :: [Rzk.VarIdent] -> [Rzk.VarIdent] -> Term' -> Rzk.Term+fromTermWith' :: [VarIdent] -> [VarIdent] -> Term' -> Rzk.Term fromTermWith' used vars = go where withFresh Nothing f =@@ -220,8 +260,10 @@ z' = refreshVar used z loc = Nothing++ go :: Term' -> Rzk.Term go = \case- Pure z -> Rzk.Var loc z+ Pure z -> Rzk.Var loc (fromVarIdent z) Universe -> Rzk.Universe loc UniverseCube -> Rzk.UniverseCube loc@@ -242,27 +284,29 @@ RecOr rs -> Rzk.RecOr loc [ Rzk.Restriction loc (go tope) (go term) | (tope, term) <- rs ] TypeFun z arg Nothing ret -> withFresh z $ \(x, xs) ->- Rzk.TypeFun loc (Rzk.ParamVarType loc (Rzk.PatternVar loc x) (go arg)) (fromScope' x used xs ret)+ Rzk.TypeFun loc (Rzk.ParamVarType loc (Rzk.PatternVar loc (fromVarIdent x)) (go arg)) (fromScope' x used xs ret) TypeFun z arg (Just tope) ret -> withFresh z $ \(x, xs) ->- Rzk.TypeFun loc (Rzk.ParamVarShape loc (Rzk.PatternVar loc x) (go arg) (fromScope' x used xs tope)) (fromScope' x used xs ret)+ Rzk.TypeFun loc (Rzk.ParamVarShape loc (Rzk.PatternVar loc (fromVarIdent x)) (go arg) (fromScope' x used xs tope)) (fromScope' x used xs ret) TypeSigma z a b -> withFresh z $ \(x, xs) ->- Rzk.TypeSigma loc (Rzk.PatternVar loc x) (go a) (fromScope' x used xs b)+ Rzk.TypeSigma loc (Rzk.PatternVar loc (fromVarIdent x)) (go a) (fromScope' x used xs b) TypeId l (Just tA) r -> Rzk.TypeId loc (go l) (go tA) (go r) TypeId l Nothing r -> Rzk.TypeIdSimple loc (go l) (go r) App l r -> Rzk.App loc (go l) (go r) Lambda z Nothing scope -> withFresh z $ \(x, xs) ->- Rzk.Lambda loc [Rzk.ParamPattern loc (Rzk.PatternVar loc x)] (fromScope' x used xs scope)+ Rzk.Lambda loc [Rzk.ParamPattern loc (Rzk.PatternVar loc (fromVarIdent x))] (fromScope' x used xs scope) Lambda z (Just (ty, Nothing)) scope -> withFresh z $ \(x, xs) ->- Rzk.Lambda loc [Rzk.ParamPatternType loc [Rzk.PatternVar loc x] (go ty)] (fromScope' x used xs scope)+ Rzk.Lambda loc [Rzk.ParamPatternType loc [Rzk.PatternVar loc (fromVarIdent x)] (go ty)] (fromScope' x used xs scope) Lambda z (Just (cube, Just tope)) scope -> withFresh z $ \(x, xs) ->- Rzk.Lambda loc [Rzk.ParamPatternShape loc (Rzk.PatternVar loc x) (go cube) (fromScope' x used xs tope)] (fromScope' x used xs scope)+ Rzk.Lambda loc [Rzk.ParamPatternShape loc (Rzk.PatternVar loc (fromVarIdent x)) (go cube) (fromScope' x used xs tope)] (fromScope' x used xs scope) -- Lambda (Maybe (term, Maybe scope)) scope -> Rzk.Lambda loc (Maybe (term, Maybe scope)) scope Pair l r -> Rzk.Pair loc (go l) (go r) First term -> Rzk.First loc (go term) Second term -> Rzk.Second loc (go term)+ TypeUnit -> Rzk.TypeUnit loc+ Unit -> Rzk.Unit loc Refl Nothing -> Rzk.Refl loc Refl (Just (t, Nothing)) -> Rzk.ReflTerm loc (go t) Refl (Just (t, Just ty)) -> Rzk.ReflTermType loc (go t) (go ty)@@ -271,8 +315,11 @@ TypeRestricted ty rs -> Rzk.TypeRestricted loc (go ty) (map (\(tope, term) -> (Rzk.Restriction loc (go tope) (go term))) rs) -defaultVarIdents :: [Rzk.VarIdent]-defaultVarIdents = coerce [ "x" <> map digitToSub (show n) | n <- [1..] ]+defaultVarIdents :: [VarIdent]+defaultVarIdents =+ [ fromString name+ | n <- [1..]+ , let name = "x" <> map digitToSub (show n) ] where digitToSub c = chr ((ord c - ord '0') + ord '₀') @@ -281,10 +328,14 @@ -- -- >>> refreshVar ["x", "y", "x₁", "z"] "x" -- x₂-refreshVar :: [Rzk.VarIdent] -> Rzk.VarIdent -> Rzk.VarIdent+refreshVar :: [VarIdent] -> VarIdent -> VarIdent refreshVar vars x- | x `elem` vars = refreshVar vars (coerce incIndex x)+ | x `elem` vars = refreshVar vars (incVarIdentIndex x) | otherwise = x++incVarIdentIndex :: VarIdent -> VarIdent+incVarIdentIndex (VarIdent (Rzk.VarIdent loc token)) =+ VarIdent (Rzk.VarIdent loc (coerce incIndex token)) -- | Increment the subscript number at the end of the indentifier. --
src/Language/Rzk/Syntax/Abs.hs view
@@ -27,6 +27,14 @@ data Module' a = Module a (LanguageDecl' a) [Command' a] deriving (C.Eq, C.Ord, C.Show, C.Read, C.Functor, C.Foldable, C.Traversable, C.Data, C.Typeable, C.Generic) +type HoleIdent = HoleIdent' BNFC'Position+data HoleIdent' a = HoleIdent a HoleIdentToken+ deriving (C.Eq, C.Ord, C.Show, C.Read, C.Functor, C.Foldable, C.Traversable, C.Data, C.Typeable, C.Generic)++type VarIdent = VarIdent' BNFC'Position+data VarIdent' a = VarIdent a VarIdentToken+ deriving (C.Eq, C.Ord, C.Show, C.Read, C.Functor, C.Foldable, C.Traversable, C.Data, C.Typeable, C.Generic)+ type LanguageDecl = LanguageDecl' BNFC'Position data LanguageDecl' a = LanguageDecl a (Language' a) deriving (C.Eq, C.Ord, C.Show, C.Read, C.Functor, C.Foldable, C.Traversable, C.Data, C.Typeable, C.Generic)@@ -43,24 +51,26 @@ | CommandCompute a (Term' a) | CommandComputeWHNF a (Term' a) | CommandComputeNF a (Term' a)- | CommandPostulate a VarIdent (DeclUsedVars' a) [Param' a] (Term' a)- | CommandAssume a [VarIdent] (Term' a)+ | CommandPostulate a (VarIdent' a) (DeclUsedVars' a) [Param' a] (Term' a)+ | CommandAssume a [VarIdent' a] (Term' a) | CommandSection a (SectionName' a) [Command' a] (SectionName' a)- | CommandDefine a VarIdent (DeclUsedVars' a) [Param' a] (Term' a) (Term' a)+ | CommandDefine a (VarIdent' a) (DeclUsedVars' a) [Param' a] (Term' a) (Term' a) deriving (C.Eq, C.Ord, C.Show, C.Read, C.Functor, C.Foldable, C.Traversable, C.Data, C.Typeable, C.Generic) type DeclUsedVars = DeclUsedVars' BNFC'Position-data DeclUsedVars' a = DeclUsedVars a [VarIdent]+data DeclUsedVars' a = DeclUsedVars a [VarIdent' a] deriving (C.Eq, C.Ord, C.Show, C.Read, C.Functor, C.Foldable, C.Traversable, C.Data, C.Typeable, C.Generic) type SectionName = SectionName' BNFC'Position-data SectionName' a = NoSectionName a | SomeSectionName a VarIdent+data SectionName' a+ = NoSectionName a | SomeSectionName a (VarIdent' a) deriving (C.Eq, C.Ord, C.Show, C.Read, C.Functor, C.Foldable, C.Traversable, C.Data, C.Typeable, C.Generic) type Pattern = Pattern' BNFC'Position data Pattern' a = PatternWildcard a- | PatternVar a VarIdent+ | PatternUnit a+ | PatternVar a (VarIdent' a) | PatternPair a (Pattern' a) (Pattern' a) deriving (C.Eq, C.Ord, C.Show, C.Read, C.Functor, C.Foldable, C.Traversable, C.Data, C.Typeable, C.Generic) @@ -104,6 +114,7 @@ | RecOr a [Restriction' a] | TypeFun a (ParamDecl' a) (Term' a) | TypeSigma a (Pattern' a) (Term' a) (Term' a)+ | TypeUnit a | TypeId a (Term' a) (Term' a) (Term' a) | TypeIdSimple a (Term' a) (Term' a) | TypeRestricted a (Term' a) [Restriction' a]@@ -112,37 +123,38 @@ | Pair a (Term' a) (Term' a) | First a (Term' a) | Second a (Term' a)+ | Unit a | Refl a | ReflTerm a (Term' a) | ReflTermType a (Term' a) (Term' a) | IdJ a (Term' a) (Term' a) (Term' a) (Term' a) (Term' a) (Term' a)- | Hole a HoleIdent- | Var a VarIdent+ | Hole a (HoleIdent' a)+ | Var a (VarIdent' a) | TypeAsc a (Term' a) (Term' a) deriving (C.Eq, C.Ord, C.Show, C.Read, C.Functor, C.Foldable, C.Traversable, C.Data, C.Typeable, C.Generic) -commandPostulateNoParams :: a -> VarIdent -> DeclUsedVars' a -> Term' a -> Command' a+commandPostulateNoParams :: a -> VarIdent' a -> DeclUsedVars' a -> Term' a -> Command' a commandPostulateNoParams = \ _a x vars ty -> CommandPostulate _a x vars [] ty -commandVariable :: a -> VarIdent -> Term' a -> Command' a+commandVariable :: a -> VarIdent' a -> Term' a -> Command' a commandVariable = \ _a name term -> CommandAssume _a [name] term -commandVariables :: a -> [VarIdent] -> Term' a -> Command' a+commandVariables :: a -> [VarIdent' a] -> Term' a -> Command' a commandVariables = \ _a names term -> CommandAssume _a names term -commandDefineNoParams :: a -> VarIdent -> DeclUsedVars' a -> Term' a -> Term' a -> Command' a+commandDefineNoParams :: a -> VarIdent' a -> DeclUsedVars' a -> Term' a -> Term' a -> Command' a commandDefineNoParams = \ _a x vars ty term -> CommandDefine _a x vars [] ty term -commandDef :: a -> VarIdent -> DeclUsedVars' a -> [Param' a] -> Term' a -> Term' a -> Command' a+commandDef :: a -> VarIdent' a -> DeclUsedVars' a -> [Param' a] -> Term' a -> Term' a -> Command' a commandDef = \ _a x vars params ty term -> CommandDefine _a x vars params ty term -commandDefNoParams :: a -> VarIdent -> DeclUsedVars' a -> Term' a -> Term' a -> Command' a+commandDefNoParams :: a -> VarIdent' a -> DeclUsedVars' a -> Term' a -> Term' a -> Command' a commandDefNoParams = \ _a x vars ty term -> CommandDefine _a x vars [] ty term noDeclUsedVars :: a -> DeclUsedVars' a noDeclUsedVars = \ _a -> DeclUsedVars _a [] -paramVarType :: a -> VarIdent -> Term' a -> ParamDecl' a+paramVarType :: a -> VarIdent' a -> Term' a -> ParamDecl' a paramVarType = \ _a var cube -> ParamVarType _a (PatternVar _a var) cube paramVarShape :: a -> Pattern' a -> Term' a -> Term' a -> ParamDecl' a@@ -163,10 +175,10 @@ unicode_TypeSigmaAlt :: a -> Pattern' a -> Term' a -> Term' a -> Term' a unicode_TypeSigmaAlt = \ _a pat fst snd -> TypeSigma _a pat fst snd -newtype VarIdent = VarIdent String+newtype VarIdentToken = VarIdentToken String deriving (C.Eq, C.Ord, C.Show, C.Read, C.Data, C.Typeable, C.Generic, Data.String.IsString) -newtype HoleIdent = HoleIdent String+newtype HoleIdentToken = HoleIdentToken String deriving (C.Eq, C.Ord, C.Show, C.Read, C.Data, C.Typeable, C.Generic, Data.String.IsString) -- | Start position (line, column) of something.@@ -188,6 +200,14 @@ hasPosition = \case Module p _ _ -> p +instance HasPosition HoleIdent where+ hasPosition = \case+ HoleIdent p _ -> p++instance HasPosition VarIdent where+ hasPosition = \case+ VarIdent p _ -> p+ instance HasPosition LanguageDecl where hasPosition = \case LanguageDecl p _ -> p@@ -221,6 +241,7 @@ instance HasPosition Pattern where hasPosition = \case PatternWildcard p -> p+ PatternUnit p -> p PatternVar p _ -> p PatternPair p _ _ -> p @@ -262,6 +283,7 @@ RecOr p _ -> p TypeFun p _ _ -> p TypeSigma p _ _ _ -> p+ TypeUnit p -> p TypeId p _ _ _ -> p TypeIdSimple p _ _ -> p TypeRestricted p _ _ -> p@@ -270,6 +292,7 @@ Pair p _ _ -> p First p _ -> p Second p _ -> p+ Unit p -> p Refl p -> p ReflTerm p _ -> p ReflTermType p _ _ -> p
src/Language/Rzk/Syntax/Layout.hs view
@@ -42,11 +42,11 @@ parenOpen, parenClose :: [TokSymbol] parenOpen = [ TokSymbol "(" 16- , TokSymbol "[" 42+ , TokSymbol "[" 43 ] parenClose = [ TokSymbol ")" 17- , TokSymbol "]" 45+ , TokSymbol "]" 46 ] -- | Report an error during layout resolution.
src/Language/Rzk/Syntax/Lex.hs view
@@ -229,8 +229,8 @@ | TV !String -- ^ Identifier. | TD !String -- ^ Float literal. | TC !String -- ^ Character literal.- | T_VarIdent !String- | T_HoleIdent !String+ | T_VarIdentToken !String+ | T_HoleIdentToken !String deriving (Eq, Show, Ord) -- | Smart constructor for 'Tok' for the sake of backwards compatibility.@@ -293,8 +293,8 @@ PT _ (TD s) -> s PT _ (TC s) -> s Err _ -> "#error"- PT _ (T_VarIdent s) -> s- PT _ (T_HoleIdent s) -> s+ PT _ (T_VarIdentToken s) -> s+ PT _ (T_HoleIdentToken s) -> s -- | Convert a token to a string. prToken :: Token -> String@@ -321,38 +321,38 @@ -- | The keywords and symbols of the language organized as binary search tree. resWords :: BTree resWords =- b "=" 32- (b "(" 16- (b "#end" 8- (b "#compute-nf" 4- (b "#check" 2 (b "#assume" 1 N N) (b "#compute" 3 N N))- (b "#def" 6 (b "#compute-whnf" 5 N N) (b "#define" 7 N N)))- (b "#set-option" 12- (b "#postulate" 10 (b "#lang" 9 N N) (b "#section" 11 N N))- (b "#variable" 14- (b "#unset-option" 13 N N) (b "#variables" 15 N N))))- (b "1" 24- (b "," 20- (b "*" 18 (b ")" 17 N N) (b "*_1" 19 N N))- (b "/\\" 22 (b "->" 21 N N) (b "0_2" 23 N N)))- (b ":=" 28- (b "2" 26 (b "1_2" 25 N N) (b ":" 27 N N))- (b "<" 30 (b ";" 29 N N) (b "<=" 31 N N)))))- (b "first" 48- (b "TOPE" 40- (b "BOT" 36- (b "=_{" 34 (b "===" 33 N N) (b ">" 35 N N))- (b "Sigma" 38 (b "CUBE" 37 N N) (b "TOP" 39 N N)))- (b "\\/" 44- (b "[" 42 (b "U" 41 N N) (b "\\" 43 N N))- (b "_" 46 (b "]" 45 N N) (b "as" 47 N N))))- (b "uses" 56- (b "refl" 52- (b "recBOT" 50 (b "idJ" 49 N N) (b "recOR" 51 N N))- (b "rzk-1" 54 (b "refl_{" 53 N N) (b "second" 55 N N)))- (b "}" 60- (b "|" 58 (b "{" 57 N N) (b "|->" 59 N N))- (b "\8594" 62 (b "\931" 61 N N) (b "\8721" 63 N N)))))+ b "===" 33+ (b ")" 17+ (b "#lang" 9+ (b "#compute-whnf" 5+ (b "#compute" 3+ (b "#check" 2 (b "#assume" 1 N N) N) (b "#compute-nf" 4 N N))+ (b "#define" 7 (b "#def" 6 N N) (b "#end" 8 N N)))+ (b "#unset-option" 13+ (b "#section" 11 (b "#postulate" 10 N N) (b "#set-option" 12 N N))+ (b "#variables" 15 (b "#variable" 14 N N) (b "(" 16 N N))))+ (b "1_2" 25+ (b "->" 21+ (b "*_1" 19 (b "*" 18 N N) (b "," 20 N N))+ (b "0_2" 23 (b "/\\" 22 N N) (b "1" 24 N N)))+ (b ";" 29+ (b ":" 27 (b "2" 26 N N) (b ":=" 28 N N))+ (b "<=" 31 (b "<" 30 N N) (b "=" 32 N N)))))+ (b "idJ" 50+ (b "Unit" 42+ (b "Sigma" 38+ (b "BOT" 36 (b ">" 35 (b "=_{" 34 N N) N) (b "CUBE" 37 N N))+ (b "TOPE" 40 (b "TOP" 39 N N) (b "U" 41 N N)))+ (b "]" 46+ (b "\\" 44 (b "[" 43 N N) (b "\\/" 45 N N))+ (b "as" 48 (b "_" 47 N N) (b "first" 49 N N))))+ (b "uses" 58+ (b "refl_{" 54+ (b "recOR" 52 (b "recBOT" 51 N N) (b "refl" 53 N N))+ (b "second" 56 (b "rzk-1" 55 N N) (b "unit" 57 N N)))+ (b "}" 62+ (b "|" 60 (b "{" 59 N N) (b "|->" 61 N N))+ (b "\8594" 64 (b "\931" 63 N N) (b "\8721" 65 N N))))) where b s n = B bs (TS bs n) where@@ -440,8 +440,8 @@ , 0x80 + oc Data.Bits..&. 0x3f ] alex_action_3 = tok (eitherResIdent TV)-alex_action_4 = tok (eitherResIdent T_VarIdent)-alex_action_5 = tok (eitherResIdent T_HoleIdent)+alex_action_4 = tok (eitherResIdent T_VarIdentToken)+alex_action_5 = tok (eitherResIdent T_HoleIdentToken) alex_action_6 = tok (eitherResIdent TV) alex_action_7 = tok (TL . unescapeInitTail)
src/Language/Rzk/Syntax/Lex.x view
@@ -45,13 +45,13 @@ @rsyms { tok (eitherResIdent TV) } --- token VarIdent+-- token VarIdentToken [$u # [\t \n \r \ \! \" \# \( \) \, \- \. \; \< \> \? \[ \\ \] \{ \| \}]] [$u # [\t \n \r \ \" \# \( \) \, \; \< \> \[ \\ \] \{ \| \}]] *- { tok (eitherResIdent T_VarIdent) }+ { tok (eitherResIdent T_VarIdentToken) } --- token HoleIdent+-- token HoleIdentToken \?- { tok (eitherResIdent T_HoleIdent) }+ { tok (eitherResIdent T_HoleIdentToken) } -- Keywords and Ident $l $i*@@ -74,8 +74,8 @@ | TV !String -- ^ Identifier. | TD !String -- ^ Float literal. | TC !String -- ^ Character literal.- | T_VarIdent !String- | T_HoleIdent !String+ | T_VarIdentToken !String+ | T_HoleIdentToken !String deriving (Eq, Show, Ord) -- | Smart constructor for 'Tok' for the sake of backwards compatibility.@@ -138,8 +138,8 @@ PT _ (TD s) -> s PT _ (TC s) -> s Err _ -> "#error"- PT _ (T_VarIdent s) -> s- PT _ (T_HoleIdent s) -> s+ PT _ (T_VarIdentToken s) -> s+ PT _ (T_HoleIdentToken s) -> s -- | Convert a token to a string. prToken :: Token -> String@@ -166,38 +166,38 @@ -- | The keywords and symbols of the language organized as binary search tree. resWords :: BTree resWords =- b "=" 32- (b "(" 16- (b "#end" 8- (b "#compute-nf" 4- (b "#check" 2 (b "#assume" 1 N N) (b "#compute" 3 N N))- (b "#def" 6 (b "#compute-whnf" 5 N N) (b "#define" 7 N N)))- (b "#set-option" 12- (b "#postulate" 10 (b "#lang" 9 N N) (b "#section" 11 N N))- (b "#variable" 14- (b "#unset-option" 13 N N) (b "#variables" 15 N N))))- (b "1" 24- (b "," 20- (b "*" 18 (b ")" 17 N N) (b "*_1" 19 N N))- (b "/\\" 22 (b "->" 21 N N) (b "0_2" 23 N N)))- (b ":=" 28- (b "2" 26 (b "1_2" 25 N N) (b ":" 27 N N))- (b "<" 30 (b ";" 29 N N) (b "<=" 31 N N)))))- (b "first" 48- (b "TOPE" 40- (b "BOT" 36- (b "=_{" 34 (b "===" 33 N N) (b ">" 35 N N))- (b "Sigma" 38 (b "CUBE" 37 N N) (b "TOP" 39 N N)))- (b "\\/" 44- (b "[" 42 (b "U" 41 N N) (b "\\" 43 N N))- (b "_" 46 (b "]" 45 N N) (b "as" 47 N N))))- (b "uses" 56- (b "refl" 52- (b "recBOT" 50 (b "idJ" 49 N N) (b "recOR" 51 N N))- (b "rzk-1" 54 (b "refl_{" 53 N N) (b "second" 55 N N)))- (b "}" 60- (b "|" 58 (b "{" 57 N N) (b "|->" 59 N N))- (b "\8594" 62 (b "\931" 61 N N) (b "\8721" 63 N N)))))+ b "===" 33+ (b ")" 17+ (b "#lang" 9+ (b "#compute-whnf" 5+ (b "#compute" 3+ (b "#check" 2 (b "#assume" 1 N N) N) (b "#compute-nf" 4 N N))+ (b "#define" 7 (b "#def" 6 N N) (b "#end" 8 N N)))+ (b "#unset-option" 13+ (b "#section" 11 (b "#postulate" 10 N N) (b "#set-option" 12 N N))+ (b "#variables" 15 (b "#variable" 14 N N) (b "(" 16 N N))))+ (b "1_2" 25+ (b "->" 21+ (b "*_1" 19 (b "*" 18 N N) (b "," 20 N N))+ (b "0_2" 23 (b "/\\" 22 N N) (b "1" 24 N N)))+ (b ";" 29+ (b ":" 27 (b "2" 26 N N) (b ":=" 28 N N))+ (b "<=" 31 (b "<" 30 N N) (b "=" 32 N N)))))+ (b "idJ" 50+ (b "Unit" 42+ (b "Sigma" 38+ (b "BOT" 36 (b ">" 35 (b "=_{" 34 N N) N) (b "CUBE" 37 N N))+ (b "TOPE" 40 (b "TOP" 39 N N) (b "U" 41 N N)))+ (b "]" 46+ (b "\\" 44 (b "[" 43 N N) (b "\\/" 45 N N))+ (b "as" 48 (b "_" 47 N N) (b "first" 49 N N))))+ (b "uses" 58+ (b "refl_{" 54+ (b "recOR" 52 (b "recBOT" 51 N N) (b "refl" 53 N N))+ (b "second" 56 (b "rzk-1" 55 N N) (b "unit" 57 N N)))+ (b "}" 62+ (b "|" 60 (b "{" 59 N N) (b "|->" 61 N N))+ (b "\8594" 64 (b "\931" 63 N N) (b "\8721" 65 N N))))) where b s n = B bs (TS bs n) where
src/Language/Rzk/Syntax/Par.hs view
@@ -10,1600 +10,1670 @@ ( happyError , myLexer , pModule- , pListVarIdent- , pLanguageDecl- , pLanguage- , pCommand- , pListCommand- , pDeclUsedVars- , pSectionName- , pPattern- , pListPattern- , pParam- , pListParam- , pParamDecl- , pRestriction- , pListRestriction- , pTerm7- , pTerm5- , pTerm4- , pTerm3- , pTerm2- , pTerm1- , pTerm6- , pTerm- , pListTerm- ) where--import Prelude--import qualified Language.Rzk.Syntax.Abs-import Language.Rzk.Syntax.Lex-import qualified Data.Array as Happy_Data_Array-import qualified Data.Bits as Bits-import qualified GHC.Exts as Happy_GHC_Exts-import Control.Applicative(Applicative(..))-import Control.Monad (ap)---- parser produced by Happy Version 1.20.1.1--newtype HappyAbsSyn = HappyAbsSyn HappyAny-#if __GLASGOW_HASKELL__ >= 607-type HappyAny = Happy_GHC_Exts.Any-#else-type HappyAny = forall a . a-#endif-newtype HappyWrap27 = HappyWrap27 ((Language.Rzk.Syntax.Abs.BNFC'Position, String))-happyIn27 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, String)) -> (HappyAbsSyn )-happyIn27 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap27 x)-{-# INLINE happyIn27 #-}-happyOut27 :: (HappyAbsSyn ) -> HappyWrap27-happyOut27 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut27 #-}-newtype HappyWrap28 = HappyWrap28 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.VarIdent))-happyIn28 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.VarIdent)) -> (HappyAbsSyn )-happyIn28 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap28 x)-{-# INLINE happyIn28 #-}-happyOut28 :: (HappyAbsSyn ) -> HappyWrap28-happyOut28 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut28 #-}-newtype HappyWrap29 = HappyWrap29 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.HoleIdent))-happyIn29 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.HoleIdent)) -> (HappyAbsSyn )-happyIn29 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap29 x)-{-# INLINE happyIn29 #-}-happyOut29 :: (HappyAbsSyn ) -> HappyWrap29-happyOut29 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut29 #-}-newtype HappyWrap30 = HappyWrap30 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Module))-happyIn30 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Module)) -> (HappyAbsSyn )-happyIn30 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap30 x)-{-# INLINE happyIn30 #-}-happyOut30 :: (HappyAbsSyn ) -> HappyWrap30-happyOut30 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut30 #-}-newtype HappyWrap31 = HappyWrap31 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.VarIdent]))-happyIn31 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.VarIdent])) -> (HappyAbsSyn )-happyIn31 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap31 x)-{-# INLINE happyIn31 #-}-happyOut31 :: (HappyAbsSyn ) -> HappyWrap31-happyOut31 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut31 #-}-newtype HappyWrap32 = HappyWrap32 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.LanguageDecl))-happyIn32 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.LanguageDecl)) -> (HappyAbsSyn )-happyIn32 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap32 x)-{-# INLINE happyIn32 #-}-happyOut32 :: (HappyAbsSyn ) -> HappyWrap32-happyOut32 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut32 #-}-newtype HappyWrap33 = HappyWrap33 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Language))-happyIn33 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Language)) -> (HappyAbsSyn )-happyIn33 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap33 x)-{-# INLINE happyIn33 #-}-happyOut33 :: (HappyAbsSyn ) -> HappyWrap33-happyOut33 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut33 #-}-newtype HappyWrap34 = HappyWrap34 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Command))-happyIn34 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Command)) -> (HappyAbsSyn )-happyIn34 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap34 x)-{-# INLINE happyIn34 #-}-happyOut34 :: (HappyAbsSyn ) -> HappyWrap34-happyOut34 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut34 #-}-newtype HappyWrap35 = HappyWrap35 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Command]))-happyIn35 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Command])) -> (HappyAbsSyn )-happyIn35 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap35 x)-{-# INLINE happyIn35 #-}-happyOut35 :: (HappyAbsSyn ) -> HappyWrap35-happyOut35 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut35 #-}-newtype HappyWrap36 = HappyWrap36 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.DeclUsedVars))-happyIn36 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.DeclUsedVars)) -> (HappyAbsSyn )-happyIn36 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap36 x)-{-# INLINE happyIn36 #-}-happyOut36 :: (HappyAbsSyn ) -> HappyWrap36-happyOut36 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut36 #-}-newtype HappyWrap37 = HappyWrap37 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.SectionName))-happyIn37 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.SectionName)) -> (HappyAbsSyn )-happyIn37 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap37 x)-{-# INLINE happyIn37 #-}-happyOut37 :: (HappyAbsSyn ) -> HappyWrap37-happyOut37 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut37 #-}-newtype HappyWrap38 = HappyWrap38 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Pattern))-happyIn38 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Pattern)) -> (HappyAbsSyn )-happyIn38 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap38 x)-{-# INLINE happyIn38 #-}-happyOut38 :: (HappyAbsSyn ) -> HappyWrap38-happyOut38 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut38 #-}-newtype HappyWrap39 = HappyWrap39 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Pattern]))-happyIn39 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Pattern])) -> (HappyAbsSyn )-happyIn39 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap39 x)-{-# INLINE happyIn39 #-}-happyOut39 :: (HappyAbsSyn ) -> HappyWrap39-happyOut39 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut39 #-}-newtype HappyWrap40 = HappyWrap40 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Param))-happyIn40 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Param)) -> (HappyAbsSyn )-happyIn40 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap40 x)-{-# INLINE happyIn40 #-}-happyOut40 :: (HappyAbsSyn ) -> HappyWrap40-happyOut40 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut40 #-}-newtype HappyWrap41 = HappyWrap41 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Param]))-happyIn41 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Param])) -> (HappyAbsSyn )-happyIn41 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap41 x)-{-# INLINE happyIn41 #-}-happyOut41 :: (HappyAbsSyn ) -> HappyWrap41-happyOut41 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut41 #-}-newtype HappyWrap42 = HappyWrap42 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.ParamDecl))-happyIn42 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.ParamDecl)) -> (HappyAbsSyn )-happyIn42 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap42 x)-{-# INLINE happyIn42 #-}-happyOut42 :: (HappyAbsSyn ) -> HappyWrap42-happyOut42 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut42 #-}-newtype HappyWrap43 = HappyWrap43 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Restriction))-happyIn43 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Restriction)) -> (HappyAbsSyn )-happyIn43 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap43 x)-{-# INLINE happyIn43 #-}-happyOut43 :: (HappyAbsSyn ) -> HappyWrap43-happyOut43 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut43 #-}-newtype HappyWrap44 = HappyWrap44 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Restriction]))-happyIn44 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Restriction])) -> (HappyAbsSyn )-happyIn44 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap44 x)-{-# INLINE happyIn44 #-}-happyOut44 :: (HappyAbsSyn ) -> HappyWrap44-happyOut44 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut44 #-}-newtype HappyWrap45 = HappyWrap45 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))-happyIn45 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )-happyIn45 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap45 x)-{-# INLINE happyIn45 #-}-happyOut45 :: (HappyAbsSyn ) -> HappyWrap45-happyOut45 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut45 #-}-newtype HappyWrap46 = HappyWrap46 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))-happyIn46 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )-happyIn46 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap46 x)-{-# INLINE happyIn46 #-}-happyOut46 :: (HappyAbsSyn ) -> HappyWrap46-happyOut46 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut46 #-}-newtype HappyWrap47 = HappyWrap47 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))-happyIn47 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )-happyIn47 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap47 x)-{-# INLINE happyIn47 #-}-happyOut47 :: (HappyAbsSyn ) -> HappyWrap47-happyOut47 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut47 #-}-newtype HappyWrap48 = HappyWrap48 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))-happyIn48 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )-happyIn48 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap48 x)-{-# INLINE happyIn48 #-}-happyOut48 :: (HappyAbsSyn ) -> HappyWrap48-happyOut48 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut48 #-}-newtype HappyWrap49 = HappyWrap49 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))-happyIn49 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )-happyIn49 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap49 x)-{-# INLINE happyIn49 #-}-happyOut49 :: (HappyAbsSyn ) -> HappyWrap49-happyOut49 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut49 #-}-newtype HappyWrap50 = HappyWrap50 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))-happyIn50 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )-happyIn50 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap50 x)-{-# INLINE happyIn50 #-}-happyOut50 :: (HappyAbsSyn ) -> HappyWrap50-happyOut50 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut50 #-}-newtype HappyWrap51 = HappyWrap51 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))-happyIn51 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )-happyIn51 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap51 x)-{-# INLINE happyIn51 #-}-happyOut51 :: (HappyAbsSyn ) -> HappyWrap51-happyOut51 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut51 #-}-newtype HappyWrap52 = HappyWrap52 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))-happyIn52 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )-happyIn52 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap52 x)-{-# INLINE happyIn52 #-}-happyOut52 :: (HappyAbsSyn ) -> HappyWrap52-happyOut52 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut52 #-}-newtype HappyWrap53 = HappyWrap53 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Term]))-happyIn53 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Term])) -> (HappyAbsSyn )-happyIn53 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap53 x)-{-# INLINE happyIn53 #-}-happyOut53 :: (HappyAbsSyn ) -> HappyWrap53-happyOut53 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut53 #-}-happyInTok :: (Token) -> (HappyAbsSyn )-happyInTok x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyInTok #-}-happyOutTok :: (HappyAbsSyn ) -> (Token)-happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOutTok #-}---happyExpList :: HappyAddr-happyExpList = HappyA# "\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\xe0\xcf\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\xcf\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x20\x20\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x20\x20\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x2b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xe0\x03\x60\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x0b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x0b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x0b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x0b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x0b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7b\xe0\x03\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf4\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x2b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x20\x20\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xe0\x03\x60\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xe0\x03\x60\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7b\xe0\x03\x60\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7b\xe0\x03\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7b\xe0\x03\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x20\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\xcf\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\xcf\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x01\x00\x00\x04\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x0b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x0b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x0b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x0b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x0b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x0b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7b\xe0\x03\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x04\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x10\x80\x00\x00\x04\x20\x20\x00\x00\x00\x00\x00\x00\x00\x00\x10\x80\x00\x00\x04\x20\x20\x00\x00\x00\x00\x00\x00\x00\x00\x10\x80\x00\x00\x04\x20\x20\x00\x00\x00\x00\x00\x00\xe0\xcf\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x3b\xf0\x0b\x60\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x01\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xbf\xf0\x2b\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--{-# NOINLINE happyExpListPerState #-}-happyExpListPerState st =- token_strs_expected- where token_strs = ["error","%dummy","%start_pModule_internal","%start_pListVarIdent_internal","%start_pLanguageDecl_internal","%start_pLanguage_internal","%start_pCommand_internal","%start_pListCommand_internal","%start_pDeclUsedVars_internal","%start_pSectionName_internal","%start_pPattern_internal","%start_pListPattern_internal","%start_pParam_internal","%start_pListParam_internal","%start_pParamDecl_internal","%start_pRestriction_internal","%start_pListRestriction_internal","%start_pTerm7_internal","%start_pTerm5_internal","%start_pTerm4_internal","%start_pTerm3_internal","%start_pTerm2_internal","%start_pTerm1_internal","%start_pTerm6_internal","%start_pTerm_internal","%start_pListTerm_internal","String","VarIdent","HoleIdent","Module","ListVarIdent","LanguageDecl","Language","Command","ListCommand","DeclUsedVars","SectionName","Pattern","ListPattern","Param","ListParam","ParamDecl","Restriction","ListRestriction","Term7","Term5","Term4","Term3","Term2","Term1","Term6","Term","ListTerm","'#assume'","'#check'","'#compute'","'#compute-nf'","'#compute-whnf'","'#def'","'#define'","'#end'","'#lang'","'#postulate'","'#section'","'#set-option'","'#unset-option'","'#variable'","'#variables'","'('","')'","'*'","'*_1'","','","'->'","'/\\\\'","'0_2'","'1'","'1_2'","'2'","':'","':='","';'","'<'","'<='","'='","'==='","'=_{'","'>'","'BOT'","'CUBE'","'Sigma'","'TOP'","'TOPE'","'U'","'['","'\\\\'","'\\\\/'","']'","'_'","'as'","'first'","'idJ'","'recBOT'","'recOR'","'refl'","'refl_{'","'rzk-1'","'second'","'uses'","'{'","'|'","'|->'","'}'","'\931'","'\8594'","'\8721'","L_quoted","L_VarIdent","L_HoleIdent","%eof"]- bit_start = st Prelude.* 120- bit_end = (st Prelude.+ 1) Prelude.* 120- read_bit = readArrayBit happyExpList- bits = Prelude.map read_bit [bit_start..bit_end Prelude.- 1]- bits_indexed = Prelude.zip bits [0..119]- token_strs_expected = Prelude.concatMap f bits_indexed- f (Prelude.False, _) = []- f (Prelude.True, nr) = [token_strs Prelude.!! nr]--happyActOffsets :: HappyAddr-happyActOffsets = HappyA# "\xfa\xff\xd1\xff\x0a\x00\x60\x00\x26\x05\x26\x05\x6a\x00\x59\x00\x27\x00\x27\x00\x53\x00\x53\x00\x77\x00\x47\x00\x47\x00\x4b\x01\xff\x00\xff\x00\xff\x00\xff\x00\x47\x00\xff\x00\x47\x00\x47\x00\x66\x00\x00\x00\x00\x00\x00\x00\xed\xff\x00\x00\x52\x00\x97\x00\x9e\x00\x3b\x00\x00\x00\xa7\x00\xa0\x00\x8f\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd3\x00\x00\x00\x00\x00\xee\x00\x00\x00\x00\x00\x00\x00\x53\x00\x4b\x01\x01\x01\x00\x00\x0c\x01\x00\x00\x47\x00\x4b\x01\x34\x00\x12\x01\x15\x01\x00\x00\x00\x00\xbf\x00\xf1\xff\x47\x00\x31\x00\xbf\x00\xbf\x00\x25\x01\xbf\x00\xbf\x00\xf3\xff\xbf\x00\x30\x01\xf6\x00\x19\x01\x1c\x01\x1c\x01\x25\x01\x00\x00\x00\x00\x53\x00\x1c\x01\x57\x00\x00\x00\x57\x00\x1c\x01\x57\x00\x1c\x01\x57\x00\x1c\x01\x00\x00\x1c\x01\x1c\x01\x5a\x01\x58\x01\x44\x01\x7a\x01\x47\x00\x47\x00\x47\x00\x47\x00\x7a\x01\x7a\x01\x7a\x01\x7a\x01\x5b\x01\x5b\x01\x7b\x01\x7b\x01\x74\x01\x74\x01\x00\x00\x74\x01\x83\x01\x7c\x01\x77\x01\x77\x01\x26\x05\x00\x00\x00\x00\xa1\x01\xa4\x01\xc0\x01\x00\x00\xbc\x01\xc1\x01\xa5\x01\xa5\x01\xa5\x01\x00\x00\x00\x00\x00\x00\xc4\x01\xc5\x01\x26\x05\xa0\x01\xce\x01\x00\x00\xc8\x01\x0c\x00\xcb\x01\x00\x00\x00\x00\x47\x00\x47\x00\x47\x00\xff\x00\xff\x00\x47\x00\x18\x00\x57\x00\x57\x00\xd9\x01\x57\x00\x00\x00\xec\xff\x47\x00\x47\x00\x00\x00\xea\x01\x57\x00\xeb\x01\xe6\x01\xe7\x01\x47\x00\x47\x00\xff\x00\xff\x00\xff\x00\xff\x00\x47\x00\x47\x00\x00\x00\x00\x00\xf1\x01\xf1\x01\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x47\x00\x47\x00\xe9\x01\x47\x00\xf2\x01\xf4\x01\xf2\xff\x47\x00\x00\x00\x62\x00\x47\x00\xec\x01\xef\x01\x00\x00\x47\x00\xd0\x01\x00\x00\x25\x01\x00\x00\x00\x00\xe0\x01\x47\x00\x57\x00\x47\x00\x10\x02\x00\x00\x47\x00\x47\x00\x64\x00\x94\x00\x27\x01\x26\x05\xe4\x01\x47\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x02\x0c\x02\x47\x00\x20\x02\x47\x00\x23\x02\x47\x00\x00\x00\x00\x00\x00\x00\x06\x02\x44\x02\x47\x02\x00\x00\xff\x00\x49\x02\x47\x00\x47\x00\x0b\x01\x47\x00\x05\x02\x47\x00\x00\x00\x47\x00\x00\x00\x47\x00\x38\x02\x5e\x02\x61\x02\x00\x00\x00\x00\x00\x00\x63\x02\x75\x02\x78\x02\x00\x00\x7d\x02\x47\x00\x00\x00\x92\x02\x95\x02\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x59\x02\x47\x00\x73\x02\x47\x00\x00\x00\x47\x00\x67\x02\x00\x00\x00\x00\x8d\x02\x47\x00\xa1\x02\x47\x00\x84\x02\xae\x02\xaf\x02\x9b\x02\xa0\x02\x47\x00\x47\x00\xc8\x02\x47\x00\xc9\x02\xdd\x02\x47\x00\x00\x00\x47\x00\x47\x00\x00\x00\x00\x00\x47\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x02\x47\x00\x47\x00\x00\x00\xe2\x02\xfa\x02\x00\x00\x00\x00\x47\x00\xe3\x02\x47\x00\xfd\x02\x00\x00\x00\x00"#--happyGotoOffsets :: HappyAddr-happyGotoOffsets = HappyA# "\x88\x00\x65\x00\x0c\x03\x0a\x03\x1e\x03\xd9\x00\x1f\x03\x0d\x00\x38\x00\x13\x00\x96\x00\xf2\x00\x39\x01\xe3\x01\x9b\x01\x0b\x00\xb1\x00\xdc\x00\x76\x01\xd0\x04\x6c\x04\x81\x00\xfc\x01\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x07\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xb4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x02\xd2\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd5\x00\x21\x02\x00\x00\x00\x00\x00\x00\xd5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd5\x00\x00\x00\x00\x00\x1e\x01\x00\x00\xbc\x00\x00\x00\xb0\x00\x00\x00\x0f\x01\x00\x00\x08\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x00\x30\x02\x3b\x02\x4a\x02\x55\x02\x29\x03\x2a\x03\x3e\x03\x37\x00\x42\x03\x44\x03\x58\x03\xf1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\x03\xf5\x00\x00\x00\x00\x00\x26\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x03\x55\x03\x6a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x01\x1d\x01\x00\x00\x00\x00\x00\x00\x0f\x01\x00\x00\x00\x00\x00\x00\xb4\x01\x64\x02\xbf\x01\xde\x04\xd9\x04\x6f\x02\x00\x00\x1f\x01\x6b\x01\x00\x00\x70\x01\x00\x00\x00\x00\xd8\x01\x7e\x02\x00\x00\x00\x00\x79\x01\x00\x00\x00\x00\x00\x00\x8f\x01\x76\x04\xe8\x04\x00\x05\x0c\x05\x0e\x05\x85\x04\x8f\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x02\x98\x02\xa3\x02\x00\x00\x9e\x04\x00\x00\x00\x00\x00\x00\xb2\x02\x00\x00\x00\x00\xbd\x02\x00\x00\x00\x00\x00\x00\xcc\x02\x00\x00\x00\x00\xd5\x00\x00\x00\x00\x00\x00\x00\xd7\x02\xb7\x01\xe6\x02\x00\x00\x00\x00\xf1\x02\x00\x03\x45\x01\x60\x01\x78\x01\x98\x01\x5f\x03\x0b\x03\x1a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x25\x03\x00\x00\x34\x03\x00\x00\x3f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf1\x04\x00\x00\x4e\x03\x59\x03\x00\x00\x68\x03\x00\x00\x73\x03\x00\x00\x82\x03\x00\x00\x8d\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa7\x03\x00\x00\xb6\x03\x00\x00\xc1\x03\x00\x00\xd0\x03\x45\x00\x00\x00\x00\x00\x00\x00\xdb\x03\x00\x00\xea\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf5\x03\x04\x04\x00\x00\xa8\x04\x00\x00\x00\x00\x0f\x04\x00\x00\xb7\x04\xc1\x04\x00\x00\x00\x00\x1e\x04\x00\x00\x29\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x04\x43\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x04\x00\x00\x5d\x04\x00\x00\x00\x00\x00\x00"#--happyAdjustOffset :: Happy_GHC_Exts.Int# -> Happy_GHC_Exts.Int#-happyAdjustOffset off = off--happyDefActions :: HappyAddr-happyDefActions = HappyA# "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcf\xff\xcc\xff\xcb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe7\xff\xa2\xff\xa3\xff\x00\x00\x8a\xff\x9c\xff\x9a\xff\x98\xff\x92\xff\x88\xff\x9f\xff\x87\xff\x00\x00\x00\x00\xb2\xff\xb0\xff\xb3\xff\xaf\xff\xb1\xff\x00\x00\xad\xff\xb5\xff\x00\x00\xae\xff\xb4\xff\xb6\xff\x00\x00\x00\x00\x00\x00\xac\xff\x00\x00\xa7\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe6\xff\xe5\xff\x00\x00\x00\x00\x00\x00\x92\xff\x00\x00\x00\x00\x9f\xff\x00\x00\x00\x00\x00\x00\x00\x00\xb8\xff\x00\x00\x00\x00\x00\x00\x00\x00\xbf\xff\xc8\xff\xc4\xff\xc1\xff\x00\x00\x00\x00\xc9\xff\x00\x00\x00\x00\xc6\xff\x00\x00\x00\x00\x00\x00\xca\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\xff\x00\x00\x00\x00\xe3\xff\x00\x00\x00\x00\xcf\xff\xe4\xff\xe2\xff\x00\x00\x00\x00\x00\x00\xde\xff\x00\x00\x00\x00\xcc\xff\xcc\xff\xcc\xff\xdb\xff\xda\xff\xdc\xff\x00\x00\x00\x00\xcf\xff\x00\x00\x00\x00\xc5\xff\x00\x00\xc6\xff\x00\x00\xc0\xff\x8d\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\xff\x00\x00\x00\x00\x00\x00\x8c\xff\x00\x00\x00\x00\x00\x00\xa2\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x91\xff\x97\xff\x9e\xff\x9d\xff\x9b\xff\x99\xff\x89\xff\x86\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\xff\x00\x00\x00\x00\x00\x00\x00\x00\xa1\xff\x00\x00\x00\x00\x94\xff\xa0\xff\xb7\xff\xb9\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xce\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcf\xff\x00\x00\x00\x00\x00\x00\xe1\xff\xd5\xff\xd6\xff\xdf\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\xff\xd7\xff\xcd\xff\x00\x00\x00\x00\x00\x00\x8e\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\xff\x00\x00\x93\xff\x00\x00\x00\x00\x00\x00\x00\x00\xbe\xff\xbc\xff\xa9\xff\x00\x00\x00\x00\x00\x00\xa5\xff\x00\x00\x00\x00\xbd\xff\x00\x00\x00\x00\xa8\xff\x95\xff\xc3\xff\xc7\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd8\xff\x00\x00\xcb\xff\xd4\xff\xd9\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xba\xff\x00\x00\x00\x00\xc2\xff\xd0\xff\x00\x00\xd2\xff\x00\x00\xd3\xff\xd1\xff\x8f\xff\x90\xff\x00\x00\x00\x00\x00\x00\x96\xff\x00\x00\x00\x00\xbb\xff\xaa\xff\x00\x00\x00\x00\x00\x00\x00\x00\xa4\xff"#--happyCheck :: HappyAddr-happyCheck = HappyA# "\xff\xff\x10\x00\x15\x00\x09\x00\x13\x00\x12\x00\x14\x00\x1b\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x01\x00\x02\x00\x01\x00\x1e\x00\x01\x00\x02\x00\x41\x00\x09\x00\x01\x00\x24\x00\x25\x00\x0a\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x10\x00\x12\x00\x0b\x00\x0c\x00\x14\x00\x12\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x10\x00\x3c\x00\x11\x00\x13\x00\x3e\x00\x14\x00\x3b\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x41\x00\x42\x00\x43\x00\x1e\x00\x43\x00\x10\x00\x01\x00\x01\x00\x2e\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x0a\x00\x2b\x00\x0b\x00\x10\x00\x2e\x00\x01\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x41\x00\x37\x00\x0a\x00\x39\x00\x20\x00\x01\x00\x22\x00\x3d\x00\x2e\x00\x3f\x00\x10\x00\x41\x00\x42\x00\x13\x00\x20\x00\x0b\x00\x22\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x2e\x00\x10\x00\x12\x00\x1e\x00\x01\x00\x10\x00\x41\x00\x04\x00\x2f\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x1f\x00\x2b\x00\x21\x00\x10\x00\x41\x00\x14\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x1b\x00\x37\x00\x1b\x00\x39\x00\x2e\x00\x01\x00\x02\x00\x3d\x00\x2e\x00\x3f\x00\x10\x00\x41\x00\x42\x00\x13\x00\x03\x00\x39\x00\x05\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x2e\x00\x12\x00\x41\x00\x1e\x00\x36\x00\x01\x00\x41\x00\x18\x00\x41\x00\x24\x00\x25\x00\x39\x00\x27\x00\x28\x00\x29\x00\x0b\x00\x38\x00\x0d\x00\x10\x00\x41\x00\x40\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x16\x00\x37\x00\x1b\x00\x39\x00\x01\x00\x01\x00\x02\x00\x14\x00\x01\x00\x02\x00\x10\x00\x41\x00\x42\x00\x13\x00\x0b\x00\x15\x00\x01\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x2e\x00\x12\x00\x13\x00\x1e\x00\x12\x00\x0b\x00\x0c\x00\x18\x00\x2c\x00\x24\x00\x25\x00\x39\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x43\x00\x01\x00\x02\x00\x41\x00\x01\x00\x02\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x01\x00\x02\x00\x01\x00\x07\x00\x08\x00\x04\x00\x10\x00\x12\x00\x3e\x00\x13\x00\x12\x00\x41\x00\x42\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x12\x00\x13\x00\x14\x00\x1e\x00\x01\x00\x01\x00\x18\x00\x04\x00\x01\x00\x24\x00\x25\x00\x04\x00\x27\x00\x28\x00\x29\x00\x0b\x00\x10\x00\x0d\x00\x0e\x00\x01\x00\x43\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x01\x00\x37\x00\x0b\x00\x39\x00\x0d\x00\x0e\x00\x10\x00\x01\x00\x10\x00\x13\x00\x0b\x00\x41\x00\x42\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x0b\x00\x0c\x00\x10\x00\x1e\x00\x01\x00\x01\x00\x01\x00\x04\x00\x10\x00\x24\x00\x25\x00\x10\x00\x27\x00\x28\x00\x29\x00\x0b\x00\x0b\x00\x0d\x00\x0e\x00\x07\x00\x08\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x10\x00\x37\x00\x10\x00\x13\x00\x43\x00\x01\x00\x02\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x41\x00\x42\x00\x1b\x00\x1e\x00\x14\x00\x3a\x00\x01\x00\x3c\x00\x0f\x00\x24\x00\x25\x00\x12\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x0b\x00\x18\x00\x0d\x00\x0e\x00\x3b\x00\x2e\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x10\x00\x07\x00\x08\x00\x13\x00\x43\x00\x39\x00\x01\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x41\x00\x42\x00\x41\x00\x1e\x00\x10\x00\x0b\x00\x01\x00\x0d\x00\x0e\x00\x24\x00\x25\x00\x01\x00\x27\x00\x28\x00\x29\x00\x1d\x00\x0b\x00\x01\x00\x02\x00\x01\x00\x01\x00\x0b\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x01\x00\x02\x00\x0b\x00\x0b\x00\x0d\x00\x0e\x00\x43\x00\x12\x00\x13\x00\x14\x00\x15\x00\x41\x00\x42\x00\x18\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x40\x00\x01\x00\x02\x00\x0f\x00\x07\x00\x08\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x01\x00\x02\x00\x43\x00\x01\x00\x36\x00\x43\x00\x41\x00\x41\x00\x41\x00\x1d\x00\x1b\x00\x01\x00\x02\x00\x0b\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x01\x00\x02\x00\x1b\x00\x20\x00\x38\x00\x1d\x00\x1b\x00\x1b\x00\x41\x00\x14\x00\x1b\x00\x01\x00\x02\x00\x1b\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x10\x00\x1b\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x01\x00\x02\x00\x15\x00\x15\x00\x1b\x00\x1b\x00\x12\x00\x1b\x00\x11\x00\x14\x00\x1b\x00\x01\x00\x02\x00\x1b\x00\x0f\x00\x3c\x00\x2d\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x11\x00\x01\x00\x02\x00\x40\x00\x0f\x00\x08\x00\x1b\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1b\x00\x01\x00\x02\x00\x1b\x00\x0f\x00\x3a\x00\x3c\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x11\x00\x01\x00\x02\x00\x11\x00\x0f\x00\x11\x00\x23\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x11\x00\x01\x00\x02\x00\x11\x00\x0f\x00\x11\x00\x1c\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x14\x00\x01\x00\x02\x00\x14\x00\x0f\x00\x11\x00\x1c\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x11\x00\x01\x00\x02\x00\x11\x00\x0f\x00\x41\x00\x1c\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1c\x00\x01\x00\x02\x00\x3c\x00\x0f\x00\x14\x00\x14\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x3c\x00\x01\x00\x02\x00\x3a\x00\x0f\x00\x14\x00\x14\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x14\x00\x01\x00\x02\x00\x3c\x00\x0f\x00\x14\x00\x14\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x11\x00\x01\x00\x02\x00\x11\x00\x0f\x00\x06\x00\x05\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x07\x00\x01\x00\x02\x00\x09\x00\x0f\x00\x01\x00\x01\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x01\x00\x01\x00\x02\x00\x00\x00\x0f\x00\x00\x00\x09\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x01\x00\x01\x00\x02\x00\x06\x00\x0f\x00\x09\x00\x00\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x09\x00\x01\x00\x02\x00\xff\xff\x0f\x00\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\x01\x00\x02\x00\xff\xff\x0f\x00\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\x01\x00\x02\x00\xff\xff\x0f\x00\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\x01\x00\x02\x00\xff\xff\x0f\x00\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\x01\x00\x02\x00\xff\xff\x0f\x00\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\x01\x00\x02\x00\xff\xff\x0f\x00\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\x01\x00\x02\x00\xff\xff\x0f\x00\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\x01\x00\x02\x00\xff\xff\x0f\x00\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\x01\x00\x02\x00\xff\xff\x0f\x00\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\x01\x00\x02\x00\xff\xff\x0f\x00\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x01\x00\x02\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\x01\x00\x02\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\x01\x00\x02\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\x01\x00\x02\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x0f\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x01\x00\x02\x00\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x12\x00\x18\x00\x01\x00\x02\x00\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\x01\x00\x02\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\x01\x00\x02\x00\x01\x00\x02\x00\x01\x00\x02\x00\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\xff\xff\xff\xff\x18\x00\x0f\x00\xff\xff\xff\xff\x12\x00\xff\xff\x12\x00\x13\x00\x12\x00\x13\x00\x18\x00\xff\xff\x18\x00\xff\xff\x18\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#--happyTable :: HappyAddr-happyTable = HappyA# "\x00\x00\x43\x00\xae\x00\x75\x00\x28\x00\x96\x00\xf5\x00\xc0\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x1a\x00\x1b\x00\x5d\x00\x2d\x00\x1a\x00\x1b\x00\x3f\x00\x75\x00\x51\x00\x2e\x00\x2f\x00\x5e\x00\x31\x00\x32\x00\x33\x00\x93\x00\x5c\x00\x4a\x00\x59\x00\x5a\x00\xcf\x00\x91\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x27\x00\xc1\x00\xc6\x00\x28\x00\xaf\x00\xc7\x00\x94\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x3f\x00\x40\x00\xff\xff\x2d\x00\xff\xff\x5c\x00\x5d\x00\x51\x00\x57\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x80\x00\x34\x00\x5c\x00\x9d\x00\xa7\x00\x5d\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3f\x00\x3b\x00\x14\x01\x3c\x00\x97\x00\x51\x00\x98\x00\x3d\x00\x57\x00\x3e\x00\x27\x00\x3f\x00\x40\x00\x28\x00\x97\x00\x9b\x00\x98\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x57\x00\x56\x00\x96\x00\x2d\x00\x75\x00\x5c\x00\x3f\x00\x76\x00\xa9\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\xac\x00\x34\x00\xad\x00\x56\x00\x3f\x00\xcf\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xf3\x00\x3b\x00\xe6\x00\x3c\x00\x57\x00\x1a\x00\x1b\x00\x3d\x00\x57\x00\x3e\x00\x27\x00\x3f\x00\x40\x00\x28\x00\x77\x00\x58\x00\x78\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x57\x00\x1d\x00\x3f\x00\x2d\x00\x73\x00\x51\x00\x3f\x00\x41\x00\x3f\x00\x2e\x00\x2f\x00\x58\x00\x31\x00\x32\x00\x33\x00\x52\x00\x61\x00\x58\x00\x56\x00\x3f\x00\x1a\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\xab\x00\x3b\x00\xe4\x00\x3c\x00\x51\x00\x1a\x00\x1b\x00\xa8\x00\x1a\x00\x1b\x00\x43\x00\x3f\x00\x40\x00\x28\x00\x8d\x00\xbf\xff\x51\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x57\x00\x1d\x00\x49\x00\x2d\x00\xa1\x00\x8e\x00\x8f\x00\x46\x00\xaa\x00\x2e\x00\x2f\x00\x58\x00\x31\x00\x32\x00\x33\x00\x93\x00\xff\xff\x1a\x00\x1b\x00\x3f\x00\x1a\x00\x1b\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x1a\x00\x1b\x00\x75\x00\x61\x00\x62\x00\x88\x00\x27\x00\x9d\x00\xbf\xff\x28\x00\x91\x00\x3f\x00\x40\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x1d\x00\x1e\x00\x48\x00\x2d\x00\x75\x00\x51\x00\x46\x00\x7c\x00\x75\x00\x2e\x00\x2f\x00\x7a\x00\x31\x00\x32\x00\x33\x00\x52\x00\xa4\x00\x53\x00\x54\x00\x51\x00\xff\xff\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x51\x00\x3b\x00\x52\x00\x3c\x00\x53\x00\xa2\x00\x43\x00\x51\x00\xa1\x00\x28\x00\x8b\x00\x3f\x00\x40\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x59\x00\x8c\x00\xa0\x00\x2d\x00\x75\x00\x51\x00\x51\x00\xd0\x00\x9b\x00\x2e\x00\x2f\x00\x9a\x00\x31\x00\x32\x00\x33\x00\x52\x00\xc4\x00\x53\x00\x90\x00\x61\x00\x79\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x43\x00\x3b\x00\x56\x00\x28\x00\xff\xff\x1a\x00\x1b\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x3f\x00\x40\x00\xe2\x00\x2d\x00\x95\x00\x05\x01\x51\x00\x06\x01\x4f\x00\x2e\x00\x2f\x00\x1d\x00\x31\x00\x32\x00\x33\x00\x93\x00\x52\x00\x50\x00\x53\x00\xe4\x00\x94\x00\x57\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x43\x00\x61\x00\xd1\x00\x28\x00\xff\xff\x58\x00\x51\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x3f\x00\x40\x00\x3f\x00\x2d\x00\x8b\x00\x52\x00\x51\x00\x53\x00\xe2\x00\x2e\x00\x2f\x00\x51\x00\x31\x00\x32\x00\x33\x00\x8a\x00\xc3\x00\x1a\x00\x1b\x00\x51\x00\x51\x00\xc1\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x1a\x00\x1b\x00\x52\x00\xba\x00\x53\x00\xe0\x00\xff\xff\x1d\x00\x1e\x00\x1f\x00\x47\x00\x3f\x00\x40\x00\x46\x00\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x1a\x00\x1a\x00\x1b\x00\x1c\x00\x61\x00\xdf\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\xb6\x00\x1c\x00\x4b\x00\x4c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x4d\x00\x1a\x00\x1b\x00\xff\xff\x51\x00\x73\x00\xff\xff\x3f\x00\x3f\x00\x3f\x00\xdc\x00\xdb\x00\x1a\x00\x1b\x00\xea\x00\x1c\x00\x4b\x00\xcc\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x4d\x00\x1c\x00\x4b\x00\xca\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x4d\x00\x1a\x00\x1b\x00\xda\x00\xd9\x00\x61\x00\xd8\x00\xd4\x00\xd3\x00\x3f\x00\xcf\x00\xd0\x00\x1a\x00\x1b\x00\xce\x00\x1c\x00\x4b\x00\xbd\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xbe\x00\x1c\x00\x4e\x00\xc3\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x4d\x00\x1a\x00\x1b\x00\xbc\x00\xba\x00\xb9\x00\xb8\x00\x96\x00\xf9\x00\xf6\x00\xf7\x00\xf1\x00\xa5\x00\x1b\x00\xf0\x00\x1c\x00\xee\x00\xed\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x40\x00\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x98\x00\xe9\x00\x1a\x00\x1b\x00\x1a\x00\x1c\x00\x14\x01\x13\x01\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x9e\x00\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x98\x00\x11\x01\x1a\x00\x1b\x00\x0f\x01\x1c\x00\x0d\x01\x03\x01\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x87\x00\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x86\x00\x0c\x01\x1a\x00\x1b\x00\x0b\x01\x1c\x00\x09\x01\xff\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x85\x00\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x84\x00\xfe\x00\x1a\x00\x1b\x00\xfd\x00\x1c\x00\x22\x01\x1a\x01\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xcb\x00\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xc7\x00\x21\x01\x1a\x00\x1b\x00\x20\x01\x1c\x00\x1f\x01\x18\x01\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xbc\x00\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xfb\x00\x1d\x01\x1a\x00\x1b\x00\x1c\x01\x1c\x00\x3f\x00\x2e\x01\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xfa\x00\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xf9\x00\x2c\x01\x1a\x00\x1b\x00\x2a\x01\x1c\x00\x29\x01\x28\x01\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xf3\x00\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xf1\x00\x27\x01\x1a\x00\x1b\x00\x26\x01\x1c\x00\x23\x01\x35\x01\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xee\x00\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xeb\x00\x34\x01\x1a\x00\x1b\x00\x39\x01\x1c\x00\x3b\x01\x3d\x01\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xe9\x00\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xe7\x00\x3a\x01\x1a\x00\x1b\x00\x3f\x01\x1c\x00\x71\x00\x73\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xe6\x00\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xdd\x00\x70\x00\x1a\x00\x1b\x00\x5f\x00\x1c\x00\x83\x00\x82\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xdc\x00\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x11\x01\x81\x00\x1a\x00\x1b\x00\x7f\x00\x1c\x00\x7e\x00\xd6\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0f\x01\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x0d\x01\x7d\x00\x1a\x00\x1b\x00\x7b\x00\x1c\x00\xd5\x00\xde\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x07\x01\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x06\x01\xd4\x00\x1a\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x03\x01\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x01\x01\x00\x00\x1a\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x00\x01\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\x00\x00\x00\x1a\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x1d\x01\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x1a\x01\x00\x00\x1a\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x18\x01\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x16\x01\x00\x00\x1a\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x15\x01\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x2c\x01\x00\x00\x1a\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x2a\x01\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x01\x00\x00\x1a\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x23\x01\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x32\x01\x00\x00\x1a\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x2f\x01\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x2e\x01\x00\x00\x1a\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x37\x01\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x36\x01\x00\x00\x1a\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x3b\x01\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x3d\x01\x1a\x00\x1b\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x43\x00\x44\x00\x23\x00\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x43\x00\xb5\x00\x23\x00\x00\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x43\x00\xb0\x00\x23\x00\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x43\x00\xaf\x00\x23\x00\x00\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x43\x00\xf7\x00\x23\x00\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x43\x00\x35\x01\x23\x00\x00\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x43\x00\x31\x01\x23\x00\x1c\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x43\x00\x30\x01\x23\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x1b\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x45\x00\x00\x00\x46\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xc8\x00\x1d\x00\x46\x00\x1a\x00\x1b\x00\x00\x00\x00\x00\xc9\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\xb4\x00\x00\x00\x46\x00\x1a\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x09\x01\x00\x00\x46\x00\x00\x00\x1a\x00\x1b\x00\x1a\x00\x1b\x00\x1a\x00\x1b\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\xb3\x00\x00\x00\x00\x00\x46\x00\xa4\x00\x00\x00\x00\x00\x1d\x00\x00\x00\x1d\x00\xb2\x00\x1d\x00\xb1\x00\x50\x00\x00\x00\x46\x00\x00\x00\x46\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyReduceArr = Happy_Data_Array.array (24, 121) [- (24 , happyReduce_24),- (25 , happyReduce_25),- (26 , happyReduce_26),- (27 , happyReduce_27),- (28 , happyReduce_28),- (29 , happyReduce_29),- (30 , happyReduce_30),- (31 , happyReduce_31),- (32 , happyReduce_32),- (33 , happyReduce_33),- (34 , happyReduce_34),- (35 , happyReduce_35),- (36 , happyReduce_36),- (37 , happyReduce_37),- (38 , happyReduce_38),- (39 , happyReduce_39),- (40 , happyReduce_40),- (41 , happyReduce_41),- (42 , happyReduce_42),- (43 , happyReduce_43),- (44 , happyReduce_44),- (45 , happyReduce_45),- (46 , happyReduce_46),- (47 , happyReduce_47),- (48 , happyReduce_48),- (49 , happyReduce_49),- (50 , happyReduce_50),- (51 , happyReduce_51),- (52 , happyReduce_52),- (53 , happyReduce_53),- (54 , happyReduce_54),- (55 , happyReduce_55),- (56 , happyReduce_56),- (57 , happyReduce_57),- (58 , happyReduce_58),- (59 , happyReduce_59),- (60 , happyReduce_60),- (61 , happyReduce_61),- (62 , happyReduce_62),- (63 , happyReduce_63),- (64 , happyReduce_64),- (65 , happyReduce_65),- (66 , happyReduce_66),- (67 , happyReduce_67),- (68 , happyReduce_68),- (69 , happyReduce_69),- (70 , happyReduce_70),- (71 , happyReduce_71),- (72 , happyReduce_72),- (73 , happyReduce_73),- (74 , happyReduce_74),- (75 , happyReduce_75),- (76 , happyReduce_76),- (77 , happyReduce_77),- (78 , happyReduce_78),- (79 , happyReduce_79),- (80 , happyReduce_80),- (81 , happyReduce_81),- (82 , happyReduce_82),- (83 , happyReduce_83),- (84 , happyReduce_84),- (85 , happyReduce_85),- (86 , happyReduce_86),- (87 , happyReduce_87),- (88 , happyReduce_88),- (89 , happyReduce_89),- (90 , happyReduce_90),- (91 , happyReduce_91),- (92 , happyReduce_92),- (93 , happyReduce_93),- (94 , happyReduce_94),- (95 , happyReduce_95),- (96 , happyReduce_96),- (97 , happyReduce_97),- (98 , happyReduce_98),- (99 , happyReduce_99),- (100 , happyReduce_100),- (101 , happyReduce_101),- (102 , happyReduce_102),- (103 , happyReduce_103),- (104 , happyReduce_104),- (105 , happyReduce_105),- (106 , happyReduce_106),- (107 , happyReduce_107),- (108 , happyReduce_108),- (109 , happyReduce_109),- (110 , happyReduce_110),- (111 , happyReduce_111),- (112 , happyReduce_112),- (113 , happyReduce_113),- (114 , happyReduce_114),- (115 , happyReduce_115),- (116 , happyReduce_116),- (117 , happyReduce_117),- (118 , happyReduce_118),- (119 , happyReduce_119),- (120 , happyReduce_120),- (121 , happyReduce_121)- ]--happy_n_terms = 68 :: Prelude.Int-happy_n_nonterms = 27 :: Prelude.Int--happyReduce_24 = happySpecReduce_1 0# happyReduction_24-happyReduction_24 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn27- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), ((\(PT _ (TL s)) -> s) happy_var_1))- )}--happyReduce_25 = happySpecReduce_1 1# happyReduction_25-happyReduction_25 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn28- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.VarIdent (tokenText happy_var_1))- )}--happyReduce_26 = happySpecReduce_1 2# happyReduction_26-happyReduction_26 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn29- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.HoleIdent (tokenText happy_var_1))- )}--happyReduce_27 = happySpecReduce_2 3# happyReduction_27-happyReduction_27 happy_x_2- happy_x_1- = case happyOut32 happy_x_1 of { (HappyWrap32 happy_var_1) -> - case happyOut35 happy_x_2 of { (HappyWrap35 happy_var_2) -> - happyIn30- ((fst happy_var_1, Language.Rzk.Syntax.Abs.Module (fst happy_var_1) (snd happy_var_1) (snd happy_var_2))- )}}--happyReduce_28 = happySpecReduce_1 4# happyReduction_28-happyReduction_28 happy_x_1- = case happyOut28 happy_x_1 of { (HappyWrap28 happy_var_1) -> - happyIn31- ((fst happy_var_1, (:[]) (snd happy_var_1))- )}--happyReduce_29 = happySpecReduce_2 4# happyReduction_29-happyReduction_29 happy_x_2- happy_x_1- = case happyOut28 happy_x_1 of { (HappyWrap28 happy_var_1) -> - case happyOut31 happy_x_2 of { (HappyWrap31 happy_var_2) -> - happyIn31- ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_2))- )}}--happyReduce_30 = happySpecReduce_3 5# happyReduction_30-happyReduction_30 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut33 happy_x_2 of { (HappyWrap33 happy_var_2) -> - happyIn32- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.LanguageDecl (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))- )}}--happyReduce_31 = happySpecReduce_1 6# happyReduction_31-happyReduction_31 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn33- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Rzk1 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))- )}--happyReduce_32 = happyReduce 4# 7# happyReduction_32-happyReduction_32 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut27 happy_x_2 of { (HappyWrap27 happy_var_2) -> - case happyOut27 happy_x_4 of { (HappyWrap27 happy_var_4) -> - happyIn34- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandSetOption (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))- ) `HappyStk` happyRest}}}--happyReduce_33 = happySpecReduce_2 7# happyReduction_33-happyReduction_33 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut27 happy_x_2 of { (HappyWrap27 happy_var_2) -> - happyIn34- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandUnsetOption (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))- )}}--happyReduce_34 = happyReduce 4# 7# happyReduction_34-happyReduction_34 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) -> - case happyOut52 happy_x_4 of { (HappyWrap52 happy_var_4) -> - happyIn34- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandCheck (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))- ) `HappyStk` happyRest}}}--happyReduce_35 = happySpecReduce_2 7# happyReduction_35-happyReduction_35 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) -> - happyIn34- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandCompute (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))- )}}--happyReduce_36 = happySpecReduce_2 7# happyReduction_36-happyReduction_36 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) -> - happyIn34- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandComputeWHNF (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))- )}}--happyReduce_37 = happySpecReduce_2 7# happyReduction_37-happyReduction_37 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) -> - happyIn34- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandComputeNF (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))- )}}--happyReduce_38 = happyReduce 6# 7# happyReduction_38-happyReduction_38 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut28 happy_x_2 of { (HappyWrap28 happy_var_2) -> - case happyOut36 happy_x_3 of { (HappyWrap36 happy_var_3) -> - case happyOut41 happy_x_4 of { (HappyWrap41 happy_var_4) -> - case happyOut52 happy_x_6 of { (HappyWrap52 happy_var_6) -> - happyIn34- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandPostulate (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_4) (snd happy_var_6))- ) `HappyStk` happyRest}}}}}--happyReduce_39 = happyReduce 5# 7# happyReduction_39-happyReduction_39 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut28 happy_x_2 of { (HappyWrap28 happy_var_2) -> - case happyOut36 happy_x_3 of { (HappyWrap36 happy_var_3) -> - case happyOut52 happy_x_5 of { (HappyWrap52 happy_var_5) -> - happyIn34- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandPostulateNoParams (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_5))- ) `HappyStk` happyRest}}}}--happyReduce_40 = happyReduce 4# 7# happyReduction_40-happyReduction_40 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut31 happy_x_2 of { (HappyWrap31 happy_var_2) -> - case happyOut52 happy_x_4 of { (HappyWrap52 happy_var_4) -> - happyIn34- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandAssume (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))- ) `HappyStk` happyRest}}}--happyReduce_41 = happyReduce 4# 7# happyReduction_41-happyReduction_41 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut28 happy_x_2 of { (HappyWrap28 happy_var_2) -> - case happyOut52 happy_x_4 of { (HappyWrap52 happy_var_4) -> - happyIn34- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandVariable (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))- ) `HappyStk` happyRest}}}--happyReduce_42 = happyReduce 4# 7# happyReduction_42-happyReduction_42 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut31 happy_x_2 of { (HappyWrap31 happy_var_2) -> - case happyOut52 happy_x_4 of { (HappyWrap52 happy_var_4) -> - happyIn34- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandVariables (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))- ) `HappyStk` happyRest}}}--happyReduce_43 = happyReduce 6# 7# happyReduction_43-happyReduction_43 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut37 happy_x_2 of { (HappyWrap37 happy_var_2) -> - case happyOut35 happy_x_4 of { (HappyWrap35 happy_var_4) -> - case happyOut37 happy_x_6 of { (HappyWrap37 happy_var_6) -> - happyIn34- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandSection (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4) (snd happy_var_6))- ) `HappyStk` happyRest}}}}--happyReduce_44 = happyReduce 8# 7# happyReduction_44-happyReduction_44 (happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut28 happy_x_2 of { (HappyWrap28 happy_var_2) -> - case happyOut36 happy_x_3 of { (HappyWrap36 happy_var_3) -> - case happyOut41 happy_x_4 of { (HappyWrap41 happy_var_4) -> - case happyOut52 happy_x_6 of { (HappyWrap52 happy_var_6) -> - case happyOut52 happy_x_8 of { (HappyWrap52 happy_var_8) -> - happyIn34- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandDefine (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_4) (snd happy_var_6) (snd happy_var_8))- ) `HappyStk` happyRest}}}}}}--happyReduce_45 = happyReduce 7# 7# happyReduction_45-happyReduction_45 (happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut28 happy_x_2 of { (HappyWrap28 happy_var_2) -> - case happyOut36 happy_x_3 of { (HappyWrap36 happy_var_3) -> - case happyOut52 happy_x_5 of { (HappyWrap52 happy_var_5) -> - case happyOut52 happy_x_7 of { (HappyWrap52 happy_var_7) -> - happyIn34- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandDefineNoParams (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_5) (snd happy_var_7))- ) `HappyStk` happyRest}}}}}--happyReduce_46 = happyReduce 8# 7# happyReduction_46-happyReduction_46 (happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut28 happy_x_2 of { (HappyWrap28 happy_var_2) -> - case happyOut36 happy_x_3 of { (HappyWrap36 happy_var_3) -> - case happyOut41 happy_x_4 of { (HappyWrap41 happy_var_4) -> - case happyOut52 happy_x_6 of { (HappyWrap52 happy_var_6) -> - case happyOut52 happy_x_8 of { (HappyWrap52 happy_var_8) -> - happyIn34- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandDef (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_4) (snd happy_var_6) (snd happy_var_8))- ) `HappyStk` happyRest}}}}}}--happyReduce_47 = happyReduce 7# 7# happyReduction_47-happyReduction_47 (happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut28 happy_x_2 of { (HappyWrap28 happy_var_2) -> - case happyOut36 happy_x_3 of { (HappyWrap36 happy_var_3) -> - case happyOut52 happy_x_5 of { (HappyWrap52 happy_var_5) -> - case happyOut52 happy_x_7 of { (HappyWrap52 happy_var_7) -> - happyIn34- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandDefNoParams (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_5) (snd happy_var_7))- ) `HappyStk` happyRest}}}}}--happyReduce_48 = happySpecReduce_0 8# happyReduction_48-happyReduction_48 = happyIn35- ((Language.Rzk.Syntax.Abs.BNFC'NoPosition, [])- )--happyReduce_49 = happySpecReduce_3 8# happyReduction_49-happyReduction_49 happy_x_3- happy_x_2- happy_x_1- = case happyOut34 happy_x_1 of { (HappyWrap34 happy_var_1) -> - case happyOut35 happy_x_3 of { (HappyWrap35 happy_var_3) -> - happyIn35- ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_3))- )}}--happyReduce_50 = happyReduce 4# 9# happyReduction_50-happyReduction_50 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut31 happy_x_3 of { (HappyWrap31 happy_var_3) -> - happyIn36- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.DeclUsedVars (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3))- ) `HappyStk` happyRest}}--happyReduce_51 = happySpecReduce_0 9# happyReduction_51-happyReduction_51 = happyIn36- ((Language.Rzk.Syntax.Abs.BNFC'NoPosition, Language.Rzk.Syntax.Abs.noDeclUsedVars Language.Rzk.Syntax.Abs.BNFC'NoPosition)- )--happyReduce_52 = happySpecReduce_0 10# happyReduction_52-happyReduction_52 = happyIn37- ((Language.Rzk.Syntax.Abs.BNFC'NoPosition, Language.Rzk.Syntax.Abs.NoSectionName Language.Rzk.Syntax.Abs.BNFC'NoPosition)- )--happyReduce_53 = happySpecReduce_1 10# happyReduction_53-happyReduction_53 happy_x_1- = case happyOut28 happy_x_1 of { (HappyWrap28 happy_var_1) -> - happyIn37- ((fst happy_var_1, Language.Rzk.Syntax.Abs.SomeSectionName (fst happy_var_1) (snd happy_var_1))- )}--happyReduce_54 = happySpecReduce_1 11# happyReduction_54-happyReduction_54 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn38- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.PatternWildcard (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))- )}--happyReduce_55 = happySpecReduce_1 11# happyReduction_55-happyReduction_55 happy_x_1- = case happyOut28 happy_x_1 of { (HappyWrap28 happy_var_1) -> - happyIn38- ((fst happy_var_1, Language.Rzk.Syntax.Abs.PatternVar (fst happy_var_1) (snd happy_var_1))- )}--happyReduce_56 = happyReduce 5# 11# happyReduction_56-happyReduction_56 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut38 happy_x_2 of { (HappyWrap38 happy_var_2) -> - case happyOut38 happy_x_4 of { (HappyWrap38 happy_var_4) -> - happyIn38- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.PatternPair (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))- ) `HappyStk` happyRest}}}--happyReduce_57 = happySpecReduce_1 12# happyReduction_57-happyReduction_57 happy_x_1- = case happyOut38 happy_x_1 of { (HappyWrap38 happy_var_1) -> - happyIn39- ((fst happy_var_1, (:[]) (snd happy_var_1))- )}--happyReduce_58 = happySpecReduce_2 12# happyReduction_58-happyReduction_58 happy_x_2- happy_x_1- = case happyOut38 happy_x_1 of { (HappyWrap38 happy_var_1) -> - case happyOut39 happy_x_2 of { (HappyWrap39 happy_var_2) -> - happyIn39- ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_2))- )}}--happyReduce_59 = happySpecReduce_1 13# happyReduction_59-happyReduction_59 happy_x_1- = case happyOut38 happy_x_1 of { (HappyWrap38 happy_var_1) -> - happyIn40- ((fst happy_var_1, Language.Rzk.Syntax.Abs.ParamPattern (fst happy_var_1) (snd happy_var_1))- )}--happyReduce_60 = happyReduce 5# 13# happyReduction_60-happyReduction_60 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut39 happy_x_2 of { (HappyWrap39 happy_var_2) -> - case happyOut52 happy_x_4 of { (HappyWrap52 happy_var_4) -> - happyIn40- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamPatternType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))- ) `HappyStk` happyRest}}}--happyReduce_61 = happyReduce 7# 13# happyReduction_61-happyReduction_61 (happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut38 happy_x_2 of { (HappyWrap38 happy_var_2) -> - case happyOut52 happy_x_4 of { (HappyWrap52 happy_var_4) -> - case happyOut52 happy_x_6 of { (HappyWrap52 happy_var_6) -> - happyIn40- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamPatternShape (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4) (snd happy_var_6))- ) `HappyStk` happyRest}}}}--happyReduce_62 = happySpecReduce_1 14# happyReduction_62-happyReduction_62 happy_x_1- = case happyOut40 happy_x_1 of { (HappyWrap40 happy_var_1) -> - happyIn41- ((fst happy_var_1, (:[]) (snd happy_var_1))- )}--happyReduce_63 = happySpecReduce_2 14# happyReduction_63-happyReduction_63 happy_x_2- happy_x_1- = case happyOut40 happy_x_1 of { (HappyWrap40 happy_var_1) -> - case happyOut41 happy_x_2 of { (HappyWrap41 happy_var_2) -> - happyIn41- ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_2))- )}}--happyReduce_64 = happySpecReduce_1 15# happyReduction_64-happyReduction_64 happy_x_1- = case happyOut51 happy_x_1 of { (HappyWrap51 happy_var_1) -> - happyIn42- ((fst happy_var_1, Language.Rzk.Syntax.Abs.ParamType (fst happy_var_1) (snd happy_var_1))- )}--happyReduce_65 = happyReduce 5# 15# happyReduction_65-happyReduction_65 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut52 happy_x_4 of { (HappyWrap52 happy_var_4) -> - happyIn42- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamWildcardType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_4))- ) `HappyStk` happyRest}}--happyReduce_66 = happyReduce 5# 15# happyReduction_66-happyReduction_66 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut38 happy_x_2 of { (HappyWrap38 happy_var_2) -> - case happyOut52 happy_x_4 of { (HappyWrap52 happy_var_4) -> - happyIn42- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamVarType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))- ) `HappyStk` happyRest}}}--happyReduce_67 = happyReduce 5# 15# happyReduction_67-happyReduction_67 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut28 happy_x_2 of { (HappyWrap28 happy_var_2) -> - case happyOut52 happy_x_4 of { (HappyWrap52 happy_var_4) -> - happyIn42- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.paramVarType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))- ) `HappyStk` happyRest}}}--happyReduce_68 = happyReduce 9# 15# happyReduction_68-happyReduction_68 (happy_x_9 `HappyStk`- happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut38 happy_x_3 of { (HappyWrap38 happy_var_3) -> - case happyOut52 happy_x_5 of { (HappyWrap52 happy_var_5) -> - case happyOut52 happy_x_8 of { (HappyWrap52 happy_var_8) -> - happyIn42- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamVarShape (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_8))- ) `HappyStk` happyRest}}}}--happyReduce_69 = happyReduce 7# 15# happyReduction_69-happyReduction_69 (happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut38 happy_x_2 of { (HappyWrap38 happy_var_2) -> - case happyOut52 happy_x_4 of { (HappyWrap52 happy_var_4) -> - case happyOut52 happy_x_6 of { (HappyWrap52 happy_var_6) -> - happyIn42- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.paramVarShape (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4) (snd happy_var_6))- ) `HappyStk` happyRest}}}}--happyReduce_70 = happySpecReduce_3 16# happyReduction_70-happyReduction_70 happy_x_3- happy_x_2- happy_x_1- = case happyOut52 happy_x_1 of { (HappyWrap52 happy_var_1) -> - case happyOut52 happy_x_3 of { (HappyWrap52 happy_var_3) -> - happyIn43- ((fst happy_var_1, Language.Rzk.Syntax.Abs.Restriction (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))- )}}--happyReduce_71 = happySpecReduce_1 17# happyReduction_71-happyReduction_71 happy_x_1- = case happyOut43 happy_x_1 of { (HappyWrap43 happy_var_1) -> - happyIn44- ((fst happy_var_1, (:[]) (snd happy_var_1))- )}--happyReduce_72 = happySpecReduce_3 17# happyReduction_72-happyReduction_72 happy_x_3- happy_x_2- happy_x_1- = case happyOut43 happy_x_1 of { (HappyWrap43 happy_var_1) -> - case happyOut44 happy_x_3 of { (HappyWrap44 happy_var_3) -> - happyIn44- ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_3))- )}}--happyReduce_73 = happySpecReduce_1 18# happyReduction_73-happyReduction_73 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn45- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Universe (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))- )}--happyReduce_74 = happySpecReduce_1 18# happyReduction_74-happyReduction_74 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn45- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.UniverseCube (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))- )}--happyReduce_75 = happySpecReduce_1 18# happyReduction_75-happyReduction_75 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn45- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.UniverseTope (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))- )}--happyReduce_76 = happySpecReduce_1 18# happyReduction_76-happyReduction_76 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn45- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CubeUnit (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))- )}--happyReduce_77 = happySpecReduce_1 18# happyReduction_77-happyReduction_77 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn45- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CubeUnitStar (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))- )}--happyReduce_78 = happySpecReduce_1 18# happyReduction_78-happyReduction_78 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn45- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Cube2 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))- )}--happyReduce_79 = happySpecReduce_1 18# happyReduction_79-happyReduction_79 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn45- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Cube2_0 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))- )}--happyReduce_80 = happySpecReduce_1 18# happyReduction_80-happyReduction_80 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn45- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Cube2_1 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))- )}--happyReduce_81 = happySpecReduce_1 18# happyReduction_81-happyReduction_81 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn45- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TopeTop (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))- )}--happyReduce_82 = happySpecReduce_1 18# happyReduction_82-happyReduction_82 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn45- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TopeBottom (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))- )}--happyReduce_83 = happySpecReduce_1 18# happyReduction_83-happyReduction_83 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn45- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.RecBottom (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))- )}--happyReduce_84 = happyReduce 4# 18# happyReduction_84-happyReduction_84 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut44 happy_x_3 of { (HappyWrap44 happy_var_3) -> - happyIn45- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.RecOr (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3))- ) `HappyStk` happyRest}}--happyReduce_85 = happyReduce 10# 18# happyReduction_85-happyReduction_85 (happy_x_10 `HappyStk`- happy_x_9 `HappyStk`- happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut52 happy_x_3 of { (HappyWrap52 happy_var_3) -> - case happyOut52 happy_x_5 of { (HappyWrap52 happy_var_5) -> - case happyOut52 happy_x_7 of { (HappyWrap52 happy_var_7) -> - case happyOut52 happy_x_9 of { (HappyWrap52 happy_var_9) -> - happyIn45- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.recOr (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_7) (snd happy_var_9))- ) `HappyStk` happyRest}}}}}--happyReduce_86 = happyReduce 5# 18# happyReduction_86-happyReduction_86 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut42 happy_x_2 of { (HappyWrap42 happy_var_2) -> - case happyOut52 happy_x_4 of { (HappyWrap52 happy_var_4) -> - happyIn45- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.typeExtension (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))- ) `HappyStk` happyRest}}}--happyReduce_87 = happyReduce 5# 18# happyReduction_87-happyReduction_87 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) -> - case happyOut52 happy_x_4 of { (HappyWrap52 happy_var_4) -> - happyIn45- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Pair (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))- ) `HappyStk` happyRest}}}--happyReduce_88 = happySpecReduce_1 18# happyReduction_88-happyReduction_88 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn45- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Refl (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))- )}--happyReduce_89 = happySpecReduce_3 18# happyReduction_89-happyReduction_89 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) -> - happyIn45- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ReflTerm (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))- )}}--happyReduce_90 = happyReduce 5# 18# happyReduction_90-happyReduction_90 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) -> - case happyOut52 happy_x_4 of { (HappyWrap52 happy_var_4) -> - happyIn45- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ReflTermType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))- ) `HappyStk` happyRest}}}--happyReduce_91 = happyReduce 14# 18# happyReduction_91-happyReduction_91 (happy_x_14 `HappyStk`- happy_x_13 `HappyStk`- happy_x_12 `HappyStk`- happy_x_11 `HappyStk`- happy_x_10 `HappyStk`- happy_x_9 `HappyStk`- happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut52 happy_x_3 of { (HappyWrap52 happy_var_3) -> - case happyOut52 happy_x_5 of { (HappyWrap52 happy_var_5) -> - case happyOut52 happy_x_7 of { (HappyWrap52 happy_var_7) -> - case happyOut52 happy_x_9 of { (HappyWrap52 happy_var_9) -> - case happyOut52 happy_x_11 of { (HappyWrap52 happy_var_11) -> - case happyOut52 happy_x_13 of { (HappyWrap52 happy_var_13) -> - happyIn45- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.IdJ (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_7) (snd happy_var_9) (snd happy_var_11) (snd happy_var_13))- ) `HappyStk` happyRest}}}}}}}--happyReduce_92 = happySpecReduce_1 18# happyReduction_92-happyReduction_92 happy_x_1- = case happyOut29 happy_x_1 of { (HappyWrap29 happy_var_1) -> - happyIn45- ((fst happy_var_1, Language.Rzk.Syntax.Abs.Hole (fst happy_var_1) (snd happy_var_1))- )}--happyReduce_93 = happySpecReduce_1 18# happyReduction_93-happyReduction_93 happy_x_1- = case happyOut28 happy_x_1 of { (HappyWrap28 happy_var_1) -> - happyIn45- ((fst happy_var_1, Language.Rzk.Syntax.Abs.Var (fst happy_var_1) (snd happy_var_1))- )}--happyReduce_94 = happySpecReduce_3 18# happyReduction_94-happyReduction_94 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) -> - happyIn45- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), (snd happy_var_2))- )}}--happyReduce_95 = happySpecReduce_3 19# happyReduction_95-happyReduction_95 happy_x_3- happy_x_2- happy_x_1- = case happyOut46 happy_x_1 of { (HappyWrap46 happy_var_1) -> - case happyOut51 happy_x_3 of { (HappyWrap51 happy_var_3) -> - happyIn46- ((fst happy_var_1, Language.Rzk.Syntax.Abs.CubeProduct (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))- )}}--happyReduce_96 = happySpecReduce_1 19# happyReduction_96-happyReduction_96 happy_x_1- = case happyOut51 happy_x_1 of { (HappyWrap51 happy_var_1) -> - happyIn46- ((fst happy_var_1, (snd happy_var_1))- )}--happyReduce_97 = happySpecReduce_3 20# happyReduction_97-happyReduction_97 happy_x_3- happy_x_2- happy_x_1- = case happyOut46 happy_x_1 of { (HappyWrap46 happy_var_1) -> - case happyOut46 happy_x_3 of { (HappyWrap46 happy_var_3) -> - happyIn47- ((fst happy_var_1, Language.Rzk.Syntax.Abs.TopeEQ (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))- )}}--happyReduce_98 = happySpecReduce_3 20# happyReduction_98-happyReduction_98 happy_x_3- happy_x_2- happy_x_1- = case happyOut46 happy_x_1 of { (HappyWrap46 happy_var_1) -> - case happyOut46 happy_x_3 of { (HappyWrap46 happy_var_3) -> - happyIn47- ((fst happy_var_1, Language.Rzk.Syntax.Abs.TopeLEQ (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))- )}}--happyReduce_99 = happySpecReduce_1 20# happyReduction_99-happyReduction_99 happy_x_1- = case happyOut46 happy_x_1 of { (HappyWrap46 happy_var_1) -> - happyIn47- ((fst happy_var_1, (snd happy_var_1))- )}--happyReduce_100 = happySpecReduce_3 21# happyReduction_100-happyReduction_100 happy_x_3- happy_x_2- happy_x_1- = case happyOut47 happy_x_1 of { (HappyWrap47 happy_var_1) -> - case happyOut48 happy_x_3 of { (HappyWrap48 happy_var_3) -> - happyIn48- ((fst happy_var_1, Language.Rzk.Syntax.Abs.TopeAnd (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))- )}}--happyReduce_101 = happySpecReduce_1 21# happyReduction_101-happyReduction_101 happy_x_1- = case happyOut47 happy_x_1 of { (HappyWrap47 happy_var_1) -> - happyIn48- ((fst happy_var_1, (snd happy_var_1))- )}--happyReduce_102 = happySpecReduce_3 22# happyReduction_102-happyReduction_102 happy_x_3- happy_x_2- happy_x_1- = case happyOut48 happy_x_1 of { (HappyWrap48 happy_var_1) -> - case happyOut49 happy_x_3 of { (HappyWrap49 happy_var_3) -> - happyIn49- ((fst happy_var_1, Language.Rzk.Syntax.Abs.TopeOr (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))- )}}--happyReduce_103 = happySpecReduce_1 22# happyReduction_103-happyReduction_103 happy_x_1- = case happyOut48 happy_x_1 of { (HappyWrap48 happy_var_1) -> - happyIn49- ((fst happy_var_1, (snd happy_var_1))- )}--happyReduce_104 = happySpecReduce_3 23# happyReduction_104-happyReduction_104 happy_x_3- happy_x_2- happy_x_1- = case happyOut42 happy_x_1 of { (HappyWrap42 happy_var_1) -> - case happyOut50 happy_x_3 of { (HappyWrap50 happy_var_3) -> - happyIn50- ((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeFun (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))- )}}--happyReduce_105 = happyReduce 8# 23# happyReduction_105-happyReduction_105 (happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut38 happy_x_3 of { (HappyWrap38 happy_var_3) -> - case happyOut52 happy_x_5 of { (HappyWrap52 happy_var_5) -> - case happyOut50 happy_x_8 of { (HappyWrap50 happy_var_8) -> - happyIn50- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TypeSigma (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_8))- ) `HappyStk` happyRest}}}}--happyReduce_106 = happyReduce 5# 23# happyReduction_106-happyReduction_106 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut49 happy_x_1 of { (HappyWrap49 happy_var_1) -> - case happyOut52 happy_x_3 of { (HappyWrap52 happy_var_3) -> - case happyOut49 happy_x_5 of { (HappyWrap49 happy_var_5) -> - happyIn50- ((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeId (fst happy_var_1) (snd happy_var_1) (snd happy_var_3) (snd happy_var_5))- ) `HappyStk` happyRest}}}--happyReduce_107 = happySpecReduce_3 23# happyReduction_107-happyReduction_107 happy_x_3- happy_x_2- happy_x_1- = case happyOut49 happy_x_1 of { (HappyWrap49 happy_var_1) -> - case happyOut49 happy_x_3 of { (HappyWrap49 happy_var_3) -> - happyIn50- ((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeIdSimple (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))- )}}--happyReduce_108 = happyReduce 4# 23# happyReduction_108-happyReduction_108 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut41 happy_x_2 of { (HappyWrap41 happy_var_2) -> - case happyOut50 happy_x_4 of { (HappyWrap50 happy_var_4) -> - happyIn50- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Lambda (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))- ) `HappyStk` happyRest}}}--happyReduce_109 = happySpecReduce_1 23# happyReduction_109-happyReduction_109 happy_x_1- = case happyOut49 happy_x_1 of { (HappyWrap49 happy_var_1) -> - happyIn50- ((fst happy_var_1, (snd happy_var_1))- )}--happyReduce_110 = happySpecReduce_3 23# happyReduction_110-happyReduction_110 happy_x_3- happy_x_2- happy_x_1- = case happyOut42 happy_x_1 of { (HappyWrap42 happy_var_1) -> - case happyOut50 happy_x_3 of { (HappyWrap50 happy_var_3) -> - happyIn50- ((fst happy_var_1, Language.Rzk.Syntax.Abs.unicode_TypeFun (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))- )}}--happyReduce_111 = happyReduce 8# 23# happyReduction_111-happyReduction_111 (happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut38 happy_x_3 of { (HappyWrap38 happy_var_3) -> - case happyOut52 happy_x_5 of { (HappyWrap52 happy_var_5) -> - case happyOut50 happy_x_8 of { (HappyWrap50 happy_var_8) -> - happyIn50- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.unicode_TypeSigma (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_8))- ) `HappyStk` happyRest}}}}--happyReduce_112 = happyReduce 8# 23# happyReduction_112-happyReduction_112 (happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut38 happy_x_3 of { (HappyWrap38 happy_var_3) -> - case happyOut52 happy_x_5 of { (HappyWrap52 happy_var_5) -> - case happyOut50 happy_x_8 of { (HappyWrap50 happy_var_8) -> - happyIn50- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.unicode_TypeSigmaAlt (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_8))- ) `HappyStk` happyRest}}}}--happyReduce_113 = happyReduce 4# 24# happyReduction_113-happyReduction_113 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut51 happy_x_1 of { (HappyWrap51 happy_var_1) -> - case happyOut44 happy_x_3 of { (HappyWrap44 happy_var_3) -> - happyIn51- ((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeRestricted (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))- ) `HappyStk` happyRest}}--happyReduce_114 = happySpecReduce_2 24# happyReduction_114-happyReduction_114 happy_x_2- happy_x_1- = case happyOut51 happy_x_1 of { (HappyWrap51 happy_var_1) -> - case happyOut45 happy_x_2 of { (HappyWrap45 happy_var_2) -> - happyIn51- ((fst happy_var_1, Language.Rzk.Syntax.Abs.App (fst happy_var_1) (snd happy_var_1) (snd happy_var_2))- )}}--happyReduce_115 = happySpecReduce_2 24# happyReduction_115-happyReduction_115 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut45 happy_x_2 of { (HappyWrap45 happy_var_2) -> - happyIn51- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.First (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))- )}}--happyReduce_116 = happySpecReduce_2 24# happyReduction_116-happyReduction_116 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut45 happy_x_2 of { (HappyWrap45 happy_var_2) -> - happyIn51- ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Second (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))- )}}--happyReduce_117 = happySpecReduce_1 24# happyReduction_117-happyReduction_117 happy_x_1- = case happyOut45 happy_x_1 of { (HappyWrap45 happy_var_1) -> - happyIn51- ((fst happy_var_1, (snd happy_var_1))- )}--happyReduce_118 = happySpecReduce_3 25# happyReduction_118-happyReduction_118 happy_x_3- happy_x_2- happy_x_1- = case happyOut49 happy_x_1 of { (HappyWrap49 happy_var_1) -> - case happyOut50 happy_x_3 of { (HappyWrap50 happy_var_3) -> - happyIn52- ((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeAsc (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))- )}}--happyReduce_119 = happySpecReduce_1 25# happyReduction_119-happyReduction_119 happy_x_1- = case happyOut50 happy_x_1 of { (HappyWrap50 happy_var_1) -> - happyIn52- ((fst happy_var_1, (snd happy_var_1))- )}--happyReduce_120 = happySpecReduce_1 26# happyReduction_120-happyReduction_120 happy_x_1- = case happyOut52 happy_x_1 of { (HappyWrap52 happy_var_1) -> - happyIn53- ((fst happy_var_1, (:[]) (snd happy_var_1))- )}--happyReduce_121 = happySpecReduce_3 26# happyReduction_121-happyReduction_121 happy_x_3- happy_x_2- happy_x_1- = case happyOut52 happy_x_1 of { (HappyWrap52 happy_var_1) -> - case happyOut53 happy_x_3 of { (HappyWrap53 happy_var_3) -> - happyIn53- ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_3))- )}}--happyNewToken action sts stk [] =- happyDoAction 67# notHappyAtAll action sts stk []--happyNewToken action sts stk (tk:tks) =- let cont i = happyDoAction i tk action sts stk tks in- case tk of {- PT _ (TS _ 1) -> cont 1#;- PT _ (TS _ 2) -> cont 2#;- PT _ (TS _ 3) -> cont 3#;- PT _ (TS _ 4) -> cont 4#;- PT _ (TS _ 5) -> cont 5#;- PT _ (TS _ 6) -> cont 6#;- PT _ (TS _ 7) -> cont 7#;- PT _ (TS _ 8) -> cont 8#;- PT _ (TS _ 9) -> cont 9#;- PT _ (TS _ 10) -> cont 10#;- PT _ (TS _ 11) -> cont 11#;- PT _ (TS _ 12) -> cont 12#;- PT _ (TS _ 13) -> cont 13#;- PT _ (TS _ 14) -> cont 14#;- PT _ (TS _ 15) -> cont 15#;- PT _ (TS _ 16) -> cont 16#;- PT _ (TS _ 17) -> cont 17#;- PT _ (TS _ 18) -> cont 18#;- PT _ (TS _ 19) -> cont 19#;- PT _ (TS _ 20) -> cont 20#;- PT _ (TS _ 21) -> cont 21#;- PT _ (TS _ 22) -> cont 22#;- PT _ (TS _ 23) -> cont 23#;- PT _ (TS _ 24) -> cont 24#;- PT _ (TS _ 25) -> cont 25#;- PT _ (TS _ 26) -> cont 26#;- PT _ (TS _ 27) -> cont 27#;- PT _ (TS _ 28) -> cont 28#;- PT _ (TS _ 29) -> cont 29#;- PT _ (TS _ 30) -> cont 30#;- PT _ (TS _ 31) -> cont 31#;- PT _ (TS _ 32) -> cont 32#;- PT _ (TS _ 33) -> cont 33#;- PT _ (TS _ 34) -> cont 34#;- PT _ (TS _ 35) -> cont 35#;- PT _ (TS _ 36) -> cont 36#;- PT _ (TS _ 37) -> cont 37#;- PT _ (TS _ 38) -> cont 38#;- PT _ (TS _ 39) -> cont 39#;- PT _ (TS _ 40) -> cont 40#;- PT _ (TS _ 41) -> cont 41#;- PT _ (TS _ 42) -> cont 42#;- PT _ (TS _ 43) -> cont 43#;- PT _ (TS _ 44) -> cont 44#;- PT _ (TS _ 45) -> cont 45#;- PT _ (TS _ 46) -> cont 46#;- PT _ (TS _ 47) -> cont 47#;- PT _ (TS _ 48) -> cont 48#;- PT _ (TS _ 49) -> cont 49#;- PT _ (TS _ 50) -> cont 50#;- PT _ (TS _ 51) -> cont 51#;- PT _ (TS _ 52) -> cont 52#;- PT _ (TS _ 53) -> cont 53#;- PT _ (TS _ 54) -> cont 54#;- PT _ (TS _ 55) -> cont 55#;- PT _ (TS _ 56) -> cont 56#;- PT _ (TS _ 57) -> cont 57#;- PT _ (TS _ 58) -> cont 58#;- PT _ (TS _ 59) -> cont 59#;- PT _ (TS _ 60) -> cont 60#;- PT _ (TS _ 61) -> cont 61#;- PT _ (TS _ 62) -> cont 62#;- PT _ (TS _ 63) -> cont 63#;- PT _ (TL _) -> cont 64#;- PT _ (T_VarIdent _) -> cont 65#;- PT _ (T_HoleIdent _) -> cont 66#;- _ -> happyError' ((tk:tks), [])- }--happyError_ explist 67# tk tks = happyError' (tks, explist)-happyError_ explist _ tk tks = happyError' ((tk:tks), explist)--happyThen :: () => Err a -> (a -> Err b) -> Err b-happyThen = ((>>=))-happyReturn :: () => a -> Err a-happyReturn = (return)-happyThen1 m k tks = ((>>=)) m (\a -> k a tks)-happyReturn1 :: () => a -> b -> Err a-happyReturn1 = \a tks -> (return) a-happyError' :: () => ([(Token)], [Prelude.String]) -> Err a-happyError' = (\(tokens, _) -> happyError tokens)-pModule_internal tks = happySomeParser where- happySomeParser = happyThen (happyParse 0# tks) (\x -> happyReturn (let {(HappyWrap30 x') = happyOut30 x} in x'))--pListVarIdent_internal tks = happySomeParser where- happySomeParser = happyThen (happyParse 1# tks) (\x -> happyReturn (let {(HappyWrap31 x') = happyOut31 x} in x'))--pLanguageDecl_internal tks = happySomeParser where- happySomeParser = happyThen (happyParse 2# tks) (\x -> happyReturn (let {(HappyWrap32 x') = happyOut32 x} in x'))--pLanguage_internal tks = happySomeParser where- happySomeParser = happyThen (happyParse 3# tks) (\x -> happyReturn (let {(HappyWrap33 x') = happyOut33 x} in x'))--pCommand_internal tks = happySomeParser where- happySomeParser = happyThen (happyParse 4# tks) (\x -> happyReturn (let {(HappyWrap34 x') = happyOut34 x} in x'))--pListCommand_internal tks = happySomeParser where- happySomeParser = happyThen (happyParse 5# tks) (\x -> happyReturn (let {(HappyWrap35 x') = happyOut35 x} in x'))--pDeclUsedVars_internal tks = happySomeParser where- happySomeParser = happyThen (happyParse 6# tks) (\x -> happyReturn (let {(HappyWrap36 x') = happyOut36 x} in x'))--pSectionName_internal tks = happySomeParser where- happySomeParser = happyThen (happyParse 7# tks) (\x -> happyReturn (let {(HappyWrap37 x') = happyOut37 x} in x'))--pPattern_internal tks = happySomeParser where- happySomeParser = happyThen (happyParse 8# tks) (\x -> happyReturn (let {(HappyWrap38 x') = happyOut38 x} in x'))--pListPattern_internal tks = happySomeParser where- happySomeParser = happyThen (happyParse 9# tks) (\x -> happyReturn (let {(HappyWrap39 x') = happyOut39 x} in x'))--pParam_internal tks = happySomeParser where- happySomeParser = happyThen (happyParse 10# tks) (\x -> happyReturn (let {(HappyWrap40 x') = happyOut40 x} in x'))--pListParam_internal tks = happySomeParser where- happySomeParser = happyThen (happyParse 11# tks) (\x -> happyReturn (let {(HappyWrap41 x') = happyOut41 x} in x'))--pParamDecl_internal tks = happySomeParser where- happySomeParser = happyThen (happyParse 12# tks) (\x -> happyReturn (let {(HappyWrap42 x') = happyOut42 x} in x'))--pRestriction_internal tks = happySomeParser where- happySomeParser = happyThen (happyParse 13# tks) (\x -> happyReturn (let {(HappyWrap43 x') = happyOut43 x} in x'))--pListRestriction_internal tks = happySomeParser where- happySomeParser = happyThen (happyParse 14# tks) (\x -> happyReturn (let {(HappyWrap44 x') = happyOut44 x} in x'))--pTerm7_internal tks = happySomeParser where- happySomeParser = happyThen (happyParse 15# tks) (\x -> happyReturn (let {(HappyWrap45 x') = happyOut45 x} in x'))--pTerm5_internal tks = happySomeParser where- happySomeParser = happyThen (happyParse 16# tks) (\x -> happyReturn (let {(HappyWrap46 x') = happyOut46 x} in x'))--pTerm4_internal tks = happySomeParser where- happySomeParser = happyThen (happyParse 17# tks) (\x -> happyReturn (let {(HappyWrap47 x') = happyOut47 x} in x'))--pTerm3_internal tks = happySomeParser where- happySomeParser = happyThen (happyParse 18# tks) (\x -> happyReturn (let {(HappyWrap48 x') = happyOut48 x} in x'))--pTerm2_internal tks = happySomeParser where- happySomeParser = happyThen (happyParse 19# tks) (\x -> happyReturn (let {(HappyWrap49 x') = happyOut49 x} in x'))--pTerm1_internal tks = happySomeParser where- happySomeParser = happyThen (happyParse 20# tks) (\x -> happyReturn (let {(HappyWrap50 x') = happyOut50 x} in x'))--pTerm6_internal tks = happySomeParser where- happySomeParser = happyThen (happyParse 21# tks) (\x -> happyReturn (let {(HappyWrap51 x') = happyOut51 x} in x'))--pTerm_internal tks = happySomeParser where- happySomeParser = happyThen (happyParse 22# tks) (\x -> happyReturn (let {(HappyWrap52 x') = happyOut52 x} in x'))--pListTerm_internal tks = happySomeParser where- happySomeParser = happyThen (happyParse 23# tks) (\x -> happyReturn (let {(HappyWrap53 x') = happyOut53 x} in x'))--happySeq = happyDontSeq---type Err = Either String--happyError :: [Token] -> Err a-happyError ts = Left $- "syntax error at " ++ tokenPos ts ++- case ts of- [] -> []- [Err _] -> " due to lexer error"- t:_ -> " before `" ++ (prToken t) ++ "'"--myLexer :: String -> [Token]-myLexer = tokens---- Entrypoints--pModule :: [Token] -> Err Language.Rzk.Syntax.Abs.Module-pModule = fmap snd . pModule_internal+ , pHoleIdent+ , pVarIdent+ , pListVarIdent+ , pLanguageDecl+ , pLanguage+ , pCommand+ , pListCommand+ , pDeclUsedVars+ , pSectionName+ , pPattern+ , pListPattern+ , pParam+ , pListParam+ , pParamDecl+ , pRestriction+ , pListRestriction+ , pTerm7+ , pTerm5+ , pTerm4+ , pTerm3+ , pTerm2+ , pTerm1+ , pTerm6+ , pTerm+ , pListTerm+ ) where++import Prelude++import qualified Language.Rzk.Syntax.Abs+import Language.Rzk.Syntax.Lex+import qualified Data.Array as Happy_Data_Array+import qualified Data.Bits as Bits+import qualified GHC.Exts as Happy_GHC_Exts+import Control.Applicative(Applicative(..))+import Control.Monad (ap)++-- parser produced by Happy Version 1.20.1.1++newtype HappyAbsSyn = HappyAbsSyn HappyAny+#if __GLASGOW_HASKELL__ >= 607+type HappyAny = Happy_GHC_Exts.Any+#else+type HappyAny = forall a . a+#endif+newtype HappyWrap29 = HappyWrap29 ((Language.Rzk.Syntax.Abs.BNFC'Position, String))+happyIn29 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, String)) -> (HappyAbsSyn )+happyIn29 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap29 x)+{-# INLINE happyIn29 #-}+happyOut29 :: (HappyAbsSyn ) -> HappyWrap29+happyOut29 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut29 #-}+newtype HappyWrap30 = HappyWrap30 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.VarIdentToken))+happyIn30 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.VarIdentToken)) -> (HappyAbsSyn )+happyIn30 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap30 x)+{-# INLINE happyIn30 #-}+happyOut30 :: (HappyAbsSyn ) -> HappyWrap30+happyOut30 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut30 #-}+newtype HappyWrap31 = HappyWrap31 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.HoleIdentToken))+happyIn31 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.HoleIdentToken)) -> (HappyAbsSyn )+happyIn31 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap31 x)+{-# INLINE happyIn31 #-}+happyOut31 :: (HappyAbsSyn ) -> HappyWrap31+happyOut31 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut31 #-}+newtype HappyWrap32 = HappyWrap32 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Module))+happyIn32 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Module)) -> (HappyAbsSyn )+happyIn32 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap32 x)+{-# INLINE happyIn32 #-}+happyOut32 :: (HappyAbsSyn ) -> HappyWrap32+happyOut32 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut32 #-}+newtype HappyWrap33 = HappyWrap33 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.HoleIdent))+happyIn33 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.HoleIdent)) -> (HappyAbsSyn )+happyIn33 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap33 x)+{-# INLINE happyIn33 #-}+happyOut33 :: (HappyAbsSyn ) -> HappyWrap33+happyOut33 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut33 #-}+newtype HappyWrap34 = HappyWrap34 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.VarIdent))+happyIn34 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.VarIdent)) -> (HappyAbsSyn )+happyIn34 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap34 x)+{-# INLINE happyIn34 #-}+happyOut34 :: (HappyAbsSyn ) -> HappyWrap34+happyOut34 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut34 #-}+newtype HappyWrap35 = HappyWrap35 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.VarIdent]))+happyIn35 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.VarIdent])) -> (HappyAbsSyn )+happyIn35 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap35 x)+{-# INLINE happyIn35 #-}+happyOut35 :: (HappyAbsSyn ) -> HappyWrap35+happyOut35 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut35 #-}+newtype HappyWrap36 = HappyWrap36 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.LanguageDecl))+happyIn36 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.LanguageDecl)) -> (HappyAbsSyn )+happyIn36 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap36 x)+{-# INLINE happyIn36 #-}+happyOut36 :: (HappyAbsSyn ) -> HappyWrap36+happyOut36 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut36 #-}+newtype HappyWrap37 = HappyWrap37 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Language))+happyIn37 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Language)) -> (HappyAbsSyn )+happyIn37 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap37 x)+{-# INLINE happyIn37 #-}+happyOut37 :: (HappyAbsSyn ) -> HappyWrap37+happyOut37 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut37 #-}+newtype HappyWrap38 = HappyWrap38 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Command))+happyIn38 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Command)) -> (HappyAbsSyn )+happyIn38 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap38 x)+{-# INLINE happyIn38 #-}+happyOut38 :: (HappyAbsSyn ) -> HappyWrap38+happyOut38 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut38 #-}+newtype HappyWrap39 = HappyWrap39 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Command]))+happyIn39 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Command])) -> (HappyAbsSyn )+happyIn39 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap39 x)+{-# INLINE happyIn39 #-}+happyOut39 :: (HappyAbsSyn ) -> HappyWrap39+happyOut39 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut39 #-}+newtype HappyWrap40 = HappyWrap40 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.DeclUsedVars))+happyIn40 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.DeclUsedVars)) -> (HappyAbsSyn )+happyIn40 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap40 x)+{-# INLINE happyIn40 #-}+happyOut40 :: (HappyAbsSyn ) -> HappyWrap40+happyOut40 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut40 #-}+newtype HappyWrap41 = HappyWrap41 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.SectionName))+happyIn41 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.SectionName)) -> (HappyAbsSyn )+happyIn41 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap41 x)+{-# INLINE happyIn41 #-}+happyOut41 :: (HappyAbsSyn ) -> HappyWrap41+happyOut41 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut41 #-}+newtype HappyWrap42 = HappyWrap42 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Pattern))+happyIn42 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Pattern)) -> (HappyAbsSyn )+happyIn42 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap42 x)+{-# INLINE happyIn42 #-}+happyOut42 :: (HappyAbsSyn ) -> HappyWrap42+happyOut42 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut42 #-}+newtype HappyWrap43 = HappyWrap43 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Pattern]))+happyIn43 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Pattern])) -> (HappyAbsSyn )+happyIn43 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap43 x)+{-# INLINE happyIn43 #-}+happyOut43 :: (HappyAbsSyn ) -> HappyWrap43+happyOut43 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut43 #-}+newtype HappyWrap44 = HappyWrap44 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Param))+happyIn44 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Param)) -> (HappyAbsSyn )+happyIn44 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap44 x)+{-# INLINE happyIn44 #-}+happyOut44 :: (HappyAbsSyn ) -> HappyWrap44+happyOut44 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut44 #-}+newtype HappyWrap45 = HappyWrap45 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Param]))+happyIn45 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Param])) -> (HappyAbsSyn )+happyIn45 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap45 x)+{-# INLINE happyIn45 #-}+happyOut45 :: (HappyAbsSyn ) -> HappyWrap45+happyOut45 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut45 #-}+newtype HappyWrap46 = HappyWrap46 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.ParamDecl))+happyIn46 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.ParamDecl)) -> (HappyAbsSyn )+happyIn46 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap46 x)+{-# INLINE happyIn46 #-}+happyOut46 :: (HappyAbsSyn ) -> HappyWrap46+happyOut46 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut46 #-}+newtype HappyWrap47 = HappyWrap47 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Restriction))+happyIn47 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Restriction)) -> (HappyAbsSyn )+happyIn47 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap47 x)+{-# INLINE happyIn47 #-}+happyOut47 :: (HappyAbsSyn ) -> HappyWrap47+happyOut47 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut47 #-}+newtype HappyWrap48 = HappyWrap48 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Restriction]))+happyIn48 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Restriction])) -> (HappyAbsSyn )+happyIn48 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap48 x)+{-# INLINE happyIn48 #-}+happyOut48 :: (HappyAbsSyn ) -> HappyWrap48+happyOut48 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut48 #-}+newtype HappyWrap49 = HappyWrap49 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))+happyIn49 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )+happyIn49 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap49 x)+{-# INLINE happyIn49 #-}+happyOut49 :: (HappyAbsSyn ) -> HappyWrap49+happyOut49 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut49 #-}+newtype HappyWrap50 = HappyWrap50 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))+happyIn50 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )+happyIn50 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap50 x)+{-# INLINE happyIn50 #-}+happyOut50 :: (HappyAbsSyn ) -> HappyWrap50+happyOut50 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut50 #-}+newtype HappyWrap51 = HappyWrap51 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))+happyIn51 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )+happyIn51 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap51 x)+{-# INLINE happyIn51 #-}+happyOut51 :: (HappyAbsSyn ) -> HappyWrap51+happyOut51 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut51 #-}+newtype HappyWrap52 = HappyWrap52 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))+happyIn52 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )+happyIn52 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap52 x)+{-# INLINE happyIn52 #-}+happyOut52 :: (HappyAbsSyn ) -> HappyWrap52+happyOut52 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut52 #-}+newtype HappyWrap53 = HappyWrap53 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))+happyIn53 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )+happyIn53 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap53 x)+{-# INLINE happyIn53 #-}+happyOut53 :: (HappyAbsSyn ) -> HappyWrap53+happyOut53 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut53 #-}+newtype HappyWrap54 = HappyWrap54 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))+happyIn54 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )+happyIn54 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap54 x)+{-# INLINE happyIn54 #-}+happyOut54 :: (HappyAbsSyn ) -> HappyWrap54+happyOut54 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut54 #-}+newtype HappyWrap55 = HappyWrap55 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))+happyIn55 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )+happyIn55 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap55 x)+{-# INLINE happyIn55 #-}+happyOut55 :: (HappyAbsSyn ) -> HappyWrap55+happyOut55 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut55 #-}+newtype HappyWrap56 = HappyWrap56 ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term))+happyIn56 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Term)) -> (HappyAbsSyn )+happyIn56 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap56 x)+{-# INLINE happyIn56 #-}+happyOut56 :: (HappyAbsSyn ) -> HappyWrap56+happyOut56 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut56 #-}+newtype HappyWrap57 = HappyWrap57 ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Term]))+happyIn57 :: ((Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.Term])) -> (HappyAbsSyn )+happyIn57 x = Happy_GHC_Exts.unsafeCoerce# (HappyWrap57 x)+{-# INLINE happyIn57 #-}+happyOut57 :: (HappyAbsSyn ) -> HappyWrap57+happyOut57 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut57 #-}+happyInTok :: (Token) -> (HappyAbsSyn )+happyInTok x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyInTok #-}+happyOutTok :: (HappyAbsSyn ) -> (Token)+happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOutTok #-}+++happyExpList :: HappyAddr+happyExpList = HappyA# "\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\xe0\xcf\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\xf3\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x08\x20\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x02\x08\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x80\x00\x0a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x20\x80\x02\x02\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7b\xe0\xb7\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x5f\xf8\x2d\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xec\x01\x9f\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7b\xe0\x37\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x1e\xf8\x0d\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xb0\x07\x7e\x03\x18\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xec\x81\xdf\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7f\xe1\xb7\xa8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x1e\xf8\x0d\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xfc\x85\xdf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x01\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x3e\xf0\x09\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7f\xe9\xb7\xa8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xb0\x07\x7e\x0b\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x80\x00\x0a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xec\x01\x9f\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7f\xe1\xb7\xa8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x1e\xf0\x09\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x20\x80\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x3e\xf0\x09\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xb0\x0f\x7c\x02\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xfb\xc0\x27\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x20\x80\x02\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x02\x08\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x08\x20\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x80\x00\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x08\x20\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x5f\xf8\x2d\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xfc\x85\xdf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7f\xe1\xb7\xa8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x3f\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\xcf\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x02\x08\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x5f\xf8\x2d\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xfc\x85\xdf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7b\xe0\x37\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x1e\xf8\x0d\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x80\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x08\x20\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x02\x08\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x20\x80\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xfc\x85\xdf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x80\x00\x02\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xfc\x85\xdf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7b\xe0\x37\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x1e\xf8\x0d\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xb0\x07\x7e\x03\x18\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xec\x81\xdf\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7f\xe1\xb7\xa8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x5f\xf8\x2d\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xfc\x85\xdf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7f\xe1\xb7\xa8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x5f\xf8\x2d\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x5f\xf8\x2d\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\xfb\xc0\x27\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7f\xe1\xb7\xa8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x02\x08\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x5f\xf8\x2d\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x02\x00\x20\x80\x02\x02\x00\x00\x00\x00\x00\x00\x00\x00\x10\x80\x00\x00\x08\xa0\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x20\x00\x00\x02\x28\x20\x00\x00\x00\x00\x00\x00\x00\xfe\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7f\xe1\xb7\xa8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x5f\xf8\x2d\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7f\xe1\xb7\xa8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7f\xe1\xb7\xa8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7b\xe0\x37\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xfc\x85\xdf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x5f\xf8\x2d\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xfc\x85\xdf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x5f\xf8\x2d\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xfc\x85\xdf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xfc\x85\xdf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xfc\x85\xdf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x5f\xf8\x2d\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xfc\x85\xdf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x5f\xf8\x2d\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7f\xe1\xb7\xa8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xfc\x85\xdf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x5f\xf8\x2d\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7f\xe1\xb7\xa8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xfc\x85\xdf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x78\x04\x7f\xe1\xb7\xa8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x47\xf0\x17\x7e\x8b\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xfc\x85\xdf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x1e\xc1\x5f\xf8\x2d\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\xe2\x11\xfc\x85\xdf\xa2\x06\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#++{-# NOINLINE happyExpListPerState #-}+happyExpListPerState st =+ token_strs_expected+ where token_strs = ["error","%dummy","%start_pModule_internal","%start_pHoleIdent_internal","%start_pVarIdent_internal","%start_pListVarIdent_internal","%start_pLanguageDecl_internal","%start_pLanguage_internal","%start_pCommand_internal","%start_pListCommand_internal","%start_pDeclUsedVars_internal","%start_pSectionName_internal","%start_pPattern_internal","%start_pListPattern_internal","%start_pParam_internal","%start_pListParam_internal","%start_pParamDecl_internal","%start_pRestriction_internal","%start_pListRestriction_internal","%start_pTerm7_internal","%start_pTerm5_internal","%start_pTerm4_internal","%start_pTerm3_internal","%start_pTerm2_internal","%start_pTerm1_internal","%start_pTerm6_internal","%start_pTerm_internal","%start_pListTerm_internal","String","VarIdentToken","HoleIdentToken","Module","HoleIdent","VarIdent","ListVarIdent","LanguageDecl","Language","Command","ListCommand","DeclUsedVars","SectionName","Pattern","ListPattern","Param","ListParam","ParamDecl","Restriction","ListRestriction","Term7","Term5","Term4","Term3","Term2","Term1","Term6","Term","ListTerm","'#assume'","'#check'","'#compute'","'#compute-nf'","'#compute-whnf'","'#def'","'#define'","'#end'","'#lang'","'#postulate'","'#section'","'#set-option'","'#unset-option'","'#variable'","'#variables'","'('","')'","'*'","'*_1'","','","'->'","'/\\\\'","'0_2'","'1'","'1_2'","'2'","':'","':='","';'","'<'","'<='","'='","'==='","'=_{'","'>'","'BOT'","'CUBE'","'Sigma'","'TOP'","'TOPE'","'U'","'Unit'","'['","'\\\\'","'\\\\/'","']'","'_'","'as'","'first'","'idJ'","'recBOT'","'recOR'","'refl'","'refl_{'","'rzk-1'","'second'","'unit'","'uses'","'{'","'|'","'|->'","'}'","'\931'","'\8594'","'\8721'","L_quoted","L_VarIdentToken","L_HoleIdentToken","%eof"]+ bit_start = st Prelude.* 126+ bit_end = (st Prelude.+ 1) Prelude.* 126+ read_bit = readArrayBit happyExpList+ bits = Prelude.map read_bit [bit_start..bit_end Prelude.- 1]+ bits_indexed = Prelude.zip bits [0..125]+ token_strs_expected = Prelude.concatMap f bits_indexed+ f (Prelude.False, _) = []+ f (Prelude.True, nr) = [token_strs Prelude.!! nr]++happyActOffsets :: HappyAddr+happyActOffsets = HappyA# "\x03\x00\xce\xff\xd4\xff\xd4\xff\x16\x00\xf7\xff\x07\x07\x07\x07\x0f\x00\xf8\xff\x28\x00\x28\x00\x98\x00\x98\x00\x7d\x00\x4b\x00\x4b\x00\x47\x01\xf9\x00\xf9\x00\xf9\x00\xf9\x00\x4b\x00\xf9\x00\x4b\x00\x4b\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\xff\x00\x00\x01\x00\x40\x00\x32\x00\xee\xff\x00\x00\xa4\x00\x6e\x00\x29\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd2\x00\x00\x00\x00\x00\x75\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98\x00\x47\x01\x78\x00\x00\x00\x81\x00\x00\x00\x4b\x00\x47\x01\x00\x00\x5a\x00\x90\x00\x9a\x00\x00\x00\x00\x00\x80\x00\xf1\xff\x4b\x00\x56\x00\x80\x00\x80\x00\x20\x01\x80\x00\x80\x00\xf4\xff\x80\x00\xa6\x00\x8b\x00\x6f\x00\xa1\x00\xa1\x00\x20\x01\x00\x00\x00\x00\x98\x00\xa1\x00\x6a\x00\x00\x00\x00\x00\x6a\x00\xa1\x00\x6a\x00\xa1\x00\x6a\x00\xa1\x00\x00\x00\xa1\x00\xa1\x00\xce\x00\xd0\x00\xae\x00\xb2\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\xb2\x00\xb2\x00\xb2\x00\xb2\x00\xbd\x00\xbd\x00\xd1\x00\xd1\x00\xe3\x00\xe3\x00\x00\x00\xe3\x00\xfd\x00\xf2\x00\xf1\x00\xf1\x00\xf1\x00\xf1\x00\x07\x07\x00\x00\x00\x00\x26\x01\x31\x01\x32\x01\x00\x00\x21\x01\x3b\x01\x15\x01\x15\x01\x15\x01\x00\x00\x00\x00\x00\x00\x40\x01\x42\x01\x07\x07\x19\x01\x4e\x01\x00\x00\x4b\x01\x0d\x00\x4f\x01\x00\x00\x00\x00\x4b\x00\x4b\x00\x4b\x00\xf9\x00\xf9\x00\x4b\x00\x33\x00\x6a\x00\x6a\x00\x59\x01\x6a\x00\x00\x00\xea\xff\x4b\x00\x4b\x00\x00\x00\x54\x01\x6a\x00\x60\x01\x5b\x01\x5c\x01\x4b\x00\x4b\x00\xf9\x00\xf9\x00\xf9\x00\xf9\x00\x4b\x00\x4b\x00\x00\x00\x00\x00\x6c\x01\x6c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x4b\x00\x4b\x00\x64\x01\x4b\x00\x6f\x01\x77\x01\xfd\xff\x4b\x00\x00\x00\xf9\xff\x4b\x00\x73\x01\x74\x01\x00\x00\x4b\x00\x5e\x01\x00\x00\x20\x01\x00\x00\x00\x00\x69\x01\x4b\x00\x6a\x00\x4b\x00\x92\x01\x00\x00\x4b\x00\x4b\x00\x57\x01\x58\x01\x5d\x01\x07\x07\x62\x01\x4b\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9e\x01\x8e\x01\x4b\x00\x8f\x01\x4b\x00\x90\x01\x4b\x00\x00\x00\x00\x00\x00\x00\x8c\x01\xb8\x01\xc9\x01\x00\x00\xf9\x00\xcb\x01\x4b\x00\x4b\x00\x3d\x00\x4b\x00\x9f\x01\x4b\x00\x00\x00\x4b\x00\x00\x00\x4b\x00\xbb\x01\xce\x01\xec\x01\x00\x00\x00\x00\x00\x00\xef\x01\xed\x01\xee\x01\x00\x00\xf2\x01\x4b\x00\x00\x00\xf3\x01\xf4\x01\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\xfc\x01\x4b\x00\x07\x02\x4b\x00\x00\x00\x4b\x00\xc5\x01\x00\x00\x00\x00\x0b\x02\x4b\x00\x0c\x02\x4b\x00\xeb\x01\x17\x02\x1a\x02\xff\x01\x02\x02\x4b\x00\x4b\x00\x35\x02\x4b\x00\x39\x02\x3a\x02\x4b\x00\x00\x00\x4b\x00\x4b\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x02\x4b\x00\x4b\x00\x00\x00\x3d\x02\x43\x02\x00\x00\x00\x00\x4b\x00\x4f\x02\x4b\x00\x53\x02\x00\x00\x00\x00"#++happyGotoOffsets :: HappyAddr+happyGotoOffsets = HappyA# "\x95\x00\xa7\x00\x02\x00\x67\x00\x68\x02\x6b\x02\x6e\x02\x5d\x00\x69\x02\x54\x00\x88\x01\x25\x02\xf3\x00\xc5\x00\x94\x06\x05\x02\xb9\x01\xed\x00\x9b\x06\x8d\x06\x6f\x06\x40\x06\xb0\x05\xd0\x06\x20\x02\x9d\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x01\x00\x00\x00\x00\x2b\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa8\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x01\xda\x06\x00\x00\x00\x00\x00\x00\x00\x00\x46\x02\xe1\x06\x00\x00\x97\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xef\x06\x51\x02\x00\x00\x00\x00\x00\x00\xef\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xef\x06\x00\x00\x00\x00\x41\x01\x00\x00\x4b\x02\x00\x00\x00\x00\x98\x02\x00\x00\x71\x02\x00\x00\xbd\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6c\x02\x77\x02\x92\x02\x9d\x02\x2a\x00\xde\x00\x1a\x01\x86\x00\x75\x02\x7a\x02\x24\x01\xbe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x81\x02\xdb\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x02\x8a\x02\x8f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x01\x3a\x01\x00\x00\x00\x00\x00\x00\x71\x02\x00\x00\x00\x00\x00\x00\xd4\x01\xb8\x02\xdf\x01\xd5\x06\x47\x06\xc3\x02\x00\x00\xbe\x02\xe3\x02\x00\x00\xe4\x02\x00\x00\x00\x00\xfa\x01\xde\x02\x00\x00\x00\x00\x09\x03\x00\x00\x00\x00\x00\x00\xab\x01\xba\x05\x4e\x06\x76\x06\xb2\x06\xb9\x06\xd4\x05\xde\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe9\x02\x04\x03\x0f\x03\x00\x00\xf8\x05\x00\x00\x00\x00\x00\x00\x2a\x03\x00\x00\x00\x00\x35\x03\x00\x00\x00\x00\x00\x00\x50\x03\x00\x00\x00\x00\xef\x06\x00\x00\x00\x00\x00\x00\x5b\x03\x0a\x03\x76\x03\x00\x00\x00\x00\x81\x03\x9c\x03\x98\x01\xf1\x06\xf7\x06\x10\x01\x9b\x02\xa7\x03\xc2\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcd\x03\x00\x00\xe8\x03\x00\x00\xf3\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x06\x00\x00\x0e\x04\x19\x04\x00\x00\x34\x04\x00\x00\x3f\x04\x00\x00\x5a\x04\x00\x00\x65\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x04\x00\x00\xa6\x04\x00\x00\xb1\x04\x00\x00\xcc\x04\xd6\x01\x00\x00\x00\x00\x00\x00\xd7\x04\x00\x00\xf2\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfd\x04\x18\x05\x00\x00\x02\x06\x00\x00\x00\x00\x23\x05\x00\x00\x1c\x06\x26\x06\x00\x00\x00\x00\x3e\x05\x00\x00\x49\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x05\x6f\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8a\x05\x00\x00\x95\x05\x00\x00\x00\x00\x00\x00"#++happyAdjustOffset :: Happy_GHC_Exts.Int# -> Happy_GHC_Exts.Int#+happyAdjustOffset off = off++happyDefActions :: HappyAddr+happyDefActions = HappyA# "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcb\xff\xc8\xff\xc7\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe5\xff\xe0\xff\xe1\xff\x9c\xff\x9b\xff\x00\x00\x83\xff\x95\xff\x93\xff\x91\xff\x8b\xff\x81\xff\x98\xff\x80\xff\x00\x00\x00\x00\xad\xff\xab\xff\xae\xff\xaa\xff\xac\xff\x00\x00\xa8\xff\xb0\xff\x00\x00\xa9\xff\xaf\xff\xb1\xff\xa4\xff\x00\x00\x00\x00\x00\x00\xa7\xff\x00\x00\xa0\xff\x00\x00\x00\x00\xa1\xff\x00\x00\x00\x00\x00\x00\xe4\xff\xe3\xff\x00\x00\x00\x00\x00\x00\x8b\xff\x00\x00\x00\x00\x98\xff\x00\x00\x00\x00\x00\x00\x00\x00\xb3\xff\x00\x00\x00\x00\x00\x00\x00\x00\xba\xff\xc3\xff\xbf\xff\xbc\xff\x00\x00\x00\x00\xc5\xff\xc4\xff\x00\x00\x00\x00\xc1\xff\x00\x00\x00\x00\x00\x00\xc6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc7\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdc\xff\x00\x00\x00\x00\xdf\xff\x00\x00\x00\x00\x00\x00\x00\x00\xcb\xff\xe2\xff\xde\xff\x00\x00\x00\x00\x00\x00\xda\xff\x00\x00\x00\x00\xc8\xff\xc8\xff\xc8\xff\xd7\xff\xd6\xff\xd8\xff\x00\x00\x00\x00\xcb\xff\x00\x00\x00\x00\xc0\xff\x00\x00\xc1\xff\x00\x00\xbb\xff\x86\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\xff\x00\x00\x00\x00\x00\x00\x85\xff\x00\x00\x00\x00\x00\x00\x9b\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8a\xff\x90\xff\x97\xff\x96\xff\x94\xff\x92\xff\x82\xff\x7f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x9a\xff\x00\x00\x00\x00\x8d\xff\x99\xff\xb2\xff\xb4\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xca\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcb\xff\x00\x00\x00\x00\x00\x00\xdd\xff\xd1\xff\xd2\xff\xdb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd9\xff\xd3\xff\xc9\xff\x00\x00\x00\x00\x00\x00\x87\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\xff\x00\x00\x8c\xff\x00\x00\x00\x00\x00\x00\x00\x00\xb9\xff\xb7\xff\xa3\xff\x00\x00\x00\x00\x00\x00\x9e\xff\x00\x00\x00\x00\xb8\xff\x00\x00\x00\x00\xa2\xff\x8e\xff\xbe\xff\xc2\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd4\xff\x00\x00\xc7\xff\xd0\xff\xd5\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb5\xff\x00\x00\x00\x00\xbd\xff\xcc\xff\x00\x00\xce\xff\x00\x00\xcf\xff\xcd\xff\x88\xff\x89\xff\x00\x00\x00\x00\x00\x00\x8f\xff\x00\x00\x00\x00\xb6\xff\xa5\xff\x00\x00\x00\x00\x00\x00\x00\x00\x9d\xff"#++happyCheck :: HappyAddr+happyCheck = HappyA# "\xff\xff\x10\x00\x15\x00\x01\x00\x13\x00\x1b\x00\x12\x00\x05\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x09\x00\x14\x00\x20\x00\x1e\x00\x22\x00\x14\x00\x44\x00\x12\x00\x1b\x00\x24\x00\x25\x00\x43\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x10\x00\x30\x00\x09\x00\x1f\x00\x14\x00\x21\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x3e\x00\x10\x00\x39\x00\x01\x00\x13\x00\x40\x00\x37\x00\x05\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x43\x00\x44\x00\x45\x00\x1e\x00\x10\x00\x45\x00\x3d\x00\x43\x00\x2f\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x11\x00\x2c\x00\x39\x00\x14\x00\x2f\x00\x3a\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x43\x00\x38\x00\x39\x00\x42\x00\x3b\x00\x01\x00\x16\x00\x2f\x00\x3f\x00\x05\x00\x41\x00\x10\x00\x43\x00\x44\x00\x13\x00\x2d\x00\x0c\x00\x39\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x09\x00\x0a\x00\x01\x00\x1e\x00\x10\x00\x43\x00\x05\x00\x06\x00\x45\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x20\x00\x2c\x00\x22\x00\x3c\x00\x10\x00\x3e\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x14\x00\x38\x00\x39\x00\x10\x00\x3b\x00\x01\x00\x10\x00\x2f\x00\x3f\x00\x05\x00\x41\x00\x10\x00\x43\x00\x44\x00\x13\x00\x10\x00\x0c\x00\x39\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x03\x00\x2f\x00\x01\x00\x1e\x00\x07\x00\x43\x00\x05\x00\x06\x00\x10\x00\x24\x00\x25\x00\x39\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x10\x00\x02\x00\x10\x00\x04\x00\x3d\x00\x43\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x10\x00\x38\x00\x39\x00\x13\x00\x3b\x00\x15\x00\x14\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x01\x00\x43\x00\x44\x00\x1e\x00\x05\x00\x06\x00\x45\x00\x01\x00\x2f\x00\x24\x00\x25\x00\x05\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x45\x00\x39\x00\x0d\x00\x3b\x00\x0f\x00\x10\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x43\x00\x01\x00\x39\x00\x10\x00\x01\x00\x05\x00\x06\x00\x10\x00\x05\x00\x40\x00\x13\x00\x45\x00\x43\x00\x44\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1d\x00\x01\x00\x02\x00\x1e\x00\x04\x00\x05\x00\x45\x00\x01\x00\x43\x00\x24\x00\x25\x00\x05\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x09\x00\x0a\x00\x42\x00\x0d\x00\x14\x00\x0f\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x10\x00\x38\x00\x39\x00\x13\x00\x3b\x00\x09\x00\x0a\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x43\x00\x43\x00\x44\x00\x1e\x00\x01\x00\x09\x00\x0a\x00\x01\x00\x05\x00\x24\x00\x25\x00\x05\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x0d\x00\x01\x00\x0f\x00\x10\x00\x45\x00\x05\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x10\x00\x38\x00\x39\x00\x13\x00\x37\x00\x43\x00\x45\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x01\x00\x43\x00\x44\x00\x1e\x00\x05\x00\x06\x00\x20\x00\x01\x00\x1d\x00\x24\x00\x25\x00\x05\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x1b\x00\x1b\x00\x0d\x00\x3a\x00\x0f\x00\x10\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x10\x00\x1d\x00\x39\x00\x13\x00\x1b\x00\x43\x00\x1b\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x14\x00\x43\x00\x44\x00\x1e\x00\x1b\x00\x10\x00\x10\x00\x15\x00\x1b\x00\x24\x00\x25\x00\x10\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x1b\x00\x1b\x00\x1b\x00\x15\x00\x1b\x00\x1b\x00\x1b\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x12\x00\x1b\x00\x39\x00\x01\x00\x02\x00\x14\x00\x04\x00\x05\x00\x2f\x00\x2f\x00\x11\x00\x01\x00\x43\x00\x44\x00\x2f\x00\x05\x00\x1b\x00\x1b\x00\x39\x00\x39\x00\x3b\x00\x3b\x00\x14\x00\x0d\x00\x39\x00\x2e\x00\x3b\x00\x01\x00\x43\x00\x43\x00\x3e\x00\x05\x00\x01\x00\x02\x00\x43\x00\x04\x00\x05\x00\x11\x00\x42\x00\x0d\x00\x08\x00\x0f\x00\x10\x00\x1b\x00\x1b\x00\x1b\x00\x01\x00\x02\x00\x11\x00\x04\x00\x05\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x01\x00\x02\x00\x11\x00\x04\x00\x05\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x3c\x00\x11\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x01\x00\x04\x00\x05\x00\x11\x00\x05\x00\x11\x00\x3e\x00\x23\x00\x11\x00\x01\x00\x02\x00\x0c\x00\x04\x00\x05\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x11\x00\x04\x00\x05\x00\x11\x00\x14\x00\x14\x00\x11\x00\x11\x00\x11\x00\x01\x00\x02\x00\x43\x00\x04\x00\x05\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\x12\x00\x1c\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x1c\x00\x04\x00\x05\x00\x01\x00\x1c\x00\x1c\x00\x3e\x00\x05\x00\x14\x00\x01\x00\x02\x00\x14\x00\x04\x00\x05\x00\x11\x00\x0d\x00\x0e\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\x3e\x00\x3c\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x14\x00\x04\x00\x05\x00\x01\x00\x14\x00\x14\x00\x3e\x00\x05\x00\x14\x00\x01\x00\x02\x00\x11\x00\x04\x00\x05\x00\x11\x00\x0d\x00\x0e\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\x14\x00\x11\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x07\x00\x04\x00\x05\x00\x01\x00\x08\x00\x0b\x00\x00\x00\x05\x00\x09\x00\x01\x00\x02\x00\x00\x00\x04\x00\x05\x00\x11\x00\x0d\x00\x0e\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\x08\x00\x0b\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\x0b\x00\x04\x00\x05\x00\x01\x00\x01\x00\x0b\x00\x00\x00\x05\x00\x05\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\x0d\x00\x0d\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x01\x00\x01\x00\xff\xff\xff\xff\x05\x00\x05\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\x0d\x00\x0d\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x01\x00\x01\x00\xff\xff\xff\xff\x05\x00\x05\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\x0d\x00\x0d\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x01\x00\x01\x00\xff\xff\xff\xff\x05\x00\x05\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\x0d\x00\x0d\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x11\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\x1a\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\x1a\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\x1a\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\xff\xff\x1a\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\xff\xff\x1a\x00\x14\x00\x15\x00\x16\x00\x17\x00\x01\x00\x02\x00\x1a\x00\x04\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x14\x00\x15\x00\x16\x00\xff\xff\x11\x00\xff\xff\x1a\x00\x14\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x1a\x00\x14\x00\x15\x00\xff\xff\xff\xff\x01\x00\x02\x00\x1a\x00\x04\x00\x05\x00\xff\xff\x11\x00\x01\x00\x02\x00\x14\x00\x04\x00\x05\x00\xff\xff\xff\xff\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\x14\x00\x15\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1a\x00\x14\x00\x15\x00\xff\xff\xff\xff\x01\x00\x02\x00\x1a\x00\x04\x00\x05\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\x01\x00\x02\x00\xff\xff\x04\x00\x05\x00\xff\xff\xff\xff\x01\x00\x02\x00\x14\x00\x04\x00\x05\x00\xff\xff\xff\xff\x14\x00\x1a\x00\xff\xff\xff\xff\xff\xff\x14\x00\x1a\x00\x01\x00\x02\x00\x01\x00\x04\x00\x05\x00\x14\x00\x05\x00\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\x0d\x00\xff\xff\x0f\x00\x10\x00\xff\xff\x14\x00\x0d\x00\xff\xff\x0f\x00\x10\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#++happyTable :: HappyAddr+happyTable = HappyA# "\x00\x00\x49\x00\xb7\x00\x1c\x00\x2c\x00\xc9\x00\x9f\x00\x7e\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x7c\x00\xd8\x00\xa0\x00\x31\x00\xa1\x00\xfe\x00\x46\x00\x9f\x00\xfc\x00\x32\x00\x33\x00\x45\x00\x35\x00\x36\x00\x37\x00\x38\x00\x9c\x00\x63\x00\xb2\x00\x7c\x00\xb5\x00\xd8\x00\xb6\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xca\x00\x2b\x00\x41\x00\x1c\x00\x2c\x00\xb8\x00\x7a\x00\x8c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x45\x00\x46\x00\xff\xff\x31\x00\x63\x00\xff\xff\x9d\x00\x45\x00\x5d\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\xcf\x00\x39\x00\x5e\x00\xd0\x00\xb0\x00\x68\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x45\x00\x40\x00\x41\x00\x1c\x00\x42\x00\x1c\x00\xb4\x00\x5d\x00\x43\x00\x64\x00\x44\x00\x2b\x00\x45\x00\x46\x00\x2c\x00\xb3\x00\x65\x00\x5e\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x68\x00\x69\x00\x1c\x00\x31\x00\xa6\x00\x45\x00\x7c\x00\x7d\x00\xff\xff\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\xa0\x00\x39\x00\xa1\x00\x0e\x01\x63\x00\x0f\x01\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xb1\x00\x40\x00\x41\x00\xad\x00\x42\x00\x1c\x00\xaa\x00\x5d\x00\x43\x00\x64\x00\x44\x00\x2b\x00\x45\x00\x46\x00\x2c\x00\xa9\x00\x89\x00\x5e\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x80\x00\x5d\x00\x1c\x00\x31\x00\x81\x00\x45\x00\x7c\x00\x91\x00\xa4\x00\x32\x00\x33\x00\x5e\x00\x35\x00\x36\x00\x37\x00\x38\x00\x5c\x00\x1d\x00\xa3\x00\x7f\x00\x9d\x00\x45\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x49\x00\x40\x00\x41\x00\x2c\x00\x42\x00\xba\xff\x9e\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x1c\x00\x45\x00\x46\x00\x31\x00\x7c\x00\x85\x00\xff\xff\x1c\x00\x5d\x00\x32\x00\x33\x00\x57\x00\x35\x00\x36\x00\x37\x00\x38\x00\x9c\x00\xff\xff\x5e\x00\x58\x00\x5f\x00\x59\x00\x5a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x45\x00\x1c\x00\x41\x00\x94\x00\x1c\x00\x7c\x00\x83\x00\x2b\x00\x8b\x00\xba\xff\x2c\x00\xff\xff\x45\x00\x46\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x93\x00\x1c\x00\x1d\x00\x31\x00\x1e\x00\x1f\x00\xff\xff\x1c\x00\x45\x00\x32\x00\x33\x00\x57\x00\x35\x00\x36\x00\x37\x00\x38\x00\x68\x00\x82\x00\x1c\x00\x58\x00\x50\x00\x5f\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x49\x00\x40\x00\x41\x00\x2c\x00\x42\x00\x68\x00\xda\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x45\x00\x45\x00\x46\x00\x31\x00\x1c\x00\x68\x00\xe8\x00\x1c\x00\x57\x00\x32\x00\x33\x00\x8a\x00\x35\x00\x36\x00\x37\x00\x38\x00\x58\x00\x1c\x00\x59\x00\xab\x00\xff\xff\x86\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x49\x00\x40\x00\x41\x00\x2c\x00\x7a\x00\x45\x00\xff\xff\x2d\x00\x2e\x00\x2f\x00\x30\x00\x1c\x00\x45\x00\x46\x00\x31\x00\x7c\x00\xd9\x00\xe2\x00\x1c\x00\xe5\x00\x32\x00\x33\x00\x57\x00\x35\x00\x36\x00\x37\x00\x38\x00\x9c\x00\xe4\x00\xe3\x00\x58\x00\x68\x00\x59\x00\x99\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x49\x00\xe1\x00\x41\x00\x2c\x00\xdd\x00\x45\x00\xdc\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xd8\x00\x45\x00\x46\x00\x31\x00\xd9\x00\x5c\x00\x5c\x00\xc5\x00\xd7\x00\x32\x00\x33\x00\x5c\x00\x35\x00\x36\x00\x37\x00\x38\x00\xef\x00\xed\x00\xcc\x00\xc3\x00\xc2\x00\xc1\x00\xeb\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x9f\x00\x02\x01\x41\x00\x1c\x00\x1d\x00\x00\x01\x1e\x00\x1f\x00\x5d\x00\x5d\x00\xff\x00\x1c\x00\x45\x00\x46\x00\x5d\x00\x57\x00\xfa\x00\xf9\x00\x5e\x00\x5e\x00\x5f\x00\x5f\x00\x9a\x00\x63\x00\x5e\x00\xf6\x00\x5f\x00\x1c\x00\x45\x00\x45\x00\xf7\x00\x57\x00\x1c\x00\x1d\x00\x45\x00\x1e\x00\x1f\x00\xf2\x00\x1c\x00\x58\x00\x1d\x01\x59\x00\xed\x00\x1c\x01\x1a\x01\x18\x01\x1c\x00\x1d\x00\x20\x00\x1e\x00\x1f\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x1c\x00\x1d\x00\x20\x00\x1e\x00\x1f\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\xbf\x00\x16\x01\x15\x01\x20\x00\x51\x00\x52\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x53\x00\x1c\x00\x1d\x00\x1c\x00\x1e\x00\x1f\x00\x14\x01\x64\x00\x12\x01\x0c\x01\x08\x01\x07\x01\x1c\x00\x1d\x00\x1d\x01\x1e\x00\x1f\x00\x20\x00\x51\x00\xd5\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x53\x00\x20\x00\x51\x00\xd3\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x53\x00\x1c\x00\x1d\x00\x06\x01\x1e\x00\x1f\x00\x2b\x01\x2a\x01\x29\x01\x28\x01\x26\x01\x25\x01\x1c\x00\x1d\x00\x45\x00\x1e\x00\x1f\x00\x20\x00\x51\x00\xc6\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xc7\x00\x20\x00\x54\x00\x23\x01\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x53\x00\x1c\x00\x1d\x00\x21\x01\x1e\x00\x1f\x00\x1c\x00\x37\x01\x35\x01\x33\x01\x57\x00\x32\x01\x1c\x00\x1d\x00\x31\x01\x1e\x00\xae\x00\x20\x00\x60\x00\x61\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x46\x00\x20\x00\x30\x01\x2f\x01\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xa1\x00\x1c\x00\x1d\x00\x2c\x01\x1e\x00\x1f\x00\x1c\x00\x3e\x01\x3d\x01\x42\x01\x57\x00\x44\x01\x1c\x00\x1d\x00\x43\x01\x1e\x00\x1f\x00\x20\x00\x97\x00\x98\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xa7\x00\x20\x00\x46\x01\x48\x01\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xa1\x00\x1c\x00\x1d\x00\x7a\x00\x1e\x00\x1f\x00\x1c\x00\x78\x00\x66\x00\x88\x00\x57\x00\x77\x00\x1c\x00\x1d\x00\x87\x00\x1e\x00\x1f\x00\x20\x00\x60\x00\x95\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x90\x00\x20\x00\x84\x00\xdf\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x8f\x00\x1c\x00\x1d\x00\xde\x00\x1e\x00\x1f\x00\x1c\x00\x1c\x00\xdd\x00\xe7\x00\x57\x00\x57\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\xa4\x00\x96\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x8e\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x8d\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x1c\x00\x1c\x00\x00\x00\x00\x00\x57\x00\x57\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x94\x00\xcd\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xd4\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xd0\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x1c\x00\x1c\x00\x00\x00\x00\x00\x57\x00\x57\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\xcc\x00\xca\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xc5\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x04\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x1c\x00\x1c\x00\x00\x00\x00\x00\x57\x00\x57\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\xc3\x00\xf3\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x03\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x02\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xfc\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xfa\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xf7\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xf4\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xf2\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xf0\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xef\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xe6\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\xe5\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x1a\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x18\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x16\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x10\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x0f\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x0c\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x0a\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x09\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x08\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x26\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x23\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x21\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x1f\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x1e\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x35\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x33\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x2d\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x2c\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x3b\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x38\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x37\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x40\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x3f\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x44\x01\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x46\x01\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x49\x00\x4a\x00\x27\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x49\x00\xbe\x00\x27\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x49\x00\xb9\x00\x27\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x49\x00\xb8\x00\x27\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x49\x00\x00\x01\x27\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x49\x00\x3e\x01\x27\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x49\x00\x3a\x01\x27\x00\x20\x00\x00\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x49\x00\x39\x01\x27\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x21\x00\x22\x00\x23\x00\x24\x00\x4b\x00\x00\x00\x4c\x00\x21\x00\x22\x00\x23\x00\x24\x00\xd1\x00\x00\x00\x4c\x00\x21\x00\x22\x00\x23\x00\x24\x00\xbd\x00\x00\x00\x4c\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x21\x00\x22\x00\x23\x00\x24\x00\x12\x01\x00\x00\x4c\x00\x21\x00\x22\x00\x23\x00\x4d\x00\x00\x00\x00\x00\x4c\x00\x21\x00\x22\x00\x23\x00\xbc\x00\x1c\x00\x1d\x00\x4c\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x21\x00\x22\x00\x4e\x00\x00\x00\x55\x00\x00\x00\x4c\x00\x21\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x56\x00\x21\x00\x4f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x4c\x00\x1e\x00\x1f\x00\x00\x00\xad\x00\x1c\x00\x1d\x00\x21\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x56\x00\x00\x00\x00\x00\x00\x00\x21\x00\xbb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x21\x00\xba\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x4c\x00\x1e\x00\x1f\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x1c\x00\x1d\x00\x00\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x21\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x21\x00\x47\x00\x00\x00\x00\x00\x00\x00\xaa\x00\xd2\x00\x1c\x00\x1d\x00\x1c\x00\x1e\x00\x1f\x00\xa6\x00\x57\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\xeb\x00\x00\x00\x9a\x00\x58\x00\x00\x00\x59\x00\xe9\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x00\x00\x00\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#++happyReduceArr = Happy_Data_Array.array (26, 128) [+ (26 , happyReduce_26),+ (27 , happyReduce_27),+ (28 , happyReduce_28),+ (29 , happyReduce_29),+ (30 , happyReduce_30),+ (31 , happyReduce_31),+ (32 , happyReduce_32),+ (33 , happyReduce_33),+ (34 , happyReduce_34),+ (35 , happyReduce_35),+ (36 , happyReduce_36),+ (37 , happyReduce_37),+ (38 , happyReduce_38),+ (39 , happyReduce_39),+ (40 , happyReduce_40),+ (41 , happyReduce_41),+ (42 , happyReduce_42),+ (43 , happyReduce_43),+ (44 , happyReduce_44),+ (45 , happyReduce_45),+ (46 , happyReduce_46),+ (47 , happyReduce_47),+ (48 , happyReduce_48),+ (49 , happyReduce_49),+ (50 , happyReduce_50),+ (51 , happyReduce_51),+ (52 , happyReduce_52),+ (53 , happyReduce_53),+ (54 , happyReduce_54),+ (55 , happyReduce_55),+ (56 , happyReduce_56),+ (57 , happyReduce_57),+ (58 , happyReduce_58),+ (59 , happyReduce_59),+ (60 , happyReduce_60),+ (61 , happyReduce_61),+ (62 , happyReduce_62),+ (63 , happyReduce_63),+ (64 , happyReduce_64),+ (65 , happyReduce_65),+ (66 , happyReduce_66),+ (67 , happyReduce_67),+ (68 , happyReduce_68),+ (69 , happyReduce_69),+ (70 , happyReduce_70),+ (71 , happyReduce_71),+ (72 , happyReduce_72),+ (73 , happyReduce_73),+ (74 , happyReduce_74),+ (75 , happyReduce_75),+ (76 , happyReduce_76),+ (77 , happyReduce_77),+ (78 , happyReduce_78),+ (79 , happyReduce_79),+ (80 , happyReduce_80),+ (81 , happyReduce_81),+ (82 , happyReduce_82),+ (83 , happyReduce_83),+ (84 , happyReduce_84),+ (85 , happyReduce_85),+ (86 , happyReduce_86),+ (87 , happyReduce_87),+ (88 , happyReduce_88),+ (89 , happyReduce_89),+ (90 , happyReduce_90),+ (91 , happyReduce_91),+ (92 , happyReduce_92),+ (93 , happyReduce_93),+ (94 , happyReduce_94),+ (95 , happyReduce_95),+ (96 , happyReduce_96),+ (97 , happyReduce_97),+ (98 , happyReduce_98),+ (99 , happyReduce_99),+ (100 , happyReduce_100),+ (101 , happyReduce_101),+ (102 , happyReduce_102),+ (103 , happyReduce_103),+ (104 , happyReduce_104),+ (105 , happyReduce_105),+ (106 , happyReduce_106),+ (107 , happyReduce_107),+ (108 , happyReduce_108),+ (109 , happyReduce_109),+ (110 , happyReduce_110),+ (111 , happyReduce_111),+ (112 , happyReduce_112),+ (113 , happyReduce_113),+ (114 , happyReduce_114),+ (115 , happyReduce_115),+ (116 , happyReduce_116),+ (117 , happyReduce_117),+ (118 , happyReduce_118),+ (119 , happyReduce_119),+ (120 , happyReduce_120),+ (121 , happyReduce_121),+ (122 , happyReduce_122),+ (123 , happyReduce_123),+ (124 , happyReduce_124),+ (125 , happyReduce_125),+ (126 , happyReduce_126),+ (127 , happyReduce_127),+ (128 , happyReduce_128)+ ]++happy_n_terms = 70 :: Prelude.Int+happy_n_nonterms = 29 :: Prelude.Int++happyReduce_26 = happySpecReduce_1 0# happyReduction_26+happyReduction_26 happy_x_1+ = case happyOutTok happy_x_1 of { happy_var_1 -> + happyIn29+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), ((\(PT _ (TL s)) -> s) happy_var_1))+ )}++happyReduce_27 = happySpecReduce_1 1# happyReduction_27+happyReduction_27 happy_x_1+ = case happyOutTok happy_x_1 of { happy_var_1 -> + happyIn30+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.VarIdentToken (tokenText happy_var_1))+ )}++happyReduce_28 = happySpecReduce_1 2# happyReduction_28+happyReduction_28 happy_x_1+ = case happyOutTok happy_x_1 of { happy_var_1 -> + happyIn31+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.HoleIdentToken (tokenText happy_var_1))+ )}++happyReduce_29 = happySpecReduce_2 3# happyReduction_29+happyReduction_29 happy_x_2+ happy_x_1+ = case happyOut36 happy_x_1 of { (HappyWrap36 happy_var_1) -> + case happyOut39 happy_x_2 of { (HappyWrap39 happy_var_2) -> + happyIn32+ ((fst happy_var_1, Language.Rzk.Syntax.Abs.Module (fst happy_var_1) (snd happy_var_1) (snd happy_var_2))+ )}}++happyReduce_30 = happySpecReduce_1 4# happyReduction_30+happyReduction_30 happy_x_1+ = case happyOut31 happy_x_1 of { (HappyWrap31 happy_var_1) -> + happyIn33+ ((fst happy_var_1, Language.Rzk.Syntax.Abs.HoleIdent (fst happy_var_1) (snd happy_var_1))+ )}++happyReduce_31 = happySpecReduce_1 5# happyReduction_31+happyReduction_31 happy_x_1+ = case happyOut30 happy_x_1 of { (HappyWrap30 happy_var_1) -> + happyIn34+ ((fst happy_var_1, Language.Rzk.Syntax.Abs.VarIdent (fst happy_var_1) (snd happy_var_1))+ )}++happyReduce_32 = happySpecReduce_1 6# happyReduction_32+happyReduction_32 happy_x_1+ = case happyOut34 happy_x_1 of { (HappyWrap34 happy_var_1) -> + happyIn35+ ((fst happy_var_1, (:[]) (snd happy_var_1))+ )}++happyReduce_33 = happySpecReduce_2 6# happyReduction_33+happyReduction_33 happy_x_2+ happy_x_1+ = case happyOut34 happy_x_1 of { (HappyWrap34 happy_var_1) -> + case happyOut35 happy_x_2 of { (HappyWrap35 happy_var_2) -> + happyIn35+ ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_2))+ )}}++happyReduce_34 = happySpecReduce_3 7# happyReduction_34+happyReduction_34 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut37 happy_x_2 of { (HappyWrap37 happy_var_2) -> + happyIn36+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.LanguageDecl (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))+ )}}++happyReduce_35 = happySpecReduce_1 8# happyReduction_35+happyReduction_35 happy_x_1+ = case happyOutTok happy_x_1 of { happy_var_1 -> + happyIn37+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Rzk1 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))+ )}++happyReduce_36 = happyReduce 4# 9# happyReduction_36+happyReduction_36 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut29 happy_x_2 of { (HappyWrap29 happy_var_2) -> + case happyOut29 happy_x_4 of { (HappyWrap29 happy_var_4) -> + happyIn38+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandSetOption (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))+ ) `HappyStk` happyRest}}}++happyReduce_37 = happySpecReduce_2 9# happyReduction_37+happyReduction_37 happy_x_2+ happy_x_1+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut29 happy_x_2 of { (HappyWrap29 happy_var_2) -> + happyIn38+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandUnsetOption (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))+ )}}++happyReduce_38 = happyReduce 4# 9# happyReduction_38+happyReduction_38 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut56 happy_x_2 of { (HappyWrap56 happy_var_2) -> + case happyOut56 happy_x_4 of { (HappyWrap56 happy_var_4) -> + happyIn38+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandCheck (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))+ ) `HappyStk` happyRest}}}++happyReduce_39 = happySpecReduce_2 9# happyReduction_39+happyReduction_39 happy_x_2+ happy_x_1+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut56 happy_x_2 of { (HappyWrap56 happy_var_2) -> + happyIn38+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandCompute (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))+ )}}++happyReduce_40 = happySpecReduce_2 9# happyReduction_40+happyReduction_40 happy_x_2+ happy_x_1+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut56 happy_x_2 of { (HappyWrap56 happy_var_2) -> + happyIn38+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandComputeWHNF (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))+ )}}++happyReduce_41 = happySpecReduce_2 9# happyReduction_41+happyReduction_41 happy_x_2+ happy_x_1+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut56 happy_x_2 of { (HappyWrap56 happy_var_2) -> + happyIn38+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandComputeNF (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))+ )}}++happyReduce_42 = happyReduce 6# 9# happyReduction_42+happyReduction_42 (happy_x_6 `HappyStk`+ happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut34 happy_x_2 of { (HappyWrap34 happy_var_2) -> + case happyOut40 happy_x_3 of { (HappyWrap40 happy_var_3) -> + case happyOut45 happy_x_4 of { (HappyWrap45 happy_var_4) -> + case happyOut56 happy_x_6 of { (HappyWrap56 happy_var_6) -> + happyIn38+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandPostulate (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_4) (snd happy_var_6))+ ) `HappyStk` happyRest}}}}}++happyReduce_43 = happyReduce 5# 9# happyReduction_43+happyReduction_43 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut34 happy_x_2 of { (HappyWrap34 happy_var_2) -> + case happyOut40 happy_x_3 of { (HappyWrap40 happy_var_3) -> + case happyOut56 happy_x_5 of { (HappyWrap56 happy_var_5) -> + happyIn38+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandPostulateNoParams (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_5))+ ) `HappyStk` happyRest}}}}++happyReduce_44 = happyReduce 4# 9# happyReduction_44+happyReduction_44 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut35 happy_x_2 of { (HappyWrap35 happy_var_2) -> + case happyOut56 happy_x_4 of { (HappyWrap56 happy_var_4) -> + happyIn38+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandAssume (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))+ ) `HappyStk` happyRest}}}++happyReduce_45 = happyReduce 4# 9# happyReduction_45+happyReduction_45 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut34 happy_x_2 of { (HappyWrap34 happy_var_2) -> + case happyOut56 happy_x_4 of { (HappyWrap56 happy_var_4) -> + happyIn38+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandVariable (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))+ ) `HappyStk` happyRest}}}++happyReduce_46 = happyReduce 4# 9# happyReduction_46+happyReduction_46 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut35 happy_x_2 of { (HappyWrap35 happy_var_2) -> + case happyOut56 happy_x_4 of { (HappyWrap56 happy_var_4) -> + happyIn38+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandVariables (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))+ ) `HappyStk` happyRest}}}++happyReduce_47 = happyReduce 6# 9# happyReduction_47+happyReduction_47 (happy_x_6 `HappyStk`+ happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut41 happy_x_2 of { (HappyWrap41 happy_var_2) -> + case happyOut39 happy_x_4 of { (HappyWrap39 happy_var_4) -> + case happyOut41 happy_x_6 of { (HappyWrap41 happy_var_6) -> + happyIn38+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandSection (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4) (snd happy_var_6))+ ) `HappyStk` happyRest}}}}++happyReduce_48 = happyReduce 8# 9# happyReduction_48+happyReduction_48 (happy_x_8 `HappyStk`+ happy_x_7 `HappyStk`+ happy_x_6 `HappyStk`+ happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut34 happy_x_2 of { (HappyWrap34 happy_var_2) -> + case happyOut40 happy_x_3 of { (HappyWrap40 happy_var_3) -> + case happyOut45 happy_x_4 of { (HappyWrap45 happy_var_4) -> + case happyOut56 happy_x_6 of { (HappyWrap56 happy_var_6) -> + case happyOut56 happy_x_8 of { (HappyWrap56 happy_var_8) -> + happyIn38+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CommandDefine (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_4) (snd happy_var_6) (snd happy_var_8))+ ) `HappyStk` happyRest}}}}}}++happyReduce_49 = happyReduce 7# 9# happyReduction_49+happyReduction_49 (happy_x_7 `HappyStk`+ happy_x_6 `HappyStk`+ happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut34 happy_x_2 of { (HappyWrap34 happy_var_2) -> + case happyOut40 happy_x_3 of { (HappyWrap40 happy_var_3) -> + case happyOut56 happy_x_5 of { (HappyWrap56 happy_var_5) -> + case happyOut56 happy_x_7 of { (HappyWrap56 happy_var_7) -> + happyIn38+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandDefineNoParams (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_5) (snd happy_var_7))+ ) `HappyStk` happyRest}}}}}++happyReduce_50 = happyReduce 8# 9# happyReduction_50+happyReduction_50 (happy_x_8 `HappyStk`+ happy_x_7 `HappyStk`+ happy_x_6 `HappyStk`+ happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut34 happy_x_2 of { (HappyWrap34 happy_var_2) -> + case happyOut40 happy_x_3 of { (HappyWrap40 happy_var_3) -> + case happyOut45 happy_x_4 of { (HappyWrap45 happy_var_4) -> + case happyOut56 happy_x_6 of { (HappyWrap56 happy_var_6) -> + case happyOut56 happy_x_8 of { (HappyWrap56 happy_var_8) -> + happyIn38+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandDef (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_4) (snd happy_var_6) (snd happy_var_8))+ ) `HappyStk` happyRest}}}}}}++happyReduce_51 = happyReduce 7# 9# happyReduction_51+happyReduction_51 (happy_x_7 `HappyStk`+ happy_x_6 `HappyStk`+ happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut34 happy_x_2 of { (HappyWrap34 happy_var_2) -> + case happyOut40 happy_x_3 of { (HappyWrap40 happy_var_3) -> + case happyOut56 happy_x_5 of { (HappyWrap56 happy_var_5) -> + case happyOut56 happy_x_7 of { (HappyWrap56 happy_var_7) -> + happyIn38+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.commandDefNoParams (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_3) (snd happy_var_5) (snd happy_var_7))+ ) `HappyStk` happyRest}}}}}++happyReduce_52 = happySpecReduce_0 10# happyReduction_52+happyReduction_52 = happyIn39+ ((Language.Rzk.Syntax.Abs.BNFC'NoPosition, [])+ )++happyReduce_53 = happySpecReduce_3 10# happyReduction_53+happyReduction_53 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut38 happy_x_1 of { (HappyWrap38 happy_var_1) -> + case happyOut39 happy_x_3 of { (HappyWrap39 happy_var_3) -> + happyIn39+ ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_3))+ )}}++happyReduce_54 = happyReduce 4# 11# happyReduction_54+happyReduction_54 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut35 happy_x_3 of { (HappyWrap35 happy_var_3) -> + happyIn40+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.DeclUsedVars (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3))+ ) `HappyStk` happyRest}}++happyReduce_55 = happySpecReduce_0 11# happyReduction_55+happyReduction_55 = happyIn40+ ((Language.Rzk.Syntax.Abs.BNFC'NoPosition, Language.Rzk.Syntax.Abs.noDeclUsedVars Language.Rzk.Syntax.Abs.BNFC'NoPosition)+ )++happyReduce_56 = happySpecReduce_0 12# happyReduction_56+happyReduction_56 = happyIn41+ ((Language.Rzk.Syntax.Abs.BNFC'NoPosition, Language.Rzk.Syntax.Abs.NoSectionName Language.Rzk.Syntax.Abs.BNFC'NoPosition)+ )++happyReduce_57 = happySpecReduce_1 12# happyReduction_57+happyReduction_57 happy_x_1+ = case happyOut34 happy_x_1 of { (HappyWrap34 happy_var_1) -> + happyIn41+ ((fst happy_var_1, Language.Rzk.Syntax.Abs.SomeSectionName (fst happy_var_1) (snd happy_var_1))+ )}++happyReduce_58 = happySpecReduce_1 13# happyReduction_58+happyReduction_58 happy_x_1+ = case happyOutTok happy_x_1 of { happy_var_1 -> + happyIn42+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.PatternWildcard (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))+ )}++happyReduce_59 = happySpecReduce_1 13# happyReduction_59+happyReduction_59 happy_x_1+ = case happyOutTok happy_x_1 of { happy_var_1 -> + happyIn42+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.PatternUnit (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))+ )}++happyReduce_60 = happySpecReduce_1 13# happyReduction_60+happyReduction_60 happy_x_1+ = case happyOut34 happy_x_1 of { (HappyWrap34 happy_var_1) -> + happyIn42+ ((fst happy_var_1, Language.Rzk.Syntax.Abs.PatternVar (fst happy_var_1) (snd happy_var_1))+ )}++happyReduce_61 = happyReduce 5# 13# happyReduction_61+happyReduction_61 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut42 happy_x_2 of { (HappyWrap42 happy_var_2) -> + case happyOut42 happy_x_4 of { (HappyWrap42 happy_var_4) -> + happyIn42+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.PatternPair (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))+ ) `HappyStk` happyRest}}}++happyReduce_62 = happySpecReduce_1 14# happyReduction_62+happyReduction_62 happy_x_1+ = case happyOut42 happy_x_1 of { (HappyWrap42 happy_var_1) -> + happyIn43+ ((fst happy_var_1, (:[]) (snd happy_var_1))+ )}++happyReduce_63 = happySpecReduce_2 14# happyReduction_63+happyReduction_63 happy_x_2+ happy_x_1+ = case happyOut42 happy_x_1 of { (HappyWrap42 happy_var_1) -> + case happyOut43 happy_x_2 of { (HappyWrap43 happy_var_2) -> + happyIn43+ ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_2))+ )}}++happyReduce_64 = happySpecReduce_1 15# happyReduction_64+happyReduction_64 happy_x_1+ = case happyOut42 happy_x_1 of { (HappyWrap42 happy_var_1) -> + happyIn44+ ((fst happy_var_1, Language.Rzk.Syntax.Abs.ParamPattern (fst happy_var_1) (snd happy_var_1))+ )}++happyReduce_65 = happyReduce 5# 15# happyReduction_65+happyReduction_65 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut43 happy_x_2 of { (HappyWrap43 happy_var_2) -> + case happyOut56 happy_x_4 of { (HappyWrap56 happy_var_4) -> + happyIn44+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamPatternType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))+ ) `HappyStk` happyRest}}}++happyReduce_66 = happyReduce 7# 15# happyReduction_66+happyReduction_66 (happy_x_7 `HappyStk`+ happy_x_6 `HappyStk`+ happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut42 happy_x_2 of { (HappyWrap42 happy_var_2) -> + case happyOut56 happy_x_4 of { (HappyWrap56 happy_var_4) -> + case happyOut56 happy_x_6 of { (HappyWrap56 happy_var_6) -> + happyIn44+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamPatternShape (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4) (snd happy_var_6))+ ) `HappyStk` happyRest}}}}++happyReduce_67 = happySpecReduce_1 16# happyReduction_67+happyReduction_67 happy_x_1+ = case happyOut44 happy_x_1 of { (HappyWrap44 happy_var_1) -> + happyIn45+ ((fst happy_var_1, (:[]) (snd happy_var_1))+ )}++happyReduce_68 = happySpecReduce_2 16# happyReduction_68+happyReduction_68 happy_x_2+ happy_x_1+ = case happyOut44 happy_x_1 of { (HappyWrap44 happy_var_1) -> + case happyOut45 happy_x_2 of { (HappyWrap45 happy_var_2) -> + happyIn45+ ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_2))+ )}}++happyReduce_69 = happySpecReduce_1 17# happyReduction_69+happyReduction_69 happy_x_1+ = case happyOut55 happy_x_1 of { (HappyWrap55 happy_var_1) -> + happyIn46+ ((fst happy_var_1, Language.Rzk.Syntax.Abs.ParamType (fst happy_var_1) (snd happy_var_1))+ )}++happyReduce_70 = happyReduce 5# 17# happyReduction_70+happyReduction_70 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut56 happy_x_4 of { (HappyWrap56 happy_var_4) -> + happyIn46+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamWildcardType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_4))+ ) `HappyStk` happyRest}}++happyReduce_71 = happyReduce 5# 17# happyReduction_71+happyReduction_71 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut42 happy_x_2 of { (HappyWrap42 happy_var_2) -> + case happyOut56 happy_x_4 of { (HappyWrap56 happy_var_4) -> + happyIn46+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamVarType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))+ ) `HappyStk` happyRest}}}++happyReduce_72 = happyReduce 5# 17# happyReduction_72+happyReduction_72 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut34 happy_x_2 of { (HappyWrap34 happy_var_2) -> + case happyOut56 happy_x_4 of { (HappyWrap56 happy_var_4) -> + happyIn46+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.paramVarType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))+ ) `HappyStk` happyRest}}}++happyReduce_73 = happyReduce 9# 17# happyReduction_73+happyReduction_73 (happy_x_9 `HappyStk`+ happy_x_8 `HappyStk`+ happy_x_7 `HappyStk`+ happy_x_6 `HappyStk`+ happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut42 happy_x_3 of { (HappyWrap42 happy_var_3) -> + case happyOut56 happy_x_5 of { (HappyWrap56 happy_var_5) -> + case happyOut56 happy_x_8 of { (HappyWrap56 happy_var_8) -> + happyIn46+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ParamVarShape (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_8))+ ) `HappyStk` happyRest}}}}++happyReduce_74 = happyReduce 7# 17# happyReduction_74+happyReduction_74 (happy_x_7 `HappyStk`+ happy_x_6 `HappyStk`+ happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut42 happy_x_2 of { (HappyWrap42 happy_var_2) -> + case happyOut56 happy_x_4 of { (HappyWrap56 happy_var_4) -> + case happyOut56 happy_x_6 of { (HappyWrap56 happy_var_6) -> + happyIn46+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.paramVarShape (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4) (snd happy_var_6))+ ) `HappyStk` happyRest}}}}++happyReduce_75 = happySpecReduce_3 18# happyReduction_75+happyReduction_75 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut56 happy_x_1 of { (HappyWrap56 happy_var_1) -> + case happyOut56 happy_x_3 of { (HappyWrap56 happy_var_3) -> + happyIn47+ ((fst happy_var_1, Language.Rzk.Syntax.Abs.Restriction (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))+ )}}++happyReduce_76 = happySpecReduce_1 19# happyReduction_76+happyReduction_76 happy_x_1+ = case happyOut47 happy_x_1 of { (HappyWrap47 happy_var_1) -> + happyIn48+ ((fst happy_var_1, (:[]) (snd happy_var_1))+ )}++happyReduce_77 = happySpecReduce_3 19# happyReduction_77+happyReduction_77 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut47 happy_x_1 of { (HappyWrap47 happy_var_1) -> + case happyOut48 happy_x_3 of { (HappyWrap48 happy_var_3) -> + happyIn48+ ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_3))+ )}}++happyReduce_78 = happySpecReduce_1 20# happyReduction_78+happyReduction_78 happy_x_1+ = case happyOutTok happy_x_1 of { happy_var_1 -> + happyIn49+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Universe (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))+ )}++happyReduce_79 = happySpecReduce_1 20# happyReduction_79+happyReduction_79 happy_x_1+ = case happyOutTok happy_x_1 of { happy_var_1 -> + happyIn49+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.UniverseCube (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))+ )}++happyReduce_80 = happySpecReduce_1 20# happyReduction_80+happyReduction_80 happy_x_1+ = case happyOutTok happy_x_1 of { happy_var_1 -> + happyIn49+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.UniverseTope (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))+ )}++happyReduce_81 = happySpecReduce_1 20# happyReduction_81+happyReduction_81 happy_x_1+ = case happyOutTok happy_x_1 of { happy_var_1 -> + happyIn49+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CubeUnit (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))+ )}++happyReduce_82 = happySpecReduce_1 20# happyReduction_82+happyReduction_82 happy_x_1+ = case happyOutTok happy_x_1 of { happy_var_1 -> + happyIn49+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.CubeUnitStar (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))+ )}++happyReduce_83 = happySpecReduce_1 20# happyReduction_83+happyReduction_83 happy_x_1+ = case happyOutTok happy_x_1 of { happy_var_1 -> + happyIn49+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Cube2 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))+ )}++happyReduce_84 = happySpecReduce_1 20# happyReduction_84+happyReduction_84 happy_x_1+ = case happyOutTok happy_x_1 of { happy_var_1 -> + happyIn49+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Cube2_0 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))+ )}++happyReduce_85 = happySpecReduce_1 20# happyReduction_85+happyReduction_85 happy_x_1+ = case happyOutTok happy_x_1 of { happy_var_1 -> + happyIn49+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Cube2_1 (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))+ )}++happyReduce_86 = happySpecReduce_1 20# happyReduction_86+happyReduction_86 happy_x_1+ = case happyOutTok happy_x_1 of { happy_var_1 -> + happyIn49+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TopeTop (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))+ )}++happyReduce_87 = happySpecReduce_1 20# happyReduction_87+happyReduction_87 happy_x_1+ = case happyOutTok happy_x_1 of { happy_var_1 -> + happyIn49+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TopeBottom (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))+ )}++happyReduce_88 = happySpecReduce_1 20# happyReduction_88+happyReduction_88 happy_x_1+ = case happyOutTok happy_x_1 of { happy_var_1 -> + happyIn49+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.RecBottom (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))+ )}++happyReduce_89 = happyReduce 4# 20# happyReduction_89+happyReduction_89 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut48 happy_x_3 of { (HappyWrap48 happy_var_3) -> + happyIn49+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.RecOr (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3))+ ) `HappyStk` happyRest}}++happyReduce_90 = happyReduce 10# 20# happyReduction_90+happyReduction_90 (happy_x_10 `HappyStk`+ happy_x_9 `HappyStk`+ happy_x_8 `HappyStk`+ happy_x_7 `HappyStk`+ happy_x_6 `HappyStk`+ happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut56 happy_x_3 of { (HappyWrap56 happy_var_3) -> + case happyOut56 happy_x_5 of { (HappyWrap56 happy_var_5) -> + case happyOut56 happy_x_7 of { (HappyWrap56 happy_var_7) -> + case happyOut56 happy_x_9 of { (HappyWrap56 happy_var_9) -> + happyIn49+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.recOr (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_7) (snd happy_var_9))+ ) `HappyStk` happyRest}}}}}++happyReduce_91 = happySpecReduce_1 20# happyReduction_91+happyReduction_91 happy_x_1+ = case happyOutTok happy_x_1 of { happy_var_1 -> + happyIn49+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TypeUnit (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))+ )}++happyReduce_92 = happyReduce 5# 20# happyReduction_92+happyReduction_92 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut46 happy_x_2 of { (HappyWrap46 happy_var_2) -> + case happyOut56 happy_x_4 of { (HappyWrap56 happy_var_4) -> + happyIn49+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.typeExtension (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))+ ) `HappyStk` happyRest}}}++happyReduce_93 = happyReduce 5# 20# happyReduction_93+happyReduction_93 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut56 happy_x_2 of { (HappyWrap56 happy_var_2) -> + case happyOut56 happy_x_4 of { (HappyWrap56 happy_var_4) -> + happyIn49+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Pair (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))+ ) `HappyStk` happyRest}}}++happyReduce_94 = happySpecReduce_1 20# happyReduction_94+happyReduction_94 happy_x_1+ = case happyOutTok happy_x_1 of { happy_var_1 -> + happyIn49+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Unit (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))+ )}++happyReduce_95 = happySpecReduce_1 20# happyReduction_95+happyReduction_95 happy_x_1+ = case happyOutTok happy_x_1 of { happy_var_1 -> + happyIn49+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Refl (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)))+ )}++happyReduce_96 = happySpecReduce_3 20# happyReduction_96+happyReduction_96 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut56 happy_x_2 of { (HappyWrap56 happy_var_2) -> + happyIn49+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ReflTerm (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))+ )}}++happyReduce_97 = happyReduce 5# 20# happyReduction_97+happyReduction_97 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut56 happy_x_2 of { (HappyWrap56 happy_var_2) -> + case happyOut56 happy_x_4 of { (HappyWrap56 happy_var_4) -> + happyIn49+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.ReflTermType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))+ ) `HappyStk` happyRest}}}++happyReduce_98 = happyReduce 14# 20# happyReduction_98+happyReduction_98 (happy_x_14 `HappyStk`+ happy_x_13 `HappyStk`+ happy_x_12 `HappyStk`+ happy_x_11 `HappyStk`+ happy_x_10 `HappyStk`+ happy_x_9 `HappyStk`+ happy_x_8 `HappyStk`+ happy_x_7 `HappyStk`+ happy_x_6 `HappyStk`+ happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut56 happy_x_3 of { (HappyWrap56 happy_var_3) -> + case happyOut56 happy_x_5 of { (HappyWrap56 happy_var_5) -> + case happyOut56 happy_x_7 of { (HappyWrap56 happy_var_7) -> + case happyOut56 happy_x_9 of { (HappyWrap56 happy_var_9) -> + case happyOut56 happy_x_11 of { (HappyWrap56 happy_var_11) -> + case happyOut56 happy_x_13 of { (HappyWrap56 happy_var_13) -> + happyIn49+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.IdJ (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_7) (snd happy_var_9) (snd happy_var_11) (snd happy_var_13))+ ) `HappyStk` happyRest}}}}}}}++happyReduce_99 = happySpecReduce_1 20# happyReduction_99+happyReduction_99 happy_x_1+ = case happyOut33 happy_x_1 of { (HappyWrap33 happy_var_1) -> + happyIn49+ ((fst happy_var_1, Language.Rzk.Syntax.Abs.Hole (fst happy_var_1) (snd happy_var_1))+ )}++happyReduce_100 = happySpecReduce_1 20# happyReduction_100+happyReduction_100 happy_x_1+ = case happyOut34 happy_x_1 of { (HappyWrap34 happy_var_1) -> + happyIn49+ ((fst happy_var_1, Language.Rzk.Syntax.Abs.Var (fst happy_var_1) (snd happy_var_1))+ )}++happyReduce_101 = happySpecReduce_3 20# happyReduction_101+happyReduction_101 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut56 happy_x_2 of { (HappyWrap56 happy_var_2) -> + happyIn49+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), (snd happy_var_2))+ )}}++happyReduce_102 = happySpecReduce_3 21# happyReduction_102+happyReduction_102 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut50 happy_x_1 of { (HappyWrap50 happy_var_1) -> + case happyOut55 happy_x_3 of { (HappyWrap55 happy_var_3) -> + happyIn50+ ((fst happy_var_1, Language.Rzk.Syntax.Abs.CubeProduct (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))+ )}}++happyReduce_103 = happySpecReduce_1 21# happyReduction_103+happyReduction_103 happy_x_1+ = case happyOut55 happy_x_1 of { (HappyWrap55 happy_var_1) -> + happyIn50+ ((fst happy_var_1, (snd happy_var_1))+ )}++happyReduce_104 = happySpecReduce_3 22# happyReduction_104+happyReduction_104 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut50 happy_x_1 of { (HappyWrap50 happy_var_1) -> + case happyOut50 happy_x_3 of { (HappyWrap50 happy_var_3) -> + happyIn51+ ((fst happy_var_1, Language.Rzk.Syntax.Abs.TopeEQ (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))+ )}}++happyReduce_105 = happySpecReduce_3 22# happyReduction_105+happyReduction_105 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut50 happy_x_1 of { (HappyWrap50 happy_var_1) -> + case happyOut50 happy_x_3 of { (HappyWrap50 happy_var_3) -> + happyIn51+ ((fst happy_var_1, Language.Rzk.Syntax.Abs.TopeLEQ (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))+ )}}++happyReduce_106 = happySpecReduce_1 22# happyReduction_106+happyReduction_106 happy_x_1+ = case happyOut50 happy_x_1 of { (HappyWrap50 happy_var_1) -> + happyIn51+ ((fst happy_var_1, (snd happy_var_1))+ )}++happyReduce_107 = happySpecReduce_3 23# happyReduction_107+happyReduction_107 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut51 happy_x_1 of { (HappyWrap51 happy_var_1) -> + case happyOut52 happy_x_3 of { (HappyWrap52 happy_var_3) -> + happyIn52+ ((fst happy_var_1, Language.Rzk.Syntax.Abs.TopeAnd (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))+ )}}++happyReduce_108 = happySpecReduce_1 23# happyReduction_108+happyReduction_108 happy_x_1+ = case happyOut51 happy_x_1 of { (HappyWrap51 happy_var_1) -> + happyIn52+ ((fst happy_var_1, (snd happy_var_1))+ )}++happyReduce_109 = happySpecReduce_3 24# happyReduction_109+happyReduction_109 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut52 happy_x_1 of { (HappyWrap52 happy_var_1) -> + case happyOut53 happy_x_3 of { (HappyWrap53 happy_var_3) -> + happyIn53+ ((fst happy_var_1, Language.Rzk.Syntax.Abs.TopeOr (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))+ )}}++happyReduce_110 = happySpecReduce_1 24# happyReduction_110+happyReduction_110 happy_x_1+ = case happyOut52 happy_x_1 of { (HappyWrap52 happy_var_1) -> + happyIn53+ ((fst happy_var_1, (snd happy_var_1))+ )}++happyReduce_111 = happySpecReduce_3 25# happyReduction_111+happyReduction_111 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut46 happy_x_1 of { (HappyWrap46 happy_var_1) -> + case happyOut54 happy_x_3 of { (HappyWrap54 happy_var_3) -> + happyIn54+ ((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeFun (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))+ )}}++happyReduce_112 = happyReduce 8# 25# happyReduction_112+happyReduction_112 (happy_x_8 `HappyStk`+ happy_x_7 `HappyStk`+ happy_x_6 `HappyStk`+ happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut42 happy_x_3 of { (HappyWrap42 happy_var_3) -> + case happyOut56 happy_x_5 of { (HappyWrap56 happy_var_5) -> + case happyOut54 happy_x_8 of { (HappyWrap54 happy_var_8) -> + happyIn54+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.TypeSigma (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_8))+ ) `HappyStk` happyRest}}}}++happyReduce_113 = happyReduce 5# 25# happyReduction_113+happyReduction_113 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut53 happy_x_1 of { (HappyWrap53 happy_var_1) -> + case happyOut56 happy_x_3 of { (HappyWrap56 happy_var_3) -> + case happyOut53 happy_x_5 of { (HappyWrap53 happy_var_5) -> + happyIn54+ ((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeId (fst happy_var_1) (snd happy_var_1) (snd happy_var_3) (snd happy_var_5))+ ) `HappyStk` happyRest}}}++happyReduce_114 = happySpecReduce_3 25# happyReduction_114+happyReduction_114 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut53 happy_x_1 of { (HappyWrap53 happy_var_1) -> + case happyOut53 happy_x_3 of { (HappyWrap53 happy_var_3) -> + happyIn54+ ((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeIdSimple (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))+ )}}++happyReduce_115 = happyReduce 4# 25# happyReduction_115+happyReduction_115 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut45 happy_x_2 of { (HappyWrap45 happy_var_2) -> + case happyOut54 happy_x_4 of { (HappyWrap54 happy_var_4) -> + happyIn54+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Lambda (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2) (snd happy_var_4))+ ) `HappyStk` happyRest}}}++happyReduce_116 = happySpecReduce_1 25# happyReduction_116+happyReduction_116 happy_x_1+ = case happyOut53 happy_x_1 of { (HappyWrap53 happy_var_1) -> + happyIn54+ ((fst happy_var_1, (snd happy_var_1))+ )}++happyReduce_117 = happySpecReduce_3 25# happyReduction_117+happyReduction_117 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut46 happy_x_1 of { (HappyWrap46 happy_var_1) -> + case happyOut54 happy_x_3 of { (HappyWrap54 happy_var_3) -> + happyIn54+ ((fst happy_var_1, Language.Rzk.Syntax.Abs.unicode_TypeFun (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))+ )}}++happyReduce_118 = happyReduce 8# 25# happyReduction_118+happyReduction_118 (happy_x_8 `HappyStk`+ happy_x_7 `HappyStk`+ happy_x_6 `HappyStk`+ happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut42 happy_x_3 of { (HappyWrap42 happy_var_3) -> + case happyOut56 happy_x_5 of { (HappyWrap56 happy_var_5) -> + case happyOut54 happy_x_8 of { (HappyWrap54 happy_var_8) -> + happyIn54+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.unicode_TypeSigma (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_8))+ ) `HappyStk` happyRest}}}}++happyReduce_119 = happyReduce 8# 25# happyReduction_119+happyReduction_119 (happy_x_8 `HappyStk`+ happy_x_7 `HappyStk`+ happy_x_6 `HappyStk`+ happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut42 happy_x_3 of { (HappyWrap42 happy_var_3) -> + case happyOut56 happy_x_5 of { (HappyWrap56 happy_var_5) -> + case happyOut54 happy_x_8 of { (HappyWrap54 happy_var_8) -> + happyIn54+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.unicode_TypeSigmaAlt (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_3) (snd happy_var_5) (snd happy_var_8))+ ) `HappyStk` happyRest}}}}++happyReduce_120 = happyReduce 4# 26# happyReduction_120+happyReduction_120 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut55 happy_x_1 of { (HappyWrap55 happy_var_1) -> + case happyOut48 happy_x_3 of { (HappyWrap48 happy_var_3) -> + happyIn55+ ((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeRestricted (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))+ ) `HappyStk` happyRest}}++happyReduce_121 = happySpecReduce_2 26# happyReduction_121+happyReduction_121 happy_x_2+ happy_x_1+ = case happyOut55 happy_x_1 of { (HappyWrap55 happy_var_1) -> + case happyOut49 happy_x_2 of { (HappyWrap49 happy_var_2) -> + happyIn55+ ((fst happy_var_1, Language.Rzk.Syntax.Abs.App (fst happy_var_1) (snd happy_var_1) (snd happy_var_2))+ )}}++happyReduce_122 = happySpecReduce_2 26# happyReduction_122+happyReduction_122 happy_x_2+ happy_x_1+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut49 happy_x_2 of { (HappyWrap49 happy_var_2) -> + happyIn55+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.First (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))+ )}}++happyReduce_123 = happySpecReduce_2 26# happyReduction_123+happyReduction_123 happy_x_2+ happy_x_1+ = case happyOutTok happy_x_1 of { happy_var_1 -> + case happyOut49 happy_x_2 of { (HappyWrap49 happy_var_2) -> + happyIn55+ ((uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1), Language.Rzk.Syntax.Abs.Second (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol happy_var_1)) (snd happy_var_2))+ )}}++happyReduce_124 = happySpecReduce_1 26# happyReduction_124+happyReduction_124 happy_x_1+ = case happyOut49 happy_x_1 of { (HappyWrap49 happy_var_1) -> + happyIn55+ ((fst happy_var_1, (snd happy_var_1))+ )}++happyReduce_125 = happySpecReduce_3 27# happyReduction_125+happyReduction_125 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut53 happy_x_1 of { (HappyWrap53 happy_var_1) -> + case happyOut54 happy_x_3 of { (HappyWrap54 happy_var_3) -> + happyIn56+ ((fst happy_var_1, Language.Rzk.Syntax.Abs.TypeAsc (fst happy_var_1) (snd happy_var_1) (snd happy_var_3))+ )}}++happyReduce_126 = happySpecReduce_1 27# happyReduction_126+happyReduction_126 happy_x_1+ = case happyOut54 happy_x_1 of { (HappyWrap54 happy_var_1) -> + happyIn56+ ((fst happy_var_1, (snd happy_var_1))+ )}++happyReduce_127 = happySpecReduce_1 28# happyReduction_127+happyReduction_127 happy_x_1+ = case happyOut56 happy_x_1 of { (HappyWrap56 happy_var_1) -> + happyIn57+ ((fst happy_var_1, (:[]) (snd happy_var_1))+ )}++happyReduce_128 = happySpecReduce_3 28# happyReduction_128+happyReduction_128 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut56 happy_x_1 of { (HappyWrap56 happy_var_1) -> + case happyOut57 happy_x_3 of { (HappyWrap57 happy_var_3) -> + happyIn57+ ((fst happy_var_1, (:) (snd happy_var_1) (snd happy_var_3))+ )}}++happyNewToken action sts stk [] =+ happyDoAction 69# notHappyAtAll action sts stk []++happyNewToken action sts stk (tk:tks) =+ let cont i = happyDoAction i tk action sts stk tks in+ case tk of {+ PT _ (TS _ 1) -> cont 1#;+ PT _ (TS _ 2) -> cont 2#;+ PT _ (TS _ 3) -> cont 3#;+ PT _ (TS _ 4) -> cont 4#;+ PT _ (TS _ 5) -> cont 5#;+ PT _ (TS _ 6) -> cont 6#;+ PT _ (TS _ 7) -> cont 7#;+ PT _ (TS _ 8) -> cont 8#;+ PT _ (TS _ 9) -> cont 9#;+ PT _ (TS _ 10) -> cont 10#;+ PT _ (TS _ 11) -> cont 11#;+ PT _ (TS _ 12) -> cont 12#;+ PT _ (TS _ 13) -> cont 13#;+ PT _ (TS _ 14) -> cont 14#;+ PT _ (TS _ 15) -> cont 15#;+ PT _ (TS _ 16) -> cont 16#;+ PT _ (TS _ 17) -> cont 17#;+ PT _ (TS _ 18) -> cont 18#;+ PT _ (TS _ 19) -> cont 19#;+ PT _ (TS _ 20) -> cont 20#;+ PT _ (TS _ 21) -> cont 21#;+ PT _ (TS _ 22) -> cont 22#;+ PT _ (TS _ 23) -> cont 23#;+ PT _ (TS _ 24) -> cont 24#;+ PT _ (TS _ 25) -> cont 25#;+ PT _ (TS _ 26) -> cont 26#;+ PT _ (TS _ 27) -> cont 27#;+ PT _ (TS _ 28) -> cont 28#;+ PT _ (TS _ 29) -> cont 29#;+ PT _ (TS _ 30) -> cont 30#;+ PT _ (TS _ 31) -> cont 31#;+ PT _ (TS _ 32) -> cont 32#;+ PT _ (TS _ 33) -> cont 33#;+ PT _ (TS _ 34) -> cont 34#;+ PT _ (TS _ 35) -> cont 35#;+ PT _ (TS _ 36) -> cont 36#;+ PT _ (TS _ 37) -> cont 37#;+ PT _ (TS _ 38) -> cont 38#;+ PT _ (TS _ 39) -> cont 39#;+ PT _ (TS _ 40) -> cont 40#;+ PT _ (TS _ 41) -> cont 41#;+ PT _ (TS _ 42) -> cont 42#;+ PT _ (TS _ 43) -> cont 43#;+ PT _ (TS _ 44) -> cont 44#;+ PT _ (TS _ 45) -> cont 45#;+ PT _ (TS _ 46) -> cont 46#;+ PT _ (TS _ 47) -> cont 47#;+ PT _ (TS _ 48) -> cont 48#;+ PT _ (TS _ 49) -> cont 49#;+ PT _ (TS _ 50) -> cont 50#;+ PT _ (TS _ 51) -> cont 51#;+ PT _ (TS _ 52) -> cont 52#;+ PT _ (TS _ 53) -> cont 53#;+ PT _ (TS _ 54) -> cont 54#;+ PT _ (TS _ 55) -> cont 55#;+ PT _ (TS _ 56) -> cont 56#;+ PT _ (TS _ 57) -> cont 57#;+ PT _ (TS _ 58) -> cont 58#;+ PT _ (TS _ 59) -> cont 59#;+ PT _ (TS _ 60) -> cont 60#;+ PT _ (TS _ 61) -> cont 61#;+ PT _ (TS _ 62) -> cont 62#;+ PT _ (TS _ 63) -> cont 63#;+ PT _ (TS _ 64) -> cont 64#;+ PT _ (TS _ 65) -> cont 65#;+ PT _ (TL _) -> cont 66#;+ PT _ (T_VarIdentToken _) -> cont 67#;+ PT _ (T_HoleIdentToken _) -> cont 68#;+ _ -> happyError' ((tk:tks), [])+ }++happyError_ explist 69# tk tks = happyError' (tks, explist)+happyError_ explist _ tk tks = happyError' ((tk:tks), explist)++happyThen :: () => Err a -> (a -> Err b) -> Err b+happyThen = ((>>=))+happyReturn :: () => a -> Err a+happyReturn = (return)+happyThen1 m k tks = ((>>=)) m (\a -> k a tks)+happyReturn1 :: () => a -> b -> Err a+happyReturn1 = \a tks -> (return) a+happyError' :: () => ([(Token)], [Prelude.String]) -> Err a+happyError' = (\(tokens, _) -> happyError tokens)+pModule_internal tks = happySomeParser where+ happySomeParser = happyThen (happyParse 0# tks) (\x -> happyReturn (let {(HappyWrap32 x') = happyOut32 x} in x'))++pHoleIdent_internal tks = happySomeParser where+ happySomeParser = happyThen (happyParse 1# tks) (\x -> happyReturn (let {(HappyWrap33 x') = happyOut33 x} in x'))++pVarIdent_internal tks = happySomeParser where+ happySomeParser = happyThen (happyParse 2# tks) (\x -> happyReturn (let {(HappyWrap34 x') = happyOut34 x} in x'))++pListVarIdent_internal tks = happySomeParser where+ happySomeParser = happyThen (happyParse 3# tks) (\x -> happyReturn (let {(HappyWrap35 x') = happyOut35 x} in x'))++pLanguageDecl_internal tks = happySomeParser where+ happySomeParser = happyThen (happyParse 4# tks) (\x -> happyReturn (let {(HappyWrap36 x') = happyOut36 x} in x'))++pLanguage_internal tks = happySomeParser where+ happySomeParser = happyThen (happyParse 5# tks) (\x -> happyReturn (let {(HappyWrap37 x') = happyOut37 x} in x'))++pCommand_internal tks = happySomeParser where+ happySomeParser = happyThen (happyParse 6# tks) (\x -> happyReturn (let {(HappyWrap38 x') = happyOut38 x} in x'))++pListCommand_internal tks = happySomeParser where+ happySomeParser = happyThen (happyParse 7# tks) (\x -> happyReturn (let {(HappyWrap39 x') = happyOut39 x} in x'))++pDeclUsedVars_internal tks = happySomeParser where+ happySomeParser = happyThen (happyParse 8# tks) (\x -> happyReturn (let {(HappyWrap40 x') = happyOut40 x} in x'))++pSectionName_internal tks = happySomeParser where+ happySomeParser = happyThen (happyParse 9# tks) (\x -> happyReturn (let {(HappyWrap41 x') = happyOut41 x} in x'))++pPattern_internal tks = happySomeParser where+ happySomeParser = happyThen (happyParse 10# tks) (\x -> happyReturn (let {(HappyWrap42 x') = happyOut42 x} in x'))++pListPattern_internal tks = happySomeParser where+ happySomeParser = happyThen (happyParse 11# tks) (\x -> happyReturn (let {(HappyWrap43 x') = happyOut43 x} in x'))++pParam_internal tks = happySomeParser where+ happySomeParser = happyThen (happyParse 12# tks) (\x -> happyReturn (let {(HappyWrap44 x') = happyOut44 x} in x'))++pListParam_internal tks = happySomeParser where+ happySomeParser = happyThen (happyParse 13# tks) (\x -> happyReturn (let {(HappyWrap45 x') = happyOut45 x} in x'))++pParamDecl_internal tks = happySomeParser where+ happySomeParser = happyThen (happyParse 14# tks) (\x -> happyReturn (let {(HappyWrap46 x') = happyOut46 x} in x'))++pRestriction_internal tks = happySomeParser where+ happySomeParser = happyThen (happyParse 15# tks) (\x -> happyReturn (let {(HappyWrap47 x') = happyOut47 x} in x'))++pListRestriction_internal tks = happySomeParser where+ happySomeParser = happyThen (happyParse 16# tks) (\x -> happyReturn (let {(HappyWrap48 x') = happyOut48 x} in x'))++pTerm7_internal tks = happySomeParser where+ happySomeParser = happyThen (happyParse 17# tks) (\x -> happyReturn (let {(HappyWrap49 x') = happyOut49 x} in x'))++pTerm5_internal tks = happySomeParser where+ happySomeParser = happyThen (happyParse 18# tks) (\x -> happyReturn (let {(HappyWrap50 x') = happyOut50 x} in x'))++pTerm4_internal tks = happySomeParser where+ happySomeParser = happyThen (happyParse 19# tks) (\x -> happyReturn (let {(HappyWrap51 x') = happyOut51 x} in x'))++pTerm3_internal tks = happySomeParser where+ happySomeParser = happyThen (happyParse 20# tks) (\x -> happyReturn (let {(HappyWrap52 x') = happyOut52 x} in x'))++pTerm2_internal tks = happySomeParser where+ happySomeParser = happyThen (happyParse 21# tks) (\x -> happyReturn (let {(HappyWrap53 x') = happyOut53 x} in x'))++pTerm1_internal tks = happySomeParser where+ happySomeParser = happyThen (happyParse 22# tks) (\x -> happyReturn (let {(HappyWrap54 x') = happyOut54 x} in x'))++pTerm6_internal tks = happySomeParser where+ happySomeParser = happyThen (happyParse 23# tks) (\x -> happyReturn (let {(HappyWrap55 x') = happyOut55 x} in x'))++pTerm_internal tks = happySomeParser where+ happySomeParser = happyThen (happyParse 24# tks) (\x -> happyReturn (let {(HappyWrap56 x') = happyOut56 x} in x'))++pListTerm_internal tks = happySomeParser where+ happySomeParser = happyThen (happyParse 25# tks) (\x -> happyReturn (let {(HappyWrap57 x') = happyOut57 x} in x'))++happySeq = happyDontSeq+++type Err = Either String++happyError :: [Token] -> Err a+happyError ts = Left $+ "syntax error at " ++ tokenPos ts +++ case ts of+ [] -> []+ [Err _] -> " due to lexer error"+ t:_ -> " before `" ++ (prToken t) ++ "'"++myLexer :: String -> [Token]+myLexer = tokens++-- Entrypoints++pModule :: [Token] -> Err Language.Rzk.Syntax.Abs.Module+pModule = fmap snd . pModule_internal++pHoleIdent :: [Token] -> Err Language.Rzk.Syntax.Abs.HoleIdent+pHoleIdent = fmap snd . pHoleIdent_internal++pVarIdent :: [Token] -> Err Language.Rzk.Syntax.Abs.VarIdent+pVarIdent = fmap snd . pVarIdent_internal pListVarIdent :: [Token] -> Err [Language.Rzk.Syntax.Abs.VarIdent] pListVarIdent = fmap snd . pListVarIdent_internal
src/Language/Rzk/Syntax/Par.y view
@@ -9,6 +9,8 @@ ( happyError , myLexer , pModule+ , pHoleIdent+ , pVarIdent , pListVarIdent , pLanguageDecl , pLanguage@@ -42,6 +44,8 @@ } %name pModule_internal Module+%name pHoleIdent_internal HoleIdent+%name pVarIdent_internal VarIdent %name pListVarIdent_internal ListVarIdent %name pLanguageDecl_internal LanguageDecl %name pLanguage_internal Language@@ -69,88 +73,98 @@ %monad { Err } { (>>=) } { return } %tokentype {Token} %token- '#assume' { PT _ (TS _ 1) }- '#check' { PT _ (TS _ 2) }- '#compute' { PT _ (TS _ 3) }- '#compute-nf' { PT _ (TS _ 4) }- '#compute-whnf' { PT _ (TS _ 5) }- '#def' { PT _ (TS _ 6) }- '#define' { PT _ (TS _ 7) }- '#end' { PT _ (TS _ 8) }- '#lang' { PT _ (TS _ 9) }- '#postulate' { PT _ (TS _ 10) }- '#section' { PT _ (TS _ 11) }- '#set-option' { PT _ (TS _ 12) }- '#unset-option' { PT _ (TS _ 13) }- '#variable' { PT _ (TS _ 14) }- '#variables' { PT _ (TS _ 15) }- '(' { PT _ (TS _ 16) }- ')' { PT _ (TS _ 17) }- '*' { PT _ (TS _ 18) }- '*_1' { PT _ (TS _ 19) }- ',' { PT _ (TS _ 20) }- '->' { PT _ (TS _ 21) }- '/\\' { PT _ (TS _ 22) }- '0_2' { PT _ (TS _ 23) }- '1' { PT _ (TS _ 24) }- '1_2' { PT _ (TS _ 25) }- '2' { PT _ (TS _ 26) }- ':' { PT _ (TS _ 27) }- ':=' { PT _ (TS _ 28) }- ';' { PT _ (TS _ 29) }- '<' { PT _ (TS _ 30) }- '<=' { PT _ (TS _ 31) }- '=' { PT _ (TS _ 32) }- '===' { PT _ (TS _ 33) }- '=_{' { PT _ (TS _ 34) }- '>' { PT _ (TS _ 35) }- 'BOT' { PT _ (TS _ 36) }- 'CUBE' { PT _ (TS _ 37) }- 'Sigma' { PT _ (TS _ 38) }- 'TOP' { PT _ (TS _ 39) }- 'TOPE' { PT _ (TS _ 40) }- 'U' { PT _ (TS _ 41) }- '[' { PT _ (TS _ 42) }- '\\' { PT _ (TS _ 43) }- '\\/' { PT _ (TS _ 44) }- ']' { PT _ (TS _ 45) }- '_' { PT _ (TS _ 46) }- 'as' { PT _ (TS _ 47) }- 'first' { PT _ (TS _ 48) }- 'idJ' { PT _ (TS _ 49) }- 'recBOT' { PT _ (TS _ 50) }- 'recOR' { PT _ (TS _ 51) }- 'refl' { PT _ (TS _ 52) }- 'refl_{' { PT _ (TS _ 53) }- 'rzk-1' { PT _ (TS _ 54) }- 'second' { PT _ (TS _ 55) }- 'uses' { PT _ (TS _ 56) }- '{' { PT _ (TS _ 57) }- '|' { PT _ (TS _ 58) }- '|->' { PT _ (TS _ 59) }- '}' { PT _ (TS _ 60) }- 'Σ' { PT _ (TS _ 61) }- '→' { PT _ (TS _ 62) }- '∑' { PT _ (TS _ 63) }- L_quoted { PT _ (TL _) }- L_VarIdent { PT _ (T_VarIdent _) }- L_HoleIdent { PT _ (T_HoleIdent _) }+ '#assume' { PT _ (TS _ 1) }+ '#check' { PT _ (TS _ 2) }+ '#compute' { PT _ (TS _ 3) }+ '#compute-nf' { PT _ (TS _ 4) }+ '#compute-whnf' { PT _ (TS _ 5) }+ '#def' { PT _ (TS _ 6) }+ '#define' { PT _ (TS _ 7) }+ '#end' { PT _ (TS _ 8) }+ '#lang' { PT _ (TS _ 9) }+ '#postulate' { PT _ (TS _ 10) }+ '#section' { PT _ (TS _ 11) }+ '#set-option' { PT _ (TS _ 12) }+ '#unset-option' { PT _ (TS _ 13) }+ '#variable' { PT _ (TS _ 14) }+ '#variables' { PT _ (TS _ 15) }+ '(' { PT _ (TS _ 16) }+ ')' { PT _ (TS _ 17) }+ '*' { PT _ (TS _ 18) }+ '*_1' { PT _ (TS _ 19) }+ ',' { PT _ (TS _ 20) }+ '->' { PT _ (TS _ 21) }+ '/\\' { PT _ (TS _ 22) }+ '0_2' { PT _ (TS _ 23) }+ '1' { PT _ (TS _ 24) }+ '1_2' { PT _ (TS _ 25) }+ '2' { PT _ (TS _ 26) }+ ':' { PT _ (TS _ 27) }+ ':=' { PT _ (TS _ 28) }+ ';' { PT _ (TS _ 29) }+ '<' { PT _ (TS _ 30) }+ '<=' { PT _ (TS _ 31) }+ '=' { PT _ (TS _ 32) }+ '===' { PT _ (TS _ 33) }+ '=_{' { PT _ (TS _ 34) }+ '>' { PT _ (TS _ 35) }+ 'BOT' { PT _ (TS _ 36) }+ 'CUBE' { PT _ (TS _ 37) }+ 'Sigma' { PT _ (TS _ 38) }+ 'TOP' { PT _ (TS _ 39) }+ 'TOPE' { PT _ (TS _ 40) }+ 'U' { PT _ (TS _ 41) }+ 'Unit' { PT _ (TS _ 42) }+ '[' { PT _ (TS _ 43) }+ '\\' { PT _ (TS _ 44) }+ '\\/' { PT _ (TS _ 45) }+ ']' { PT _ (TS _ 46) }+ '_' { PT _ (TS _ 47) }+ 'as' { PT _ (TS _ 48) }+ 'first' { PT _ (TS _ 49) }+ 'idJ' { PT _ (TS _ 50) }+ 'recBOT' { PT _ (TS _ 51) }+ 'recOR' { PT _ (TS _ 52) }+ 'refl' { PT _ (TS _ 53) }+ 'refl_{' { PT _ (TS _ 54) }+ 'rzk-1' { PT _ (TS _ 55) }+ 'second' { PT _ (TS _ 56) }+ 'unit' { PT _ (TS _ 57) }+ 'uses' { PT _ (TS _ 58) }+ '{' { PT _ (TS _ 59) }+ '|' { PT _ (TS _ 60) }+ '|->' { PT _ (TS _ 61) }+ '}' { PT _ (TS _ 62) }+ 'Σ' { PT _ (TS _ 63) }+ '→' { PT _ (TS _ 64) }+ '∑' { PT _ (TS _ 65) }+ L_quoted { PT _ (TL _) }+ L_VarIdentToken { PT _ (T_VarIdentToken _) }+ L_HoleIdentToken { PT _ (T_HoleIdentToken _) } %% String :: { (Language.Rzk.Syntax.Abs.BNFC'Position, String) } String : L_quoted { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), ((\(PT _ (TL s)) -> s) $1)) } -VarIdent :: { (Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.VarIdent) }-VarIdent : L_VarIdent { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.VarIdent (tokenText $1)) }+VarIdentToken :: { (Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.VarIdentToken) }+VarIdentToken : L_VarIdentToken { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.VarIdentToken (tokenText $1)) } -HoleIdent :: { (Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.HoleIdent) }-HoleIdent : L_HoleIdent { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.HoleIdent (tokenText $1)) }+HoleIdentToken :: { (Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.HoleIdentToken) }+HoleIdentToken : L_HoleIdentToken { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.HoleIdentToken (tokenText $1)) } Module :: { (Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Module) } Module : LanguageDecl ListCommand { (fst $1, Language.Rzk.Syntax.Abs.Module (fst $1) (snd $1) (snd $2)) } +HoleIdent :: { (Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.HoleIdent) }+HoleIdent+ : HoleIdentToken { (fst $1, Language.Rzk.Syntax.Abs.HoleIdent (fst $1) (snd $1)) }++VarIdent :: { (Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.VarIdent) }+VarIdent+ : VarIdentToken { (fst $1, Language.Rzk.Syntax.Abs.VarIdent (fst $1) (snd $1)) }+ ListVarIdent :: { (Language.Rzk.Syntax.Abs.BNFC'Position, [Language.Rzk.Syntax.Abs.VarIdent]) } ListVarIdent : VarIdent { (fst $1, (:[]) (snd $1)) }@@ -201,6 +215,7 @@ Pattern :: { (Language.Rzk.Syntax.Abs.BNFC'Position, Language.Rzk.Syntax.Abs.Pattern) } Pattern : '_' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.PatternWildcard (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1))) }+ | 'unit' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.PatternUnit (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1))) } | VarIdent { (fst $1, Language.Rzk.Syntax.Abs.PatternVar (fst $1) (snd $1)) } | '(' Pattern ',' Pattern ')' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.PatternPair (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2) (snd $4)) } @@ -253,8 +268,10 @@ | 'recBOT' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.RecBottom (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1))) } | 'recOR' '(' ListRestriction ')' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.RecOr (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $3)) } | 'recOR' '(' Term ',' Term ',' Term ',' Term ')' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.recOr (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $3) (snd $5) (snd $7) (snd $9)) }+ | 'Unit' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.TypeUnit (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1))) } | '<' ParamDecl '->' Term '>' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.typeExtension (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2) (snd $4)) } | '(' Term ',' Term ')' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.Pair (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2) (snd $4)) }+ | 'unit' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.Unit (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1))) } | 'refl' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.Refl (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1))) } | 'refl_{' Term '}' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.ReflTerm (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2)) } | 'refl_{' Term ':' Term '}' { (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1), Language.Rzk.Syntax.Abs.ReflTermType (uncurry Language.Rzk.Syntax.Abs.BNFC'Position (tokenLineCol $1)) (snd $2) (snd $4)) }@@ -333,6 +350,12 @@ pModule :: [Token] -> Err Language.Rzk.Syntax.Abs.Module pModule = fmap snd . pModule_internal++pHoleIdent :: [Token] -> Err Language.Rzk.Syntax.Abs.HoleIdent+pHoleIdent = fmap snd . pHoleIdent_internal++pVarIdent :: [Token] -> Err Language.Rzk.Syntax.Abs.VarIdent+pVarIdent = fmap snd . pVarIdent_internal pListVarIdent :: [Token] -> Err [Language.Rzk.Syntax.Abs.VarIdent] pListVarIdent = fmap snd . pListVarIdent_internal
src/Language/Rzk/Syntax/Print.hs view
@@ -135,15 +135,23 @@ instance Print Double where prt _ x = doc (shows x) -instance Print Language.Rzk.Syntax.Abs.VarIdent where- prt _ (Language.Rzk.Syntax.Abs.VarIdent i) = doc $ showString i-instance Print Language.Rzk.Syntax.Abs.HoleIdent where- prt _ (Language.Rzk.Syntax.Abs.HoleIdent i) = doc $ showString i+instance Print Language.Rzk.Syntax.Abs.VarIdentToken where+ prt _ (Language.Rzk.Syntax.Abs.VarIdentToken i) = doc $ showString i+instance Print Language.Rzk.Syntax.Abs.HoleIdentToken where+ prt _ (Language.Rzk.Syntax.Abs.HoleIdentToken i) = doc $ showString i instance Print (Language.Rzk.Syntax.Abs.Module' a) where prt i = \case Language.Rzk.Syntax.Abs.Module _ languagedecl commands -> prPrec i 0 (concatD [prt 0 languagedecl, prt 0 commands]) -instance Print [Language.Rzk.Syntax.Abs.VarIdent] where+instance Print (Language.Rzk.Syntax.Abs.HoleIdent' a) where+ prt i = \case+ Language.Rzk.Syntax.Abs.HoleIdent _ holeidenttoken -> prPrec i 0 (concatD [prt 0 holeidenttoken])++instance Print (Language.Rzk.Syntax.Abs.VarIdent' a) where+ prt i = \case+ Language.Rzk.Syntax.Abs.VarIdent _ varidenttoken -> prPrec i 0 (concatD [prt 0 varidenttoken])++instance Print [Language.Rzk.Syntax.Abs.VarIdent' a] where prt _ [] = concatD [] prt _ [x] = concatD [prt 0 x] prt _ (x:xs) = concatD [prt 0 x, prt 0 xs]@@ -185,6 +193,7 @@ instance Print (Language.Rzk.Syntax.Abs.Pattern' a) where prt i = \case Language.Rzk.Syntax.Abs.PatternWildcard _ -> prPrec i 0 (concatD [doc (showString "_")])+ Language.Rzk.Syntax.Abs.PatternUnit _ -> prPrec i 0 (concatD [doc (showString "unit")]) Language.Rzk.Syntax.Abs.PatternVar _ varident -> prPrec i 0 (concatD [prt 0 varident]) Language.Rzk.Syntax.Abs.PatternPair _ pattern_1 pattern_2 -> prPrec i 0 (concatD [doc (showString "("), prt 0 pattern_1, doc (showString ","), prt 0 pattern_2, doc (showString ")")]) @@ -241,6 +250,7 @@ Language.Rzk.Syntax.Abs.RecOr _ restrictions -> prPrec i 7 (concatD [doc (showString "recOR"), doc (showString "("), prt 0 restrictions, doc (showString ")")]) Language.Rzk.Syntax.Abs.TypeFun _ paramdecl term -> prPrec i 1 (concatD [prt 0 paramdecl, doc (showString "->"), prt 1 term]) Language.Rzk.Syntax.Abs.TypeSigma _ pattern_ term1 term2 -> prPrec i 1 (concatD [doc (showString "Sigma"), doc (showString "("), prt 0 pattern_, doc (showString ":"), prt 0 term1, doc (showString ")"), doc (showString ","), prt 1 term2])+ Language.Rzk.Syntax.Abs.TypeUnit _ -> prPrec i 7 (concatD [doc (showString "Unit")]) Language.Rzk.Syntax.Abs.TypeId _ term1 term2 term3 -> prPrec i 1 (concatD [prt 2 term1, doc (showString "=_{"), prt 0 term2, doc (showString "}"), prt 2 term3]) Language.Rzk.Syntax.Abs.TypeIdSimple _ term1 term2 -> prPrec i 1 (concatD [prt 2 term1, doc (showString "="), prt 2 term2]) Language.Rzk.Syntax.Abs.TypeRestricted _ term restrictions -> prPrec i 6 (concatD [prt 6 term, doc (showString "["), prt 0 restrictions, doc (showString "]")])@@ -249,6 +259,7 @@ Language.Rzk.Syntax.Abs.Pair _ term1 term2 -> prPrec i 7 (concatD [doc (showString "("), prt 0 term1, doc (showString ","), prt 0 term2, doc (showString ")")]) Language.Rzk.Syntax.Abs.First _ term -> prPrec i 6 (concatD [doc (showString "first"), prt 7 term]) Language.Rzk.Syntax.Abs.Second _ term -> prPrec i 6 (concatD [doc (showString "second"), prt 7 term])+ Language.Rzk.Syntax.Abs.Unit _ -> prPrec i 7 (concatD [doc (showString "unit")]) Language.Rzk.Syntax.Abs.Refl _ -> prPrec i 7 (concatD [doc (showString "refl")]) Language.Rzk.Syntax.Abs.ReflTerm _ term -> prPrec i 7 (concatD [doc (showString "refl_{"), prt 0 term, doc (showString "}")]) Language.Rzk.Syntax.Abs.ReflTermType _ term1 term2 -> prPrec i 7 (concatD [doc (showString "refl_{"), prt 0 term1, doc (showString ":"), prt 0 term2, doc (showString "}")])
+ src/Language/Rzk/VSCode/Tokenize.hs view
@@ -0,0 +1,173 @@+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+module Language.Rzk.VSCode.Tokenize where++import Language.Rzk.Syntax+import Language.Rzk.Syntax.Print+import Language.Rzk.VSCode.Tokens++tokenizeModule :: Module -> [VSToken]+tokenizeModule (Module _loc langDecl commands) = concat+ [ tokenizeLanguageDecl langDecl+ , foldMap tokenizeCommand commands+ ]++tokenizeLanguageDecl :: LanguageDecl -> [VSToken]+tokenizeLanguageDecl _ = []++tokenizeCommand :: Command -> [VSToken]+tokenizeCommand command = case command of+ CommandSetOption{} -> [] -- NOTE: fallback to TextMate+ CommandUnsetOption{} -> [] -- NOTE: fallback to TextMate+ CommandCheck _loc term type_ -> foldMap tokenizeTerm [term, type_]+ CommandCompute _loc term -> tokenizeTerm term+ CommandComputeNF _loc term -> tokenizeTerm term+ CommandComputeWHNF _loc term -> tokenizeTerm term++ CommandPostulate _loc name _declUsedVars params type_ -> concat+ [ mkToken name vs_function [vs_declaration]+ , foldMap tokenizeParam params+ , tokenizeTerm type_+ ]+ CommandDefine _loc name _declUsedVars params type_ term -> concat+ [ mkToken name vs_function [vs_declaration]+ , foldMap tokenizeParam params+ , foldMap tokenizeTerm [type_, term]+ ]++ CommandAssume _loc vars type_ -> concat+ [ foldMap (\var -> mkToken var vs_parameter [vs_declaration]) vars+ , tokenizeTerm type_+ ]+ CommandSection _loc _nameStart commands _nameEnd ->+ foldMap tokenizeCommand commands++tokenizeParam :: Param -> [VSToken]+tokenizeParam = \case+ ParamPattern _loc pat -> tokenizePattern pat+ ParamPatternType _loc pats type_ -> concat+ [ foldMap tokenizePattern pats+ , tokenizeTerm type_ ]+ ParamPatternShape _loc pat cube tope -> concat+ [ tokenizePattern pat+ , tokenizeTerm cube+ , tokenizeTope tope ]++tokenizePattern :: Pattern -> [VSToken]+tokenizePattern = \case+ PatternWildcard _loc -> []+ PatternVar _loc var -> mkToken var vs_parameter [vs_declaration]+ PatternPair _loc l r -> foldMap tokenizePattern [l, r]+ pat@(PatternUnit _loc) -> mkToken pat vs_enumMember [vs_declaration]++tokenizeTope :: Term -> [VSToken]+tokenizeTope = tokenizeTerm' (Just vs_string)++tokenizeTerm :: Term -> [VSToken]+tokenizeTerm = tokenizeTerm' Nothing++tokenizeTerm' :: Maybe VSTokenType -> Term -> [VSToken]+tokenizeTerm' varTokenType = go+ where+ go term = case term of+ Hole{} -> [] -- FIXME+ Var{} -> case varTokenType of+ Nothing -> []+ Just token_type -> mkToken term token_type []++ Universe{} -> mkToken term vs_class [vs_defaultLibrary]+ UniverseCube{} -> mkToken term vs_class [vs_defaultLibrary]+ UniverseTope{} -> mkToken term vs_class [vs_defaultLibrary]++ CubeUnit{} -> mkToken term vs_enum [vs_defaultLibrary]+ CubeUnitStar{} -> mkToken term vs_enumMember [vs_defaultLibrary]++ Cube2{} -> mkToken term vs_enum [vs_defaultLibrary]+ Cube2_0{} -> mkToken term vs_enumMember [vs_defaultLibrary]+ Cube2_1{} -> mkToken term vs_enumMember [vs_defaultLibrary]++ CubeProduct _loc l r -> foldMap go [l, r]++ TopeTop{} -> mkToken term vs_string [vs_defaultLibrary]+ TopeBottom{} -> mkToken term vs_string [vs_defaultLibrary]+ TopeAnd _loc l r -> foldMap tokenizeTope [l, r]+ TopeOr _loc l r -> foldMap tokenizeTope [l, r]+ TopeEQ _loc l r -> foldMap tokenizeTope [l, r]+ TopeLEQ _loc l r -> foldMap tokenizeTope [l, r]++ RecBottom{} -> mkToken term vs_function [vs_defaultLibrary]+ RecOr _loc rs -> foldMap tokenizeRestriction rs++ TypeFun _loc paramDecl ret -> concat+ [ tokenizeParamDecl paramDecl+ , go ret ]+ TypeSigma loc pat a b -> concat+ [ mkToken (VarIdent loc "∑") vs_class [vs_defaultLibrary]+ , tokenizePattern pat+ , foldMap go [a, b] ]+ TypeId _loc x a y -> foldMap go [x, a, y]+ TypeIdSimple _loc x y -> foldMap go [x, y]++ TypeRestricted _loc type_ rs -> concat+ [ go type_+ , foldMap tokenizeRestriction rs ]++ App _loc f x -> foldMap go [f, x]+ Lambda _loc params body -> concat+ [ foldMap tokenizeParam params+ , go body ]++ Pair _loc l r -> foldMap go [l, r]+ First loc t -> concat+ [ mkToken (VarIdent loc "first") vs_function [vs_defaultLibrary]+ , go t ]+ Second loc t -> concat+ [ mkToken (VarIdent loc "second") vs_function [vs_defaultLibrary]+ , go t ]++ TypeUnit _loc -> mkToken term vs_enum [vs_defaultLibrary]+ Unit _loc -> mkToken term vs_enumMember [vs_defaultLibrary]++ Refl{} -> mkToken term vs_function [vs_defaultLibrary]+ ReflTerm loc x -> concat+ [ mkToken (VarIdent loc "refl") vs_function [vs_defaultLibrary]+ , go x ]+ ReflTermType loc x a -> concat+ [ mkToken (VarIdent loc "refl") vs_function [vs_defaultLibrary]+ , foldMap go [x, a] ]++ IdJ loc a b c d e f -> concat+ [ mkToken (VarIdent loc "J") vs_function [vs_defaultLibrary]+ , foldMap go [a, b, c, d, e, f] ]++ TypeAsc _loc t type_ -> foldMap go [t, type_]++tokenizeRestriction :: Restriction -> [VSToken]+tokenizeRestriction (Restriction _loc tope term) = concat+ [ tokenizeTope tope+ , tokenizeTerm term ]++tokenizeParamDecl :: ParamDecl -> [VSToken]+tokenizeParamDecl = \case+ ParamType _loc type_ -> tokenizeTerm type_+ ParamWildcardType _loc type_ -> tokenizeTerm type_+ ParamVarType _loc pat type_ -> concat+ [ tokenizePattern pat+ , tokenizeTerm type_ ]+ ParamVarShape _loc pat cube tope -> concat+ [ tokenizePattern pat+ , tokenizeTerm cube+ , tokenizeTope tope+ ]++mkToken :: (HasPosition a, Print a) => a -> VSTokenType -> [VSTokenModifier] -> [VSToken]+mkToken x tokenType tokenModifiers =+ case hasPosition x of+ Nothing -> []+ Just (line, col) -> do+ [ VSToken+ { startCharacter = col - 1 -- NOTE: 0-indexed output for VS Code+ , line = line - 1 -- NOTE: 0-indexed output for VS Code+ , length = Prelude.length (printTree x)+ , .. } ]
+ src/Language/Rzk/VSCode/Tokens.hs view
@@ -0,0 +1,169 @@+{-# OPTIONS_GHC -fno-warn-missing-pattern-synonym-signatures #-}+{-# LANGUAGE DeriveAnyClass #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RecordWildCards #-}+module Language.Rzk.VSCode.Tokens where++import Data.Aeson+import Data.String (IsString)+import Data.Text (Text)+import GHC.Generics (Generic)++-- | VS Code token.+data VSToken = VSToken+ { line :: !Int+ , startCharacter :: !Int+ , length :: !Int+ , tokenType :: VSTokenType+ , tokenModifiers :: [VSTokenModifier]+ } deriving (Generic, ToJSON)++-- | VS Code token types. See https://code.visualstudio.com/api/language-extensions/semantic-highlight-guide#standard-token-types-and-modifiers.+newtype VSTokenType = VSTokenType Text+ deriving newtype (ToJSON, IsString)++-- | VS Code token modifiers. See https://code.visualstudio.com/api/language-extensions/semantic-highlight-guide#standard-token-types-and-modifiers.+newtype VSTokenModifier = VSTokenModifier Text+ deriving newtype (ToJSON, IsString)++-- * Standard token types++-- | For identifiers that declare or reference a namespace, module, or package.+vs_namespace :: VSTokenType+vs_namespace = VSTokenType "namespace"++-- | For identifiers that declare or reference a class type.+vs_class :: VSTokenType+vs_class = VSTokenType "class"++-- | For identifiers that declare or reference an enumeration type.+vs_enum :: VSTokenType+vs_enum = VSTokenType "enum"++-- | For identifiers that declare or reference an interface type.+vs_interface :: VSTokenType+vs_interface = VSTokenType "interface"++-- | For identifiers that declare or reference a struct type.+vs_struct :: VSTokenType+vs_struct = VSTokenType "struct"++-- | For identifiers that declare or reference a type parameter.+vs_typeParameter :: VSTokenType+vs_typeParameter = VSTokenType "typeParameter"++-- | For identifiers that declare or reference a type that is not covered above.+vs_type :: VSTokenType+vs_type = VSTokenType "type"++-- | For identifiers that declare or reference a function or method parameters.+vs_parameter :: VSTokenType+vs_parameter = VSTokenType "parameter"++-- | For identifiers that declare or reference a local or global variable.+vs_variable :: VSTokenType+vs_variable = VSTokenType "variable"++-- | For identifiers that declare or reference a member property, member field, or member variable.+vs_property :: VSTokenType+vs_property = VSTokenType "property"++-- | For identifiers that declare or reference an enumeration property, constant, or member.+vs_enumMember :: VSTokenType+vs_enumMember = VSTokenType "enumMember"++-- | For identifiers that declare or reference decorators and annotations.+vs_decorator :: VSTokenType+vs_decorator = VSTokenType "decorator"++-- | For identifiers that declare an event property.+vs_event :: VSTokenType+vs_event = VSTokenType "event"++-- | For identifiers that declare a function.+vs_function :: VSTokenType+vs_function = VSTokenType "function"++-- | For identifiers that declare a member function or method.+vs_method :: VSTokenType+vs_method = VSTokenType "method"++-- | For identifiers that declare a macro.+vs_macro :: VSTokenType+vs_macro = VSTokenType "macro"++-- | For identifiers that declare a label.+vs_label :: VSTokenType+vs_label = VSTokenType "label"++-- | For tokens that represent a comment.+vs_comment :: VSTokenType+vs_comment = VSTokenType "comment"++-- | For tokens that represent a string literal.+vs_string :: VSTokenType+vs_string = VSTokenType "string"++-- | For tokens that represent a language keyword.+vs_keyword :: VSTokenType+vs_keyword = VSTokenType "keyword"++-- | For tokens that represent a number literal.+vs_number :: VSTokenType+vs_number = VSTokenType "number"++-- | For tokens that represent a regular expression literal.+vs_regexp :: VSTokenType+vs_regexp = VSTokenType "regexp"++-- | For tokens that represent an operator.+vs_operator :: VSTokenType+vs_operator = VSTokenType "operator"++-- * Standard token modifiers++-- | For declarations of symbols.+vs_declaration :: VSTokenModifier+vs_declaration = VSTokenModifier "declaration"++-- | For definitions of symbols, for example, in header files.+vs_definition :: VSTokenModifier+vs_definition = VSTokenModifier "definition"++-- | For readonly variables and member fields (constants).+vs_readonly :: VSTokenModifier+vs_readonly = VSTokenModifier "readonly"++-- | For class members (static members).+vs_static :: VSTokenModifier+vs_static = VSTokenModifier "static"++-- | For symbols that should no longer be used.+vs_deprecated :: VSTokenModifier+vs_deprecated = VSTokenModifier "deprecated"++-- | For types and member functions that are abstract.+vs_abstract :: VSTokenModifier+vs_abstract = VSTokenModifier "abstract"++-- | For functions that are marked async.+vs_async :: VSTokenModifier+vs_async = VSTokenModifier "async"++-- | For variable references where the variable is assigned to.+vs_modification :: VSTokenModifier+vs_modification = VSTokenModifier "modification"++-- | For occurrences of symbols in documentation.+vs_documentation :: VSTokenModifier+vs_documentation = VSTokenModifier "documentation"++-- | For symbols that are part of the standard library.+vs_defaultLibrary :: VSTokenModifier+vs_defaultLibrary = VSTokenModifier "defaultLibrary"+
src/Rzk/Main.hs view
@@ -4,41 +4,28 @@ {-# LANGUAGE OverloadedStrings #-} module Rzk.Main where -import Control.Monad (forM)-import Data.Version (showVersion)+import Control.Monad (forM)+import qualified Data.Aeson as JSON+import qualified Data.ByteString.Lazy.Char8 as ByteString+import Data.Version (showVersion) import Options.Generic-import System.Exit (exitFailure)+import System.Exit (exitFailure) -import qualified Language.Rzk.Syntax as Rzk-import Paths_rzk (version)+import qualified Language.Rzk.Syntax as Rzk+import Language.Rzk.VSCode.Tokenize (tokenizeModule)+import Paths_rzk (version) import Rzk.TypeCheck data Command = Typecheck [FilePath]+ | Tokenize | Version deriving (Generic, Show, ParseRecord) main :: IO () main = getRecord "rzk: an experimental proof assistant for synthetic ∞-categories" >>= \case Typecheck paths -> do- modules <- case paths of- -- if no paths are given — read from stdin- [] -> do- result <- Rzk.parseModule <$> getContents- case result of- Left err -> do- putStrLn ("An error occurred when parsing stdin")- error err- Right rzkModule -> return [("<stdin>", rzkModule)]- -- otherwise — parse all given files in given order- _ -> forM paths $ \path -> do- putStrLn ("Loading file " <> path)- result <- Rzk.parseModule <$> readFile path- case result of- Left err -> do- putStrLn ("An error occurred when parsing file " <> path)- error err- Right rzkModule -> return (path, rzkModule)+ modules <- parseRzkFilesOrStdin paths case defaultTypeCheck (typecheckModulesWithLocation modules) of Left err -> do putStrLn "An error occurred when typechecking!"@@ -49,12 +36,41 @@ exitFailure Right () -> putStrLn "Everything is ok!" + Tokenize -> do+ rzkModule <- parseStdin+ ByteString.putStrLn (JSON.encode (tokenizeModule rzkModule))+ Version -> putStrLn (showVersion version) +parseStdin :: IO Rzk.Module+parseStdin = do+ result <- Rzk.parseModule <$> getContents+ case result of+ Left err -> do+ putStrLn ("An error occurred when parsing stdin")+ error err+ Right rzkModule -> return rzkModule++parseRzkFilesOrStdin :: [FilePath] -> IO [(FilePath, Rzk.Module)]+parseRzkFilesOrStdin = \case+ -- if no paths are given — read from stdin+ [] -> do+ rzkModule <- parseStdin+ return [("<stdin>", rzkModule)]+ -- otherwise — parse all given files in given order+ paths -> forM paths $ \path -> do+ putStrLn ("Loading file " <> path)+ result <- Rzk.parseModule <$> readFile path+ case result of+ Left err -> do+ putStrLn ("An error occurred when parsing file " <> path)+ error err+ Right rzkModule -> return (path, rzkModule)+ typecheckString :: String -> Either String String typecheckString moduleString = do rzkModule <- Rzk.parseModule moduleString- case defaultTypeCheck (typecheckModule rzkModule) of+ case defaultTypeCheck (typecheckModule Nothing rzkModule) of Left err -> Left $ unlines [ "An error occurred when typechecking!" , "Rendering type error... (this may take a few seconds)"
src/Rzk/TypeCheck.hs view
@@ -24,8 +24,8 @@ import Unsafe.Coerce defaultTypeCheck- :: TypeCheck Rzk.VarIdent a- -> Either (TypeErrorInScopedContext Rzk.VarIdent) a+ :: TypeCheck VarIdent a+ -> Either (TypeErrorInScopedContext VarIdent) a defaultTypeCheck tc = runExcept (runReaderT tc emptyContext) -- FIXME: merge with VarInfo@@ -37,9 +37,9 @@ , declUsedVars :: [var] } -type Decl' = Decl Rzk.VarIdent+type Decl' = Decl VarIdent -typecheckModulesWithLocation :: [(FilePath, Rzk.Module)] -> TypeCheck Rzk.VarIdent ()+typecheckModulesWithLocation :: [(FilePath, Rzk.Module)] -> TypeCheck VarIdent () typecheckModulesWithLocation = \case [] -> return () m : ms -> do@@ -47,19 +47,19 @@ localDeclsPrepared decls $ typecheckModulesWithLocation ms -typecheckModules :: [Rzk.Module] -> TypeCheck Rzk.VarIdent ()+typecheckModules :: [Rzk.Module] -> TypeCheck VarIdent () typecheckModules = \case [] -> return () m : ms -> do- decls <- typecheckModule m+ decls <- typecheckModule Nothing m localDeclsPrepared decls $ typecheckModules ms -typecheckModuleWithLocation :: (FilePath, Rzk.Module) -> TypeCheck Rzk.VarIdent [Decl']+typecheckModuleWithLocation :: (FilePath, Rzk.Module) -> TypeCheck VarIdent [Decl'] typecheckModuleWithLocation (path, module_) = do traceTypeCheck Normal ("Checking module from " <> path) $ do withLocation (LocationInfo { locationFilePath = Just path, locationLine = Nothing }) $- typecheckModule module_+ typecheckModule (Just path) module_ countCommands :: Integral a => [Rzk.Command] -> a countCommands [] = 0@@ -67,14 +67,14 @@ countCommands sectionCommands + countCommands commands countCommands (_ : commands) = 1 + countCommands commands -typecheckModule :: Rzk.Module -> TypeCheck Rzk.VarIdent [Decl']-typecheckModule (Rzk.Module _moduleLoc _lang commands) =+typecheckModule :: Maybe FilePath -> Rzk.Module -> TypeCheck VarIdent [Decl']+typecheckModule path (Rzk.Module _moduleLoc _lang commands) = withSection Nothing (go 1 commands) $ -- FIXME: use module name? or anonymous section? return [] where totalCommands = countCommands commands - go :: Integer -> [Rzk.Command] -> TypeCheck Rzk.VarIdent [Decl']+ go :: Integer -> [Rzk.Command] -> TypeCheck VarIdent [Decl'] go _i [] = return [] go i (command@(Rzk.CommandUnsetOption _loc optionName) : moreCommands) = do@@ -93,19 +93,19 @@ go i (command@(Rzk.CommandDefine _loc name (Rzk.DeclUsedVars _ vars) params ty term) : moreCommands) = traceTypeCheck Normal ("[ " <> show i <> " out of " <> show totalCommands <> " ]"- <> " Checking #define " <> show (Pure name :: Term') ) $ do+ <> " Checking #define " <> Rzk.printTree name ) $ do withCommand command $ do- mapM_ checkDefinedVar vars+ mapM_ checkDefinedVar (varIdentAt path <$> vars) paramDecls <- concat <$> mapM paramToParamDecl params ty' <- typecheck (toTerm' (addParamDecls paramDecls ty)) universeT >>= whnfT -- >>= pure . termIsWHNF term' <- typecheck (toTerm' (addParams params term)) ty' >>= whnfT >>= pure . termIsWHNF- let decl = Decl name ty' (Just term') False vars+ let decl = Decl (varIdentAt path name) ty' (Just term') False (varIdentAt path <$> vars) fmap (decl :) $ localDeclPrepared decl $ do Context{..} <- ask termSVG <- case renderBackend of- Just RenderSVG -> renderTermSVG (Pure name)+ Just RenderSVG -> renderTermSVG (Pure (varIdentAt path name)) Just RenderLaTeX -> issueTypeError $ TypeErrorOther "\"latex\" rendering is not yet supported" Nothing -> pure Nothing maybe id trace termSVG $ do@@ -113,12 +113,12 @@ go i (command@(Rzk.CommandPostulate _loc name (Rzk.DeclUsedVars _ vars) params ty) : moreCommands) = traceTypeCheck Normal ("[ " <> show i <> " out of " <> show totalCommands <> " ]"- <> " Checking #postulate " <> show (Pure name :: Term') ) $ do+ <> " Checking #postulate " <> Rzk.printTree name) $ do withCommand command $ do- mapM_ checkDefinedVar vars+ mapM_ checkDefinedVar (varIdentAt path <$> vars) paramDecls <- concat <$> mapM paramToParamDecl params ty' <- typecheck (toTerm' (addParamDecls paramDecls ty)) universeT >>= whnfT -- >>= pure . termIsWHNF- let decl = Decl name ty' Nothing False vars+ let decl = Decl (varIdentAt path name) ty' Nothing False (varIdentAt path <$> vars) fmap (decl :) $ localDeclPrepared decl $ go (i + 1) moreCommands@@ -152,10 +152,10 @@ go i (command@(Rzk.CommandAssume _loc names ty) : moreCommands) = traceTypeCheck Normal ("[ " <> show i <> " out of " <> show totalCommands <> " ]"- <> " Checking #assume " <> intercalate " " [ show (Pure name :: Term') | name <- names ] ) $ do+ <> " Checking #assume " <> intercalate " " [ Rzk.printTree name | name <- names ] ) $ do withCommand command $ do ty' <- typecheck (toTerm' ty) universeT- let decls = [ Decl name ty' Nothing True [] | name <- names ]+ let decls = [ Decl (varIdentAt path name) ty' Nothing True [] | name <- names ] fmap (decls <>) $ localDeclsPrepared decls $ go (i + 1) moreCommands@@ -219,7 +219,7 @@ | TypeErrorTopeNotSatisfied [TermT var] (TermT var) | TypeErrorTopesNotEquivalent (TermT var) (TermT var) | TypeErrorInvalidArgumentType (Term var) (TermT var)- | TypeErrorDuplicateTopLevel Rzk.VarIdent+ | TypeErrorDuplicateTopLevel [VarIdent] VarIdent | TypeErrorUnusedVariable var (TermT var) | TypeErrorUnusedUsedVariables [var] var | TypeErrorImplicitAssumption (var, TermT var) var@@ -232,10 +232,10 @@ data TypeErrorInScopedContext var = PlainTypeError (TypeErrorInContext var)- | ScopedTypeError (Maybe Rzk.VarIdent) (TypeErrorInScopedContext (Inc var))+ | ScopedTypeError (Maybe VarIdent) (TypeErrorInScopedContext (Inc var)) deriving (Functor, Foldable) -type TypeError' = TypeError Rzk.VarIdent+type TypeError' = TypeError VarIdent ppTypeError' :: TypeError' -> String ppTypeError' = \case@@ -323,40 +323,44 @@ , " " <> show (untyped argKind) ] - TypeErrorDuplicateTopLevel name -> unlines+ TypeErrorDuplicateTopLevel previous lastName -> unlines [ "duplicate top-level definition"- , " " <> Rzk.printTree name+ , " " <> ppVarIdentWithLocation lastName+ , "previous top-level definitions found at"+ , intercalate "\n"+ [ " " <> ppVarIdentWithLocation name+ | name <- previous ] ] TypeErrorUnusedVariable name type_ -> unlines [ "unused variable"- , " " <> Rzk.printTree name <> " : " <> show (untyped type_)+ , " " <> Rzk.printTree (getVarIdent name) <> " : " <> show (untyped type_) ] TypeErrorUnusedUsedVariables vars name -> unlines [ "unused variables"- , " " <> intercalate " " (map Rzk.printTree vars)+ , " " <> intercalate " " (map (Rzk.printTree . getVarIdent) vars) , "declared as used in definition of"- , " " <> Rzk.printTree name+ , " " <> Rzk.printTree (getVarIdent name) ] TypeErrorImplicitAssumption (a, aType) name -> unlines [ "implicit assumption"- , " " <> Rzk.printTree a <> " : " <> show (untyped aType)+ , " " <> Rzk.printTree (getVarIdent a) <> " : " <> show (untyped aType) , "used in definition of"- , " " <> Rzk.printTree name+ , " " <> Rzk.printTree (getVarIdent name) ] -ppTypeErrorInContext :: TypeErrorInContext Rzk.VarIdent -> String+ppTypeErrorInContext :: TypeErrorInContext VarIdent -> String ppTypeErrorInContext TypeErrorInContext{..} = intercalate "\n" [ ppContext' typeErrorContext , ppTypeError' typeErrorError ] ppTypeErrorInScopedContextWith'- :: [Rzk.VarIdent]- -> [Rzk.VarIdent]- -> TypeErrorInScopedContext Rzk.VarIdent+ :: [VarIdent]+ -> [VarIdent]+ -> TypeErrorInScopedContext VarIdent -> String ppTypeErrorInScopedContextWith' used vars = \case PlainTypeError err -> ppTypeErrorInContext err@@ -374,7 +378,7 @@ where z' = refreshVar used z -- FIXME: inefficient -ppTypeErrorInScopedContext' :: TypeErrorInScopedContext Rzk.VarIdent -> String+ppTypeErrorInScopedContext' :: TypeErrorInScopedContext VarIdent -> String ppTypeErrorInScopedContext' err = ppTypeErrorInScopedContextWith' vars (defaultVarIdents \\ vars) err where vars = nub (foldMap pure err)@@ -413,23 +417,23 @@ | ActionCloseSection (Maybe Rzk.SectionName) deriving (Functor, Foldable) -type Action' = Action Rzk.VarIdent+type Action' = Action VarIdent ppTermInContext :: Eq var => TermT var -> TypeCheck var String ppTermInContext term = do vars <- freeVarsT_ term let mapping = zip vars defaultVarIdents- toRzkVarIdent origs var = fromMaybe (Rzk.VarIdent "_") $+ toRzkVarIdent origs var = fromMaybe "_" $ join (lookup var origs) <|> lookup var mapping origs <- asks varOrigs return (show (untyped (toRzkVarIdent origs <$> term))) -ppSomeAction :: Eq var => [(var, Maybe Rzk.VarIdent)] -> Int -> Action var -> String+ppSomeAction :: Eq var => [(var, Maybe VarIdent)] -> Int -> Action var -> String ppSomeAction origs n action = ppAction n (toRzkVarIdent <$> action) where vars = nub (foldMap pure action) mapping = zip vars defaultVarIdents- toRzkVarIdent var = fromMaybe (Rzk.VarIdent "_") $+ toRzkVarIdent var = fromMaybe "_" $ join (lookup var origs) <|> lookup var mapping ppAction :: Int -> Action' -> String@@ -553,7 +557,7 @@ data VarInfo var = VarInfo { varType :: TermT var , varValue :: Maybe (TermT var)- , varOrig :: Maybe Rzk.VarIdent+ , varOrig :: Maybe VarIdent , varIsAssumption :: Bool -- FIXME: perhaps, introduce something like decl kind? , varDeclaredAssumptions :: [var] } deriving (Functor, Foldable)@@ -609,14 +613,14 @@ varValues :: Context var -> [(var, Maybe (TermT var))] varValues = map (fmap varValue) . varInfos -varOrigs :: Context var -> [(var, Maybe Rzk.VarIdent)]+varOrigs :: Context var -> [(var, Maybe VarIdent)] varOrigs = map (fmap varOrig) . varInfos withSection :: Maybe Rzk.SectionName- -> TypeCheck Rzk.VarIdent [Decl Rzk.VarIdent]- -> TypeCheck Rzk.VarIdent [Decl Rzk.VarIdent]- -> TypeCheck Rzk.VarIdent [Decl Rzk.VarIdent]+ -> TypeCheck VarIdent [Decl VarIdent]+ -> TypeCheck VarIdent [Decl VarIdent]+ -> TypeCheck VarIdent [Decl VarIdent] withSection name sectionBody next = do sectionDecls <- startSection name $ do decls <- sectionBody@@ -627,12 +631,12 @@ localDeclsPrepared sectionDecls $ next -startSection :: Maybe Rzk.SectionName -> TypeCheck Rzk.VarIdent a -> TypeCheck Rzk.VarIdent a+startSection :: Maybe Rzk.SectionName -> TypeCheck VarIdent a -> TypeCheck VarIdent a startSection name = local $ \Context{..} -> Context { localScopes = ScopeInfo { scopeName = name, scopeVars = [] } : localScopes , .. } -endSection :: TypeCheck Rzk.VarIdent [Decl Rzk.VarIdent]+endSection :: TypeCheck VarIdent [Decl VarIdent] endSection = askCurrentScope >>= scopeToDecls scopeToDecls :: Eq var => ScopeInfo var -> TypeCheck var [Decl var]@@ -732,7 +736,7 @@ where newDeclType = typeFunT varOrig varType Nothing (abstract var declType) -ppContext' :: Context Rzk.VarIdent -> String+ppContext' :: Context VarIdent -> String ppContext' ctx@Context{..} = unlines [ "Definitions in context:" , unlines@@ -749,9 +753,9 @@ _ -> "" , case currentCommand of Just (Rzk.CommandDefine _loc name _vars _params _ty _term) ->- " Error occurred when checking\n #define " <> show (Pure name :: Term')+ " Error occurred when checking\n #define " <> Rzk.printTree name Just (Rzk.CommandPostulate _loc name _vars _params _ty ) ->- " Error occurred when checking\n #postulate " <> show (Pure name :: Term')+ " Error occurred when checking\n #postulate " <> Rzk.printTree name Just (Rzk.CommandCheck _loc term ty) -> " Error occurred when checking\n " <> Rzk.printTree term <> " : " <> Rzk.printTree ty Just (Rzk.CommandCompute _loc term) ->@@ -773,22 +777,28 @@ -- , intercalate "\n" (map ((" " <>) . show . untyped) (intercalate [TopeAndT topeT topeBottomT topeBottomT] (saturateTopes [] <$> simplifyLHS localTopes))) ] -doesShadowName :: Rzk.VarIdent -> TypeCheck var Bool+doesShadowName :: VarIdent -> TypeCheck var [VarIdent] doesShadowName name = asks $ \ctx ->- name `elem` mapMaybe snd (varOrigs ctx)+ filter (name ==) (mapMaybe snd (varOrigs ctx)) -checkTopLevelDuplicate :: Rzk.VarIdent -> TypeCheck var ()+checkTopLevelDuplicate :: VarIdent -> TypeCheck var () checkTopLevelDuplicate name = do doesShadowName name >>= \case- True -> issueTypeError (TypeErrorDuplicateTopLevel name)- False -> return ()+ [] -> return ()+ collisions -> issueTypeError $+ TypeErrorDuplicateTopLevel collisions name -checkNameShadowing :: Rzk.VarIdent -> TypeCheck var ()+checkNameShadowing :: VarIdent -> TypeCheck var () checkNameShadowing name = do doesShadowName name >>= \case- True -> issueWarning $- Rzk.printTree name <> " shadows an existing definition"- False -> return ()+ [] -> return ()+ collisions -> issueWarning $+ Rzk.printTree (getVarIdent name) <> " shadows an existing definition:"+ <> unlines+ [ " " <> ppVarIdentWithLocation name+ , "previous top-level definitions found at"+ , intercalate "\n"+ [ " " <> ppVarIdentWithLocation prev | prev <- collisions ] ] withLocation :: LocationInfo -> TypeCheck var a -> TypeCheck var a withLocation loc = local $ \Context{..} -> Context { location = Just loc, .. }@@ -796,21 +806,21 @@ withCommand :: Rzk.Command -> TypeCheck var a -> TypeCheck var a withCommand command = local $ \Context{..} -> Context { currentCommand = Just command, .. } -localDecls :: [Decl Rzk.VarIdent] -> TypeCheck Rzk.VarIdent a -> TypeCheck Rzk.VarIdent a+localDecls :: [Decl VarIdent] -> TypeCheck VarIdent a -> TypeCheck VarIdent a localDecls [] = id localDecls (decl : decls) = localDecl decl . localDecls decls -localDeclsPrepared :: [Decl Rzk.VarIdent] -> TypeCheck Rzk.VarIdent a -> TypeCheck Rzk.VarIdent a+localDeclsPrepared :: [Decl VarIdent] -> TypeCheck VarIdent a -> TypeCheck VarIdent a localDeclsPrepared [] = id localDeclsPrepared (decl : decls) = localDeclPrepared decl . localDeclsPrepared decls -localDecl :: Decl Rzk.VarIdent -> TypeCheck Rzk.VarIdent a -> TypeCheck Rzk.VarIdent a+localDecl :: Decl VarIdent -> TypeCheck VarIdent a -> TypeCheck VarIdent a localDecl (Decl x ty term isAssumption vars) tc = do ty' <- whnfT ty term' <- traverse whnfT term localDeclPrepared (Decl x ty' term' isAssumption vars) tc -localDeclPrepared :: Decl Rzk.VarIdent -> TypeCheck Rzk.VarIdent a -> TypeCheck Rzk.VarIdent a+localDeclPrepared :: Decl VarIdent -> TypeCheck VarIdent a -> TypeCheck VarIdent a localDeclPrepared (Decl x ty term isAssumption vars) tc = do checkTopLevelDuplicate x local update tc@@ -1070,7 +1080,7 @@ switch Covariant = Contravariant switch Contravariant = Covariant -enterScopeContext :: Maybe Rzk.VarIdent -> TermT var -> Context var -> Context (Inc var)+enterScopeContext :: Maybe VarIdent -> TermT var -> Context var -> Context (Inc var) enterScopeContext orig ty = addVarInCurrentScope Z VarInfo { varType = S <$> ty@@ -1081,7 +1091,7 @@ } . fmap S -enterScope :: Maybe Rzk.VarIdent -> TermT var -> TypeCheck (Inc var) b -> TypeCheck var b+enterScope :: Maybe VarIdent -> TermT var -> TypeCheck (Inc var) b -> TypeCheck var b enterScope orig ty action = do newContext <- asks (enterScopeContext orig ty) lift $ withExceptT (ScopedTypeError orig) $@@ -1233,6 +1243,8 @@ TypeSigmaT{} -> pure tt TypeIdT{} -> pure tt RecBottomT{} -> pure tt+ TypeUnitT{} -> pure tt+ UnitT{} -> pure tt -- type ascriptions are ignored, since we already have a typechecked term TypeAscT _ty term _ty' -> whnfT term@@ -1338,6 +1350,10 @@ Cube2_0T{} -> pure tt Cube2_1T{} -> pure tt + -- type layer constants+ TypeUnitT{} -> pure tt+ UnitT{} -> pure tt+ -- cube layer with computation CubeProductT _ty l r -> cubeProductT <$> nfTope l <*> nfTope r @@ -1439,6 +1455,8 @@ -- type layer constants ReflT ty _x -> pure (ReflT ty Nothing) RecBottomT{} -> pure tt+ TypeUnitT{} -> pure tt+ UnitT{} -> pure tt -- type ascriptions are ignored, since we already have a typechecked term TypeAscT _ty term _ty' -> nfT term@@ -1621,6 +1639,9 @@ UniverseCubeT{} -> def UniverseTopeT{} -> def + TypeUnitT{} -> def+ UnitT{} -> return () -- Unit always unifies!+ CubeUnitT{} -> def CubeUnitStarT{} -> def Cube2T{} -> def@@ -1888,6 +1909,18 @@ , infoNF = Just cubeUnitStarT , infoWHNF = Just cubeUnitStarT } +typeUnitT :: TermT var+typeUnitT = TypeUnitT TypeInfo+ { infoType = universeT+ , infoNF = Just typeUnitT+ , infoWHNF = Just typeUnitT }++unitT :: TermT var+unitT = UnitT TypeInfo+ { infoType = typeUnitT+ , infoNF = Just unitT+ , infoWHNF = Just unitT }+ cube2T :: TermT var cube2T = Cube2T TypeInfo { infoType = cubeT@@ -1936,7 +1969,7 @@ lambdaT :: TermT var- -> Maybe Rzk.VarIdent+ -> Maybe VarIdent -> Maybe (TermT var, Maybe (Scope TermT var)) -> Scope TermT var -> TermT var@@ -2003,7 +2036,7 @@ } typeFunT- :: Maybe Rzk.VarIdent+ :: Maybe VarIdent -> TermT var -> Maybe (Scope TermT var) -> Scope TermT var@@ -2018,7 +2051,7 @@ } typeSigmaT- :: Maybe Rzk.VarIdent+ :: Maybe VarIdent -> TermT var -> Scope TermT var -> TermT var@@ -2236,6 +2269,9 @@ CubeProductT _ty _l r -> return (secondT r t') ty -> issueTypeError $ TypeErrorNotPair t' ty++ TypeUnit -> pure typeUnitT+ Unit -> pure unitT TopeTop -> pure topeTopT TopeBottom -> pure topeBottomT