diff options
Diffstat (limited to 'src/GF/Source')
| -rw-r--r-- | src/GF/Source/AbsGF.hs | 614 | ||||
| -rw-r--r-- | src/GF/Source/ErrM.hs | 52 | ||||
| -rw-r--r-- | src/GF/Source/LexGF.hs | 700 | ||||
| -rw-r--r-- | src/GF/Source/LexGF.x | 288 | ||||
| -rw-r--r-- | src/GF/Source/ParGF.hs | 15686 | ||||
| -rw-r--r-- | src/GF/Source/ParGF.y | 1284 | ||||
| -rw-r--r-- | src/GF/Source/PrintGF.hs | 1068 | ||||
| -rw-r--r-- | src/GF/Source/SharedString.hs | 40 |
8 files changed, 9866 insertions, 9866 deletions
diff --git a/src/GF/Source/AbsGF.hs b/src/GF/Source/AbsGF.hs index 86e521318..ac6968252 100644 --- a/src/GF/Source/AbsGF.hs +++ b/src/GF/Source/AbsGF.hs @@ -1,307 +1,307 @@ -module GF.Source.AbsGF where
-
--- Haskell module generated by the BNF converter
-
-import qualified Data.ByteString.Char8 as BS
-newtype LString = LString BS.ByteString deriving (Eq,Ord,Show)
-newtype PIdent = PIdent ((Int,Int),BS.ByteString) deriving (Eq,Ord,Show)
-data Grammar =
- Gr [ModDef]
- deriving (Eq,Ord,Show)
-
-data ModDef =
- MMain PIdent PIdent [ConcSpec]
- | MModule ComplMod ModType ModBody
- deriving (Eq,Ord,Show)
-
-data ConcSpec =
- ConcSpec PIdent ConcExp
- deriving (Eq,Ord,Show)
-
-data ConcExp =
- ConcExp PIdent [Transfer]
- deriving (Eq,Ord,Show)
-
-data Transfer =
- TransferIn Open
- | TransferOut Open
- deriving (Eq,Ord,Show)
-
-data ModType =
- MTAbstract PIdent
- | MTResource PIdent
- | MTInterface PIdent
- | MTConcrete PIdent PIdent
- | MTInstance PIdent PIdent
- | MTTransfer PIdent Open Open
- deriving (Eq,Ord,Show)
-
-data ModBody =
- MBody Extend Opens [TopDef]
- | MNoBody [Included]
- | MWith Included [Open]
- | MWithBody Included [Open] Opens [TopDef]
- | MWithE [Included] Included [Open]
- | MWithEBody [Included] Included [Open] Opens [TopDef]
- | MReuse PIdent
- | MUnion [Included]
- deriving (Eq,Ord,Show)
-
-data Extend =
- Ext [Included]
- | NoExt
- deriving (Eq,Ord,Show)
-
-data Opens =
- NoOpens
- | OpenIn [Open]
- deriving (Eq,Ord,Show)
-
-data Open =
- OName PIdent
- | OQualQO QualOpen PIdent
- | OQual QualOpen PIdent PIdent
- deriving (Eq,Ord,Show)
-
-data ComplMod =
- CMCompl
- | CMIncompl
- deriving (Eq,Ord,Show)
-
-data QualOpen =
- QOCompl
- | QOIncompl
- | QOInterface
- deriving (Eq,Ord,Show)
-
-data Included =
- IAll PIdent
- | ISome PIdent [PIdent]
- | IMinus PIdent [PIdent]
- deriving (Eq,Ord,Show)
-
-data Def =
- DDecl [Name] Exp
- | DDef [Name] Exp
- | DPatt Name [Patt] Exp
- | DFull [Name] Exp Exp
- deriving (Eq,Ord,Show)
-
-data TopDef =
- DefCat [CatDef]
- | DefFun [FunDef]
- | DefFunData [FunDef]
- | DefDef [Def]
- | DefData [DataDef]
- | DefTrans [Def]
- | DefPar [ParDef]
- | DefOper [Def]
- | DefLincat [PrintDef]
- | DefLindef [Def]
- | DefLin [Def]
- | DefPrintCat [PrintDef]
- | DefPrintFun [PrintDef]
- | DefFlag [FlagDef]
- | DefPrintOld [PrintDef]
- | DefLintype [Def]
- | DefPattern [Def]
- | DefPackage PIdent [TopDef]
- | DefVars [Def]
- | DefTokenizer PIdent
- deriving (Eq,Ord,Show)
-
-data CatDef =
- SimpleCatDef PIdent [DDecl]
- | ListCatDef PIdent [DDecl]
- | ListSizeCatDef PIdent [DDecl] Integer
- deriving (Eq,Ord,Show)
-
-data FunDef =
- FunDef [PIdent] Exp
- deriving (Eq,Ord,Show)
-
-data DataDef =
- DataDef PIdent [DataConstr]
- deriving (Eq,Ord,Show)
-
-data DataConstr =
- DataId PIdent
- | DataQId PIdent PIdent
- deriving (Eq,Ord,Show)
-
-data ParDef =
- ParDefDir PIdent [ParConstr]
- | ParDefIndir PIdent PIdent
- | ParDefAbs PIdent
- deriving (Eq,Ord,Show)
-
-data ParConstr =
- ParConstr PIdent [DDecl]
- deriving (Eq,Ord,Show)
-
-data PrintDef =
- PrintDef [Name] Exp
- deriving (Eq,Ord,Show)
-
-data FlagDef =
- FlagDef PIdent PIdent
- deriving (Eq,Ord,Show)
-
-data Name =
- IdentName PIdent
- | ListName PIdent
- deriving (Eq,Ord,Show)
-
-data LocDef =
- LDDecl [PIdent] Exp
- | LDDef [PIdent] Exp
- | LDFull [PIdent] Exp Exp
- deriving (Eq,Ord,Show)
-
-data Exp =
- EIdent PIdent
- | EConstr PIdent
- | ECons PIdent
- | ESort Sort
- | EString String
- | EInt Integer
- | EFloat Double
- | EMeta
- | EEmpty
- | EData
- | EList PIdent Exps
- | EStrings String
- | ERecord [LocDef]
- | ETuple [TupleComp]
- | EIndir PIdent
- | ETyped Exp Exp
- | EProj Exp Label
- | EQConstr PIdent PIdent
- | EQCons PIdent PIdent
- | EApp Exp Exp
- | ETable [Case]
- | ETTable Exp [Case]
- | EVTable Exp [Exp]
- | ECase Exp [Case]
- | EVariants [Exp]
- | EPre Exp [Altern]
- | EStrs [Exp]
- | EConAt PIdent Exp
- | EPatt Patt
- | EPattType Exp
- | ESelect Exp Exp
- | ETupTyp Exp Exp
- | EExtend Exp Exp
- | EGlue Exp Exp
- | EConcat Exp Exp
- | EAbstr [Bind] Exp
- | ECTable [Bind] Exp
- | EProd Decl Exp
- | ETType Exp Exp
- | ELet [LocDef] Exp
- | ELetb [LocDef] Exp
- | EWhere Exp [LocDef]
- | EEqs [Equation]
- | EExample Exp String
- | ELString LString
- | ELin PIdent
- deriving (Eq,Ord,Show)
-
-data Exps =
- NilExp
- | ConsExp Exp Exps
- deriving (Eq,Ord,Show)
-
-data Patt =
- PChar
- | PChars String
- | PMacro PIdent
- | PM PIdent PIdent
- | PW
- | PV PIdent
- | PCon PIdent
- | PQ PIdent PIdent
- | PInt Integer
- | PFloat Double
- | PStr String
- | PR [PattAss]
- | PTup [PattTupleComp]
- | PC PIdent [Patt]
- | PQC PIdent PIdent [Patt]
- | PDisj Patt Patt
- | PSeq Patt Patt
- | PRep Patt
- | PAs PIdent Patt
- | PNeg Patt
- deriving (Eq,Ord,Show)
-
-data PattAss =
- PA [PIdent] Patt
- deriving (Eq,Ord,Show)
-
-data Label =
- LIdent PIdent
- | LVar Integer
- deriving (Eq,Ord,Show)
-
-data Sort =
- Sort_Type
- | Sort_PType
- | Sort_Tok
- | Sort_Str
- | Sort_Strs
- deriving (Eq,Ord,Show)
-
-data Bind =
- BIdent PIdent
- | BWild
- deriving (Eq,Ord,Show)
-
-data Decl =
- DDec [Bind] Exp
- | DExp Exp
- deriving (Eq,Ord,Show)
-
-data TupleComp =
- TComp Exp
- deriving (Eq,Ord,Show)
-
-data PattTupleComp =
- PTComp Patt
- deriving (Eq,Ord,Show)
-
-data Case =
- Case Patt Exp
- deriving (Eq,Ord,Show)
-
-data Equation =
- Equ [Patt] Exp
- deriving (Eq,Ord,Show)
-
-data Altern =
- Alt Exp Exp
- deriving (Eq,Ord,Show)
-
-data DDecl =
- DDDec [Bind] Exp
- | DDExp Exp
- deriving (Eq,Ord,Show)
-
-data OldGrammar =
- OldGr Include [TopDef]
- deriving (Eq,Ord,Show)
-
-data Include =
- NoIncl
- | Incl [FileName]
- deriving (Eq,Ord,Show)
-
-data FileName =
- FString String
- | FIdent PIdent
- | FSlash FileName
- | FDot FileName
- | FMinus FileName
- | FAddId PIdent FileName
- deriving (Eq,Ord,Show)
-
+module GF.Source.AbsGF where + +-- Haskell module generated by the BNF converter + +import qualified Data.ByteString.Char8 as BS +newtype LString = LString BS.ByteString deriving (Eq,Ord,Show) +newtype PIdent = PIdent ((Int,Int),BS.ByteString) deriving (Eq,Ord,Show) +data Grammar = + Gr [ModDef] + deriving (Eq,Ord,Show) + +data ModDef = + MMain PIdent PIdent [ConcSpec] + | MModule ComplMod ModType ModBody + deriving (Eq,Ord,Show) + +data ConcSpec = + ConcSpec PIdent ConcExp + deriving (Eq,Ord,Show) + +data ConcExp = + ConcExp PIdent [Transfer] + deriving (Eq,Ord,Show) + +data Transfer = + TransferIn Open + | TransferOut Open + deriving (Eq,Ord,Show) + +data ModType = + MTAbstract PIdent + | MTResource PIdent + | MTInterface PIdent + | MTConcrete PIdent PIdent + | MTInstance PIdent PIdent + | MTTransfer PIdent Open Open + deriving (Eq,Ord,Show) + +data ModBody = + MBody Extend Opens [TopDef] + | MNoBody [Included] + | MWith Included [Open] + | MWithBody Included [Open] Opens [TopDef] + | MWithE [Included] Included [Open] + | MWithEBody [Included] Included [Open] Opens [TopDef] + | MReuse PIdent + | MUnion [Included] + deriving (Eq,Ord,Show) + +data Extend = + Ext [Included] + | NoExt + deriving (Eq,Ord,Show) + +data Opens = + NoOpens + | OpenIn [Open] + deriving (Eq,Ord,Show) + +data Open = + OName PIdent + | OQualQO QualOpen PIdent + | OQual QualOpen PIdent PIdent + deriving (Eq,Ord,Show) + +data ComplMod = + CMCompl + | CMIncompl + deriving (Eq,Ord,Show) + +data QualOpen = + QOCompl + | QOIncompl + | QOInterface + deriving (Eq,Ord,Show) + +data Included = + IAll PIdent + | ISome PIdent [PIdent] + | IMinus PIdent [PIdent] + deriving (Eq,Ord,Show) + +data Def = + DDecl [Name] Exp + | DDef [Name] Exp + | DPatt Name [Patt] Exp + | DFull [Name] Exp Exp + deriving (Eq,Ord,Show) + +data TopDef = + DefCat [CatDef] + | DefFun [FunDef] + | DefFunData [FunDef] + | DefDef [Def] + | DefData [DataDef] + | DefTrans [Def] + | DefPar [ParDef] + | DefOper [Def] + | DefLincat [PrintDef] + | DefLindef [Def] + | DefLin [Def] + | DefPrintCat [PrintDef] + | DefPrintFun [PrintDef] + | DefFlag [FlagDef] + | DefPrintOld [PrintDef] + | DefLintype [Def] + | DefPattern [Def] + | DefPackage PIdent [TopDef] + | DefVars [Def] + | DefTokenizer PIdent + deriving (Eq,Ord,Show) + +data CatDef = + SimpleCatDef PIdent [DDecl] + | ListCatDef PIdent [DDecl] + | ListSizeCatDef PIdent [DDecl] Integer + deriving (Eq,Ord,Show) + +data FunDef = + FunDef [PIdent] Exp + deriving (Eq,Ord,Show) + +data DataDef = + DataDef PIdent [DataConstr] + deriving (Eq,Ord,Show) + +data DataConstr = + DataId PIdent + | DataQId PIdent PIdent + deriving (Eq,Ord,Show) + +data ParDef = + ParDefDir PIdent [ParConstr] + | ParDefIndir PIdent PIdent + | ParDefAbs PIdent + deriving (Eq,Ord,Show) + +data ParConstr = + ParConstr PIdent [DDecl] + deriving (Eq,Ord,Show) + +data PrintDef = + PrintDef [Name] Exp + deriving (Eq,Ord,Show) + +data FlagDef = + FlagDef PIdent PIdent + deriving (Eq,Ord,Show) + +data Name = + IdentName PIdent + | ListName PIdent + deriving (Eq,Ord,Show) + +data LocDef = + LDDecl [PIdent] Exp + | LDDef [PIdent] Exp + | LDFull [PIdent] Exp Exp + deriving (Eq,Ord,Show) + +data Exp = + EIdent PIdent + | EConstr PIdent + | ECons PIdent + | ESort Sort + | EString String + | EInt Integer + | EFloat Double + | EMeta + | EEmpty + | EData + | EList PIdent Exps + | EStrings String + | ERecord [LocDef] + | ETuple [TupleComp] + | EIndir PIdent + | ETyped Exp Exp + | EProj Exp Label + | EQConstr PIdent PIdent + | EQCons PIdent PIdent + | EApp Exp Exp + | ETable [Case] + | ETTable Exp [Case] + | EVTable Exp [Exp] + | ECase Exp [Case] + | EVariants [Exp] + | EPre Exp [Altern] + | EStrs [Exp] + | EConAt PIdent Exp + | EPatt Patt + | EPattType Exp + | ESelect Exp Exp + | ETupTyp Exp Exp + | EExtend Exp Exp + | EGlue Exp Exp + | EConcat Exp Exp + | EAbstr [Bind] Exp + | ECTable [Bind] Exp + | EProd Decl Exp + | ETType Exp Exp + | ELet [LocDef] Exp + | ELetb [LocDef] Exp + | EWhere Exp [LocDef] + | EEqs [Equation] + | EExample Exp String + | ELString LString + | ELin PIdent + deriving (Eq,Ord,Show) + +data Exps = + NilExp + | ConsExp Exp Exps + deriving (Eq,Ord,Show) + +data Patt = + PChar + | PChars String + | PMacro PIdent + | PM PIdent PIdent + | PW + | PV PIdent + | PCon PIdent + | PQ PIdent PIdent + | PInt Integer + | PFloat Double + | PStr String + | PR [PattAss] + | PTup [PattTupleComp] + | PC PIdent [Patt] + | PQC PIdent PIdent [Patt] + | PDisj Patt Patt + | PSeq Patt Patt + | PRep Patt + | PAs PIdent Patt + | PNeg Patt + deriving (Eq,Ord,Show) + +data PattAss = + PA [PIdent] Patt + deriving (Eq,Ord,Show) + +data Label = + LIdent PIdent + | LVar Integer + deriving (Eq,Ord,Show) + +data Sort = + Sort_Type + | Sort_PType + | Sort_Tok + | Sort_Str + | Sort_Strs + deriving (Eq,Ord,Show) + +data Bind = + BIdent PIdent + | BWild + deriving (Eq,Ord,Show) + +data Decl = + DDec [Bind] Exp + | DExp Exp + deriving (Eq,Ord,Show) + +data TupleComp = + TComp Exp + deriving (Eq,Ord,Show) + +data PattTupleComp = + PTComp Patt + deriving (Eq,Ord,Show) + +data Case = + Case Patt Exp + deriving (Eq,Ord,Show) + +data Equation = + Equ [Patt] Exp + deriving (Eq,Ord,Show) + +data Altern = + Alt Exp Exp + deriving (Eq,Ord,Show) + +data DDecl = + DDDec [Bind] Exp + | DDExp Exp + deriving (Eq,Ord,Show) + +data OldGrammar = + OldGr Include [TopDef] + deriving (Eq,Ord,Show) + +data Include = + NoIncl + | Incl [FileName] + deriving (Eq,Ord,Show) + +data FileName = + FString String + | FIdent PIdent + | FSlash FileName + | FDot FileName + | FMinus FileName + | FAddId PIdent FileName + deriving (Eq,Ord,Show) + diff --git a/src/GF/Source/ErrM.hs b/src/GF/Source/ErrM.hs index addd22f69..63840758e 100644 --- a/src/GF/Source/ErrM.hs +++ b/src/GF/Source/ErrM.hs @@ -1,26 +1,26 @@ --- BNF Converter: Error Monad
--- Copyright (C) 2004 Author: Aarne Ranta
-
--- This file comes with NO WARRANTY and may be used FOR ANY PURPOSE.
-module GF.Source.ErrM where
-
--- the Error monad: like Maybe type with error msgs
-
-import Control.Monad (MonadPlus(..), liftM)
-
-data Err a = Ok a | Bad String
- deriving (Read, Show, Eq, Ord)
-
-instance Monad Err where
- return = Ok
- fail = Bad
- Ok a >>= f = f a
- Bad s >>= f = Bad s
-
-instance Functor Err where
- fmap = liftM
-
-instance MonadPlus Err where
- mzero = Bad "Err.mzero"
- mplus (Bad _) y = y
- mplus x _ = x
+-- BNF Converter: Error Monad +-- Copyright (C) 2004 Author: Aarne Ranta + +-- This file comes with NO WARRANTY and may be used FOR ANY PURPOSE. +module GF.Source.ErrM where + +-- the Error monad: like Maybe type with error msgs + +import Control.Monad (MonadPlus(..), liftM) + +data Err a = Ok a | Bad String + deriving (Read, Show, Eq, Ord) + +instance Monad Err where + return = Ok + fail = Bad + Ok a >>= f = f a + Bad s >>= f = Bad s + +instance Functor Err where + fmap = liftM + +instance MonadPlus Err where + mzero = Bad "Err.mzero" + mplus (Bad _) y = y + mplus x _ = x diff --git a/src/GF/Source/LexGF.hs b/src/GF/Source/LexGF.hs index 1a2e507be..8ffb49c7f 100644 --- a/src/GF/Source/LexGF.hs +++ b/src/GF/Source/LexGF.hs @@ -1,350 +1,350 @@ -{-# OPTIONS -fglasgow-exts -cpp #-}
-{-# LINE 3 "LexGF.x" #-}
-
-{-# OPTIONS -fno-warn-incomplete-patterns #-}
-module GF.Source.LexGF where
-
-import GF.Source.SharedString
-import qualified Data.ByteString.Char8 as BS
-
-#if __GLASGOW_HASKELL__ >= 603
-#include "ghcconfig.h"
-#elif defined(__GLASGOW_HASKELL__)
-#include "config.h"
-#endif
-#if __GLASGOW_HASKELL__ >= 503
-import Data.Array
-import Data.Char (ord)
-import Data.Array.Base (unsafeAt)
-#else
-import Array
-import Char (ord)
-#endif
-#if __GLASGOW_HASKELL__ >= 503
-import GHC.Exts
-#else
-import GlaExts
-#endif
-alex_base :: AlexAddr
-alex_base = AlexA# "\x01\x00\x00\x00\x15\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x18\x00\x00\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x42\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x13\x00\x00\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x6c\x01\x00\x00\x3c\x02\x00\x00\x0c\x03\x00\x00\x00\x00\x00\x00\x17\x01\x00\x00\xe7\x01\x00\x00\xd5\x00\x00\x00\x35\x00\x00\x00\xe7\x00\x00\x00\xf2\x00\x00\x00\x1d\x01\x00\x00\xc2\x01\x00\x00\xcc\x01\x00\x00"#
-
-alex_table :: AlexAddr
-alex_table = AlexA# "\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x0d\x00\x0d\x00\x0d\x00\x0d\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\x0d\x00\x0e\x00\x1a\x00\x0e\x00\x0e\x00\x0e\x00\xff\xff\x14\x00\x0e\x00\x0e\x00\x0f\x00\x10\x00\x0e\x00\x05\x00\x0e\x00\x0e\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x0e\x00\x0e\x00\x0e\x00\x11\x00\x0e\x00\x0e\x00\x0e\x00\x04\x00\xff\xff\xff\xff\x02\x00\x02\x00\x09\x00\x09\x00\x09\x00\x0a\x00\x0d\x00\x0d\x00\x0d\x00\x0d\x00\x0d\x00\x0e\x00\x0e\x00\x0e\x00\x13\x00\x13\x00\x00\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x0e\x00\x0e\x00\xff\xff\x12\x00\xff\xff\x0d\x00\x20\x00\x00\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x00\x00\x00\x00\x09\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x0e\x00\x0e\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x06\x00\x07\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x1b\x00\xff\xff\x00\x00\x00\x00\x17\x00\x1b\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\xff\xff\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x21\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x1c\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x18\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\xff\xff\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x1c\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x17\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x00\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x00\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x18\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x00\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x00\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00"#
-
-alex_check :: AlexAddr
-alex_check = AlexA# "\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x2d\x00\x0a\x00\x0a\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x2a\x00\x3e\x00\x2b\x00\x27\x00\x27\x00\xff\xff\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x20\x00\x2e\x00\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x2d\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\x7d\x00\x7d\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xd7\x00\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x22\x00\xf7\x00\xff\xff\xff\xff\x5f\x00\x27\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\x65\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\x5c\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\x27\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x0a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\x22\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\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\x5c\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\x27\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\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\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\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xff\xff\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\x27\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\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\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\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xff\xff\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xff\xff\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00"#
-
-alex_deflt :: AlexAddr
-alex_deflt = AlexA# "\x16\x00\xff\xff\x03\x00\x03\x00\xff\xff\xff\xff\x0b\x00\xff\xff\x0b\x00\x0b\x00\x0b\x00\x0b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x15\x00\x15\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1b\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#
-
-alex_accept = listArray (0::Int,34) [[],[],[(AlexAccSkip)],[(AlexAccSkip)],[],[(AlexAcc (alex_action_3))],[(AlexAccSkip)],[(AlexAccSkip)],[],[],[],[],[(AlexAcc (alex_action_3))],[(AlexAccSkip)],[(AlexAcc (alex_action_3))],[(AlexAcc (alex_action_3))],[(AlexAcc (alex_action_3))],[(AlexAcc (alex_action_3))],[(AlexAcc (alex_action_3))],[(AlexAcc (alex_action_4))],[],[],[(AlexAcc (alex_action_5))],[(AlexAcc (alex_action_5))],[(AlexAcc (alex_action_5))],[(AlexAcc (alex_action_7))],[],[],[],[(AlexAcc (alex_action_8))],[(AlexAcc (alex_action_9))],[(AlexAcc (alex_action_9))],[],[],[]]
-{-# LINE 37 "LexGF.x" #-}
-
-
-tok f p s = f p s
-
-share :: BS.ByteString -> BS.ByteString
-share = shareString
-
-data Tok =
- TS !BS.ByteString !Int -- reserved words and symbols
- | TL !BS.ByteString -- string literals
- | TI !BS.ByteString -- integer literals
- | TV !BS.ByteString -- identifiers
- | TD !BS.ByteString -- double precision float literals
- | TC !BS.ByteString -- character literals
- | T_LString !BS.ByteString
- | T_PIdent !BS.ByteString
-
- deriving (Eq,Show,Ord)
-
-data Token =
- PT Posn Tok
- | Err Posn
- deriving (Eq,Show,Ord)
-
-tokenPos (PT (Pn _ l _) _ :_) = "line " ++ show l
-tokenPos (Err (Pn _ l _) :_) = "line " ++ show l
-tokenPos _ = "end of file"
-
-posLineCol (Pn _ l c) = (l,c)
-mkPosToken t@(PT p _) = (posLineCol p, prToken t)
-
-prToken t = case t of
- PT _ (TS s _) -> s
- PT _ (TL s) -> s
- PT _ (TI s) -> s
- PT _ (TV s) -> s
- PT _ (TD s) -> s
- PT _ (TC s) -> s
- PT _ (T_LString s) -> s
- PT _ (T_PIdent s) -> s
-
-
-data BTree = N | B BS.ByteString Tok BTree BTree deriving (Show)
-
-eitherResIdent :: (BS.ByteString -> Tok) -> BS.ByteString -> Tok
-eitherResIdent tv s = treeFind resWords
- where
- treeFind N = tv s
- treeFind (B a t left right) | s < a = treeFind left
- | s > a = treeFind right
- | s == a = t
-
-resWords = b "def" 39 (b "=>" 20 (b "++" 10 (b "(" 5 (b "$" 3 (b "#" 2 (b "!" 1 N N) N) (b "%" 4 N N)) (b "**" 8 (b "*" 7 (b ")" 6 N N) N) (b "+" 9 N N))) (b "/" 15 (b "->" 13 (b "-" 12 (b "," 11 N N) N) (b "." 14 N N)) (b "<" 18 (b ";" 17 (b ":" 16 N N) N) (b "=" 19 N N)))) (b "[" 30 (b "PType" 25 (b "@" 23 (b "?" 22 (b ">" 21 N N) N) (b "Lin" 24 N N)) (b "Tok" 28 (b "Strs" 27 (b "Str" 26 N N) N) (b "Type" 29 N N))) (b "case" 35 (b "_" 33 (b "]" 32 (b "\\" 31 N N) N) (b "abstract" 34 N N)) (b "concrete" 37 (b "cat" 36 N N) (b "data" 38 N N))))) (b "package" 58 (b "let" 49 (b "in" 44 (b "fun" 42 (b "fn" 41 (b "flags" 40 N N) N) (b "grammar" 43 N N)) (b "instance" 47 (b "incomplete" 46 (b "include" 45 N N) N) (b "interface" 48 N N))) (b "of" 54 (b "lindef" 52 (b "lincat" 51 (b "lin" 50 N N) N) (b "lintype" 53 N N)) (b "oper" 56 (b "open" 55 N N) (b "out" 57 N N)))) (b "transfer" 68 (b "resource" 63 (b "pre" 61 (b "pattern" 60 (b "param" 59 N N) N) (b "printname" 62 N N)) (b "table" 66 (b "strs" 65 (b "reuse" 64 N N) N) (b "tokenizer" 67 N N))) (b "with" 73 (b "variants" 71 (b "var" 70 (b "union" 69 N N) N) (b "where" 72 N N)) (b "|" 75 (b "{" 74 N N) (b "}" 76 N N)))))
- where b s n = let bs = BS.pack s
- in B bs (TS bs n)
-
-unescapeInitTail :: BS.ByteString -> BS.ByteString
-unescapeInitTail = BS.pack . unesc . tail . BS.unpack where
- unesc s = case s of
- '\\':c:cs | elem c ['\"', '\\', '\''] -> c : unesc cs
- '\\':'n':cs -> '\n' : unesc cs
- '\\':'t':cs -> '\t' : unesc cs
- '"':[] -> []
- c:cs -> c : unesc cs
- _ -> []
-
--------------------------------------------------------------------
--- Alex wrapper code.
--- A modified "posn" wrapper.
--------------------------------------------------------------------
-
-data Posn = Pn !Int !Int !Int
- deriving (Eq, Show,Ord)
-
-alexStartPos :: Posn
-alexStartPos = Pn 0 1 1
-
-alexMove :: Posn -> Char -> Posn
-alexMove (Pn a l c) '\t' = Pn (a+1) l (((c+7) `div` 8)*8+1)
-alexMove (Pn a l c) '\n' = Pn (a+1) (l+1) 1
-alexMove (Pn a l c) _ = Pn (a+1) l (c+1)
-
-type AlexInput = (Posn, -- current position,
- Char, -- previous char
- BS.ByteString) -- current input string
-
-tokens :: BS.ByteString -> [Token]
-tokens str = go (alexStartPos, '\n', str)
- where
- go :: AlexInput -> [Token]
- go inp@(pos, _, str) =
- case alexScan inp 0 of
- AlexEOF -> []
- AlexError (pos, _, _) -> [Err pos]
- AlexSkip inp' len -> go inp'
- AlexToken inp' len act -> act pos (BS.take len str) : (go inp')
-
-alexGetChar :: AlexInput -> Maybe (Char,AlexInput)
-alexGetChar (p, _, s) =
- case BS.uncons s of
- Nothing -> Nothing
- Just (c,s) ->
- let p' = alexMove p c
- in p' `seq` Just (c, (p', c, s))
-
-alexInputPrevChar :: AlexInput -> Char
-alexInputPrevChar (p, c, s) = c
-
-alex_action_3 = tok (\p s -> PT p (eitherResIdent (T_PIdent . share) s))
-alex_action_4 = tok (\p s -> PT p (eitherResIdent (T_LString . share) s))
-alex_action_5 = tok (\p s -> PT p (eitherResIdent (T_PIdent . share) s))
-alex_action_6 = tok (\p s -> PT p (eitherResIdent (TV . share) s))
-alex_action_7 = tok (\p s -> PT p (TL $ share $ unescapeInitTail s))
-alex_action_8 = tok (\p s -> PT p (TI $ share s))
-alex_action_9 = tok (\p s -> PT p (TD $ share s))
-{-# LINE 1 "templates/GenericTemplate.hs" #-}
-{-# LINE 1 "templates/GenericTemplate.hs" #-}
-{-# LINE 1 "<built-in>" #-}
-{-# LINE 1 "<command line>" #-}
-{-# LINE 1 "templates/GenericTemplate.hs" #-}
--- -----------------------------------------------------------------------------
--- ALEX TEMPLATE
---
--- This code is in the PUBLIC DOMAIN; you may copy it freely and use
--- it for any purpose whatsoever.
-
--- -----------------------------------------------------------------------------
--- INTERNALS and main scanner engine
-
-{-# LINE 35 "templates/GenericTemplate.hs" #-}
-
-{-# LINE 45 "templates/GenericTemplate.hs" #-}
-
-
-data AlexAddr = AlexA# Addr#
-
-#if __GLASGOW_HASKELL__ < 503
-uncheckedShiftL# = shiftL#
-#endif
-
-{-# INLINE alexIndexInt16OffAddr #-}
-alexIndexInt16OffAddr (AlexA# arr) off =
-#ifdef WORDS_BIGENDIAN
- narrow16Int# i
- where
- i = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low)
- high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))
- low = int2Word# (ord# (indexCharOffAddr# arr off'))
- off' = off *# 2#
-#else
- indexInt16OffAddr# arr off
-#endif
-
-
-
-
-
-{-# INLINE alexIndexInt32OffAddr #-}
-alexIndexInt32OffAddr (AlexA# arr) off =
-#ifdef WORDS_BIGENDIAN
- narrow32Int# i
- where
- i = word2Int# ((b3 `uncheckedShiftL#` 24#) `or#`
- (b2 `uncheckedShiftL#` 16#) `or#`
- (b1 `uncheckedShiftL#` 8#) `or#` b0)
- b3 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 3#)))
- b2 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 2#)))
- b1 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))
- b0 = int2Word# (ord# (indexCharOffAddr# arr off'))
- off' = off *# 4#
-#else
- indexInt32OffAddr# arr off
-#endif
-
-
-
-
-
-#if __GLASGOW_HASKELL__ < 503
-quickIndex arr i = arr ! i
-#else
--- GHC >= 503, unsafeAt is available from Data.Array.Base.
-quickIndex = unsafeAt
-#endif
-
-
-
-
--- -----------------------------------------------------------------------------
--- Main lexing routines
-
-data AlexReturn a
- = AlexEOF
- | AlexError !AlexInput
- | AlexSkip !AlexInput !Int
- | AlexToken !AlexInput !Int a
-
--- alexScan :: AlexInput -> StartCode -> AlexReturn a
-alexScan input (I# (sc))
- = alexScanUser undefined input (I# (sc))
-
-alexScanUser user input (I# (sc))
- = case alex_scan_tkn user input 0# input sc AlexNone of
- (AlexNone, input') ->
- case alexGetChar input of
- Nothing ->
-
-
-
- AlexEOF
- Just _ ->
-
-
-
- AlexError input'
-
- (AlexLastSkip input len, _) ->
-
-
-
- AlexSkip input len
-
- (AlexLastAcc k input len, _) ->
-
-
-
- AlexToken input len k
-
-
--- Push the input through the DFA, remembering the most recent accepting
--- state it encountered.
-
-alex_scan_tkn user orig_input len input s last_acc =
- input `seq` -- strict in the input
- let
- new_acc = check_accs (alex_accept `quickIndex` (I# (s)))
- in
- new_acc `seq`
- case alexGetChar input of
- Nothing -> (new_acc, input)
- Just (c, new_input) ->
-
-
-
- let
- base = alexIndexInt32OffAddr alex_base s
- (I# (ord_c)) = ord c
- offset = (base +# ord_c)
- check = alexIndexInt16OffAddr alex_check offset
-
- new_s = if (offset >=# 0#) && (check ==# ord_c)
- then alexIndexInt16OffAddr alex_table offset
- else alexIndexInt16OffAddr alex_deflt s
- in
- case new_s of
- -1# -> (new_acc, input)
- -- on an error, we want to keep the input *before* the
- -- character that failed, not after.
- _ -> alex_scan_tkn user orig_input (len +# 1#)
- new_input new_s new_acc
-
- where
- check_accs [] = last_acc
- check_accs (AlexAcc a : _) = AlexLastAcc a input (I# (len))
- check_accs (AlexAccSkip : _) = AlexLastSkip input (I# (len))
- check_accs (AlexAccPred a pred : rest)
- | pred user orig_input (I# (len)) input
- = AlexLastAcc a input (I# (len))
- check_accs (AlexAccSkipPred pred : rest)
- | pred user orig_input (I# (len)) input
- = AlexLastSkip input (I# (len))
- check_accs (_ : rest) = check_accs rest
-
-data AlexLastAcc a
- = AlexNone
- | AlexLastAcc a !AlexInput !Int
- | AlexLastSkip !AlexInput !Int
-
-data AlexAcc a user
- = AlexAcc a
- | AlexAccSkip
- | AlexAccPred a (AlexAccPred user)
- | AlexAccSkipPred (AlexAccPred user)
-
-type AlexAccPred user = user -> AlexInput -> Int -> AlexInput -> Bool
-
--- -----------------------------------------------------------------------------
--- Predicates on a rule
-
-alexAndPred p1 p2 user in1 len in2
- = p1 user in1 len in2 && p2 user in1 len in2
-
---alexPrevCharIsPred :: Char -> AlexAccPred _
-alexPrevCharIs c _ input _ _ = c == alexInputPrevChar input
-
---alexPrevCharIsOneOfPred :: Array Char Bool -> AlexAccPred _
-alexPrevCharIsOneOf arr _ input _ _ = arr ! alexInputPrevChar input
-
---alexRightContext :: Int -> AlexAccPred _
-alexRightContext (I# (sc)) user _ _ input =
- case alex_scan_tkn user input 0# input sc AlexNone of
- (AlexNone, _) -> False
- _ -> True
- -- TODO: there's no need to find the longest
- -- match when checking the right context, just
- -- the first match will do.
-
--- used by wrappers
-iUnbox (I# (i)) = i
+{-# OPTIONS -fglasgow-exts -cpp #-} +{-# LINE 3 "LexGF.x" #-} + +{-# OPTIONS -fno-warn-incomplete-patterns #-} +module GF.Source.LexGF where + +import GF.Source.SharedString +import qualified Data.ByteString.Char8 as BS + +#if __GLASGOW_HASKELL__ >= 603 +#include "ghcconfig.h" +#elif defined(__GLASGOW_HASKELL__) +#include "config.h" +#endif +#if __GLASGOW_HASKELL__ >= 503 +import Data.Array +import Data.Char (ord) +import Data.Array.Base (unsafeAt) +#else +import Array +import Char (ord) +#endif +#if __GLASGOW_HASKELL__ >= 503 +import GHC.Exts +#else +import GlaExts +#endif +alex_base :: AlexAddr +alex_base = AlexA# "\x01\x00\x00\x00\x15\x00\x00\x00\x39\x00\x00\x00\x3a\x00\x00\x00\x18\x00\x00\x00\x19\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x1b\x00\x00\x00\x1c\x00\x00\x00\x1d\x00\x00\x00\x42\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x00\x00\x13\x00\x00\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x2d\x00\x00\x00\x6c\x01\x00\x00\x3c\x02\x00\x00\x0c\x03\x00\x00\x00\x00\x00\x00\x17\x01\x00\x00\xe7\x01\x00\x00\xd5\x00\x00\x00\x35\x00\x00\x00\xe7\x00\x00\x00\xf2\x00\x00\x00\x1d\x01\x00\x00\xc2\x01\x00\x00\xcc\x01\x00\x00"# + +alex_table :: AlexAddr +alex_table = AlexA# "\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x0d\x00\x0d\x00\x0d\x00\x0d\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\x0d\x00\x0e\x00\x1a\x00\x0e\x00\x0e\x00\x0e\x00\xff\xff\x14\x00\x0e\x00\x0e\x00\x0f\x00\x10\x00\x0e\x00\x05\x00\x0e\x00\x0e\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x0e\x00\x0e\x00\x0e\x00\x11\x00\x0e\x00\x0e\x00\x0e\x00\x04\x00\xff\xff\xff\xff\x02\x00\x02\x00\x09\x00\x09\x00\x09\x00\x0a\x00\x0d\x00\x0d\x00\x0d\x00\x0d\x00\x0d\x00\x0e\x00\x0e\x00\x0e\x00\x13\x00\x13\x00\x00\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x0e\x00\x0e\x00\xff\xff\x12\x00\xff\xff\x0d\x00\x20\x00\x00\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x00\x00\x00\x00\x09\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x0e\x00\x0e\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x06\x00\x07\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x1b\x00\xff\xff\x00\x00\x00\x00\x17\x00\x1b\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\xff\xff\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x21\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x1c\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x18\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\xff\xff\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x1c\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x17\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x00\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x00\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x18\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x00\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x00\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00\x18\x00"# + +alex_check :: AlexAddr +alex_check = AlexA# "\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x2d\x00\x0a\x00\x0a\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x2d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x2a\x00\x3e\x00\x2b\x00\x27\x00\x27\x00\xff\xff\xff\xff\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x20\x00\x2e\x00\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x2d\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\x7d\x00\x7d\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xd7\x00\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x22\x00\xf7\x00\xff\xff\xff\xff\x5f\x00\x27\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\x65\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\x5c\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\x27\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x0a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\x22\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\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\x5c\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\x27\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\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\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\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xff\xff\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\x27\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\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\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\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xff\xff\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xff\xff\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00"# + +alex_deflt :: AlexAddr +alex_deflt = AlexA# "\x16\x00\xff\xff\x03\x00\x03\x00\xff\xff\xff\xff\x0b\x00\xff\xff\x0b\x00\x0b\x00\x0b\x00\x0b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x15\x00\x15\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1b\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"# + +alex_accept = listArray (0::Int,34) [[],[],[(AlexAccSkip)],[(AlexAccSkip)],[],[(AlexAcc (alex_action_3))],[(AlexAccSkip)],[(AlexAccSkip)],[],[],[],[],[(AlexAcc (alex_action_3))],[(AlexAccSkip)],[(AlexAcc (alex_action_3))],[(AlexAcc (alex_action_3))],[(AlexAcc (alex_action_3))],[(AlexAcc (alex_action_3))],[(AlexAcc (alex_action_3))],[(AlexAcc (alex_action_4))],[],[],[(AlexAcc (alex_action_5))],[(AlexAcc (alex_action_5))],[(AlexAcc (alex_action_5))],[(AlexAcc (alex_action_7))],[],[],[],[(AlexAcc (alex_action_8))],[(AlexAcc (alex_action_9))],[(AlexAcc (alex_action_9))],[],[],[]] +{-# LINE 37 "LexGF.x" #-} + + +tok f p s = f p s + +share :: BS.ByteString -> BS.ByteString +share = shareString + +data Tok = + TS !BS.ByteString !Int -- reserved words and symbols + | TL !BS.ByteString -- string literals + | TI !BS.ByteString -- integer literals + | TV !BS.ByteString -- identifiers + | TD !BS.ByteString -- double precision float literals + | TC !BS.ByteString -- character literals + | T_LString !BS.ByteString + | T_PIdent !BS.ByteString + + deriving (Eq,Show,Ord) + +data Token = + PT Posn Tok + | Err Posn + deriving (Eq,Show,Ord) + +tokenPos (PT (Pn _ l _) _ :_) = "line " ++ show l +tokenPos (Err (Pn _ l _) :_) = "line " ++ show l +tokenPos _ = "end of file" + +posLineCol (Pn _ l c) = (l,c) +mkPosToken t@(PT p _) = (posLineCol p, prToken t) + +prToken t = case t of + PT _ (TS s _) -> s + PT _ (TL s) -> s + PT _ (TI s) -> s + PT _ (TV s) -> s + PT _ (TD s) -> s + PT _ (TC s) -> s + PT _ (T_LString s) -> s + PT _ (T_PIdent s) -> s + + +data BTree = N | B BS.ByteString Tok BTree BTree deriving (Show) + +eitherResIdent :: (BS.ByteString -> Tok) -> BS.ByteString -> Tok +eitherResIdent tv s = treeFind resWords + where + treeFind N = tv s + treeFind (B a t left right) | s < a = treeFind left + | s > a = treeFind right + | s == a = t + +resWords = b "def" 39 (b "=>" 20 (b "++" 10 (b "(" 5 (b "$" 3 (b "#" 2 (b "!" 1 N N) N) (b "%" 4 N N)) (b "**" 8 (b "*" 7 (b ")" 6 N N) N) (b "+" 9 N N))) (b "/" 15 (b "->" 13 (b "-" 12 (b "," 11 N N) N) (b "." 14 N N)) (b "<" 18 (b ";" 17 (b ":" 16 N N) N) (b "=" 19 N N)))) (b "[" 30 (b "PType" 25 (b "@" 23 (b "?" 22 (b ">" 21 N N) N) (b "Lin" 24 N N)) (b "Tok" 28 (b "Strs" 27 (b "Str" 26 N N) N) (b "Type" 29 N N))) (b "case" 35 (b "_" 33 (b "]" 32 (b "\\" 31 N N) N) (b "abstract" 34 N N)) (b "concrete" 37 (b "cat" 36 N N) (b "data" 38 N N))))) (b "package" 58 (b "let" 49 (b "in" 44 (b "fun" 42 (b "fn" 41 (b "flags" 40 N N) N) (b "grammar" 43 N N)) (b "instance" 47 (b "incomplete" 46 (b "include" 45 N N) N) (b "interface" 48 N N))) (b "of" 54 (b "lindef" 52 (b "lincat" 51 (b "lin" 50 N N) N) (b "lintype" 53 N N)) (b "oper" 56 (b "open" 55 N N) (b "out" 57 N N)))) (b "transfer" 68 (b "resource" 63 (b "pre" 61 (b "pattern" 60 (b "param" 59 N N) N) (b "printname" 62 N N)) (b "table" 66 (b "strs" 65 (b "reuse" 64 N N) N) (b "tokenizer" 67 N N))) (b "with" 73 (b "variants" 71 (b "var" 70 (b "union" 69 N N) N) (b "where" 72 N N)) (b "|" 75 (b "{" 74 N N) (b "}" 76 N N))))) + where b s n = let bs = BS.pack s + in B bs (TS bs n) + +unescapeInitTail :: BS.ByteString -> BS.ByteString +unescapeInitTail = BS.pack . unesc . tail . BS.unpack where + unesc s = case s of + '\\':c:cs | elem c ['\"', '\\', '\''] -> c : unesc cs + '\\':'n':cs -> '\n' : unesc cs + '\\':'t':cs -> '\t' : unesc cs + '"':[] -> [] + c:cs -> c : unesc cs + _ -> [] + +------------------------------------------------------------------- +-- Alex wrapper code. +-- A modified "posn" wrapper. +------------------------------------------------------------------- + +data Posn = Pn !Int !Int !Int + deriving (Eq, Show,Ord) + +alexStartPos :: Posn +alexStartPos = Pn 0 1 1 + +alexMove :: Posn -> Char -> Posn +alexMove (Pn a l c) '\t' = Pn (a+1) l (((c+7) `div` 8)*8+1) +alexMove (Pn a l c) '\n' = Pn (a+1) (l+1) 1 +alexMove (Pn a l c) _ = Pn (a+1) l (c+1) + +type AlexInput = (Posn, -- current position, + Char, -- previous char + BS.ByteString) -- current input string + +tokens :: BS.ByteString -> [Token] +tokens str = go (alexStartPos, '\n', str) + where + go :: AlexInput -> [Token] + go inp@(pos, _, str) = + case alexScan inp 0 of + AlexEOF -> [] + AlexError (pos, _, _) -> [Err pos] + AlexSkip inp' len -> go inp' + AlexToken inp' len act -> act pos (BS.take len str) : (go inp') + +alexGetChar :: AlexInput -> Maybe (Char,AlexInput) +alexGetChar (p, _, s) = + case BS.uncons s of + Nothing -> Nothing + Just (c,s) -> + let p' = alexMove p c + in p' `seq` Just (c, (p', c, s)) + +alexInputPrevChar :: AlexInput -> Char +alexInputPrevChar (p, c, s) = c + +alex_action_3 = tok (\p s -> PT p (eitherResIdent (T_PIdent . share) s)) +alex_action_4 = tok (\p s -> PT p (eitherResIdent (T_LString . share) s)) +alex_action_5 = tok (\p s -> PT p (eitherResIdent (T_PIdent . share) s)) +alex_action_6 = tok (\p s -> PT p (eitherResIdent (TV . share) s)) +alex_action_7 = tok (\p s -> PT p (TL $ share $ unescapeInitTail s)) +alex_action_8 = tok (\p s -> PT p (TI $ share s)) +alex_action_9 = tok (\p s -> PT p (TD $ share s)) +{-# LINE 1 "templates/GenericTemplate.hs" #-} +{-# LINE 1 "templates/GenericTemplate.hs" #-} +{-# LINE 1 "<built-in>" #-} +{-# LINE 1 "<command line>" #-} +{-# LINE 1 "templates/GenericTemplate.hs" #-} +-- ----------------------------------------------------------------------------- +-- ALEX TEMPLATE +-- +-- This code is in the PUBLIC DOMAIN; you may copy it freely and use +-- it for any purpose whatsoever. + +-- ----------------------------------------------------------------------------- +-- INTERNALS and main scanner engine + +{-# LINE 35 "templates/GenericTemplate.hs" #-} + +{-# LINE 45 "templates/GenericTemplate.hs" #-} + + +data AlexAddr = AlexA# Addr# + +#if __GLASGOW_HASKELL__ < 503 +uncheckedShiftL# = shiftL# +#endif + +{-# INLINE alexIndexInt16OffAddr #-} +alexIndexInt16OffAddr (AlexA# arr) off = +#ifdef WORDS_BIGENDIAN + narrow16Int# i + where + i = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low) + high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#))) + low = int2Word# (ord# (indexCharOffAddr# arr off')) + off' = off *# 2# +#else + indexInt16OffAddr# arr off +#endif + + + + + +{-# INLINE alexIndexInt32OffAddr #-} +alexIndexInt32OffAddr (AlexA# arr) off = +#ifdef WORDS_BIGENDIAN + narrow32Int# i + where + i = word2Int# ((b3 `uncheckedShiftL#` 24#) `or#` + (b2 `uncheckedShiftL#` 16#) `or#` + (b1 `uncheckedShiftL#` 8#) `or#` b0) + b3 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 3#))) + b2 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 2#))) + b1 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#))) + b0 = int2Word# (ord# (indexCharOffAddr# arr off')) + off' = off *# 4# +#else + indexInt32OffAddr# arr off +#endif + + + + + +#if __GLASGOW_HASKELL__ < 503 +quickIndex arr i = arr ! i +#else +-- GHC >= 503, unsafeAt is available from Data.Array.Base. +quickIndex = unsafeAt +#endif + + + + +-- ----------------------------------------------------------------------------- +-- Main lexing routines + +data AlexReturn a + = AlexEOF + | AlexError !AlexInput + | AlexSkip !AlexInput !Int + | AlexToken !AlexInput !Int a + +-- alexScan :: AlexInput -> StartCode -> AlexReturn a +alexScan input (I# (sc)) + = alexScanUser undefined input (I# (sc)) + +alexScanUser user input (I# (sc)) + = case alex_scan_tkn user input 0# input sc AlexNone of + (AlexNone, input') -> + case alexGetChar input of + Nothing -> + + + + AlexEOF + Just _ -> + + + + AlexError input' + + (AlexLastSkip input len, _) -> + + + + AlexSkip input len + + (AlexLastAcc k input len, _) -> + + + + AlexToken input len k + + +-- Push the input through the DFA, remembering the most recent accepting +-- state it encountered. + +alex_scan_tkn user orig_input len input s last_acc = + input `seq` -- strict in the input + let + new_acc = check_accs (alex_accept `quickIndex` (I# (s))) + in + new_acc `seq` + case alexGetChar input of + Nothing -> (new_acc, input) + Just (c, new_input) -> + + + + let + base = alexIndexInt32OffAddr alex_base s + (I# (ord_c)) = ord c + offset = (base +# ord_c) + check = alexIndexInt16OffAddr alex_check offset + + new_s = if (offset >=# 0#) && (check ==# ord_c) + then alexIndexInt16OffAddr alex_table offset + else alexIndexInt16OffAddr alex_deflt s + in + case new_s of + -1# -> (new_acc, input) + -- on an error, we want to keep the input *before* the + -- character that failed, not after. + _ -> alex_scan_tkn user orig_input (len +# 1#) + new_input new_s new_acc + + where + check_accs [] = last_acc + check_accs (AlexAcc a : _) = AlexLastAcc a input (I# (len)) + check_accs (AlexAccSkip : _) = AlexLastSkip input (I# (len)) + check_accs (AlexAccPred a pred : rest) + | pred user orig_input (I# (len)) input + = AlexLastAcc a input (I# (len)) + check_accs (AlexAccSkipPred pred : rest) + | pred user orig_input (I# (len)) input + = AlexLastSkip input (I# (len)) + check_accs (_ : rest) = check_accs rest + +data AlexLastAcc a + = AlexNone + | AlexLastAcc a !AlexInput !Int + | AlexLastSkip !AlexInput !Int + +data AlexAcc a user + = AlexAcc a + | AlexAccSkip + | AlexAccPred a (AlexAccPred user) + | AlexAccSkipPred (AlexAccPred user) + +type AlexAccPred user = user -> AlexInput -> Int -> AlexInput -> Bool + +-- ----------------------------------------------------------------------------- +-- Predicates on a rule + +alexAndPred p1 p2 user in1 len in2 + = p1 user in1 len in2 && p2 user in1 len in2 + +--alexPrevCharIsPred :: Char -> AlexAccPred _ +alexPrevCharIs c _ input _ _ = c == alexInputPrevChar input + +--alexPrevCharIsOneOfPred :: Array Char Bool -> AlexAccPred _ +alexPrevCharIsOneOf arr _ input _ _ = arr ! alexInputPrevChar input + +--alexRightContext :: Int -> AlexAccPred _ +alexRightContext (I# (sc)) user _ _ input = + case alex_scan_tkn user input 0# input sc AlexNone of + (AlexNone, _) -> False + _ -> True + -- TODO: there's no need to find the longest + -- match when checking the right context, just + -- the first match will do. + +-- used by wrappers +iUnbox (I# (i)) = i diff --git a/src/GF/Source/LexGF.x b/src/GF/Source/LexGF.x index 15671c9de..92f4dd626 100644 --- a/src/GF/Source/LexGF.x +++ b/src/GF/Source/LexGF.x @@ -1,144 +1,144 @@ --- -*- haskell -*-
--- This Alex file was machine-generated by the BNF converter
-{
-{-# OPTIONS -fno-warn-incomplete-patterns #-}
-module GF.Source.LexGF where
-
-import GF.Source.SharedString
-import qualified Data.ByteString.Char8 as BS
-}
-
-
-$l = [a-zA-Z\192 - \255] # [\215 \247] -- isolatin1 letter FIXME
-$c = [A-Z\192-\221] # [\215] -- capital isolatin1 letter FIXME
-$s = [a-z\222-\255] # [\247] -- small isolatin1 letter FIXME
-$d = [0-9] -- digit
-$i = [$l $d _ '] -- identifier character
-$u = [\0-\255] -- universal: any character
-
-@rsyms = -- symbols and non-identifier-like reserved words
- \; | \= | \{ | \} | \( | \) | \* \* | \: | \- \> | \, | \[ | \] | \- | \. | \| | \% | \? | \< | \> | \@ | \# | \! | \* | \+ | \+ \+ | \\ | \= \> | \_ | \$ | \/
-
-:-
-"--" [.]* ; -- Toss single line comments
-"{-" ([$u # \-] | \- [$u # \}])* ("-")+ "}" ;
-
-$white+ ;
-@rsyms { tok (\p s -> PT p (eitherResIdent (T_PIdent . share) s)) }
-\' ($u # \')* \' { tok (\p s -> PT p (eitherResIdent (T_LString . share) s)) }
-(\_ | $l)($l | $d | \_ | \')* { tok (\p s -> PT p (eitherResIdent (T_PIdent . share) s)) }
-
-$l $i* { tok (\p s -> PT p (eitherResIdent (TV . share) s)) }
-\" ([$u # [\" \\ \n]] | (\\ (\" | \\ | \' | n | t)))* \"{ tok (\p s -> PT p (TL $ share $ unescapeInitTail s)) }
-
-$d+ { tok (\p s -> PT p (TI $ share s)) }
-$d+ \. $d+ (e (\-)? $d+)? { tok (\p s -> PT p (TD $ share s)) }
-
-{
-
-tok f p s = f p s
-
-share :: BS.ByteString -> BS.ByteString
-share = shareString
-
-data Tok =
- TS !BS.ByteString !Int -- reserved words and symbols
- | TL !BS.ByteString -- string literals
- | TI !BS.ByteString -- integer literals
- | TV !BS.ByteString -- identifiers
- | TD !BS.ByteString -- double precision float literals
- | TC !BS.ByteString -- character literals
- | T_LString !BS.ByteString
- | T_PIdent !BS.ByteString
-
- deriving (Eq,Show,Ord)
-
-data Token =
- PT Posn Tok
- | Err Posn
- deriving (Eq,Show,Ord)
-
-tokenPos (PT (Pn _ l _) _ :_) = "line " ++ show l
-tokenPos (Err (Pn _ l _) :_) = "line " ++ show l
-tokenPos _ = "end of file"
-
-posLineCol (Pn _ l c) = (l,c)
-mkPosToken t@(PT p _) = (posLineCol p, prToken t)
-
-prToken t = case t of
- PT _ (TS s _) -> s
- PT _ (TL s) -> s
- PT _ (TI s) -> s
- PT _ (TV s) -> s
- PT _ (TD s) -> s
- PT _ (TC s) -> s
- PT _ (T_LString s) -> s
- PT _ (T_PIdent s) -> s
-
-
-data BTree = N | B BS.ByteString Tok BTree BTree deriving (Show)
-
-eitherResIdent :: (BS.ByteString -> Tok) -> BS.ByteString -> Tok
-eitherResIdent tv s = treeFind resWords
- where
- treeFind N = tv s
- treeFind (B a t left right) | s < a = treeFind left
- | s > a = treeFind right
- | s == a = t
-
-resWords = b "def" 39 (b "=>" 20 (b "++" 10 (b "(" 5 (b "$" 3 (b "#" 2 (b "!" 1 N N) N) (b "%" 4 N N)) (b "**" 8 (b "*" 7 (b ")" 6 N N) N) (b "+" 9 N N))) (b "/" 15 (b "->" 13 (b "-" 12 (b "," 11 N N) N) (b "." 14 N N)) (b "<" 18 (b ";" 17 (b ":" 16 N N) N) (b "=" 19 N N)))) (b "[" 30 (b "PType" 25 (b "@" 23 (b "?" 22 (b ">" 21 N N) N) (b "Lin" 24 N N)) (b "Tok" 28 (b "Strs" 27 (b "Str" 26 N N) N) (b "Type" 29 N N))) (b "case" 35 (b "_" 33 (b "]" 32 (b "\\" 31 N N) N) (b "abstract" 34 N N)) (b "concrete" 37 (b "cat" 36 N N) (b "data" 38 N N))))) (b "package" 58 (b "let" 49 (b "in" 44 (b "fun" 42 (b "fn" 41 (b "flags" 40 N N) N) (b "grammar" 43 N N)) (b "instance" 47 (b "incomplete" 46 (b "include" 45 N N) N) (b "interface" 48 N N))) (b "of" 54 (b "lindef" 52 (b "lincat" 51 (b "lin" 50 N N) N) (b "lintype" 53 N N)) (b "oper" 56 (b "open" 55 N N) (b "out" 57 N N)))) (b "transfer" 68 (b "resource" 63 (b "pre" 61 (b "pattern" 60 (b "param" 59 N N) N) (b "printname" 62 N N)) (b "table" 66 (b "strs" 65 (b "reuse" 64 N N) N) (b "tokenizer" 67 N N))) (b "with" 73 (b "variants" 71 (b "var" 70 (b "union" 69 N N) N) (b "where" 72 N N)) (b "|" 75 (b "{" 74 N N) (b "}" 76 N N)))))
- where b s n = let bs = BS.pack s
- in B bs (TS bs n)
-
-unescapeInitTail :: BS.ByteString -> BS.ByteString
-unescapeInitTail = BS.pack . unesc . tail . BS.unpack where
- unesc s = case s of
- '\\':c:cs | elem c ['\"', '\\', '\''] -> c : unesc cs
- '\\':'n':cs -> '\n' : unesc cs
- '\\':'t':cs -> '\t' : unesc cs
- '"':[] -> []
- c:cs -> c : unesc cs
- _ -> []
-
--------------------------------------------------------------------
--- Alex wrapper code.
--- A modified "posn" wrapper.
--------------------------------------------------------------------
-
-data Posn = Pn !Int !Int !Int
- deriving (Eq, Show,Ord)
-
-alexStartPos :: Posn
-alexStartPos = Pn 0 1 1
-
-alexMove :: Posn -> Char -> Posn
-alexMove (Pn a l c) '\t' = Pn (a+1) l (((c+7) `div` 8)*8+1)
-alexMove (Pn a l c) '\n' = Pn (a+1) (l+1) 1
-alexMove (Pn a l c) _ = Pn (a+1) l (c+1)
-
-type AlexInput = (Posn, -- current position,
- Char, -- previous char
- BS.ByteString) -- current input string
-
-tokens :: BS.ByteString -> [Token]
-tokens str = go (alexStartPos, '\n', str)
- where
- go :: AlexInput -> [Token]
- go inp@(pos, _, str) =
- case alexScan inp 0 of
- AlexEOF -> []
- AlexError (pos, _, _) -> [Err pos]
- AlexSkip inp' len -> go inp'
- AlexToken inp' len act -> act pos (BS.take len str) : (go inp')
-
-alexGetChar :: AlexInput -> Maybe (Char,AlexInput)
-alexGetChar (p, _, s) =
- case BS.uncons s of
- Nothing -> Nothing
- Just (c,s) ->
- let p' = alexMove p c
- in p' `seq` Just (c, (p', c, s))
-
-alexInputPrevChar :: AlexInput -> Char
-alexInputPrevChar (p, c, s) = c
-}
+-- -*- haskell -*- +-- This Alex file was machine-generated by the BNF converter +{ +{-# OPTIONS -fno-warn-incomplete-patterns #-} +module GF.Source.LexGF where + +import GF.Source.SharedString +import qualified Data.ByteString.Char8 as BS +} + + +$l = [a-zA-Z\192 - \255] # [\215 \247] -- isolatin1 letter FIXME +$c = [A-Z\192-\221] # [\215] -- capital isolatin1 letter FIXME +$s = [a-z\222-\255] # [\247] -- small isolatin1 letter FIXME +$d = [0-9] -- digit +$i = [$l $d _ '] -- identifier character +$u = [\0-\255] -- universal: any character + +@rsyms = -- symbols and non-identifier-like reserved words + \; | \= | \{ | \} | \( | \) | \* \* | \: | \- \> | \, | \[ | \] | \- | \. | \| | \% | \? | \< | \> | \@ | \# | \! | \* | \+ | \+ \+ | \\ | \= \> | \_ | \$ | \/ + +:- +"--" [.]* ; -- Toss single line comments +"{-" ([$u # \-] | \- [$u # \}])* ("-")+ "}" ; + +$white+ ; +@rsyms { tok (\p s -> PT p (eitherResIdent (T_PIdent . share) s)) } +\' ($u # \')* \' { tok (\p s -> PT p (eitherResIdent (T_LString . share) s)) } +(\_ | $l)($l | $d | \_ | \')* { tok (\p s -> PT p (eitherResIdent (T_PIdent . share) s)) } + +$l $i* { tok (\p s -> PT p (eitherResIdent (TV . share) s)) } +\" ([$u # [\" \\ \n]] | (\\ (\" | \\ | \' | n | t)))* \"{ tok (\p s -> PT p (TL $ share $ unescapeInitTail s)) } + +$d+ { tok (\p s -> PT p (TI $ share s)) } +$d+ \. $d+ (e (\-)? $d+)? { tok (\p s -> PT p (TD $ share s)) } + +{ + +tok f p s = f p s + +share :: BS.ByteString -> BS.ByteString +share = shareString + +data Tok = + TS !BS.ByteString !Int -- reserved words and symbols + | TL !BS.ByteString -- string literals + | TI !BS.ByteString -- integer literals + | TV !BS.ByteString -- identifiers + | TD !BS.ByteString -- double precision float literals + | TC !BS.ByteString -- character literals + | T_LString !BS.ByteString + | T_PIdent !BS.ByteString + + deriving (Eq,Show,Ord) + +data Token = + PT Posn Tok + | Err Posn + deriving (Eq,Show,Ord) + +tokenPos (PT (Pn _ l _) _ :_) = "line " ++ show l +tokenPos (Err (Pn _ l _) :_) = "line " ++ show l +tokenPos _ = "end of file" + +posLineCol (Pn _ l c) = (l,c) +mkPosToken t@(PT p _) = (posLineCol p, prToken t) + +prToken t = case t of + PT _ (TS s _) -> s + PT _ (TL s) -> s + PT _ (TI s) -> s + PT _ (TV s) -> s + PT _ (TD s) -> s + PT _ (TC s) -> s + PT _ (T_LString s) -> s + PT _ (T_PIdent s) -> s + + +data BTree = N | B BS.ByteString Tok BTree BTree deriving (Show) + +eitherResIdent :: (BS.ByteString -> Tok) -> BS.ByteString -> Tok +eitherResIdent tv s = treeFind resWords + where + treeFind N = tv s + treeFind (B a t left right) | s < a = treeFind left + | s > a = treeFind right + | s == a = t + +resWords = b "def" 39 (b "=>" 20 (b "++" 10 (b "(" 5 (b "$" 3 (b "#" 2 (b "!" 1 N N) N) (b "%" 4 N N)) (b "**" 8 (b "*" 7 (b ")" 6 N N) N) (b "+" 9 N N))) (b "/" 15 (b "->" 13 (b "-" 12 (b "," 11 N N) N) (b "." 14 N N)) (b "<" 18 (b ";" 17 (b ":" 16 N N) N) (b "=" 19 N N)))) (b "[" 30 (b "PType" 25 (b "@" 23 (b "?" 22 (b ">" 21 N N) N) (b "Lin" 24 N N)) (b "Tok" 28 (b "Strs" 27 (b "Str" 26 N N) N) (b "Type" 29 N N))) (b "case" 35 (b "_" 33 (b "]" 32 (b "\\" 31 N N) N) (b "abstract" 34 N N)) (b "concrete" 37 (b "cat" 36 N N) (b "data" 38 N N))))) (b "package" 58 (b "let" 49 (b "in" 44 (b "fun" 42 (b "fn" 41 (b "flags" 40 N N) N) (b "grammar" 43 N N)) (b "instance" 47 (b "incomplete" 46 (b "include" 45 N N) N) (b "interface" 48 N N))) (b "of" 54 (b "lindef" 52 (b "lincat" 51 (b "lin" 50 N N) N) (b "lintype" 53 N N)) (b "oper" 56 (b "open" 55 N N) (b "out" 57 N N)))) (b "transfer" 68 (b "resource" 63 (b "pre" 61 (b "pattern" 60 (b "param" 59 N N) N) (b "printname" 62 N N)) (b "table" 66 (b "strs" 65 (b "reuse" 64 N N) N) (b "tokenizer" 67 N N))) (b "with" 73 (b "variants" 71 (b "var" 70 (b "union" 69 N N) N) (b "where" 72 N N)) (b "|" 75 (b "{" 74 N N) (b "}" 76 N N))))) + where b s n = let bs = BS.pack s + in B bs (TS bs n) + +unescapeInitTail :: BS.ByteString -> BS.ByteString +unescapeInitTail = BS.pack . unesc . tail . BS.unpack where + unesc s = case s of + '\\':c:cs | elem c ['\"', '\\', '\''] -> c : unesc cs + '\\':'n':cs -> '\n' : unesc cs + '\\':'t':cs -> '\t' : unesc cs + '"':[] -> [] + c:cs -> c : unesc cs + _ -> [] + +------------------------------------------------------------------- +-- Alex wrapper code. +-- A modified "posn" wrapper. +------------------------------------------------------------------- + +data Posn = Pn !Int !Int !Int + deriving (Eq, Show,Ord) + +alexStartPos :: Posn +alexStartPos = Pn 0 1 1 + +alexMove :: Posn -> Char -> Posn +alexMove (Pn a l c) '\t' = Pn (a+1) l (((c+7) `div` 8)*8+1) +alexMove (Pn a l c) '\n' = Pn (a+1) (l+1) 1 +alexMove (Pn a l c) _ = Pn (a+1) l (c+1) + +type AlexInput = (Posn, -- current position, + Char, -- previous char + BS.ByteString) -- current input string + +tokens :: BS.ByteString -> [Token] +tokens str = go (alexStartPos, '\n', str) + where + go :: AlexInput -> [Token] + go inp@(pos, _, str) = + case alexScan inp 0 of + AlexEOF -> [] + AlexError (pos, _, _) -> [Err pos] + AlexSkip inp' len -> go inp' + AlexToken inp' len act -> act pos (BS.take len str) : (go inp') + +alexGetChar :: AlexInput -> Maybe (Char,AlexInput) +alexGetChar (p, _, s) = + case BS.uncons s of + Nothing -> Nothing + Just (c,s) -> + let p' = alexMove p c + in p' `seq` Just (c, (p', c, s)) + +alexInputPrevChar :: AlexInput -> Char +alexInputPrevChar (p, c, s) = c +} diff --git a/src/GF/Source/ParGF.hs b/src/GF/Source/ParGF.hs index 863e6c7e9..360dfbe35 100644 --- a/src/GF/Source/ParGF.hs +++ b/src/GF/Source/ParGF.hs @@ -1,7843 +1,7843 @@ -{-# OPTIONS -fglasgow-exts -cpp #-}
-{-# OPTIONS -fno-warn-incomplete-patterns -fno-warn-overlapping-patterns #-}
-module GF.Source.ParGF where
-import GF.Source.AbsGF
-import GF.Source.LexGF
-import GF.Data.ErrM
-import qualified Data.ByteString.Char8 as BS
-#if __GLASGOW_HASKELL__ >= 503
-import GHC.Exts
-#else
-import GlaExts
-#endif
-
--- parser produced by Happy Version 1.17
-
-data HappyAbsSyn
- = HappyTerminal Token
- | HappyErrorToken Int
- | HappyAbsSyn8 (Integer)
- | HappyAbsSyn9 (String)
- | HappyAbsSyn10 (Double)
- | HappyAbsSyn11 (LString)
- | HappyAbsSyn12 (PIdent)
- | HappyAbsSyn13 (Grammar)
- | HappyAbsSyn14 ([ModDef])
- | HappyAbsSyn15 (ModDef)
- | HappyAbsSyn16 (ConcSpec)
- | HappyAbsSyn17 ([ConcSpec])
- | HappyAbsSyn18 (ConcExp)
- | HappyAbsSyn19 ([Transfer])
- | HappyAbsSyn20 (Transfer)
- | HappyAbsSyn22 (ModBody)
- | HappyAbsSyn23 (ModType)
- | HappyAbsSyn25 ([TopDef])
- | HappyAbsSyn26 (Extend)
- | HappyAbsSyn27 ([Open])
- | HappyAbsSyn28 (Opens)
- | HappyAbsSyn29 (Open)
- | HappyAbsSyn30 (ComplMod)
- | HappyAbsSyn31 (QualOpen)
- | HappyAbsSyn32 ([Included])
- | HappyAbsSyn33 (Included)
- | HappyAbsSyn34 (Def)
- | HappyAbsSyn35 (TopDef)
- | HappyAbsSyn36 (CatDef)
- | HappyAbsSyn37 (FunDef)
- | HappyAbsSyn38 (DataDef)
- | HappyAbsSyn39 (DataConstr)
- | HappyAbsSyn40 ([DataConstr])
- | HappyAbsSyn41 (ParDef)
- | HappyAbsSyn42 (ParConstr)
- | HappyAbsSyn43 (PrintDef)
- | HappyAbsSyn44 (FlagDef)
- | HappyAbsSyn45 ([Def])
- | HappyAbsSyn46 ([CatDef])
- | HappyAbsSyn47 ([FunDef])
- | HappyAbsSyn48 ([DataDef])
- | HappyAbsSyn49 ([ParDef])
- | HappyAbsSyn50 ([PrintDef])
- | HappyAbsSyn51 ([FlagDef])
- | HappyAbsSyn52 ([ParConstr])
- | HappyAbsSyn53 ([PIdent])
- | HappyAbsSyn54 (Name)
- | HappyAbsSyn55 ([Name])
- | HappyAbsSyn56 (LocDef)
- | HappyAbsSyn57 ([LocDef])
- | HappyAbsSyn58 (Exp)
- | HappyAbsSyn65 ([Exp])
- | HappyAbsSyn66 (Exps)
- | HappyAbsSyn67 (Patt)
- | HappyAbsSyn70 (PattAss)
- | HappyAbsSyn71 (Label)
- | HappyAbsSyn72 (Sort)
- | HappyAbsSyn73 ([PattAss])
- | HappyAbsSyn74 ([Patt])
- | HappyAbsSyn75 (Bind)
- | HappyAbsSyn76 ([Bind])
- | HappyAbsSyn77 (Decl)
- | HappyAbsSyn78 (TupleComp)
- | HappyAbsSyn79 (PattTupleComp)
- | HappyAbsSyn80 ([TupleComp])
- | HappyAbsSyn81 ([PattTupleComp])
- | HappyAbsSyn82 (Case)
- | HappyAbsSyn83 ([Case])
- | HappyAbsSyn84 (Equation)
- | HappyAbsSyn85 ([Equation])
- | HappyAbsSyn86 (Altern)
- | HappyAbsSyn87 ([Altern])
- | HappyAbsSyn88 (DDecl)
- | HappyAbsSyn89 ([DDecl])
- | HappyAbsSyn90 (OldGrammar)
- | HappyAbsSyn91 (Include)
- | HappyAbsSyn92 (FileName)
- | HappyAbsSyn93 ([FileName])
-
-type HappyReduction m =
- Int#
- -> (Token)
- -> HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> m HappyAbsSyn)
- -> [HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> m HappyAbsSyn)]
- -> HappyStk HappyAbsSyn
- -> [(Token)] -> m HappyAbsSyn
-
-action_0,
- action_1,
- action_2,
- action_3,
- action_4,
- action_5,
- action_6,
- action_7,
- action_8,
- action_9,
- action_10,
- action_11,
- action_12,
- action_13,
- action_14,
- action_15,
- action_16,
- action_17,
- action_18,
- action_19,
- action_20,
- action_21,
- action_22,
- action_23,
- action_24,
- action_25,
- action_26,
- action_27,
- action_28,
- action_29,
- action_30,
- action_31,
- action_32,
- action_33,
- action_34,
- action_35,
- action_36,
- action_37,
- action_38,
- action_39,
- action_40,
- action_41,
- action_42,
- action_43,
- action_44,
- action_45,
- action_46,
- action_47,
- action_48,
- action_49,
- action_50,
- action_51,
- action_52,
- action_53,
- action_54,
- action_55,
- action_56,
- action_57,
- action_58,
- action_59,
- action_60,
- action_61,
- action_62,
- action_63,
- action_64,
- action_65,
- action_66,
- action_67,
- action_68,
- action_69,
- action_70,
- action_71,
- action_72,
- action_73,
- action_74,
- action_75,
- action_76,
- action_77,
- action_78,
- action_79,
- action_80,
- action_81,
- action_82,
- action_83,
- action_84,
- action_85,
- action_86,
- action_87,
- action_88,
- action_89,
- action_90,
- action_91,
- action_92,
- action_93,
- action_94,
- action_95,
- action_96,
- action_97,
- action_98,
- action_99,
- action_100,
- action_101,
- action_102,
- action_103,
- action_104,
- action_105,
- action_106,
- action_107,
- action_108,
- action_109,
- action_110,
- action_111,
- action_112,
- action_113,
- action_114,
- action_115,
- action_116,
- action_117,
- action_118,
- action_119,
- action_120,
- action_121,
- action_122,
- action_123,
- action_124,
- action_125,
- action_126,
- action_127,
- action_128,
- action_129,
- action_130,
- action_131,
- action_132,
- action_133,
- action_134,
- action_135,
- action_136,
- action_137,
- action_138,
- action_139,
- action_140,
- action_141,
- action_142,
- action_143,
- action_144,
- action_145,
- action_146,
- action_147,
- action_148,
- action_149,
- action_150,
- action_151,
- action_152,
- action_153,
- action_154,
- action_155,
- action_156,
- action_157,
- action_158,
- action_159,
- action_160,
- action_161,
- action_162,
- action_163,
- action_164,
- action_165,
- action_166,
- action_167,
- action_168,
- action_169,
- action_170,
- action_171,
- action_172,
- action_173,
- action_174,
- action_175,
- action_176,
- action_177,
- action_178,
- action_179,
- action_180,
- action_181,
- action_182,
- action_183,
- action_184,
- action_185,
- action_186,
- action_187,
- action_188,
- action_189,
- action_190,
- action_191,
- action_192,
- action_193,
- action_194,
- action_195,
- action_196,
- action_197,
- action_198,
- action_199,
- action_200,
- action_201,
- action_202,
- action_203,
- action_204,
- action_205,
- action_206,
- action_207,
- action_208,
- action_209,
- action_210,
- action_211,
- action_212,
- action_213,
- action_214,
- action_215,
- action_216,
- action_217,
- action_218,
- action_219,
- action_220,
- action_221,
- action_222,
- action_223,
- action_224,
- action_225,
- action_226,
- action_227,
- action_228,
- action_229,
- action_230,
- action_231,
- action_232,
- action_233,
- action_234,
- action_235,
- action_236,
- action_237,
- action_238,
- action_239,
- action_240,
- action_241,
- action_242,
- action_243,
- action_244,
- action_245,
- action_246,
- action_247,
- action_248,
- action_249,
- action_250,
- action_251,
- action_252,
- action_253,
- action_254,
- action_255,
- action_256,
- action_257,
- action_258,
- action_259,
- action_260,
- action_261,
- action_262,
- action_263,
- action_264,
- action_265,
- action_266,
- action_267,
- action_268,
- action_269,
- action_270,
- action_271,
- action_272,
- action_273,
- action_274,
- action_275,
- action_276,
- action_277,
- action_278,
- action_279,
- action_280,
- action_281,
- action_282,
- action_283,
- action_284,
- action_285,
- action_286,
- action_287,
- action_288,
- action_289,
- action_290,
- action_291,
- action_292,
- action_293,
- action_294,
- action_295,
- action_296,
- action_297,
- action_298,
- action_299,
- action_300,
- action_301,
- action_302,
- action_303,
- action_304,
- action_305,
- action_306,
- action_307,
- action_308,
- action_309,
- action_310,
- action_311,
- action_312,
- action_313,
- action_314,
- action_315,
- action_316,
- action_317,
- action_318,
- action_319,
- action_320,
- action_321,
- action_322,
- action_323,
- action_324,
- action_325,
- action_326,
- action_327,
- action_328,
- action_329,
- action_330,
- action_331,
- action_332,
- action_333,
- action_334,
- action_335,
- action_336,
- action_337,
- action_338,
- action_339,
- action_340,
- action_341,
- action_342,
- action_343,
- action_344,
- action_345,
- action_346,
- action_347,
- action_348,
- action_349,
- action_350,
- action_351,
- action_352,
- action_353,
- action_354,
- action_355,
- action_356,
- action_357,
- action_358,
- action_359,
- action_360,
- action_361,
- action_362,
- action_363,
- action_364,
- action_365,
- action_366,
- action_367,
- action_368,
- action_369,
- action_370,
- action_371,
- action_372,
- action_373,
- action_374,
- action_375,
- action_376,
- action_377,
- action_378,
- action_379,
- action_380,
- action_381,
- action_382,
- action_383,
- action_384,
- action_385,
- action_386,
- action_387,
- action_388,
- action_389,
- action_390,
- action_391,
- action_392,
- action_393,
- action_394,
- action_395,
- action_396,
- action_397,
- action_398,
- action_399,
- action_400,
- action_401,
- action_402,
- action_403,
- action_404,
- action_405,
- action_406,
- action_407,
- action_408,
- action_409,
- action_410,
- action_411,
- action_412,
- action_413,
- action_414,
- action_415,
- action_416,
- action_417,
- action_418,
- action_419,
- action_420,
- action_421,
- action_422,
- action_423,
- action_424,
- action_425,
- action_426,
- action_427,
- action_428,
- action_429,
- action_430,
- action_431,
- action_432,
- action_433,
- action_434,
- action_435,
- action_436,
- action_437,
- action_438,
- action_439,
- action_440,
- action_441,
- action_442,
- action_443,
- action_444,
- action_445,
- action_446,
- action_447,
- action_448,
- action_449,
- action_450,
- action_451,
- action_452,
- action_453,
- action_454,
- action_455,
- action_456,
- action_457,
- action_458,
- action_459,
- action_460,
- action_461,
- action_462,
- action_463,
- action_464,
- action_465,
- action_466,
- action_467,
- action_468,
- action_469,
- action_470,
- action_471,
- action_472,
- action_473,
- action_474,
- action_475,
- action_476,
- action_477,
- action_478,
- action_479,
- action_480,
- action_481,
- action_482,
- action_483,
- action_484,
- action_485,
- action_486,
- action_487,
- action_488,
- action_489,
- action_490,
- action_491,
- action_492,
- action_493,
- action_494,
- action_495,
- action_496,
- action_497,
- action_498,
- action_499,
- action_500,
- action_501,
- action_502,
- action_503,
- action_504,
- action_505,
- action_506,
- action_507,
- action_508,
- action_509,
- action_510,
- action_511,
- action_512,
- action_513,
- action_514,
- action_515,
- action_516,
- action_517,
- action_518,
- action_519,
- action_520,
- action_521,
- action_522,
- action_523,
- action_524,
- action_525,
- action_526,
- action_527,
- action_528,
- action_529,
- action_530,
- action_531,
- action_532,
- action_533,
- action_534,
- action_535,
- action_536,
- action_537,
- action_538,
- action_539,
- action_540,
- action_541,
- action_542,
- action_543,
- action_544,
- action_545,
- action_546,
- action_547 :: () => Int# -> HappyReduction (Err)
-
-happyReduce_5,
- happyReduce_6,
- happyReduce_7,
- happyReduce_8,
- happyReduce_9,
- happyReduce_10,
- happyReduce_11,
- happyReduce_12,
- happyReduce_13,
- happyReduce_14,
- happyReduce_15,
- happyReduce_16,
- happyReduce_17,
- happyReduce_18,
- happyReduce_19,
- happyReduce_20,
- happyReduce_21,
- happyReduce_22,
- happyReduce_23,
- happyReduce_24,
- happyReduce_25,
- happyReduce_26,
- happyReduce_27,
- happyReduce_28,
- happyReduce_29,
- happyReduce_30,
- happyReduce_31,
- happyReduce_32,
- happyReduce_33,
- happyReduce_34,
- happyReduce_35,
- happyReduce_36,
- happyReduce_37,
- happyReduce_38,
- happyReduce_39,
- happyReduce_40,
- happyReduce_41,
- happyReduce_42,
- happyReduce_43,
- happyReduce_44,
- happyReduce_45,
- happyReduce_46,
- happyReduce_47,
- happyReduce_48,
- happyReduce_49,
- happyReduce_50,
- happyReduce_51,
- happyReduce_52,
- happyReduce_53,
- happyReduce_54,
- happyReduce_55,
- happyReduce_56,
- happyReduce_57,
- happyReduce_58,
- happyReduce_59,
- happyReduce_60,
- happyReduce_61,
- happyReduce_62,
- happyReduce_63,
- happyReduce_64,
- happyReduce_65,
- happyReduce_66,
- happyReduce_67,
- happyReduce_68,
- happyReduce_69,
- happyReduce_70,
- happyReduce_71,
- happyReduce_72,
- happyReduce_73,
- happyReduce_74,
- happyReduce_75,
- happyReduce_76,
- happyReduce_77,
- happyReduce_78,
- happyReduce_79,
- happyReduce_80,
- happyReduce_81,
- happyReduce_82,
- happyReduce_83,
- happyReduce_84,
- happyReduce_85,
- happyReduce_86,
- happyReduce_87,
- happyReduce_88,
- happyReduce_89,
- happyReduce_90,
- happyReduce_91,
- happyReduce_92,
- happyReduce_93,
- happyReduce_94,
- happyReduce_95,
- happyReduce_96,
- happyReduce_97,
- happyReduce_98,
- happyReduce_99,
- happyReduce_100,
- happyReduce_101,
- happyReduce_102,
- happyReduce_103,
- happyReduce_104,
- happyReduce_105,
- happyReduce_106,
- happyReduce_107,
- happyReduce_108,
- happyReduce_109,
- happyReduce_110,
- happyReduce_111,
- happyReduce_112,
- happyReduce_113,
- happyReduce_114,
- happyReduce_115,
- happyReduce_116,
- happyReduce_117,
- happyReduce_118,
- happyReduce_119,
- happyReduce_120,
- happyReduce_121,
- happyReduce_122,
- happyReduce_123,
- happyReduce_124,
- happyReduce_125,
- happyReduce_126,
- happyReduce_127,
- happyReduce_128,
- happyReduce_129,
- happyReduce_130,
- happyReduce_131,
- happyReduce_132,
- happyReduce_133,
- happyReduce_134,
- happyReduce_135,
- happyReduce_136,
- happyReduce_137,
- happyReduce_138,
- happyReduce_139,
- happyReduce_140,
- happyReduce_141,
- happyReduce_142,
- happyReduce_143,
- happyReduce_144,
- happyReduce_145,
- happyReduce_146,
- happyReduce_147,
- happyReduce_148,
- happyReduce_149,
- happyReduce_150,
- happyReduce_151,
- happyReduce_152,
- happyReduce_153,
- happyReduce_154,
- happyReduce_155,
- happyReduce_156,
- happyReduce_157,
- happyReduce_158,
- happyReduce_159,
- happyReduce_160,
- happyReduce_161,
- happyReduce_162,
- happyReduce_163,
- happyReduce_164,
- happyReduce_165,
- happyReduce_166,
- happyReduce_167,
- happyReduce_168,
- happyReduce_169,
- happyReduce_170,
- happyReduce_171,
- happyReduce_172,
- happyReduce_173,
- happyReduce_174,
- happyReduce_175,
- happyReduce_176,
- happyReduce_177,
- happyReduce_178,
- happyReduce_179,
- happyReduce_180,
- happyReduce_181,
- happyReduce_182,
- happyReduce_183,
- happyReduce_184,
- happyReduce_185,
- happyReduce_186,
- happyReduce_187,
- happyReduce_188,
- happyReduce_189,
- happyReduce_190,
- happyReduce_191,
- happyReduce_192,
- happyReduce_193,
- happyReduce_194,
- happyReduce_195,
- happyReduce_196,
- happyReduce_197,
- happyReduce_198,
- happyReduce_199,
- happyReduce_200,
- happyReduce_201,
- happyReduce_202,
- happyReduce_203,
- happyReduce_204,
- happyReduce_205,
- happyReduce_206,
- happyReduce_207,
- happyReduce_208,
- happyReduce_209,
- happyReduce_210,
- happyReduce_211,
- happyReduce_212,
- happyReduce_213,
- happyReduce_214,
- happyReduce_215,
- happyReduce_216,
- happyReduce_217,
- happyReduce_218,
- happyReduce_219,
- happyReduce_220,
- happyReduce_221,
- happyReduce_222,
- happyReduce_223,
- happyReduce_224,
- happyReduce_225,
- happyReduce_226,
- happyReduce_227,
- happyReduce_228,
- happyReduce_229,
- happyReduce_230,
- happyReduce_231,
- happyReduce_232,
- happyReduce_233,
- happyReduce_234,
- happyReduce_235,
- happyReduce_236,
- happyReduce_237,
- happyReduce_238,
- happyReduce_239,
- happyReduce_240,
- happyReduce_241,
- happyReduce_242,
- happyReduce_243,
- happyReduce_244,
- happyReduce_245,
- happyReduce_246,
- happyReduce_247,
- happyReduce_248,
- happyReduce_249,
- happyReduce_250,
- happyReduce_251,
- happyReduce_252,
- happyReduce_253,
- happyReduce_254,
- happyReduce_255,
- happyReduce_256,
- happyReduce_257,
- happyReduce_258,
- happyReduce_259,
- happyReduce_260,
- happyReduce_261,
- happyReduce_262,
- happyReduce_263,
- happyReduce_264,
- happyReduce_265,
- happyReduce_266,
- happyReduce_267,
- happyReduce_268,
- happyReduce_269,
- happyReduce_270,
- happyReduce_271,
- happyReduce_272,
- happyReduce_273,
- happyReduce_274 :: () => HappyReduction (Err)
-
-action_0 (13#) = happyGoto action_58
-action_0 (14#) = happyGoto action_59
-action_0 x = happyTcHack x happyReduce_11
-
-action_1 (136#) = happyShift action_57
-action_1 (139#) = happyShift action_51
-action_1 (15#) = happyGoto action_55
-action_1 (30#) = happyGoto action_56
-action_1 x = happyTcHack x happyReduce_60
-
-action_2 (138#) = happyShift action_54
-action_2 (90#) = happyGoto action_52
-action_2 (91#) = happyGoto action_53
-action_2 x = happyTcHack x happyReduce_265
-
-action_3 (139#) = happyShift action_51
-action_3 (21#) = happyGoto action_49
-action_3 (30#) = happyGoto action_50
-action_3 x = happyTcHack x happyReduce_60
-
-action_4 (95#) = happyShift action_21
-action_4 (97#) = happyShift action_22
-action_4 (98#) = happyShift action_23
-action_4 (111#) = happyShift action_24
-action_4 (115#) = happyShift action_25
-action_4 (117#) = happyShift action_26
-action_4 (118#) = happyShift action_27
-action_4 (119#) = happyShift action_28
-action_4 (120#) = happyShift action_29
-action_4 (121#) = happyShift action_30
-action_4 (122#) = happyShift action_31
-action_4 (123#) = happyShift action_32
-action_4 (124#) = happyShift action_33
-action_4 (128#) = happyShift action_34
-action_4 (131#) = happyShift action_35
-action_4 (134#) = happyShift action_36
-action_4 (137#) = happyShift action_37
-action_4 (142#) = happyShift action_38
-action_4 (153#) = happyShift action_39
-action_4 (154#) = happyShift action_40
-action_4 (158#) = happyShift action_41
-action_4 (159#) = happyShift action_42
-action_4 (164#) = happyShift action_43
-action_4 (167#) = happyShift action_44
-action_4 (170#) = happyShift action_6
-action_4 (171#) = happyShift action_45
-action_4 (172#) = happyShift action_46
-action_4 (173#) = happyShift action_47
-action_4 (174#) = happyShift action_48
-action_4 (8#) = happyGoto action_7
-action_4 (9#) = happyGoto action_8
-action_4 (10#) = happyGoto action_9
-action_4 (11#) = happyGoto action_10
-action_4 (12#) = happyGoto action_11
-action_4 (58#) = happyGoto action_12
-action_4 (59#) = happyGoto action_13
-action_4 (60#) = happyGoto action_14
-action_4 (61#) = happyGoto action_15
-action_4 (62#) = happyGoto action_16
-action_4 (63#) = happyGoto action_17
-action_4 (64#) = happyGoto action_18
-action_4 (72#) = happyGoto action_19
-action_4 (77#) = happyGoto action_20
-action_4 x = happyTcHack x happyFail
-
-action_5 (170#) = happyShift action_6
-action_5 x = happyTcHack x happyFail
-
-action_6 x = happyTcHack x happyReduce_5
-
-action_7 x = happyTcHack x happyReduce_145
-
-action_8 x = happyTcHack x happyReduce_144
-
-action_9 x = happyTcHack x happyReduce_146
-
-action_10 x = happyTcHack x happyReduce_157
-
-action_11 (116#) = happyShift action_137
-action_11 x = happyTcHack x happyReduce_140
-
-action_12 x = happyTcHack x happyReduce_161
-
-action_13 (107#) = happyShift action_136
-action_13 x = happyTcHack x happyReduce_173
-
-action_14 (97#) = happyShift action_22
-action_14 (98#) = happyShift action_87
-action_14 (106#) = happyReduce_240
-action_14 (111#) = happyShift action_24
-action_14 (115#) = happyShift action_25
-action_14 (118#) = happyShift action_27
-action_14 (119#) = happyShift action_28
-action_14 (120#) = happyShift action_29
-action_14 (121#) = happyShift action_30
-action_14 (122#) = happyShift action_31
-action_14 (123#) = happyShift action_32
-action_14 (131#) = happyShift action_35
-action_14 (167#) = happyShift action_44
-action_14 (170#) = happyShift action_6
-action_14 (171#) = happyShift action_45
-action_14 (172#) = happyShift action_46
-action_14 (173#) = happyShift action_47
-action_14 (174#) = happyShift action_48
-action_14 (8#) = happyGoto action_7
-action_14 (9#) = happyGoto action_8
-action_14 (10#) = happyGoto action_9
-action_14 (11#) = happyGoto action_10
-action_14 (12#) = happyGoto action_84
-action_14 (58#) = happyGoto action_12
-action_14 (59#) = happyGoto action_135
-action_14 (72#) = happyGoto action_19
-action_14 x = happyTcHack x happyReduce_178
-
-action_15 (94#) = happyShift action_130
-action_15 (100#) = happyShift action_131
-action_15 (101#) = happyShift action_132
-action_15 (113#) = happyShift action_133
-action_15 (165#) = happyShift action_134
-action_15 x = happyTcHack x happyReduce_192
-
-action_16 (103#) = happyShift action_129
-action_16 x = happyTcHack x happyReduce_191
-
-action_17 (176#) = happyAccept
-action_17 x = happyTcHack x happyFail
-
-action_18 (102#) = happyShift action_128
-action_18 x = happyTcHack x happyReduce_180
-
-action_19 x = happyTcHack x happyReduce_143
-
-action_20 (106#) = happyShift action_127
-action_20 x = happyTcHack x happyFail
-
-action_21 (95#) = happyShift action_120
-action_21 (98#) = happyShift action_121
-action_21 (111#) = happyShift action_122
-action_21 (115#) = happyShift action_123
-action_21 (123#) = happyShift action_124
-action_21 (126#) = happyShift action_125
-action_21 (167#) = happyShift action_126
-action_21 (170#) = happyShift action_6
-action_21 (171#) = happyShift action_45
-action_21 (172#) = happyShift action_46
-action_21 (174#) = happyShift action_48
-action_21 (8#) = happyGoto action_115
-action_21 (9#) = happyGoto action_116
-action_21 (10#) = happyGoto action_117
-action_21 (12#) = happyGoto action_118
-action_21 (67#) = happyGoto action_119
-action_21 x = happyTcHack x happyFail
-
-action_22 (174#) = happyShift action_48
-action_22 (12#) = happyGoto action_114
-action_22 x = happyTcHack x happyFail
-
-action_23 (95#) = happyShift action_21
-action_23 (97#) = happyShift action_22
-action_23 (98#) = happyShift action_23
-action_23 (111#) = happyShift action_24
-action_23 (115#) = happyShift action_25
-action_23 (117#) = happyShift action_26
-action_23 (118#) = happyShift action_27
-action_23 (119#) = happyShift action_28
-action_23 (120#) = happyShift action_29
-action_23 (121#) = happyShift action_30
-action_23 (122#) = happyShift action_31
-action_23 (123#) = happyShift action_32
-action_23 (124#) = happyShift action_33
-action_23 (126#) = happyShift action_102
-action_23 (128#) = happyShift action_34
-action_23 (131#) = happyShift action_35
-action_23 (134#) = happyShift action_36
-action_23 (137#) = happyShift action_113
-action_23 (142#) = happyShift action_38
-action_23 (153#) = happyShift action_39
-action_23 (154#) = happyShift action_40
-action_23 (158#) = happyShift action_41
-action_23 (159#) = happyShift action_42
-action_23 (164#) = happyShift action_43
-action_23 (167#) = happyShift action_44
-action_23 (170#) = happyShift action_6
-action_23 (171#) = happyShift action_45
-action_23 (172#) = happyShift action_46
-action_23 (173#) = happyShift action_47
-action_23 (174#) = happyShift action_48
-action_23 (8#) = happyGoto action_7
-action_23 (9#) = happyGoto action_8
-action_23 (10#) = happyGoto action_9
-action_23 (11#) = happyGoto action_10
-action_23 (12#) = happyGoto action_110
-action_23 (58#) = happyGoto action_12
-action_23 (59#) = happyGoto action_13
-action_23 (60#) = happyGoto action_14
-action_23 (61#) = happyGoto action_15
-action_23 (62#) = happyGoto action_16
-action_23 (63#) = happyGoto action_111
-action_23 (64#) = happyGoto action_18
-action_23 (72#) = happyGoto action_19
-action_23 (75#) = happyGoto action_99
-action_23 (76#) = happyGoto action_112
-action_23 (77#) = happyGoto action_20
-action_23 x = happyTcHack x happyReduce_236
-
-action_24 (95#) = happyShift action_21
-action_24 (97#) = happyShift action_22
-action_24 (98#) = happyShift action_23
-action_24 (111#) = happyShift action_24
-action_24 (115#) = happyShift action_25
-action_24 (117#) = happyShift action_26
-action_24 (118#) = happyShift action_27
-action_24 (119#) = happyShift action_28
-action_24 (120#) = happyShift action_29
-action_24 (121#) = happyShift action_30
-action_24 (122#) = happyShift action_31
-action_24 (123#) = happyShift action_32
-action_24 (124#) = happyShift action_33
-action_24 (128#) = happyShift action_34
-action_24 (131#) = happyShift action_35
-action_24 (134#) = happyShift action_36
-action_24 (137#) = happyShift action_37
-action_24 (142#) = happyShift action_38
-action_24 (153#) = happyShift action_39
-action_24 (154#) = happyShift action_40
-action_24 (158#) = happyShift action_41
-action_24 (159#) = happyShift action_42
-action_24 (164#) = happyShift action_43
-action_24 (167#) = happyShift action_44
-action_24 (170#) = happyShift action_6
-action_24 (171#) = happyShift action_45
-action_24 (172#) = happyShift action_46
-action_24 (173#) = happyShift action_47
-action_24 (174#) = happyShift action_48
-action_24 (8#) = happyGoto action_7
-action_24 (9#) = happyGoto action_8
-action_24 (10#) = happyGoto action_9
-action_24 (11#) = happyGoto action_10
-action_24 (12#) = happyGoto action_11
-action_24 (58#) = happyGoto action_12
-action_24 (59#) = happyGoto action_13
-action_24 (60#) = happyGoto action_14
-action_24 (61#) = happyGoto action_15
-action_24 (62#) = happyGoto action_16
-action_24 (63#) = happyGoto action_107
-action_24 (64#) = happyGoto action_18
-action_24 (72#) = happyGoto action_19
-action_24 (77#) = happyGoto action_20
-action_24 (78#) = happyGoto action_108
-action_24 (80#) = happyGoto action_109
-action_24 x = happyTcHack x happyReduce_243
-
-action_25 x = happyTcHack x happyReduce_147
-
-action_26 (174#) = happyShift action_48
-action_26 (12#) = happyGoto action_106
-action_26 x = happyTcHack x happyFail
-
-action_27 x = happyTcHack x happyReduce_225
-
-action_28 x = happyTcHack x happyReduce_227
-
-action_29 x = happyTcHack x happyReduce_228
-
-action_30 x = happyTcHack x happyReduce_226
-
-action_31 x = happyTcHack x happyReduce_224
-
-action_32 (125#) = happyShift action_105
-action_32 (171#) = happyShift action_45
-action_32 (174#) = happyShift action_48
-action_32 (9#) = happyGoto action_103
-action_32 (12#) = happyGoto action_104
-action_32 x = happyTcHack x happyFail
-
-action_33 (124#) = happyShift action_101
-action_33 (126#) = happyShift action_102
-action_33 (174#) = happyShift action_48
-action_33 (12#) = happyGoto action_98
-action_33 (75#) = happyGoto action_99
-action_33 (76#) = happyGoto action_100
-action_33 x = happyTcHack x happyReduce_236
-
-action_34 (95#) = happyShift action_21
-action_34 (97#) = happyShift action_22
-action_34 (98#) = happyShift action_23
-action_34 (111#) = happyShift action_24
-action_34 (115#) = happyShift action_25
-action_34 (117#) = happyShift action_26
-action_34 (118#) = happyShift action_27
-action_34 (119#) = happyShift action_28
-action_34 (120#) = happyShift action_29
-action_34 (121#) = happyShift action_30
-action_34 (122#) = happyShift action_31
-action_34 (123#) = happyShift action_32
-action_34 (124#) = happyShift action_33
-action_34 (128#) = happyShift action_34
-action_34 (131#) = happyShift action_35
-action_34 (134#) = happyShift action_36
-action_34 (137#) = happyShift action_37
-action_34 (142#) = happyShift action_38
-action_34 (153#) = happyShift action_39
-action_34 (154#) = happyShift action_40
-action_34 (158#) = happyShift action_41
-action_34 (159#) = happyShift action_42
-action_34 (164#) = happyShift action_43
-action_34 (167#) = happyShift action_44
-action_34 (170#) = happyShift action_6
-action_34 (171#) = happyShift action_45
-action_34 (172#) = happyShift action_46
-action_34 (173#) = happyShift action_47
-action_34 (174#) = happyShift action_48
-action_34 (8#) = happyGoto action_7
-action_34 (9#) = happyGoto action_8
-action_34 (10#) = happyGoto action_9
-action_34 (11#) = happyGoto action_10
-action_34 (12#) = happyGoto action_11
-action_34 (58#) = happyGoto action_12
-action_34 (59#) = happyGoto action_13
-action_34 (60#) = happyGoto action_14
-action_34 (61#) = happyGoto action_15
-action_34 (62#) = happyGoto action_16
-action_34 (63#) = happyGoto action_97
-action_34 (64#) = happyGoto action_18
-action_34 (72#) = happyGoto action_19
-action_34 (77#) = happyGoto action_20
-action_34 x = happyTcHack x happyFail
-
-action_35 x = happyTcHack x happyReduce_149
-
-action_36 (167#) = happyShift action_96
-action_36 x = happyTcHack x happyFail
-
-action_37 (97#) = happyShift action_22
-action_37 (98#) = happyShift action_87
-action_37 (111#) = happyShift action_24
-action_37 (115#) = happyShift action_25
-action_37 (118#) = happyShift action_27
-action_37 (119#) = happyShift action_28
-action_37 (120#) = happyShift action_29
-action_37 (121#) = happyShift action_30
-action_37 (122#) = happyShift action_31
-action_37 (123#) = happyShift action_32
-action_37 (131#) = happyShift action_35
-action_37 (167#) = happyShift action_44
-action_37 (170#) = happyShift action_6
-action_37 (171#) = happyShift action_45
-action_37 (172#) = happyShift action_46
-action_37 (173#) = happyShift action_47
-action_37 (174#) = happyShift action_48
-action_37 (8#) = happyGoto action_7
-action_37 (9#) = happyGoto action_8
-action_37 (10#) = happyGoto action_9
-action_37 (11#) = happyGoto action_10
-action_37 (12#) = happyGoto action_84
-action_37 (58#) = happyGoto action_12
-action_37 (59#) = happyGoto action_95
-action_37 (72#) = happyGoto action_19
-action_37 x = happyTcHack x happyFail
-
-action_38 (167#) = happyShift action_94
-action_38 (174#) = happyShift action_48
-action_38 (12#) = happyGoto action_92
-action_38 (53#) = happyGoto action_80
-action_38 (56#) = happyGoto action_81
-action_38 (57#) = happyGoto action_93
-action_38 x = happyTcHack x happyReduce_137
-
-action_39 (97#) = happyShift action_22
-action_39 (98#) = happyShift action_87
-action_39 (111#) = happyShift action_24
-action_39 (115#) = happyShift action_25
-action_39 (118#) = happyShift action_27
-action_39 (119#) = happyShift action_28
-action_39 (120#) = happyShift action_29
-action_39 (121#) = happyShift action_30
-action_39 (122#) = happyShift action_31
-action_39 (123#) = happyShift action_32
-action_39 (131#) = happyShift action_35
-action_39 (167#) = happyShift action_44
-action_39 (170#) = happyShift action_6
-action_39 (171#) = happyShift action_45
-action_39 (172#) = happyShift action_46
-action_39 (173#) = happyShift action_47
-action_39 (174#) = happyShift action_48
-action_39 (8#) = happyGoto action_7
-action_39 (9#) = happyGoto action_8
-action_39 (10#) = happyGoto action_9
-action_39 (11#) = happyGoto action_10
-action_39 (12#) = happyGoto action_84
-action_39 (58#) = happyGoto action_12
-action_39 (59#) = happyGoto action_91
-action_39 (72#) = happyGoto action_19
-action_39 x = happyTcHack x happyFail
-
-action_40 (167#) = happyShift action_90
-action_40 x = happyTcHack x happyFail
-
-action_41 (167#) = happyShift action_89
-action_41 x = happyTcHack x happyFail
-
-action_42 (97#) = happyShift action_86
-action_42 (98#) = happyShift action_87
-action_42 (111#) = happyShift action_24
-action_42 (115#) = happyShift action_25
-action_42 (118#) = happyShift action_27
-action_42 (119#) = happyShift action_28
-action_42 (120#) = happyShift action_29
-action_42 (121#) = happyShift action_30
-action_42 (122#) = happyShift action_31
-action_42 (123#) = happyShift action_32
-action_42 (131#) = happyShift action_35
-action_42 (167#) = happyShift action_88
-action_42 (170#) = happyShift action_6
-action_42 (171#) = happyShift action_45
-action_42 (172#) = happyShift action_46
-action_42 (173#) = happyShift action_47
-action_42 (174#) = happyShift action_48
-action_42 (8#) = happyGoto action_7
-action_42 (9#) = happyGoto action_8
-action_42 (10#) = happyGoto action_9
-action_42 (11#) = happyGoto action_10
-action_42 (12#) = happyGoto action_84
-action_42 (58#) = happyGoto action_85
-action_42 (72#) = happyGoto action_19
-action_42 x = happyTcHack x happyFail
-
-action_43 (167#) = happyShift action_83
-action_43 x = happyTcHack x happyFail
-
-action_44 (174#) = happyShift action_48
-action_44 (12#) = happyGoto action_79
-action_44 (53#) = happyGoto action_80
-action_44 (56#) = happyGoto action_81
-action_44 (57#) = happyGoto action_82
-action_44 x = happyTcHack x happyReduce_137
-
-action_45 x = happyTcHack x happyReduce_6
-
-action_46 x = happyTcHack x happyReduce_7
-
-action_47 x = happyTcHack x happyReduce_8
-
-action_48 x = happyTcHack x happyReduce_9
-
-action_49 (1#) = happyAccept
-action_49 x = happyTcHack x happyFail
-
-action_50 (127#) = happyShift action_63
-action_50 (130#) = happyShift action_64
-action_50 (140#) = happyShift action_65
-action_50 (141#) = happyShift action_66
-action_50 (156#) = happyShift action_67
-action_50 (161#) = happyShift action_68
-action_50 (23#) = happyGoto action_78
-action_50 x = happyTcHack x happyFail
-
-action_51 x = happyTcHack x happyReduce_61
-
-action_52 (176#) = happyAccept
-action_52 x = happyTcHack x happyFail
-
-action_53 (25#) = happyGoto action_77
-action_53 x = happyTcHack x happyReduce_48
-
-action_54 (105#) = happyShift action_74
-action_54 (107#) = happyShift action_75
-action_54 (108#) = happyShift action_76
-action_54 (171#) = happyShift action_45
-action_54 (174#) = happyShift action_48
-action_54 (9#) = happyGoto action_70
-action_54 (12#) = happyGoto action_71
-action_54 (92#) = happyGoto action_72
-action_54 (93#) = happyGoto action_73
-action_54 x = happyTcHack x happyFail
-
-action_55 (110#) = happyShift action_69
-action_55 (176#) = happyAccept
-action_55 x = happyTcHack x happyFail
-
-action_56 (127#) = happyShift action_63
-action_56 (130#) = happyShift action_64
-action_56 (140#) = happyShift action_65
-action_56 (141#) = happyShift action_66
-action_56 (156#) = happyShift action_67
-action_56 (161#) = happyShift action_68
-action_56 (23#) = happyGoto action_62
-action_56 x = happyTcHack x happyFail
-
-action_57 (174#) = happyShift action_48
-action_57 (12#) = happyGoto action_61
-action_57 x = happyTcHack x happyFail
-
-action_58 (176#) = happyAccept
-action_58 x = happyTcHack x happyFail
-
-action_59 (136#) = happyShift action_57
-action_59 (139#) = happyShift action_51
-action_59 (176#) = happyReduce_10
-action_59 (15#) = happyGoto action_60
-action_59 (30#) = happyGoto action_56
-action_59 x = happyTcHack x happyReduce_60
-
-action_60 (110#) = happyShift action_69
-action_60 x = happyTcHack x happyReduce_12
-
-action_61 (112#) = happyShift action_239
-action_61 x = happyTcHack x happyFail
-
-action_62 (112#) = happyShift action_238
-action_62 x = happyTcHack x happyFail
-
-action_63 (174#) = happyShift action_48
-action_63 (12#) = happyGoto action_237
-action_63 x = happyTcHack x happyFail
-
-action_64 (174#) = happyShift action_48
-action_64 (12#) = happyGoto action_236
-action_64 x = happyTcHack x happyFail
-
-action_65 (174#) = happyShift action_48
-action_65 (12#) = happyGoto action_235
-action_65 x = happyTcHack x happyFail
-
-action_66 (174#) = happyShift action_48
-action_66 (12#) = happyGoto action_234
-action_66 x = happyTcHack x happyFail
-
-action_67 (174#) = happyShift action_48
-action_67 (12#) = happyGoto action_233
-action_67 x = happyTcHack x happyFail
-
-action_68 (174#) = happyShift action_48
-action_68 (12#) = happyGoto action_232
-action_68 x = happyTcHack x happyFail
-
-action_69 x = happyTcHack x happyReduce_13
-
-action_70 x = happyTcHack x happyReduce_267
-
-action_71 (105#) = happyShift action_74
-action_71 (107#) = happyShift action_75
-action_71 (108#) = happyShift action_76
-action_71 (171#) = happyShift action_45
-action_71 (174#) = happyShift action_48
-action_71 (9#) = happyGoto action_70
-action_71 (12#) = happyGoto action_71
-action_71 (92#) = happyGoto action_231
-action_71 x = happyTcHack x happyReduce_268
-
-action_72 (110#) = happyShift action_230
-action_72 x = happyTcHack x happyFail
-
-action_73 x = happyTcHack x happyReduce_266
-
-action_74 (105#) = happyShift action_74
-action_74 (107#) = happyShift action_75
-action_74 (108#) = happyShift action_76
-action_74 (171#) = happyShift action_45
-action_74 (174#) = happyShift action_48
-action_74 (9#) = happyGoto action_70
-action_74 (12#) = happyGoto action_71
-action_74 (92#) = happyGoto action_229
-action_74 x = happyTcHack x happyFail
-
-action_75 (105#) = happyShift action_74
-action_75 (107#) = happyShift action_75
-action_75 (108#) = happyShift action_76
-action_75 (171#) = happyShift action_45
-action_75 (174#) = happyShift action_48
-action_75 (9#) = happyGoto action_70
-action_75 (12#) = happyGoto action_71
-action_75 (92#) = happyGoto action_228
-action_75 x = happyTcHack x happyFail
-
-action_76 (105#) = happyShift action_74
-action_76 (107#) = happyShift action_75
-action_76 (108#) = happyShift action_76
-action_76 (171#) = happyShift action_45
-action_76 (174#) = happyShift action_48
-action_76 (9#) = happyGoto action_70
-action_76 (12#) = happyGoto action_71
-action_76 (92#) = happyGoto action_227
-action_76 x = happyTcHack x happyFail
-
-action_77 (129#) = happyShift action_210
-action_77 (131#) = happyShift action_211
-action_77 (132#) = happyShift action_212
-action_77 (133#) = happyShift action_213
-action_77 (135#) = happyShift action_214
-action_77 (143#) = happyShift action_215
-action_77 (144#) = happyShift action_216
-action_77 (145#) = happyShift action_217
-action_77 (146#) = happyShift action_218
-action_77 (149#) = happyShift action_219
-action_77 (151#) = happyShift action_220
-action_77 (152#) = happyShift action_221
-action_77 (153#) = happyShift action_222
-action_77 (155#) = happyShift action_223
-action_77 (160#) = happyShift action_224
-action_77 (161#) = happyShift action_225
-action_77 (163#) = happyShift action_226
-action_77 (35#) = happyGoto action_209
-action_77 x = happyTcHack x happyReduce_264
-
-action_78 (112#) = happyShift action_208
-action_78 x = happyTcHack x happyFail
-
-action_79 (104#) = happyShift action_190
-action_79 (107#) = happyShift action_206
-action_79 (169#) = happyShift action_207
-action_79 x = happyTcHack x happyReduce_128
-
-action_80 (109#) = happyShift action_204
-action_80 (112#) = happyShift action_205
-action_80 x = happyTcHack x happyFail
-
-action_81 (110#) = happyShift action_203
-action_81 x = happyTcHack x happyReduce_138
-
-action_82 (169#) = happyShift action_202
-action_82 x = happyTcHack x happyFail
-
-action_83 (95#) = happyShift action_21
-action_83 (97#) = happyShift action_22
-action_83 (98#) = happyShift action_23
-action_83 (111#) = happyShift action_24
-action_83 (115#) = happyShift action_25
-action_83 (117#) = happyShift action_26
-action_83 (118#) = happyShift action_27
-action_83 (119#) = happyShift action_28
-action_83 (120#) = happyShift action_29
-action_83 (121#) = happyShift action_30
-action_83 (122#) = happyShift action_31
-action_83 (123#) = happyShift action_32
-action_83 (124#) = happyShift action_33
-action_83 (128#) = happyShift action_34
-action_83 (131#) = happyShift action_35
-action_83 (134#) = happyShift action_36
-action_83 (137#) = happyShift action_37
-action_83 (142#) = happyShift action_38
-action_83 (153#) = happyShift action_39
-action_83 (154#) = happyShift action_40
-action_83 (158#) = happyShift action_41
-action_83 (159#) = happyShift action_42
-action_83 (164#) = happyShift action_43
-action_83 (167#) = happyShift action_44
-action_83 (170#) = happyShift action_6
-action_83 (171#) = happyShift action_45
-action_83 (172#) = happyShift action_46
-action_83 (173#) = happyShift action_47
-action_83 (174#) = happyShift action_48
-action_83 (8#) = happyGoto action_7
-action_83 (9#) = happyGoto action_8
-action_83 (10#) = happyGoto action_9
-action_83 (11#) = happyGoto action_10
-action_83 (12#) = happyGoto action_11
-action_83 (58#) = happyGoto action_12
-action_83 (59#) = happyGoto action_13
-action_83 (60#) = happyGoto action_14
-action_83 (61#) = happyGoto action_15
-action_83 (62#) = happyGoto action_16
-action_83 (63#) = happyGoto action_192
-action_83 (64#) = happyGoto action_18
-action_83 (65#) = happyGoto action_201
-action_83 (72#) = happyGoto action_19
-action_83 (77#) = happyGoto action_20
-action_83 x = happyTcHack x happyReduce_193
-
-action_84 x = happyTcHack x happyReduce_140
-
-action_85 (123#) = happyShift action_199
-action_85 (167#) = happyShift action_200
-action_85 x = happyTcHack x happyFail
-
-action_86 (174#) = happyShift action_48
-action_86 (12#) = happyGoto action_198
-action_86 x = happyTcHack x happyFail
-
-action_87 (95#) = happyShift action_21
-action_87 (97#) = happyShift action_22
-action_87 (98#) = happyShift action_23
-action_87 (111#) = happyShift action_24
-action_87 (115#) = happyShift action_25
-action_87 (117#) = happyShift action_26
-action_87 (118#) = happyShift action_27
-action_87 (119#) = happyShift action_28
-action_87 (120#) = happyShift action_29
-action_87 (121#) = happyShift action_30
-action_87 (122#) = happyShift action_31
-action_87 (123#) = happyShift action_32
-action_87 (124#) = happyShift action_33
-action_87 (128#) = happyShift action_34
-action_87 (131#) = happyShift action_35
-action_87 (134#) = happyShift action_36
-action_87 (137#) = happyShift action_113
-action_87 (142#) = happyShift action_38
-action_87 (153#) = happyShift action_39
-action_87 (154#) = happyShift action_40
-action_87 (158#) = happyShift action_41
-action_87 (159#) = happyShift action_42
-action_87 (164#) = happyShift action_43
-action_87 (167#) = happyShift action_44
-action_87 (170#) = happyShift action_6
-action_87 (171#) = happyShift action_45
-action_87 (172#) = happyShift action_46
-action_87 (173#) = happyShift action_47
-action_87 (174#) = happyShift action_48
-action_87 (8#) = happyGoto action_7
-action_87 (9#) = happyGoto action_8
-action_87 (10#) = happyGoto action_9
-action_87 (11#) = happyGoto action_10
-action_87 (12#) = happyGoto action_11
-action_87 (58#) = happyGoto action_12
-action_87 (59#) = happyGoto action_13
-action_87 (60#) = happyGoto action_14
-action_87 (61#) = happyGoto action_15
-action_87 (62#) = happyGoto action_16
-action_87 (63#) = happyGoto action_111
-action_87 (64#) = happyGoto action_18
-action_87 (72#) = happyGoto action_19
-action_87 (77#) = happyGoto action_20
-action_87 x = happyTcHack x happyFail
-
-action_88 (95#) = happyShift action_120
-action_88 (98#) = happyShift action_121
-action_88 (105#) = happyShift action_164
-action_88 (111#) = happyShift action_122
-action_88 (115#) = happyShift action_123
-action_88 (123#) = happyShift action_124
-action_88 (126#) = happyShift action_125
-action_88 (167#) = happyShift action_126
-action_88 (170#) = happyShift action_6
-action_88 (171#) = happyShift action_45
-action_88 (172#) = happyShift action_46
-action_88 (174#) = happyShift action_48
-action_88 (8#) = happyGoto action_115
-action_88 (9#) = happyGoto action_116
-action_88 (10#) = happyGoto action_117
-action_88 (12#) = happyGoto action_194
-action_88 (53#) = happyGoto action_80
-action_88 (56#) = happyGoto action_81
-action_88 (57#) = happyGoto action_82
-action_88 (67#) = happyGoto action_159
-action_88 (68#) = happyGoto action_160
-action_88 (69#) = happyGoto action_195
-action_88 (82#) = happyGoto action_196
-action_88 (83#) = happyGoto action_197
-action_88 x = happyTcHack x happyReduce_137
-
-action_89 (95#) = happyShift action_21
-action_89 (97#) = happyShift action_22
-action_89 (98#) = happyShift action_23
-action_89 (111#) = happyShift action_24
-action_89 (115#) = happyShift action_25
-action_89 (117#) = happyShift action_26
-action_89 (118#) = happyShift action_27
-action_89 (119#) = happyShift action_28
-action_89 (120#) = happyShift action_29
-action_89 (121#) = happyShift action_30
-action_89 (122#) = happyShift action_31
-action_89 (123#) = happyShift action_32
-action_89 (124#) = happyShift action_33
-action_89 (128#) = happyShift action_34
-action_89 (131#) = happyShift action_35
-action_89 (134#) = happyShift action_36
-action_89 (137#) = happyShift action_37
-action_89 (142#) = happyShift action_38
-action_89 (153#) = happyShift action_39
-action_89 (154#) = happyShift action_40
-action_89 (158#) = happyShift action_41
-action_89 (159#) = happyShift action_42
-action_89 (164#) = happyShift action_43
-action_89 (167#) = happyShift action_44
-action_89 (170#) = happyShift action_6
-action_89 (171#) = happyShift action_45
-action_89 (172#) = happyShift action_46
-action_89 (173#) = happyShift action_47
-action_89 (174#) = happyShift action_48
-action_89 (8#) = happyGoto action_7
-action_89 (9#) = happyGoto action_8
-action_89 (10#) = happyGoto action_9
-action_89 (11#) = happyGoto action_10
-action_89 (12#) = happyGoto action_11
-action_89 (58#) = happyGoto action_12
-action_89 (59#) = happyGoto action_13
-action_89 (60#) = happyGoto action_14
-action_89 (61#) = happyGoto action_15
-action_89 (62#) = happyGoto action_16
-action_89 (63#) = happyGoto action_192
-action_89 (64#) = happyGoto action_18
-action_89 (65#) = happyGoto action_193
-action_89 (72#) = happyGoto action_19
-action_89 (77#) = happyGoto action_20
-action_89 x = happyTcHack x happyReduce_193
-
-action_90 (95#) = happyShift action_21
-action_90 (97#) = happyShift action_22
-action_90 (98#) = happyShift action_23
-action_90 (111#) = happyShift action_24
-action_90 (115#) = happyShift action_25
-action_90 (117#) = happyShift action_26
-action_90 (118#) = happyShift action_27
-action_90 (119#) = happyShift action_28
-action_90 (120#) = happyShift action_29
-action_90 (121#) = happyShift action_30
-action_90 (122#) = happyShift action_31
-action_90 (123#) = happyShift action_32
-action_90 (124#) = happyShift action_33
-action_90 (128#) = happyShift action_34
-action_90 (131#) = happyShift action_35
-action_90 (134#) = happyShift action_36
-action_90 (137#) = happyShift action_37
-action_90 (142#) = happyShift action_38
-action_90 (153#) = happyShift action_39
-action_90 (154#) = happyShift action_40
-action_90 (158#) = happyShift action_41
-action_90 (159#) = happyShift action_42
-action_90 (164#) = happyShift action_43
-action_90 (167#) = happyShift action_44
-action_90 (170#) = happyShift action_6
-action_90 (171#) = happyShift action_45
-action_90 (172#) = happyShift action_46
-action_90 (173#) = happyShift action_47
-action_90 (174#) = happyShift action_48
-action_90 (8#) = happyGoto action_7
-action_90 (9#) = happyGoto action_8
-action_90 (10#) = happyGoto action_9
-action_90 (11#) = happyGoto action_10
-action_90 (12#) = happyGoto action_11
-action_90 (58#) = happyGoto action_12
-action_90 (59#) = happyGoto action_13
-action_90 (60#) = happyGoto action_14
-action_90 (61#) = happyGoto action_15
-action_90 (62#) = happyGoto action_16
-action_90 (63#) = happyGoto action_191
-action_90 (64#) = happyGoto action_18
-action_90 (72#) = happyGoto action_19
-action_90 (77#) = happyGoto action_20
-action_90 x = happyTcHack x happyFail
-
-action_91 (107#) = happyShift action_136
-action_91 x = happyTcHack x happyReduce_172
-
-action_92 (104#) = happyShift action_190
-action_92 x = happyTcHack x happyReduce_128
-
-action_93 (137#) = happyShift action_189
-action_93 x = happyTcHack x happyFail
-
-action_94 (174#) = happyShift action_48
-action_94 (12#) = happyGoto action_92
-action_94 (53#) = happyGoto action_80
-action_94 (56#) = happyGoto action_81
-action_94 (57#) = happyGoto action_188
-action_94 x = happyTcHack x happyReduce_137
-
-action_95 (107#) = happyShift action_136
-action_95 (171#) = happyShift action_45
-action_95 (9#) = happyGoto action_187
-action_95 x = happyTcHack x happyFail
-
-action_96 (95#) = happyShift action_120
-action_96 (98#) = happyShift action_121
-action_96 (111#) = happyShift action_122
-action_96 (115#) = happyShift action_123
-action_96 (123#) = happyShift action_124
-action_96 (126#) = happyShift action_125
-action_96 (167#) = happyShift action_126
-action_96 (170#) = happyShift action_6
-action_96 (171#) = happyShift action_45
-action_96 (172#) = happyShift action_46
-action_96 (174#) = happyShift action_48
-action_96 (8#) = happyGoto action_115
-action_96 (9#) = happyGoto action_116
-action_96 (10#) = happyGoto action_117
-action_96 (12#) = happyGoto action_118
-action_96 (67#) = happyGoto action_183
-action_96 (74#) = happyGoto action_184
-action_96 (84#) = happyGoto action_185
-action_96 (85#) = happyGoto action_186
-action_96 x = happyTcHack x happyReduce_253
-
-action_97 (147#) = happyShift action_182
-action_97 x = happyTcHack x happyFail
-
-action_98 x = happyTcHack x happyReduce_234
-
-action_99 (104#) = happyShift action_181
-action_99 x = happyTcHack x happyReduce_237
-
-action_100 (106#) = happyShift action_180
-action_100 x = happyTcHack x happyFail
-
-action_101 (126#) = happyShift action_102
-action_101 (174#) = happyShift action_48
-action_101 (12#) = happyGoto action_98
-action_101 (75#) = happyGoto action_99
-action_101 (76#) = happyGoto action_179
-action_101 x = happyTcHack x happyReduce_236
-
-action_102 x = happyTcHack x happyReduce_235
-
-action_103 (125#) = happyShift action_178
-action_103 x = happyTcHack x happyFail
-
-action_104 (97#) = happyShift action_86
-action_104 (98#) = happyShift action_87
-action_104 (111#) = happyShift action_24
-action_104 (115#) = happyShift action_25
-action_104 (118#) = happyShift action_27
-action_104 (119#) = happyShift action_28
-action_104 (120#) = happyShift action_29
-action_104 (121#) = happyShift action_30
-action_104 (122#) = happyShift action_31
-action_104 (123#) = happyShift action_32
-action_104 (131#) = happyShift action_35
-action_104 (167#) = happyShift action_139
-action_104 (170#) = happyShift action_6
-action_104 (171#) = happyShift action_45
-action_104 (172#) = happyShift action_46
-action_104 (173#) = happyShift action_47
-action_104 (174#) = happyShift action_48
-action_104 (8#) = happyGoto action_7
-action_104 (9#) = happyGoto action_8
-action_104 (10#) = happyGoto action_9
-action_104 (11#) = happyGoto action_10
-action_104 (12#) = happyGoto action_84
-action_104 (58#) = happyGoto action_176
-action_104 (66#) = happyGoto action_177
-action_104 (72#) = happyGoto action_19
-action_104 x = happyTcHack x happyReduce_196
-
-action_105 x = happyTcHack x happyReduce_148
-
-action_106 x = happyTcHack x happyReduce_174
-
-action_107 (109#) = happyShift action_175
-action_107 x = happyTcHack x happyReduce_241
-
-action_108 (104#) = happyShift action_174
-action_108 x = happyTcHack x happyReduce_244
-
-action_109 (114#) = happyShift action_173
-action_109 x = happyTcHack x happyFail
-
-action_110 (104#) = happyReduce_234
-action_110 (109#) = happyReduce_234
-action_110 (116#) = happyShift action_137
-action_110 x = happyTcHack x happyReduce_140
-
-action_111 (99#) = happyShift action_172
-action_111 x = happyTcHack x happyFail
-
-action_112 (109#) = happyShift action_171
-action_112 x = happyTcHack x happyFail
-
-action_113 (97#) = happyShift action_22
-action_113 (98#) = happyShift action_87
-action_113 (111#) = happyShift action_24
-action_113 (115#) = happyShift action_25
-action_113 (118#) = happyShift action_27
-action_113 (119#) = happyShift action_28
-action_113 (120#) = happyShift action_29
-action_113 (121#) = happyShift action_30
-action_113 (122#) = happyShift action_31
-action_113 (123#) = happyShift action_32
-action_113 (131#) = happyShift action_35
-action_113 (167#) = happyShift action_44
-action_113 (170#) = happyShift action_6
-action_113 (171#) = happyShift action_45
-action_113 (172#) = happyShift action_46
-action_113 (173#) = happyShift action_47
-action_113 (174#) = happyShift action_48
-action_113 (8#) = happyGoto action_7
-action_113 (9#) = happyGoto action_8
-action_113 (10#) = happyGoto action_9
-action_113 (11#) = happyGoto action_10
-action_113 (12#) = happyGoto action_170
-action_113 (58#) = happyGoto action_12
-action_113 (59#) = happyGoto action_95
-action_113 (72#) = happyGoto action_19
-action_113 x = happyTcHack x happyFail
-
-action_114 (97#) = happyShift action_168
-action_114 (107#) = happyShift action_169
-action_114 x = happyTcHack x happyFail
-
-action_115 x = happyTcHack x happyReduce_206
-
-action_116 x = happyTcHack x happyReduce_208
-
-action_117 x = happyTcHack x happyReduce_207
-
-action_118 (107#) = happyShift action_167
-action_118 x = happyTcHack x happyReduce_203
-
-action_119 x = happyTcHack x happyReduce_171
-
-action_120 (174#) = happyShift action_48
-action_120 (12#) = happyGoto action_166
-action_120 x = happyTcHack x happyFail
-
-action_121 (95#) = happyShift action_120
-action_121 (98#) = happyShift action_121
-action_121 (105#) = happyShift action_164
-action_121 (111#) = happyShift action_122
-action_121 (115#) = happyShift action_123
-action_121 (123#) = happyShift action_124
-action_121 (126#) = happyShift action_125
-action_121 (167#) = happyShift action_126
-action_121 (170#) = happyShift action_6
-action_121 (171#) = happyShift action_45
-action_121 (172#) = happyShift action_46
-action_121 (174#) = happyShift action_48
-action_121 (8#) = happyGoto action_115
-action_121 (9#) = happyGoto action_116
-action_121 (10#) = happyGoto action_117
-action_121 (12#) = happyGoto action_158
-action_121 (67#) = happyGoto action_159
-action_121 (68#) = happyGoto action_160
-action_121 (69#) = happyGoto action_165
-action_121 x = happyTcHack x happyFail
-
-action_122 (95#) = happyShift action_120
-action_122 (98#) = happyShift action_121
-action_122 (105#) = happyShift action_164
-action_122 (111#) = happyShift action_122
-action_122 (115#) = happyShift action_123
-action_122 (123#) = happyShift action_124
-action_122 (126#) = happyShift action_125
-action_122 (167#) = happyShift action_126
-action_122 (170#) = happyShift action_6
-action_122 (171#) = happyShift action_45
-action_122 (172#) = happyShift action_46
-action_122 (174#) = happyShift action_48
-action_122 (8#) = happyGoto action_115
-action_122 (9#) = happyGoto action_116
-action_122 (10#) = happyGoto action_117
-action_122 (12#) = happyGoto action_158
-action_122 (67#) = happyGoto action_159
-action_122 (68#) = happyGoto action_160
-action_122 (69#) = happyGoto action_161
-action_122 (79#) = happyGoto action_162
-action_122 (81#) = happyGoto action_163
-action_122 x = happyTcHack x happyReduce_246
-
-action_123 x = happyTcHack x happyReduce_198
-
-action_124 (171#) = happyShift action_45
-action_124 (9#) = happyGoto action_157
-action_124 x = happyTcHack x happyFail
-
-action_125 x = happyTcHack x happyReduce_202
-
-action_126 (174#) = happyShift action_48
-action_126 (12#) = happyGoto action_153
-action_126 (53#) = happyGoto action_154
-action_126 (70#) = happyGoto action_155
-action_126 (73#) = happyGoto action_156
-action_126 x = happyTcHack x happyReduce_229
-
-action_127 (95#) = happyShift action_21
-action_127 (97#) = happyShift action_22
-action_127 (98#) = happyShift action_23
-action_127 (111#) = happyShift action_24
-action_127 (115#) = happyShift action_25
-action_127 (117#) = happyShift action_26
-action_127 (118#) = happyShift action_27
-action_127 (119#) = happyShift action_28
-action_127 (120#) = happyShift action_29
-action_127 (121#) = happyShift action_30
-action_127 (122#) = happyShift action_31
-action_127 (123#) = happyShift action_32
-action_127 (124#) = happyShift action_33
-action_127 (128#) = happyShift action_34
-action_127 (131#) = happyShift action_35
-action_127 (134#) = happyShift action_36
-action_127 (137#) = happyShift action_37
-action_127 (142#) = happyShift action_38
-action_127 (153#) = happyShift action_39
-action_127 (154#) = happyShift action_40
-action_127 (158#) = happyShift action_41
-action_127 (159#) = happyShift action_42
-action_127 (164#) = happyShift action_43
-action_127 (167#) = happyShift action_44
-action_127 (170#) = happyShift action_6
-action_127 (171#) = happyShift action_45
-action_127 (172#) = happyShift action_46
-action_127 (173#) = happyShift action_47
-action_127 (174#) = happyShift action_48
-action_127 (8#) = happyGoto action_7
-action_127 (9#) = happyGoto action_8
-action_127 (10#) = happyGoto action_9
-action_127 (11#) = happyGoto action_10
-action_127 (12#) = happyGoto action_11
-action_127 (58#) = happyGoto action_12
-action_127 (59#) = happyGoto action_13
-action_127 (60#) = happyGoto action_14
-action_127 (61#) = happyGoto action_15
-action_127 (62#) = happyGoto action_16
-action_127 (63#) = happyGoto action_152
-action_127 (64#) = happyGoto action_18
-action_127 (72#) = happyGoto action_19
-action_127 (77#) = happyGoto action_20
-action_127 x = happyTcHack x happyFail
-
-action_128 (95#) = happyShift action_21
-action_128 (97#) = happyShift action_22
-action_128 (98#) = happyShift action_87
-action_128 (111#) = happyShift action_24
-action_128 (115#) = happyShift action_25
-action_128 (117#) = happyShift action_26
-action_128 (118#) = happyShift action_27
-action_128 (119#) = happyShift action_28
-action_128 (120#) = happyShift action_29
-action_128 (121#) = happyShift action_30
-action_128 (122#) = happyShift action_31
-action_128 (123#) = happyShift action_32
-action_128 (128#) = happyShift action_34
-action_128 (131#) = happyShift action_35
-action_128 (153#) = happyShift action_39
-action_128 (154#) = happyShift action_40
-action_128 (158#) = happyShift action_41
-action_128 (159#) = happyShift action_42
-action_128 (164#) = happyShift action_43
-action_128 (167#) = happyShift action_44
-action_128 (170#) = happyShift action_6
-action_128 (171#) = happyShift action_45
-action_128 (172#) = happyShift action_46
-action_128 (173#) = happyShift action_47
-action_128 (174#) = happyShift action_48
-action_128 (8#) = happyGoto action_7
-action_128 (9#) = happyGoto action_8
-action_128 (10#) = happyGoto action_9
-action_128 (11#) = happyGoto action_10
-action_128 (12#) = happyGoto action_11
-action_128 (58#) = happyGoto action_12
-action_128 (59#) = happyGoto action_13
-action_128 (60#) = happyGoto action_149
-action_128 (61#) = happyGoto action_150
-action_128 (62#) = happyGoto action_151
-action_128 (64#) = happyGoto action_18
-action_128 (72#) = happyGoto action_19
-action_128 x = happyTcHack x happyFail
-
-action_129 (95#) = happyShift action_21
-action_129 (97#) = happyShift action_22
-action_129 (98#) = happyShift action_23
-action_129 (111#) = happyShift action_24
-action_129 (115#) = happyShift action_25
-action_129 (117#) = happyShift action_26
-action_129 (118#) = happyShift action_27
-action_129 (119#) = happyShift action_28
-action_129 (120#) = happyShift action_29
-action_129 (121#) = happyShift action_30
-action_129 (122#) = happyShift action_31
-action_129 (123#) = happyShift action_32
-action_129 (124#) = happyShift action_33
-action_129 (128#) = happyShift action_34
-action_129 (131#) = happyShift action_35
-action_129 (134#) = happyShift action_36
-action_129 (137#) = happyShift action_37
-action_129 (142#) = happyShift action_38
-action_129 (153#) = happyShift action_39
-action_129 (154#) = happyShift action_40
-action_129 (158#) = happyShift action_41
-action_129 (159#) = happyShift action_42
-action_129 (164#) = happyShift action_43
-action_129 (167#) = happyShift action_44
-action_129 (170#) = happyShift action_6
-action_129 (171#) = happyShift action_45
-action_129 (172#) = happyShift action_46
-action_129 (173#) = happyShift action_47
-action_129 (174#) = happyShift action_48
-action_129 (8#) = happyGoto action_7
-action_129 (9#) = happyGoto action_8
-action_129 (10#) = happyGoto action_9
-action_129 (11#) = happyGoto action_10
-action_129 (12#) = happyGoto action_11
-action_129 (58#) = happyGoto action_12
-action_129 (59#) = happyGoto action_13
-action_129 (60#) = happyGoto action_14
-action_129 (61#) = happyGoto action_15
-action_129 (62#) = happyGoto action_16
-action_129 (63#) = happyGoto action_148
-action_129 (64#) = happyGoto action_18
-action_129 (72#) = happyGoto action_19
-action_129 (77#) = happyGoto action_20
-action_129 x = happyTcHack x happyFail
-
-action_130 (95#) = happyShift action_21
-action_130 (97#) = happyShift action_22
-action_130 (98#) = happyShift action_87
-action_130 (111#) = happyShift action_24
-action_130 (115#) = happyShift action_25
-action_130 (117#) = happyShift action_26
-action_130 (118#) = happyShift action_27
-action_130 (119#) = happyShift action_28
-action_130 (120#) = happyShift action_29
-action_130 (121#) = happyShift action_30
-action_130 (122#) = happyShift action_31
-action_130 (123#) = happyShift action_32
-action_130 (128#) = happyShift action_34
-action_130 (131#) = happyShift action_35
-action_130 (153#) = happyShift action_39
-action_130 (154#) = happyShift action_40
-action_130 (158#) = happyShift action_41
-action_130 (159#) = happyShift action_42
-action_130 (164#) = happyShift action_43
-action_130 (167#) = happyShift action_44
-action_130 (170#) = happyShift action_6
-action_130 (171#) = happyShift action_45
-action_130 (172#) = happyShift action_46
-action_130 (173#) = happyShift action_47
-action_130 (174#) = happyShift action_48
-action_130 (8#) = happyGoto action_7
-action_130 (9#) = happyGoto action_8
-action_130 (10#) = happyGoto action_9
-action_130 (11#) = happyGoto action_10
-action_130 (12#) = happyGoto action_11
-action_130 (58#) = happyGoto action_12
-action_130 (59#) = happyGoto action_13
-action_130 (60#) = happyGoto action_147
-action_130 (72#) = happyGoto action_19
-action_130 x = happyTcHack x happyFail
-
-action_131 (95#) = happyShift action_21
-action_131 (97#) = happyShift action_22
-action_131 (98#) = happyShift action_87
-action_131 (111#) = happyShift action_24
-action_131 (115#) = happyShift action_25
-action_131 (117#) = happyShift action_26
-action_131 (118#) = happyShift action_27
-action_131 (119#) = happyShift action_28
-action_131 (120#) = happyShift action_29
-action_131 (121#) = happyShift action_30
-action_131 (122#) = happyShift action_31
-action_131 (123#) = happyShift action_32
-action_131 (128#) = happyShift action_34
-action_131 (131#) = happyShift action_35
-action_131 (153#) = happyShift action_39
-action_131 (154#) = happyShift action_40
-action_131 (158#) = happyShift action_41
-action_131 (159#) = happyShift action_42
-action_131 (164#) = happyShift action_43
-action_131 (167#) = happyShift action_44
-action_131 (170#) = happyShift action_6
-action_131 (171#) = happyShift action_45
-action_131 (172#) = happyShift action_46
-action_131 (173#) = happyShift action_47
-action_131 (174#) = happyShift action_48
-action_131 (8#) = happyGoto action_7
-action_131 (9#) = happyGoto action_8
-action_131 (10#) = happyGoto action_9
-action_131 (11#) = happyGoto action_10
-action_131 (12#) = happyGoto action_11
-action_131 (58#) = happyGoto action_12
-action_131 (59#) = happyGoto action_13
-action_131 (60#) = happyGoto action_146
-action_131 (72#) = happyGoto action_19
-action_131 x = happyTcHack x happyFail
-
-action_132 (95#) = happyShift action_21
-action_132 (97#) = happyShift action_22
-action_132 (98#) = happyShift action_87
-action_132 (111#) = happyShift action_24
-action_132 (115#) = happyShift action_25
-action_132 (117#) = happyShift action_26
-action_132 (118#) = happyShift action_27
-action_132 (119#) = happyShift action_28
-action_132 (120#) = happyShift action_29
-action_132 (121#) = happyShift action_30
-action_132 (122#) = happyShift action_31
-action_132 (123#) = happyShift action_32
-action_132 (128#) = happyShift action_34
-action_132 (131#) = happyShift action_35
-action_132 (153#) = happyShift action_39
-action_132 (154#) = happyShift action_40
-action_132 (158#) = happyShift action_41
-action_132 (159#) = happyShift action_42
-action_132 (164#) = happyShift action_43
-action_132 (167#) = happyShift action_44
-action_132 (170#) = happyShift action_6
-action_132 (171#) = happyShift action_45
-action_132 (172#) = happyShift action_46
-action_132 (173#) = happyShift action_47
-action_132 (174#) = happyShift action_48
-action_132 (8#) = happyGoto action_7
-action_132 (9#) = happyGoto action_8
-action_132 (10#) = happyGoto action_9
-action_132 (11#) = happyGoto action_10
-action_132 (12#) = happyGoto action_11
-action_132 (58#) = happyGoto action_12
-action_132 (59#) = happyGoto action_13
-action_132 (60#) = happyGoto action_145
-action_132 (72#) = happyGoto action_19
-action_132 x = happyTcHack x happyFail
-
-action_133 (95#) = happyShift action_21
-action_133 (97#) = happyShift action_22
-action_133 (98#) = happyShift action_23
-action_133 (111#) = happyShift action_24
-action_133 (115#) = happyShift action_25
-action_133 (117#) = happyShift action_26
-action_133 (118#) = happyShift action_27
-action_133 (119#) = happyShift action_28
-action_133 (120#) = happyShift action_29
-action_133 (121#) = happyShift action_30
-action_133 (122#) = happyShift action_31
-action_133 (123#) = happyShift action_32
-action_133 (124#) = happyShift action_33
-action_133 (128#) = happyShift action_34
-action_133 (131#) = happyShift action_35
-action_133 (134#) = happyShift action_36
-action_133 (137#) = happyShift action_37
-action_133 (142#) = happyShift action_38
-action_133 (153#) = happyShift action_39
-action_133 (154#) = happyShift action_40
-action_133 (158#) = happyShift action_41
-action_133 (159#) = happyShift action_42
-action_133 (164#) = happyShift action_43
-action_133 (167#) = happyShift action_44
-action_133 (170#) = happyShift action_6
-action_133 (171#) = happyShift action_45
-action_133 (172#) = happyShift action_46
-action_133 (173#) = happyShift action_47
-action_133 (174#) = happyShift action_48
-action_133 (8#) = happyGoto action_7
-action_133 (9#) = happyGoto action_8
-action_133 (10#) = happyGoto action_9
-action_133 (11#) = happyGoto action_10
-action_133 (12#) = happyGoto action_11
-action_133 (58#) = happyGoto action_12
-action_133 (59#) = happyGoto action_13
-action_133 (60#) = happyGoto action_14
-action_133 (61#) = happyGoto action_15
-action_133 (62#) = happyGoto action_16
-action_133 (63#) = happyGoto action_144
-action_133 (64#) = happyGoto action_18
-action_133 (72#) = happyGoto action_19
-action_133 (77#) = happyGoto action_20
-action_133 x = happyTcHack x happyFail
-
-action_134 (167#) = happyShift action_143
-action_134 x = happyTcHack x happyFail
-
-action_135 (107#) = happyShift action_136
-action_135 x = happyTcHack x happyReduce_162
-
-action_136 (96#) = happyShift action_142
-action_136 (174#) = happyShift action_48
-action_136 (12#) = happyGoto action_140
-action_136 (71#) = happyGoto action_141
-action_136 x = happyTcHack x happyFail
-
-action_137 (97#) = happyShift action_86
-action_137 (98#) = happyShift action_87
-action_137 (111#) = happyShift action_24
-action_137 (115#) = happyShift action_25
-action_137 (118#) = happyShift action_27
-action_137 (119#) = happyShift action_28
-action_137 (120#) = happyShift action_29
-action_137 (121#) = happyShift action_30
-action_137 (122#) = happyShift action_31
-action_137 (123#) = happyShift action_32
-action_137 (131#) = happyShift action_35
-action_137 (167#) = happyShift action_139
-action_137 (170#) = happyShift action_6
-action_137 (171#) = happyShift action_45
-action_137 (172#) = happyShift action_46
-action_137 (173#) = happyShift action_47
-action_137 (174#) = happyShift action_48
-action_137 (8#) = happyGoto action_7
-action_137 (9#) = happyGoto action_8
-action_137 (10#) = happyGoto action_9
-action_137 (11#) = happyGoto action_10
-action_137 (12#) = happyGoto action_84
-action_137 (58#) = happyGoto action_138
-action_137 (72#) = happyGoto action_19
-action_137 x = happyTcHack x happyFail
-
-action_138 x = happyTcHack x happyReduce_170
-
-action_139 (174#) = happyShift action_48
-action_139 (12#) = happyGoto action_348
-action_139 (53#) = happyGoto action_80
-action_139 (56#) = happyGoto action_81
-action_139 (57#) = happyGoto action_82
-action_139 x = happyTcHack x happyReduce_137
-
-action_140 x = happyTcHack x happyReduce_222
-
-action_141 x = happyTcHack x happyReduce_158
-
-action_142 (170#) = happyShift action_6
-action_142 (8#) = happyGoto action_347
-action_142 x = happyTcHack x happyFail
-
-action_143 (174#) = happyShift action_48
-action_143 (12#) = happyGoto action_92
-action_143 (53#) = happyGoto action_80
-action_143 (56#) = happyGoto action_81
-action_143 (57#) = happyGoto action_346
-action_143 x = happyTcHack x happyReduce_137
-
-action_144 x = happyTcHack x happyReduce_185
-
-action_145 (97#) = happyShift action_22
-action_145 (98#) = happyShift action_87
-action_145 (111#) = happyShift action_24
-action_145 (115#) = happyShift action_25
-action_145 (118#) = happyShift action_27
-action_145 (119#) = happyShift action_28
-action_145 (120#) = happyShift action_29
-action_145 (121#) = happyShift action_30
-action_145 (122#) = happyShift action_31
-action_145 (123#) = happyShift action_32
-action_145 (131#) = happyShift action_35
-action_145 (167#) = happyShift action_44
-action_145 (170#) = happyShift action_6
-action_145 (171#) = happyShift action_45
-action_145 (172#) = happyShift action_46
-action_145 (173#) = happyShift action_47
-action_145 (174#) = happyShift action_48
-action_145 (8#) = happyGoto action_7
-action_145 (9#) = happyGoto action_8
-action_145 (10#) = happyGoto action_9
-action_145 (11#) = happyGoto action_10
-action_145 (12#) = happyGoto action_84
-action_145 (58#) = happyGoto action_12
-action_145 (59#) = happyGoto action_135
-action_145 (72#) = happyGoto action_19
-action_145 x = happyTcHack x happyReduce_177
-
-action_146 (97#) = happyShift action_22
-action_146 (98#) = happyShift action_87
-action_146 (111#) = happyShift action_24
-action_146 (115#) = happyShift action_25
-action_146 (118#) = happyShift action_27
-action_146 (119#) = happyShift action_28
-action_146 (120#) = happyShift action_29
-action_146 (121#) = happyShift action_30
-action_146 (122#) = happyShift action_31
-action_146 (123#) = happyShift action_32
-action_146 (131#) = happyShift action_35
-action_146 (167#) = happyShift action_44
-action_146 (170#) = happyShift action_6
-action_146 (171#) = happyShift action_45
-action_146 (172#) = happyShift action_46
-action_146 (173#) = happyShift action_47
-action_146 (174#) = happyShift action_48
-action_146 (8#) = happyGoto action_7
-action_146 (9#) = happyGoto action_8
-action_146 (10#) = happyGoto action_9
-action_146 (11#) = happyGoto action_10
-action_146 (12#) = happyGoto action_84
-action_146 (58#) = happyGoto action_12
-action_146 (59#) = happyGoto action_135
-action_146 (72#) = happyGoto action_19
-action_146 x = happyTcHack x happyReduce_176
-
-action_147 (97#) = happyShift action_22
-action_147 (98#) = happyShift action_87
-action_147 (111#) = happyShift action_24
-action_147 (115#) = happyShift action_25
-action_147 (118#) = happyShift action_27
-action_147 (119#) = happyShift action_28
-action_147 (120#) = happyShift action_29
-action_147 (121#) = happyShift action_30
-action_147 (122#) = happyShift action_31
-action_147 (123#) = happyShift action_32
-action_147 (131#) = happyShift action_35
-action_147 (167#) = happyShift action_44
-action_147 (170#) = happyShift action_6
-action_147 (171#) = happyShift action_45
-action_147 (172#) = happyShift action_46
-action_147 (173#) = happyShift action_47
-action_147 (174#) = happyShift action_48
-action_147 (8#) = happyGoto action_7
-action_147 (9#) = happyGoto action_8
-action_147 (10#) = happyGoto action_9
-action_147 (11#) = happyGoto action_10
-action_147 (12#) = happyGoto action_84
-action_147 (58#) = happyGoto action_12
-action_147 (59#) = happyGoto action_135
-action_147 (72#) = happyGoto action_19
-action_147 x = happyTcHack x happyReduce_175
-
-action_148 x = happyTcHack x happyReduce_181
-
-action_149 (97#) = happyShift action_22
-action_149 (98#) = happyShift action_87
-action_149 (111#) = happyShift action_24
-action_149 (115#) = happyShift action_25
-action_149 (118#) = happyShift action_27
-action_149 (119#) = happyShift action_28
-action_149 (120#) = happyShift action_29
-action_149 (121#) = happyShift action_30
-action_149 (122#) = happyShift action_31
-action_149 (123#) = happyShift action_32
-action_149 (131#) = happyShift action_35
-action_149 (167#) = happyShift action_44
-action_149 (170#) = happyShift action_6
-action_149 (171#) = happyShift action_45
-action_149 (172#) = happyShift action_46
-action_149 (173#) = happyShift action_47
-action_149 (174#) = happyShift action_48
-action_149 (8#) = happyGoto action_7
-action_149 (9#) = happyGoto action_8
-action_149 (10#) = happyGoto action_9
-action_149 (11#) = happyGoto action_10
-action_149 (12#) = happyGoto action_84
-action_149 (58#) = happyGoto action_12
-action_149 (59#) = happyGoto action_135
-action_149 (72#) = happyGoto action_19
-action_149 x = happyTcHack x happyReduce_178
-
-action_150 (94#) = happyShift action_130
-action_150 (100#) = happyShift action_131
-action_150 (101#) = happyShift action_132
-action_150 x = happyTcHack x happyReduce_192
-
-action_151 x = happyTcHack x happyReduce_179
-
-action_152 x = happyTcHack x happyReduce_184
-
-action_153 (104#) = happyShift action_190
-action_153 (169#) = happyShift action_345
-action_153 x = happyTcHack x happyReduce_128
-
-action_154 (112#) = happyShift action_344
-action_154 x = happyTcHack x happyFail
-
-action_155 (110#) = happyShift action_343
-action_155 x = happyTcHack x happyReduce_230
-
-action_156 (169#) = happyShift action_342
-action_156 x = happyTcHack x happyFail
-
-action_157 (125#) = happyShift action_341
-action_157 x = happyTcHack x happyFail
-
-action_158 (95#) = happyShift action_120
-action_158 (98#) = happyShift action_121
-action_158 (107#) = happyShift action_310
-action_158 (111#) = happyShift action_122
-action_158 (115#) = happyShift action_123
-action_158 (116#) = happyShift action_311
-action_158 (123#) = happyShift action_124
-action_158 (126#) = happyShift action_125
-action_158 (167#) = happyShift action_126
-action_158 (170#) = happyShift action_6
-action_158 (171#) = happyShift action_45
-action_158 (172#) = happyShift action_46
-action_158 (174#) = happyShift action_48
-action_158 (8#) = happyGoto action_115
-action_158 (9#) = happyGoto action_116
-action_158 (10#) = happyGoto action_117
-action_158 (12#) = happyGoto action_118
-action_158 (67#) = happyGoto action_183
-action_158 (74#) = happyGoto action_309
-action_158 x = happyTcHack x happyReduce_203
-
-action_159 (100#) = happyShift action_340
-action_159 x = happyTcHack x happyReduce_217
-
-action_160 x = happyTcHack x happyReduce_220
-
-action_161 (102#) = happyShift action_306
-action_161 (168#) = happyShift action_308
-action_161 x = happyTcHack x happyReduce_242
-
-action_162 (104#) = happyShift action_339
-action_162 x = happyTcHack x happyReduce_247
-
-action_163 (114#) = happyShift action_338
-action_163 x = happyTcHack x happyFail
-
-action_164 (95#) = happyShift action_120
-action_164 (98#) = happyShift action_121
-action_164 (111#) = happyShift action_122
-action_164 (115#) = happyShift action_123
-action_164 (123#) = happyShift action_124
-action_164 (126#) = happyShift action_125
-action_164 (167#) = happyShift action_126
-action_164 (170#) = happyShift action_6
-action_164 (171#) = happyShift action_45
-action_164 (172#) = happyShift action_46
-action_164 (174#) = happyShift action_48
-action_164 (8#) = happyGoto action_115
-action_164 (9#) = happyGoto action_116
-action_164 (10#) = happyGoto action_117
-action_164 (12#) = happyGoto action_118
-action_164 (67#) = happyGoto action_337
-action_164 x = happyTcHack x happyFail
-
-action_165 (99#) = happyShift action_336
-action_165 (102#) = happyShift action_306
-action_165 (168#) = happyShift action_308
-action_165 x = happyTcHack x happyFail
-
-action_166 (107#) = happyShift action_335
-action_166 x = happyTcHack x happyReduce_200
-
-action_167 (174#) = happyShift action_48
-action_167 (12#) = happyGoto action_334
-action_167 x = happyTcHack x happyFail
-
-action_168 x = happyTcHack x happyReduce_142
-
-action_169 (174#) = happyShift action_48
-action_169 (12#) = happyGoto action_333
-action_169 x = happyTcHack x happyFail
-
-action_170 (99#) = happyShift action_332
-action_170 x = happyTcHack x happyReduce_140
-
-action_171 (95#) = happyShift action_21
-action_171 (97#) = happyShift action_22
-action_171 (98#) = happyShift action_23
-action_171 (111#) = happyShift action_24
-action_171 (115#) = happyShift action_25
-action_171 (117#) = happyShift action_26
-action_171 (118#) = happyShift action_27
-action_171 (119#) = happyShift action_28
-action_171 (120#) = happyShift action_29
-action_171 (121#) = happyShift action_30
-action_171 (122#) = happyShift action_31
-action_171 (123#) = happyShift action_32
-action_171 (124#) = happyShift action_33
-action_171 (128#) = happyShift action_34
-action_171 (131#) = happyShift action_35
-action_171 (134#) = happyShift action_36
-action_171 (137#) = happyShift action_37
-action_171 (142#) = happyShift action_38
-action_171 (153#) = happyShift action_39
-action_171 (154#) = happyShift action_40
-action_171 (158#) = happyShift action_41
-action_171 (159#) = happyShift action_42
-action_171 (164#) = happyShift action_43
-action_171 (167#) = happyShift action_44
-action_171 (170#) = happyShift action_6
-action_171 (171#) = happyShift action_45
-action_171 (172#) = happyShift action_46
-action_171 (173#) = happyShift action_47
-action_171 (174#) = happyShift action_48
-action_171 (8#) = happyGoto action_7
-action_171 (9#) = happyGoto action_8
-action_171 (10#) = happyGoto action_9
-action_171 (11#) = happyGoto action_10
-action_171 (12#) = happyGoto action_11
-action_171 (58#) = happyGoto action_12
-action_171 (59#) = happyGoto action_13
-action_171 (60#) = happyGoto action_14
-action_171 (61#) = happyGoto action_15
-action_171 (62#) = happyGoto action_16
-action_171 (63#) = happyGoto action_331
-action_171 (64#) = happyGoto action_18
-action_171 (72#) = happyGoto action_19
-action_171 (77#) = happyGoto action_20
-action_171 x = happyTcHack x happyFail
-
-action_172 x = happyTcHack x happyReduce_156
-
-action_173 x = happyTcHack x happyReduce_153
-
-action_174 (95#) = happyShift action_21
-action_174 (97#) = happyShift action_22
-action_174 (98#) = happyShift action_23
-action_174 (111#) = happyShift action_24
-action_174 (115#) = happyShift action_25
-action_174 (117#) = happyShift action_26
-action_174 (118#) = happyShift action_27
-action_174 (119#) = happyShift action_28
-action_174 (120#) = happyShift action_29
-action_174 (121#) = happyShift action_30
-action_174 (122#) = happyShift action_31
-action_174 (123#) = happyShift action_32
-action_174 (124#) = happyShift action_33
-action_174 (128#) = happyShift action_34
-action_174 (131#) = happyShift action_35
-action_174 (134#) = happyShift action_36
-action_174 (137#) = happyShift action_37
-action_174 (142#) = happyShift action_38
-action_174 (153#) = happyShift action_39
-action_174 (154#) = happyShift action_40
-action_174 (158#) = happyShift action_41
-action_174 (159#) = happyShift action_42
-action_174 (164#) = happyShift action_43
-action_174 (167#) = happyShift action_44
-action_174 (170#) = happyShift action_6
-action_174 (171#) = happyShift action_45
-action_174 (172#) = happyShift action_46
-action_174 (173#) = happyShift action_47
-action_174 (174#) = happyShift action_48
-action_174 (8#) = happyGoto action_7
-action_174 (9#) = happyGoto action_8
-action_174 (10#) = happyGoto action_9
-action_174 (11#) = happyGoto action_10
-action_174 (12#) = happyGoto action_11
-action_174 (58#) = happyGoto action_12
-action_174 (59#) = happyGoto action_13
-action_174 (60#) = happyGoto action_14
-action_174 (61#) = happyGoto action_15
-action_174 (62#) = happyGoto action_16
-action_174 (63#) = happyGoto action_329
-action_174 (64#) = happyGoto action_18
-action_174 (72#) = happyGoto action_19
-action_174 (77#) = happyGoto action_20
-action_174 (78#) = happyGoto action_108
-action_174 (80#) = happyGoto action_330
-action_174 x = happyTcHack x happyReduce_243
-
-action_175 (95#) = happyShift action_21
-action_175 (97#) = happyShift action_22
-action_175 (98#) = happyShift action_23
-action_175 (111#) = happyShift action_24
-action_175 (115#) = happyShift action_25
-action_175 (117#) = happyShift action_26
-action_175 (118#) = happyShift action_27
-action_175 (119#) = happyShift action_28
-action_175 (120#) = happyShift action_29
-action_175 (121#) = happyShift action_30
-action_175 (122#) = happyShift action_31
-action_175 (123#) = happyShift action_32
-action_175 (124#) = happyShift action_33
-action_175 (128#) = happyShift action_34
-action_175 (131#) = happyShift action_35
-action_175 (134#) = happyShift action_36
-action_175 (137#) = happyShift action_37
-action_175 (142#) = happyShift action_38
-action_175 (153#) = happyShift action_39
-action_175 (154#) = happyShift action_40
-action_175 (158#) = happyShift action_41
-action_175 (159#) = happyShift action_42
-action_175 (164#) = happyShift action_43
-action_175 (167#) = happyShift action_44
-action_175 (170#) = happyShift action_6
-action_175 (171#) = happyShift action_45
-action_175 (172#) = happyShift action_46
-action_175 (173#) = happyShift action_47
-action_175 (174#) = happyShift action_48
-action_175 (8#) = happyGoto action_7
-action_175 (9#) = happyGoto action_8
-action_175 (10#) = happyGoto action_9
-action_175 (11#) = happyGoto action_10
-action_175 (12#) = happyGoto action_11
-action_175 (58#) = happyGoto action_12
-action_175 (59#) = happyGoto action_13
-action_175 (60#) = happyGoto action_14
-action_175 (61#) = happyGoto action_15
-action_175 (62#) = happyGoto action_16
-action_175 (63#) = happyGoto action_328
-action_175 (64#) = happyGoto action_18
-action_175 (72#) = happyGoto action_19
-action_175 (77#) = happyGoto action_20
-action_175 x = happyTcHack x happyFail
-
-action_176 (97#) = happyShift action_86
-action_176 (98#) = happyShift action_87
-action_176 (111#) = happyShift action_24
-action_176 (115#) = happyShift action_25
-action_176 (118#) = happyShift action_27
-action_176 (119#) = happyShift action_28
-action_176 (120#) = happyShift action_29
-action_176 (121#) = happyShift action_30
-action_176 (122#) = happyShift action_31
-action_176 (123#) = happyShift action_32
-action_176 (131#) = happyShift action_35
-action_176 (167#) = happyShift action_139
-action_176 (170#) = happyShift action_6
-action_176 (171#) = happyShift action_45
-action_176 (172#) = happyShift action_46
-action_176 (173#) = happyShift action_47
-action_176 (174#) = happyShift action_48
-action_176 (8#) = happyGoto action_7
-action_176 (9#) = happyGoto action_8
-action_176 (10#) = happyGoto action_9
-action_176 (11#) = happyGoto action_10
-action_176 (12#) = happyGoto action_84
-action_176 (58#) = happyGoto action_176
-action_176 (66#) = happyGoto action_327
-action_176 (72#) = happyGoto action_19
-action_176 x = happyTcHack x happyReduce_196
-
-action_177 (125#) = happyShift action_326
-action_177 x = happyTcHack x happyFail
-
-action_178 x = happyTcHack x happyReduce_151
-
-action_179 (113#) = happyShift action_325
-action_179 x = happyTcHack x happyFail
-
-action_180 (95#) = happyShift action_21
-action_180 (97#) = happyShift action_22
-action_180 (98#) = happyShift action_23
-action_180 (111#) = happyShift action_24
-action_180 (115#) = happyShift action_25
-action_180 (117#) = happyShift action_26
-action_180 (118#) = happyShift action_27
-action_180 (119#) = happyShift action_28
-action_180 (120#) = happyShift action_29
-action_180 (121#) = happyShift action_30
-action_180 (122#) = happyShift action_31
-action_180 (123#) = happyShift action_32
-action_180 (124#) = happyShift action_33
-action_180 (128#) = happyShift action_34
-action_180 (131#) = happyShift action_35
-action_180 (134#) = happyShift action_36
-action_180 (137#) = happyShift action_37
-action_180 (142#) = happyShift action_38
-action_180 (153#) = happyShift action_39
-action_180 (154#) = happyShift action_40
-action_180 (158#) = happyShift action_41
-action_180 (159#) = happyShift action_42
-action_180 (164#) = happyShift action_43
-action_180 (167#) = happyShift action_44
-action_180 (170#) = happyShift action_6
-action_180 (171#) = happyShift action_45
-action_180 (172#) = happyShift action_46
-action_180 (173#) = happyShift action_47
-action_180 (174#) = happyShift action_48
-action_180 (8#) = happyGoto action_7
-action_180 (9#) = happyGoto action_8
-action_180 (10#) = happyGoto action_9
-action_180 (11#) = happyGoto action_10
-action_180 (12#) = happyGoto action_11
-action_180 (58#) = happyGoto action_12
-action_180 (59#) = happyGoto action_13
-action_180 (60#) = happyGoto action_14
-action_180 (61#) = happyGoto action_15
-action_180 (62#) = happyGoto action_16
-action_180 (63#) = happyGoto action_324
-action_180 (64#) = happyGoto action_18
-action_180 (72#) = happyGoto action_19
-action_180 (77#) = happyGoto action_20
-action_180 x = happyTcHack x happyFail
-
-action_181 (126#) = happyShift action_102
-action_181 (174#) = happyShift action_48
-action_181 (12#) = happyGoto action_98
-action_181 (75#) = happyGoto action_99
-action_181 (76#) = happyGoto action_323
-action_181 x = happyTcHack x happyReduce_236
-
-action_182 (167#) = happyShift action_322
-action_182 x = happyTcHack x happyFail
-
-action_183 (95#) = happyShift action_120
-action_183 (98#) = happyShift action_121
-action_183 (111#) = happyShift action_122
-action_183 (115#) = happyShift action_123
-action_183 (123#) = happyShift action_124
-action_183 (126#) = happyShift action_125
-action_183 (167#) = happyShift action_126
-action_183 (170#) = happyShift action_6
-action_183 (171#) = happyShift action_45
-action_183 (172#) = happyShift action_46
-action_183 (174#) = happyShift action_48
-action_183 (8#) = happyGoto action_115
-action_183 (9#) = happyGoto action_116
-action_183 (10#) = happyGoto action_117
-action_183 (12#) = happyGoto action_118
-action_183 (67#) = happyGoto action_183
-action_183 (74#) = happyGoto action_321
-action_183 x = happyTcHack x happyReduce_232
-
-action_184 (106#) = happyShift action_320
-action_184 x = happyTcHack x happyFail
-
-action_185 (110#) = happyShift action_319
-action_185 x = happyTcHack x happyReduce_254
-
-action_186 (169#) = happyShift action_318
-action_186 x = happyTcHack x happyFail
-
-action_187 x = happyTcHack x happyReduce_190
-
-action_188 (169#) = happyShift action_317
-action_188 x = happyTcHack x happyFail
-
-action_189 (95#) = happyShift action_21
-action_189 (97#) = happyShift action_22
-action_189 (98#) = happyShift action_23
-action_189 (111#) = happyShift action_24
-action_189 (115#) = happyShift action_25
-action_189 (117#) = happyShift action_26
-action_189 (118#) = happyShift action_27
-action_189 (119#) = happyShift action_28
-action_189 (120#) = happyShift action_29
-action_189 (121#) = happyShift action_30
-action_189 (122#) = happyShift action_31
-action_189 (123#) = happyShift action_32
-action_189 (124#) = happyShift action_33
-action_189 (128#) = happyShift action_34
-action_189 (131#) = happyShift action_35
-action_189 (134#) = happyShift action_36
-action_189 (137#) = happyShift action_37
-action_189 (142#) = happyShift action_38
-action_189 (153#) = happyShift action_39
-action_189 (154#) = happyShift action_40
-action_189 (158#) = happyShift action_41
-action_189 (159#) = happyShift action_42
-action_189 (164#) = happyShift action_43
-action_189 (167#) = happyShift action_44
-action_189 (170#) = happyShift action_6
-action_189 (171#) = happyShift action_45
-action_189 (172#) = happyShift action_46
-action_189 (173#) = happyShift action_47
-action_189 (174#) = happyShift action_48
-action_189 (8#) = happyGoto action_7
-action_189 (9#) = happyGoto action_8
-action_189 (10#) = happyGoto action_9
-action_189 (11#) = happyGoto action_10
-action_189 (12#) = happyGoto action_11
-action_189 (58#) = happyGoto action_12
-action_189 (59#) = happyGoto action_13
-action_189 (60#) = happyGoto action_14
-action_189 (61#) = happyGoto action_15
-action_189 (62#) = happyGoto action_16
-action_189 (63#) = happyGoto action_316
-action_189 (64#) = happyGoto action_18
-action_189 (72#) = happyGoto action_19
-action_189 (77#) = happyGoto action_20
-action_189 x = happyTcHack x happyFail
-
-action_190 (174#) = happyShift action_48
-action_190 (12#) = happyGoto action_92
-action_190 (53#) = happyGoto action_315
-action_190 x = happyTcHack x happyFail
-
-action_191 (110#) = happyShift action_314
-action_191 x = happyTcHack x happyFail
-
-action_192 (110#) = happyShift action_313
-action_192 x = happyTcHack x happyReduce_194
-
-action_193 (169#) = happyShift action_312
-action_193 x = happyTcHack x happyFail
-
-action_194 (95#) = happyShift action_120
-action_194 (98#) = happyShift action_121
-action_194 (104#) = happyShift action_190
-action_194 (107#) = happyShift action_310
-action_194 (109#) = happyReduce_128
-action_194 (111#) = happyShift action_122
-action_194 (112#) = happyReduce_128
-action_194 (115#) = happyShift action_123
-action_194 (116#) = happyShift action_311
-action_194 (123#) = happyShift action_124
-action_194 (126#) = happyShift action_125
-action_194 (167#) = happyShift action_126
-action_194 (169#) = happyShift action_207
-action_194 (170#) = happyShift action_6
-action_194 (171#) = happyShift action_45
-action_194 (172#) = happyShift action_46
-action_194 (174#) = happyShift action_48
-action_194 (8#) = happyGoto action_115
-action_194 (9#) = happyGoto action_116
-action_194 (10#) = happyGoto action_117
-action_194 (12#) = happyGoto action_118
-action_194 (67#) = happyGoto action_183
-action_194 (74#) = happyGoto action_309
-action_194 x = happyTcHack x happyReduce_203
-
-action_195 (102#) = happyShift action_306
-action_195 (113#) = happyShift action_307
-action_195 (168#) = happyShift action_308
-action_195 x = happyTcHack x happyFail
-
-action_196 (110#) = happyShift action_305
-action_196 x = happyTcHack x happyReduce_250
-
-action_197 (169#) = happyShift action_304
-action_197 x = happyTcHack x happyFail
-
-action_198 (97#) = happyShift action_168
-action_198 x = happyTcHack x happyFail
-
-action_199 (95#) = happyShift action_21
-action_199 (97#) = happyShift action_22
-action_199 (98#) = happyShift action_23
-action_199 (111#) = happyShift action_24
-action_199 (115#) = happyShift action_25
-action_199 (117#) = happyShift action_26
-action_199 (118#) = happyShift action_27
-action_199 (119#) = happyShift action_28
-action_199 (120#) = happyShift action_29
-action_199 (121#) = happyShift action_30
-action_199 (122#) = happyShift action_31
-action_199 (123#) = happyShift action_32
-action_199 (124#) = happyShift action_33
-action_199 (128#) = happyShift action_34
-action_199 (131#) = happyShift action_35
-action_199 (134#) = happyShift action_36
-action_199 (137#) = happyShift action_37
-action_199 (142#) = happyShift action_38
-action_199 (153#) = happyShift action_39
-action_199 (154#) = happyShift action_40
-action_199 (158#) = happyShift action_41
-action_199 (159#) = happyShift action_42
-action_199 (164#) = happyShift action_43
-action_199 (167#) = happyShift action_44
-action_199 (170#) = happyShift action_6
-action_199 (171#) = happyShift action_45
-action_199 (172#) = happyShift action_46
-action_199 (173#) = happyShift action_47
-action_199 (174#) = happyShift action_48
-action_199 (8#) = happyGoto action_7
-action_199 (9#) = happyGoto action_8
-action_199 (10#) = happyGoto action_9
-action_199 (11#) = happyGoto action_10
-action_199 (12#) = happyGoto action_11
-action_199 (58#) = happyGoto action_12
-action_199 (59#) = happyGoto action_13
-action_199 (60#) = happyGoto action_14
-action_199 (61#) = happyGoto action_15
-action_199 (62#) = happyGoto action_16
-action_199 (63#) = happyGoto action_192
-action_199 (64#) = happyGoto action_18
-action_199 (65#) = happyGoto action_303
-action_199 (72#) = happyGoto action_19
-action_199 (77#) = happyGoto action_20
-action_199 x = happyTcHack x happyReduce_193
-
-action_200 (95#) = happyShift action_120
-action_200 (98#) = happyShift action_121
-action_200 (105#) = happyShift action_164
-action_200 (111#) = happyShift action_122
-action_200 (115#) = happyShift action_123
-action_200 (123#) = happyShift action_124
-action_200 (126#) = happyShift action_125
-action_200 (167#) = happyShift action_126
-action_200 (170#) = happyShift action_6
-action_200 (171#) = happyShift action_45
-action_200 (172#) = happyShift action_46
-action_200 (174#) = happyShift action_48
-action_200 (8#) = happyGoto action_115
-action_200 (9#) = happyGoto action_116
-action_200 (10#) = happyGoto action_117
-action_200 (12#) = happyGoto action_158
-action_200 (67#) = happyGoto action_159
-action_200 (68#) = happyGoto action_160
-action_200 (69#) = happyGoto action_195
-action_200 (82#) = happyGoto action_196
-action_200 (83#) = happyGoto action_302
-action_200 x = happyTcHack x happyFail
-
-action_201 (169#) = happyShift action_301
-action_201 x = happyTcHack x happyFail
-
-action_202 x = happyTcHack x happyReduce_152
-
-action_203 (174#) = happyShift action_48
-action_203 (12#) = happyGoto action_92
-action_203 (53#) = happyGoto action_80
-action_203 (56#) = happyGoto action_81
-action_203 (57#) = happyGoto action_300
-action_203 x = happyTcHack x happyReduce_137
-
-action_204 (95#) = happyShift action_21
-action_204 (97#) = happyShift action_22
-action_204 (98#) = happyShift action_23
-action_204 (111#) = happyShift action_24
-action_204 (115#) = happyShift action_25
-action_204 (117#) = happyShift action_26
-action_204 (118#) = happyShift action_27
-action_204 (119#) = happyShift action_28
-action_204 (120#) = happyShift action_29
-action_204 (121#) = happyShift action_30
-action_204 (122#) = happyShift action_31
-action_204 (123#) = happyShift action_32
-action_204 (124#) = happyShift action_33
-action_204 (128#) = happyShift action_34
-action_204 (131#) = happyShift action_35
-action_204 (134#) = happyShift action_36
-action_204 (137#) = happyShift action_37
-action_204 (142#) = happyShift action_38
-action_204 (153#) = happyShift action_39
-action_204 (154#) = happyShift action_40
-action_204 (158#) = happyShift action_41
-action_204 (159#) = happyShift action_42
-action_204 (164#) = happyShift action_43
-action_204 (167#) = happyShift action_44
-action_204 (170#) = happyShift action_6
-action_204 (171#) = happyShift action_45
-action_204 (172#) = happyShift action_46
-action_204 (173#) = happyShift action_47
-action_204 (174#) = happyShift action_48
-action_204 (8#) = happyGoto action_7
-action_204 (9#) = happyGoto action_8
-action_204 (10#) = happyGoto action_9
-action_204 (11#) = happyGoto action_10
-action_204 (12#) = happyGoto action_11
-action_204 (58#) = happyGoto action_12
-action_204 (59#) = happyGoto action_13
-action_204 (60#) = happyGoto action_14
-action_204 (61#) = happyGoto action_15
-action_204 (62#) = happyGoto action_16
-action_204 (63#) = happyGoto action_299
-action_204 (64#) = happyGoto action_18
-action_204 (72#) = happyGoto action_19
-action_204 (77#) = happyGoto action_20
-action_204 x = happyTcHack x happyFail
-
-action_205 (95#) = happyShift action_21
-action_205 (97#) = happyShift action_22
-action_205 (98#) = happyShift action_23
-action_205 (111#) = happyShift action_24
-action_205 (115#) = happyShift action_25
-action_205 (117#) = happyShift action_26
-action_205 (118#) = happyShift action_27
-action_205 (119#) = happyShift action_28
-action_205 (120#) = happyShift action_29
-action_205 (121#) = happyShift action_30
-action_205 (122#) = happyShift action_31
-action_205 (123#) = happyShift action_32
-action_205 (124#) = happyShift action_33
-action_205 (128#) = happyShift action_34
-action_205 (131#) = happyShift action_35
-action_205 (134#) = happyShift action_36
-action_205 (137#) = happyShift action_37
-action_205 (142#) = happyShift action_38
-action_205 (153#) = happyShift action_39
-action_205 (154#) = happyShift action_40
-action_205 (158#) = happyShift action_41
-action_205 (159#) = happyShift action_42
-action_205 (164#) = happyShift action_43
-action_205 (167#) = happyShift action_44
-action_205 (170#) = happyShift action_6
-action_205 (171#) = happyShift action_45
-action_205 (172#) = happyShift action_46
-action_205 (173#) = happyShift action_47
-action_205 (174#) = happyShift action_48
-action_205 (8#) = happyGoto action_7
-action_205 (9#) = happyGoto action_8
-action_205 (10#) = happyGoto action_9
-action_205 (11#) = happyGoto action_10
-action_205 (12#) = happyGoto action_11
-action_205 (58#) = happyGoto action_12
-action_205 (59#) = happyGoto action_13
-action_205 (60#) = happyGoto action_14
-action_205 (61#) = happyGoto action_15
-action_205 (62#) = happyGoto action_16
-action_205 (63#) = happyGoto action_298
-action_205 (64#) = happyGoto action_18
-action_205 (72#) = happyGoto action_19
-action_205 (77#) = happyGoto action_20
-action_205 x = happyTcHack x happyFail
-
-action_206 (174#) = happyShift action_48
-action_206 (12#) = happyGoto action_297
-action_206 x = happyTcHack x happyFail
-
-action_207 x = happyTcHack x happyReduce_141
-
-action_208 (1#) = happyReduce_65
-action_208 (101#) = happyReduce_65
-action_208 (148#) = happyReduce_51
-action_208 (157#) = happyShift action_295
-action_208 (162#) = happyShift action_296
-action_208 (174#) = happyShift action_48
-action_208 (12#) = happyGoto action_241
-action_208 (22#) = happyGoto action_291
-action_208 (26#) = happyGoto action_292
-action_208 (32#) = happyGoto action_293
-action_208 (33#) = happyGoto action_294
-action_208 x = happyTcHack x happyReduce_65
-
-action_209 x = happyTcHack x happyReduce_49
-
-action_210 (123#) = happyShift action_290
-action_210 (174#) = happyShift action_48
-action_210 (12#) = happyGoto action_287
-action_210 (36#) = happyGoto action_288
-action_210 (46#) = happyGoto action_289
-action_210 x = happyTcHack x happyFail
-
-action_211 (174#) = happyShift action_48
-action_211 (12#) = happyGoto action_283
-action_211 (37#) = happyGoto action_276
-action_211 (38#) = happyGoto action_284
-action_211 (47#) = happyGoto action_285
-action_211 (48#) = happyGoto action_286
-action_211 (53#) = happyGoto action_278
-action_211 x = happyTcHack x happyFail
-
-action_212 (123#) = happyShift action_257
-action_212 (174#) = happyShift action_48
-action_212 (12#) = happyGoto action_252
-action_212 (34#) = happyGoto action_253
-action_212 (45#) = happyGoto action_282
-action_212 (54#) = happyGoto action_255
-action_212 (55#) = happyGoto action_256
-action_212 x = happyTcHack x happyFail
-
-action_213 (174#) = happyShift action_48
-action_213 (12#) = happyGoto action_279
-action_213 (44#) = happyGoto action_280
-action_213 (51#) = happyGoto action_281
-action_213 x = happyTcHack x happyFail
-
-action_214 (174#) = happyShift action_48
-action_214 (12#) = happyGoto action_92
-action_214 (37#) = happyGoto action_276
-action_214 (47#) = happyGoto action_277
-action_214 (53#) = happyGoto action_278
-action_214 x = happyTcHack x happyFail
-
-action_215 (123#) = happyShift action_257
-action_215 (174#) = happyShift action_48
-action_215 (12#) = happyGoto action_252
-action_215 (34#) = happyGoto action_253
-action_215 (45#) = happyGoto action_275
-action_215 (54#) = happyGoto action_255
-action_215 (55#) = happyGoto action_256
-action_215 x = happyTcHack x happyFail
-
-action_216 (123#) = happyShift action_257
-action_216 (174#) = happyShift action_48
-action_216 (12#) = happyGoto action_252
-action_216 (43#) = happyGoto action_260
-action_216 (50#) = happyGoto action_274
-action_216 (54#) = happyGoto action_262
-action_216 (55#) = happyGoto action_263
-action_216 x = happyTcHack x happyFail
-
-action_217 (123#) = happyShift action_257
-action_217 (174#) = happyShift action_48
-action_217 (12#) = happyGoto action_252
-action_217 (34#) = happyGoto action_253
-action_217 (45#) = happyGoto action_273
-action_217 (54#) = happyGoto action_255
-action_217 (55#) = happyGoto action_256
-action_217 x = happyTcHack x happyFail
-
-action_218 (123#) = happyShift action_257
-action_218 (174#) = happyShift action_48
-action_218 (12#) = happyGoto action_252
-action_218 (34#) = happyGoto action_253
-action_218 (45#) = happyGoto action_272
-action_218 (54#) = happyGoto action_255
-action_218 (55#) = happyGoto action_256
-action_218 x = happyTcHack x happyFail
-
-action_219 (123#) = happyShift action_257
-action_219 (174#) = happyShift action_48
-action_219 (12#) = happyGoto action_252
-action_219 (34#) = happyGoto action_253
-action_219 (45#) = happyGoto action_271
-action_219 (54#) = happyGoto action_255
-action_219 (55#) = happyGoto action_256
-action_219 x = happyTcHack x happyFail
-
-action_220 (174#) = happyShift action_48
-action_220 (12#) = happyGoto action_270
-action_220 x = happyTcHack x happyFail
-
-action_221 (174#) = happyShift action_48
-action_221 (12#) = happyGoto action_267
-action_221 (41#) = happyGoto action_268
-action_221 (49#) = happyGoto action_269
-action_221 x = happyTcHack x happyFail
-
-action_222 (123#) = happyShift action_257
-action_222 (174#) = happyShift action_48
-action_222 (12#) = happyGoto action_252
-action_222 (34#) = happyGoto action_253
-action_222 (45#) = happyGoto action_266
-action_222 (54#) = happyGoto action_255
-action_222 (55#) = happyGoto action_256
-action_222 x = happyTcHack x happyFail
-
-action_223 (123#) = happyShift action_257
-action_223 (129#) = happyShift action_264
-action_223 (135#) = happyShift action_265
-action_223 (174#) = happyShift action_48
-action_223 (12#) = happyGoto action_252
-action_223 (43#) = happyGoto action_260
-action_223 (50#) = happyGoto action_261
-action_223 (54#) = happyGoto action_262
-action_223 (55#) = happyGoto action_263
-action_223 x = happyTcHack x happyFail
-
-action_224 (174#) = happyShift action_48
-action_224 (12#) = happyGoto action_259
-action_224 x = happyTcHack x happyFail
-
-action_225 (123#) = happyShift action_257
-action_225 (174#) = happyShift action_48
-action_225 (12#) = happyGoto action_252
-action_225 (34#) = happyGoto action_253
-action_225 (45#) = happyGoto action_258
-action_225 (54#) = happyGoto action_255
-action_225 (55#) = happyGoto action_256
-action_225 x = happyTcHack x happyFail
-
-action_226 (123#) = happyShift action_257
-action_226 (174#) = happyShift action_48
-action_226 (12#) = happyGoto action_252
-action_226 (34#) = happyGoto action_253
-action_226 (45#) = happyGoto action_254
-action_226 (54#) = happyGoto action_255
-action_226 (55#) = happyGoto action_256
-action_226 x = happyTcHack x happyFail
-
-action_227 x = happyTcHack x happyReduce_269
-
-action_228 x = happyTcHack x happyReduce_270
-
-action_229 x = happyTcHack x happyReduce_271
-
-action_230 (105#) = happyShift action_74
-action_230 (107#) = happyShift action_75
-action_230 (108#) = happyShift action_76
-action_230 (171#) = happyShift action_45
-action_230 (174#) = happyShift action_48
-action_230 (9#) = happyGoto action_70
-action_230 (12#) = happyGoto action_71
-action_230 (92#) = happyGoto action_72
-action_230 (93#) = happyGoto action_251
-action_230 x = happyTcHack x happyReduce_273
-
-action_231 x = happyTcHack x happyReduce_272
-
-action_232 (109#) = happyShift action_250
-action_232 x = happyTcHack x happyFail
-
-action_233 x = happyTcHack x happyReduce_35
-
-action_234 x = happyTcHack x happyReduce_36
-
-action_235 (147#) = happyShift action_249
-action_235 x = happyTcHack x happyFail
-
-action_236 (147#) = happyShift action_248
-action_236 x = happyTcHack x happyFail
-
-action_237 x = happyTcHack x happyReduce_34
-
-action_238 (148#) = happyReduce_51
-action_238 (157#) = happyShift action_246
-action_238 (162#) = happyShift action_247
-action_238 (167#) = happyReduce_51
-action_238 (174#) = happyShift action_48
-action_238 (12#) = happyGoto action_241
-action_238 (24#) = happyGoto action_242
-action_238 (26#) = happyGoto action_243
-action_238 (32#) = happyGoto action_244
-action_238 (33#) = happyGoto action_245
-action_238 x = happyTcHack x happyReduce_65
-
-action_239 (167#) = happyShift action_240
-action_239 x = happyTcHack x happyFail
-
-action_240 (127#) = happyShift action_418
-action_240 x = happyTcHack x happyFail
-
-action_241 (105#) = happyShift action_416
-action_241 (123#) = happyShift action_417
-action_241 x = happyTcHack x happyReduce_68
-
-action_242 x = happyTcHack x happyReduce_15
-
-action_243 (148#) = happyShift action_382
-action_243 (28#) = happyGoto action_415
-action_243 x = happyTcHack x happyReduce_55
-
-action_244 (101#) = happyShift action_414
-action_244 x = happyTcHack x happyReduce_41
-
-action_245 (104#) = happyShift action_378
-action_245 (166#) = happyShift action_413
-action_245 x = happyTcHack x happyReduce_66
-
-action_246 (174#) = happyShift action_48
-action_246 (12#) = happyGoto action_412
-action_246 x = happyTcHack x happyFail
-
-action_247 (174#) = happyShift action_48
-action_247 (12#) = happyGoto action_241
-action_247 (32#) = happyGoto action_411
-action_247 (33#) = happyGoto action_376
-action_247 x = happyTcHack x happyReduce_65
-
-action_248 (174#) = happyShift action_48
-action_248 (12#) = happyGoto action_410
-action_248 x = happyTcHack x happyFail
-
-action_249 (174#) = happyShift action_48
-action_249 (12#) = happyGoto action_409
-action_249 x = happyTcHack x happyFail
-
-action_250 (98#) = happyShift action_408
-action_250 (174#) = happyShift action_48
-action_250 (12#) = happyGoto action_406
-action_250 (29#) = happyGoto action_407
-action_250 x = happyTcHack x happyFail
-
-action_251 x = happyTcHack x happyReduce_274
-
-action_252 x = happyTcHack x happyReduce_130
-
-action_253 (110#) = happyShift action_405
-action_253 x = happyTcHack x happyFail
-
-action_254 x = happyTcHack x happyReduce_93
-
-action_255 (95#) = happyShift action_120
-action_255 (98#) = happyShift action_121
-action_255 (104#) = happyShift action_398
-action_255 (111#) = happyShift action_122
-action_255 (115#) = happyShift action_123
-action_255 (123#) = happyShift action_124
-action_255 (126#) = happyShift action_125
-action_255 (167#) = happyShift action_126
-action_255 (170#) = happyShift action_6
-action_255 (171#) = happyShift action_45
-action_255 (172#) = happyShift action_46
-action_255 (174#) = happyShift action_48
-action_255 (8#) = happyGoto action_115
-action_255 (9#) = happyGoto action_116
-action_255 (10#) = happyGoto action_117
-action_255 (12#) = happyGoto action_118
-action_255 (67#) = happyGoto action_183
-action_255 (74#) = happyGoto action_404
-action_255 x = happyTcHack x happyReduce_132
-
-action_256 (109#) = happyShift action_402
-action_256 (112#) = happyShift action_403
-action_256 x = happyTcHack x happyFail
-
-action_257 (174#) = happyShift action_48
-action_257 (12#) = happyGoto action_401
-action_257 x = happyTcHack x happyFail
-
-action_258 x = happyTcHack x happyReduce_80
-
-action_259 (110#) = happyShift action_400
-action_259 x = happyTcHack x happyFail
-
-action_260 (110#) = happyShift action_399
-action_260 x = happyTcHack x happyFail
-
-action_261 x = happyTcHack x happyReduce_89
-
-action_262 (104#) = happyShift action_398
-action_262 x = happyTcHack x happyReduce_132
-
-action_263 (112#) = happyShift action_397
-action_263 x = happyTcHack x happyFail
-
-action_264 (123#) = happyShift action_257
-action_264 (174#) = happyShift action_48
-action_264 (12#) = happyGoto action_252
-action_264 (43#) = happyGoto action_260
-action_264 (50#) = happyGoto action_396
-action_264 (54#) = happyGoto action_262
-action_264 (55#) = happyGoto action_263
-action_264 x = happyTcHack x happyFail
-
-action_265 (123#) = happyShift action_257
-action_265 (174#) = happyShift action_48
-action_265 (12#) = happyGoto action_252
-action_265 (43#) = happyGoto action_260
-action_265 (50#) = happyGoto action_395
-action_265 (54#) = happyGoto action_262
-action_265 (55#) = happyGoto action_263
-action_265 x = happyTcHack x happyFail
-
-action_266 x = happyTcHack x happyReduce_91
-
-action_267 (112#) = happyShift action_394
-action_267 x = happyTcHack x happyReduce_107
-
-action_268 (110#) = happyShift action_393
-action_268 x = happyTcHack x happyFail
-
-action_269 x = happyTcHack x happyReduce_81
-
-action_270 (112#) = happyShift action_392
-action_270 x = happyTcHack x happyFail
-
-action_271 x = happyTcHack x happyReduce_82
-
-action_272 x = happyTcHack x happyReduce_90
-
-action_273 x = happyTcHack x happyReduce_84
-
-action_274 x = happyTcHack x happyReduce_83
-
-action_275 x = happyTcHack x happyReduce_85
-
-action_276 (110#) = happyShift action_391
-action_276 x = happyTcHack x happyFail
-
-action_277 x = happyTcHack x happyReduce_76
-
-action_278 (109#) = happyShift action_390
-action_278 x = happyTcHack x happyFail
-
-action_279 (112#) = happyShift action_389
-action_279 x = happyTcHack x happyFail
-
-action_280 (110#) = happyShift action_388
-action_280 x = happyTcHack x happyFail
-
-action_281 x = happyTcHack x happyReduce_88
-
-action_282 x = happyTcHack x happyReduce_78
-
-action_283 (104#) = happyShift action_190
-action_283 (112#) = happyShift action_387
-action_283 x = happyTcHack x happyReduce_128
-
-action_284 (110#) = happyShift action_386
-action_284 x = happyTcHack x happyFail
-
-action_285 x = happyTcHack x happyReduce_77
-
-action_286 x = happyTcHack x happyReduce_79
-
-action_287 (89#) = happyGoto action_385
-action_287 x = happyTcHack x happyReduce_262
-
-action_288 (110#) = happyShift action_384
-action_288 x = happyTcHack x happyFail
-
-action_289 x = happyTcHack x happyReduce_75
-
-action_290 (174#) = happyShift action_48
-action_290 (12#) = happyGoto action_383
-action_290 x = happyTcHack x happyFail
-
-action_291 x = happyTcHack x happyReduce_25
-
-action_292 (148#) = happyShift action_382
-action_292 (28#) = happyGoto action_381
-action_292 x = happyTcHack x happyReduce_55
-
-action_293 (101#) = happyShift action_380
-action_293 x = happyTcHack x happyReduce_27
-
-action_294 (104#) = happyShift action_378
-action_294 (166#) = happyShift action_379
-action_294 x = happyTcHack x happyReduce_66
-
-action_295 (174#) = happyShift action_48
-action_295 (12#) = happyGoto action_377
-action_295 x = happyTcHack x happyFail
-
-action_296 (174#) = happyShift action_48
-action_296 (12#) = happyGoto action_241
-action_296 (32#) = happyGoto action_375
-action_296 (33#) = happyGoto action_376
-action_296 x = happyTcHack x happyReduce_65
-
-action_297 (169#) = happyShift action_374
-action_297 x = happyTcHack x happyFail
-
-action_298 x = happyTcHack x happyReduce_135
-
-action_299 (112#) = happyShift action_373
-action_299 x = happyTcHack x happyReduce_134
-
-action_300 x = happyTcHack x happyReduce_139
-
-action_301 x = happyTcHack x happyReduce_167
-
-action_302 (169#) = happyShift action_372
-action_302 x = happyTcHack x happyFail
-
-action_303 (125#) = happyShift action_371
-action_303 x = happyTcHack x happyFail
-
-action_304 x = happyTcHack x happyReduce_163
-
-action_305 (95#) = happyShift action_120
-action_305 (98#) = happyShift action_121
-action_305 (105#) = happyShift action_164
-action_305 (111#) = happyShift action_122
-action_305 (115#) = happyShift action_123
-action_305 (123#) = happyShift action_124
-action_305 (126#) = happyShift action_125
-action_305 (167#) = happyShift action_126
-action_305 (170#) = happyShift action_6
-action_305 (171#) = happyShift action_45
-action_305 (172#) = happyShift action_46
-action_305 (174#) = happyShift action_48
-action_305 (8#) = happyGoto action_115
-action_305 (9#) = happyGoto action_116
-action_305 (10#) = happyGoto action_117
-action_305 (12#) = happyGoto action_158
-action_305 (67#) = happyGoto action_159
-action_305 (68#) = happyGoto action_160
-action_305 (69#) = happyGoto action_195
-action_305 (82#) = happyGoto action_196
-action_305 (83#) = happyGoto action_370
-action_305 x = happyTcHack x happyFail
-
-action_306 (95#) = happyShift action_120
-action_306 (98#) = happyShift action_121
-action_306 (105#) = happyShift action_164
-action_306 (111#) = happyShift action_122
-action_306 (115#) = happyShift action_123
-action_306 (123#) = happyShift action_124
-action_306 (126#) = happyShift action_125
-action_306 (167#) = happyShift action_126
-action_306 (170#) = happyShift action_6
-action_306 (171#) = happyShift action_45
-action_306 (172#) = happyShift action_46
-action_306 (174#) = happyShift action_48
-action_306 (8#) = happyGoto action_115
-action_306 (9#) = happyGoto action_116
-action_306 (10#) = happyGoto action_117
-action_306 (12#) = happyGoto action_158
-action_306 (67#) = happyGoto action_159
-action_306 (68#) = happyGoto action_369
-action_306 x = happyTcHack x happyFail
-
-action_307 (95#) = happyShift action_21
-action_307 (97#) = happyShift action_22
-action_307 (98#) = happyShift action_23
-action_307 (111#) = happyShift action_24
-action_307 (115#) = happyShift action_25
-action_307 (117#) = happyShift action_26
-action_307 (118#) = happyShift action_27
-action_307 (119#) = happyShift action_28
-action_307 (120#) = happyShift action_29
-action_307 (121#) = happyShift action_30
-action_307 (122#) = happyShift action_31
-action_307 (123#) = happyShift action_32
-action_307 (124#) = happyShift action_33
-action_307 (128#) = happyShift action_34
-action_307 (131#) = happyShift action_35
-action_307 (134#) = happyShift action_36
-action_307 (137#) = happyShift action_37
-action_307 (142#) = happyShift action_38
-action_307 (153#) = happyShift action_39
-action_307 (154#) = happyShift action_40
-action_307 (158#) = happyShift action_41
-action_307 (159#) = happyShift action_42
-action_307 (164#) = happyShift action_43
-action_307 (167#) = happyShift action_44
-action_307 (170#) = happyShift action_6
-action_307 (171#) = happyShift action_45
-action_307 (172#) = happyShift action_46
-action_307 (173#) = happyShift action_47
-action_307 (174#) = happyShift action_48
-action_307 (8#) = happyGoto action_7
-action_307 (9#) = happyGoto action_8
-action_307 (10#) = happyGoto action_9
-action_307 (11#) = happyGoto action_10
-action_307 (12#) = happyGoto action_11
-action_307 (58#) = happyGoto action_12
-action_307 (59#) = happyGoto action_13
-action_307 (60#) = happyGoto action_14
-action_307 (61#) = happyGoto action_15
-action_307 (62#) = happyGoto action_16
-action_307 (63#) = happyGoto action_368
-action_307 (64#) = happyGoto action_18
-action_307 (72#) = happyGoto action_19
-action_307 (77#) = happyGoto action_20
-action_307 x = happyTcHack x happyFail
-
-action_308 (95#) = happyShift action_120
-action_308 (98#) = happyShift action_121
-action_308 (105#) = happyShift action_164
-action_308 (111#) = happyShift action_122
-action_308 (115#) = happyShift action_123
-action_308 (123#) = happyShift action_124
-action_308 (126#) = happyShift action_125
-action_308 (167#) = happyShift action_126
-action_308 (170#) = happyShift action_6
-action_308 (171#) = happyShift action_45
-action_308 (172#) = happyShift action_46
-action_308 (174#) = happyShift action_48
-action_308 (8#) = happyGoto action_115
-action_308 (9#) = happyGoto action_116
-action_308 (10#) = happyGoto action_117
-action_308 (12#) = happyGoto action_158
-action_308 (67#) = happyGoto action_159
-action_308 (68#) = happyGoto action_367
-action_308 x = happyTcHack x happyFail
-
-action_309 x = happyTcHack x happyReduce_212
-
-action_310 (174#) = happyShift action_48
-action_310 (12#) = happyGoto action_366
-action_310 x = happyTcHack x happyFail
-
-action_311 (95#) = happyShift action_120
-action_311 (98#) = happyShift action_121
-action_311 (111#) = happyShift action_122
-action_311 (115#) = happyShift action_123
-action_311 (123#) = happyShift action_124
-action_311 (126#) = happyShift action_125
-action_311 (167#) = happyShift action_126
-action_311 (170#) = happyShift action_6
-action_311 (171#) = happyShift action_45
-action_311 (172#) = happyShift action_46
-action_311 (174#) = happyShift action_48
-action_311 (8#) = happyGoto action_115
-action_311 (9#) = happyGoto action_116
-action_311 (10#) = happyGoto action_117
-action_311 (12#) = happyGoto action_118
-action_311 (67#) = happyGoto action_365
-action_311 x = happyTcHack x happyFail
-
-action_312 x = happyTcHack x happyReduce_169
-
-action_313 (95#) = happyShift action_21
-action_313 (97#) = happyShift action_22
-action_313 (98#) = happyShift action_23
-action_313 (111#) = happyShift action_24
-action_313 (115#) = happyShift action_25
-action_313 (117#) = happyShift action_26
-action_313 (118#) = happyShift action_27
-action_313 (119#) = happyShift action_28
-action_313 (120#) = happyShift action_29
-action_313 (121#) = happyShift action_30
-action_313 (122#) = happyShift action_31
-action_313 (123#) = happyShift action_32
-action_313 (124#) = happyShift action_33
-action_313 (128#) = happyShift action_34
-action_313 (131#) = happyShift action_35
-action_313 (134#) = happyShift action_36
-action_313 (137#) = happyShift action_37
-action_313 (142#) = happyShift action_38
-action_313 (153#) = happyShift action_39
-action_313 (154#) = happyShift action_40
-action_313 (158#) = happyShift action_41
-action_313 (159#) = happyShift action_42
-action_313 (164#) = happyShift action_43
-action_313 (167#) = happyShift action_44
-action_313 (170#) = happyShift action_6
-action_313 (171#) = happyShift action_45
-action_313 (172#) = happyShift action_46
-action_313 (173#) = happyShift action_47
-action_313 (174#) = happyShift action_48
-action_313 (8#) = happyGoto action_7
-action_313 (9#) = happyGoto action_8
-action_313 (10#) = happyGoto action_9
-action_313 (11#) = happyGoto action_10
-action_313 (12#) = happyGoto action_11
-action_313 (58#) = happyGoto action_12
-action_313 (59#) = happyGoto action_13
-action_313 (60#) = happyGoto action_14
-action_313 (61#) = happyGoto action_15
-action_313 (62#) = happyGoto action_16
-action_313 (63#) = happyGoto action_192
-action_313 (64#) = happyGoto action_18
-action_313 (65#) = happyGoto action_364
-action_313 (72#) = happyGoto action_19
-action_313 (77#) = happyGoto action_20
-action_313 x = happyTcHack x happyReduce_193
-
-action_314 (95#) = happyShift action_21
-action_314 (97#) = happyShift action_22
-action_314 (98#) = happyShift action_23
-action_314 (111#) = happyShift action_24
-action_314 (115#) = happyShift action_25
-action_314 (117#) = happyShift action_26
-action_314 (118#) = happyShift action_27
-action_314 (119#) = happyShift action_28
-action_314 (120#) = happyShift action_29
-action_314 (121#) = happyShift action_30
-action_314 (122#) = happyShift action_31
-action_314 (123#) = happyShift action_32
-action_314 (124#) = happyShift action_33
-action_314 (128#) = happyShift action_34
-action_314 (131#) = happyShift action_35
-action_314 (134#) = happyShift action_36
-action_314 (137#) = happyShift action_37
-action_314 (142#) = happyShift action_38
-action_314 (153#) = happyShift action_39
-action_314 (154#) = happyShift action_40
-action_314 (158#) = happyShift action_41
-action_314 (159#) = happyShift action_42
-action_314 (164#) = happyShift action_43
-action_314 (167#) = happyShift action_44
-action_314 (170#) = happyShift action_6
-action_314 (171#) = happyShift action_45
-action_314 (172#) = happyShift action_46
-action_314 (173#) = happyShift action_47
-action_314 (174#) = happyShift action_48
-action_314 (8#) = happyGoto action_7
-action_314 (9#) = happyGoto action_8
-action_314 (10#) = happyGoto action_9
-action_314 (11#) = happyGoto action_10
-action_314 (12#) = happyGoto action_11
-action_314 (58#) = happyGoto action_12
-action_314 (59#) = happyGoto action_13
-action_314 (60#) = happyGoto action_14
-action_314 (61#) = happyGoto action_15
-action_314 (62#) = happyGoto action_16
-action_314 (63#) = happyGoto action_361
-action_314 (64#) = happyGoto action_18
-action_314 (72#) = happyGoto action_19
-action_314 (77#) = happyGoto action_20
-action_314 (86#) = happyGoto action_362
-action_314 (87#) = happyGoto action_363
-action_314 x = happyTcHack x happyReduce_257
-
-action_315 x = happyTcHack x happyReduce_129
-
-action_316 x = happyTcHack x happyReduce_187
-
-action_317 (137#) = happyShift action_360
-action_317 x = happyTcHack x happyFail
-
-action_318 x = happyTcHack x happyReduce_189
-
-action_319 (95#) = happyShift action_120
-action_319 (98#) = happyShift action_121
-action_319 (111#) = happyShift action_122
-action_319 (115#) = happyShift action_123
-action_319 (123#) = happyShift action_124
-action_319 (126#) = happyShift action_125
-action_319 (167#) = happyShift action_126
-action_319 (170#) = happyShift action_6
-action_319 (171#) = happyShift action_45
-action_319 (172#) = happyShift action_46
-action_319 (174#) = happyShift action_48
-action_319 (8#) = happyGoto action_115
-action_319 (9#) = happyGoto action_116
-action_319 (10#) = happyGoto action_117
-action_319 (12#) = happyGoto action_118
-action_319 (67#) = happyGoto action_183
-action_319 (74#) = happyGoto action_184
-action_319 (84#) = happyGoto action_185
-action_319 (85#) = happyGoto action_359
-action_319 x = happyTcHack x happyReduce_253
-
-action_320 (95#) = happyShift action_21
-action_320 (97#) = happyShift action_22
-action_320 (98#) = happyShift action_23
-action_320 (111#) = happyShift action_24
-action_320 (115#) = happyShift action_25
-action_320 (117#) = happyShift action_26
-action_320 (118#) = happyShift action_27
-action_320 (119#) = happyShift action_28
-action_320 (120#) = happyShift action_29
-action_320 (121#) = happyShift action_30
-action_320 (122#) = happyShift action_31
-action_320 (123#) = happyShift action_32
-action_320 (124#) = happyShift action_33
-action_320 (128#) = happyShift action_34
-action_320 (131#) = happyShift action_35
-action_320 (134#) = happyShift action_36
-action_320 (137#) = happyShift action_37
-action_320 (142#) = happyShift action_38
-action_320 (153#) = happyShift action_39
-action_320 (154#) = happyShift action_40
-action_320 (158#) = happyShift action_41
-action_320 (159#) = happyShift action_42
-action_320 (164#) = happyShift action_43
-action_320 (167#) = happyShift action_44
-action_320 (170#) = happyShift action_6
-action_320 (171#) = happyShift action_45
-action_320 (172#) = happyShift action_46
-action_320 (173#) = happyShift action_47
-action_320 (174#) = happyShift action_48
-action_320 (8#) = happyGoto action_7
-action_320 (9#) = happyGoto action_8
-action_320 (10#) = happyGoto action_9
-action_320 (11#) = happyGoto action_10
-action_320 (12#) = happyGoto action_11
-action_320 (58#) = happyGoto action_12
-action_320 (59#) = happyGoto action_13
-action_320 (60#) = happyGoto action_14
-action_320 (61#) = happyGoto action_15
-action_320 (62#) = happyGoto action_16
-action_320 (63#) = happyGoto action_358
-action_320 (64#) = happyGoto action_18
-action_320 (72#) = happyGoto action_19
-action_320 (77#) = happyGoto action_20
-action_320 x = happyTcHack x happyFail
-
-action_321 x = happyTcHack x happyReduce_233
-
-action_322 (95#) = happyShift action_120
-action_322 (98#) = happyShift action_121
-action_322 (105#) = happyShift action_164
-action_322 (111#) = happyShift action_122
-action_322 (115#) = happyShift action_123
-action_322 (123#) = happyShift action_124
-action_322 (126#) = happyShift action_125
-action_322 (167#) = happyShift action_126
-action_322 (170#) = happyShift action_6
-action_322 (171#) = happyShift action_45
-action_322 (172#) = happyShift action_46
-action_322 (174#) = happyShift action_48
-action_322 (8#) = happyGoto action_115
-action_322 (9#) = happyGoto action_116
-action_322 (10#) = happyGoto action_117
-action_322 (12#) = happyGoto action_158
-action_322 (67#) = happyGoto action_159
-action_322 (68#) = happyGoto action_160
-action_322 (69#) = happyGoto action_195
-action_322 (82#) = happyGoto action_196
-action_322 (83#) = happyGoto action_357
-action_322 x = happyTcHack x happyFail
-
-action_323 x = happyTcHack x happyReduce_238
-
-action_324 x = happyTcHack x happyReduce_182
-
-action_325 (95#) = happyShift action_21
-action_325 (97#) = happyShift action_22
-action_325 (98#) = happyShift action_23
-action_325 (111#) = happyShift action_24
-action_325 (115#) = happyShift action_25
-action_325 (117#) = happyShift action_26
-action_325 (118#) = happyShift action_27
-action_325 (119#) = happyShift action_28
-action_325 (120#) = happyShift action_29
-action_325 (121#) = happyShift action_30
-action_325 (122#) = happyShift action_31
-action_325 (123#) = happyShift action_32
-action_325 (124#) = happyShift action_33
-action_325 (128#) = happyShift action_34
-action_325 (131#) = happyShift action_35
-action_325 (134#) = happyShift action_36
-action_325 (137#) = happyShift action_37
-action_325 (142#) = happyShift action_38
-action_325 (153#) = happyShift action_39
-action_325 (154#) = happyShift action_40
-action_325 (158#) = happyShift action_41
-action_325 (159#) = happyShift action_42
-action_325 (164#) = happyShift action_43
-action_325 (167#) = happyShift action_44
-action_325 (170#) = happyShift action_6
-action_325 (171#) = happyShift action_45
-action_325 (172#) = happyShift action_46
-action_325 (173#) = happyShift action_47
-action_325 (174#) = happyShift action_48
-action_325 (8#) = happyGoto action_7
-action_325 (9#) = happyGoto action_8
-action_325 (10#) = happyGoto action_9
-action_325 (11#) = happyGoto action_10
-action_325 (12#) = happyGoto action_11
-action_325 (58#) = happyGoto action_12
-action_325 (59#) = happyGoto action_13
-action_325 (60#) = happyGoto action_14
-action_325 (61#) = happyGoto action_15
-action_325 (62#) = happyGoto action_16
-action_325 (63#) = happyGoto action_356
-action_325 (64#) = happyGoto action_18
-action_325 (72#) = happyGoto action_19
-action_325 (77#) = happyGoto action_20
-action_325 x = happyTcHack x happyFail
-
-action_326 x = happyTcHack x happyReduce_150
-
-action_327 x = happyTcHack x happyReduce_197
-
-action_328 (114#) = happyShift action_355
-action_328 x = happyTcHack x happyFail
-
-action_329 x = happyTcHack x happyReduce_241
-
-action_330 x = happyTcHack x happyReduce_245
-
-action_331 (99#) = happyShift action_354
-action_331 x = happyTcHack x happyFail
-
-action_332 x = happyTcHack x happyReduce_154
-
-action_333 x = happyTcHack x happyReduce_160
-
-action_334 x = happyTcHack x happyReduce_205
-
-action_335 (174#) = happyShift action_48
-action_335 (12#) = happyGoto action_353
-action_335 x = happyTcHack x happyFail
-
-action_336 x = happyTcHack x happyReduce_211
-
-action_337 x = happyTcHack x happyReduce_216
-
-action_338 x = happyTcHack x happyReduce_210
-
-action_339 (95#) = happyShift action_120
-action_339 (98#) = happyShift action_121
-action_339 (105#) = happyShift action_164
-action_339 (111#) = happyShift action_122
-action_339 (115#) = happyShift action_123
-action_339 (123#) = happyShift action_124
-action_339 (126#) = happyShift action_125
-action_339 (167#) = happyShift action_126
-action_339 (170#) = happyShift action_6
-action_339 (171#) = happyShift action_45
-action_339 (172#) = happyShift action_46
-action_339 (174#) = happyShift action_48
-action_339 (8#) = happyGoto action_115
-action_339 (9#) = happyGoto action_116
-action_339 (10#) = happyGoto action_117
-action_339 (12#) = happyGoto action_158
-action_339 (67#) = happyGoto action_159
-action_339 (68#) = happyGoto action_160
-action_339 (69#) = happyGoto action_161
-action_339 (79#) = happyGoto action_162
-action_339 (81#) = happyGoto action_352
-action_339 x = happyTcHack x happyReduce_246
-
-action_340 x = happyTcHack x happyReduce_214
-
-action_341 x = happyTcHack x happyReduce_199
-
-action_342 x = happyTcHack x happyReduce_209
-
-action_343 (174#) = happyShift action_48
-action_343 (12#) = happyGoto action_92
-action_343 (53#) = happyGoto action_154
-action_343 (70#) = happyGoto action_155
-action_343 (73#) = happyGoto action_351
-action_343 x = happyTcHack x happyReduce_229
-
-action_344 (95#) = happyShift action_120
-action_344 (98#) = happyShift action_121
-action_344 (105#) = happyShift action_164
-action_344 (111#) = happyShift action_122
-action_344 (115#) = happyShift action_123
-action_344 (123#) = happyShift action_124
-action_344 (126#) = happyShift action_125
-action_344 (167#) = happyShift action_126
-action_344 (170#) = happyShift action_6
-action_344 (171#) = happyShift action_45
-action_344 (172#) = happyShift action_46
-action_344 (174#) = happyShift action_48
-action_344 (8#) = happyGoto action_115
-action_344 (9#) = happyGoto action_116
-action_344 (10#) = happyGoto action_117
-action_344 (12#) = happyGoto action_158
-action_344 (67#) = happyGoto action_159
-action_344 (68#) = happyGoto action_160
-action_344 (69#) = happyGoto action_350
-action_344 x = happyTcHack x happyFail
-
-action_345 x = happyTcHack x happyReduce_204
-
-action_346 (169#) = happyShift action_349
-action_346 x = happyTcHack x happyFail
-
-action_347 x = happyTcHack x happyReduce_223
-
-action_348 (104#) = happyShift action_190
-action_348 (169#) = happyShift action_207
-action_348 x = happyTcHack x happyReduce_128
-
-action_349 x = happyTcHack x happyReduce_188
-
-action_350 (102#) = happyShift action_306
-action_350 (168#) = happyShift action_308
-action_350 x = happyTcHack x happyReduce_221
-
-action_351 x = happyTcHack x happyReduce_231
-
-action_352 x = happyTcHack x happyReduce_248
-
-action_353 x = happyTcHack x happyReduce_201
-
-action_354 x = happyTcHack x happyReduce_239
-
-action_355 x = happyTcHack x happyReduce_155
-
-action_356 x = happyTcHack x happyReduce_183
-
-action_357 (169#) = happyShift action_468
-action_357 x = happyTcHack x happyFail
-
-action_358 x = happyTcHack x happyReduce_252
-
-action_359 x = happyTcHack x happyReduce_255
-
-action_360 (95#) = happyShift action_21
-action_360 (97#) = happyShift action_22
-action_360 (98#) = happyShift action_23
-action_360 (111#) = happyShift action_24
-action_360 (115#) = happyShift action_25
-action_360 (117#) = happyShift action_26
-action_360 (118#) = happyShift action_27
-action_360 (119#) = happyShift action_28
-action_360 (120#) = happyShift action_29
-action_360 (121#) = happyShift action_30
-action_360 (122#) = happyShift action_31
-action_360 (123#) = happyShift action_32
-action_360 (124#) = happyShift action_33
-action_360 (128#) = happyShift action_34
-action_360 (131#) = happyShift action_35
-action_360 (134#) = happyShift action_36
-action_360 (137#) = happyShift action_37
-action_360 (142#) = happyShift action_38
-action_360 (153#) = happyShift action_39
-action_360 (154#) = happyShift action_40
-action_360 (158#) = happyShift action_41
-action_360 (159#) = happyShift action_42
-action_360 (164#) = happyShift action_43
-action_360 (167#) = happyShift action_44
-action_360 (170#) = happyShift action_6
-action_360 (171#) = happyShift action_45
-action_360 (172#) = happyShift action_46
-action_360 (173#) = happyShift action_47
-action_360 (174#) = happyShift action_48
-action_360 (8#) = happyGoto action_7
-action_360 (9#) = happyGoto action_8
-action_360 (10#) = happyGoto action_9
-action_360 (11#) = happyGoto action_10
-action_360 (12#) = happyGoto action_11
-action_360 (58#) = happyGoto action_12
-action_360 (59#) = happyGoto action_13
-action_360 (60#) = happyGoto action_14
-action_360 (61#) = happyGoto action_15
-action_360 (62#) = happyGoto action_16
-action_360 (63#) = happyGoto action_467
-action_360 (64#) = happyGoto action_18
-action_360 (72#) = happyGoto action_19
-action_360 (77#) = happyGoto action_20
-action_360 x = happyTcHack x happyFail
-
-action_361 (108#) = happyShift action_466
-action_361 x = happyTcHack x happyFail
-
-action_362 (110#) = happyShift action_465
-action_362 x = happyTcHack x happyReduce_258
-
-action_363 (169#) = happyShift action_464
-action_363 x = happyTcHack x happyFail
-
-action_364 x = happyTcHack x happyReduce_195
-
-action_365 x = happyTcHack x happyReduce_215
-
-action_366 (95#) = happyShift action_120
-action_366 (98#) = happyShift action_121
-action_366 (111#) = happyShift action_122
-action_366 (115#) = happyShift action_123
-action_366 (123#) = happyShift action_124
-action_366 (126#) = happyShift action_125
-action_366 (167#) = happyShift action_126
-action_366 (170#) = happyShift action_6
-action_366 (171#) = happyShift action_45
-action_366 (172#) = happyShift action_46
-action_366 (174#) = happyShift action_48
-action_366 (8#) = happyGoto action_115
-action_366 (9#) = happyGoto action_116
-action_366 (10#) = happyGoto action_117
-action_366 (12#) = happyGoto action_118
-action_366 (67#) = happyGoto action_183
-action_366 (74#) = happyGoto action_463
-action_366 x = happyTcHack x happyReduce_205
-
-action_367 x = happyTcHack x happyReduce_218
-
-action_368 x = happyTcHack x happyReduce_249
-
-action_369 x = happyTcHack x happyReduce_219
-
-action_370 x = happyTcHack x happyReduce_251
-
-action_371 x = happyTcHack x happyReduce_165
-
-action_372 x = happyTcHack x happyReduce_164
-
-action_373 (95#) = happyShift action_21
-action_373 (97#) = happyShift action_22
-action_373 (98#) = happyShift action_23
-action_373 (111#) = happyShift action_24
-action_373 (115#) = happyShift action_25
-action_373 (117#) = happyShift action_26
-action_373 (118#) = happyShift action_27
-action_373 (119#) = happyShift action_28
-action_373 (120#) = happyShift action_29
-action_373 (121#) = happyShift action_30
-action_373 (122#) = happyShift action_31
-action_373 (123#) = happyShift action_32
-action_373 (124#) = happyShift action_33
-action_373 (128#) = happyShift action_34
-action_373 (131#) = happyShift action_35
-action_373 (134#) = happyShift action_36
-action_373 (137#) = happyShift action_37
-action_373 (142#) = happyShift action_38
-action_373 (153#) = happyShift action_39
-action_373 (154#) = happyShift action_40
-action_373 (158#) = happyShift action_41
-action_373 (159#) = happyShift action_42
-action_373 (164#) = happyShift action_43
-action_373 (167#) = happyShift action_44
-action_373 (170#) = happyShift action_6
-action_373 (171#) = happyShift action_45
-action_373 (172#) = happyShift action_46
-action_373 (173#) = happyShift action_47
-action_373 (174#) = happyShift action_48
-action_373 (8#) = happyGoto action_7
-action_373 (9#) = happyGoto action_8
-action_373 (10#) = happyGoto action_9
-action_373 (11#) = happyGoto action_10
-action_373 (12#) = happyGoto action_11
-action_373 (58#) = happyGoto action_12
-action_373 (59#) = happyGoto action_13
-action_373 (60#) = happyGoto action_14
-action_373 (61#) = happyGoto action_15
-action_373 (62#) = happyGoto action_16
-action_373 (63#) = happyGoto action_462
-action_373 (64#) = happyGoto action_18
-action_373 (72#) = happyGoto action_19
-action_373 (77#) = happyGoto action_20
-action_373 x = happyTcHack x happyFail
-
-action_374 x = happyTcHack x happyReduce_159
-
-action_375 x = happyTcHack x happyReduce_33
-
-action_376 (104#) = happyShift action_378
-action_376 x = happyTcHack x happyReduce_66
-
-action_377 x = happyTcHack x happyReduce_32
-
-action_378 (174#) = happyShift action_48
-action_378 (12#) = happyGoto action_241
-action_378 (32#) = happyGoto action_461
-action_378 (33#) = happyGoto action_376
-action_378 x = happyTcHack x happyReduce_65
-
-action_379 (98#) = happyShift action_408
-action_379 (174#) = happyShift action_48
-action_379 (12#) = happyGoto action_406
-action_379 (27#) = happyGoto action_460
-action_379 (29#) = happyGoto action_425
-action_379 x = happyTcHack x happyReduce_52
-
-action_380 (174#) = happyShift action_48
-action_380 (12#) = happyGoto action_241
-action_380 (33#) = happyGoto action_459
-action_380 x = happyTcHack x happyReduce_50
-
-action_381 x = happyTcHack x happyReduce_26
-
-action_382 (98#) = happyShift action_408
-action_382 (174#) = happyShift action_48
-action_382 (12#) = happyGoto action_406
-action_382 (27#) = happyGoto action_458
-action_382 (29#) = happyGoto action_425
-action_382 x = happyTcHack x happyReduce_52
-
-action_383 (89#) = happyGoto action_457
-action_383 x = happyTcHack x happyReduce_262
-
-action_384 (123#) = happyShift action_290
-action_384 (174#) = happyShift action_48
-action_384 (12#) = happyGoto action_287
-action_384 (36#) = happyGoto action_288
-action_384 (46#) = happyGoto action_456
-action_384 x = happyTcHack x happyReduce_113
-
-action_385 (97#) = happyShift action_86
-action_385 (98#) = happyShift action_455
-action_385 (111#) = happyShift action_24
-action_385 (115#) = happyShift action_25
-action_385 (118#) = happyShift action_27
-action_385 (119#) = happyShift action_28
-action_385 (120#) = happyShift action_29
-action_385 (121#) = happyShift action_30
-action_385 (122#) = happyShift action_31
-action_385 (123#) = happyShift action_32
-action_385 (131#) = happyShift action_35
-action_385 (167#) = happyShift action_139
-action_385 (170#) = happyShift action_6
-action_385 (171#) = happyShift action_45
-action_385 (172#) = happyShift action_46
-action_385 (173#) = happyShift action_47
-action_385 (174#) = happyShift action_48
-action_385 (8#) = happyGoto action_7
-action_385 (9#) = happyGoto action_8
-action_385 (10#) = happyGoto action_9
-action_385 (11#) = happyGoto action_10
-action_385 (12#) = happyGoto action_84
-action_385 (58#) = happyGoto action_453
-action_385 (72#) = happyGoto action_19
-action_385 (88#) = happyGoto action_454
-action_385 x = happyTcHack x happyReduce_95
-
-action_386 (174#) = happyShift action_48
-action_386 (12#) = happyGoto action_451
-action_386 (38#) = happyGoto action_284
-action_386 (48#) = happyGoto action_452
-action_386 x = happyTcHack x happyReduce_117
-
-action_387 (174#) = happyShift action_48
-action_387 (12#) = happyGoto action_448
-action_387 (39#) = happyGoto action_449
-action_387 (40#) = happyGoto action_450
-action_387 x = happyTcHack x happyReduce_102
-
-action_388 (174#) = happyShift action_48
-action_388 (12#) = happyGoto action_279
-action_388 (44#) = happyGoto action_280
-action_388 (51#) = happyGoto action_447
-action_388 x = happyTcHack x happyReduce_123
-
-action_389 (174#) = happyShift action_48
-action_389 (12#) = happyGoto action_446
-action_389 x = happyTcHack x happyFail
-
-action_390 (95#) = happyShift action_21
-action_390 (97#) = happyShift action_22
-action_390 (98#) = happyShift action_23
-action_390 (111#) = happyShift action_24
-action_390 (115#) = happyShift action_25
-action_390 (117#) = happyShift action_26
-action_390 (118#) = happyShift action_27
-action_390 (119#) = happyShift action_28
-action_390 (120#) = happyShift action_29
-action_390 (121#) = happyShift action_30
-action_390 (122#) = happyShift action_31
-action_390 (123#) = happyShift action_32
-action_390 (124#) = happyShift action_33
-action_390 (128#) = happyShift action_34
-action_390 (131#) = happyShift action_35
-action_390 (134#) = happyShift action_36
-action_390 (137#) = happyShift action_37
-action_390 (142#) = happyShift action_38
-action_390 (153#) = happyShift action_39
-action_390 (154#) = happyShift action_40
-action_390 (158#) = happyShift action_41
-action_390 (159#) = happyShift action_42
-action_390 (164#) = happyShift action_43
-action_390 (167#) = happyShift action_44
-action_390 (170#) = happyShift action_6
-action_390 (171#) = happyShift action_45
-action_390 (172#) = happyShift action_46
-action_390 (173#) = happyShift action_47
-action_390 (174#) = happyShift action_48
-action_390 (8#) = happyGoto action_7
-action_390 (9#) = happyGoto action_8
-action_390 (10#) = happyGoto action_9
-action_390 (11#) = happyGoto action_10
-action_390 (12#) = happyGoto action_11
-action_390 (58#) = happyGoto action_12
-action_390 (59#) = happyGoto action_13
-action_390 (60#) = happyGoto action_14
-action_390 (61#) = happyGoto action_15
-action_390 (62#) = happyGoto action_16
-action_390 (63#) = happyGoto action_445
-action_390 (64#) = happyGoto action_18
-action_390 (72#) = happyGoto action_19
-action_390 (77#) = happyGoto action_20
-action_390 x = happyTcHack x happyFail
-
-action_391 (174#) = happyShift action_48
-action_391 (12#) = happyGoto action_92
-action_391 (37#) = happyGoto action_276
-action_391 (47#) = happyGoto action_444
-action_391 (53#) = happyGoto action_278
-action_391 x = happyTcHack x happyReduce_115
-
-action_392 (167#) = happyShift action_443
-action_392 x = happyTcHack x happyFail
-
-action_393 (174#) = happyShift action_48
-action_393 (12#) = happyGoto action_267
-action_393 (41#) = happyGoto action_268
-action_393 (49#) = happyGoto action_442
-action_393 x = happyTcHack x happyReduce_119
-
-action_394 (98#) = happyShift action_441
-action_394 (174#) = happyShift action_48
-action_394 (12#) = happyGoto action_438
-action_394 (42#) = happyGoto action_439
-action_394 (52#) = happyGoto action_440
-action_394 x = happyTcHack x happyReduce_125
-
-action_395 x = happyTcHack x happyReduce_87
-
-action_396 x = happyTcHack x happyReduce_86
-
-action_397 (95#) = happyShift action_21
-action_397 (97#) = happyShift action_22
-action_397 (98#) = happyShift action_23
-action_397 (111#) = happyShift action_24
-action_397 (115#) = happyShift action_25
-action_397 (117#) = happyShift action_26
-action_397 (118#) = happyShift action_27
-action_397 (119#) = happyShift action_28
-action_397 (120#) = happyShift action_29
-action_397 (121#) = happyShift action_30
-action_397 (122#) = happyShift action_31
-action_397 (123#) = happyShift action_32
-action_397 (124#) = happyShift action_33
-action_397 (128#) = happyShift action_34
-action_397 (131#) = happyShift action_35
-action_397 (134#) = happyShift action_36
-action_397 (137#) = happyShift action_37
-action_397 (142#) = happyShift action_38
-action_397 (153#) = happyShift action_39
-action_397 (154#) = happyShift action_40
-action_397 (158#) = happyShift action_41
-action_397 (159#) = happyShift action_42
-action_397 (164#) = happyShift action_43
-action_397 (167#) = happyShift action_44
-action_397 (170#) = happyShift action_6
-action_397 (171#) = happyShift action_45
-action_397 (172#) = happyShift action_46
-action_397 (173#) = happyShift action_47
-action_397 (174#) = happyShift action_48
-action_397 (8#) = happyGoto action_7
-action_397 (9#) = happyGoto action_8
-action_397 (10#) = happyGoto action_9
-action_397 (11#) = happyGoto action_10
-action_397 (12#) = happyGoto action_11
-action_397 (58#) = happyGoto action_12
-action_397 (59#) = happyGoto action_13
-action_397 (60#) = happyGoto action_14
-action_397 (61#) = happyGoto action_15
-action_397 (62#) = happyGoto action_16
-action_397 (63#) = happyGoto action_437
-action_397 (64#) = happyGoto action_18
-action_397 (72#) = happyGoto action_19
-action_397 (77#) = happyGoto action_20
-action_397 x = happyTcHack x happyFail
-
-action_398 (123#) = happyShift action_257
-action_398 (174#) = happyShift action_48
-action_398 (12#) = happyGoto action_252
-action_398 (54#) = happyGoto action_262
-action_398 (55#) = happyGoto action_436
-action_398 x = happyTcHack x happyFail
-
-action_399 (123#) = happyShift action_257
-action_399 (174#) = happyShift action_48
-action_399 (12#) = happyGoto action_252
-action_399 (43#) = happyGoto action_260
-action_399 (50#) = happyGoto action_435
-action_399 (54#) = happyGoto action_262
-action_399 (55#) = happyGoto action_263
-action_399 x = happyTcHack x happyReduce_121
-
-action_400 x = happyTcHack x happyReduce_94
-
-action_401 (125#) = happyShift action_434
-action_401 x = happyTcHack x happyFail
-
-action_402 (95#) = happyShift action_21
-action_402 (97#) = happyShift action_22
-action_402 (98#) = happyShift action_23
-action_402 (111#) = happyShift action_24
-action_402 (115#) = happyShift action_25
-action_402 (117#) = happyShift action_26
-action_402 (118#) = happyShift action_27
-action_402 (119#) = happyShift action_28
-action_402 (120#) = happyShift action_29
-action_402 (121#) = happyShift action_30
-action_402 (122#) = happyShift action_31
-action_402 (123#) = happyShift action_32
-action_402 (124#) = happyShift action_33
-action_402 (128#) = happyShift action_34
-action_402 (131#) = happyShift action_35
-action_402 (134#) = happyShift action_36
-action_402 (137#) = happyShift action_37
-action_402 (142#) = happyShift action_38
-action_402 (153#) = happyShift action_39
-action_402 (154#) = happyShift action_40
-action_402 (158#) = happyShift action_41
-action_402 (159#) = happyShift action_42
-action_402 (164#) = happyShift action_43
-action_402 (167#) = happyShift action_44
-action_402 (170#) = happyShift action_6
-action_402 (171#) = happyShift action_45
-action_402 (172#) = happyShift action_46
-action_402 (173#) = happyShift action_47
-action_402 (174#) = happyShift action_48
-action_402 (8#) = happyGoto action_7
-action_402 (9#) = happyGoto action_8
-action_402 (10#) = happyGoto action_9
-action_402 (11#) = happyGoto action_10
-action_402 (12#) = happyGoto action_11
-action_402 (58#) = happyGoto action_12
-action_402 (59#) = happyGoto action_13
-action_402 (60#) = happyGoto action_14
-action_402 (61#) = happyGoto action_15
-action_402 (62#) = happyGoto action_16
-action_402 (63#) = happyGoto action_433
-action_402 (64#) = happyGoto action_18
-action_402 (72#) = happyGoto action_19
-action_402 (77#) = happyGoto action_20
-action_402 x = happyTcHack x happyFail
-
-action_403 (95#) = happyShift action_21
-action_403 (97#) = happyShift action_22
-action_403 (98#) = happyShift action_23
-action_403 (111#) = happyShift action_24
-action_403 (115#) = happyShift action_25
-action_403 (117#) = happyShift action_26
-action_403 (118#) = happyShift action_27
-action_403 (119#) = happyShift action_28
-action_403 (120#) = happyShift action_29
-action_403 (121#) = happyShift action_30
-action_403 (122#) = happyShift action_31
-action_403 (123#) = happyShift action_32
-action_403 (124#) = happyShift action_33
-action_403 (128#) = happyShift action_34
-action_403 (131#) = happyShift action_35
-action_403 (134#) = happyShift action_36
-action_403 (137#) = happyShift action_37
-action_403 (142#) = happyShift action_38
-action_403 (153#) = happyShift action_39
-action_403 (154#) = happyShift action_40
-action_403 (158#) = happyShift action_41
-action_403 (159#) = happyShift action_42
-action_403 (164#) = happyShift action_43
-action_403 (167#) = happyShift action_44
-action_403 (170#) = happyShift action_6
-action_403 (171#) = happyShift action_45
-action_403 (172#) = happyShift action_46
-action_403 (173#) = happyShift action_47
-action_403 (174#) = happyShift action_48
-action_403 (8#) = happyGoto action_7
-action_403 (9#) = happyGoto action_8
-action_403 (10#) = happyGoto action_9
-action_403 (11#) = happyGoto action_10
-action_403 (12#) = happyGoto action_11
-action_403 (58#) = happyGoto action_12
-action_403 (59#) = happyGoto action_13
-action_403 (60#) = happyGoto action_14
-action_403 (61#) = happyGoto action_15
-action_403 (62#) = happyGoto action_16
-action_403 (63#) = happyGoto action_432
-action_403 (64#) = happyGoto action_18
-action_403 (72#) = happyGoto action_19
-action_403 (77#) = happyGoto action_20
-action_403 x = happyTcHack x happyFail
-
-action_404 (112#) = happyShift action_431
-action_404 x = happyTcHack x happyFail
-
-action_405 (123#) = happyShift action_257
-action_405 (174#) = happyShift action_48
-action_405 (12#) = happyGoto action_252
-action_405 (34#) = happyGoto action_253
-action_405 (45#) = happyGoto action_430
-action_405 (54#) = happyGoto action_255
-action_405 (55#) = happyGoto action_256
-action_405 x = happyTcHack x happyReduce_111
-
-action_406 x = happyTcHack x happyReduce_57
-
-action_407 (106#) = happyShift action_429
-action_407 x = happyTcHack x happyFail
-
-action_408 (139#) = happyShift action_427
-action_408 (141#) = happyShift action_428
-action_408 (31#) = happyGoto action_426
-action_408 x = happyTcHack x happyReduce_62
-
-action_409 x = happyTcHack x happyReduce_38
-
-action_410 x = happyTcHack x happyReduce_37
-
-action_411 x = happyTcHack x happyReduce_47
-
-action_412 x = happyTcHack x happyReduce_46
-
-action_413 (98#) = happyShift action_408
-action_413 (174#) = happyShift action_48
-action_413 (12#) = happyGoto action_406
-action_413 (27#) = happyGoto action_424
-action_413 (29#) = happyGoto action_425
-action_413 x = happyTcHack x happyReduce_52
-
-action_414 (174#) = happyShift action_48
-action_414 (12#) = happyGoto action_241
-action_414 (33#) = happyGoto action_423
-action_414 x = happyTcHack x happyReduce_50
-
-action_415 (167#) = happyShift action_422
-action_415 x = happyTcHack x happyFail
-
-action_416 (123#) = happyShift action_421
-action_416 x = happyTcHack x happyFail
-
-action_417 (174#) = happyShift action_48
-action_417 (12#) = happyGoto action_92
-action_417 (53#) = happyGoto action_420
-action_417 x = happyTcHack x happyFail
-
-action_418 (112#) = happyShift action_419
-action_418 x = happyTcHack x happyFail
-
-action_419 (174#) = happyShift action_48
-action_419 (12#) = happyGoto action_492
-action_419 x = happyTcHack x happyFail
-
-action_420 (125#) = happyShift action_491
-action_420 x = happyTcHack x happyFail
-
-action_421 (174#) = happyShift action_48
-action_421 (12#) = happyGoto action_92
-action_421 (53#) = happyGoto action_490
-action_421 x = happyTcHack x happyFail
-
-action_422 (25#) = happyGoto action_489
-action_422 x = happyTcHack x happyReduce_48
-
-action_423 (166#) = happyShift action_488
-action_423 x = happyTcHack x happyFail
-
-action_424 (101#) = happyShift action_487
-action_424 x = happyTcHack x happyReduce_42
-
-action_425 (104#) = happyShift action_486
-action_425 x = happyTcHack x happyReduce_53
-
-action_426 (174#) = happyShift action_48
-action_426 (12#) = happyGoto action_485
-action_426 x = happyTcHack x happyFail
-
-action_427 x = happyTcHack x happyReduce_63
-
-action_428 x = happyTcHack x happyReduce_64
-
-action_429 (98#) = happyShift action_408
-action_429 (174#) = happyShift action_48
-action_429 (12#) = happyGoto action_406
-action_429 (29#) = happyGoto action_484
-action_429 x = happyTcHack x happyFail
-
-action_430 x = happyTcHack x happyReduce_112
-
-action_431 (95#) = happyShift action_21
-action_431 (97#) = happyShift action_22
-action_431 (98#) = happyShift action_23
-action_431 (111#) = happyShift action_24
-action_431 (115#) = happyShift action_25
-action_431 (117#) = happyShift action_26
-action_431 (118#) = happyShift action_27
-action_431 (119#) = happyShift action_28
-action_431 (120#) = happyShift action_29
-action_431 (121#) = happyShift action_30
-action_431 (122#) = happyShift action_31
-action_431 (123#) = happyShift action_32
-action_431 (124#) = happyShift action_33
-action_431 (128#) = happyShift action_34
-action_431 (131#) = happyShift action_35
-action_431 (134#) = happyShift action_36
-action_431 (137#) = happyShift action_37
-action_431 (142#) = happyShift action_38
-action_431 (153#) = happyShift action_39
-action_431 (154#) = happyShift action_40
-action_431 (158#) = happyShift action_41
-action_431 (159#) = happyShift action_42
-action_431 (164#) = happyShift action_43
-action_431 (167#) = happyShift action_44
-action_431 (170#) = happyShift action_6
-action_431 (171#) = happyShift action_45
-action_431 (172#) = happyShift action_46
-action_431 (173#) = happyShift action_47
-action_431 (174#) = happyShift action_48
-action_431 (8#) = happyGoto action_7
-action_431 (9#) = happyGoto action_8
-action_431 (10#) = happyGoto action_9
-action_431 (11#) = happyGoto action_10
-action_431 (12#) = happyGoto action_11
-action_431 (58#) = happyGoto action_12
-action_431 (59#) = happyGoto action_13
-action_431 (60#) = happyGoto action_14
-action_431 (61#) = happyGoto action_15
-action_431 (62#) = happyGoto action_16
-action_431 (63#) = happyGoto action_483
-action_431 (64#) = happyGoto action_18
-action_431 (72#) = happyGoto action_19
-action_431 (77#) = happyGoto action_20
-action_431 x = happyTcHack x happyFail
-
-action_432 x = happyTcHack x happyReduce_72
-
-action_433 (112#) = happyShift action_482
-action_433 x = happyTcHack x happyReduce_71
-
-action_434 x = happyTcHack x happyReduce_131
-
-action_435 x = happyTcHack x happyReduce_122
-
-action_436 x = happyTcHack x happyReduce_133
-
-action_437 x = happyTcHack x happyReduce_109
-
-action_438 (89#) = happyGoto action_481
-action_438 x = happyTcHack x happyReduce_262
-
-action_439 (168#) = happyShift action_480
-action_439 x = happyTcHack x happyReduce_126
-
-action_440 x = happyTcHack x happyReduce_105
-
-action_441 (137#) = happyShift action_479
-action_441 x = happyTcHack x happyFail
-
-action_442 x = happyTcHack x happyReduce_120
-
-action_443 (25#) = happyGoto action_478
-action_443 x = happyTcHack x happyReduce_48
-
-action_444 x = happyTcHack x happyReduce_116
-
-action_445 x = happyTcHack x happyReduce_98
-
-action_446 x = happyTcHack x happyReduce_110
-
-action_447 x = happyTcHack x happyReduce_124
-
-action_448 (107#) = happyShift action_477
-action_448 x = happyTcHack x happyReduce_100
-
-action_449 (168#) = happyShift action_476
-action_449 x = happyTcHack x happyReduce_103
-
-action_450 x = happyTcHack x happyReduce_99
-
-action_451 (112#) = happyShift action_387
-action_451 x = happyTcHack x happyFail
-
-action_452 x = happyTcHack x happyReduce_118
-
-action_453 x = happyTcHack x happyReduce_261
-
-action_454 x = happyTcHack x happyReduce_263
-
-action_455 (95#) = happyShift action_21
-action_455 (97#) = happyShift action_22
-action_455 (98#) = happyShift action_23
-action_455 (111#) = happyShift action_24
-action_455 (115#) = happyShift action_25
-action_455 (117#) = happyShift action_26
-action_455 (118#) = happyShift action_27
-action_455 (119#) = happyShift action_28
-action_455 (120#) = happyShift action_29
-action_455 (121#) = happyShift action_30
-action_455 (122#) = happyShift action_31
-action_455 (123#) = happyShift action_32
-action_455 (124#) = happyShift action_33
-action_455 (126#) = happyShift action_102
-action_455 (128#) = happyShift action_34
-action_455 (131#) = happyShift action_35
-action_455 (134#) = happyShift action_36
-action_455 (137#) = happyShift action_113
-action_455 (142#) = happyShift action_38
-action_455 (153#) = happyShift action_39
-action_455 (154#) = happyShift action_40
-action_455 (158#) = happyShift action_41
-action_455 (159#) = happyShift action_42
-action_455 (164#) = happyShift action_43
-action_455 (167#) = happyShift action_44
-action_455 (170#) = happyShift action_6
-action_455 (171#) = happyShift action_45
-action_455 (172#) = happyShift action_46
-action_455 (173#) = happyShift action_47
-action_455 (174#) = happyShift action_48
-action_455 (8#) = happyGoto action_7
-action_455 (9#) = happyGoto action_8
-action_455 (10#) = happyGoto action_9
-action_455 (11#) = happyGoto action_10
-action_455 (12#) = happyGoto action_110
-action_455 (58#) = happyGoto action_12
-action_455 (59#) = happyGoto action_13
-action_455 (60#) = happyGoto action_14
-action_455 (61#) = happyGoto action_15
-action_455 (62#) = happyGoto action_16
-action_455 (63#) = happyGoto action_111
-action_455 (64#) = happyGoto action_18
-action_455 (72#) = happyGoto action_19
-action_455 (75#) = happyGoto action_99
-action_455 (76#) = happyGoto action_475
-action_455 (77#) = happyGoto action_20
-action_455 x = happyTcHack x happyReduce_236
-
-action_456 x = happyTcHack x happyReduce_114
-
-action_457 (97#) = happyShift action_86
-action_457 (98#) = happyShift action_455
-action_457 (111#) = happyShift action_24
-action_457 (115#) = happyShift action_25
-action_457 (118#) = happyShift action_27
-action_457 (119#) = happyShift action_28
-action_457 (120#) = happyShift action_29
-action_457 (121#) = happyShift action_30
-action_457 (122#) = happyShift action_31
-action_457 (123#) = happyShift action_32
-action_457 (125#) = happyShift action_474
-action_457 (131#) = happyShift action_35
-action_457 (167#) = happyShift action_139
-action_457 (170#) = happyShift action_6
-action_457 (171#) = happyShift action_45
-action_457 (172#) = happyShift action_46
-action_457 (173#) = happyShift action_47
-action_457 (174#) = happyShift action_48
-action_457 (8#) = happyGoto action_7
-action_457 (9#) = happyGoto action_8
-action_457 (10#) = happyGoto action_9
-action_457 (11#) = happyGoto action_10
-action_457 (12#) = happyGoto action_84
-action_457 (58#) = happyGoto action_453
-action_457 (72#) = happyGoto action_19
-action_457 (88#) = happyGoto action_454
-action_457 x = happyTcHack x happyFail
-
-action_458 (137#) = happyShift action_473
-action_458 x = happyTcHack x happyFail
-
-action_459 (166#) = happyShift action_472
-action_459 x = happyTcHack x happyFail
-
-action_460 (101#) = happyShift action_471
-action_460 x = happyTcHack x happyReduce_28
-
-action_461 x = happyTcHack x happyReduce_67
-
-action_462 x = happyTcHack x happyReduce_136
-
-action_463 x = happyTcHack x happyReduce_213
-
-action_464 x = happyTcHack x happyReduce_168
-
-action_465 (95#) = happyShift action_21
-action_465 (97#) = happyShift action_22
-action_465 (98#) = happyShift action_23
-action_465 (111#) = happyShift action_24
-action_465 (115#) = happyShift action_25
-action_465 (117#) = happyShift action_26
-action_465 (118#) = happyShift action_27
-action_465 (119#) = happyShift action_28
-action_465 (120#) = happyShift action_29
-action_465 (121#) = happyShift action_30
-action_465 (122#) = happyShift action_31
-action_465 (123#) = happyShift action_32
-action_465 (124#) = happyShift action_33
-action_465 (128#) = happyShift action_34
-action_465 (131#) = happyShift action_35
-action_465 (134#) = happyShift action_36
-action_465 (137#) = happyShift action_37
-action_465 (142#) = happyShift action_38
-action_465 (153#) = happyShift action_39
-action_465 (154#) = happyShift action_40
-action_465 (158#) = happyShift action_41
-action_465 (159#) = happyShift action_42
-action_465 (164#) = happyShift action_43
-action_465 (167#) = happyShift action_44
-action_465 (170#) = happyShift action_6
-action_465 (171#) = happyShift action_45
-action_465 (172#) = happyShift action_46
-action_465 (173#) = happyShift action_47
-action_465 (174#) = happyShift action_48
-action_465 (8#) = happyGoto action_7
-action_465 (9#) = happyGoto action_8
-action_465 (10#) = happyGoto action_9
-action_465 (11#) = happyGoto action_10
-action_465 (12#) = happyGoto action_11
-action_465 (58#) = happyGoto action_12
-action_465 (59#) = happyGoto action_13
-action_465 (60#) = happyGoto action_14
-action_465 (61#) = happyGoto action_15
-action_465 (62#) = happyGoto action_16
-action_465 (63#) = happyGoto action_361
-action_465 (64#) = happyGoto action_18
-action_465 (72#) = happyGoto action_19
-action_465 (77#) = happyGoto action_20
-action_465 (86#) = happyGoto action_362
-action_465 (87#) = happyGoto action_470
-action_465 x = happyTcHack x happyReduce_257
-
-action_466 (95#) = happyShift action_21
-action_466 (97#) = happyShift action_22
-action_466 (98#) = happyShift action_23
-action_466 (111#) = happyShift action_24
-action_466 (115#) = happyShift action_25
-action_466 (117#) = happyShift action_26
-action_466 (118#) = happyShift action_27
-action_466 (119#) = happyShift action_28
-action_466 (120#) = happyShift action_29
-action_466 (121#) = happyShift action_30
-action_466 (122#) = happyShift action_31
-action_466 (123#) = happyShift action_32
-action_466 (124#) = happyShift action_33
-action_466 (128#) = happyShift action_34
-action_466 (131#) = happyShift action_35
-action_466 (134#) = happyShift action_36
-action_466 (137#) = happyShift action_37
-action_466 (142#) = happyShift action_38
-action_466 (153#) = happyShift action_39
-action_466 (154#) = happyShift action_40
-action_466 (158#) = happyShift action_41
-action_466 (159#) = happyShift action_42
-action_466 (164#) = happyShift action_43
-action_466 (167#) = happyShift action_44
-action_466 (170#) = happyShift action_6
-action_466 (171#) = happyShift action_45
-action_466 (172#) = happyShift action_46
-action_466 (173#) = happyShift action_47
-action_466 (174#) = happyShift action_48
-action_466 (8#) = happyGoto action_7
-action_466 (9#) = happyGoto action_8
-action_466 (10#) = happyGoto action_9
-action_466 (11#) = happyGoto action_10
-action_466 (12#) = happyGoto action_11
-action_466 (58#) = happyGoto action_12
-action_466 (59#) = happyGoto action_13
-action_466 (60#) = happyGoto action_14
-action_466 (61#) = happyGoto action_15
-action_466 (62#) = happyGoto action_16
-action_466 (63#) = happyGoto action_469
-action_466 (64#) = happyGoto action_18
-action_466 (72#) = happyGoto action_19
-action_466 (77#) = happyGoto action_20
-action_466 x = happyTcHack x happyFail
-
-action_467 x = happyTcHack x happyReduce_186
-
-action_468 x = happyTcHack x happyReduce_166
-
-action_469 x = happyTcHack x happyReduce_256
-
-action_470 x = happyTcHack x happyReduce_259
-
-action_471 (148#) = happyShift action_382
-action_471 (28#) = happyGoto action_510
-action_471 x = happyTcHack x happyReduce_55
-
-action_472 (98#) = happyShift action_408
-action_472 (174#) = happyShift action_48
-action_472 (12#) = happyGoto action_406
-action_472 (27#) = happyGoto action_509
-action_472 (29#) = happyGoto action_425
-action_472 x = happyTcHack x happyReduce_52
-
-action_473 x = happyTcHack x happyReduce_56
-
-action_474 (167#) = happyShift action_508
-action_474 x = happyTcHack x happyReduce_96
-
-action_475 (109#) = happyShift action_507
-action_475 x = happyTcHack x happyFail
-
-action_476 (174#) = happyShift action_48
-action_476 (12#) = happyGoto action_448
-action_476 (39#) = happyGoto action_449
-action_476 (40#) = happyGoto action_506
-action_476 x = happyTcHack x happyReduce_102
-
-action_477 (174#) = happyShift action_48
-action_477 (12#) = happyGoto action_505
-action_477 x = happyTcHack x happyFail
-
-action_478 (129#) = happyShift action_210
-action_478 (131#) = happyShift action_211
-action_478 (132#) = happyShift action_212
-action_478 (133#) = happyShift action_213
-action_478 (135#) = happyShift action_214
-action_478 (143#) = happyShift action_215
-action_478 (144#) = happyShift action_216
-action_478 (145#) = happyShift action_217
-action_478 (146#) = happyShift action_218
-action_478 (149#) = happyShift action_219
-action_478 (151#) = happyShift action_220
-action_478 (152#) = happyShift action_221
-action_478 (153#) = happyShift action_222
-action_478 (155#) = happyShift action_223
-action_478 (160#) = happyShift action_224
-action_478 (161#) = happyShift action_225
-action_478 (163#) = happyShift action_226
-action_478 (169#) = happyShift action_504
-action_478 (35#) = happyGoto action_209
-action_478 x = happyTcHack x happyFail
-
-action_479 (174#) = happyShift action_48
-action_479 (12#) = happyGoto action_503
-action_479 x = happyTcHack x happyFail
-
-action_480 (174#) = happyShift action_48
-action_480 (12#) = happyGoto action_438
-action_480 (42#) = happyGoto action_439
-action_480 (52#) = happyGoto action_502
-action_480 x = happyTcHack x happyReduce_125
-
-action_481 (97#) = happyShift action_86
-action_481 (98#) = happyShift action_455
-action_481 (111#) = happyShift action_24
-action_481 (115#) = happyShift action_25
-action_481 (118#) = happyShift action_27
-action_481 (119#) = happyShift action_28
-action_481 (120#) = happyShift action_29
-action_481 (121#) = happyShift action_30
-action_481 (122#) = happyShift action_31
-action_481 (123#) = happyShift action_32
-action_481 (131#) = happyShift action_35
-action_481 (167#) = happyShift action_139
-action_481 (170#) = happyShift action_6
-action_481 (171#) = happyShift action_45
-action_481 (172#) = happyShift action_46
-action_481 (173#) = happyShift action_47
-action_481 (174#) = happyShift action_48
-action_481 (8#) = happyGoto action_7
-action_481 (9#) = happyGoto action_8
-action_481 (10#) = happyGoto action_9
-action_481 (11#) = happyGoto action_10
-action_481 (12#) = happyGoto action_84
-action_481 (58#) = happyGoto action_453
-action_481 (72#) = happyGoto action_19
-action_481 (88#) = happyGoto action_454
-action_481 x = happyTcHack x happyReduce_108
-
-action_482 (95#) = happyShift action_21
-action_482 (97#) = happyShift action_22
-action_482 (98#) = happyShift action_23
-action_482 (111#) = happyShift action_24
-action_482 (115#) = happyShift action_25
-action_482 (117#) = happyShift action_26
-action_482 (118#) = happyShift action_27
-action_482 (119#) = happyShift action_28
-action_482 (120#) = happyShift action_29
-action_482 (121#) = happyShift action_30
-action_482 (122#) = happyShift action_31
-action_482 (123#) = happyShift action_32
-action_482 (124#) = happyShift action_33
-action_482 (128#) = happyShift action_34
-action_482 (131#) = happyShift action_35
-action_482 (134#) = happyShift action_36
-action_482 (137#) = happyShift action_37
-action_482 (142#) = happyShift action_38
-action_482 (153#) = happyShift action_39
-action_482 (154#) = happyShift action_40
-action_482 (158#) = happyShift action_41
-action_482 (159#) = happyShift action_42
-action_482 (164#) = happyShift action_43
-action_482 (167#) = happyShift action_44
-action_482 (170#) = happyShift action_6
-action_482 (171#) = happyShift action_45
-action_482 (172#) = happyShift action_46
-action_482 (173#) = happyShift action_47
-action_482 (174#) = happyShift action_48
-action_482 (8#) = happyGoto action_7
-action_482 (9#) = happyGoto action_8
-action_482 (10#) = happyGoto action_9
-action_482 (11#) = happyGoto action_10
-action_482 (12#) = happyGoto action_11
-action_482 (58#) = happyGoto action_12
-action_482 (59#) = happyGoto action_13
-action_482 (60#) = happyGoto action_14
-action_482 (61#) = happyGoto action_15
-action_482 (62#) = happyGoto action_16
-action_482 (63#) = happyGoto action_501
-action_482 (64#) = happyGoto action_18
-action_482 (72#) = happyGoto action_19
-action_482 (77#) = happyGoto action_20
-action_482 x = happyTcHack x happyFail
-
-action_483 x = happyTcHack x happyReduce_73
-
-action_484 x = happyTcHack x happyReduce_39
-
-action_485 (99#) = happyShift action_499
-action_485 (112#) = happyShift action_500
-action_485 x = happyTcHack x happyFail
-
-action_486 (98#) = happyShift action_408
-action_486 (174#) = happyShift action_48
-action_486 (12#) = happyGoto action_406
-action_486 (27#) = happyGoto action_498
-action_486 (29#) = happyGoto action_425
-action_486 x = happyTcHack x happyReduce_52
-
-action_487 (148#) = happyShift action_382
-action_487 (28#) = happyGoto action_497
-action_487 x = happyTcHack x happyReduce_55
-
-action_488 (98#) = happyShift action_408
-action_488 (174#) = happyShift action_48
-action_488 (12#) = happyGoto action_406
-action_488 (27#) = happyGoto action_496
-action_488 (29#) = happyGoto action_425
-action_488 x = happyTcHack x happyReduce_52
-
-action_489 (129#) = happyShift action_210
-action_489 (131#) = happyShift action_211
-action_489 (132#) = happyShift action_212
-action_489 (133#) = happyShift action_213
-action_489 (135#) = happyShift action_214
-action_489 (143#) = happyShift action_215
-action_489 (144#) = happyShift action_216
-action_489 (145#) = happyShift action_217
-action_489 (146#) = happyShift action_218
-action_489 (149#) = happyShift action_219
-action_489 (151#) = happyShift action_220
-action_489 (152#) = happyShift action_221
-action_489 (153#) = happyShift action_222
-action_489 (155#) = happyShift action_223
-action_489 (160#) = happyShift action_224
-action_489 (161#) = happyShift action_225
-action_489 (163#) = happyShift action_226
-action_489 (169#) = happyShift action_495
-action_489 (35#) = happyGoto action_209
-action_489 x = happyTcHack x happyFail
-
-action_490 (125#) = happyShift action_494
-action_490 x = happyTcHack x happyFail
-
-action_491 x = happyTcHack x happyReduce_69
-
-action_492 (110#) = happyShift action_493
-action_492 x = happyTcHack x happyFail
-
-action_493 (174#) = happyShift action_48
-action_493 (12#) = happyGoto action_519
-action_493 (16#) = happyGoto action_520
-action_493 (17#) = happyGoto action_521
-action_493 x = happyTcHack x happyReduce_17
-
-action_494 x = happyTcHack x happyReduce_70
-
-action_495 x = happyTcHack x happyReduce_40
-
-action_496 (101#) = happyShift action_518
-action_496 x = happyTcHack x happyReduce_44
-
-action_497 (167#) = happyShift action_517
-action_497 x = happyTcHack x happyFail
-
-action_498 x = happyTcHack x happyReduce_54
-
-action_499 x = happyTcHack x happyReduce_58
-
-action_500 (174#) = happyShift action_48
-action_500 (12#) = happyGoto action_516
-action_500 x = happyTcHack x happyFail
-
-action_501 x = happyTcHack x happyReduce_74
-
-action_502 x = happyTcHack x happyReduce_127
-
-action_503 (99#) = happyShift action_515
-action_503 x = happyTcHack x happyFail
-
-action_504 (110#) = happyShift action_514
-action_504 x = happyTcHack x happyFail
-
-action_505 x = happyTcHack x happyReduce_101
-
-action_506 x = happyTcHack x happyReduce_104
-
-action_507 (95#) = happyShift action_21
-action_507 (97#) = happyShift action_22
-action_507 (98#) = happyShift action_23
-action_507 (111#) = happyShift action_24
-action_507 (115#) = happyShift action_25
-action_507 (117#) = happyShift action_26
-action_507 (118#) = happyShift action_27
-action_507 (119#) = happyShift action_28
-action_507 (120#) = happyShift action_29
-action_507 (121#) = happyShift action_30
-action_507 (122#) = happyShift action_31
-action_507 (123#) = happyShift action_32
-action_507 (124#) = happyShift action_33
-action_507 (128#) = happyShift action_34
-action_507 (131#) = happyShift action_35
-action_507 (134#) = happyShift action_36
-action_507 (137#) = happyShift action_37
-action_507 (142#) = happyShift action_38
-action_507 (153#) = happyShift action_39
-action_507 (154#) = happyShift action_40
-action_507 (158#) = happyShift action_41
-action_507 (159#) = happyShift action_42
-action_507 (164#) = happyShift action_43
-action_507 (167#) = happyShift action_44
-action_507 (170#) = happyShift action_6
-action_507 (171#) = happyShift action_45
-action_507 (172#) = happyShift action_46
-action_507 (173#) = happyShift action_47
-action_507 (174#) = happyShift action_48
-action_507 (8#) = happyGoto action_7
-action_507 (9#) = happyGoto action_8
-action_507 (10#) = happyGoto action_9
-action_507 (11#) = happyGoto action_10
-action_507 (12#) = happyGoto action_11
-action_507 (58#) = happyGoto action_12
-action_507 (59#) = happyGoto action_13
-action_507 (60#) = happyGoto action_14
-action_507 (61#) = happyGoto action_15
-action_507 (62#) = happyGoto action_16
-action_507 (63#) = happyGoto action_513
-action_507 (64#) = happyGoto action_18
-action_507 (72#) = happyGoto action_19
-action_507 (77#) = happyGoto action_20
-action_507 x = happyTcHack x happyFail
-
-action_508 (170#) = happyShift action_6
-action_508 (8#) = happyGoto action_512
-action_508 x = happyTcHack x happyFail
-
-action_509 (101#) = happyShift action_511
-action_509 x = happyTcHack x happyReduce_30
-
-action_510 x = happyTcHack x happyReduce_29
-
-action_511 (148#) = happyShift action_382
-action_511 (28#) = happyGoto action_530
-action_511 x = happyTcHack x happyReduce_55
-
-action_512 (169#) = happyShift action_529
-action_512 x = happyTcHack x happyFail
-
-action_513 (99#) = happyShift action_528
-action_513 x = happyTcHack x happyFail
-
-action_514 x = happyTcHack x happyReduce_92
-
-action_515 x = happyTcHack x happyReduce_106
-
-action_516 (99#) = happyShift action_527
-action_516 x = happyTcHack x happyFail
-
-action_517 (25#) = happyGoto action_526
-action_517 x = happyTcHack x happyReduce_48
-
-action_518 (148#) = happyShift action_382
-action_518 (28#) = happyGoto action_525
-action_518 x = happyTcHack x happyReduce_55
-
-action_519 (112#) = happyShift action_524
-action_519 x = happyTcHack x happyFail
-
-action_520 (110#) = happyShift action_523
-action_520 x = happyTcHack x happyReduce_18
-
-action_521 (169#) = happyShift action_522
-action_521 x = happyTcHack x happyFail
-
-action_522 x = happyTcHack x happyReduce_14
-
-action_523 (174#) = happyShift action_48
-action_523 (12#) = happyGoto action_519
-action_523 (16#) = happyGoto action_520
-action_523 (17#) = happyGoto action_535
-action_523 x = happyTcHack x happyReduce_17
-
-action_524 (174#) = happyShift action_48
-action_524 (12#) = happyGoto action_533
-action_524 (18#) = happyGoto action_534
-action_524 x = happyTcHack x happyFail
-
-action_525 (167#) = happyShift action_532
-action_525 x = happyTcHack x happyFail
-
-action_526 (129#) = happyShift action_210
-action_526 (131#) = happyShift action_211
-action_526 (132#) = happyShift action_212
-action_526 (133#) = happyShift action_213
-action_526 (135#) = happyShift action_214
-action_526 (143#) = happyShift action_215
-action_526 (144#) = happyShift action_216
-action_526 (145#) = happyShift action_217
-action_526 (146#) = happyShift action_218
-action_526 (149#) = happyShift action_219
-action_526 (151#) = happyShift action_220
-action_526 (152#) = happyShift action_221
-action_526 (153#) = happyShift action_222
-action_526 (155#) = happyShift action_223
-action_526 (160#) = happyShift action_224
-action_526 (161#) = happyShift action_225
-action_526 (163#) = happyShift action_226
-action_526 (169#) = happyShift action_531
-action_526 (35#) = happyGoto action_209
-action_526 x = happyTcHack x happyFail
-
-action_527 x = happyTcHack x happyReduce_59
-
-action_528 x = happyTcHack x happyReduce_260
-
-action_529 x = happyTcHack x happyReduce_97
-
-action_530 x = happyTcHack x happyReduce_31
-
-action_531 x = happyTcHack x happyReduce_43
-
-action_532 (25#) = happyGoto action_537
-action_532 x = happyTcHack x happyReduce_48
-
-action_533 (19#) = happyGoto action_536
-action_533 x = happyTcHack x happyReduce_21
-
-action_534 x = happyTcHack x happyReduce_16
-
-action_535 x = happyTcHack x happyReduce_19
-
-action_536 (98#) = happyShift action_540
-action_536 (20#) = happyGoto action_539
-action_536 x = happyTcHack x happyReduce_20
-
-action_537 (129#) = happyShift action_210
-action_537 (131#) = happyShift action_211
-action_537 (132#) = happyShift action_212
-action_537 (133#) = happyShift action_213
-action_537 (135#) = happyShift action_214
-action_537 (143#) = happyShift action_215
-action_537 (144#) = happyShift action_216
-action_537 (145#) = happyShift action_217
-action_537 (146#) = happyShift action_218
-action_537 (149#) = happyShift action_219
-action_537 (151#) = happyShift action_220
-action_537 (152#) = happyShift action_221
-action_537 (153#) = happyShift action_222
-action_537 (155#) = happyShift action_223
-action_537 (160#) = happyShift action_224
-action_537 (161#) = happyShift action_225
-action_537 (163#) = happyShift action_226
-action_537 (169#) = happyShift action_538
-action_537 (35#) = happyGoto action_209
-action_537 x = happyTcHack x happyFail
-
-action_538 x = happyTcHack x happyReduce_45
-
-action_539 x = happyTcHack x happyReduce_22
-
-action_540 (161#) = happyShift action_541
-action_540 x = happyTcHack x happyFail
-
-action_541 (137#) = happyShift action_542
-action_541 (150#) = happyShift action_543
-action_541 x = happyTcHack x happyFail
-
-action_542 (98#) = happyShift action_408
-action_542 (174#) = happyShift action_48
-action_542 (12#) = happyGoto action_406
-action_542 (29#) = happyGoto action_545
-action_542 x = happyTcHack x happyFail
-
-action_543 (98#) = happyShift action_408
-action_543 (174#) = happyShift action_48
-action_543 (12#) = happyGoto action_406
-action_543 (29#) = happyGoto action_544
-action_543 x = happyTcHack x happyFail
-
-action_544 (99#) = happyShift action_547
-action_544 x = happyTcHack x happyFail
-
-action_545 (99#) = happyShift action_546
-action_545 x = happyTcHack x happyFail
-
-action_546 x = happyTcHack x happyReduce_23
-
-action_547 x = happyTcHack x happyReduce_24
-
-happyReduce_5 = happySpecReduce_1 8# happyReduction_5
-happyReduction_5 (HappyTerminal (PT _ (TI happy_var_1)))
- = HappyAbsSyn8
- ((read (BS.unpack happy_var_1)) :: Integer
- )
-happyReduction_5 _ = notHappyAtAll
-
-happyReduce_6 = happySpecReduce_1 9# happyReduction_6
-happyReduction_6 (HappyTerminal (PT _ (TL happy_var_1)))
- = HappyAbsSyn9
- (BS.unpack happy_var_1
- )
-happyReduction_6 _ = notHappyAtAll
-
-happyReduce_7 = happySpecReduce_1 10# happyReduction_7
-happyReduction_7 (HappyTerminal (PT _ (TD happy_var_1)))
- = HappyAbsSyn10
- ((read (BS.unpack happy_var_1)) :: Double
- )
-happyReduction_7 _ = notHappyAtAll
-
-happyReduce_8 = happySpecReduce_1 11# happyReduction_8
-happyReduction_8 (HappyTerminal (PT _ (T_LString happy_var_1)))
- = HappyAbsSyn11
- (LString (happy_var_1)
- )
-happyReduction_8 _ = notHappyAtAll
-
-happyReduce_9 = happySpecReduce_1 12# happyReduction_9
-happyReduction_9 (HappyTerminal happy_var_1)
- = HappyAbsSyn12
- (PIdent (mkPosToken happy_var_1)
- )
-happyReduction_9 _ = notHappyAtAll
-
-happyReduce_10 = happySpecReduce_1 13# happyReduction_10
-happyReduction_10 (HappyAbsSyn14 happy_var_1)
- = HappyAbsSyn13
- (Gr (reverse happy_var_1)
- )
-happyReduction_10 _ = notHappyAtAll
-
-happyReduce_11 = happySpecReduce_0 14# happyReduction_11
-happyReduction_11 = HappyAbsSyn14
- ([]
- )
-
-happyReduce_12 = happySpecReduce_2 14# happyReduction_12
-happyReduction_12 (HappyAbsSyn15 happy_var_2)
- (HappyAbsSyn14 happy_var_1)
- = HappyAbsSyn14
- (flip (:) happy_var_1 happy_var_2
- )
-happyReduction_12 _ _ = notHappyAtAll
-
-happyReduce_13 = happySpecReduce_2 15# happyReduction_13
-happyReduction_13 _
- (HappyAbsSyn15 happy_var_1)
- = HappyAbsSyn15
- (happy_var_1
- )
-happyReduction_13 _ _ = notHappyAtAll
-
-happyReduce_14 = happyReduce 10# 15# happyReduction_14
-happyReduction_14 (_ `HappyStk`
- (HappyAbsSyn17 happy_var_9) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn12 happy_var_7) `HappyStk`
- _ `HappyStk`
- _ `HappyStk`
- _ `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn12 happy_var_2) `HappyStk`
- _ `HappyStk`
- happyRest)
- = HappyAbsSyn15
- (MMain happy_var_2 happy_var_7 happy_var_9
- ) `HappyStk` happyRest
-
-happyReduce_15 = happyReduce 4# 15# happyReduction_15
-happyReduction_15 ((HappyAbsSyn22 happy_var_4) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn23 happy_var_2) `HappyStk`
- (HappyAbsSyn30 happy_var_1) `HappyStk`
- happyRest)
- = HappyAbsSyn15
- (MModule happy_var_1 happy_var_2 happy_var_4
- ) `HappyStk` happyRest
-
-happyReduce_16 = happySpecReduce_3 16# happyReduction_16
-happyReduction_16 (HappyAbsSyn18 happy_var_3)
- _
- (HappyAbsSyn12 happy_var_1)
- = HappyAbsSyn16
- (ConcSpec happy_var_1 happy_var_3
- )
-happyReduction_16 _ _ _ = notHappyAtAll
-
-happyReduce_17 = happySpecReduce_0 17# happyReduction_17
-happyReduction_17 = HappyAbsSyn17
- ([]
- )
-
-happyReduce_18 = happySpecReduce_1 17# happyReduction_18
-happyReduction_18 (HappyAbsSyn16 happy_var_1)
- = HappyAbsSyn17
- ((:[]) happy_var_1
- )
-happyReduction_18 _ = notHappyAtAll
-
-happyReduce_19 = happySpecReduce_3 17# happyReduction_19
-happyReduction_19 (HappyAbsSyn17 happy_var_3)
- _
- (HappyAbsSyn16 happy_var_1)
- = HappyAbsSyn17
- ((:) happy_var_1 happy_var_3
- )
-happyReduction_19 _ _ _ = notHappyAtAll
-
-happyReduce_20 = happySpecReduce_2 18# happyReduction_20
-happyReduction_20 (HappyAbsSyn19 happy_var_2)
- (HappyAbsSyn12 happy_var_1)
- = HappyAbsSyn18
- (ConcExp happy_var_1 (reverse happy_var_2)
- )
-happyReduction_20 _ _ = notHappyAtAll
-
-happyReduce_21 = happySpecReduce_0 19# happyReduction_21
-happyReduction_21 = HappyAbsSyn19
- ([]
- )
-
-happyReduce_22 = happySpecReduce_2 19# happyReduction_22
-happyReduction_22 (HappyAbsSyn20 happy_var_2)
- (HappyAbsSyn19 happy_var_1)
- = HappyAbsSyn19
- (flip (:) happy_var_1 happy_var_2
- )
-happyReduction_22 _ _ = notHappyAtAll
-
-happyReduce_23 = happyReduce 5# 20# happyReduction_23
-happyReduction_23 (_ `HappyStk`
- (HappyAbsSyn29 happy_var_4) `HappyStk`
- _ `HappyStk`
- _ `HappyStk`
- _ `HappyStk`
- happyRest)
- = HappyAbsSyn20
- (TransferIn happy_var_4
- ) `HappyStk` happyRest
-
-happyReduce_24 = happyReduce 5# 20# happyReduction_24
-happyReduction_24 (_ `HappyStk`
- (HappyAbsSyn29 happy_var_4) `HappyStk`
- _ `HappyStk`
- _ `HappyStk`
- _ `HappyStk`
- happyRest)
- = HappyAbsSyn20
- (TransferOut happy_var_4
- ) `HappyStk` happyRest
-
-happyReduce_25 = happyReduce 4# 21# happyReduction_25
-happyReduction_25 ((HappyAbsSyn22 happy_var_4) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn23 happy_var_2) `HappyStk`
- (HappyAbsSyn30 happy_var_1) `HappyStk`
- happyRest)
- = HappyAbsSyn15
- (MModule happy_var_1 happy_var_2 happy_var_4
- ) `HappyStk` happyRest
-
-happyReduce_26 = happySpecReduce_2 22# happyReduction_26
-happyReduction_26 (HappyAbsSyn28 happy_var_2)
- (HappyAbsSyn26 happy_var_1)
- = HappyAbsSyn22
- (MBody happy_var_1 happy_var_2 []
- )
-happyReduction_26 _ _ = notHappyAtAll
-
-happyReduce_27 = happySpecReduce_1 22# happyReduction_27
-happyReduction_27 (HappyAbsSyn32 happy_var_1)
- = HappyAbsSyn22
- (MNoBody happy_var_1
- )
-happyReduction_27 _ = notHappyAtAll
-
-happyReduce_28 = happySpecReduce_3 22# happyReduction_28
-happyReduction_28 (HappyAbsSyn27 happy_var_3)
- _
- (HappyAbsSyn33 happy_var_1)
- = HappyAbsSyn22
- (MWith happy_var_1 happy_var_3
- )
-happyReduction_28 _ _ _ = notHappyAtAll
-
-happyReduce_29 = happyReduce 5# 22# happyReduction_29
-happyReduction_29 ((HappyAbsSyn28 happy_var_5) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn27 happy_var_3) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn33 happy_var_1) `HappyStk`
- happyRest)
- = HappyAbsSyn22
- (MWithBody happy_var_1 happy_var_3 happy_var_5 []
- ) `HappyStk` happyRest
-
-happyReduce_30 = happyReduce 5# 22# happyReduction_30
-happyReduction_30 ((HappyAbsSyn27 happy_var_5) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn33 happy_var_3) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn32 happy_var_1) `HappyStk`
- happyRest)
- = HappyAbsSyn22
- (MWithE happy_var_1 happy_var_3 happy_var_5
- ) `HappyStk` happyRest
-
-happyReduce_31 = happyReduce 7# 22# happyReduction_31
-happyReduction_31 ((HappyAbsSyn28 happy_var_7) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn27 happy_var_5) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn33 happy_var_3) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn32 happy_var_1) `HappyStk`
- happyRest)
- = HappyAbsSyn22
- (MWithEBody happy_var_1 happy_var_3 happy_var_5 happy_var_7 []
- ) `HappyStk` happyRest
-
-happyReduce_32 = happySpecReduce_2 22# happyReduction_32
-happyReduction_32 (HappyAbsSyn12 happy_var_2)
- _
- = HappyAbsSyn22
- (MReuse happy_var_2
- )
-happyReduction_32 _ _ = notHappyAtAll
-
-happyReduce_33 = happySpecReduce_2 22# happyReduction_33
-happyReduction_33 (HappyAbsSyn32 happy_var_2)
- _
- = HappyAbsSyn22
- (MUnion happy_var_2
- )
-happyReduction_33 _ _ = notHappyAtAll
-
-happyReduce_34 = happySpecReduce_2 23# happyReduction_34
-happyReduction_34 (HappyAbsSyn12 happy_var_2)
- _
- = HappyAbsSyn23
- (MTAbstract happy_var_2
- )
-happyReduction_34 _ _ = notHappyAtAll
-
-happyReduce_35 = happySpecReduce_2 23# happyReduction_35
-happyReduction_35 (HappyAbsSyn12 happy_var_2)
- _
- = HappyAbsSyn23
- (MTResource happy_var_2
- )
-happyReduction_35 _ _ = notHappyAtAll
-
-happyReduce_36 = happySpecReduce_2 23# happyReduction_36
-happyReduction_36 (HappyAbsSyn12 happy_var_2)
- _
- = HappyAbsSyn23
- (MTInterface happy_var_2
- )
-happyReduction_36 _ _ = notHappyAtAll
-
-happyReduce_37 = happyReduce 4# 23# happyReduction_37
-happyReduction_37 ((HappyAbsSyn12 happy_var_4) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn12 happy_var_2) `HappyStk`
- _ `HappyStk`
- happyRest)
- = HappyAbsSyn23
- (MTConcrete happy_var_2 happy_var_4
- ) `HappyStk` happyRest
-
-happyReduce_38 = happyReduce 4# 23# happyReduction_38
-happyReduction_38 ((HappyAbsSyn12 happy_var_4) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn12 happy_var_2) `HappyStk`
- _ `HappyStk`
- happyRest)
- = HappyAbsSyn23
- (MTInstance happy_var_2 happy_var_4
- ) `HappyStk` happyRest
-
-happyReduce_39 = happyReduce 6# 23# happyReduction_39
-happyReduction_39 ((HappyAbsSyn29 happy_var_6) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn29 happy_var_4) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn12 happy_var_2) `HappyStk`
- _ `HappyStk`
- happyRest)
- = HappyAbsSyn23
- (MTTransfer happy_var_2 happy_var_4 happy_var_6
- ) `HappyStk` happyRest
-
-happyReduce_40 = happyReduce 5# 24# happyReduction_40
-happyReduction_40 (_ `HappyStk`
- (HappyAbsSyn25 happy_var_4) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn28 happy_var_2) `HappyStk`
- (HappyAbsSyn26 happy_var_1) `HappyStk`
- happyRest)
- = HappyAbsSyn22
- (MBody happy_var_1 happy_var_2 (reverse happy_var_4)
- ) `HappyStk` happyRest
-
-happyReduce_41 = happySpecReduce_1 24# happyReduction_41
-happyReduction_41 (HappyAbsSyn32 happy_var_1)
- = HappyAbsSyn22
- (MNoBody happy_var_1
- )
-happyReduction_41 _ = notHappyAtAll
-
-happyReduce_42 = happySpecReduce_3 24# happyReduction_42
-happyReduction_42 (HappyAbsSyn27 happy_var_3)
- _
- (HappyAbsSyn33 happy_var_1)
- = HappyAbsSyn22
- (MWith happy_var_1 happy_var_3
- )
-happyReduction_42 _ _ _ = notHappyAtAll
-
-happyReduce_43 = happyReduce 8# 24# happyReduction_43
-happyReduction_43 (_ `HappyStk`
- (HappyAbsSyn25 happy_var_7) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn28 happy_var_5) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn27 happy_var_3) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn33 happy_var_1) `HappyStk`
- happyRest)
- = HappyAbsSyn22
- (MWithBody happy_var_1 happy_var_3 happy_var_5 (reverse happy_var_7)
- ) `HappyStk` happyRest
-
-happyReduce_44 = happyReduce 5# 24# happyReduction_44
-happyReduction_44 ((HappyAbsSyn27 happy_var_5) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn33 happy_var_3) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn32 happy_var_1) `HappyStk`
- happyRest)
- = HappyAbsSyn22
- (MWithE happy_var_1 happy_var_3 happy_var_5
- ) `HappyStk` happyRest
-
-happyReduce_45 = happyReduce 10# 24# happyReduction_45
-happyReduction_45 (_ `HappyStk`
- (HappyAbsSyn25 happy_var_9) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn28 happy_var_7) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn27 happy_var_5) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn33 happy_var_3) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn32 happy_var_1) `HappyStk`
- happyRest)
- = HappyAbsSyn22
- (MWithEBody happy_var_1 happy_var_3 happy_var_5 happy_var_7 (reverse happy_var_9)
- ) `HappyStk` happyRest
-
-happyReduce_46 = happySpecReduce_2 24# happyReduction_46
-happyReduction_46 (HappyAbsSyn12 happy_var_2)
- _
- = HappyAbsSyn22
- (MReuse happy_var_2
- )
-happyReduction_46 _ _ = notHappyAtAll
-
-happyReduce_47 = happySpecReduce_2 24# happyReduction_47
-happyReduction_47 (HappyAbsSyn32 happy_var_2)
- _
- = HappyAbsSyn22
- (MUnion happy_var_2
- )
-happyReduction_47 _ _ = notHappyAtAll
-
-happyReduce_48 = happySpecReduce_0 25# happyReduction_48
-happyReduction_48 = HappyAbsSyn25
- ([]
- )
-
-happyReduce_49 = happySpecReduce_2 25# happyReduction_49
-happyReduction_49 (HappyAbsSyn35 happy_var_2)
- (HappyAbsSyn25 happy_var_1)
- = HappyAbsSyn25
- (flip (:) happy_var_1 happy_var_2
- )
-happyReduction_49 _ _ = notHappyAtAll
-
-happyReduce_50 = happySpecReduce_2 26# happyReduction_50
-happyReduction_50 _
- (HappyAbsSyn32 happy_var_1)
- = HappyAbsSyn26
- (Ext happy_var_1
- )
-happyReduction_50 _ _ = notHappyAtAll
-
-happyReduce_51 = happySpecReduce_0 26# happyReduction_51
-happyReduction_51 = HappyAbsSyn26
- (NoExt
- )
-
-happyReduce_52 = happySpecReduce_0 27# happyReduction_52
-happyReduction_52 = HappyAbsSyn27
- ([]
- )
-
-happyReduce_53 = happySpecReduce_1 27# happyReduction_53
-happyReduction_53 (HappyAbsSyn29 happy_var_1)
- = HappyAbsSyn27
- ((:[]) happy_var_1
- )
-happyReduction_53 _ = notHappyAtAll
-
-happyReduce_54 = happySpecReduce_3 27# happyReduction_54
-happyReduction_54 (HappyAbsSyn27 happy_var_3)
- _
- (HappyAbsSyn29 happy_var_1)
- = HappyAbsSyn27
- ((:) happy_var_1 happy_var_3
- )
-happyReduction_54 _ _ _ = notHappyAtAll
-
-happyReduce_55 = happySpecReduce_0 28# happyReduction_55
-happyReduction_55 = HappyAbsSyn28
- (NoOpens
- )
-
-happyReduce_56 = happySpecReduce_3 28# happyReduction_56
-happyReduction_56 _
- (HappyAbsSyn27 happy_var_2)
- _
- = HappyAbsSyn28
- (OpenIn happy_var_2
- )
-happyReduction_56 _ _ _ = notHappyAtAll
-
-happyReduce_57 = happySpecReduce_1 29# happyReduction_57
-happyReduction_57 (HappyAbsSyn12 happy_var_1)
- = HappyAbsSyn29
- (OName happy_var_1
- )
-happyReduction_57 _ = notHappyAtAll
-
-happyReduce_58 = happyReduce 4# 29# happyReduction_58
-happyReduction_58 (_ `HappyStk`
- (HappyAbsSyn12 happy_var_3) `HappyStk`
- (HappyAbsSyn31 happy_var_2) `HappyStk`
- _ `HappyStk`
- happyRest)
- = HappyAbsSyn29
- (OQualQO happy_var_2 happy_var_3
- ) `HappyStk` happyRest
-
-happyReduce_59 = happyReduce 6# 29# happyReduction_59
-happyReduction_59 (_ `HappyStk`
- (HappyAbsSyn12 happy_var_5) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn12 happy_var_3) `HappyStk`
- (HappyAbsSyn31 happy_var_2) `HappyStk`
- _ `HappyStk`
- happyRest)
- = HappyAbsSyn29
- (OQual happy_var_2 happy_var_3 happy_var_5
- ) `HappyStk` happyRest
-
-happyReduce_60 = happySpecReduce_0 30# happyReduction_60
-happyReduction_60 = HappyAbsSyn30
- (CMCompl
- )
-
-happyReduce_61 = happySpecReduce_1 30# happyReduction_61
-happyReduction_61 _
- = HappyAbsSyn30
- (CMIncompl
- )
-
-happyReduce_62 = happySpecReduce_0 31# happyReduction_62
-happyReduction_62 = HappyAbsSyn31
- (QOCompl
- )
-
-happyReduce_63 = happySpecReduce_1 31# happyReduction_63
-happyReduction_63 _
- = HappyAbsSyn31
- (QOIncompl
- )
-
-happyReduce_64 = happySpecReduce_1 31# happyReduction_64
-happyReduction_64 _
- = HappyAbsSyn31
- (QOInterface
- )
-
-happyReduce_65 = happySpecReduce_0 32# happyReduction_65
-happyReduction_65 = HappyAbsSyn32
- ([]
- )
-
-happyReduce_66 = happySpecReduce_1 32# happyReduction_66
-happyReduction_66 (HappyAbsSyn33 happy_var_1)
- = HappyAbsSyn32
- ((:[]) happy_var_1
- )
-happyReduction_66 _ = notHappyAtAll
-
-happyReduce_67 = happySpecReduce_3 32# happyReduction_67
-happyReduction_67 (HappyAbsSyn32 happy_var_3)
- _
- (HappyAbsSyn33 happy_var_1)
- = HappyAbsSyn32
- ((:) happy_var_1 happy_var_3
- )
-happyReduction_67 _ _ _ = notHappyAtAll
-
-happyReduce_68 = happySpecReduce_1 33# happyReduction_68
-happyReduction_68 (HappyAbsSyn12 happy_var_1)
- = HappyAbsSyn33
- (IAll happy_var_1
- )
-happyReduction_68 _ = notHappyAtAll
-
-happyReduce_69 = happyReduce 4# 33# happyReduction_69
-happyReduction_69 (_ `HappyStk`
- (HappyAbsSyn53 happy_var_3) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn12 happy_var_1) `HappyStk`
- happyRest)
- = HappyAbsSyn33
- (ISome happy_var_1 happy_var_3
- ) `HappyStk` happyRest
-
-happyReduce_70 = happyReduce 5# 33# happyReduction_70
-happyReduction_70 (_ `HappyStk`
- (HappyAbsSyn53 happy_var_4) `HappyStk`
- _ `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn12 happy_var_1) `HappyStk`
- happyRest)
- = HappyAbsSyn33
- (IMinus happy_var_1 happy_var_4
- ) `HappyStk` happyRest
-
-happyReduce_71 = happySpecReduce_3 34# happyReduction_71
-happyReduction_71 (HappyAbsSyn58 happy_var_3)
- _
- (HappyAbsSyn55 happy_var_1)
- = HappyAbsSyn34
- (DDecl happy_var_1 happy_var_3
- )
-happyReduction_71 _ _ _ = notHappyAtAll
-
-happyReduce_72 = happySpecReduce_3 34# happyReduction_72
-happyReduction_72 (HappyAbsSyn58 happy_var_3)
- _
- (HappyAbsSyn55 happy_var_1)
- = HappyAbsSyn34
- (DDef happy_var_1 happy_var_3
- )
-happyReduction_72 _ _ _ = notHappyAtAll
-
-happyReduce_73 = happyReduce 4# 34# happyReduction_73
-happyReduction_73 ((HappyAbsSyn58 happy_var_4) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn74 happy_var_2) `HappyStk`
- (HappyAbsSyn54 happy_var_1) `HappyStk`
- happyRest)
- = HappyAbsSyn34
- (DPatt happy_var_1 happy_var_2 happy_var_4
- ) `HappyStk` happyRest
-
-happyReduce_74 = happyReduce 5# 34# happyReduction_74
-happyReduction_74 ((HappyAbsSyn58 happy_var_5) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn58 happy_var_3) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn55 happy_var_1) `HappyStk`
- happyRest)
- = HappyAbsSyn34
- (DFull happy_var_1 happy_var_3 happy_var_5
- ) `HappyStk` happyRest
-
-happyReduce_75 = happySpecReduce_2 35# happyReduction_75
-happyReduction_75 (HappyAbsSyn46 happy_var_2)
- _
- = HappyAbsSyn35
- (DefCat happy_var_2
- )
-happyReduction_75 _ _ = notHappyAtAll
-
-happyReduce_76 = happySpecReduce_2 35# happyReduction_76
-happyReduction_76 (HappyAbsSyn47 happy_var_2)
- _
- = HappyAbsSyn35
- (DefFun happy_var_2
- )
-happyReduction_76 _ _ = notHappyAtAll
-
-happyReduce_77 = happySpecReduce_2 35# happyReduction_77
-happyReduction_77 (HappyAbsSyn47 happy_var_2)
- _
- = HappyAbsSyn35
- (DefFunData happy_var_2
- )
-happyReduction_77 _ _ = notHappyAtAll
-
-happyReduce_78 = happySpecReduce_2 35# happyReduction_78
-happyReduction_78 (HappyAbsSyn45 happy_var_2)
- _
- = HappyAbsSyn35
- (DefDef happy_var_2
- )
-happyReduction_78 _ _ = notHappyAtAll
-
-happyReduce_79 = happySpecReduce_2 35# happyReduction_79
-happyReduction_79 (HappyAbsSyn48 happy_var_2)
- _
- = HappyAbsSyn35
- (DefData happy_var_2
- )
-happyReduction_79 _ _ = notHappyAtAll
-
-happyReduce_80 = happySpecReduce_2 35# happyReduction_80
-happyReduction_80 (HappyAbsSyn45 happy_var_2)
- _
- = HappyAbsSyn35
- (DefTrans happy_var_2
- )
-happyReduction_80 _ _ = notHappyAtAll
-
-happyReduce_81 = happySpecReduce_2 35# happyReduction_81
-happyReduction_81 (HappyAbsSyn49 happy_var_2)
- _
- = HappyAbsSyn35
- (DefPar happy_var_2
- )
-happyReduction_81 _ _ = notHappyAtAll
-
-happyReduce_82 = happySpecReduce_2 35# happyReduction_82
-happyReduction_82 (HappyAbsSyn45 happy_var_2)
- _
- = HappyAbsSyn35
- (DefOper happy_var_2
- )
-happyReduction_82 _ _ = notHappyAtAll
-
-happyReduce_83 = happySpecReduce_2 35# happyReduction_83
-happyReduction_83 (HappyAbsSyn50 happy_var_2)
- _
- = HappyAbsSyn35
- (DefLincat happy_var_2
- )
-happyReduction_83 _ _ = notHappyAtAll
-
-happyReduce_84 = happySpecReduce_2 35# happyReduction_84
-happyReduction_84 (HappyAbsSyn45 happy_var_2)
- _
- = HappyAbsSyn35
- (DefLindef happy_var_2
- )
-happyReduction_84 _ _ = notHappyAtAll
-
-happyReduce_85 = happySpecReduce_2 35# happyReduction_85
-happyReduction_85 (HappyAbsSyn45 happy_var_2)
- _
- = HappyAbsSyn35
- (DefLin happy_var_2
- )
-happyReduction_85 _ _ = notHappyAtAll
-
-happyReduce_86 = happySpecReduce_3 35# happyReduction_86
-happyReduction_86 (HappyAbsSyn50 happy_var_3)
- _
- _
- = HappyAbsSyn35
- (DefPrintCat happy_var_3
- )
-happyReduction_86 _ _ _ = notHappyAtAll
-
-happyReduce_87 = happySpecReduce_3 35# happyReduction_87
-happyReduction_87 (HappyAbsSyn50 happy_var_3)
- _
- _
- = HappyAbsSyn35
- (DefPrintFun happy_var_3
- )
-happyReduction_87 _ _ _ = notHappyAtAll
-
-happyReduce_88 = happySpecReduce_2 35# happyReduction_88
-happyReduction_88 (HappyAbsSyn51 happy_var_2)
- _
- = HappyAbsSyn35
- (DefFlag happy_var_2
- )
-happyReduction_88 _ _ = notHappyAtAll
-
-happyReduce_89 = happySpecReduce_2 35# happyReduction_89
-happyReduction_89 (HappyAbsSyn50 happy_var_2)
- _
- = HappyAbsSyn35
- (DefPrintOld happy_var_2
- )
-happyReduction_89 _ _ = notHappyAtAll
-
-happyReduce_90 = happySpecReduce_2 35# happyReduction_90
-happyReduction_90 (HappyAbsSyn45 happy_var_2)
- _
- = HappyAbsSyn35
- (DefLintype happy_var_2
- )
-happyReduction_90 _ _ = notHappyAtAll
-
-happyReduce_91 = happySpecReduce_2 35# happyReduction_91
-happyReduction_91 (HappyAbsSyn45 happy_var_2)
- _
- = HappyAbsSyn35
- (DefPattern happy_var_2
- )
-happyReduction_91 _ _ = notHappyAtAll
-
-happyReduce_92 = happyReduce 7# 35# happyReduction_92
-happyReduction_92 (_ `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn25 happy_var_5) `HappyStk`
- _ `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn12 happy_var_2) `HappyStk`
- _ `HappyStk`
- happyRest)
- = HappyAbsSyn35
- (DefPackage happy_var_2 (reverse happy_var_5)
- ) `HappyStk` happyRest
-
-happyReduce_93 = happySpecReduce_2 35# happyReduction_93
-happyReduction_93 (HappyAbsSyn45 happy_var_2)
- _
- = HappyAbsSyn35
- (DefVars happy_var_2
- )
-happyReduction_93 _ _ = notHappyAtAll
-
-happyReduce_94 = happySpecReduce_3 35# happyReduction_94
-happyReduction_94 _
- (HappyAbsSyn12 happy_var_2)
- _
- = HappyAbsSyn35
- (DefTokenizer happy_var_2
- )
-happyReduction_94 _ _ _ = notHappyAtAll
-
-happyReduce_95 = happySpecReduce_2 36# happyReduction_95
-happyReduction_95 (HappyAbsSyn89 happy_var_2)
- (HappyAbsSyn12 happy_var_1)
- = HappyAbsSyn36
- (SimpleCatDef happy_var_1 (reverse happy_var_2)
- )
-happyReduction_95 _ _ = notHappyAtAll
-
-happyReduce_96 = happyReduce 4# 36# happyReduction_96
-happyReduction_96 (_ `HappyStk`
- (HappyAbsSyn89 happy_var_3) `HappyStk`
- (HappyAbsSyn12 happy_var_2) `HappyStk`
- _ `HappyStk`
- happyRest)
- = HappyAbsSyn36
- (ListCatDef happy_var_2 (reverse happy_var_3)
- ) `HappyStk` happyRest
-
-happyReduce_97 = happyReduce 7# 36# happyReduction_97
-happyReduction_97 (_ `HappyStk`
- (HappyAbsSyn8 happy_var_6) `HappyStk`
- _ `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn89 happy_var_3) `HappyStk`
- (HappyAbsSyn12 happy_var_2) `HappyStk`
- _ `HappyStk`
- happyRest)
- = HappyAbsSyn36
- (ListSizeCatDef happy_var_2 (reverse happy_var_3) happy_var_6
- ) `HappyStk` happyRest
-
-happyReduce_98 = happySpecReduce_3 37# happyReduction_98
-happyReduction_98 (HappyAbsSyn58 happy_var_3)
- _
- (HappyAbsSyn53 happy_var_1)
- = HappyAbsSyn37
- (FunDef happy_var_1 happy_var_3
- )
-happyReduction_98 _ _ _ = notHappyAtAll
-
-happyReduce_99 = happySpecReduce_3 38# happyReduction_99
-happyReduction_99 (HappyAbsSyn40 happy_var_3)
- _
- (HappyAbsSyn12 happy_var_1)
- = HappyAbsSyn38
- (DataDef happy_var_1 happy_var_3
- )
-happyReduction_99 _ _ _ = notHappyAtAll
-
-happyReduce_100 = happySpecReduce_1 39# happyReduction_100
-happyReduction_100 (HappyAbsSyn12 happy_var_1)
- = HappyAbsSyn39
- (DataId happy_var_1
- )
-happyReduction_100 _ = notHappyAtAll
-
-happyReduce_101 = happySpecReduce_3 39# happyReduction_101
-happyReduction_101 (HappyAbsSyn12 happy_var_3)
- _
- (HappyAbsSyn12 happy_var_1)
- = HappyAbsSyn39
- (DataQId happy_var_1 happy_var_3
- )
-happyReduction_101 _ _ _ = notHappyAtAll
-
-happyReduce_102 = happySpecReduce_0 40# happyReduction_102
-happyReduction_102 = HappyAbsSyn40
- ([]
- )
-
-happyReduce_103 = happySpecReduce_1 40# happyReduction_103
-happyReduction_103 (HappyAbsSyn39 happy_var_1)
- = HappyAbsSyn40
- ((:[]) happy_var_1
- )
-happyReduction_103 _ = notHappyAtAll
-
-happyReduce_104 = happySpecReduce_3 40# happyReduction_104
-happyReduction_104 (HappyAbsSyn40 happy_var_3)
- _
- (HappyAbsSyn39 happy_var_1)
- = HappyAbsSyn40
- ((:) happy_var_1 happy_var_3
- )
-happyReduction_104 _ _ _ = notHappyAtAll
-
-happyReduce_105 = happySpecReduce_3 41# happyReduction_105
-happyReduction_105 (HappyAbsSyn52 happy_var_3)
- _
- (HappyAbsSyn12 happy_var_1)
- = HappyAbsSyn41
- (ParDefDir happy_var_1 happy_var_3
- )
-happyReduction_105 _ _ _ = notHappyAtAll
-
-happyReduce_106 = happyReduce 6# 41# happyReduction_106
-happyReduction_106 (_ `HappyStk`
- (HappyAbsSyn12 happy_var_5) `HappyStk`
- _ `HappyStk`
- _ `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn12 happy_var_1) `HappyStk`
- happyRest)
- = HappyAbsSyn41
- (ParDefIndir happy_var_1 happy_var_5
- ) `HappyStk` happyRest
-
-happyReduce_107 = happySpecReduce_1 41# happyReduction_107
-happyReduction_107 (HappyAbsSyn12 happy_var_1)
- = HappyAbsSyn41
- (ParDefAbs happy_var_1
- )
-happyReduction_107 _ = notHappyAtAll
-
-happyReduce_108 = happySpecReduce_2 42# happyReduction_108
-happyReduction_108 (HappyAbsSyn89 happy_var_2)
- (HappyAbsSyn12 happy_var_1)
- = HappyAbsSyn42
- (ParConstr happy_var_1 (reverse happy_var_2)
- )
-happyReduction_108 _ _ = notHappyAtAll
-
-happyReduce_109 = happySpecReduce_3 43# happyReduction_109
-happyReduction_109 (HappyAbsSyn58 happy_var_3)
- _
- (HappyAbsSyn55 happy_var_1)
- = HappyAbsSyn43
- (PrintDef happy_var_1 happy_var_3
- )
-happyReduction_109 _ _ _ = notHappyAtAll
-
-happyReduce_110 = happySpecReduce_3 44# happyReduction_110
-happyReduction_110 (HappyAbsSyn12 happy_var_3)
- _
- (HappyAbsSyn12 happy_var_1)
- = HappyAbsSyn44
- (FlagDef happy_var_1 happy_var_3
- )
-happyReduction_110 _ _ _ = notHappyAtAll
-
-happyReduce_111 = happySpecReduce_2 45# happyReduction_111
-happyReduction_111 _
- (HappyAbsSyn34 happy_var_1)
- = HappyAbsSyn45
- ((:[]) happy_var_1
- )
-happyReduction_111 _ _ = notHappyAtAll
-
-happyReduce_112 = happySpecReduce_3 45# happyReduction_112
-happyReduction_112 (HappyAbsSyn45 happy_var_3)
- _
- (HappyAbsSyn34 happy_var_1)
- = HappyAbsSyn45
- ((:) happy_var_1 happy_var_3
- )
-happyReduction_112 _ _ _ = notHappyAtAll
-
-happyReduce_113 = happySpecReduce_2 46# happyReduction_113
-happyReduction_113 _
- (HappyAbsSyn36 happy_var_1)
- = HappyAbsSyn46
- ((:[]) happy_var_1
- )
-happyReduction_113 _ _ = notHappyAtAll
-
-happyReduce_114 = happySpecReduce_3 46# happyReduction_114
-happyReduction_114 (HappyAbsSyn46 happy_var_3)
- _
- (HappyAbsSyn36 happy_var_1)
- = HappyAbsSyn46
- ((:) happy_var_1 happy_var_3
- )
-happyReduction_114 _ _ _ = notHappyAtAll
-
-happyReduce_115 = happySpecReduce_2 47# happyReduction_115
-happyReduction_115 _
- (HappyAbsSyn37 happy_var_1)
- = HappyAbsSyn47
- ((:[]) happy_var_1
- )
-happyReduction_115 _ _ = notHappyAtAll
-
-happyReduce_116 = happySpecReduce_3 47# happyReduction_116
-happyReduction_116 (HappyAbsSyn47 happy_var_3)
- _
- (HappyAbsSyn37 happy_var_1)
- = HappyAbsSyn47
- ((:) happy_var_1 happy_var_3
- )
-happyReduction_116 _ _ _ = notHappyAtAll
-
-happyReduce_117 = happySpecReduce_2 48# happyReduction_117
-happyReduction_117 _
- (HappyAbsSyn38 happy_var_1)
- = HappyAbsSyn48
- ((:[]) happy_var_1
- )
-happyReduction_117 _ _ = notHappyAtAll
-
-happyReduce_118 = happySpecReduce_3 48# happyReduction_118
-happyReduction_118 (HappyAbsSyn48 happy_var_3)
- _
- (HappyAbsSyn38 happy_var_1)
- = HappyAbsSyn48
- ((:) happy_var_1 happy_var_3
- )
-happyReduction_118 _ _ _ = notHappyAtAll
-
-happyReduce_119 = happySpecReduce_2 49# happyReduction_119
-happyReduction_119 _
- (HappyAbsSyn41 happy_var_1)
- = HappyAbsSyn49
- ((:[]) happy_var_1
- )
-happyReduction_119 _ _ = notHappyAtAll
-
-happyReduce_120 = happySpecReduce_3 49# happyReduction_120
-happyReduction_120 (HappyAbsSyn49 happy_var_3)
- _
- (HappyAbsSyn41 happy_var_1)
- = HappyAbsSyn49
- ((:) happy_var_1 happy_var_3
- )
-happyReduction_120 _ _ _ = notHappyAtAll
-
-happyReduce_121 = happySpecReduce_2 50# happyReduction_121
-happyReduction_121 _
- (HappyAbsSyn43 happy_var_1)
- = HappyAbsSyn50
- ((:[]) happy_var_1
- )
-happyReduction_121 _ _ = notHappyAtAll
-
-happyReduce_122 = happySpecReduce_3 50# happyReduction_122
-happyReduction_122 (HappyAbsSyn50 happy_var_3)
- _
- (HappyAbsSyn43 happy_var_1)
- = HappyAbsSyn50
- ((:) happy_var_1 happy_var_3
- )
-happyReduction_122 _ _ _ = notHappyAtAll
-
-happyReduce_123 = happySpecReduce_2 51# happyReduction_123
-happyReduction_123 _
- (HappyAbsSyn44 happy_var_1)
- = HappyAbsSyn51
- ((:[]) happy_var_1
- )
-happyReduction_123 _ _ = notHappyAtAll
-
-happyReduce_124 = happySpecReduce_3 51# happyReduction_124
-happyReduction_124 (HappyAbsSyn51 happy_var_3)
- _
- (HappyAbsSyn44 happy_var_1)
- = HappyAbsSyn51
- ((:) happy_var_1 happy_var_3
- )
-happyReduction_124 _ _ _ = notHappyAtAll
-
-happyReduce_125 = happySpecReduce_0 52# happyReduction_125
-happyReduction_125 = HappyAbsSyn52
- ([]
- )
-
-happyReduce_126 = happySpecReduce_1 52# happyReduction_126
-happyReduction_126 (HappyAbsSyn42 happy_var_1)
- = HappyAbsSyn52
- ((:[]) happy_var_1
- )
-happyReduction_126 _ = notHappyAtAll
-
-happyReduce_127 = happySpecReduce_3 52# happyReduction_127
-happyReduction_127 (HappyAbsSyn52 happy_var_3)
- _
- (HappyAbsSyn42 happy_var_1)
- = HappyAbsSyn52
- ((:) happy_var_1 happy_var_3
- )
-happyReduction_127 _ _ _ = notHappyAtAll
-
-happyReduce_128 = happySpecReduce_1 53# happyReduction_128
-happyReduction_128 (HappyAbsSyn12 happy_var_1)
- = HappyAbsSyn53
- ((:[]) happy_var_1
- )
-happyReduction_128 _ = notHappyAtAll
-
-happyReduce_129 = happySpecReduce_3 53# happyReduction_129
-happyReduction_129 (HappyAbsSyn53 happy_var_3)
- _
- (HappyAbsSyn12 happy_var_1)
- = HappyAbsSyn53
- ((:) happy_var_1 happy_var_3
- )
-happyReduction_129 _ _ _ = notHappyAtAll
-
-happyReduce_130 = happySpecReduce_1 54# happyReduction_130
-happyReduction_130 (HappyAbsSyn12 happy_var_1)
- = HappyAbsSyn54
- (IdentName happy_var_1
- )
-happyReduction_130 _ = notHappyAtAll
-
-happyReduce_131 = happySpecReduce_3 54# happyReduction_131
-happyReduction_131 _
- (HappyAbsSyn12 happy_var_2)
- _
- = HappyAbsSyn54
- (ListName happy_var_2
- )
-happyReduction_131 _ _ _ = notHappyAtAll
-
-happyReduce_132 = happySpecReduce_1 55# happyReduction_132
-happyReduction_132 (HappyAbsSyn54 happy_var_1)
- = HappyAbsSyn55
- ((:[]) happy_var_1
- )
-happyReduction_132 _ = notHappyAtAll
-
-happyReduce_133 = happySpecReduce_3 55# happyReduction_133
-happyReduction_133 (HappyAbsSyn55 happy_var_3)
- _
- (HappyAbsSyn54 happy_var_1)
- = HappyAbsSyn55
- ((:) happy_var_1 happy_var_3
- )
-happyReduction_133 _ _ _ = notHappyAtAll
-
-happyReduce_134 = happySpecReduce_3 56# happyReduction_134
-happyReduction_134 (HappyAbsSyn58 happy_var_3)
- _
- (HappyAbsSyn53 happy_var_1)
- = HappyAbsSyn56
- (LDDecl happy_var_1 happy_var_3
- )
-happyReduction_134 _ _ _ = notHappyAtAll
-
-happyReduce_135 = happySpecReduce_3 56# happyReduction_135
-happyReduction_135 (HappyAbsSyn58 happy_var_3)
- _
- (HappyAbsSyn53 happy_var_1)
- = HappyAbsSyn56
- (LDDef happy_var_1 happy_var_3
- )
-happyReduction_135 _ _ _ = notHappyAtAll
-
-happyReduce_136 = happyReduce 5# 56# happyReduction_136
-happyReduction_136 ((HappyAbsSyn58 happy_var_5) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn58 happy_var_3) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn53 happy_var_1) `HappyStk`
- happyRest)
- = HappyAbsSyn56
- (LDFull happy_var_1 happy_var_3 happy_var_5
- ) `HappyStk` happyRest
-
-happyReduce_137 = happySpecReduce_0 57# happyReduction_137
-happyReduction_137 = HappyAbsSyn57
- ([]
- )
-
-happyReduce_138 = happySpecReduce_1 57# happyReduction_138
-happyReduction_138 (HappyAbsSyn56 happy_var_1)
- = HappyAbsSyn57
- ((:[]) happy_var_1
- )
-happyReduction_138 _ = notHappyAtAll
-
-happyReduce_139 = happySpecReduce_3 57# happyReduction_139
-happyReduction_139 (HappyAbsSyn57 happy_var_3)
- _
- (HappyAbsSyn56 happy_var_1)
- = HappyAbsSyn57
- ((:) happy_var_1 happy_var_3
- )
-happyReduction_139 _ _ _ = notHappyAtAll
-
-happyReduce_140 = happySpecReduce_1 58# happyReduction_140
-happyReduction_140 (HappyAbsSyn12 happy_var_1)
- = HappyAbsSyn58
- (EIdent happy_var_1
- )
-happyReduction_140 _ = notHappyAtAll
-
-happyReduce_141 = happySpecReduce_3 58# happyReduction_141
-happyReduction_141 _
- (HappyAbsSyn12 happy_var_2)
- _
- = HappyAbsSyn58
- (EConstr happy_var_2
- )
-happyReduction_141 _ _ _ = notHappyAtAll
-
-happyReduce_142 = happySpecReduce_3 58# happyReduction_142
-happyReduction_142 _
- (HappyAbsSyn12 happy_var_2)
- _
- = HappyAbsSyn58
- (ECons happy_var_2
- )
-happyReduction_142 _ _ _ = notHappyAtAll
-
-happyReduce_143 = happySpecReduce_1 58# happyReduction_143
-happyReduction_143 (HappyAbsSyn72 happy_var_1)
- = HappyAbsSyn58
- (ESort happy_var_1
- )
-happyReduction_143 _ = notHappyAtAll
-
-happyReduce_144 = happySpecReduce_1 58# happyReduction_144
-happyReduction_144 (HappyAbsSyn9 happy_var_1)
- = HappyAbsSyn58
- (EString happy_var_1
- )
-happyReduction_144 _ = notHappyAtAll
-
-happyReduce_145 = happySpecReduce_1 58# happyReduction_145
-happyReduction_145 (HappyAbsSyn8 happy_var_1)
- = HappyAbsSyn58
- (EInt happy_var_1
- )
-happyReduction_145 _ = notHappyAtAll
-
-happyReduce_146 = happySpecReduce_1 58# happyReduction_146
-happyReduction_146 (HappyAbsSyn10 happy_var_1)
- = HappyAbsSyn58
- (EFloat happy_var_1
- )
-happyReduction_146 _ = notHappyAtAll
-
-happyReduce_147 = happySpecReduce_1 58# happyReduction_147
-happyReduction_147 _
- = HappyAbsSyn58
- (EMeta
- )
-
-happyReduce_148 = happySpecReduce_2 58# happyReduction_148
-happyReduction_148 _
- _
- = HappyAbsSyn58
- (EEmpty
- )
-
-happyReduce_149 = happySpecReduce_1 58# happyReduction_149
-happyReduction_149 _
- = HappyAbsSyn58
- (EData
- )
-
-happyReduce_150 = happyReduce 4# 58# happyReduction_150
-happyReduction_150 (_ `HappyStk`
- (HappyAbsSyn66 happy_var_3) `HappyStk`
- (HappyAbsSyn12 happy_var_2) `HappyStk`
- _ `HappyStk`
- happyRest)
- = HappyAbsSyn58
- (EList happy_var_2 happy_var_3
- ) `HappyStk` happyRest
-
-happyReduce_151 = happySpecReduce_3 58# happyReduction_151
-happyReduction_151 _
- (HappyAbsSyn9 happy_var_2)
- _
- = HappyAbsSyn58
- (EStrings happy_var_2
- )
-happyReduction_151 _ _ _ = notHappyAtAll
-
-happyReduce_152 = happySpecReduce_3 58# happyReduction_152
-happyReduction_152 _
- (HappyAbsSyn57 happy_var_2)
- _
- = HappyAbsSyn58
- (ERecord happy_var_2
- )
-happyReduction_152 _ _ _ = notHappyAtAll
-
-happyReduce_153 = happySpecReduce_3 58# happyReduction_153
-happyReduction_153 _
- (HappyAbsSyn80 happy_var_2)
- _
- = HappyAbsSyn58
- (ETuple happy_var_2
- )
-happyReduction_153 _ _ _ = notHappyAtAll
-
-happyReduce_154 = happyReduce 4# 58# happyReduction_154
-happyReduction_154 (_ `HappyStk`
- (HappyAbsSyn12 happy_var_3) `HappyStk`
- _ `HappyStk`
- _ `HappyStk`
- happyRest)
- = HappyAbsSyn58
- (EIndir happy_var_3
- ) `HappyStk` happyRest
-
-happyReduce_155 = happyReduce 5# 58# happyReduction_155
-happyReduction_155 (_ `HappyStk`
- (HappyAbsSyn58 happy_var_4) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn58 happy_var_2) `HappyStk`
- _ `HappyStk`
- happyRest)
- = HappyAbsSyn58
- (ETyped happy_var_2 happy_var_4
- ) `HappyStk` happyRest
-
-happyReduce_156 = happySpecReduce_3 58# happyReduction_156
-happyReduction_156 _
- (HappyAbsSyn58 happy_var_2)
- _
- = HappyAbsSyn58
- (happy_var_2
- )
-happyReduction_156 _ _ _ = notHappyAtAll
-
-happyReduce_157 = happySpecReduce_1 58# happyReduction_157
-happyReduction_157 (HappyAbsSyn11 happy_var_1)
- = HappyAbsSyn58
- (ELString happy_var_1
- )
-happyReduction_157 _ = notHappyAtAll
-
-happyReduce_158 = happySpecReduce_3 59# happyReduction_158
-happyReduction_158 (HappyAbsSyn71 happy_var_3)
- _
- (HappyAbsSyn58 happy_var_1)
- = HappyAbsSyn58
- (EProj happy_var_1 happy_var_3
- )
-happyReduction_158 _ _ _ = notHappyAtAll
-
-happyReduce_159 = happyReduce 5# 59# happyReduction_159
-happyReduction_159 (_ `HappyStk`
- (HappyAbsSyn12 happy_var_4) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn12 happy_var_2) `HappyStk`
- _ `HappyStk`
- happyRest)
- = HappyAbsSyn58
- (EQConstr happy_var_2 happy_var_4
- ) `HappyStk` happyRest
-
-happyReduce_160 = happyReduce 4# 59# happyReduction_160
-happyReduction_160 ((HappyAbsSyn12 happy_var_4) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn12 happy_var_2) `HappyStk`
- _ `HappyStk`
- happyRest)
- = HappyAbsSyn58
- (EQCons happy_var_2 happy_var_4
- ) `HappyStk` happyRest
-
-happyReduce_161 = happySpecReduce_1 59# happyReduction_161
-happyReduction_161 (HappyAbsSyn58 happy_var_1)
- = HappyAbsSyn58
- (happy_var_1
- )
-happyReduction_161 _ = notHappyAtAll
-
-happyReduce_162 = happySpecReduce_2 60# happyReduction_162
-happyReduction_162 (HappyAbsSyn58 happy_var_2)
- (HappyAbsSyn58 happy_var_1)
- = HappyAbsSyn58
- (EApp happy_var_1 happy_var_2
- )
-happyReduction_162 _ _ = notHappyAtAll
-
-happyReduce_163 = happyReduce 4# 60# happyReduction_163
-happyReduction_163 (_ `HappyStk`
- (HappyAbsSyn83 happy_var_3) `HappyStk`
- _ `HappyStk`
- _ `HappyStk`
- happyRest)
- = HappyAbsSyn58
- (ETable happy_var_3
- ) `HappyStk` happyRest
-
-happyReduce_164 = happyReduce 5# 60# happyReduction_164
-happyReduction_164 (_ `HappyStk`
- (HappyAbsSyn83 happy_var_4) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn58 happy_var_2) `HappyStk`
- _ `HappyStk`
- happyRest)
- = HappyAbsSyn58
- (ETTable happy_var_2 happy_var_4
- ) `HappyStk` happyRest
-
-happyReduce_165 = happyReduce 5# 60# happyReduction_165
-happyReduction_165 (_ `HappyStk`
- (HappyAbsSyn65 happy_var_4) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn58 happy_var_2) `HappyStk`
- _ `HappyStk`
- happyRest)
- = HappyAbsSyn58
- (EVTable happy_var_2 happy_var_4
- ) `HappyStk` happyRest
-
-happyReduce_166 = happyReduce 6# 60# happyReduction_166
-happyReduction_166 (_ `HappyStk`
- (HappyAbsSyn83 happy_var_5) `HappyStk`
- _ `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn58 happy_var_2) `HappyStk`
- _ `HappyStk`
- happyRest)
- = HappyAbsSyn58
- (ECase happy_var_2 happy_var_5
- ) `HappyStk` happyRest
-
-happyReduce_167 = happyReduce 4# 60# happyReduction_167
-happyReduction_167 (_ `HappyStk`
- (HappyAbsSyn65 happy_var_3) `HappyStk`
- _ `HappyStk`
- _ `HappyStk`
- happyRest)
- = HappyAbsSyn58
- (EVariants happy_var_3
- ) `HappyStk` happyRest
-
-happyReduce_168 = happyReduce 6# 60# happyReduction_168
-happyReduction_168 (_ `HappyStk`
- (HappyAbsSyn87 happy_var_5) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn58 happy_var_3) `HappyStk`
- _ `HappyStk`
- _ `HappyStk`
- happyRest)
- = HappyAbsSyn58
- (EPre happy_var_3 happy_var_5
- ) `HappyStk` happyRest
-
-happyReduce_169 = happyReduce 4# 60# happyReduction_169
-happyReduction_169 (_ `HappyStk`
- (HappyAbsSyn65 happy_var_3) `HappyStk`
- _ `HappyStk`
- _ `HappyStk`
- happyRest)
- = HappyAbsSyn58
- (EStrs happy_var_3
- ) `HappyStk` happyRest
-
-happyReduce_170 = happySpecReduce_3 60# happyReduction_170
-happyReduction_170 (HappyAbsSyn58 happy_var_3)
- _
- (HappyAbsSyn12 happy_var_1)
- = HappyAbsSyn58
- (EConAt happy_var_1 happy_var_3
- )
-happyReduction_170 _ _ _ = notHappyAtAll
-
-happyReduce_171 = happySpecReduce_2 60# happyReduction_171
-happyReduction_171 (HappyAbsSyn67 happy_var_2)
- _
- = HappyAbsSyn58
- (EPatt happy_var_2
- )
-happyReduction_171 _ _ = notHappyAtAll
-
-happyReduce_172 = happySpecReduce_2 60# happyReduction_172
-happyReduction_172 (HappyAbsSyn58 happy_var_2)
- _
- = HappyAbsSyn58
- (EPattType happy_var_2
- )
-happyReduction_172 _ _ = notHappyAtAll
-
-happyReduce_173 = happySpecReduce_1 60# happyReduction_173
-happyReduction_173 (HappyAbsSyn58 happy_var_1)
- = HappyAbsSyn58
- (happy_var_1
- )
-happyReduction_173 _ = notHappyAtAll
-
-happyReduce_174 = happySpecReduce_2 60# happyReduction_174
-happyReduction_174 (HappyAbsSyn12 happy_var_2)
- _
- = HappyAbsSyn58
- (ELin happy_var_2
- )
-happyReduction_174 _ _ = notHappyAtAll
-
-happyReduce_175 = happySpecReduce_3 61# happyReduction_175
-happyReduction_175 (HappyAbsSyn58 happy_var_3)
- _
- (HappyAbsSyn58 happy_var_1)
- = HappyAbsSyn58
- (ESelect happy_var_1 happy_var_3
- )
-happyReduction_175 _ _ _ = notHappyAtAll
-
-happyReduce_176 = happySpecReduce_3 61# happyReduction_176
-happyReduction_176 (HappyAbsSyn58 happy_var_3)
- _
- (HappyAbsSyn58 happy_var_1)
- = HappyAbsSyn58
- (ETupTyp happy_var_1 happy_var_3
- )
-happyReduction_176 _ _ _ = notHappyAtAll
-
-happyReduce_177 = happySpecReduce_3 61# happyReduction_177
-happyReduction_177 (HappyAbsSyn58 happy_var_3)
- _
- (HappyAbsSyn58 happy_var_1)
- = HappyAbsSyn58
- (EExtend happy_var_1 happy_var_3
- )
-happyReduction_177 _ _ _ = notHappyAtAll
-
-happyReduce_178 = happySpecReduce_1 61# happyReduction_178
-happyReduction_178 (HappyAbsSyn58 happy_var_1)
- = HappyAbsSyn58
- (happy_var_1
- )
-happyReduction_178 _ = notHappyAtAll
-
-happyReduce_179 = happySpecReduce_3 62# happyReduction_179
-happyReduction_179 (HappyAbsSyn58 happy_var_3)
- _
- (HappyAbsSyn58 happy_var_1)
- = HappyAbsSyn58
- (EGlue happy_var_1 happy_var_3
- )
-happyReduction_179 _ _ _ = notHappyAtAll
-
-happyReduce_180 = happySpecReduce_1 62# happyReduction_180
-happyReduction_180 (HappyAbsSyn58 happy_var_1)
- = HappyAbsSyn58
- (happy_var_1
- )
-happyReduction_180 _ = notHappyAtAll
-
-happyReduce_181 = happySpecReduce_3 63# happyReduction_181
-happyReduction_181 (HappyAbsSyn58 happy_var_3)
- _
- (HappyAbsSyn58 happy_var_1)
- = HappyAbsSyn58
- (EConcat happy_var_1 happy_var_3
- )
-happyReduction_181 _ _ _ = notHappyAtAll
-
-happyReduce_182 = happyReduce 4# 63# happyReduction_182
-happyReduction_182 ((HappyAbsSyn58 happy_var_4) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn76 happy_var_2) `HappyStk`
- _ `HappyStk`
- happyRest)
- = HappyAbsSyn58
- (EAbstr happy_var_2 happy_var_4
- ) `HappyStk` happyRest
-
-happyReduce_183 = happyReduce 5# 63# happyReduction_183
-happyReduction_183 ((HappyAbsSyn58 happy_var_5) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn76 happy_var_3) `HappyStk`
- _ `HappyStk`
- _ `HappyStk`
- happyRest)
- = HappyAbsSyn58
- (ECTable happy_var_3 happy_var_5
- ) `HappyStk` happyRest
-
-happyReduce_184 = happySpecReduce_3 63# happyReduction_184
-happyReduction_184 (HappyAbsSyn58 happy_var_3)
- _
- (HappyAbsSyn77 happy_var_1)
- = HappyAbsSyn58
- (EProd happy_var_1 happy_var_3
- )
-happyReduction_184 _ _ _ = notHappyAtAll
-
-happyReduce_185 = happySpecReduce_3 63# happyReduction_185
-happyReduction_185 (HappyAbsSyn58 happy_var_3)
- _
- (HappyAbsSyn58 happy_var_1)
- = HappyAbsSyn58
- (ETType happy_var_1 happy_var_3
- )
-happyReduction_185 _ _ _ = notHappyAtAll
-
-happyReduce_186 = happyReduce 6# 63# happyReduction_186
-happyReduction_186 ((HappyAbsSyn58 happy_var_6) `HappyStk`
- _ `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn57 happy_var_3) `HappyStk`
- _ `HappyStk`
- _ `HappyStk`
- happyRest)
- = HappyAbsSyn58
- (ELet happy_var_3 happy_var_6
- ) `HappyStk` happyRest
-
-happyReduce_187 = happyReduce 4# 63# happyReduction_187
-happyReduction_187 ((HappyAbsSyn58 happy_var_4) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn57 happy_var_2) `HappyStk`
- _ `HappyStk`
- happyRest)
- = HappyAbsSyn58
- (ELetb happy_var_2 happy_var_4
- ) `HappyStk` happyRest
-
-happyReduce_188 = happyReduce 5# 63# happyReduction_188
-happyReduction_188 (_ `HappyStk`
- (HappyAbsSyn57 happy_var_4) `HappyStk`
- _ `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn58 happy_var_1) `HappyStk`
- happyRest)
- = HappyAbsSyn58
- (EWhere happy_var_1 happy_var_4
- ) `HappyStk` happyRest
-
-happyReduce_189 = happyReduce 4# 63# happyReduction_189
-happyReduction_189 (_ `HappyStk`
- (HappyAbsSyn85 happy_var_3) `HappyStk`
- _ `HappyStk`
- _ `HappyStk`
- happyRest)
- = HappyAbsSyn58
- (EEqs happy_var_3
- ) `HappyStk` happyRest
-
-happyReduce_190 = happySpecReduce_3 63# happyReduction_190
-happyReduction_190 (HappyAbsSyn9 happy_var_3)
- (HappyAbsSyn58 happy_var_2)
- _
- = HappyAbsSyn58
- (EExample happy_var_2 happy_var_3
- )
-happyReduction_190 _ _ _ = notHappyAtAll
-
-happyReduce_191 = happySpecReduce_1 63# happyReduction_191
-happyReduction_191 (HappyAbsSyn58 happy_var_1)
- = HappyAbsSyn58
- (happy_var_1
- )
-happyReduction_191 _ = notHappyAtAll
-
-happyReduce_192 = happySpecReduce_1 64# happyReduction_192
-happyReduction_192 (HappyAbsSyn58 happy_var_1)
- = HappyAbsSyn58
- (happy_var_1
- )
-happyReduction_192 _ = notHappyAtAll
-
-happyReduce_193 = happySpecReduce_0 65# happyReduction_193
-happyReduction_193 = HappyAbsSyn65
- ([]
- )
-
-happyReduce_194 = happySpecReduce_1 65# happyReduction_194
-happyReduction_194 (HappyAbsSyn58 happy_var_1)
- = HappyAbsSyn65
- ((:[]) happy_var_1
- )
-happyReduction_194 _ = notHappyAtAll
-
-happyReduce_195 = happySpecReduce_3 65# happyReduction_195
-happyReduction_195 (HappyAbsSyn65 happy_var_3)
- _
- (HappyAbsSyn58 happy_var_1)
- = HappyAbsSyn65
- ((:) happy_var_1 happy_var_3
- )
-happyReduction_195 _ _ _ = notHappyAtAll
-
-happyReduce_196 = happySpecReduce_0 66# happyReduction_196
-happyReduction_196 = HappyAbsSyn66
- (NilExp
- )
-
-happyReduce_197 = happySpecReduce_2 66# happyReduction_197
-happyReduction_197 (HappyAbsSyn66 happy_var_2)
- (HappyAbsSyn58 happy_var_1)
- = HappyAbsSyn66
- (ConsExp happy_var_1 happy_var_2
- )
-happyReduction_197 _ _ = notHappyAtAll
-
-happyReduce_198 = happySpecReduce_1 67# happyReduction_198
-happyReduction_198 _
- = HappyAbsSyn67
- (PChar
- )
-
-happyReduce_199 = happySpecReduce_3 67# happyReduction_199
-happyReduction_199 _
- (HappyAbsSyn9 happy_var_2)
- _
- = HappyAbsSyn67
- (PChars happy_var_2
- )
-happyReduction_199 _ _ _ = notHappyAtAll
-
-happyReduce_200 = happySpecReduce_2 67# happyReduction_200
-happyReduction_200 (HappyAbsSyn12 happy_var_2)
- _
- = HappyAbsSyn67
- (PMacro happy_var_2
- )
-happyReduction_200 _ _ = notHappyAtAll
-
-happyReduce_201 = happyReduce 4# 67# happyReduction_201
-happyReduction_201 ((HappyAbsSyn12 happy_var_4) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn12 happy_var_2) `HappyStk`
- _ `HappyStk`
- happyRest)
- = HappyAbsSyn67
- (PM happy_var_2 happy_var_4
- ) `HappyStk` happyRest
-
-happyReduce_202 = happySpecReduce_1 67# happyReduction_202
-happyReduction_202 _
- = HappyAbsSyn67
- (PW
- )
-
-happyReduce_203 = happySpecReduce_1 67# happyReduction_203
-happyReduction_203 (HappyAbsSyn12 happy_var_1)
- = HappyAbsSyn67
- (PV happy_var_1
- )
-happyReduction_203 _ = notHappyAtAll
-
-happyReduce_204 = happySpecReduce_3 67# happyReduction_204
-happyReduction_204 _
- (HappyAbsSyn12 happy_var_2)
- _
- = HappyAbsSyn67
- (PCon happy_var_2
- )
-happyReduction_204 _ _ _ = notHappyAtAll
-
-happyReduce_205 = happySpecReduce_3 67# happyReduction_205
-happyReduction_205 (HappyAbsSyn12 happy_var_3)
- _
- (HappyAbsSyn12 happy_var_1)
- = HappyAbsSyn67
- (PQ happy_var_1 happy_var_3
- )
-happyReduction_205 _ _ _ = notHappyAtAll
-
-happyReduce_206 = happySpecReduce_1 67# happyReduction_206
-happyReduction_206 (HappyAbsSyn8 happy_var_1)
- = HappyAbsSyn67
- (PInt happy_var_1
- )
-happyReduction_206 _ = notHappyAtAll
-
-happyReduce_207 = happySpecReduce_1 67# happyReduction_207
-happyReduction_207 (HappyAbsSyn10 happy_var_1)
- = HappyAbsSyn67
- (PFloat happy_var_1
- )
-happyReduction_207 _ = notHappyAtAll
-
-happyReduce_208 = happySpecReduce_1 67# happyReduction_208
-happyReduction_208 (HappyAbsSyn9 happy_var_1)
- = HappyAbsSyn67
- (PStr happy_var_1
- )
-happyReduction_208 _ = notHappyAtAll
-
-happyReduce_209 = happySpecReduce_3 67# happyReduction_209
-happyReduction_209 _
- (HappyAbsSyn73 happy_var_2)
- _
- = HappyAbsSyn67
- (PR happy_var_2
- )
-happyReduction_209 _ _ _ = notHappyAtAll
-
-happyReduce_210 = happySpecReduce_3 67# happyReduction_210
-happyReduction_210 _
- (HappyAbsSyn81 happy_var_2)
- _
- = HappyAbsSyn67
- (PTup happy_var_2
- )
-happyReduction_210 _ _ _ = notHappyAtAll
-
-happyReduce_211 = happySpecReduce_3 67# happyReduction_211
-happyReduction_211 _
- (HappyAbsSyn67 happy_var_2)
- _
- = HappyAbsSyn67
- (happy_var_2
- )
-happyReduction_211 _ _ _ = notHappyAtAll
-
-happyReduce_212 = happySpecReduce_2 68# happyReduction_212
-happyReduction_212 (HappyAbsSyn74 happy_var_2)
- (HappyAbsSyn12 happy_var_1)
- = HappyAbsSyn67
- (PC happy_var_1 happy_var_2
- )
-happyReduction_212 _ _ = notHappyAtAll
-
-happyReduce_213 = happyReduce 4# 68# happyReduction_213
-happyReduction_213 ((HappyAbsSyn74 happy_var_4) `HappyStk`
- (HappyAbsSyn12 happy_var_3) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn12 happy_var_1) `HappyStk`
- happyRest)
- = HappyAbsSyn67
- (PQC happy_var_1 happy_var_3 happy_var_4
- ) `HappyStk` happyRest
-
-happyReduce_214 = happySpecReduce_2 68# happyReduction_214
-happyReduction_214 _
- (HappyAbsSyn67 happy_var_1)
- = HappyAbsSyn67
- (PRep happy_var_1
- )
-happyReduction_214 _ _ = notHappyAtAll
-
-happyReduce_215 = happySpecReduce_3 68# happyReduction_215
-happyReduction_215 (HappyAbsSyn67 happy_var_3)
- _
- (HappyAbsSyn12 happy_var_1)
- = HappyAbsSyn67
- (PAs happy_var_1 happy_var_3
- )
-happyReduction_215 _ _ _ = notHappyAtAll
-
-happyReduce_216 = happySpecReduce_2 68# happyReduction_216
-happyReduction_216 (HappyAbsSyn67 happy_var_2)
- _
- = HappyAbsSyn67
- (PNeg happy_var_2
- )
-happyReduction_216 _ _ = notHappyAtAll
-
-happyReduce_217 = happySpecReduce_1 68# happyReduction_217
-happyReduction_217 (HappyAbsSyn67 happy_var_1)
- = HappyAbsSyn67
- (happy_var_1
- )
-happyReduction_217 _ = notHappyAtAll
-
-happyReduce_218 = happySpecReduce_3 69# happyReduction_218
-happyReduction_218 (HappyAbsSyn67 happy_var_3)
- _
- (HappyAbsSyn67 happy_var_1)
- = HappyAbsSyn67
- (PDisj happy_var_1 happy_var_3
- )
-happyReduction_218 _ _ _ = notHappyAtAll
-
-happyReduce_219 = happySpecReduce_3 69# happyReduction_219
-happyReduction_219 (HappyAbsSyn67 happy_var_3)
- _
- (HappyAbsSyn67 happy_var_1)
- = HappyAbsSyn67
- (PSeq happy_var_1 happy_var_3
- )
-happyReduction_219 _ _ _ = notHappyAtAll
-
-happyReduce_220 = happySpecReduce_1 69# happyReduction_220
-happyReduction_220 (HappyAbsSyn67 happy_var_1)
- = HappyAbsSyn67
- (happy_var_1
- )
-happyReduction_220 _ = notHappyAtAll
-
-happyReduce_221 = happySpecReduce_3 70# happyReduction_221
-happyReduction_221 (HappyAbsSyn67 happy_var_3)
- _
- (HappyAbsSyn53 happy_var_1)
- = HappyAbsSyn70
- (PA happy_var_1 happy_var_3
- )
-happyReduction_221 _ _ _ = notHappyAtAll
-
-happyReduce_222 = happySpecReduce_1 71# happyReduction_222
-happyReduction_222 (HappyAbsSyn12 happy_var_1)
- = HappyAbsSyn71
- (LIdent happy_var_1
- )
-happyReduction_222 _ = notHappyAtAll
-
-happyReduce_223 = happySpecReduce_2 71# happyReduction_223
-happyReduction_223 (HappyAbsSyn8 happy_var_2)
- _
- = HappyAbsSyn71
- (LVar happy_var_2
- )
-happyReduction_223 _ _ = notHappyAtAll
-
-happyReduce_224 = happySpecReduce_1 72# happyReduction_224
-happyReduction_224 _
- = HappyAbsSyn72
- (Sort_Type
- )
-
-happyReduce_225 = happySpecReduce_1 72# happyReduction_225
-happyReduction_225 _
- = HappyAbsSyn72
- (Sort_PType
- )
-
-happyReduce_226 = happySpecReduce_1 72# happyReduction_226
-happyReduction_226 _
- = HappyAbsSyn72
- (Sort_Tok
- )
-
-happyReduce_227 = happySpecReduce_1 72# happyReduction_227
-happyReduction_227 _
- = HappyAbsSyn72
- (Sort_Str
- )
-
-happyReduce_228 = happySpecReduce_1 72# happyReduction_228
-happyReduction_228 _
- = HappyAbsSyn72
- (Sort_Strs
- )
-
-happyReduce_229 = happySpecReduce_0 73# happyReduction_229
-happyReduction_229 = HappyAbsSyn73
- ([]
- )
-
-happyReduce_230 = happySpecReduce_1 73# happyReduction_230
-happyReduction_230 (HappyAbsSyn70 happy_var_1)
- = HappyAbsSyn73
- ((:[]) happy_var_1
- )
-happyReduction_230 _ = notHappyAtAll
-
-happyReduce_231 = happySpecReduce_3 73# happyReduction_231
-happyReduction_231 (HappyAbsSyn73 happy_var_3)
- _
- (HappyAbsSyn70 happy_var_1)
- = HappyAbsSyn73
- ((:) happy_var_1 happy_var_3
- )
-happyReduction_231 _ _ _ = notHappyAtAll
-
-happyReduce_232 = happySpecReduce_1 74# happyReduction_232
-happyReduction_232 (HappyAbsSyn67 happy_var_1)
- = HappyAbsSyn74
- ((:[]) happy_var_1
- )
-happyReduction_232 _ = notHappyAtAll
-
-happyReduce_233 = happySpecReduce_2 74# happyReduction_233
-happyReduction_233 (HappyAbsSyn74 happy_var_2)
- (HappyAbsSyn67 happy_var_1)
- = HappyAbsSyn74
- ((:) happy_var_1 happy_var_2
- )
-happyReduction_233 _ _ = notHappyAtAll
-
-happyReduce_234 = happySpecReduce_1 75# happyReduction_234
-happyReduction_234 (HappyAbsSyn12 happy_var_1)
- = HappyAbsSyn75
- (BIdent happy_var_1
- )
-happyReduction_234 _ = notHappyAtAll
-
-happyReduce_235 = happySpecReduce_1 75# happyReduction_235
-happyReduction_235 _
- = HappyAbsSyn75
- (BWild
- )
-
-happyReduce_236 = happySpecReduce_0 76# happyReduction_236
-happyReduction_236 = HappyAbsSyn76
- ([]
- )
-
-happyReduce_237 = happySpecReduce_1 76# happyReduction_237
-happyReduction_237 (HappyAbsSyn75 happy_var_1)
- = HappyAbsSyn76
- ((:[]) happy_var_1
- )
-happyReduction_237 _ = notHappyAtAll
-
-happyReduce_238 = happySpecReduce_3 76# happyReduction_238
-happyReduction_238 (HappyAbsSyn76 happy_var_3)
- _
- (HappyAbsSyn75 happy_var_1)
- = HappyAbsSyn76
- ((:) happy_var_1 happy_var_3
- )
-happyReduction_238 _ _ _ = notHappyAtAll
-
-happyReduce_239 = happyReduce 5# 77# happyReduction_239
-happyReduction_239 (_ `HappyStk`
- (HappyAbsSyn58 happy_var_4) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn76 happy_var_2) `HappyStk`
- _ `HappyStk`
- happyRest)
- = HappyAbsSyn77
- (DDec happy_var_2 happy_var_4
- ) `HappyStk` happyRest
-
-happyReduce_240 = happySpecReduce_1 77# happyReduction_240
-happyReduction_240 (HappyAbsSyn58 happy_var_1)
- = HappyAbsSyn77
- (DExp happy_var_1
- )
-happyReduction_240 _ = notHappyAtAll
-
-happyReduce_241 = happySpecReduce_1 78# happyReduction_241
-happyReduction_241 (HappyAbsSyn58 happy_var_1)
- = HappyAbsSyn78
- (TComp happy_var_1
- )
-happyReduction_241 _ = notHappyAtAll
-
-happyReduce_242 = happySpecReduce_1 79# happyReduction_242
-happyReduction_242 (HappyAbsSyn67 happy_var_1)
- = HappyAbsSyn79
- (PTComp happy_var_1
- )
-happyReduction_242 _ = notHappyAtAll
-
-happyReduce_243 = happySpecReduce_0 80# happyReduction_243
-happyReduction_243 = HappyAbsSyn80
- ([]
- )
-
-happyReduce_244 = happySpecReduce_1 80# happyReduction_244
-happyReduction_244 (HappyAbsSyn78 happy_var_1)
- = HappyAbsSyn80
- ((:[]) happy_var_1
- )
-happyReduction_244 _ = notHappyAtAll
-
-happyReduce_245 = happySpecReduce_3 80# happyReduction_245
-happyReduction_245 (HappyAbsSyn80 happy_var_3)
- _
- (HappyAbsSyn78 happy_var_1)
- = HappyAbsSyn80
- ((:) happy_var_1 happy_var_3
- )
-happyReduction_245 _ _ _ = notHappyAtAll
-
-happyReduce_246 = happySpecReduce_0 81# happyReduction_246
-happyReduction_246 = HappyAbsSyn81
- ([]
- )
-
-happyReduce_247 = happySpecReduce_1 81# happyReduction_247
-happyReduction_247 (HappyAbsSyn79 happy_var_1)
- = HappyAbsSyn81
- ((:[]) happy_var_1
- )
-happyReduction_247 _ = notHappyAtAll
-
-happyReduce_248 = happySpecReduce_3 81# happyReduction_248
-happyReduction_248 (HappyAbsSyn81 happy_var_3)
- _
- (HappyAbsSyn79 happy_var_1)
- = HappyAbsSyn81
- ((:) happy_var_1 happy_var_3
- )
-happyReduction_248 _ _ _ = notHappyAtAll
-
-happyReduce_249 = happySpecReduce_3 82# happyReduction_249
-happyReduction_249 (HappyAbsSyn58 happy_var_3)
- _
- (HappyAbsSyn67 happy_var_1)
- = HappyAbsSyn82
- (Case happy_var_1 happy_var_3
- )
-happyReduction_249 _ _ _ = notHappyAtAll
-
-happyReduce_250 = happySpecReduce_1 83# happyReduction_250
-happyReduction_250 (HappyAbsSyn82 happy_var_1)
- = HappyAbsSyn83
- ((:[]) happy_var_1
- )
-happyReduction_250 _ = notHappyAtAll
-
-happyReduce_251 = happySpecReduce_3 83# happyReduction_251
-happyReduction_251 (HappyAbsSyn83 happy_var_3)
- _
- (HappyAbsSyn82 happy_var_1)
- = HappyAbsSyn83
- ((:) happy_var_1 happy_var_3
- )
-happyReduction_251 _ _ _ = notHappyAtAll
-
-happyReduce_252 = happySpecReduce_3 84# happyReduction_252
-happyReduction_252 (HappyAbsSyn58 happy_var_3)
- _
- (HappyAbsSyn74 happy_var_1)
- = HappyAbsSyn84
- (Equ happy_var_1 happy_var_3
- )
-happyReduction_252 _ _ _ = notHappyAtAll
-
-happyReduce_253 = happySpecReduce_0 85# happyReduction_253
-happyReduction_253 = HappyAbsSyn85
- ([]
- )
-
-happyReduce_254 = happySpecReduce_1 85# happyReduction_254
-happyReduction_254 (HappyAbsSyn84 happy_var_1)
- = HappyAbsSyn85
- ((:[]) happy_var_1
- )
-happyReduction_254 _ = notHappyAtAll
-
-happyReduce_255 = happySpecReduce_3 85# happyReduction_255
-happyReduction_255 (HappyAbsSyn85 happy_var_3)
- _
- (HappyAbsSyn84 happy_var_1)
- = HappyAbsSyn85
- ((:) happy_var_1 happy_var_3
- )
-happyReduction_255 _ _ _ = notHappyAtAll
-
-happyReduce_256 = happySpecReduce_3 86# happyReduction_256
-happyReduction_256 (HappyAbsSyn58 happy_var_3)
- _
- (HappyAbsSyn58 happy_var_1)
- = HappyAbsSyn86
- (Alt happy_var_1 happy_var_3
- )
-happyReduction_256 _ _ _ = notHappyAtAll
-
-happyReduce_257 = happySpecReduce_0 87# happyReduction_257
-happyReduction_257 = HappyAbsSyn87
- ([]
- )
-
-happyReduce_258 = happySpecReduce_1 87# happyReduction_258
-happyReduction_258 (HappyAbsSyn86 happy_var_1)
- = HappyAbsSyn87
- ((:[]) happy_var_1
- )
-happyReduction_258 _ = notHappyAtAll
-
-happyReduce_259 = happySpecReduce_3 87# happyReduction_259
-happyReduction_259 (HappyAbsSyn87 happy_var_3)
- _
- (HappyAbsSyn86 happy_var_1)
- = HappyAbsSyn87
- ((:) happy_var_1 happy_var_3
- )
-happyReduction_259 _ _ _ = notHappyAtAll
-
-happyReduce_260 = happyReduce 5# 88# happyReduction_260
-happyReduction_260 (_ `HappyStk`
- (HappyAbsSyn58 happy_var_4) `HappyStk`
- _ `HappyStk`
- (HappyAbsSyn76 happy_var_2) `HappyStk`
- _ `HappyStk`
- happyRest)
- = HappyAbsSyn88
- (DDDec happy_var_2 happy_var_4
- ) `HappyStk` happyRest
-
-happyReduce_261 = happySpecReduce_1 88# happyReduction_261
-happyReduction_261 (HappyAbsSyn58 happy_var_1)
- = HappyAbsSyn88
- (DDExp happy_var_1
- )
-happyReduction_261 _ = notHappyAtAll
-
-happyReduce_262 = happySpecReduce_0 89# happyReduction_262
-happyReduction_262 = HappyAbsSyn89
- ([]
- )
-
-happyReduce_263 = happySpecReduce_2 89# happyReduction_263
-happyReduction_263 (HappyAbsSyn88 happy_var_2)
- (HappyAbsSyn89 happy_var_1)
- = HappyAbsSyn89
- (flip (:) happy_var_1 happy_var_2
- )
-happyReduction_263 _ _ = notHappyAtAll
-
-happyReduce_264 = happySpecReduce_2 90# happyReduction_264
-happyReduction_264 (HappyAbsSyn25 happy_var_2)
- (HappyAbsSyn91 happy_var_1)
- = HappyAbsSyn90
- (OldGr happy_var_1 (reverse happy_var_2)
- )
-happyReduction_264 _ _ = notHappyAtAll
-
-happyReduce_265 = happySpecReduce_0 91# happyReduction_265
-happyReduction_265 = HappyAbsSyn91
- (NoIncl
- )
-
-happyReduce_266 = happySpecReduce_2 91# happyReduction_266
-happyReduction_266 (HappyAbsSyn93 happy_var_2)
- _
- = HappyAbsSyn91
- (Incl happy_var_2
- )
-happyReduction_266 _ _ = notHappyAtAll
-
-happyReduce_267 = happySpecReduce_1 92# happyReduction_267
-happyReduction_267 (HappyAbsSyn9 happy_var_1)
- = HappyAbsSyn92
- (FString happy_var_1
- )
-happyReduction_267 _ = notHappyAtAll
-
-happyReduce_268 = happySpecReduce_1 92# happyReduction_268
-happyReduction_268 (HappyAbsSyn12 happy_var_1)
- = HappyAbsSyn92
- (FIdent happy_var_1
- )
-happyReduction_268 _ = notHappyAtAll
-
-happyReduce_269 = happySpecReduce_2 92# happyReduction_269
-happyReduction_269 (HappyAbsSyn92 happy_var_2)
- _
- = HappyAbsSyn92
- (FSlash happy_var_2
- )
-happyReduction_269 _ _ = notHappyAtAll
-
-happyReduce_270 = happySpecReduce_2 92# happyReduction_270
-happyReduction_270 (HappyAbsSyn92 happy_var_2)
- _
- = HappyAbsSyn92
- (FDot happy_var_2
- )
-happyReduction_270 _ _ = notHappyAtAll
-
-happyReduce_271 = happySpecReduce_2 92# happyReduction_271
-happyReduction_271 (HappyAbsSyn92 happy_var_2)
- _
- = HappyAbsSyn92
- (FMinus happy_var_2
- )
-happyReduction_271 _ _ = notHappyAtAll
-
-happyReduce_272 = happySpecReduce_2 92# happyReduction_272
-happyReduction_272 (HappyAbsSyn92 happy_var_2)
- (HappyAbsSyn12 happy_var_1)
- = HappyAbsSyn92
- (FAddId happy_var_1 happy_var_2
- )
-happyReduction_272 _ _ = notHappyAtAll
-
-happyReduce_273 = happySpecReduce_2 93# happyReduction_273
-happyReduction_273 _
- (HappyAbsSyn92 happy_var_1)
- = HappyAbsSyn93
- ((:[]) happy_var_1
- )
-happyReduction_273 _ _ = notHappyAtAll
-
-happyReduce_274 = happySpecReduce_3 93# happyReduction_274
-happyReduction_274 (HappyAbsSyn93 happy_var_3)
- _
- (HappyAbsSyn92 happy_var_1)
- = HappyAbsSyn93
- ((:) happy_var_1 happy_var_3
- )
-happyReduction_274 _ _ _ = notHappyAtAll
-
-happyNewToken action sts stk [] =
- action 176# 176# notHappyAtAll (HappyState action) sts stk []
-
-happyNewToken action sts stk (tk:tks) =
- let cont i = action i i tk (HappyState action) sts stk tks in
- case tk of {
- PT _ (TS _ 1) -> cont 94#;
- PT _ (TS _ 2) -> cont 95#;
- PT _ (TS _ 3) -> cont 96#;
- PT _ (TS _ 4) -> cont 97#;
- PT _ (TS _ 5) -> cont 98#;
- PT _ (TS _ 6) -> cont 99#;
- PT _ (TS _ 7) -> cont 100#;
- PT _ (TS _ 8) -> cont 101#;
- PT _ (TS _ 9) -> cont 102#;
- PT _ (TS _ 10) -> cont 103#;
- PT _ (TS _ 11) -> cont 104#;
- PT _ (TS _ 12) -> cont 105#;
- PT _ (TS _ 13) -> cont 106#;
- PT _ (TS _ 14) -> cont 107#;
- PT _ (TS _ 15) -> cont 108#;
- PT _ (TS _ 16) -> cont 109#;
- PT _ (TS _ 17) -> cont 110#;
- PT _ (TS _ 18) -> cont 111#;
- PT _ (TS _ 19) -> cont 112#;
- PT _ (TS _ 20) -> cont 113#;
- PT _ (TS _ 21) -> cont 114#;
- PT _ (TS _ 22) -> cont 115#;
- PT _ (TS _ 23) -> cont 116#;
- PT _ (TS _ 24) -> cont 117#;
- PT _ (TS _ 25) -> cont 118#;
- PT _ (TS _ 26) -> cont 119#;
- PT _ (TS _ 27) -> cont 120#;
- PT _ (TS _ 28) -> cont 121#;
- PT _ (TS _ 29) -> cont 122#;
- PT _ (TS _ 30) -> cont 123#;
- PT _ (TS _ 31) -> cont 124#;
- PT _ (TS _ 32) -> cont 125#;
- PT _ (TS _ 33) -> cont 126#;
- PT _ (TS _ 34) -> cont 127#;
- PT _ (TS _ 35) -> cont 128#;
- PT _ (TS _ 36) -> cont 129#;
- PT _ (TS _ 37) -> cont 130#;
- PT _ (TS _ 38) -> cont 131#;
- PT _ (TS _ 39) -> cont 132#;
- PT _ (TS _ 40) -> cont 133#;
- PT _ (TS _ 41) -> cont 134#;
- PT _ (TS _ 42) -> cont 135#;
- PT _ (TS _ 43) -> cont 136#;
- PT _ (TS _ 44) -> cont 137#;
- PT _ (TS _ 45) -> cont 138#;
- PT _ (TS _ 46) -> cont 139#;
- PT _ (TS _ 47) -> cont 140#;
- PT _ (TS _ 48) -> cont 141#;
- PT _ (TS _ 49) -> cont 142#;
- PT _ (TS _ 50) -> cont 143#;
- PT _ (TS _ 51) -> cont 144#;
- PT _ (TS _ 52) -> cont 145#;
- PT _ (TS _ 53) -> cont 146#;
- PT _ (TS _ 54) -> cont 147#;
- PT _ (TS _ 55) -> cont 148#;
- PT _ (TS _ 56) -> cont 149#;
- PT _ (TS _ 57) -> cont 150#;
- PT _ (TS _ 58) -> cont 151#;
- PT _ (TS _ 59) -> cont 152#;
- PT _ (TS _ 60) -> cont 153#;
- PT _ (TS _ 61) -> cont 154#;
- PT _ (TS _ 62) -> cont 155#;
- PT _ (TS _ 63) -> cont 156#;
- PT _ (TS _ 64) -> cont 157#;
- PT _ (TS _ 65) -> cont 158#;
- PT _ (TS _ 66) -> cont 159#;
- PT _ (TS _ 67) -> cont 160#;
- PT _ (TS _ 68) -> cont 161#;
- PT _ (TS _ 69) -> cont 162#;
- PT _ (TS _ 70) -> cont 163#;
- PT _ (TS _ 71) -> cont 164#;
- PT _ (TS _ 72) -> cont 165#;
- PT _ (TS _ 73) -> cont 166#;
- PT _ (TS _ 74) -> cont 167#;
- PT _ (TS _ 75) -> cont 168#;
- PT _ (TS _ 76) -> cont 169#;
- PT _ (TI happy_dollar_dollar) -> cont 170#;
- PT _ (TL happy_dollar_dollar) -> cont 171#;
- PT _ (TD happy_dollar_dollar) -> cont 172#;
- PT _ (T_LString happy_dollar_dollar) -> cont 173#;
- PT _ (T_PIdent _) -> cont 174#;
- _ -> cont 175#;
- _ -> happyError' (tk:tks)
- }
-
-happyError_ tk tks = happyError' (tk:tks)
-
-happyThen :: () => Err a -> (a -> Err b) -> Err b
-happyThen = (thenM)
-happyReturn :: () => a -> Err a
-happyReturn = (returnM)
-happyThen1 m k tks = (thenM) m (\a -> k a tks)
-happyReturn1 :: () => a -> b -> Err a
-happyReturn1 = \a tks -> (returnM) a
-happyError' :: () => [Token] -> Err a
-happyError' = happyError
-
-pGrammar tks = happySomeParser where
- happySomeParser = happyThen (happyParse action_0 tks) (\x -> case x of {HappyAbsSyn13 z -> happyReturn z; _other -> notHappyAtAll })
-
-pModDef tks = happySomeParser where
- happySomeParser = happyThen (happyParse action_1 tks) (\x -> case x of {HappyAbsSyn15 z -> happyReturn z; _other -> notHappyAtAll })
-
-pOldGrammar tks = happySomeParser where
- happySomeParser = happyThen (happyParse action_2 tks) (\x -> case x of {HappyAbsSyn90 z -> happyReturn z; _other -> notHappyAtAll })
-
-pModHeader tks = happySomeParser where
- happySomeParser = happyThen (happyParse action_3 tks) (\x -> case x of {HappyAbsSyn15 z -> happyReturn z; _other -> notHappyAtAll })
-
-pExp tks = happySomeParser where
- happySomeParser = happyThen (happyParse action_4 tks) (\x -> case x of {HappyAbsSyn58 z -> happyReturn z; _other -> notHappyAtAll })
-
-happySeq = happyDontSeq
-
-
-returnM :: a -> Err a
-returnM = return
-
-thenM :: Err a -> (a -> Err b) -> Err b
-thenM = (>>=)
-
-happyError :: [Token] -> Err a
-happyError ts =
- Bad $ "syntax error at " ++ tokenPos ts ++
- case ts of
- [] -> []
- [Err _] -> " due to lexer error"
- _ -> " before " ++ unwords (map (BS.unpack . prToken) (take 4 ts))
-
-myLexer = tokens
-{-# LINE 1 "templates/GenericTemplate.hs" #-}
-{-# LINE 1 "templates/GenericTemplate.hs" #-}
-{-# LINE 1 "<built-in>" #-}
-{-# LINE 1 "<command line>" #-}
-{-# LINE 1 "templates/GenericTemplate.hs" #-}
--- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp
-
-{-# LINE 28 "templates/GenericTemplate.hs" #-}
-
-
-
-
-
-
-
-
-{-# LINE 49 "templates/GenericTemplate.hs" #-}
-
-{-# LINE 59 "templates/GenericTemplate.hs" #-}
-
-{-# LINE 68 "templates/GenericTemplate.hs" #-}
-
-infixr 9 `HappyStk`
-data HappyStk a = HappyStk a (HappyStk a)
-
------------------------------------------------------------------------------
--- starting the parse
-
-happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll
-
------------------------------------------------------------------------------
--- Accepting the parse
-
--- If the current token is 1#, it means we've just accepted a partial
--- parse (a %partial parser). We must ignore the saved token on the top of
--- the stack in this case.
-happyAccept 1# tk st sts (_ `HappyStk` ans `HappyStk` _) =
- happyReturn1 ans
-happyAccept j tk st sts (HappyStk ans _) =
- (happyTcHack j ) (happyReturn1 ans)
-
------------------------------------------------------------------------------
--- Arrays only: do the next action
-
-{-# LINE 155 "templates/GenericTemplate.hs" #-}
-
------------------------------------------------------------------------------
--- HappyState data type (not arrays)
-
-
-
-newtype HappyState b c = HappyState
- (Int# -> -- token number
- Int# -> -- token number (yes, again)
- b -> -- token semantic value
- HappyState b c -> -- current state
- [HappyState b c] -> -- state stack
- c)
-
-
-
------------------------------------------------------------------------------
--- Shifting a token
-
-happyShift new_state 1# tk st sts stk@(x `HappyStk` _) =
- let i = (case x of { HappyErrorToken (I# (i)) -> i }) in
--- trace "shifting the error token" $
- new_state i i tk (HappyState (new_state)) ((st):(sts)) (stk)
-
-happyShift new_state i tk st sts stk =
- happyNewToken new_state ((st):(sts)) ((HappyTerminal (tk))`HappyStk`stk)
-
--- happyReduce is specialised for the common cases.
-
-happySpecReduce_0 i fn 1# tk st sts stk
- = happyFail 1# tk st sts stk
-happySpecReduce_0 nt fn j tk st@((HappyState (action))) sts stk
- = action nt j tk st ((st):(sts)) (fn `HappyStk` stk)
-
-happySpecReduce_1 i fn 1# tk st sts stk
- = happyFail 1# tk st sts stk
-happySpecReduce_1 nt fn j tk _ sts@(((st@(HappyState (action))):(_))) (v1`HappyStk`stk')
- = let r = fn v1 in
- happySeq r (action nt j tk st sts (r `HappyStk` stk'))
-
-happySpecReduce_2 i fn 1# tk st sts stk
- = happyFail 1# tk st sts stk
-happySpecReduce_2 nt fn j tk _ ((_):(sts@(((st@(HappyState (action))):(_))))) (v1`HappyStk`v2`HappyStk`stk')
- = let r = fn v1 v2 in
- happySeq r (action nt j tk st sts (r `HappyStk` stk'))
-
-happySpecReduce_3 i fn 1# tk st sts stk
- = happyFail 1# tk st sts stk
-happySpecReduce_3 nt fn j tk _ ((_):(((_):(sts@(((st@(HappyState (action))):(_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk')
- = let r = fn v1 v2 v3 in
- happySeq r (action nt j tk st sts (r `HappyStk` stk'))
-
-happyReduce k i fn 1# tk st sts stk
- = happyFail 1# tk st sts stk
-happyReduce k nt fn j tk st sts stk
- = case happyDrop (k -# (1# :: Int#)) sts of
- sts1@(((st1@(HappyState (action))):(_))) ->
- let r = fn stk in -- it doesn't hurt to always seq here...
- happyDoSeq r (action nt j tk st1 sts1 r)
-
-happyMonadReduce k nt fn 1# tk st sts stk
- = happyFail 1# tk st sts stk
-happyMonadReduce k nt fn j tk st sts stk =
- happyThen1 (fn stk tk) (\r -> action nt j tk st1 sts1 (r `HappyStk` drop_stk))
- where sts1@(((st1@(HappyState (action))):(_))) = happyDrop k ((st):(sts))
- drop_stk = happyDropStk k stk
-
-happyMonad2Reduce k nt fn 1# tk st sts stk
- = happyFail 1# tk st sts stk
-happyMonad2Reduce k nt fn j tk st sts stk =
- happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))
- where sts1@(((st1@(HappyState (action))):(_))) = happyDrop k ((st):(sts))
- drop_stk = happyDropStk k stk
-
-
-
-
-
- new_state = action
-
-
-happyDrop 0# l = l
-happyDrop n ((_):(t)) = happyDrop (n -# (1# :: Int#)) t
-
-happyDropStk 0# l = l
-happyDropStk n (x `HappyStk` xs) = happyDropStk (n -# (1#::Int#)) xs
-
------------------------------------------------------------------------------
--- Moving to a new state after a reduction
-
-{-# LINE 253 "templates/GenericTemplate.hs" #-}
-happyGoto action j tk st = action j j tk (HappyState action)
-
-
------------------------------------------------------------------------------
--- Error recovery (1# is the error token)
-
--- parse error if we are in recovery and we fail again
-happyFail 1# tk old_st _ stk =
--- trace "failing" $
- happyError_ tk
-
-{- We don't need state discarding for our restricted implementation of
- "error". In fact, it can cause some bogus parses, so I've disabled it
- for now --SDM
-
--- discard a state
-happyFail 1# tk old_st (((HappyState (action))):(sts))
- (saved_tok `HappyStk` _ `HappyStk` stk) =
--- trace ("discarding state, depth " ++ show (length stk)) $
- action 1# 1# tk (HappyState (action)) sts ((saved_tok`HappyStk`stk))
--}
-
--- Enter error recovery: generate an error token,
--- save the old token and carry on.
-happyFail i tk (HappyState (action)) sts stk =
--- trace "entering error recovery" $
- action 1# 1# tk (HappyState (action)) sts ( (HappyErrorToken (I# (i))) `HappyStk` stk)
-
--- Internal happy errors:
-
-notHappyAtAll = error "Internal Happy error\n"
-
------------------------------------------------------------------------------
--- Hack to get the typechecker to accept our action functions
-
-
-happyTcHack :: Int# -> a -> a
-happyTcHack x y = y
-{-# INLINE happyTcHack #-}
-
-
------------------------------------------------------------------------------
--- Seq-ing. If the --strict flag is given, then Happy emits
--- happySeq = happyDoSeq
--- otherwise it emits
--- happySeq = happyDontSeq
-
-happyDoSeq, happyDontSeq :: a -> b -> b
-happyDoSeq a b = a `seq` b
-happyDontSeq a b = b
-
------------------------------------------------------------------------------
--- Don't inline any functions from the template. GHC has a nasty habit
--- of deciding to inline happyGoto everywhere, which increases the size of
--- the generated parser quite a bit.
-
-{-# LINE 317 "templates/GenericTemplate.hs" #-}
-{-# NOINLINE happyShift #-}
-{-# NOINLINE happySpecReduce_0 #-}
-{-# NOINLINE happySpecReduce_1 #-}
-{-# NOINLINE happySpecReduce_2 #-}
-{-# NOINLINE happySpecReduce_3 #-}
-{-# NOINLINE happyReduce #-}
-{-# NOINLINE happyMonadReduce #-}
-{-# NOINLINE happyGoto #-}
-{-# NOINLINE happyFail #-}
-
--- end of Happy Template.
+{-# OPTIONS -fglasgow-exts -cpp #-} +{-# OPTIONS -fno-warn-incomplete-patterns -fno-warn-overlapping-patterns #-} +module GF.Source.ParGF where +import GF.Source.AbsGF +import GF.Source.LexGF +import GF.Data.ErrM +import qualified Data.ByteString.Char8 as BS +#if __GLASGOW_HASKELL__ >= 503 +import GHC.Exts +#else +import GlaExts +#endif + +-- parser produced by Happy Version 1.17 + +data HappyAbsSyn + = HappyTerminal Token + | HappyErrorToken Int + | HappyAbsSyn8 (Integer) + | HappyAbsSyn9 (String) + | HappyAbsSyn10 (Double) + | HappyAbsSyn11 (LString) + | HappyAbsSyn12 (PIdent) + | HappyAbsSyn13 (Grammar) + | HappyAbsSyn14 ([ModDef]) + | HappyAbsSyn15 (ModDef) + | HappyAbsSyn16 (ConcSpec) + | HappyAbsSyn17 ([ConcSpec]) + | HappyAbsSyn18 (ConcExp) + | HappyAbsSyn19 ([Transfer]) + | HappyAbsSyn20 (Transfer) + | HappyAbsSyn22 (ModBody) + | HappyAbsSyn23 (ModType) + | HappyAbsSyn25 ([TopDef]) + | HappyAbsSyn26 (Extend) + | HappyAbsSyn27 ([Open]) + | HappyAbsSyn28 (Opens) + | HappyAbsSyn29 (Open) + | HappyAbsSyn30 (ComplMod) + | HappyAbsSyn31 (QualOpen) + | HappyAbsSyn32 ([Included]) + | HappyAbsSyn33 (Included) + | HappyAbsSyn34 (Def) + | HappyAbsSyn35 (TopDef) + | HappyAbsSyn36 (CatDef) + | HappyAbsSyn37 (FunDef) + | HappyAbsSyn38 (DataDef) + | HappyAbsSyn39 (DataConstr) + | HappyAbsSyn40 ([DataConstr]) + | HappyAbsSyn41 (ParDef) + | HappyAbsSyn42 (ParConstr) + | HappyAbsSyn43 (PrintDef) + | HappyAbsSyn44 (FlagDef) + | HappyAbsSyn45 ([Def]) + | HappyAbsSyn46 ([CatDef]) + | HappyAbsSyn47 ([FunDef]) + | HappyAbsSyn48 ([DataDef]) + | HappyAbsSyn49 ([ParDef]) + | HappyAbsSyn50 ([PrintDef]) + | HappyAbsSyn51 ([FlagDef]) + | HappyAbsSyn52 ([ParConstr]) + | HappyAbsSyn53 ([PIdent]) + | HappyAbsSyn54 (Name) + | HappyAbsSyn55 ([Name]) + | HappyAbsSyn56 (LocDef) + | HappyAbsSyn57 ([LocDef]) + | HappyAbsSyn58 (Exp) + | HappyAbsSyn65 ([Exp]) + | HappyAbsSyn66 (Exps) + | HappyAbsSyn67 (Patt) + | HappyAbsSyn70 (PattAss) + | HappyAbsSyn71 (Label) + | HappyAbsSyn72 (Sort) + | HappyAbsSyn73 ([PattAss]) + | HappyAbsSyn74 ([Patt]) + | HappyAbsSyn75 (Bind) + | HappyAbsSyn76 ([Bind]) + | HappyAbsSyn77 (Decl) + | HappyAbsSyn78 (TupleComp) + | HappyAbsSyn79 (PattTupleComp) + | HappyAbsSyn80 ([TupleComp]) + | HappyAbsSyn81 ([PattTupleComp]) + | HappyAbsSyn82 (Case) + | HappyAbsSyn83 ([Case]) + | HappyAbsSyn84 (Equation) + | HappyAbsSyn85 ([Equation]) + | HappyAbsSyn86 (Altern) + | HappyAbsSyn87 ([Altern]) + | HappyAbsSyn88 (DDecl) + | HappyAbsSyn89 ([DDecl]) + | HappyAbsSyn90 (OldGrammar) + | HappyAbsSyn91 (Include) + | HappyAbsSyn92 (FileName) + | HappyAbsSyn93 ([FileName]) + +type HappyReduction m = + Int# + -> (Token) + -> HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> m HappyAbsSyn) + -> [HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> m HappyAbsSyn)] + -> HappyStk HappyAbsSyn + -> [(Token)] -> m HappyAbsSyn + +action_0, + action_1, + action_2, + action_3, + action_4, + action_5, + action_6, + action_7, + action_8, + action_9, + action_10, + action_11, + action_12, + action_13, + action_14, + action_15, + action_16, + action_17, + action_18, + action_19, + action_20, + action_21, + action_22, + action_23, + action_24, + action_25, + action_26, + action_27, + action_28, + action_29, + action_30, + action_31, + action_32, + action_33, + action_34, + action_35, + action_36, + action_37, + action_38, + action_39, + action_40, + action_41, + action_42, + action_43, + action_44, + action_45, + action_46, + action_47, + action_48, + action_49, + action_50, + action_51, + action_52, + action_53, + action_54, + action_55, + action_56, + action_57, + action_58, + action_59, + action_60, + action_61, + action_62, + action_63, + action_64, + action_65, + action_66, + action_67, + action_68, + action_69, + action_70, + action_71, + action_72, + action_73, + action_74, + action_75, + action_76, + action_77, + action_78, + action_79, + action_80, + action_81, + action_82, + action_83, + action_84, + action_85, + action_86, + action_87, + action_88, + action_89, + action_90, + action_91, + action_92, + action_93, + action_94, + action_95, + action_96, + action_97, + action_98, + action_99, + action_100, + action_101, + action_102, + action_103, + action_104, + action_105, + action_106, + action_107, + action_108, + action_109, + action_110, + action_111, + action_112, + action_113, + action_114, + action_115, + action_116, + action_117, + action_118, + action_119, + action_120, + action_121, + action_122, + action_123, + action_124, + action_125, + action_126, + action_127, + action_128, + action_129, + action_130, + action_131, + action_132, + action_133, + action_134, + action_135, + action_136, + action_137, + action_138, + action_139, + action_140, + action_141, + action_142, + action_143, + action_144, + action_145, + action_146, + action_147, + action_148, + action_149, + action_150, + action_151, + action_152, + action_153, + action_154, + action_155, + action_156, + action_157, + action_158, + action_159, + action_160, + action_161, + action_162, + action_163, + action_164, + action_165, + action_166, + action_167, + action_168, + action_169, + action_170, + action_171, + action_172, + action_173, + action_174, + action_175, + action_176, + action_177, + action_178, + action_179, + action_180, + action_181, + action_182, + action_183, + action_184, + action_185, + action_186, + action_187, + action_188, + action_189, + action_190, + action_191, + action_192, + action_193, + action_194, + action_195, + action_196, + action_197, + action_198, + action_199, + action_200, + action_201, + action_202, + action_203, + action_204, + action_205, + action_206, + action_207, + action_208, + action_209, + action_210, + action_211, + action_212, + action_213, + action_214, + action_215, + action_216, + action_217, + action_218, + action_219, + action_220, + action_221, + action_222, + action_223, + action_224, + action_225, + action_226, + action_227, + action_228, + action_229, + action_230, + action_231, + action_232, + action_233, + action_234, + action_235, + action_236, + action_237, + action_238, + action_239, + action_240, + action_241, + action_242, + action_243, + action_244, + action_245, + action_246, + action_247, + action_248, + action_249, + action_250, + action_251, + action_252, + action_253, + action_254, + action_255, + action_256, + action_257, + action_258, + action_259, + action_260, + action_261, + action_262, + action_263, + action_264, + action_265, + action_266, + action_267, + action_268, + action_269, + action_270, + action_271, + action_272, + action_273, + action_274, + action_275, + action_276, + action_277, + action_278, + action_279, + action_280, + action_281, + action_282, + action_283, + action_284, + action_285, + action_286, + action_287, + action_288, + action_289, + action_290, + action_291, + action_292, + action_293, + action_294, + action_295, + action_296, + action_297, + action_298, + action_299, + action_300, + action_301, + action_302, + action_303, + action_304, + action_305, + action_306, + action_307, + action_308, + action_309, + action_310, + action_311, + action_312, + action_313, + action_314, + action_315, + action_316, + action_317, + action_318, + action_319, + action_320, + action_321, + action_322, + action_323, + action_324, + action_325, + action_326, + action_327, + action_328, + action_329, + action_330, + action_331, + action_332, + action_333, + action_334, + action_335, + action_336, + action_337, + action_338, + action_339, + action_340, + action_341, + action_342, + action_343, + action_344, + action_345, + action_346, + action_347, + action_348, + action_349, + action_350, + action_351, + action_352, + action_353, + action_354, + action_355, + action_356, + action_357, + action_358, + action_359, + action_360, + action_361, + action_362, + action_363, + action_364, + action_365, + action_366, + action_367, + action_368, + action_369, + action_370, + action_371, + action_372, + action_373, + action_374, + action_375, + action_376, + action_377, + action_378, + action_379, + action_380, + action_381, + action_382, + action_383, + action_384, + action_385, + action_386, + action_387, + action_388, + action_389, + action_390, + action_391, + action_392, + action_393, + action_394, + action_395, + action_396, + action_397, + action_398, + action_399, + action_400, + action_401, + action_402, + action_403, + action_404, + action_405, + action_406, + action_407, + action_408, + action_409, + action_410, + action_411, + action_412, + action_413, + action_414, + action_415, + action_416, + action_417, + action_418, + action_419, + action_420, + action_421, + action_422, + action_423, + action_424, + action_425, + action_426, + action_427, + action_428, + action_429, + action_430, + action_431, + action_432, + action_433, + action_434, + action_435, + action_436, + action_437, + action_438, + action_439, + action_440, + action_441, + action_442, + action_443, + action_444, + action_445, + action_446, + action_447, + action_448, + action_449, + action_450, + action_451, + action_452, + action_453, + action_454, + action_455, + action_456, + action_457, + action_458, + action_459, + action_460, + action_461, + action_462, + action_463, + action_464, + action_465, + action_466, + action_467, + action_468, + action_469, + action_470, + action_471, + action_472, + action_473, + action_474, + action_475, + action_476, + action_477, + action_478, + action_479, + action_480, + action_481, + action_482, + action_483, + action_484, + action_485, + action_486, + action_487, + action_488, + action_489, + action_490, + action_491, + action_492, + action_493, + action_494, + action_495, + action_496, + action_497, + action_498, + action_499, + action_500, + action_501, + action_502, + action_503, + action_504, + action_505, + action_506, + action_507, + action_508, + action_509, + action_510, + action_511, + action_512, + action_513, + action_514, + action_515, + action_516, + action_517, + action_518, + action_519, + action_520, + action_521, + action_522, + action_523, + action_524, + action_525, + action_526, + action_527, + action_528, + action_529, + action_530, + action_531, + action_532, + action_533, + action_534, + action_535, + action_536, + action_537, + action_538, + action_539, + action_540, + action_541, + action_542, + action_543, + action_544, + action_545, + action_546, + action_547 :: () => Int# -> HappyReduction (Err) + +happyReduce_5, + happyReduce_6, + happyReduce_7, + happyReduce_8, + happyReduce_9, + happyReduce_10, + happyReduce_11, + happyReduce_12, + happyReduce_13, + happyReduce_14, + happyReduce_15, + happyReduce_16, + happyReduce_17, + happyReduce_18, + happyReduce_19, + happyReduce_20, + happyReduce_21, + happyReduce_22, + happyReduce_23, + happyReduce_24, + happyReduce_25, + happyReduce_26, + happyReduce_27, + happyReduce_28, + happyReduce_29, + happyReduce_30, + happyReduce_31, + happyReduce_32, + happyReduce_33, + happyReduce_34, + happyReduce_35, + happyReduce_36, + happyReduce_37, + happyReduce_38, + happyReduce_39, + happyReduce_40, + happyReduce_41, + happyReduce_42, + happyReduce_43, + happyReduce_44, + happyReduce_45, + happyReduce_46, + happyReduce_47, + happyReduce_48, + happyReduce_49, + happyReduce_50, + happyReduce_51, + happyReduce_52, + happyReduce_53, + happyReduce_54, + happyReduce_55, + happyReduce_56, + happyReduce_57, + happyReduce_58, + happyReduce_59, + happyReduce_60, + happyReduce_61, + happyReduce_62, + happyReduce_63, + happyReduce_64, + happyReduce_65, + happyReduce_66, + happyReduce_67, + happyReduce_68, + happyReduce_69, + happyReduce_70, + happyReduce_71, + happyReduce_72, + happyReduce_73, + happyReduce_74, + happyReduce_75, + happyReduce_76, + happyReduce_77, + happyReduce_78, + happyReduce_79, + happyReduce_80, + happyReduce_81, + happyReduce_82, + happyReduce_83, + happyReduce_84, + happyReduce_85, + happyReduce_86, + happyReduce_87, + happyReduce_88, + happyReduce_89, + happyReduce_90, + happyReduce_91, + happyReduce_92, + happyReduce_93, + happyReduce_94, + happyReduce_95, + happyReduce_96, + happyReduce_97, + happyReduce_98, + happyReduce_99, + happyReduce_100, + happyReduce_101, + happyReduce_102, + happyReduce_103, + happyReduce_104, + happyReduce_105, + happyReduce_106, + happyReduce_107, + happyReduce_108, + happyReduce_109, + happyReduce_110, + happyReduce_111, + happyReduce_112, + happyReduce_113, + happyReduce_114, + happyReduce_115, + happyReduce_116, + happyReduce_117, + happyReduce_118, + happyReduce_119, + happyReduce_120, + happyReduce_121, + happyReduce_122, + happyReduce_123, + happyReduce_124, + happyReduce_125, + happyReduce_126, + happyReduce_127, + happyReduce_128, + happyReduce_129, + happyReduce_130, + happyReduce_131, + happyReduce_132, + happyReduce_133, + happyReduce_134, + happyReduce_135, + happyReduce_136, + happyReduce_137, + happyReduce_138, + happyReduce_139, + happyReduce_140, + happyReduce_141, + happyReduce_142, + happyReduce_143, + happyReduce_144, + happyReduce_145, + happyReduce_146, + happyReduce_147, + happyReduce_148, + happyReduce_149, + happyReduce_150, + happyReduce_151, + happyReduce_152, + happyReduce_153, + happyReduce_154, + happyReduce_155, + happyReduce_156, + happyReduce_157, + happyReduce_158, + happyReduce_159, + happyReduce_160, + happyReduce_161, + happyReduce_162, + happyReduce_163, + happyReduce_164, + happyReduce_165, + happyReduce_166, + happyReduce_167, + happyReduce_168, + happyReduce_169, + happyReduce_170, + happyReduce_171, + happyReduce_172, + happyReduce_173, + happyReduce_174, + happyReduce_175, + happyReduce_176, + happyReduce_177, + happyReduce_178, + happyReduce_179, + happyReduce_180, + happyReduce_181, + happyReduce_182, + happyReduce_183, + happyReduce_184, + happyReduce_185, + happyReduce_186, + happyReduce_187, + happyReduce_188, + happyReduce_189, + happyReduce_190, + happyReduce_191, + happyReduce_192, + happyReduce_193, + happyReduce_194, + happyReduce_195, + happyReduce_196, + happyReduce_197, + happyReduce_198, + happyReduce_199, + happyReduce_200, + happyReduce_201, + happyReduce_202, + happyReduce_203, + happyReduce_204, + happyReduce_205, + happyReduce_206, + happyReduce_207, + happyReduce_208, + happyReduce_209, + happyReduce_210, + happyReduce_211, + happyReduce_212, + happyReduce_213, + happyReduce_214, + happyReduce_215, + happyReduce_216, + happyReduce_217, + happyReduce_218, + happyReduce_219, + happyReduce_220, + happyReduce_221, + happyReduce_222, + happyReduce_223, + happyReduce_224, + happyReduce_225, + happyReduce_226, + happyReduce_227, + happyReduce_228, + happyReduce_229, + happyReduce_230, + happyReduce_231, + happyReduce_232, + happyReduce_233, + happyReduce_234, + happyReduce_235, + happyReduce_236, + happyReduce_237, + happyReduce_238, + happyReduce_239, + happyReduce_240, + happyReduce_241, + happyReduce_242, + happyReduce_243, + happyReduce_244, + happyReduce_245, + happyReduce_246, + happyReduce_247, + happyReduce_248, + happyReduce_249, + happyReduce_250, + happyReduce_251, + happyReduce_252, + happyReduce_253, + happyReduce_254, + happyReduce_255, + happyReduce_256, + happyReduce_257, + happyReduce_258, + happyReduce_259, + happyReduce_260, + happyReduce_261, + happyReduce_262, + happyReduce_263, + happyReduce_264, + happyReduce_265, + happyReduce_266, + happyReduce_267, + happyReduce_268, + happyReduce_269, + happyReduce_270, + happyReduce_271, + happyReduce_272, + happyReduce_273, + happyReduce_274 :: () => HappyReduction (Err) + +action_0 (13#) = happyGoto action_58 +action_0 (14#) = happyGoto action_59 +action_0 x = happyTcHack x happyReduce_11 + +action_1 (136#) = happyShift action_57 +action_1 (139#) = happyShift action_51 +action_1 (15#) = happyGoto action_55 +action_1 (30#) = happyGoto action_56 +action_1 x = happyTcHack x happyReduce_60 + +action_2 (138#) = happyShift action_54 +action_2 (90#) = happyGoto action_52 +action_2 (91#) = happyGoto action_53 +action_2 x = happyTcHack x happyReduce_265 + +action_3 (139#) = happyShift action_51 +action_3 (21#) = happyGoto action_49 +action_3 (30#) = happyGoto action_50 +action_3 x = happyTcHack x happyReduce_60 + +action_4 (95#) = happyShift action_21 +action_4 (97#) = happyShift action_22 +action_4 (98#) = happyShift action_23 +action_4 (111#) = happyShift action_24 +action_4 (115#) = happyShift action_25 +action_4 (117#) = happyShift action_26 +action_4 (118#) = happyShift action_27 +action_4 (119#) = happyShift action_28 +action_4 (120#) = happyShift action_29 +action_4 (121#) = happyShift action_30 +action_4 (122#) = happyShift action_31 +action_4 (123#) = happyShift action_32 +action_4 (124#) = happyShift action_33 +action_4 (128#) = happyShift action_34 +action_4 (131#) = happyShift action_35 +action_4 (134#) = happyShift action_36 +action_4 (137#) = happyShift action_37 +action_4 (142#) = happyShift action_38 +action_4 (153#) = happyShift action_39 +action_4 (154#) = happyShift action_40 +action_4 (158#) = happyShift action_41 +action_4 (159#) = happyShift action_42 +action_4 (164#) = happyShift action_43 +action_4 (167#) = happyShift action_44 +action_4 (170#) = happyShift action_6 +action_4 (171#) = happyShift action_45 +action_4 (172#) = happyShift action_46 +action_4 (173#) = happyShift action_47 +action_4 (174#) = happyShift action_48 +action_4 (8#) = happyGoto action_7 +action_4 (9#) = happyGoto action_8 +action_4 (10#) = happyGoto action_9 +action_4 (11#) = happyGoto action_10 +action_4 (12#) = happyGoto action_11 +action_4 (58#) = happyGoto action_12 +action_4 (59#) = happyGoto action_13 +action_4 (60#) = happyGoto action_14 +action_4 (61#) = happyGoto action_15 +action_4 (62#) = happyGoto action_16 +action_4 (63#) = happyGoto action_17 +action_4 (64#) = happyGoto action_18 +action_4 (72#) = happyGoto action_19 +action_4 (77#) = happyGoto action_20 +action_4 x = happyTcHack x happyFail + +action_5 (170#) = happyShift action_6 +action_5 x = happyTcHack x happyFail + +action_6 x = happyTcHack x happyReduce_5 + +action_7 x = happyTcHack x happyReduce_145 + +action_8 x = happyTcHack x happyReduce_144 + +action_9 x = happyTcHack x happyReduce_146 + +action_10 x = happyTcHack x happyReduce_157 + +action_11 (116#) = happyShift action_137 +action_11 x = happyTcHack x happyReduce_140 + +action_12 x = happyTcHack x happyReduce_161 + +action_13 (107#) = happyShift action_136 +action_13 x = happyTcHack x happyReduce_173 + +action_14 (97#) = happyShift action_22 +action_14 (98#) = happyShift action_87 +action_14 (106#) = happyReduce_240 +action_14 (111#) = happyShift action_24 +action_14 (115#) = happyShift action_25 +action_14 (118#) = happyShift action_27 +action_14 (119#) = happyShift action_28 +action_14 (120#) = happyShift action_29 +action_14 (121#) = happyShift action_30 +action_14 (122#) = happyShift action_31 +action_14 (123#) = happyShift action_32 +action_14 (131#) = happyShift action_35 +action_14 (167#) = happyShift action_44 +action_14 (170#) = happyShift action_6 +action_14 (171#) = happyShift action_45 +action_14 (172#) = happyShift action_46 +action_14 (173#) = happyShift action_47 +action_14 (174#) = happyShift action_48 +action_14 (8#) = happyGoto action_7 +action_14 (9#) = happyGoto action_8 +action_14 (10#) = happyGoto action_9 +action_14 (11#) = happyGoto action_10 +action_14 (12#) = happyGoto action_84 +action_14 (58#) = happyGoto action_12 +action_14 (59#) = happyGoto action_135 +action_14 (72#) = happyGoto action_19 +action_14 x = happyTcHack x happyReduce_178 + +action_15 (94#) = happyShift action_130 +action_15 (100#) = happyShift action_131 +action_15 (101#) = happyShift action_132 +action_15 (113#) = happyShift action_133 +action_15 (165#) = happyShift action_134 +action_15 x = happyTcHack x happyReduce_192 + +action_16 (103#) = happyShift action_129 +action_16 x = happyTcHack x happyReduce_191 + +action_17 (176#) = happyAccept +action_17 x = happyTcHack x happyFail + +action_18 (102#) = happyShift action_128 +action_18 x = happyTcHack x happyReduce_180 + +action_19 x = happyTcHack x happyReduce_143 + +action_20 (106#) = happyShift action_127 +action_20 x = happyTcHack x happyFail + +action_21 (95#) = happyShift action_120 +action_21 (98#) = happyShift action_121 +action_21 (111#) = happyShift action_122 +action_21 (115#) = happyShift action_123 +action_21 (123#) = happyShift action_124 +action_21 (126#) = happyShift action_125 +action_21 (167#) = happyShift action_126 +action_21 (170#) = happyShift action_6 +action_21 (171#) = happyShift action_45 +action_21 (172#) = happyShift action_46 +action_21 (174#) = happyShift action_48 +action_21 (8#) = happyGoto action_115 +action_21 (9#) = happyGoto action_116 +action_21 (10#) = happyGoto action_117 +action_21 (12#) = happyGoto action_118 +action_21 (67#) = happyGoto action_119 +action_21 x = happyTcHack x happyFail + +action_22 (174#) = happyShift action_48 +action_22 (12#) = happyGoto action_114 +action_22 x = happyTcHack x happyFail + +action_23 (95#) = happyShift action_21 +action_23 (97#) = happyShift action_22 +action_23 (98#) = happyShift action_23 +action_23 (111#) = happyShift action_24 +action_23 (115#) = happyShift action_25 +action_23 (117#) = happyShift action_26 +action_23 (118#) = happyShift action_27 +action_23 (119#) = happyShift action_28 +action_23 (120#) = happyShift action_29 +action_23 (121#) = happyShift action_30 +action_23 (122#) = happyShift action_31 +action_23 (123#) = happyShift action_32 +action_23 (124#) = happyShift action_33 +action_23 (126#) = happyShift action_102 +action_23 (128#) = happyShift action_34 +action_23 (131#) = happyShift action_35 +action_23 (134#) = happyShift action_36 +action_23 (137#) = happyShift action_113 +action_23 (142#) = happyShift action_38 +action_23 (153#) = happyShift action_39 +action_23 (154#) = happyShift action_40 +action_23 (158#) = happyShift action_41 +action_23 (159#) = happyShift action_42 +action_23 (164#) = happyShift action_43 +action_23 (167#) = happyShift action_44 +action_23 (170#) = happyShift action_6 +action_23 (171#) = happyShift action_45 +action_23 (172#) = happyShift action_46 +action_23 (173#) = happyShift action_47 +action_23 (174#) = happyShift action_48 +action_23 (8#) = happyGoto action_7 +action_23 (9#) = happyGoto action_8 +action_23 (10#) = happyGoto action_9 +action_23 (11#) = happyGoto action_10 +action_23 (12#) = happyGoto action_110 +action_23 (58#) = happyGoto action_12 +action_23 (59#) = happyGoto action_13 +action_23 (60#) = happyGoto action_14 +action_23 (61#) = happyGoto action_15 +action_23 (62#) = happyGoto action_16 +action_23 (63#) = happyGoto action_111 +action_23 (64#) = happyGoto action_18 +action_23 (72#) = happyGoto action_19 +action_23 (75#) = happyGoto action_99 +action_23 (76#) = happyGoto action_112 +action_23 (77#) = happyGoto action_20 +action_23 x = happyTcHack x happyReduce_236 + +action_24 (95#) = happyShift action_21 +action_24 (97#) = happyShift action_22 +action_24 (98#) = happyShift action_23 +action_24 (111#) = happyShift action_24 +action_24 (115#) = happyShift action_25 +action_24 (117#) = happyShift action_26 +action_24 (118#) = happyShift action_27 +action_24 (119#) = happyShift action_28 +action_24 (120#) = happyShift action_29 +action_24 (121#) = happyShift action_30 +action_24 (122#) = happyShift action_31 +action_24 (123#) = happyShift action_32 +action_24 (124#) = happyShift action_33 +action_24 (128#) = happyShift action_34 +action_24 (131#) = happyShift action_35 +action_24 (134#) = happyShift action_36 +action_24 (137#) = happyShift action_37 +action_24 (142#) = happyShift action_38 +action_24 (153#) = happyShift action_39 +action_24 (154#) = happyShift action_40 +action_24 (158#) = happyShift action_41 +action_24 (159#) = happyShift action_42 +action_24 (164#) = happyShift action_43 +action_24 (167#) = happyShift action_44 +action_24 (170#) = happyShift action_6 +action_24 (171#) = happyShift action_45 +action_24 (172#) = happyShift action_46 +action_24 (173#) = happyShift action_47 +action_24 (174#) = happyShift action_48 +action_24 (8#) = happyGoto action_7 +action_24 (9#) = happyGoto action_8 +action_24 (10#) = happyGoto action_9 +action_24 (11#) = happyGoto action_10 +action_24 (12#) = happyGoto action_11 +action_24 (58#) = happyGoto action_12 +action_24 (59#) = happyGoto action_13 +action_24 (60#) = happyGoto action_14 +action_24 (61#) = happyGoto action_15 +action_24 (62#) = happyGoto action_16 +action_24 (63#) = happyGoto action_107 +action_24 (64#) = happyGoto action_18 +action_24 (72#) = happyGoto action_19 +action_24 (77#) = happyGoto action_20 +action_24 (78#) = happyGoto action_108 +action_24 (80#) = happyGoto action_109 +action_24 x = happyTcHack x happyReduce_243 + +action_25 x = happyTcHack x happyReduce_147 + +action_26 (174#) = happyShift action_48 +action_26 (12#) = happyGoto action_106 +action_26 x = happyTcHack x happyFail + +action_27 x = happyTcHack x happyReduce_225 + +action_28 x = happyTcHack x happyReduce_227 + +action_29 x = happyTcHack x happyReduce_228 + +action_30 x = happyTcHack x happyReduce_226 + +action_31 x = happyTcHack x happyReduce_224 + +action_32 (125#) = happyShift action_105 +action_32 (171#) = happyShift action_45 +action_32 (174#) = happyShift action_48 +action_32 (9#) = happyGoto action_103 +action_32 (12#) = happyGoto action_104 +action_32 x = happyTcHack x happyFail + +action_33 (124#) = happyShift action_101 +action_33 (126#) = happyShift action_102 +action_33 (174#) = happyShift action_48 +action_33 (12#) = happyGoto action_98 +action_33 (75#) = happyGoto action_99 +action_33 (76#) = happyGoto action_100 +action_33 x = happyTcHack x happyReduce_236 + +action_34 (95#) = happyShift action_21 +action_34 (97#) = happyShift action_22 +action_34 (98#) = happyShift action_23 +action_34 (111#) = happyShift action_24 +action_34 (115#) = happyShift action_25 +action_34 (117#) = happyShift action_26 +action_34 (118#) = happyShift action_27 +action_34 (119#) = happyShift action_28 +action_34 (120#) = happyShift action_29 +action_34 (121#) = happyShift action_30 +action_34 (122#) = happyShift action_31 +action_34 (123#) = happyShift action_32 +action_34 (124#) = happyShift action_33 +action_34 (128#) = happyShift action_34 +action_34 (131#) = happyShift action_35 +action_34 (134#) = happyShift action_36 +action_34 (137#) = happyShift action_37 +action_34 (142#) = happyShift action_38 +action_34 (153#) = happyShift action_39 +action_34 (154#) = happyShift action_40 +action_34 (158#) = happyShift action_41 +action_34 (159#) = happyShift action_42 +action_34 (164#) = happyShift action_43 +action_34 (167#) = happyShift action_44 +action_34 (170#) = happyShift action_6 +action_34 (171#) = happyShift action_45 +action_34 (172#) = happyShift action_46 +action_34 (173#) = happyShift action_47 +action_34 (174#) = happyShift action_48 +action_34 (8#) = happyGoto action_7 +action_34 (9#) = happyGoto action_8 +action_34 (10#) = happyGoto action_9 +action_34 (11#) = happyGoto action_10 +action_34 (12#) = happyGoto action_11 +action_34 (58#) = happyGoto action_12 +action_34 (59#) = happyGoto action_13 +action_34 (60#) = happyGoto action_14 +action_34 (61#) = happyGoto action_15 +action_34 (62#) = happyGoto action_16 +action_34 (63#) = happyGoto action_97 +action_34 (64#) = happyGoto action_18 +action_34 (72#) = happyGoto action_19 +action_34 (77#) = happyGoto action_20 +action_34 x = happyTcHack x happyFail + +action_35 x = happyTcHack x happyReduce_149 + +action_36 (167#) = happyShift action_96 +action_36 x = happyTcHack x happyFail + +action_37 (97#) = happyShift action_22 +action_37 (98#) = happyShift action_87 +action_37 (111#) = happyShift action_24 +action_37 (115#) = happyShift action_25 +action_37 (118#) = happyShift action_27 +action_37 (119#) = happyShift action_28 +action_37 (120#) = happyShift action_29 +action_37 (121#) = happyShift action_30 +action_37 (122#) = happyShift action_31 +action_37 (123#) = happyShift action_32 +action_37 (131#) = happyShift action_35 +action_37 (167#) = happyShift action_44 +action_37 (170#) = happyShift action_6 +action_37 (171#) = happyShift action_45 +action_37 (172#) = happyShift action_46 +action_37 (173#) = happyShift action_47 +action_37 (174#) = happyShift action_48 +action_37 (8#) = happyGoto action_7 +action_37 (9#) = happyGoto action_8 +action_37 (10#) = happyGoto action_9 +action_37 (11#) = happyGoto action_10 +action_37 (12#) = happyGoto action_84 +action_37 (58#) = happyGoto action_12 +action_37 (59#) = happyGoto action_95 +action_37 (72#) = happyGoto action_19 +action_37 x = happyTcHack x happyFail + +action_38 (167#) = happyShift action_94 +action_38 (174#) = happyShift action_48 +action_38 (12#) = happyGoto action_92 +action_38 (53#) = happyGoto action_80 +action_38 (56#) = happyGoto action_81 +action_38 (57#) = happyGoto action_93 +action_38 x = happyTcHack x happyReduce_137 + +action_39 (97#) = happyShift action_22 +action_39 (98#) = happyShift action_87 +action_39 (111#) = happyShift action_24 +action_39 (115#) = happyShift action_25 +action_39 (118#) = happyShift action_27 +action_39 (119#) = happyShift action_28 +action_39 (120#) = happyShift action_29 +action_39 (121#) = happyShift action_30 +action_39 (122#) = happyShift action_31 +action_39 (123#) = happyShift action_32 +action_39 (131#) = happyShift action_35 +action_39 (167#) = happyShift action_44 +action_39 (170#) = happyShift action_6 +action_39 (171#) = happyShift action_45 +action_39 (172#) = happyShift action_46 +action_39 (173#) = happyShift action_47 +action_39 (174#) = happyShift action_48 +action_39 (8#) = happyGoto action_7 +action_39 (9#) = happyGoto action_8 +action_39 (10#) = happyGoto action_9 +action_39 (11#) = happyGoto action_10 +action_39 (12#) = happyGoto action_84 +action_39 (58#) = happyGoto action_12 +action_39 (59#) = happyGoto action_91 +action_39 (72#) = happyGoto action_19 +action_39 x = happyTcHack x happyFail + +action_40 (167#) = happyShift action_90 +action_40 x = happyTcHack x happyFail + +action_41 (167#) = happyShift action_89 +action_41 x = happyTcHack x happyFail + +action_42 (97#) = happyShift action_86 +action_42 (98#) = happyShift action_87 +action_42 (111#) = happyShift action_24 +action_42 (115#) = happyShift action_25 +action_42 (118#) = happyShift action_27 +action_42 (119#) = happyShift action_28 +action_42 (120#) = happyShift action_29 +action_42 (121#) = happyShift action_30 +action_42 (122#) = happyShift action_31 +action_42 (123#) = happyShift action_32 +action_42 (131#) = happyShift action_35 +action_42 (167#) = happyShift action_88 +action_42 (170#) = happyShift action_6 +action_42 (171#) = happyShift action_45 +action_42 (172#) = happyShift action_46 +action_42 (173#) = happyShift action_47 +action_42 (174#) = happyShift action_48 +action_42 (8#) = happyGoto action_7 +action_42 (9#) = happyGoto action_8 +action_42 (10#) = happyGoto action_9 +action_42 (11#) = happyGoto action_10 +action_42 (12#) = happyGoto action_84 +action_42 (58#) = happyGoto action_85 +action_42 (72#) = happyGoto action_19 +action_42 x = happyTcHack x happyFail + +action_43 (167#) = happyShift action_83 +action_43 x = happyTcHack x happyFail + +action_44 (174#) = happyShift action_48 +action_44 (12#) = happyGoto action_79 +action_44 (53#) = happyGoto action_80 +action_44 (56#) = happyGoto action_81 +action_44 (57#) = happyGoto action_82 +action_44 x = happyTcHack x happyReduce_137 + +action_45 x = happyTcHack x happyReduce_6 + +action_46 x = happyTcHack x happyReduce_7 + +action_47 x = happyTcHack x happyReduce_8 + +action_48 x = happyTcHack x happyReduce_9 + +action_49 (1#) = happyAccept +action_49 x = happyTcHack x happyFail + +action_50 (127#) = happyShift action_63 +action_50 (130#) = happyShift action_64 +action_50 (140#) = happyShift action_65 +action_50 (141#) = happyShift action_66 +action_50 (156#) = happyShift action_67 +action_50 (161#) = happyShift action_68 +action_50 (23#) = happyGoto action_78 +action_50 x = happyTcHack x happyFail + +action_51 x = happyTcHack x happyReduce_61 + +action_52 (176#) = happyAccept +action_52 x = happyTcHack x happyFail + +action_53 (25#) = happyGoto action_77 +action_53 x = happyTcHack x happyReduce_48 + +action_54 (105#) = happyShift action_74 +action_54 (107#) = happyShift action_75 +action_54 (108#) = happyShift action_76 +action_54 (171#) = happyShift action_45 +action_54 (174#) = happyShift action_48 +action_54 (9#) = happyGoto action_70 +action_54 (12#) = happyGoto action_71 +action_54 (92#) = happyGoto action_72 +action_54 (93#) = happyGoto action_73 +action_54 x = happyTcHack x happyFail + +action_55 (110#) = happyShift action_69 +action_55 (176#) = happyAccept +action_55 x = happyTcHack x happyFail + +action_56 (127#) = happyShift action_63 +action_56 (130#) = happyShift action_64 +action_56 (140#) = happyShift action_65 +action_56 (141#) = happyShift action_66 +action_56 (156#) = happyShift action_67 +action_56 (161#) = happyShift action_68 +action_56 (23#) = happyGoto action_62 +action_56 x = happyTcHack x happyFail + +action_57 (174#) = happyShift action_48 +action_57 (12#) = happyGoto action_61 +action_57 x = happyTcHack x happyFail + +action_58 (176#) = happyAccept +action_58 x = happyTcHack x happyFail + +action_59 (136#) = happyShift action_57 +action_59 (139#) = happyShift action_51 +action_59 (176#) = happyReduce_10 +action_59 (15#) = happyGoto action_60 +action_59 (30#) = happyGoto action_56 +action_59 x = happyTcHack x happyReduce_60 + +action_60 (110#) = happyShift action_69 +action_60 x = happyTcHack x happyReduce_12 + +action_61 (112#) = happyShift action_239 +action_61 x = happyTcHack x happyFail + +action_62 (112#) = happyShift action_238 +action_62 x = happyTcHack x happyFail + +action_63 (174#) = happyShift action_48 +action_63 (12#) = happyGoto action_237 +action_63 x = happyTcHack x happyFail + +action_64 (174#) = happyShift action_48 +action_64 (12#) = happyGoto action_236 +action_64 x = happyTcHack x happyFail + +action_65 (174#) = happyShift action_48 +action_65 (12#) = happyGoto action_235 +action_65 x = happyTcHack x happyFail + +action_66 (174#) = happyShift action_48 +action_66 (12#) = happyGoto action_234 +action_66 x = happyTcHack x happyFail + +action_67 (174#) = happyShift action_48 +action_67 (12#) = happyGoto action_233 +action_67 x = happyTcHack x happyFail + +action_68 (174#) = happyShift action_48 +action_68 (12#) = happyGoto action_232 +action_68 x = happyTcHack x happyFail + +action_69 x = happyTcHack x happyReduce_13 + +action_70 x = happyTcHack x happyReduce_267 + +action_71 (105#) = happyShift action_74 +action_71 (107#) = happyShift action_75 +action_71 (108#) = happyShift action_76 +action_71 (171#) = happyShift action_45 +action_71 (174#) = happyShift action_48 +action_71 (9#) = happyGoto action_70 +action_71 (12#) = happyGoto action_71 +action_71 (92#) = happyGoto action_231 +action_71 x = happyTcHack x happyReduce_268 + +action_72 (110#) = happyShift action_230 +action_72 x = happyTcHack x happyFail + +action_73 x = happyTcHack x happyReduce_266 + +action_74 (105#) = happyShift action_74 +action_74 (107#) = happyShift action_75 +action_74 (108#) = happyShift action_76 +action_74 (171#) = happyShift action_45 +action_74 (174#) = happyShift action_48 +action_74 (9#) = happyGoto action_70 +action_74 (12#) = happyGoto action_71 +action_74 (92#) = happyGoto action_229 +action_74 x = happyTcHack x happyFail + +action_75 (105#) = happyShift action_74 +action_75 (107#) = happyShift action_75 +action_75 (108#) = happyShift action_76 +action_75 (171#) = happyShift action_45 +action_75 (174#) = happyShift action_48 +action_75 (9#) = happyGoto action_70 +action_75 (12#) = happyGoto action_71 +action_75 (92#) = happyGoto action_228 +action_75 x = happyTcHack x happyFail + +action_76 (105#) = happyShift action_74 +action_76 (107#) = happyShift action_75 +action_76 (108#) = happyShift action_76 +action_76 (171#) = happyShift action_45 +action_76 (174#) = happyShift action_48 +action_76 (9#) = happyGoto action_70 +action_76 (12#) = happyGoto action_71 +action_76 (92#) = happyGoto action_227 +action_76 x = happyTcHack x happyFail + +action_77 (129#) = happyShift action_210 +action_77 (131#) = happyShift action_211 +action_77 (132#) = happyShift action_212 +action_77 (133#) = happyShift action_213 +action_77 (135#) = happyShift action_214 +action_77 (143#) = happyShift action_215 +action_77 (144#) = happyShift action_216 +action_77 (145#) = happyShift action_217 +action_77 (146#) = happyShift action_218 +action_77 (149#) = happyShift action_219 +action_77 (151#) = happyShift action_220 +action_77 (152#) = happyShift action_221 +action_77 (153#) = happyShift action_222 +action_77 (155#) = happyShift action_223 +action_77 (160#) = happyShift action_224 +action_77 (161#) = happyShift action_225 +action_77 (163#) = happyShift action_226 +action_77 (35#) = happyGoto action_209 +action_77 x = happyTcHack x happyReduce_264 + +action_78 (112#) = happyShift action_208 +action_78 x = happyTcHack x happyFail + +action_79 (104#) = happyShift action_190 +action_79 (107#) = happyShift action_206 +action_79 (169#) = happyShift action_207 +action_79 x = happyTcHack x happyReduce_128 + +action_80 (109#) = happyShift action_204 +action_80 (112#) = happyShift action_205 +action_80 x = happyTcHack x happyFail + +action_81 (110#) = happyShift action_203 +action_81 x = happyTcHack x happyReduce_138 + +action_82 (169#) = happyShift action_202 +action_82 x = happyTcHack x happyFail + +action_83 (95#) = happyShift action_21 +action_83 (97#) = happyShift action_22 +action_83 (98#) = happyShift action_23 +action_83 (111#) = happyShift action_24 +action_83 (115#) = happyShift action_25 +action_83 (117#) = happyShift action_26 +action_83 (118#) = happyShift action_27 +action_83 (119#) = happyShift action_28 +action_83 (120#) = happyShift action_29 +action_83 (121#) = happyShift action_30 +action_83 (122#) = happyShift action_31 +action_83 (123#) = happyShift action_32 +action_83 (124#) = happyShift action_33 +action_83 (128#) = happyShift action_34 +action_83 (131#) = happyShift action_35 +action_83 (134#) = happyShift action_36 +action_83 (137#) = happyShift action_37 +action_83 (142#) = happyShift action_38 +action_83 (153#) = happyShift action_39 +action_83 (154#) = happyShift action_40 +action_83 (158#) = happyShift action_41 +action_83 (159#) = happyShift action_42 +action_83 (164#) = happyShift action_43 +action_83 (167#) = happyShift action_44 +action_83 (170#) = happyShift action_6 +action_83 (171#) = happyShift action_45 +action_83 (172#) = happyShift action_46 +action_83 (173#) = happyShift action_47 +action_83 (174#) = happyShift action_48 +action_83 (8#) = happyGoto action_7 +action_83 (9#) = happyGoto action_8 +action_83 (10#) = happyGoto action_9 +action_83 (11#) = happyGoto action_10 +action_83 (12#) = happyGoto action_11 +action_83 (58#) = happyGoto action_12 +action_83 (59#) = happyGoto action_13 +action_83 (60#) = happyGoto action_14 +action_83 (61#) = happyGoto action_15 +action_83 (62#) = happyGoto action_16 +action_83 (63#) = happyGoto action_192 +action_83 (64#) = happyGoto action_18 +action_83 (65#) = happyGoto action_201 +action_83 (72#) = happyGoto action_19 +action_83 (77#) = happyGoto action_20 +action_83 x = happyTcHack x happyReduce_193 + +action_84 x = happyTcHack x happyReduce_140 + +action_85 (123#) = happyShift action_199 +action_85 (167#) = happyShift action_200 +action_85 x = happyTcHack x happyFail + +action_86 (174#) = happyShift action_48 +action_86 (12#) = happyGoto action_198 +action_86 x = happyTcHack x happyFail + +action_87 (95#) = happyShift action_21 +action_87 (97#) = happyShift action_22 +action_87 (98#) = happyShift action_23 +action_87 (111#) = happyShift action_24 +action_87 (115#) = happyShift action_25 +action_87 (117#) = happyShift action_26 +action_87 (118#) = happyShift action_27 +action_87 (119#) = happyShift action_28 +action_87 (120#) = happyShift action_29 +action_87 (121#) = happyShift action_30 +action_87 (122#) = happyShift action_31 +action_87 (123#) = happyShift action_32 +action_87 (124#) = happyShift action_33 +action_87 (128#) = happyShift action_34 +action_87 (131#) = happyShift action_35 +action_87 (134#) = happyShift action_36 +action_87 (137#) = happyShift action_113 +action_87 (142#) = happyShift action_38 +action_87 (153#) = happyShift action_39 +action_87 (154#) = happyShift action_40 +action_87 (158#) = happyShift action_41 +action_87 (159#) = happyShift action_42 +action_87 (164#) = happyShift action_43 +action_87 (167#) = happyShift action_44 +action_87 (170#) = happyShift action_6 +action_87 (171#) = happyShift action_45 +action_87 (172#) = happyShift action_46 +action_87 (173#) = happyShift action_47 +action_87 (174#) = happyShift action_48 +action_87 (8#) = happyGoto action_7 +action_87 (9#) = happyGoto action_8 +action_87 (10#) = happyGoto action_9 +action_87 (11#) = happyGoto action_10 +action_87 (12#) = happyGoto action_11 +action_87 (58#) = happyGoto action_12 +action_87 (59#) = happyGoto action_13 +action_87 (60#) = happyGoto action_14 +action_87 (61#) = happyGoto action_15 +action_87 (62#) = happyGoto action_16 +action_87 (63#) = happyGoto action_111 +action_87 (64#) = happyGoto action_18 +action_87 (72#) = happyGoto action_19 +action_87 (77#) = happyGoto action_20 +action_87 x = happyTcHack x happyFail + +action_88 (95#) = happyShift action_120 +action_88 (98#) = happyShift action_121 +action_88 (105#) = happyShift action_164 +action_88 (111#) = happyShift action_122 +action_88 (115#) = happyShift action_123 +action_88 (123#) = happyShift action_124 +action_88 (126#) = happyShift action_125 +action_88 (167#) = happyShift action_126 +action_88 (170#) = happyShift action_6 +action_88 (171#) = happyShift action_45 +action_88 (172#) = happyShift action_46 +action_88 (174#) = happyShift action_48 +action_88 (8#) = happyGoto action_115 +action_88 (9#) = happyGoto action_116 +action_88 (10#) = happyGoto action_117 +action_88 (12#) = happyGoto action_194 +action_88 (53#) = happyGoto action_80 +action_88 (56#) = happyGoto action_81 +action_88 (57#) = happyGoto action_82 +action_88 (67#) = happyGoto action_159 +action_88 (68#) = happyGoto action_160 +action_88 (69#) = happyGoto action_195 +action_88 (82#) = happyGoto action_196 +action_88 (83#) = happyGoto action_197 +action_88 x = happyTcHack x happyReduce_137 + +action_89 (95#) = happyShift action_21 +action_89 (97#) = happyShift action_22 +action_89 (98#) = happyShift action_23 +action_89 (111#) = happyShift action_24 +action_89 (115#) = happyShift action_25 +action_89 (117#) = happyShift action_26 +action_89 (118#) = happyShift action_27 +action_89 (119#) = happyShift action_28 +action_89 (120#) = happyShift action_29 +action_89 (121#) = happyShift action_30 +action_89 (122#) = happyShift action_31 +action_89 (123#) = happyShift action_32 +action_89 (124#) = happyShift action_33 +action_89 (128#) = happyShift action_34 +action_89 (131#) = happyShift action_35 +action_89 (134#) = happyShift action_36 +action_89 (137#) = happyShift action_37 +action_89 (142#) = happyShift action_38 +action_89 (153#) = happyShift action_39 +action_89 (154#) = happyShift action_40 +action_89 (158#) = happyShift action_41 +action_89 (159#) = happyShift action_42 +action_89 (164#) = happyShift action_43 +action_89 (167#) = happyShift action_44 +action_89 (170#) = happyShift action_6 +action_89 (171#) = happyShift action_45 +action_89 (172#) = happyShift action_46 +action_89 (173#) = happyShift action_47 +action_89 (174#) = happyShift action_48 +action_89 (8#) = happyGoto action_7 +action_89 (9#) = happyGoto action_8 +action_89 (10#) = happyGoto action_9 +action_89 (11#) = happyGoto action_10 +action_89 (12#) = happyGoto action_11 +action_89 (58#) = happyGoto action_12 +action_89 (59#) = happyGoto action_13 +action_89 (60#) = happyGoto action_14 +action_89 (61#) = happyGoto action_15 +action_89 (62#) = happyGoto action_16 +action_89 (63#) = happyGoto action_192 +action_89 (64#) = happyGoto action_18 +action_89 (65#) = happyGoto action_193 +action_89 (72#) = happyGoto action_19 +action_89 (77#) = happyGoto action_20 +action_89 x = happyTcHack x happyReduce_193 + +action_90 (95#) = happyShift action_21 +action_90 (97#) = happyShift action_22 +action_90 (98#) = happyShift action_23 +action_90 (111#) = happyShift action_24 +action_90 (115#) = happyShift action_25 +action_90 (117#) = happyShift action_26 +action_90 (118#) = happyShift action_27 +action_90 (119#) = happyShift action_28 +action_90 (120#) = happyShift action_29 +action_90 (121#) = happyShift action_30 +action_90 (122#) = happyShift action_31 +action_90 (123#) = happyShift action_32 +action_90 (124#) = happyShift action_33 +action_90 (128#) = happyShift action_34 +action_90 (131#) = happyShift action_35 +action_90 (134#) = happyShift action_36 +action_90 (137#) = happyShift action_37 +action_90 (142#) = happyShift action_38 +action_90 (153#) = happyShift action_39 +action_90 (154#) = happyShift action_40 +action_90 (158#) = happyShift action_41 +action_90 (159#) = happyShift action_42 +action_90 (164#) = happyShift action_43 +action_90 (167#) = happyShift action_44 +action_90 (170#) = happyShift action_6 +action_90 (171#) = happyShift action_45 +action_90 (172#) = happyShift action_46 +action_90 (173#) = happyShift action_47 +action_90 (174#) = happyShift action_48 +action_90 (8#) = happyGoto action_7 +action_90 (9#) = happyGoto action_8 +action_90 (10#) = happyGoto action_9 +action_90 (11#) = happyGoto action_10 +action_90 (12#) = happyGoto action_11 +action_90 (58#) = happyGoto action_12 +action_90 (59#) = happyGoto action_13 +action_90 (60#) = happyGoto action_14 +action_90 (61#) = happyGoto action_15 +action_90 (62#) = happyGoto action_16 +action_90 (63#) = happyGoto action_191 +action_90 (64#) = happyGoto action_18 +action_90 (72#) = happyGoto action_19 +action_90 (77#) = happyGoto action_20 +action_90 x = happyTcHack x happyFail + +action_91 (107#) = happyShift action_136 +action_91 x = happyTcHack x happyReduce_172 + +action_92 (104#) = happyShift action_190 +action_92 x = happyTcHack x happyReduce_128 + +action_93 (137#) = happyShift action_189 +action_93 x = happyTcHack x happyFail + +action_94 (174#) = happyShift action_48 +action_94 (12#) = happyGoto action_92 +action_94 (53#) = happyGoto action_80 +action_94 (56#) = happyGoto action_81 +action_94 (57#) = happyGoto action_188 +action_94 x = happyTcHack x happyReduce_137 + +action_95 (107#) = happyShift action_136 +action_95 (171#) = happyShift action_45 +action_95 (9#) = happyGoto action_187 +action_95 x = happyTcHack x happyFail + +action_96 (95#) = happyShift action_120 +action_96 (98#) = happyShift action_121 +action_96 (111#) = happyShift action_122 +action_96 (115#) = happyShift action_123 +action_96 (123#) = happyShift action_124 +action_96 (126#) = happyShift action_125 +action_96 (167#) = happyShift action_126 +action_96 (170#) = happyShift action_6 +action_96 (171#) = happyShift action_45 +action_96 (172#) = happyShift action_46 +action_96 (174#) = happyShift action_48 +action_96 (8#) = happyGoto action_115 +action_96 (9#) = happyGoto action_116 +action_96 (10#) = happyGoto action_117 +action_96 (12#) = happyGoto action_118 +action_96 (67#) = happyGoto action_183 +action_96 (74#) = happyGoto action_184 +action_96 (84#) = happyGoto action_185 +action_96 (85#) = happyGoto action_186 +action_96 x = happyTcHack x happyReduce_253 + +action_97 (147#) = happyShift action_182 +action_97 x = happyTcHack x happyFail + +action_98 x = happyTcHack x happyReduce_234 + +action_99 (104#) = happyShift action_181 +action_99 x = happyTcHack x happyReduce_237 + +action_100 (106#) = happyShift action_180 +action_100 x = happyTcHack x happyFail + +action_101 (126#) = happyShift action_102 +action_101 (174#) = happyShift action_48 +action_101 (12#) = happyGoto action_98 +action_101 (75#) = happyGoto action_99 +action_101 (76#) = happyGoto action_179 +action_101 x = happyTcHack x happyReduce_236 + +action_102 x = happyTcHack x happyReduce_235 + +action_103 (125#) = happyShift action_178 +action_103 x = happyTcHack x happyFail + +action_104 (97#) = happyShift action_86 +action_104 (98#) = happyShift action_87 +action_104 (111#) = happyShift action_24 +action_104 (115#) = happyShift action_25 +action_104 (118#) = happyShift action_27 +action_104 (119#) = happyShift action_28 +action_104 (120#) = happyShift action_29 +action_104 (121#) = happyShift action_30 +action_104 (122#) = happyShift action_31 +action_104 (123#) = happyShift action_32 +action_104 (131#) = happyShift action_35 +action_104 (167#) = happyShift action_139 +action_104 (170#) = happyShift action_6 +action_104 (171#) = happyShift action_45 +action_104 (172#) = happyShift action_46 +action_104 (173#) = happyShift action_47 +action_104 (174#) = happyShift action_48 +action_104 (8#) = happyGoto action_7 +action_104 (9#) = happyGoto action_8 +action_104 (10#) = happyGoto action_9 +action_104 (11#) = happyGoto action_10 +action_104 (12#) = happyGoto action_84 +action_104 (58#) = happyGoto action_176 +action_104 (66#) = happyGoto action_177 +action_104 (72#) = happyGoto action_19 +action_104 x = happyTcHack x happyReduce_196 + +action_105 x = happyTcHack x happyReduce_148 + +action_106 x = happyTcHack x happyReduce_174 + +action_107 (109#) = happyShift action_175 +action_107 x = happyTcHack x happyReduce_241 + +action_108 (104#) = happyShift action_174 +action_108 x = happyTcHack x happyReduce_244 + +action_109 (114#) = happyShift action_173 +action_109 x = happyTcHack x happyFail + +action_110 (104#) = happyReduce_234 +action_110 (109#) = happyReduce_234 +action_110 (116#) = happyShift action_137 +action_110 x = happyTcHack x happyReduce_140 + +action_111 (99#) = happyShift action_172 +action_111 x = happyTcHack x happyFail + +action_112 (109#) = happyShift action_171 +action_112 x = happyTcHack x happyFail + +action_113 (97#) = happyShift action_22 +action_113 (98#) = happyShift action_87 +action_113 (111#) = happyShift action_24 +action_113 (115#) = happyShift action_25 +action_113 (118#) = happyShift action_27 +action_113 (119#) = happyShift action_28 +action_113 (120#) = happyShift action_29 +action_113 (121#) = happyShift action_30 +action_113 (122#) = happyShift action_31 +action_113 (123#) = happyShift action_32 +action_113 (131#) = happyShift action_35 +action_113 (167#) = happyShift action_44 +action_113 (170#) = happyShift action_6 +action_113 (171#) = happyShift action_45 +action_113 (172#) = happyShift action_46 +action_113 (173#) = happyShift action_47 +action_113 (174#) = happyShift action_48 +action_113 (8#) = happyGoto action_7 +action_113 (9#) = happyGoto action_8 +action_113 (10#) = happyGoto action_9 +action_113 (11#) = happyGoto action_10 +action_113 (12#) = happyGoto action_170 +action_113 (58#) = happyGoto action_12 +action_113 (59#) = happyGoto action_95 +action_113 (72#) = happyGoto action_19 +action_113 x = happyTcHack x happyFail + +action_114 (97#) = happyShift action_168 +action_114 (107#) = happyShift action_169 +action_114 x = happyTcHack x happyFail + +action_115 x = happyTcHack x happyReduce_206 + +action_116 x = happyTcHack x happyReduce_208 + +action_117 x = happyTcHack x happyReduce_207 + +action_118 (107#) = happyShift action_167 +action_118 x = happyTcHack x happyReduce_203 + +action_119 x = happyTcHack x happyReduce_171 + +action_120 (174#) = happyShift action_48 +action_120 (12#) = happyGoto action_166 +action_120 x = happyTcHack x happyFail + +action_121 (95#) = happyShift action_120 +action_121 (98#) = happyShift action_121 +action_121 (105#) = happyShift action_164 +action_121 (111#) = happyShift action_122 +action_121 (115#) = happyShift action_123 +action_121 (123#) = happyShift action_124 +action_121 (126#) = happyShift action_125 +action_121 (167#) = happyShift action_126 +action_121 (170#) = happyShift action_6 +action_121 (171#) = happyShift action_45 +action_121 (172#) = happyShift action_46 +action_121 (174#) = happyShift action_48 +action_121 (8#) = happyGoto action_115 +action_121 (9#) = happyGoto action_116 +action_121 (10#) = happyGoto action_117 +action_121 (12#) = happyGoto action_158 +action_121 (67#) = happyGoto action_159 +action_121 (68#) = happyGoto action_160 +action_121 (69#) = happyGoto action_165 +action_121 x = happyTcHack x happyFail + +action_122 (95#) = happyShift action_120 +action_122 (98#) = happyShift action_121 +action_122 (105#) = happyShift action_164 +action_122 (111#) = happyShift action_122 +action_122 (115#) = happyShift action_123 +action_122 (123#) = happyShift action_124 +action_122 (126#) = happyShift action_125 +action_122 (167#) = happyShift action_126 +action_122 (170#) = happyShift action_6 +action_122 (171#) = happyShift action_45 +action_122 (172#) = happyShift action_46 +action_122 (174#) = happyShift action_48 +action_122 (8#) = happyGoto action_115 +action_122 (9#) = happyGoto action_116 +action_122 (10#) = happyGoto action_117 +action_122 (12#) = happyGoto action_158 +action_122 (67#) = happyGoto action_159 +action_122 (68#) = happyGoto action_160 +action_122 (69#) = happyGoto action_161 +action_122 (79#) = happyGoto action_162 +action_122 (81#) = happyGoto action_163 +action_122 x = happyTcHack x happyReduce_246 + +action_123 x = happyTcHack x happyReduce_198 + +action_124 (171#) = happyShift action_45 +action_124 (9#) = happyGoto action_157 +action_124 x = happyTcHack x happyFail + +action_125 x = happyTcHack x happyReduce_202 + +action_126 (174#) = happyShift action_48 +action_126 (12#) = happyGoto action_153 +action_126 (53#) = happyGoto action_154 +action_126 (70#) = happyGoto action_155 +action_126 (73#) = happyGoto action_156 +action_126 x = happyTcHack x happyReduce_229 + +action_127 (95#) = happyShift action_21 +action_127 (97#) = happyShift action_22 +action_127 (98#) = happyShift action_23 +action_127 (111#) = happyShift action_24 +action_127 (115#) = happyShift action_25 +action_127 (117#) = happyShift action_26 +action_127 (118#) = happyShift action_27 +action_127 (119#) = happyShift action_28 +action_127 (120#) = happyShift action_29 +action_127 (121#) = happyShift action_30 +action_127 (122#) = happyShift action_31 +action_127 (123#) = happyShift action_32 +action_127 (124#) = happyShift action_33 +action_127 (128#) = happyShift action_34 +action_127 (131#) = happyShift action_35 +action_127 (134#) = happyShift action_36 +action_127 (137#) = happyShift action_37 +action_127 (142#) = happyShift action_38 +action_127 (153#) = happyShift action_39 +action_127 (154#) = happyShift action_40 +action_127 (158#) = happyShift action_41 +action_127 (159#) = happyShift action_42 +action_127 (164#) = happyShift action_43 +action_127 (167#) = happyShift action_44 +action_127 (170#) = happyShift action_6 +action_127 (171#) = happyShift action_45 +action_127 (172#) = happyShift action_46 +action_127 (173#) = happyShift action_47 +action_127 (174#) = happyShift action_48 +action_127 (8#) = happyGoto action_7 +action_127 (9#) = happyGoto action_8 +action_127 (10#) = happyGoto action_9 +action_127 (11#) = happyGoto action_10 +action_127 (12#) = happyGoto action_11 +action_127 (58#) = happyGoto action_12 +action_127 (59#) = happyGoto action_13 +action_127 (60#) = happyGoto action_14 +action_127 (61#) = happyGoto action_15 +action_127 (62#) = happyGoto action_16 +action_127 (63#) = happyGoto action_152 +action_127 (64#) = happyGoto action_18 +action_127 (72#) = happyGoto action_19 +action_127 (77#) = happyGoto action_20 +action_127 x = happyTcHack x happyFail + +action_128 (95#) = happyShift action_21 +action_128 (97#) = happyShift action_22 +action_128 (98#) = happyShift action_87 +action_128 (111#) = happyShift action_24 +action_128 (115#) = happyShift action_25 +action_128 (117#) = happyShift action_26 +action_128 (118#) = happyShift action_27 +action_128 (119#) = happyShift action_28 +action_128 (120#) = happyShift action_29 +action_128 (121#) = happyShift action_30 +action_128 (122#) = happyShift action_31 +action_128 (123#) = happyShift action_32 +action_128 (128#) = happyShift action_34 +action_128 (131#) = happyShift action_35 +action_128 (153#) = happyShift action_39 +action_128 (154#) = happyShift action_40 +action_128 (158#) = happyShift action_41 +action_128 (159#) = happyShift action_42 +action_128 (164#) = happyShift action_43 +action_128 (167#) = happyShift action_44 +action_128 (170#) = happyShift action_6 +action_128 (171#) = happyShift action_45 +action_128 (172#) = happyShift action_46 +action_128 (173#) = happyShift action_47 +action_128 (174#) = happyShift action_48 +action_128 (8#) = happyGoto action_7 +action_128 (9#) = happyGoto action_8 +action_128 (10#) = happyGoto action_9 +action_128 (11#) = happyGoto action_10 +action_128 (12#) = happyGoto action_11 +action_128 (58#) = happyGoto action_12 +action_128 (59#) = happyGoto action_13 +action_128 (60#) = happyGoto action_149 +action_128 (61#) = happyGoto action_150 +action_128 (62#) = happyGoto action_151 +action_128 (64#) = happyGoto action_18 +action_128 (72#) = happyGoto action_19 +action_128 x = happyTcHack x happyFail + +action_129 (95#) = happyShift action_21 +action_129 (97#) = happyShift action_22 +action_129 (98#) = happyShift action_23 +action_129 (111#) = happyShift action_24 +action_129 (115#) = happyShift action_25 +action_129 (117#) = happyShift action_26 +action_129 (118#) = happyShift action_27 +action_129 (119#) = happyShift action_28 +action_129 (120#) = happyShift action_29 +action_129 (121#) = happyShift action_30 +action_129 (122#) = happyShift action_31 +action_129 (123#) = happyShift action_32 +action_129 (124#) = happyShift action_33 +action_129 (128#) = happyShift action_34 +action_129 (131#) = happyShift action_35 +action_129 (134#) = happyShift action_36 +action_129 (137#) = happyShift action_37 +action_129 (142#) = happyShift action_38 +action_129 (153#) = happyShift action_39 +action_129 (154#) = happyShift action_40 +action_129 (158#) = happyShift action_41 +action_129 (159#) = happyShift action_42 +action_129 (164#) = happyShift action_43 +action_129 (167#) = happyShift action_44 +action_129 (170#) = happyShift action_6 +action_129 (171#) = happyShift action_45 +action_129 (172#) = happyShift action_46 +action_129 (173#) = happyShift action_47 +action_129 (174#) = happyShift action_48 +action_129 (8#) = happyGoto action_7 +action_129 (9#) = happyGoto action_8 +action_129 (10#) = happyGoto action_9 +action_129 (11#) = happyGoto action_10 +action_129 (12#) = happyGoto action_11 +action_129 (58#) = happyGoto action_12 +action_129 (59#) = happyGoto action_13 +action_129 (60#) = happyGoto action_14 +action_129 (61#) = happyGoto action_15 +action_129 (62#) = happyGoto action_16 +action_129 (63#) = happyGoto action_148 +action_129 (64#) = happyGoto action_18 +action_129 (72#) = happyGoto action_19 +action_129 (77#) = happyGoto action_20 +action_129 x = happyTcHack x happyFail + +action_130 (95#) = happyShift action_21 +action_130 (97#) = happyShift action_22 +action_130 (98#) = happyShift action_87 +action_130 (111#) = happyShift action_24 +action_130 (115#) = happyShift action_25 +action_130 (117#) = happyShift action_26 +action_130 (118#) = happyShift action_27 +action_130 (119#) = happyShift action_28 +action_130 (120#) = happyShift action_29 +action_130 (121#) = happyShift action_30 +action_130 (122#) = happyShift action_31 +action_130 (123#) = happyShift action_32 +action_130 (128#) = happyShift action_34 +action_130 (131#) = happyShift action_35 +action_130 (153#) = happyShift action_39 +action_130 (154#) = happyShift action_40 +action_130 (158#) = happyShift action_41 +action_130 (159#) = happyShift action_42 +action_130 (164#) = happyShift action_43 +action_130 (167#) = happyShift action_44 +action_130 (170#) = happyShift action_6 +action_130 (171#) = happyShift action_45 +action_130 (172#) = happyShift action_46 +action_130 (173#) = happyShift action_47 +action_130 (174#) = happyShift action_48 +action_130 (8#) = happyGoto action_7 +action_130 (9#) = happyGoto action_8 +action_130 (10#) = happyGoto action_9 +action_130 (11#) = happyGoto action_10 +action_130 (12#) = happyGoto action_11 +action_130 (58#) = happyGoto action_12 +action_130 (59#) = happyGoto action_13 +action_130 (60#) = happyGoto action_147 +action_130 (72#) = happyGoto action_19 +action_130 x = happyTcHack x happyFail + +action_131 (95#) = happyShift action_21 +action_131 (97#) = happyShift action_22 +action_131 (98#) = happyShift action_87 +action_131 (111#) = happyShift action_24 +action_131 (115#) = happyShift action_25 +action_131 (117#) = happyShift action_26 +action_131 (118#) = happyShift action_27 +action_131 (119#) = happyShift action_28 +action_131 (120#) = happyShift action_29 +action_131 (121#) = happyShift action_30 +action_131 (122#) = happyShift action_31 +action_131 (123#) = happyShift action_32 +action_131 (128#) = happyShift action_34 +action_131 (131#) = happyShift action_35 +action_131 (153#) = happyShift action_39 +action_131 (154#) = happyShift action_40 +action_131 (158#) = happyShift action_41 +action_131 (159#) = happyShift action_42 +action_131 (164#) = happyShift action_43 +action_131 (167#) = happyShift action_44 +action_131 (170#) = happyShift action_6 +action_131 (171#) = happyShift action_45 +action_131 (172#) = happyShift action_46 +action_131 (173#) = happyShift action_47 +action_131 (174#) = happyShift action_48 +action_131 (8#) = happyGoto action_7 +action_131 (9#) = happyGoto action_8 +action_131 (10#) = happyGoto action_9 +action_131 (11#) = happyGoto action_10 +action_131 (12#) = happyGoto action_11 +action_131 (58#) = happyGoto action_12 +action_131 (59#) = happyGoto action_13 +action_131 (60#) = happyGoto action_146 +action_131 (72#) = happyGoto action_19 +action_131 x = happyTcHack x happyFail + +action_132 (95#) = happyShift action_21 +action_132 (97#) = happyShift action_22 +action_132 (98#) = happyShift action_87 +action_132 (111#) = happyShift action_24 +action_132 (115#) = happyShift action_25 +action_132 (117#) = happyShift action_26 +action_132 (118#) = happyShift action_27 +action_132 (119#) = happyShift action_28 +action_132 (120#) = happyShift action_29 +action_132 (121#) = happyShift action_30 +action_132 (122#) = happyShift action_31 +action_132 (123#) = happyShift action_32 +action_132 (128#) = happyShift action_34 +action_132 (131#) = happyShift action_35 +action_132 (153#) = happyShift action_39 +action_132 (154#) = happyShift action_40 +action_132 (158#) = happyShift action_41 +action_132 (159#) = happyShift action_42 +action_132 (164#) = happyShift action_43 +action_132 (167#) = happyShift action_44 +action_132 (170#) = happyShift action_6 +action_132 (171#) = happyShift action_45 +action_132 (172#) = happyShift action_46 +action_132 (173#) = happyShift action_47 +action_132 (174#) = happyShift action_48 +action_132 (8#) = happyGoto action_7 +action_132 (9#) = happyGoto action_8 +action_132 (10#) = happyGoto action_9 +action_132 (11#) = happyGoto action_10 +action_132 (12#) = happyGoto action_11 +action_132 (58#) = happyGoto action_12 +action_132 (59#) = happyGoto action_13 +action_132 (60#) = happyGoto action_145 +action_132 (72#) = happyGoto action_19 +action_132 x = happyTcHack x happyFail + +action_133 (95#) = happyShift action_21 +action_133 (97#) = happyShift action_22 +action_133 (98#) = happyShift action_23 +action_133 (111#) = happyShift action_24 +action_133 (115#) = happyShift action_25 +action_133 (117#) = happyShift action_26 +action_133 (118#) = happyShift action_27 +action_133 (119#) = happyShift action_28 +action_133 (120#) = happyShift action_29 +action_133 (121#) = happyShift action_30 +action_133 (122#) = happyShift action_31 +action_133 (123#) = happyShift action_32 +action_133 (124#) = happyShift action_33 +action_133 (128#) = happyShift action_34 +action_133 (131#) = happyShift action_35 +action_133 (134#) = happyShift action_36 +action_133 (137#) = happyShift action_37 +action_133 (142#) = happyShift action_38 +action_133 (153#) = happyShift action_39 +action_133 (154#) = happyShift action_40 +action_133 (158#) = happyShift action_41 +action_133 (159#) = happyShift action_42 +action_133 (164#) = happyShift action_43 +action_133 (167#) = happyShift action_44 +action_133 (170#) = happyShift action_6 +action_133 (171#) = happyShift action_45 +action_133 (172#) = happyShift action_46 +action_133 (173#) = happyShift action_47 +action_133 (174#) = happyShift action_48 +action_133 (8#) = happyGoto action_7 +action_133 (9#) = happyGoto action_8 +action_133 (10#) = happyGoto action_9 +action_133 (11#) = happyGoto action_10 +action_133 (12#) = happyGoto action_11 +action_133 (58#) = happyGoto action_12 +action_133 (59#) = happyGoto action_13 +action_133 (60#) = happyGoto action_14 +action_133 (61#) = happyGoto action_15 +action_133 (62#) = happyGoto action_16 +action_133 (63#) = happyGoto action_144 +action_133 (64#) = happyGoto action_18 +action_133 (72#) = happyGoto action_19 +action_133 (77#) = happyGoto action_20 +action_133 x = happyTcHack x happyFail + +action_134 (167#) = happyShift action_143 +action_134 x = happyTcHack x happyFail + +action_135 (107#) = happyShift action_136 +action_135 x = happyTcHack x happyReduce_162 + +action_136 (96#) = happyShift action_142 +action_136 (174#) = happyShift action_48 +action_136 (12#) = happyGoto action_140 +action_136 (71#) = happyGoto action_141 +action_136 x = happyTcHack x happyFail + +action_137 (97#) = happyShift action_86 +action_137 (98#) = happyShift action_87 +action_137 (111#) = happyShift action_24 +action_137 (115#) = happyShift action_25 +action_137 (118#) = happyShift action_27 +action_137 (119#) = happyShift action_28 +action_137 (120#) = happyShift action_29 +action_137 (121#) = happyShift action_30 +action_137 (122#) = happyShift action_31 +action_137 (123#) = happyShift action_32 +action_137 (131#) = happyShift action_35 +action_137 (167#) = happyShift action_139 +action_137 (170#) = happyShift action_6 +action_137 (171#) = happyShift action_45 +action_137 (172#) = happyShift action_46 +action_137 (173#) = happyShift action_47 +action_137 (174#) = happyShift action_48 +action_137 (8#) = happyGoto action_7 +action_137 (9#) = happyGoto action_8 +action_137 (10#) = happyGoto action_9 +action_137 (11#) = happyGoto action_10 +action_137 (12#) = happyGoto action_84 +action_137 (58#) = happyGoto action_138 +action_137 (72#) = happyGoto action_19 +action_137 x = happyTcHack x happyFail + +action_138 x = happyTcHack x happyReduce_170 + +action_139 (174#) = happyShift action_48 +action_139 (12#) = happyGoto action_348 +action_139 (53#) = happyGoto action_80 +action_139 (56#) = happyGoto action_81 +action_139 (57#) = happyGoto action_82 +action_139 x = happyTcHack x happyReduce_137 + +action_140 x = happyTcHack x happyReduce_222 + +action_141 x = happyTcHack x happyReduce_158 + +action_142 (170#) = happyShift action_6 +action_142 (8#) = happyGoto action_347 +action_142 x = happyTcHack x happyFail + +action_143 (174#) = happyShift action_48 +action_143 (12#) = happyGoto action_92 +action_143 (53#) = happyGoto action_80 +action_143 (56#) = happyGoto action_81 +action_143 (57#) = happyGoto action_346 +action_143 x = happyTcHack x happyReduce_137 + +action_144 x = happyTcHack x happyReduce_185 + +action_145 (97#) = happyShift action_22 +action_145 (98#) = happyShift action_87 +action_145 (111#) = happyShift action_24 +action_145 (115#) = happyShift action_25 +action_145 (118#) = happyShift action_27 +action_145 (119#) = happyShift action_28 +action_145 (120#) = happyShift action_29 +action_145 (121#) = happyShift action_30 +action_145 (122#) = happyShift action_31 +action_145 (123#) = happyShift action_32 +action_145 (131#) = happyShift action_35 +action_145 (167#) = happyShift action_44 +action_145 (170#) = happyShift action_6 +action_145 (171#) = happyShift action_45 +action_145 (172#) = happyShift action_46 +action_145 (173#) = happyShift action_47 +action_145 (174#) = happyShift action_48 +action_145 (8#) = happyGoto action_7 +action_145 (9#) = happyGoto action_8 +action_145 (10#) = happyGoto action_9 +action_145 (11#) = happyGoto action_10 +action_145 (12#) = happyGoto action_84 +action_145 (58#) = happyGoto action_12 +action_145 (59#) = happyGoto action_135 +action_145 (72#) = happyGoto action_19 +action_145 x = happyTcHack x happyReduce_177 + +action_146 (97#) = happyShift action_22 +action_146 (98#) = happyShift action_87 +action_146 (111#) = happyShift action_24 +action_146 (115#) = happyShift action_25 +action_146 (118#) = happyShift action_27 +action_146 (119#) = happyShift action_28 +action_146 (120#) = happyShift action_29 +action_146 (121#) = happyShift action_30 +action_146 (122#) = happyShift action_31 +action_146 (123#) = happyShift action_32 +action_146 (131#) = happyShift action_35 +action_146 (167#) = happyShift action_44 +action_146 (170#) = happyShift action_6 +action_146 (171#) = happyShift action_45 +action_146 (172#) = happyShift action_46 +action_146 (173#) = happyShift action_47 +action_146 (174#) = happyShift action_48 +action_146 (8#) = happyGoto action_7 +action_146 (9#) = happyGoto action_8 +action_146 (10#) = happyGoto action_9 +action_146 (11#) = happyGoto action_10 +action_146 (12#) = happyGoto action_84 +action_146 (58#) = happyGoto action_12 +action_146 (59#) = happyGoto action_135 +action_146 (72#) = happyGoto action_19 +action_146 x = happyTcHack x happyReduce_176 + +action_147 (97#) = happyShift action_22 +action_147 (98#) = happyShift action_87 +action_147 (111#) = happyShift action_24 +action_147 (115#) = happyShift action_25 +action_147 (118#) = happyShift action_27 +action_147 (119#) = happyShift action_28 +action_147 (120#) = happyShift action_29 +action_147 (121#) = happyShift action_30 +action_147 (122#) = happyShift action_31 +action_147 (123#) = happyShift action_32 +action_147 (131#) = happyShift action_35 +action_147 (167#) = happyShift action_44 +action_147 (170#) = happyShift action_6 +action_147 (171#) = happyShift action_45 +action_147 (172#) = happyShift action_46 +action_147 (173#) = happyShift action_47 +action_147 (174#) = happyShift action_48 +action_147 (8#) = happyGoto action_7 +action_147 (9#) = happyGoto action_8 +action_147 (10#) = happyGoto action_9 +action_147 (11#) = happyGoto action_10 +action_147 (12#) = happyGoto action_84 +action_147 (58#) = happyGoto action_12 +action_147 (59#) = happyGoto action_135 +action_147 (72#) = happyGoto action_19 +action_147 x = happyTcHack x happyReduce_175 + +action_148 x = happyTcHack x happyReduce_181 + +action_149 (97#) = happyShift action_22 +action_149 (98#) = happyShift action_87 +action_149 (111#) = happyShift action_24 +action_149 (115#) = happyShift action_25 +action_149 (118#) = happyShift action_27 +action_149 (119#) = happyShift action_28 +action_149 (120#) = happyShift action_29 +action_149 (121#) = happyShift action_30 +action_149 (122#) = happyShift action_31 +action_149 (123#) = happyShift action_32 +action_149 (131#) = happyShift action_35 +action_149 (167#) = happyShift action_44 +action_149 (170#) = happyShift action_6 +action_149 (171#) = happyShift action_45 +action_149 (172#) = happyShift action_46 +action_149 (173#) = happyShift action_47 +action_149 (174#) = happyShift action_48 +action_149 (8#) = happyGoto action_7 +action_149 (9#) = happyGoto action_8 +action_149 (10#) = happyGoto action_9 +action_149 (11#) = happyGoto action_10 +action_149 (12#) = happyGoto action_84 +action_149 (58#) = happyGoto action_12 +action_149 (59#) = happyGoto action_135 +action_149 (72#) = happyGoto action_19 +action_149 x = happyTcHack x happyReduce_178 + +action_150 (94#) = happyShift action_130 +action_150 (100#) = happyShift action_131 +action_150 (101#) = happyShift action_132 +action_150 x = happyTcHack x happyReduce_192 + +action_151 x = happyTcHack x happyReduce_179 + +action_152 x = happyTcHack x happyReduce_184 + +action_153 (104#) = happyShift action_190 +action_153 (169#) = happyShift action_345 +action_153 x = happyTcHack x happyReduce_128 + +action_154 (112#) = happyShift action_344 +action_154 x = happyTcHack x happyFail + +action_155 (110#) = happyShift action_343 +action_155 x = happyTcHack x happyReduce_230 + +action_156 (169#) = happyShift action_342 +action_156 x = happyTcHack x happyFail + +action_157 (125#) = happyShift action_341 +action_157 x = happyTcHack x happyFail + +action_158 (95#) = happyShift action_120 +action_158 (98#) = happyShift action_121 +action_158 (107#) = happyShift action_310 +action_158 (111#) = happyShift action_122 +action_158 (115#) = happyShift action_123 +action_158 (116#) = happyShift action_311 +action_158 (123#) = happyShift action_124 +action_158 (126#) = happyShift action_125 +action_158 (167#) = happyShift action_126 +action_158 (170#) = happyShift action_6 +action_158 (171#) = happyShift action_45 +action_158 (172#) = happyShift action_46 +action_158 (174#) = happyShift action_48 +action_158 (8#) = happyGoto action_115 +action_158 (9#) = happyGoto action_116 +action_158 (10#) = happyGoto action_117 +action_158 (12#) = happyGoto action_118 +action_158 (67#) = happyGoto action_183 +action_158 (74#) = happyGoto action_309 +action_158 x = happyTcHack x happyReduce_203 + +action_159 (100#) = happyShift action_340 +action_159 x = happyTcHack x happyReduce_217 + +action_160 x = happyTcHack x happyReduce_220 + +action_161 (102#) = happyShift action_306 +action_161 (168#) = happyShift action_308 +action_161 x = happyTcHack x happyReduce_242 + +action_162 (104#) = happyShift action_339 +action_162 x = happyTcHack x happyReduce_247 + +action_163 (114#) = happyShift action_338 +action_163 x = happyTcHack x happyFail + +action_164 (95#) = happyShift action_120 +action_164 (98#) = happyShift action_121 +action_164 (111#) = happyShift action_122 +action_164 (115#) = happyShift action_123 +action_164 (123#) = happyShift action_124 +action_164 (126#) = happyShift action_125 +action_164 (167#) = happyShift action_126 +action_164 (170#) = happyShift action_6 +action_164 (171#) = happyShift action_45 +action_164 (172#) = happyShift action_46 +action_164 (174#) = happyShift action_48 +action_164 (8#) = happyGoto action_115 +action_164 (9#) = happyGoto action_116 +action_164 (10#) = happyGoto action_117 +action_164 (12#) = happyGoto action_118 +action_164 (67#) = happyGoto action_337 +action_164 x = happyTcHack x happyFail + +action_165 (99#) = happyShift action_336 +action_165 (102#) = happyShift action_306 +action_165 (168#) = happyShift action_308 +action_165 x = happyTcHack x happyFail + +action_166 (107#) = happyShift action_335 +action_166 x = happyTcHack x happyReduce_200 + +action_167 (174#) = happyShift action_48 +action_167 (12#) = happyGoto action_334 +action_167 x = happyTcHack x happyFail + +action_168 x = happyTcHack x happyReduce_142 + +action_169 (174#) = happyShift action_48 +action_169 (12#) = happyGoto action_333 +action_169 x = happyTcHack x happyFail + +action_170 (99#) = happyShift action_332 +action_170 x = happyTcHack x happyReduce_140 + +action_171 (95#) = happyShift action_21 +action_171 (97#) = happyShift action_22 +action_171 (98#) = happyShift action_23 +action_171 (111#) = happyShift action_24 +action_171 (115#) = happyShift action_25 +action_171 (117#) = happyShift action_26 +action_171 (118#) = happyShift action_27 +action_171 (119#) = happyShift action_28 +action_171 (120#) = happyShift action_29 +action_171 (121#) = happyShift action_30 +action_171 (122#) = happyShift action_31 +action_171 (123#) = happyShift action_32 +action_171 (124#) = happyShift action_33 +action_171 (128#) = happyShift action_34 +action_171 (131#) = happyShift action_35 +action_171 (134#) = happyShift action_36 +action_171 (137#) = happyShift action_37 +action_171 (142#) = happyShift action_38 +action_171 (153#) = happyShift action_39 +action_171 (154#) = happyShift action_40 +action_171 (158#) = happyShift action_41 +action_171 (159#) = happyShift action_42 +action_171 (164#) = happyShift action_43 +action_171 (167#) = happyShift action_44 +action_171 (170#) = happyShift action_6 +action_171 (171#) = happyShift action_45 +action_171 (172#) = happyShift action_46 +action_171 (173#) = happyShift action_47 +action_171 (174#) = happyShift action_48 +action_171 (8#) = happyGoto action_7 +action_171 (9#) = happyGoto action_8 +action_171 (10#) = happyGoto action_9 +action_171 (11#) = happyGoto action_10 +action_171 (12#) = happyGoto action_11 +action_171 (58#) = happyGoto action_12 +action_171 (59#) = happyGoto action_13 +action_171 (60#) = happyGoto action_14 +action_171 (61#) = happyGoto action_15 +action_171 (62#) = happyGoto action_16 +action_171 (63#) = happyGoto action_331 +action_171 (64#) = happyGoto action_18 +action_171 (72#) = happyGoto action_19 +action_171 (77#) = happyGoto action_20 +action_171 x = happyTcHack x happyFail + +action_172 x = happyTcHack x happyReduce_156 + +action_173 x = happyTcHack x happyReduce_153 + +action_174 (95#) = happyShift action_21 +action_174 (97#) = happyShift action_22 +action_174 (98#) = happyShift action_23 +action_174 (111#) = happyShift action_24 +action_174 (115#) = happyShift action_25 +action_174 (117#) = happyShift action_26 +action_174 (118#) = happyShift action_27 +action_174 (119#) = happyShift action_28 +action_174 (120#) = happyShift action_29 +action_174 (121#) = happyShift action_30 +action_174 (122#) = happyShift action_31 +action_174 (123#) = happyShift action_32 +action_174 (124#) = happyShift action_33 +action_174 (128#) = happyShift action_34 +action_174 (131#) = happyShift action_35 +action_174 (134#) = happyShift action_36 +action_174 (137#) = happyShift action_37 +action_174 (142#) = happyShift action_38 +action_174 (153#) = happyShift action_39 +action_174 (154#) = happyShift action_40 +action_174 (158#) = happyShift action_41 +action_174 (159#) = happyShift action_42 +action_174 (164#) = happyShift action_43 +action_174 (167#) = happyShift action_44 +action_174 (170#) = happyShift action_6 +action_174 (171#) = happyShift action_45 +action_174 (172#) = happyShift action_46 +action_174 (173#) = happyShift action_47 +action_174 (174#) = happyShift action_48 +action_174 (8#) = happyGoto action_7 +action_174 (9#) = happyGoto action_8 +action_174 (10#) = happyGoto action_9 +action_174 (11#) = happyGoto action_10 +action_174 (12#) = happyGoto action_11 +action_174 (58#) = happyGoto action_12 +action_174 (59#) = happyGoto action_13 +action_174 (60#) = happyGoto action_14 +action_174 (61#) = happyGoto action_15 +action_174 (62#) = happyGoto action_16 +action_174 (63#) = happyGoto action_329 +action_174 (64#) = happyGoto action_18 +action_174 (72#) = happyGoto action_19 +action_174 (77#) = happyGoto action_20 +action_174 (78#) = happyGoto action_108 +action_174 (80#) = happyGoto action_330 +action_174 x = happyTcHack x happyReduce_243 + +action_175 (95#) = happyShift action_21 +action_175 (97#) = happyShift action_22 +action_175 (98#) = happyShift action_23 +action_175 (111#) = happyShift action_24 +action_175 (115#) = happyShift action_25 +action_175 (117#) = happyShift action_26 +action_175 (118#) = happyShift action_27 +action_175 (119#) = happyShift action_28 +action_175 (120#) = happyShift action_29 +action_175 (121#) = happyShift action_30 +action_175 (122#) = happyShift action_31 +action_175 (123#) = happyShift action_32 +action_175 (124#) = happyShift action_33 +action_175 (128#) = happyShift action_34 +action_175 (131#) = happyShift action_35 +action_175 (134#) = happyShift action_36 +action_175 (137#) = happyShift action_37 +action_175 (142#) = happyShift action_38 +action_175 (153#) = happyShift action_39 +action_175 (154#) = happyShift action_40 +action_175 (158#) = happyShift action_41 +action_175 (159#) = happyShift action_42 +action_175 (164#) = happyShift action_43 +action_175 (167#) = happyShift action_44 +action_175 (170#) = happyShift action_6 +action_175 (171#) = happyShift action_45 +action_175 (172#) = happyShift action_46 +action_175 (173#) = happyShift action_47 +action_175 (174#) = happyShift action_48 +action_175 (8#) = happyGoto action_7 +action_175 (9#) = happyGoto action_8 +action_175 (10#) = happyGoto action_9 +action_175 (11#) = happyGoto action_10 +action_175 (12#) = happyGoto action_11 +action_175 (58#) = happyGoto action_12 +action_175 (59#) = happyGoto action_13 +action_175 (60#) = happyGoto action_14 +action_175 (61#) = happyGoto action_15 +action_175 (62#) = happyGoto action_16 +action_175 (63#) = happyGoto action_328 +action_175 (64#) = happyGoto action_18 +action_175 (72#) = happyGoto action_19 +action_175 (77#) = happyGoto action_20 +action_175 x = happyTcHack x happyFail + +action_176 (97#) = happyShift action_86 +action_176 (98#) = happyShift action_87 +action_176 (111#) = happyShift action_24 +action_176 (115#) = happyShift action_25 +action_176 (118#) = happyShift action_27 +action_176 (119#) = happyShift action_28 +action_176 (120#) = happyShift action_29 +action_176 (121#) = happyShift action_30 +action_176 (122#) = happyShift action_31 +action_176 (123#) = happyShift action_32 +action_176 (131#) = happyShift action_35 +action_176 (167#) = happyShift action_139 +action_176 (170#) = happyShift action_6 +action_176 (171#) = happyShift action_45 +action_176 (172#) = happyShift action_46 +action_176 (173#) = happyShift action_47 +action_176 (174#) = happyShift action_48 +action_176 (8#) = happyGoto action_7 +action_176 (9#) = happyGoto action_8 +action_176 (10#) = happyGoto action_9 +action_176 (11#) = happyGoto action_10 +action_176 (12#) = happyGoto action_84 +action_176 (58#) = happyGoto action_176 +action_176 (66#) = happyGoto action_327 +action_176 (72#) = happyGoto action_19 +action_176 x = happyTcHack x happyReduce_196 + +action_177 (125#) = happyShift action_326 +action_177 x = happyTcHack x happyFail + +action_178 x = happyTcHack x happyReduce_151 + +action_179 (113#) = happyShift action_325 +action_179 x = happyTcHack x happyFail + +action_180 (95#) = happyShift action_21 +action_180 (97#) = happyShift action_22 +action_180 (98#) = happyShift action_23 +action_180 (111#) = happyShift action_24 +action_180 (115#) = happyShift action_25 +action_180 (117#) = happyShift action_26 +action_180 (118#) = happyShift action_27 +action_180 (119#) = happyShift action_28 +action_180 (120#) = happyShift action_29 +action_180 (121#) = happyShift action_30 +action_180 (122#) = happyShift action_31 +action_180 (123#) = happyShift action_32 +action_180 (124#) = happyShift action_33 +action_180 (128#) = happyShift action_34 +action_180 (131#) = happyShift action_35 +action_180 (134#) = happyShift action_36 +action_180 (137#) = happyShift action_37 +action_180 (142#) = happyShift action_38 +action_180 (153#) = happyShift action_39 +action_180 (154#) = happyShift action_40 +action_180 (158#) = happyShift action_41 +action_180 (159#) = happyShift action_42 +action_180 (164#) = happyShift action_43 +action_180 (167#) = happyShift action_44 +action_180 (170#) = happyShift action_6 +action_180 (171#) = happyShift action_45 +action_180 (172#) = happyShift action_46 +action_180 (173#) = happyShift action_47 +action_180 (174#) = happyShift action_48 +action_180 (8#) = happyGoto action_7 +action_180 (9#) = happyGoto action_8 +action_180 (10#) = happyGoto action_9 +action_180 (11#) = happyGoto action_10 +action_180 (12#) = happyGoto action_11 +action_180 (58#) = happyGoto action_12 +action_180 (59#) = happyGoto action_13 +action_180 (60#) = happyGoto action_14 +action_180 (61#) = happyGoto action_15 +action_180 (62#) = happyGoto action_16 +action_180 (63#) = happyGoto action_324 +action_180 (64#) = happyGoto action_18 +action_180 (72#) = happyGoto action_19 +action_180 (77#) = happyGoto action_20 +action_180 x = happyTcHack x happyFail + +action_181 (126#) = happyShift action_102 +action_181 (174#) = happyShift action_48 +action_181 (12#) = happyGoto action_98 +action_181 (75#) = happyGoto action_99 +action_181 (76#) = happyGoto action_323 +action_181 x = happyTcHack x happyReduce_236 + +action_182 (167#) = happyShift action_322 +action_182 x = happyTcHack x happyFail + +action_183 (95#) = happyShift action_120 +action_183 (98#) = happyShift action_121 +action_183 (111#) = happyShift action_122 +action_183 (115#) = happyShift action_123 +action_183 (123#) = happyShift action_124 +action_183 (126#) = happyShift action_125 +action_183 (167#) = happyShift action_126 +action_183 (170#) = happyShift action_6 +action_183 (171#) = happyShift action_45 +action_183 (172#) = happyShift action_46 +action_183 (174#) = happyShift action_48 +action_183 (8#) = happyGoto action_115 +action_183 (9#) = happyGoto action_116 +action_183 (10#) = happyGoto action_117 +action_183 (12#) = happyGoto action_118 +action_183 (67#) = happyGoto action_183 +action_183 (74#) = happyGoto action_321 +action_183 x = happyTcHack x happyReduce_232 + +action_184 (106#) = happyShift action_320 +action_184 x = happyTcHack x happyFail + +action_185 (110#) = happyShift action_319 +action_185 x = happyTcHack x happyReduce_254 + +action_186 (169#) = happyShift action_318 +action_186 x = happyTcHack x happyFail + +action_187 x = happyTcHack x happyReduce_190 + +action_188 (169#) = happyShift action_317 +action_188 x = happyTcHack x happyFail + +action_189 (95#) = happyShift action_21 +action_189 (97#) = happyShift action_22 +action_189 (98#) = happyShift action_23 +action_189 (111#) = happyShift action_24 +action_189 (115#) = happyShift action_25 +action_189 (117#) = happyShift action_26 +action_189 (118#) = happyShift action_27 +action_189 (119#) = happyShift action_28 +action_189 (120#) = happyShift action_29 +action_189 (121#) = happyShift action_30 +action_189 (122#) = happyShift action_31 +action_189 (123#) = happyShift action_32 +action_189 (124#) = happyShift action_33 +action_189 (128#) = happyShift action_34 +action_189 (131#) = happyShift action_35 +action_189 (134#) = happyShift action_36 +action_189 (137#) = happyShift action_37 +action_189 (142#) = happyShift action_38 +action_189 (153#) = happyShift action_39 +action_189 (154#) = happyShift action_40 +action_189 (158#) = happyShift action_41 +action_189 (159#) = happyShift action_42 +action_189 (164#) = happyShift action_43 +action_189 (167#) = happyShift action_44 +action_189 (170#) = happyShift action_6 +action_189 (171#) = happyShift action_45 +action_189 (172#) = happyShift action_46 +action_189 (173#) = happyShift action_47 +action_189 (174#) = happyShift action_48 +action_189 (8#) = happyGoto action_7 +action_189 (9#) = happyGoto action_8 +action_189 (10#) = happyGoto action_9 +action_189 (11#) = happyGoto action_10 +action_189 (12#) = happyGoto action_11 +action_189 (58#) = happyGoto action_12 +action_189 (59#) = happyGoto action_13 +action_189 (60#) = happyGoto action_14 +action_189 (61#) = happyGoto action_15 +action_189 (62#) = happyGoto action_16 +action_189 (63#) = happyGoto action_316 +action_189 (64#) = happyGoto action_18 +action_189 (72#) = happyGoto action_19 +action_189 (77#) = happyGoto action_20 +action_189 x = happyTcHack x happyFail + +action_190 (174#) = happyShift action_48 +action_190 (12#) = happyGoto action_92 +action_190 (53#) = happyGoto action_315 +action_190 x = happyTcHack x happyFail + +action_191 (110#) = happyShift action_314 +action_191 x = happyTcHack x happyFail + +action_192 (110#) = happyShift action_313 +action_192 x = happyTcHack x happyReduce_194 + +action_193 (169#) = happyShift action_312 +action_193 x = happyTcHack x happyFail + +action_194 (95#) = happyShift action_120 +action_194 (98#) = happyShift action_121 +action_194 (104#) = happyShift action_190 +action_194 (107#) = happyShift action_310 +action_194 (109#) = happyReduce_128 +action_194 (111#) = happyShift action_122 +action_194 (112#) = happyReduce_128 +action_194 (115#) = happyShift action_123 +action_194 (116#) = happyShift action_311 +action_194 (123#) = happyShift action_124 +action_194 (126#) = happyShift action_125 +action_194 (167#) = happyShift action_126 +action_194 (169#) = happyShift action_207 +action_194 (170#) = happyShift action_6 +action_194 (171#) = happyShift action_45 +action_194 (172#) = happyShift action_46 +action_194 (174#) = happyShift action_48 +action_194 (8#) = happyGoto action_115 +action_194 (9#) = happyGoto action_116 +action_194 (10#) = happyGoto action_117 +action_194 (12#) = happyGoto action_118 +action_194 (67#) = happyGoto action_183 +action_194 (74#) = happyGoto action_309 +action_194 x = happyTcHack x happyReduce_203 + +action_195 (102#) = happyShift action_306 +action_195 (113#) = happyShift action_307 +action_195 (168#) = happyShift action_308 +action_195 x = happyTcHack x happyFail + +action_196 (110#) = happyShift action_305 +action_196 x = happyTcHack x happyReduce_250 + +action_197 (169#) = happyShift action_304 +action_197 x = happyTcHack x happyFail + +action_198 (97#) = happyShift action_168 +action_198 x = happyTcHack x happyFail + +action_199 (95#) = happyShift action_21 +action_199 (97#) = happyShift action_22 +action_199 (98#) = happyShift action_23 +action_199 (111#) = happyShift action_24 +action_199 (115#) = happyShift action_25 +action_199 (117#) = happyShift action_26 +action_199 (118#) = happyShift action_27 +action_199 (119#) = happyShift action_28 +action_199 (120#) = happyShift action_29 +action_199 (121#) = happyShift action_30 +action_199 (122#) = happyShift action_31 +action_199 (123#) = happyShift action_32 +action_199 (124#) = happyShift action_33 +action_199 (128#) = happyShift action_34 +action_199 (131#) = happyShift action_35 +action_199 (134#) = happyShift action_36 +action_199 (137#) = happyShift action_37 +action_199 (142#) = happyShift action_38 +action_199 (153#) = happyShift action_39 +action_199 (154#) = happyShift action_40 +action_199 (158#) = happyShift action_41 +action_199 (159#) = happyShift action_42 +action_199 (164#) = happyShift action_43 +action_199 (167#) = happyShift action_44 +action_199 (170#) = happyShift action_6 +action_199 (171#) = happyShift action_45 +action_199 (172#) = happyShift action_46 +action_199 (173#) = happyShift action_47 +action_199 (174#) = happyShift action_48 +action_199 (8#) = happyGoto action_7 +action_199 (9#) = happyGoto action_8 +action_199 (10#) = happyGoto action_9 +action_199 (11#) = happyGoto action_10 +action_199 (12#) = happyGoto action_11 +action_199 (58#) = happyGoto action_12 +action_199 (59#) = happyGoto action_13 +action_199 (60#) = happyGoto action_14 +action_199 (61#) = happyGoto action_15 +action_199 (62#) = happyGoto action_16 +action_199 (63#) = happyGoto action_192 +action_199 (64#) = happyGoto action_18 +action_199 (65#) = happyGoto action_303 +action_199 (72#) = happyGoto action_19 +action_199 (77#) = happyGoto action_20 +action_199 x = happyTcHack x happyReduce_193 + +action_200 (95#) = happyShift action_120 +action_200 (98#) = happyShift action_121 +action_200 (105#) = happyShift action_164 +action_200 (111#) = happyShift action_122 +action_200 (115#) = happyShift action_123 +action_200 (123#) = happyShift action_124 +action_200 (126#) = happyShift action_125 +action_200 (167#) = happyShift action_126 +action_200 (170#) = happyShift action_6 +action_200 (171#) = happyShift action_45 +action_200 (172#) = happyShift action_46 +action_200 (174#) = happyShift action_48 +action_200 (8#) = happyGoto action_115 +action_200 (9#) = happyGoto action_116 +action_200 (10#) = happyGoto action_117 +action_200 (12#) = happyGoto action_158 +action_200 (67#) = happyGoto action_159 +action_200 (68#) = happyGoto action_160 +action_200 (69#) = happyGoto action_195 +action_200 (82#) = happyGoto action_196 +action_200 (83#) = happyGoto action_302 +action_200 x = happyTcHack x happyFail + +action_201 (169#) = happyShift action_301 +action_201 x = happyTcHack x happyFail + +action_202 x = happyTcHack x happyReduce_152 + +action_203 (174#) = happyShift action_48 +action_203 (12#) = happyGoto action_92 +action_203 (53#) = happyGoto action_80 +action_203 (56#) = happyGoto action_81 +action_203 (57#) = happyGoto action_300 +action_203 x = happyTcHack x happyReduce_137 + +action_204 (95#) = happyShift action_21 +action_204 (97#) = happyShift action_22 +action_204 (98#) = happyShift action_23 +action_204 (111#) = happyShift action_24 +action_204 (115#) = happyShift action_25 +action_204 (117#) = happyShift action_26 +action_204 (118#) = happyShift action_27 +action_204 (119#) = happyShift action_28 +action_204 (120#) = happyShift action_29 +action_204 (121#) = happyShift action_30 +action_204 (122#) = happyShift action_31 +action_204 (123#) = happyShift action_32 +action_204 (124#) = happyShift action_33 +action_204 (128#) = happyShift action_34 +action_204 (131#) = happyShift action_35 +action_204 (134#) = happyShift action_36 +action_204 (137#) = happyShift action_37 +action_204 (142#) = happyShift action_38 +action_204 (153#) = happyShift action_39 +action_204 (154#) = happyShift action_40 +action_204 (158#) = happyShift action_41 +action_204 (159#) = happyShift action_42 +action_204 (164#) = happyShift action_43 +action_204 (167#) = happyShift action_44 +action_204 (170#) = happyShift action_6 +action_204 (171#) = happyShift action_45 +action_204 (172#) = happyShift action_46 +action_204 (173#) = happyShift action_47 +action_204 (174#) = happyShift action_48 +action_204 (8#) = happyGoto action_7 +action_204 (9#) = happyGoto action_8 +action_204 (10#) = happyGoto action_9 +action_204 (11#) = happyGoto action_10 +action_204 (12#) = happyGoto action_11 +action_204 (58#) = happyGoto action_12 +action_204 (59#) = happyGoto action_13 +action_204 (60#) = happyGoto action_14 +action_204 (61#) = happyGoto action_15 +action_204 (62#) = happyGoto action_16 +action_204 (63#) = happyGoto action_299 +action_204 (64#) = happyGoto action_18 +action_204 (72#) = happyGoto action_19 +action_204 (77#) = happyGoto action_20 +action_204 x = happyTcHack x happyFail + +action_205 (95#) = happyShift action_21 +action_205 (97#) = happyShift action_22 +action_205 (98#) = happyShift action_23 +action_205 (111#) = happyShift action_24 +action_205 (115#) = happyShift action_25 +action_205 (117#) = happyShift action_26 +action_205 (118#) = happyShift action_27 +action_205 (119#) = happyShift action_28 +action_205 (120#) = happyShift action_29 +action_205 (121#) = happyShift action_30 +action_205 (122#) = happyShift action_31 +action_205 (123#) = happyShift action_32 +action_205 (124#) = happyShift action_33 +action_205 (128#) = happyShift action_34 +action_205 (131#) = happyShift action_35 +action_205 (134#) = happyShift action_36 +action_205 (137#) = happyShift action_37 +action_205 (142#) = happyShift action_38 +action_205 (153#) = happyShift action_39 +action_205 (154#) = happyShift action_40 +action_205 (158#) = happyShift action_41 +action_205 (159#) = happyShift action_42 +action_205 (164#) = happyShift action_43 +action_205 (167#) = happyShift action_44 +action_205 (170#) = happyShift action_6 +action_205 (171#) = happyShift action_45 +action_205 (172#) = happyShift action_46 +action_205 (173#) = happyShift action_47 +action_205 (174#) = happyShift action_48 +action_205 (8#) = happyGoto action_7 +action_205 (9#) = happyGoto action_8 +action_205 (10#) = happyGoto action_9 +action_205 (11#) = happyGoto action_10 +action_205 (12#) = happyGoto action_11 +action_205 (58#) = happyGoto action_12 +action_205 (59#) = happyGoto action_13 +action_205 (60#) = happyGoto action_14 +action_205 (61#) = happyGoto action_15 +action_205 (62#) = happyGoto action_16 +action_205 (63#) = happyGoto action_298 +action_205 (64#) = happyGoto action_18 +action_205 (72#) = happyGoto action_19 +action_205 (77#) = happyGoto action_20 +action_205 x = happyTcHack x happyFail + +action_206 (174#) = happyShift action_48 +action_206 (12#) = happyGoto action_297 +action_206 x = happyTcHack x happyFail + +action_207 x = happyTcHack x happyReduce_141 + +action_208 (1#) = happyReduce_65 +action_208 (101#) = happyReduce_65 +action_208 (148#) = happyReduce_51 +action_208 (157#) = happyShift action_295 +action_208 (162#) = happyShift action_296 +action_208 (174#) = happyShift action_48 +action_208 (12#) = happyGoto action_241 +action_208 (22#) = happyGoto action_291 +action_208 (26#) = happyGoto action_292 +action_208 (32#) = happyGoto action_293 +action_208 (33#) = happyGoto action_294 +action_208 x = happyTcHack x happyReduce_65 + +action_209 x = happyTcHack x happyReduce_49 + +action_210 (123#) = happyShift action_290 +action_210 (174#) = happyShift action_48 +action_210 (12#) = happyGoto action_287 +action_210 (36#) = happyGoto action_288 +action_210 (46#) = happyGoto action_289 +action_210 x = happyTcHack x happyFail + +action_211 (174#) = happyShift action_48 +action_211 (12#) = happyGoto action_283 +action_211 (37#) = happyGoto action_276 +action_211 (38#) = happyGoto action_284 +action_211 (47#) = happyGoto action_285 +action_211 (48#) = happyGoto action_286 +action_211 (53#) = happyGoto action_278 +action_211 x = happyTcHack x happyFail + +action_212 (123#) = happyShift action_257 +action_212 (174#) = happyShift action_48 +action_212 (12#) = happyGoto action_252 +action_212 (34#) = happyGoto action_253 +action_212 (45#) = happyGoto action_282 +action_212 (54#) = happyGoto action_255 +action_212 (55#) = happyGoto action_256 +action_212 x = happyTcHack x happyFail + +action_213 (174#) = happyShift action_48 +action_213 (12#) = happyGoto action_279 +action_213 (44#) = happyGoto action_280 +action_213 (51#) = happyGoto action_281 +action_213 x = happyTcHack x happyFail + +action_214 (174#) = happyShift action_48 +action_214 (12#) = happyGoto action_92 +action_214 (37#) = happyGoto action_276 +action_214 (47#) = happyGoto action_277 +action_214 (53#) = happyGoto action_278 +action_214 x = happyTcHack x happyFail + +action_215 (123#) = happyShift action_257 +action_215 (174#) = happyShift action_48 +action_215 (12#) = happyGoto action_252 +action_215 (34#) = happyGoto action_253 +action_215 (45#) = happyGoto action_275 +action_215 (54#) = happyGoto action_255 +action_215 (55#) = happyGoto action_256 +action_215 x = happyTcHack x happyFail + +action_216 (123#) = happyShift action_257 +action_216 (174#) = happyShift action_48 +action_216 (12#) = happyGoto action_252 +action_216 (43#) = happyGoto action_260 +action_216 (50#) = happyGoto action_274 +action_216 (54#) = happyGoto action_262 +action_216 (55#) = happyGoto action_263 +action_216 x = happyTcHack x happyFail + +action_217 (123#) = happyShift action_257 +action_217 (174#) = happyShift action_48 +action_217 (12#) = happyGoto action_252 +action_217 (34#) = happyGoto action_253 +action_217 (45#) = happyGoto action_273 +action_217 (54#) = happyGoto action_255 +action_217 (55#) = happyGoto action_256 +action_217 x = happyTcHack x happyFail + +action_218 (123#) = happyShift action_257 +action_218 (174#) = happyShift action_48 +action_218 (12#) = happyGoto action_252 +action_218 (34#) = happyGoto action_253 +action_218 (45#) = happyGoto action_272 +action_218 (54#) = happyGoto action_255 +action_218 (55#) = happyGoto action_256 +action_218 x = happyTcHack x happyFail + +action_219 (123#) = happyShift action_257 +action_219 (174#) = happyShift action_48 +action_219 (12#) = happyGoto action_252 +action_219 (34#) = happyGoto action_253 +action_219 (45#) = happyGoto action_271 +action_219 (54#) = happyGoto action_255 +action_219 (55#) = happyGoto action_256 +action_219 x = happyTcHack x happyFail + +action_220 (174#) = happyShift action_48 +action_220 (12#) = happyGoto action_270 +action_220 x = happyTcHack x happyFail + +action_221 (174#) = happyShift action_48 +action_221 (12#) = happyGoto action_267 +action_221 (41#) = happyGoto action_268 +action_221 (49#) = happyGoto action_269 +action_221 x = happyTcHack x happyFail + +action_222 (123#) = happyShift action_257 +action_222 (174#) = happyShift action_48 +action_222 (12#) = happyGoto action_252 +action_222 (34#) = happyGoto action_253 +action_222 (45#) = happyGoto action_266 +action_222 (54#) = happyGoto action_255 +action_222 (55#) = happyGoto action_256 +action_222 x = happyTcHack x happyFail + +action_223 (123#) = happyShift action_257 +action_223 (129#) = happyShift action_264 +action_223 (135#) = happyShift action_265 +action_223 (174#) = happyShift action_48 +action_223 (12#) = happyGoto action_252 +action_223 (43#) = happyGoto action_260 +action_223 (50#) = happyGoto action_261 +action_223 (54#) = happyGoto action_262 +action_223 (55#) = happyGoto action_263 +action_223 x = happyTcHack x happyFail + +action_224 (174#) = happyShift action_48 +action_224 (12#) = happyGoto action_259 +action_224 x = happyTcHack x happyFail + +action_225 (123#) = happyShift action_257 +action_225 (174#) = happyShift action_48 +action_225 (12#) = happyGoto action_252 +action_225 (34#) = happyGoto action_253 +action_225 (45#) = happyGoto action_258 +action_225 (54#) = happyGoto action_255 +action_225 (55#) = happyGoto action_256 +action_225 x = happyTcHack x happyFail + +action_226 (123#) = happyShift action_257 +action_226 (174#) = happyShift action_48 +action_226 (12#) = happyGoto action_252 +action_226 (34#) = happyGoto action_253 +action_226 (45#) = happyGoto action_254 +action_226 (54#) = happyGoto action_255 +action_226 (55#) = happyGoto action_256 +action_226 x = happyTcHack x happyFail + +action_227 x = happyTcHack x happyReduce_269 + +action_228 x = happyTcHack x happyReduce_270 + +action_229 x = happyTcHack x happyReduce_271 + +action_230 (105#) = happyShift action_74 +action_230 (107#) = happyShift action_75 +action_230 (108#) = happyShift action_76 +action_230 (171#) = happyShift action_45 +action_230 (174#) = happyShift action_48 +action_230 (9#) = happyGoto action_70 +action_230 (12#) = happyGoto action_71 +action_230 (92#) = happyGoto action_72 +action_230 (93#) = happyGoto action_251 +action_230 x = happyTcHack x happyReduce_273 + +action_231 x = happyTcHack x happyReduce_272 + +action_232 (109#) = happyShift action_250 +action_232 x = happyTcHack x happyFail + +action_233 x = happyTcHack x happyReduce_35 + +action_234 x = happyTcHack x happyReduce_36 + +action_235 (147#) = happyShift action_249 +action_235 x = happyTcHack x happyFail + +action_236 (147#) = happyShift action_248 +action_236 x = happyTcHack x happyFail + +action_237 x = happyTcHack x happyReduce_34 + +action_238 (148#) = happyReduce_51 +action_238 (157#) = happyShift action_246 +action_238 (162#) = happyShift action_247 +action_238 (167#) = happyReduce_51 +action_238 (174#) = happyShift action_48 +action_238 (12#) = happyGoto action_241 +action_238 (24#) = happyGoto action_242 +action_238 (26#) = happyGoto action_243 +action_238 (32#) = happyGoto action_244 +action_238 (33#) = happyGoto action_245 +action_238 x = happyTcHack x happyReduce_65 + +action_239 (167#) = happyShift action_240 +action_239 x = happyTcHack x happyFail + +action_240 (127#) = happyShift action_418 +action_240 x = happyTcHack x happyFail + +action_241 (105#) = happyShift action_416 +action_241 (123#) = happyShift action_417 +action_241 x = happyTcHack x happyReduce_68 + +action_242 x = happyTcHack x happyReduce_15 + +action_243 (148#) = happyShift action_382 +action_243 (28#) = happyGoto action_415 +action_243 x = happyTcHack x happyReduce_55 + +action_244 (101#) = happyShift action_414 +action_244 x = happyTcHack x happyReduce_41 + +action_245 (104#) = happyShift action_378 +action_245 (166#) = happyShift action_413 +action_245 x = happyTcHack x happyReduce_66 + +action_246 (174#) = happyShift action_48 +action_246 (12#) = happyGoto action_412 +action_246 x = happyTcHack x happyFail + +action_247 (174#) = happyShift action_48 +action_247 (12#) = happyGoto action_241 +action_247 (32#) = happyGoto action_411 +action_247 (33#) = happyGoto action_376 +action_247 x = happyTcHack x happyReduce_65 + +action_248 (174#) = happyShift action_48 +action_248 (12#) = happyGoto action_410 +action_248 x = happyTcHack x happyFail + +action_249 (174#) = happyShift action_48 +action_249 (12#) = happyGoto action_409 +action_249 x = happyTcHack x happyFail + +action_250 (98#) = happyShift action_408 +action_250 (174#) = happyShift action_48 +action_250 (12#) = happyGoto action_406 +action_250 (29#) = happyGoto action_407 +action_250 x = happyTcHack x happyFail + +action_251 x = happyTcHack x happyReduce_274 + +action_252 x = happyTcHack x happyReduce_130 + +action_253 (110#) = happyShift action_405 +action_253 x = happyTcHack x happyFail + +action_254 x = happyTcHack x happyReduce_93 + +action_255 (95#) = happyShift action_120 +action_255 (98#) = happyShift action_121 +action_255 (104#) = happyShift action_398 +action_255 (111#) = happyShift action_122 +action_255 (115#) = happyShift action_123 +action_255 (123#) = happyShift action_124 +action_255 (126#) = happyShift action_125 +action_255 (167#) = happyShift action_126 +action_255 (170#) = happyShift action_6 +action_255 (171#) = happyShift action_45 +action_255 (172#) = happyShift action_46 +action_255 (174#) = happyShift action_48 +action_255 (8#) = happyGoto action_115 +action_255 (9#) = happyGoto action_116 +action_255 (10#) = happyGoto action_117 +action_255 (12#) = happyGoto action_118 +action_255 (67#) = happyGoto action_183 +action_255 (74#) = happyGoto action_404 +action_255 x = happyTcHack x happyReduce_132 + +action_256 (109#) = happyShift action_402 +action_256 (112#) = happyShift action_403 +action_256 x = happyTcHack x happyFail + +action_257 (174#) = happyShift action_48 +action_257 (12#) = happyGoto action_401 +action_257 x = happyTcHack x happyFail + +action_258 x = happyTcHack x happyReduce_80 + +action_259 (110#) = happyShift action_400 +action_259 x = happyTcHack x happyFail + +action_260 (110#) = happyShift action_399 +action_260 x = happyTcHack x happyFail + +action_261 x = happyTcHack x happyReduce_89 + +action_262 (104#) = happyShift action_398 +action_262 x = happyTcHack x happyReduce_132 + +action_263 (112#) = happyShift action_397 +action_263 x = happyTcHack x happyFail + +action_264 (123#) = happyShift action_257 +action_264 (174#) = happyShift action_48 +action_264 (12#) = happyGoto action_252 +action_264 (43#) = happyGoto action_260 +action_264 (50#) = happyGoto action_396 +action_264 (54#) = happyGoto action_262 +action_264 (55#) = happyGoto action_263 +action_264 x = happyTcHack x happyFail + +action_265 (123#) = happyShift action_257 +action_265 (174#) = happyShift action_48 +action_265 (12#) = happyGoto action_252 +action_265 (43#) = happyGoto action_260 +action_265 (50#) = happyGoto action_395 +action_265 (54#) = happyGoto action_262 +action_265 (55#) = happyGoto action_263 +action_265 x = happyTcHack x happyFail + +action_266 x = happyTcHack x happyReduce_91 + +action_267 (112#) = happyShift action_394 +action_267 x = happyTcHack x happyReduce_107 + +action_268 (110#) = happyShift action_393 +action_268 x = happyTcHack x happyFail + +action_269 x = happyTcHack x happyReduce_81 + +action_270 (112#) = happyShift action_392 +action_270 x = happyTcHack x happyFail + +action_271 x = happyTcHack x happyReduce_82 + +action_272 x = happyTcHack x happyReduce_90 + +action_273 x = happyTcHack x happyReduce_84 + +action_274 x = happyTcHack x happyReduce_83 + +action_275 x = happyTcHack x happyReduce_85 + +action_276 (110#) = happyShift action_391 +action_276 x = happyTcHack x happyFail + +action_277 x = happyTcHack x happyReduce_76 + +action_278 (109#) = happyShift action_390 +action_278 x = happyTcHack x happyFail + +action_279 (112#) = happyShift action_389 +action_279 x = happyTcHack x happyFail + +action_280 (110#) = happyShift action_388 +action_280 x = happyTcHack x happyFail + +action_281 x = happyTcHack x happyReduce_88 + +action_282 x = happyTcHack x happyReduce_78 + +action_283 (104#) = happyShift action_190 +action_283 (112#) = happyShift action_387 +action_283 x = happyTcHack x happyReduce_128 + +action_284 (110#) = happyShift action_386 +action_284 x = happyTcHack x happyFail + +action_285 x = happyTcHack x happyReduce_77 + +action_286 x = happyTcHack x happyReduce_79 + +action_287 (89#) = happyGoto action_385 +action_287 x = happyTcHack x happyReduce_262 + +action_288 (110#) = happyShift action_384 +action_288 x = happyTcHack x happyFail + +action_289 x = happyTcHack x happyReduce_75 + +action_290 (174#) = happyShift action_48 +action_290 (12#) = happyGoto action_383 +action_290 x = happyTcHack x happyFail + +action_291 x = happyTcHack x happyReduce_25 + +action_292 (148#) = happyShift action_382 +action_292 (28#) = happyGoto action_381 +action_292 x = happyTcHack x happyReduce_55 + +action_293 (101#) = happyShift action_380 +action_293 x = happyTcHack x happyReduce_27 + +action_294 (104#) = happyShift action_378 +action_294 (166#) = happyShift action_379 +action_294 x = happyTcHack x happyReduce_66 + +action_295 (174#) = happyShift action_48 +action_295 (12#) = happyGoto action_377 +action_295 x = happyTcHack x happyFail + +action_296 (174#) = happyShift action_48 +action_296 (12#) = happyGoto action_241 +action_296 (32#) = happyGoto action_375 +action_296 (33#) = happyGoto action_376 +action_296 x = happyTcHack x happyReduce_65 + +action_297 (169#) = happyShift action_374 +action_297 x = happyTcHack x happyFail + +action_298 x = happyTcHack x happyReduce_135 + +action_299 (112#) = happyShift action_373 +action_299 x = happyTcHack x happyReduce_134 + +action_300 x = happyTcHack x happyReduce_139 + +action_301 x = happyTcHack x happyReduce_167 + +action_302 (169#) = happyShift action_372 +action_302 x = happyTcHack x happyFail + +action_303 (125#) = happyShift action_371 +action_303 x = happyTcHack x happyFail + +action_304 x = happyTcHack x happyReduce_163 + +action_305 (95#) = happyShift action_120 +action_305 (98#) = happyShift action_121 +action_305 (105#) = happyShift action_164 +action_305 (111#) = happyShift action_122 +action_305 (115#) = happyShift action_123 +action_305 (123#) = happyShift action_124 +action_305 (126#) = happyShift action_125 +action_305 (167#) = happyShift action_126 +action_305 (170#) = happyShift action_6 +action_305 (171#) = happyShift action_45 +action_305 (172#) = happyShift action_46 +action_305 (174#) = happyShift action_48 +action_305 (8#) = happyGoto action_115 +action_305 (9#) = happyGoto action_116 +action_305 (10#) = happyGoto action_117 +action_305 (12#) = happyGoto action_158 +action_305 (67#) = happyGoto action_159 +action_305 (68#) = happyGoto action_160 +action_305 (69#) = happyGoto action_195 +action_305 (82#) = happyGoto action_196 +action_305 (83#) = happyGoto action_370 +action_305 x = happyTcHack x happyFail + +action_306 (95#) = happyShift action_120 +action_306 (98#) = happyShift action_121 +action_306 (105#) = happyShift action_164 +action_306 (111#) = happyShift action_122 +action_306 (115#) = happyShift action_123 +action_306 (123#) = happyShift action_124 +action_306 (126#) = happyShift action_125 +action_306 (167#) = happyShift action_126 +action_306 (170#) = happyShift action_6 +action_306 (171#) = happyShift action_45 +action_306 (172#) = happyShift action_46 +action_306 (174#) = happyShift action_48 +action_306 (8#) = happyGoto action_115 +action_306 (9#) = happyGoto action_116 +action_306 (10#) = happyGoto action_117 +action_306 (12#) = happyGoto action_158 +action_306 (67#) = happyGoto action_159 +action_306 (68#) = happyGoto action_369 +action_306 x = happyTcHack x happyFail + +action_307 (95#) = happyShift action_21 +action_307 (97#) = happyShift action_22 +action_307 (98#) = happyShift action_23 +action_307 (111#) = happyShift action_24 +action_307 (115#) = happyShift action_25 +action_307 (117#) = happyShift action_26 +action_307 (118#) = happyShift action_27 +action_307 (119#) = happyShift action_28 +action_307 (120#) = happyShift action_29 +action_307 (121#) = happyShift action_30 +action_307 (122#) = happyShift action_31 +action_307 (123#) = happyShift action_32 +action_307 (124#) = happyShift action_33 +action_307 (128#) = happyShift action_34 +action_307 (131#) = happyShift action_35 +action_307 (134#) = happyShift action_36 +action_307 (137#) = happyShift action_37 +action_307 (142#) = happyShift action_38 +action_307 (153#) = happyShift action_39 +action_307 (154#) = happyShift action_40 +action_307 (158#) = happyShift action_41 +action_307 (159#) = happyShift action_42 +action_307 (164#) = happyShift action_43 +action_307 (167#) = happyShift action_44 +action_307 (170#) = happyShift action_6 +action_307 (171#) = happyShift action_45 +action_307 (172#) = happyShift action_46 +action_307 (173#) = happyShift action_47 +action_307 (174#) = happyShift action_48 +action_307 (8#) = happyGoto action_7 +action_307 (9#) = happyGoto action_8 +action_307 (10#) = happyGoto action_9 +action_307 (11#) = happyGoto action_10 +action_307 (12#) = happyGoto action_11 +action_307 (58#) = happyGoto action_12 +action_307 (59#) = happyGoto action_13 +action_307 (60#) = happyGoto action_14 +action_307 (61#) = happyGoto action_15 +action_307 (62#) = happyGoto action_16 +action_307 (63#) = happyGoto action_368 +action_307 (64#) = happyGoto action_18 +action_307 (72#) = happyGoto action_19 +action_307 (77#) = happyGoto action_20 +action_307 x = happyTcHack x happyFail + +action_308 (95#) = happyShift action_120 +action_308 (98#) = happyShift action_121 +action_308 (105#) = happyShift action_164 +action_308 (111#) = happyShift action_122 +action_308 (115#) = happyShift action_123 +action_308 (123#) = happyShift action_124 +action_308 (126#) = happyShift action_125 +action_308 (167#) = happyShift action_126 +action_308 (170#) = happyShift action_6 +action_308 (171#) = happyShift action_45 +action_308 (172#) = happyShift action_46 +action_308 (174#) = happyShift action_48 +action_308 (8#) = happyGoto action_115 +action_308 (9#) = happyGoto action_116 +action_308 (10#) = happyGoto action_117 +action_308 (12#) = happyGoto action_158 +action_308 (67#) = happyGoto action_159 +action_308 (68#) = happyGoto action_367 +action_308 x = happyTcHack x happyFail + +action_309 x = happyTcHack x happyReduce_212 + +action_310 (174#) = happyShift action_48 +action_310 (12#) = happyGoto action_366 +action_310 x = happyTcHack x happyFail + +action_311 (95#) = happyShift action_120 +action_311 (98#) = happyShift action_121 +action_311 (111#) = happyShift action_122 +action_311 (115#) = happyShift action_123 +action_311 (123#) = happyShift action_124 +action_311 (126#) = happyShift action_125 +action_311 (167#) = happyShift action_126 +action_311 (170#) = happyShift action_6 +action_311 (171#) = happyShift action_45 +action_311 (172#) = happyShift action_46 +action_311 (174#) = happyShift action_48 +action_311 (8#) = happyGoto action_115 +action_311 (9#) = happyGoto action_116 +action_311 (10#) = happyGoto action_117 +action_311 (12#) = happyGoto action_118 +action_311 (67#) = happyGoto action_365 +action_311 x = happyTcHack x happyFail + +action_312 x = happyTcHack x happyReduce_169 + +action_313 (95#) = happyShift action_21 +action_313 (97#) = happyShift action_22 +action_313 (98#) = happyShift action_23 +action_313 (111#) = happyShift action_24 +action_313 (115#) = happyShift action_25 +action_313 (117#) = happyShift action_26 +action_313 (118#) = happyShift action_27 +action_313 (119#) = happyShift action_28 +action_313 (120#) = happyShift action_29 +action_313 (121#) = happyShift action_30 +action_313 (122#) = happyShift action_31 +action_313 (123#) = happyShift action_32 +action_313 (124#) = happyShift action_33 +action_313 (128#) = happyShift action_34 +action_313 (131#) = happyShift action_35 +action_313 (134#) = happyShift action_36 +action_313 (137#) = happyShift action_37 +action_313 (142#) = happyShift action_38 +action_313 (153#) = happyShift action_39 +action_313 (154#) = happyShift action_40 +action_313 (158#) = happyShift action_41 +action_313 (159#) = happyShift action_42 +action_313 (164#) = happyShift action_43 +action_313 (167#) = happyShift action_44 +action_313 (170#) = happyShift action_6 +action_313 (171#) = happyShift action_45 +action_313 (172#) = happyShift action_46 +action_313 (173#) = happyShift action_47 +action_313 (174#) = happyShift action_48 +action_313 (8#) = happyGoto action_7 +action_313 (9#) = happyGoto action_8 +action_313 (10#) = happyGoto action_9 +action_313 (11#) = happyGoto action_10 +action_313 (12#) = happyGoto action_11 +action_313 (58#) = happyGoto action_12 +action_313 (59#) = happyGoto action_13 +action_313 (60#) = happyGoto action_14 +action_313 (61#) = happyGoto action_15 +action_313 (62#) = happyGoto action_16 +action_313 (63#) = happyGoto action_192 +action_313 (64#) = happyGoto action_18 +action_313 (65#) = happyGoto action_364 +action_313 (72#) = happyGoto action_19 +action_313 (77#) = happyGoto action_20 +action_313 x = happyTcHack x happyReduce_193 + +action_314 (95#) = happyShift action_21 +action_314 (97#) = happyShift action_22 +action_314 (98#) = happyShift action_23 +action_314 (111#) = happyShift action_24 +action_314 (115#) = happyShift action_25 +action_314 (117#) = happyShift action_26 +action_314 (118#) = happyShift action_27 +action_314 (119#) = happyShift action_28 +action_314 (120#) = happyShift action_29 +action_314 (121#) = happyShift action_30 +action_314 (122#) = happyShift action_31 +action_314 (123#) = happyShift action_32 +action_314 (124#) = happyShift action_33 +action_314 (128#) = happyShift action_34 +action_314 (131#) = happyShift action_35 +action_314 (134#) = happyShift action_36 +action_314 (137#) = happyShift action_37 +action_314 (142#) = happyShift action_38 +action_314 (153#) = happyShift action_39 +action_314 (154#) = happyShift action_40 +action_314 (158#) = happyShift action_41 +action_314 (159#) = happyShift action_42 +action_314 (164#) = happyShift action_43 +action_314 (167#) = happyShift action_44 +action_314 (170#) = happyShift action_6 +action_314 (171#) = happyShift action_45 +action_314 (172#) = happyShift action_46 +action_314 (173#) = happyShift action_47 +action_314 (174#) = happyShift action_48 +action_314 (8#) = happyGoto action_7 +action_314 (9#) = happyGoto action_8 +action_314 (10#) = happyGoto action_9 +action_314 (11#) = happyGoto action_10 +action_314 (12#) = happyGoto action_11 +action_314 (58#) = happyGoto action_12 +action_314 (59#) = happyGoto action_13 +action_314 (60#) = happyGoto action_14 +action_314 (61#) = happyGoto action_15 +action_314 (62#) = happyGoto action_16 +action_314 (63#) = happyGoto action_361 +action_314 (64#) = happyGoto action_18 +action_314 (72#) = happyGoto action_19 +action_314 (77#) = happyGoto action_20 +action_314 (86#) = happyGoto action_362 +action_314 (87#) = happyGoto action_363 +action_314 x = happyTcHack x happyReduce_257 + +action_315 x = happyTcHack x happyReduce_129 + +action_316 x = happyTcHack x happyReduce_187 + +action_317 (137#) = happyShift action_360 +action_317 x = happyTcHack x happyFail + +action_318 x = happyTcHack x happyReduce_189 + +action_319 (95#) = happyShift action_120 +action_319 (98#) = happyShift action_121 +action_319 (111#) = happyShift action_122 +action_319 (115#) = happyShift action_123 +action_319 (123#) = happyShift action_124 +action_319 (126#) = happyShift action_125 +action_319 (167#) = happyShift action_126 +action_319 (170#) = happyShift action_6 +action_319 (171#) = happyShift action_45 +action_319 (172#) = happyShift action_46 +action_319 (174#) = happyShift action_48 +action_319 (8#) = happyGoto action_115 +action_319 (9#) = happyGoto action_116 +action_319 (10#) = happyGoto action_117 +action_319 (12#) = happyGoto action_118 +action_319 (67#) = happyGoto action_183 +action_319 (74#) = happyGoto action_184 +action_319 (84#) = happyGoto action_185 +action_319 (85#) = happyGoto action_359 +action_319 x = happyTcHack x happyReduce_253 + +action_320 (95#) = happyShift action_21 +action_320 (97#) = happyShift action_22 +action_320 (98#) = happyShift action_23 +action_320 (111#) = happyShift action_24 +action_320 (115#) = happyShift action_25 +action_320 (117#) = happyShift action_26 +action_320 (118#) = happyShift action_27 +action_320 (119#) = happyShift action_28 +action_320 (120#) = happyShift action_29 +action_320 (121#) = happyShift action_30 +action_320 (122#) = happyShift action_31 +action_320 (123#) = happyShift action_32 +action_320 (124#) = happyShift action_33 +action_320 (128#) = happyShift action_34 +action_320 (131#) = happyShift action_35 +action_320 (134#) = happyShift action_36 +action_320 (137#) = happyShift action_37 +action_320 (142#) = happyShift action_38 +action_320 (153#) = happyShift action_39 +action_320 (154#) = happyShift action_40 +action_320 (158#) = happyShift action_41 +action_320 (159#) = happyShift action_42 +action_320 (164#) = happyShift action_43 +action_320 (167#) = happyShift action_44 +action_320 (170#) = happyShift action_6 +action_320 (171#) = happyShift action_45 +action_320 (172#) = happyShift action_46 +action_320 (173#) = happyShift action_47 +action_320 (174#) = happyShift action_48 +action_320 (8#) = happyGoto action_7 +action_320 (9#) = happyGoto action_8 +action_320 (10#) = happyGoto action_9 +action_320 (11#) = happyGoto action_10 +action_320 (12#) = happyGoto action_11 +action_320 (58#) = happyGoto action_12 +action_320 (59#) = happyGoto action_13 +action_320 (60#) = happyGoto action_14 +action_320 (61#) = happyGoto action_15 +action_320 (62#) = happyGoto action_16 +action_320 (63#) = happyGoto action_358 +action_320 (64#) = happyGoto action_18 +action_320 (72#) = happyGoto action_19 +action_320 (77#) = happyGoto action_20 +action_320 x = happyTcHack x happyFail + +action_321 x = happyTcHack x happyReduce_233 + +action_322 (95#) = happyShift action_120 +action_322 (98#) = happyShift action_121 +action_322 (105#) = happyShift action_164 +action_322 (111#) = happyShift action_122 +action_322 (115#) = happyShift action_123 +action_322 (123#) = happyShift action_124 +action_322 (126#) = happyShift action_125 +action_322 (167#) = happyShift action_126 +action_322 (170#) = happyShift action_6 +action_322 (171#) = happyShift action_45 +action_322 (172#) = happyShift action_46 +action_322 (174#) = happyShift action_48 +action_322 (8#) = happyGoto action_115 +action_322 (9#) = happyGoto action_116 +action_322 (10#) = happyGoto action_117 +action_322 (12#) = happyGoto action_158 +action_322 (67#) = happyGoto action_159 +action_322 (68#) = happyGoto action_160 +action_322 (69#) = happyGoto action_195 +action_322 (82#) = happyGoto action_196 +action_322 (83#) = happyGoto action_357 +action_322 x = happyTcHack x happyFail + +action_323 x = happyTcHack x happyReduce_238 + +action_324 x = happyTcHack x happyReduce_182 + +action_325 (95#) = happyShift action_21 +action_325 (97#) = happyShift action_22 +action_325 (98#) = happyShift action_23 +action_325 (111#) = happyShift action_24 +action_325 (115#) = happyShift action_25 +action_325 (117#) = happyShift action_26 +action_325 (118#) = happyShift action_27 +action_325 (119#) = happyShift action_28 +action_325 (120#) = happyShift action_29 +action_325 (121#) = happyShift action_30 +action_325 (122#) = happyShift action_31 +action_325 (123#) = happyShift action_32 +action_325 (124#) = happyShift action_33 +action_325 (128#) = happyShift action_34 +action_325 (131#) = happyShift action_35 +action_325 (134#) = happyShift action_36 +action_325 (137#) = happyShift action_37 +action_325 (142#) = happyShift action_38 +action_325 (153#) = happyShift action_39 +action_325 (154#) = happyShift action_40 +action_325 (158#) = happyShift action_41 +action_325 (159#) = happyShift action_42 +action_325 (164#) = happyShift action_43 +action_325 (167#) = happyShift action_44 +action_325 (170#) = happyShift action_6 +action_325 (171#) = happyShift action_45 +action_325 (172#) = happyShift action_46 +action_325 (173#) = happyShift action_47 +action_325 (174#) = happyShift action_48 +action_325 (8#) = happyGoto action_7 +action_325 (9#) = happyGoto action_8 +action_325 (10#) = happyGoto action_9 +action_325 (11#) = happyGoto action_10 +action_325 (12#) = happyGoto action_11 +action_325 (58#) = happyGoto action_12 +action_325 (59#) = happyGoto action_13 +action_325 (60#) = happyGoto action_14 +action_325 (61#) = happyGoto action_15 +action_325 (62#) = happyGoto action_16 +action_325 (63#) = happyGoto action_356 +action_325 (64#) = happyGoto action_18 +action_325 (72#) = happyGoto action_19 +action_325 (77#) = happyGoto action_20 +action_325 x = happyTcHack x happyFail + +action_326 x = happyTcHack x happyReduce_150 + +action_327 x = happyTcHack x happyReduce_197 + +action_328 (114#) = happyShift action_355 +action_328 x = happyTcHack x happyFail + +action_329 x = happyTcHack x happyReduce_241 + +action_330 x = happyTcHack x happyReduce_245 + +action_331 (99#) = happyShift action_354 +action_331 x = happyTcHack x happyFail + +action_332 x = happyTcHack x happyReduce_154 + +action_333 x = happyTcHack x happyReduce_160 + +action_334 x = happyTcHack x happyReduce_205 + +action_335 (174#) = happyShift action_48 +action_335 (12#) = happyGoto action_353 +action_335 x = happyTcHack x happyFail + +action_336 x = happyTcHack x happyReduce_211 + +action_337 x = happyTcHack x happyReduce_216 + +action_338 x = happyTcHack x happyReduce_210 + +action_339 (95#) = happyShift action_120 +action_339 (98#) = happyShift action_121 +action_339 (105#) = happyShift action_164 +action_339 (111#) = happyShift action_122 +action_339 (115#) = happyShift action_123 +action_339 (123#) = happyShift action_124 +action_339 (126#) = happyShift action_125 +action_339 (167#) = happyShift action_126 +action_339 (170#) = happyShift action_6 +action_339 (171#) = happyShift action_45 +action_339 (172#) = happyShift action_46 +action_339 (174#) = happyShift action_48 +action_339 (8#) = happyGoto action_115 +action_339 (9#) = happyGoto action_116 +action_339 (10#) = happyGoto action_117 +action_339 (12#) = happyGoto action_158 +action_339 (67#) = happyGoto action_159 +action_339 (68#) = happyGoto action_160 +action_339 (69#) = happyGoto action_161 +action_339 (79#) = happyGoto action_162 +action_339 (81#) = happyGoto action_352 +action_339 x = happyTcHack x happyReduce_246 + +action_340 x = happyTcHack x happyReduce_214 + +action_341 x = happyTcHack x happyReduce_199 + +action_342 x = happyTcHack x happyReduce_209 + +action_343 (174#) = happyShift action_48 +action_343 (12#) = happyGoto action_92 +action_343 (53#) = happyGoto action_154 +action_343 (70#) = happyGoto action_155 +action_343 (73#) = happyGoto action_351 +action_343 x = happyTcHack x happyReduce_229 + +action_344 (95#) = happyShift action_120 +action_344 (98#) = happyShift action_121 +action_344 (105#) = happyShift action_164 +action_344 (111#) = happyShift action_122 +action_344 (115#) = happyShift action_123 +action_344 (123#) = happyShift action_124 +action_344 (126#) = happyShift action_125 +action_344 (167#) = happyShift action_126 +action_344 (170#) = happyShift action_6 +action_344 (171#) = happyShift action_45 +action_344 (172#) = happyShift action_46 +action_344 (174#) = happyShift action_48 +action_344 (8#) = happyGoto action_115 +action_344 (9#) = happyGoto action_116 +action_344 (10#) = happyGoto action_117 +action_344 (12#) = happyGoto action_158 +action_344 (67#) = happyGoto action_159 +action_344 (68#) = happyGoto action_160 +action_344 (69#) = happyGoto action_350 +action_344 x = happyTcHack x happyFail + +action_345 x = happyTcHack x happyReduce_204 + +action_346 (169#) = happyShift action_349 +action_346 x = happyTcHack x happyFail + +action_347 x = happyTcHack x happyReduce_223 + +action_348 (104#) = happyShift action_190 +action_348 (169#) = happyShift action_207 +action_348 x = happyTcHack x happyReduce_128 + +action_349 x = happyTcHack x happyReduce_188 + +action_350 (102#) = happyShift action_306 +action_350 (168#) = happyShift action_308 +action_350 x = happyTcHack x happyReduce_221 + +action_351 x = happyTcHack x happyReduce_231 + +action_352 x = happyTcHack x happyReduce_248 + +action_353 x = happyTcHack x happyReduce_201 + +action_354 x = happyTcHack x happyReduce_239 + +action_355 x = happyTcHack x happyReduce_155 + +action_356 x = happyTcHack x happyReduce_183 + +action_357 (169#) = happyShift action_468 +action_357 x = happyTcHack x happyFail + +action_358 x = happyTcHack x happyReduce_252 + +action_359 x = happyTcHack x happyReduce_255 + +action_360 (95#) = happyShift action_21 +action_360 (97#) = happyShift action_22 +action_360 (98#) = happyShift action_23 +action_360 (111#) = happyShift action_24 +action_360 (115#) = happyShift action_25 +action_360 (117#) = happyShift action_26 +action_360 (118#) = happyShift action_27 +action_360 (119#) = happyShift action_28 +action_360 (120#) = happyShift action_29 +action_360 (121#) = happyShift action_30 +action_360 (122#) = happyShift action_31 +action_360 (123#) = happyShift action_32 +action_360 (124#) = happyShift action_33 +action_360 (128#) = happyShift action_34 +action_360 (131#) = happyShift action_35 +action_360 (134#) = happyShift action_36 +action_360 (137#) = happyShift action_37 +action_360 (142#) = happyShift action_38 +action_360 (153#) = happyShift action_39 +action_360 (154#) = happyShift action_40 +action_360 (158#) = happyShift action_41 +action_360 (159#) = happyShift action_42 +action_360 (164#) = happyShift action_43 +action_360 (167#) = happyShift action_44 +action_360 (170#) = happyShift action_6 +action_360 (171#) = happyShift action_45 +action_360 (172#) = happyShift action_46 +action_360 (173#) = happyShift action_47 +action_360 (174#) = happyShift action_48 +action_360 (8#) = happyGoto action_7 +action_360 (9#) = happyGoto action_8 +action_360 (10#) = happyGoto action_9 +action_360 (11#) = happyGoto action_10 +action_360 (12#) = happyGoto action_11 +action_360 (58#) = happyGoto action_12 +action_360 (59#) = happyGoto action_13 +action_360 (60#) = happyGoto action_14 +action_360 (61#) = happyGoto action_15 +action_360 (62#) = happyGoto action_16 +action_360 (63#) = happyGoto action_467 +action_360 (64#) = happyGoto action_18 +action_360 (72#) = happyGoto action_19 +action_360 (77#) = happyGoto action_20 +action_360 x = happyTcHack x happyFail + +action_361 (108#) = happyShift action_466 +action_361 x = happyTcHack x happyFail + +action_362 (110#) = happyShift action_465 +action_362 x = happyTcHack x happyReduce_258 + +action_363 (169#) = happyShift action_464 +action_363 x = happyTcHack x happyFail + +action_364 x = happyTcHack x happyReduce_195 + +action_365 x = happyTcHack x happyReduce_215 + +action_366 (95#) = happyShift action_120 +action_366 (98#) = happyShift action_121 +action_366 (111#) = happyShift action_122 +action_366 (115#) = happyShift action_123 +action_366 (123#) = happyShift action_124 +action_366 (126#) = happyShift action_125 +action_366 (167#) = happyShift action_126 +action_366 (170#) = happyShift action_6 +action_366 (171#) = happyShift action_45 +action_366 (172#) = happyShift action_46 +action_366 (174#) = happyShift action_48 +action_366 (8#) = happyGoto action_115 +action_366 (9#) = happyGoto action_116 +action_366 (10#) = happyGoto action_117 +action_366 (12#) = happyGoto action_118 +action_366 (67#) = happyGoto action_183 +action_366 (74#) = happyGoto action_463 +action_366 x = happyTcHack x happyReduce_205 + +action_367 x = happyTcHack x happyReduce_218 + +action_368 x = happyTcHack x happyReduce_249 + +action_369 x = happyTcHack x happyReduce_219 + +action_370 x = happyTcHack x happyReduce_251 + +action_371 x = happyTcHack x happyReduce_165 + +action_372 x = happyTcHack x happyReduce_164 + +action_373 (95#) = happyShift action_21 +action_373 (97#) = happyShift action_22 +action_373 (98#) = happyShift action_23 +action_373 (111#) = happyShift action_24 +action_373 (115#) = happyShift action_25 +action_373 (117#) = happyShift action_26 +action_373 (118#) = happyShift action_27 +action_373 (119#) = happyShift action_28 +action_373 (120#) = happyShift action_29 +action_373 (121#) = happyShift action_30 +action_373 (122#) = happyShift action_31 +action_373 (123#) = happyShift action_32 +action_373 (124#) = happyShift action_33 +action_373 (128#) = happyShift action_34 +action_373 (131#) = happyShift action_35 +action_373 (134#) = happyShift action_36 +action_373 (137#) = happyShift action_37 +action_373 (142#) = happyShift action_38 +action_373 (153#) = happyShift action_39 +action_373 (154#) = happyShift action_40 +action_373 (158#) = happyShift action_41 +action_373 (159#) = happyShift action_42 +action_373 (164#) = happyShift action_43 +action_373 (167#) = happyShift action_44 +action_373 (170#) = happyShift action_6 +action_373 (171#) = happyShift action_45 +action_373 (172#) = happyShift action_46 +action_373 (173#) = happyShift action_47 +action_373 (174#) = happyShift action_48 +action_373 (8#) = happyGoto action_7 +action_373 (9#) = happyGoto action_8 +action_373 (10#) = happyGoto action_9 +action_373 (11#) = happyGoto action_10 +action_373 (12#) = happyGoto action_11 +action_373 (58#) = happyGoto action_12 +action_373 (59#) = happyGoto action_13 +action_373 (60#) = happyGoto action_14 +action_373 (61#) = happyGoto action_15 +action_373 (62#) = happyGoto action_16 +action_373 (63#) = happyGoto action_462 +action_373 (64#) = happyGoto action_18 +action_373 (72#) = happyGoto action_19 +action_373 (77#) = happyGoto action_20 +action_373 x = happyTcHack x happyFail + +action_374 x = happyTcHack x happyReduce_159 + +action_375 x = happyTcHack x happyReduce_33 + +action_376 (104#) = happyShift action_378 +action_376 x = happyTcHack x happyReduce_66 + +action_377 x = happyTcHack x happyReduce_32 + +action_378 (174#) = happyShift action_48 +action_378 (12#) = happyGoto action_241 +action_378 (32#) = happyGoto action_461 +action_378 (33#) = happyGoto action_376 +action_378 x = happyTcHack x happyReduce_65 + +action_379 (98#) = happyShift action_408 +action_379 (174#) = happyShift action_48 +action_379 (12#) = happyGoto action_406 +action_379 (27#) = happyGoto action_460 +action_379 (29#) = happyGoto action_425 +action_379 x = happyTcHack x happyReduce_52 + +action_380 (174#) = happyShift action_48 +action_380 (12#) = happyGoto action_241 +action_380 (33#) = happyGoto action_459 +action_380 x = happyTcHack x happyReduce_50 + +action_381 x = happyTcHack x happyReduce_26 + +action_382 (98#) = happyShift action_408 +action_382 (174#) = happyShift action_48 +action_382 (12#) = happyGoto action_406 +action_382 (27#) = happyGoto action_458 +action_382 (29#) = happyGoto action_425 +action_382 x = happyTcHack x happyReduce_52 + +action_383 (89#) = happyGoto action_457 +action_383 x = happyTcHack x happyReduce_262 + +action_384 (123#) = happyShift action_290 +action_384 (174#) = happyShift action_48 +action_384 (12#) = happyGoto action_287 +action_384 (36#) = happyGoto action_288 +action_384 (46#) = happyGoto action_456 +action_384 x = happyTcHack x happyReduce_113 + +action_385 (97#) = happyShift action_86 +action_385 (98#) = happyShift action_455 +action_385 (111#) = happyShift action_24 +action_385 (115#) = happyShift action_25 +action_385 (118#) = happyShift action_27 +action_385 (119#) = happyShift action_28 +action_385 (120#) = happyShift action_29 +action_385 (121#) = happyShift action_30 +action_385 (122#) = happyShift action_31 +action_385 (123#) = happyShift action_32 +action_385 (131#) = happyShift action_35 +action_385 (167#) = happyShift action_139 +action_385 (170#) = happyShift action_6 +action_385 (171#) = happyShift action_45 +action_385 (172#) = happyShift action_46 +action_385 (173#) = happyShift action_47 +action_385 (174#) = happyShift action_48 +action_385 (8#) = happyGoto action_7 +action_385 (9#) = happyGoto action_8 +action_385 (10#) = happyGoto action_9 +action_385 (11#) = happyGoto action_10 +action_385 (12#) = happyGoto action_84 +action_385 (58#) = happyGoto action_453 +action_385 (72#) = happyGoto action_19 +action_385 (88#) = happyGoto action_454 +action_385 x = happyTcHack x happyReduce_95 + +action_386 (174#) = happyShift action_48 +action_386 (12#) = happyGoto action_451 +action_386 (38#) = happyGoto action_284 +action_386 (48#) = happyGoto action_452 +action_386 x = happyTcHack x happyReduce_117 + +action_387 (174#) = happyShift action_48 +action_387 (12#) = happyGoto action_448 +action_387 (39#) = happyGoto action_449 +action_387 (40#) = happyGoto action_450 +action_387 x = happyTcHack x happyReduce_102 + +action_388 (174#) = happyShift action_48 +action_388 (12#) = happyGoto action_279 +action_388 (44#) = happyGoto action_280 +action_388 (51#) = happyGoto action_447 +action_388 x = happyTcHack x happyReduce_123 + +action_389 (174#) = happyShift action_48 +action_389 (12#) = happyGoto action_446 +action_389 x = happyTcHack x happyFail + +action_390 (95#) = happyShift action_21 +action_390 (97#) = happyShift action_22 +action_390 (98#) = happyShift action_23 +action_390 (111#) = happyShift action_24 +action_390 (115#) = happyShift action_25 +action_390 (117#) = happyShift action_26 +action_390 (118#) = happyShift action_27 +action_390 (119#) = happyShift action_28 +action_390 (120#) = happyShift action_29 +action_390 (121#) = happyShift action_30 +action_390 (122#) = happyShift action_31 +action_390 (123#) = happyShift action_32 +action_390 (124#) = happyShift action_33 +action_390 (128#) = happyShift action_34 +action_390 (131#) = happyShift action_35 +action_390 (134#) = happyShift action_36 +action_390 (137#) = happyShift action_37 +action_390 (142#) = happyShift action_38 +action_390 (153#) = happyShift action_39 +action_390 (154#) = happyShift action_40 +action_390 (158#) = happyShift action_41 +action_390 (159#) = happyShift action_42 +action_390 (164#) = happyShift action_43 +action_390 (167#) = happyShift action_44 +action_390 (170#) = happyShift action_6 +action_390 (171#) = happyShift action_45 +action_390 (172#) = happyShift action_46 +action_390 (173#) = happyShift action_47 +action_390 (174#) = happyShift action_48 +action_390 (8#) = happyGoto action_7 +action_390 (9#) = happyGoto action_8 +action_390 (10#) = happyGoto action_9 +action_390 (11#) = happyGoto action_10 +action_390 (12#) = happyGoto action_11 +action_390 (58#) = happyGoto action_12 +action_390 (59#) = happyGoto action_13 +action_390 (60#) = happyGoto action_14 +action_390 (61#) = happyGoto action_15 +action_390 (62#) = happyGoto action_16 +action_390 (63#) = happyGoto action_445 +action_390 (64#) = happyGoto action_18 +action_390 (72#) = happyGoto action_19 +action_390 (77#) = happyGoto action_20 +action_390 x = happyTcHack x happyFail + +action_391 (174#) = happyShift action_48 +action_391 (12#) = happyGoto action_92 +action_391 (37#) = happyGoto action_276 +action_391 (47#) = happyGoto action_444 +action_391 (53#) = happyGoto action_278 +action_391 x = happyTcHack x happyReduce_115 + +action_392 (167#) = happyShift action_443 +action_392 x = happyTcHack x happyFail + +action_393 (174#) = happyShift action_48 +action_393 (12#) = happyGoto action_267 +action_393 (41#) = happyGoto action_268 +action_393 (49#) = happyGoto action_442 +action_393 x = happyTcHack x happyReduce_119 + +action_394 (98#) = happyShift action_441 +action_394 (174#) = happyShift action_48 +action_394 (12#) = happyGoto action_438 +action_394 (42#) = happyGoto action_439 +action_394 (52#) = happyGoto action_440 +action_394 x = happyTcHack x happyReduce_125 + +action_395 x = happyTcHack x happyReduce_87 + +action_396 x = happyTcHack x happyReduce_86 + +action_397 (95#) = happyShift action_21 +action_397 (97#) = happyShift action_22 +action_397 (98#) = happyShift action_23 +action_397 (111#) = happyShift action_24 +action_397 (115#) = happyShift action_25 +action_397 (117#) = happyShift action_26 +action_397 (118#) = happyShift action_27 +action_397 (119#) = happyShift action_28 +action_397 (120#) = happyShift action_29 +action_397 (121#) = happyShift action_30 +action_397 (122#) = happyShift action_31 +action_397 (123#) = happyShift action_32 +action_397 (124#) = happyShift action_33 +action_397 (128#) = happyShift action_34 +action_397 (131#) = happyShift action_35 +action_397 (134#) = happyShift action_36 +action_397 (137#) = happyShift action_37 +action_397 (142#) = happyShift action_38 +action_397 (153#) = happyShift action_39 +action_397 (154#) = happyShift action_40 +action_397 (158#) = happyShift action_41 +action_397 (159#) = happyShift action_42 +action_397 (164#) = happyShift action_43 +action_397 (167#) = happyShift action_44 +action_397 (170#) = happyShift action_6 +action_397 (171#) = happyShift action_45 +action_397 (172#) = happyShift action_46 +action_397 (173#) = happyShift action_47 +action_397 (174#) = happyShift action_48 +action_397 (8#) = happyGoto action_7 +action_397 (9#) = happyGoto action_8 +action_397 (10#) = happyGoto action_9 +action_397 (11#) = happyGoto action_10 +action_397 (12#) = happyGoto action_11 +action_397 (58#) = happyGoto action_12 +action_397 (59#) = happyGoto action_13 +action_397 (60#) = happyGoto action_14 +action_397 (61#) = happyGoto action_15 +action_397 (62#) = happyGoto action_16 +action_397 (63#) = happyGoto action_437 +action_397 (64#) = happyGoto action_18 +action_397 (72#) = happyGoto action_19 +action_397 (77#) = happyGoto action_20 +action_397 x = happyTcHack x happyFail + +action_398 (123#) = happyShift action_257 +action_398 (174#) = happyShift action_48 +action_398 (12#) = happyGoto action_252 +action_398 (54#) = happyGoto action_262 +action_398 (55#) = happyGoto action_436 +action_398 x = happyTcHack x happyFail + +action_399 (123#) = happyShift action_257 +action_399 (174#) = happyShift action_48 +action_399 (12#) = happyGoto action_252 +action_399 (43#) = happyGoto action_260 +action_399 (50#) = happyGoto action_435 +action_399 (54#) = happyGoto action_262 +action_399 (55#) = happyGoto action_263 +action_399 x = happyTcHack x happyReduce_121 + +action_400 x = happyTcHack x happyReduce_94 + +action_401 (125#) = happyShift action_434 +action_401 x = happyTcHack x happyFail + +action_402 (95#) = happyShift action_21 +action_402 (97#) = happyShift action_22 +action_402 (98#) = happyShift action_23 +action_402 (111#) = happyShift action_24 +action_402 (115#) = happyShift action_25 +action_402 (117#) = happyShift action_26 +action_402 (118#) = happyShift action_27 +action_402 (119#) = happyShift action_28 +action_402 (120#) = happyShift action_29 +action_402 (121#) = happyShift action_30 +action_402 (122#) = happyShift action_31 +action_402 (123#) = happyShift action_32 +action_402 (124#) = happyShift action_33 +action_402 (128#) = happyShift action_34 +action_402 (131#) = happyShift action_35 +action_402 (134#) = happyShift action_36 +action_402 (137#) = happyShift action_37 +action_402 (142#) = happyShift action_38 +action_402 (153#) = happyShift action_39 +action_402 (154#) = happyShift action_40 +action_402 (158#) = happyShift action_41 +action_402 (159#) = happyShift action_42 +action_402 (164#) = happyShift action_43 +action_402 (167#) = happyShift action_44 +action_402 (170#) = happyShift action_6 +action_402 (171#) = happyShift action_45 +action_402 (172#) = happyShift action_46 +action_402 (173#) = happyShift action_47 +action_402 (174#) = happyShift action_48 +action_402 (8#) = happyGoto action_7 +action_402 (9#) = happyGoto action_8 +action_402 (10#) = happyGoto action_9 +action_402 (11#) = happyGoto action_10 +action_402 (12#) = happyGoto action_11 +action_402 (58#) = happyGoto action_12 +action_402 (59#) = happyGoto action_13 +action_402 (60#) = happyGoto action_14 +action_402 (61#) = happyGoto action_15 +action_402 (62#) = happyGoto action_16 +action_402 (63#) = happyGoto action_433 +action_402 (64#) = happyGoto action_18 +action_402 (72#) = happyGoto action_19 +action_402 (77#) = happyGoto action_20 +action_402 x = happyTcHack x happyFail + +action_403 (95#) = happyShift action_21 +action_403 (97#) = happyShift action_22 +action_403 (98#) = happyShift action_23 +action_403 (111#) = happyShift action_24 +action_403 (115#) = happyShift action_25 +action_403 (117#) = happyShift action_26 +action_403 (118#) = happyShift action_27 +action_403 (119#) = happyShift action_28 +action_403 (120#) = happyShift action_29 +action_403 (121#) = happyShift action_30 +action_403 (122#) = happyShift action_31 +action_403 (123#) = happyShift action_32 +action_403 (124#) = happyShift action_33 +action_403 (128#) = happyShift action_34 +action_403 (131#) = happyShift action_35 +action_403 (134#) = happyShift action_36 +action_403 (137#) = happyShift action_37 +action_403 (142#) = happyShift action_38 +action_403 (153#) = happyShift action_39 +action_403 (154#) = happyShift action_40 +action_403 (158#) = happyShift action_41 +action_403 (159#) = happyShift action_42 +action_403 (164#) = happyShift action_43 +action_403 (167#) = happyShift action_44 +action_403 (170#) = happyShift action_6 +action_403 (171#) = happyShift action_45 +action_403 (172#) = happyShift action_46 +action_403 (173#) = happyShift action_47 +action_403 (174#) = happyShift action_48 +action_403 (8#) = happyGoto action_7 +action_403 (9#) = happyGoto action_8 +action_403 (10#) = happyGoto action_9 +action_403 (11#) = happyGoto action_10 +action_403 (12#) = happyGoto action_11 +action_403 (58#) = happyGoto action_12 +action_403 (59#) = happyGoto action_13 +action_403 (60#) = happyGoto action_14 +action_403 (61#) = happyGoto action_15 +action_403 (62#) = happyGoto action_16 +action_403 (63#) = happyGoto action_432 +action_403 (64#) = happyGoto action_18 +action_403 (72#) = happyGoto action_19 +action_403 (77#) = happyGoto action_20 +action_403 x = happyTcHack x happyFail + +action_404 (112#) = happyShift action_431 +action_404 x = happyTcHack x happyFail + +action_405 (123#) = happyShift action_257 +action_405 (174#) = happyShift action_48 +action_405 (12#) = happyGoto action_252 +action_405 (34#) = happyGoto action_253 +action_405 (45#) = happyGoto action_430 +action_405 (54#) = happyGoto action_255 +action_405 (55#) = happyGoto action_256 +action_405 x = happyTcHack x happyReduce_111 + +action_406 x = happyTcHack x happyReduce_57 + +action_407 (106#) = happyShift action_429 +action_407 x = happyTcHack x happyFail + +action_408 (139#) = happyShift action_427 +action_408 (141#) = happyShift action_428 +action_408 (31#) = happyGoto action_426 +action_408 x = happyTcHack x happyReduce_62 + +action_409 x = happyTcHack x happyReduce_38 + +action_410 x = happyTcHack x happyReduce_37 + +action_411 x = happyTcHack x happyReduce_47 + +action_412 x = happyTcHack x happyReduce_46 + +action_413 (98#) = happyShift action_408 +action_413 (174#) = happyShift action_48 +action_413 (12#) = happyGoto action_406 +action_413 (27#) = happyGoto action_424 +action_413 (29#) = happyGoto action_425 +action_413 x = happyTcHack x happyReduce_52 + +action_414 (174#) = happyShift action_48 +action_414 (12#) = happyGoto action_241 +action_414 (33#) = happyGoto action_423 +action_414 x = happyTcHack x happyReduce_50 + +action_415 (167#) = happyShift action_422 +action_415 x = happyTcHack x happyFail + +action_416 (123#) = happyShift action_421 +action_416 x = happyTcHack x happyFail + +action_417 (174#) = happyShift action_48 +action_417 (12#) = happyGoto action_92 +action_417 (53#) = happyGoto action_420 +action_417 x = happyTcHack x happyFail + +action_418 (112#) = happyShift action_419 +action_418 x = happyTcHack x happyFail + +action_419 (174#) = happyShift action_48 +action_419 (12#) = happyGoto action_492 +action_419 x = happyTcHack x happyFail + +action_420 (125#) = happyShift action_491 +action_420 x = happyTcHack x happyFail + +action_421 (174#) = happyShift action_48 +action_421 (12#) = happyGoto action_92 +action_421 (53#) = happyGoto action_490 +action_421 x = happyTcHack x happyFail + +action_422 (25#) = happyGoto action_489 +action_422 x = happyTcHack x happyReduce_48 + +action_423 (166#) = happyShift action_488 +action_423 x = happyTcHack x happyFail + +action_424 (101#) = happyShift action_487 +action_424 x = happyTcHack x happyReduce_42 + +action_425 (104#) = happyShift action_486 +action_425 x = happyTcHack x happyReduce_53 + +action_426 (174#) = happyShift action_48 +action_426 (12#) = happyGoto action_485 +action_426 x = happyTcHack x happyFail + +action_427 x = happyTcHack x happyReduce_63 + +action_428 x = happyTcHack x happyReduce_64 + +action_429 (98#) = happyShift action_408 +action_429 (174#) = happyShift action_48 +action_429 (12#) = happyGoto action_406 +action_429 (29#) = happyGoto action_484 +action_429 x = happyTcHack x happyFail + +action_430 x = happyTcHack x happyReduce_112 + +action_431 (95#) = happyShift action_21 +action_431 (97#) = happyShift action_22 +action_431 (98#) = happyShift action_23 +action_431 (111#) = happyShift action_24 +action_431 (115#) = happyShift action_25 +action_431 (117#) = happyShift action_26 +action_431 (118#) = happyShift action_27 +action_431 (119#) = happyShift action_28 +action_431 (120#) = happyShift action_29 +action_431 (121#) = happyShift action_30 +action_431 (122#) = happyShift action_31 +action_431 (123#) = happyShift action_32 +action_431 (124#) = happyShift action_33 +action_431 (128#) = happyShift action_34 +action_431 (131#) = happyShift action_35 +action_431 (134#) = happyShift action_36 +action_431 (137#) = happyShift action_37 +action_431 (142#) = happyShift action_38 +action_431 (153#) = happyShift action_39 +action_431 (154#) = happyShift action_40 +action_431 (158#) = happyShift action_41 +action_431 (159#) = happyShift action_42 +action_431 (164#) = happyShift action_43 +action_431 (167#) = happyShift action_44 +action_431 (170#) = happyShift action_6 +action_431 (171#) = happyShift action_45 +action_431 (172#) = happyShift action_46 +action_431 (173#) = happyShift action_47 +action_431 (174#) = happyShift action_48 +action_431 (8#) = happyGoto action_7 +action_431 (9#) = happyGoto action_8 +action_431 (10#) = happyGoto action_9 +action_431 (11#) = happyGoto action_10 +action_431 (12#) = happyGoto action_11 +action_431 (58#) = happyGoto action_12 +action_431 (59#) = happyGoto action_13 +action_431 (60#) = happyGoto action_14 +action_431 (61#) = happyGoto action_15 +action_431 (62#) = happyGoto action_16 +action_431 (63#) = happyGoto action_483 +action_431 (64#) = happyGoto action_18 +action_431 (72#) = happyGoto action_19 +action_431 (77#) = happyGoto action_20 +action_431 x = happyTcHack x happyFail + +action_432 x = happyTcHack x happyReduce_72 + +action_433 (112#) = happyShift action_482 +action_433 x = happyTcHack x happyReduce_71 + +action_434 x = happyTcHack x happyReduce_131 + +action_435 x = happyTcHack x happyReduce_122 + +action_436 x = happyTcHack x happyReduce_133 + +action_437 x = happyTcHack x happyReduce_109 + +action_438 (89#) = happyGoto action_481 +action_438 x = happyTcHack x happyReduce_262 + +action_439 (168#) = happyShift action_480 +action_439 x = happyTcHack x happyReduce_126 + +action_440 x = happyTcHack x happyReduce_105 + +action_441 (137#) = happyShift action_479 +action_441 x = happyTcHack x happyFail + +action_442 x = happyTcHack x happyReduce_120 + +action_443 (25#) = happyGoto action_478 +action_443 x = happyTcHack x happyReduce_48 + +action_444 x = happyTcHack x happyReduce_116 + +action_445 x = happyTcHack x happyReduce_98 + +action_446 x = happyTcHack x happyReduce_110 + +action_447 x = happyTcHack x happyReduce_124 + +action_448 (107#) = happyShift action_477 +action_448 x = happyTcHack x happyReduce_100 + +action_449 (168#) = happyShift action_476 +action_449 x = happyTcHack x happyReduce_103 + +action_450 x = happyTcHack x happyReduce_99 + +action_451 (112#) = happyShift action_387 +action_451 x = happyTcHack x happyFail + +action_452 x = happyTcHack x happyReduce_118 + +action_453 x = happyTcHack x happyReduce_261 + +action_454 x = happyTcHack x happyReduce_263 + +action_455 (95#) = happyShift action_21 +action_455 (97#) = happyShift action_22 +action_455 (98#) = happyShift action_23 +action_455 (111#) = happyShift action_24 +action_455 (115#) = happyShift action_25 +action_455 (117#) = happyShift action_26 +action_455 (118#) = happyShift action_27 +action_455 (119#) = happyShift action_28 +action_455 (120#) = happyShift action_29 +action_455 (121#) = happyShift action_30 +action_455 (122#) = happyShift action_31 +action_455 (123#) = happyShift action_32 +action_455 (124#) = happyShift action_33 +action_455 (126#) = happyShift action_102 +action_455 (128#) = happyShift action_34 +action_455 (131#) = happyShift action_35 +action_455 (134#) = happyShift action_36 +action_455 (137#) = happyShift action_113 +action_455 (142#) = happyShift action_38 +action_455 (153#) = happyShift action_39 +action_455 (154#) = happyShift action_40 +action_455 (158#) = happyShift action_41 +action_455 (159#) = happyShift action_42 +action_455 (164#) = happyShift action_43 +action_455 (167#) = happyShift action_44 +action_455 (170#) = happyShift action_6 +action_455 (171#) = happyShift action_45 +action_455 (172#) = happyShift action_46 +action_455 (173#) = happyShift action_47 +action_455 (174#) = happyShift action_48 +action_455 (8#) = happyGoto action_7 +action_455 (9#) = happyGoto action_8 +action_455 (10#) = happyGoto action_9 +action_455 (11#) = happyGoto action_10 +action_455 (12#) = happyGoto action_110 +action_455 (58#) = happyGoto action_12 +action_455 (59#) = happyGoto action_13 +action_455 (60#) = happyGoto action_14 +action_455 (61#) = happyGoto action_15 +action_455 (62#) = happyGoto action_16 +action_455 (63#) = happyGoto action_111 +action_455 (64#) = happyGoto action_18 +action_455 (72#) = happyGoto action_19 +action_455 (75#) = happyGoto action_99 +action_455 (76#) = happyGoto action_475 +action_455 (77#) = happyGoto action_20 +action_455 x = happyTcHack x happyReduce_236 + +action_456 x = happyTcHack x happyReduce_114 + +action_457 (97#) = happyShift action_86 +action_457 (98#) = happyShift action_455 +action_457 (111#) = happyShift action_24 +action_457 (115#) = happyShift action_25 +action_457 (118#) = happyShift action_27 +action_457 (119#) = happyShift action_28 +action_457 (120#) = happyShift action_29 +action_457 (121#) = happyShift action_30 +action_457 (122#) = happyShift action_31 +action_457 (123#) = happyShift action_32 +action_457 (125#) = happyShift action_474 +action_457 (131#) = happyShift action_35 +action_457 (167#) = happyShift action_139 +action_457 (170#) = happyShift action_6 +action_457 (171#) = happyShift action_45 +action_457 (172#) = happyShift action_46 +action_457 (173#) = happyShift action_47 +action_457 (174#) = happyShift action_48 +action_457 (8#) = happyGoto action_7 +action_457 (9#) = happyGoto action_8 +action_457 (10#) = happyGoto action_9 +action_457 (11#) = happyGoto action_10 +action_457 (12#) = happyGoto action_84 +action_457 (58#) = happyGoto action_453 +action_457 (72#) = happyGoto action_19 +action_457 (88#) = happyGoto action_454 +action_457 x = happyTcHack x happyFail + +action_458 (137#) = happyShift action_473 +action_458 x = happyTcHack x happyFail + +action_459 (166#) = happyShift action_472 +action_459 x = happyTcHack x happyFail + +action_460 (101#) = happyShift action_471 +action_460 x = happyTcHack x happyReduce_28 + +action_461 x = happyTcHack x happyReduce_67 + +action_462 x = happyTcHack x happyReduce_136 + +action_463 x = happyTcHack x happyReduce_213 + +action_464 x = happyTcHack x happyReduce_168 + +action_465 (95#) = happyShift action_21 +action_465 (97#) = happyShift action_22 +action_465 (98#) = happyShift action_23 +action_465 (111#) = happyShift action_24 +action_465 (115#) = happyShift action_25 +action_465 (117#) = happyShift action_26 +action_465 (118#) = happyShift action_27 +action_465 (119#) = happyShift action_28 +action_465 (120#) = happyShift action_29 +action_465 (121#) = happyShift action_30 +action_465 (122#) = happyShift action_31 +action_465 (123#) = happyShift action_32 +action_465 (124#) = happyShift action_33 +action_465 (128#) = happyShift action_34 +action_465 (131#) = happyShift action_35 +action_465 (134#) = happyShift action_36 +action_465 (137#) = happyShift action_37 +action_465 (142#) = happyShift action_38 +action_465 (153#) = happyShift action_39 +action_465 (154#) = happyShift action_40 +action_465 (158#) = happyShift action_41 +action_465 (159#) = happyShift action_42 +action_465 (164#) = happyShift action_43 +action_465 (167#) = happyShift action_44 +action_465 (170#) = happyShift action_6 +action_465 (171#) = happyShift action_45 +action_465 (172#) = happyShift action_46 +action_465 (173#) = happyShift action_47 +action_465 (174#) = happyShift action_48 +action_465 (8#) = happyGoto action_7 +action_465 (9#) = happyGoto action_8 +action_465 (10#) = happyGoto action_9 +action_465 (11#) = happyGoto action_10 +action_465 (12#) = happyGoto action_11 +action_465 (58#) = happyGoto action_12 +action_465 (59#) = happyGoto action_13 +action_465 (60#) = happyGoto action_14 +action_465 (61#) = happyGoto action_15 +action_465 (62#) = happyGoto action_16 +action_465 (63#) = happyGoto action_361 +action_465 (64#) = happyGoto action_18 +action_465 (72#) = happyGoto action_19 +action_465 (77#) = happyGoto action_20 +action_465 (86#) = happyGoto action_362 +action_465 (87#) = happyGoto action_470 +action_465 x = happyTcHack x happyReduce_257 + +action_466 (95#) = happyShift action_21 +action_466 (97#) = happyShift action_22 +action_466 (98#) = happyShift action_23 +action_466 (111#) = happyShift action_24 +action_466 (115#) = happyShift action_25 +action_466 (117#) = happyShift action_26 +action_466 (118#) = happyShift action_27 +action_466 (119#) = happyShift action_28 +action_466 (120#) = happyShift action_29 +action_466 (121#) = happyShift action_30 +action_466 (122#) = happyShift action_31 +action_466 (123#) = happyShift action_32 +action_466 (124#) = happyShift action_33 +action_466 (128#) = happyShift action_34 +action_466 (131#) = happyShift action_35 +action_466 (134#) = happyShift action_36 +action_466 (137#) = happyShift action_37 +action_466 (142#) = happyShift action_38 +action_466 (153#) = happyShift action_39 +action_466 (154#) = happyShift action_40 +action_466 (158#) = happyShift action_41 +action_466 (159#) = happyShift action_42 +action_466 (164#) = happyShift action_43 +action_466 (167#) = happyShift action_44 +action_466 (170#) = happyShift action_6 +action_466 (171#) = happyShift action_45 +action_466 (172#) = happyShift action_46 +action_466 (173#) = happyShift action_47 +action_466 (174#) = happyShift action_48 +action_466 (8#) = happyGoto action_7 +action_466 (9#) = happyGoto action_8 +action_466 (10#) = happyGoto action_9 +action_466 (11#) = happyGoto action_10 +action_466 (12#) = happyGoto action_11 +action_466 (58#) = happyGoto action_12 +action_466 (59#) = happyGoto action_13 +action_466 (60#) = happyGoto action_14 +action_466 (61#) = happyGoto action_15 +action_466 (62#) = happyGoto action_16 +action_466 (63#) = happyGoto action_469 +action_466 (64#) = happyGoto action_18 +action_466 (72#) = happyGoto action_19 +action_466 (77#) = happyGoto action_20 +action_466 x = happyTcHack x happyFail + +action_467 x = happyTcHack x happyReduce_186 + +action_468 x = happyTcHack x happyReduce_166 + +action_469 x = happyTcHack x happyReduce_256 + +action_470 x = happyTcHack x happyReduce_259 + +action_471 (148#) = happyShift action_382 +action_471 (28#) = happyGoto action_510 +action_471 x = happyTcHack x happyReduce_55 + +action_472 (98#) = happyShift action_408 +action_472 (174#) = happyShift action_48 +action_472 (12#) = happyGoto action_406 +action_472 (27#) = happyGoto action_509 +action_472 (29#) = happyGoto action_425 +action_472 x = happyTcHack x happyReduce_52 + +action_473 x = happyTcHack x happyReduce_56 + +action_474 (167#) = happyShift action_508 +action_474 x = happyTcHack x happyReduce_96 + +action_475 (109#) = happyShift action_507 +action_475 x = happyTcHack x happyFail + +action_476 (174#) = happyShift action_48 +action_476 (12#) = happyGoto action_448 +action_476 (39#) = happyGoto action_449 +action_476 (40#) = happyGoto action_506 +action_476 x = happyTcHack x happyReduce_102 + +action_477 (174#) = happyShift action_48 +action_477 (12#) = happyGoto action_505 +action_477 x = happyTcHack x happyFail + +action_478 (129#) = happyShift action_210 +action_478 (131#) = happyShift action_211 +action_478 (132#) = happyShift action_212 +action_478 (133#) = happyShift action_213 +action_478 (135#) = happyShift action_214 +action_478 (143#) = happyShift action_215 +action_478 (144#) = happyShift action_216 +action_478 (145#) = happyShift action_217 +action_478 (146#) = happyShift action_218 +action_478 (149#) = happyShift action_219 +action_478 (151#) = happyShift action_220 +action_478 (152#) = happyShift action_221 +action_478 (153#) = happyShift action_222 +action_478 (155#) = happyShift action_223 +action_478 (160#) = happyShift action_224 +action_478 (161#) = happyShift action_225 +action_478 (163#) = happyShift action_226 +action_478 (169#) = happyShift action_504 +action_478 (35#) = happyGoto action_209 +action_478 x = happyTcHack x happyFail + +action_479 (174#) = happyShift action_48 +action_479 (12#) = happyGoto action_503 +action_479 x = happyTcHack x happyFail + +action_480 (174#) = happyShift action_48 +action_480 (12#) = happyGoto action_438 +action_480 (42#) = happyGoto action_439 +action_480 (52#) = happyGoto action_502 +action_480 x = happyTcHack x happyReduce_125 + +action_481 (97#) = happyShift action_86 +action_481 (98#) = happyShift action_455 +action_481 (111#) = happyShift action_24 +action_481 (115#) = happyShift action_25 +action_481 (118#) = happyShift action_27 +action_481 (119#) = happyShift action_28 +action_481 (120#) = happyShift action_29 +action_481 (121#) = happyShift action_30 +action_481 (122#) = happyShift action_31 +action_481 (123#) = happyShift action_32 +action_481 (131#) = happyShift action_35 +action_481 (167#) = happyShift action_139 +action_481 (170#) = happyShift action_6 +action_481 (171#) = happyShift action_45 +action_481 (172#) = happyShift action_46 +action_481 (173#) = happyShift action_47 +action_481 (174#) = happyShift action_48 +action_481 (8#) = happyGoto action_7 +action_481 (9#) = happyGoto action_8 +action_481 (10#) = happyGoto action_9 +action_481 (11#) = happyGoto action_10 +action_481 (12#) = happyGoto action_84 +action_481 (58#) = happyGoto action_453 +action_481 (72#) = happyGoto action_19 +action_481 (88#) = happyGoto action_454 +action_481 x = happyTcHack x happyReduce_108 + +action_482 (95#) = happyShift action_21 +action_482 (97#) = happyShift action_22 +action_482 (98#) = happyShift action_23 +action_482 (111#) = happyShift action_24 +action_482 (115#) = happyShift action_25 +action_482 (117#) = happyShift action_26 +action_482 (118#) = happyShift action_27 +action_482 (119#) = happyShift action_28 +action_482 (120#) = happyShift action_29 +action_482 (121#) = happyShift action_30 +action_482 (122#) = happyShift action_31 +action_482 (123#) = happyShift action_32 +action_482 (124#) = happyShift action_33 +action_482 (128#) = happyShift action_34 +action_482 (131#) = happyShift action_35 +action_482 (134#) = happyShift action_36 +action_482 (137#) = happyShift action_37 +action_482 (142#) = happyShift action_38 +action_482 (153#) = happyShift action_39 +action_482 (154#) = happyShift action_40 +action_482 (158#) = happyShift action_41 +action_482 (159#) = happyShift action_42 +action_482 (164#) = happyShift action_43 +action_482 (167#) = happyShift action_44 +action_482 (170#) = happyShift action_6 +action_482 (171#) = happyShift action_45 +action_482 (172#) = happyShift action_46 +action_482 (173#) = happyShift action_47 +action_482 (174#) = happyShift action_48 +action_482 (8#) = happyGoto action_7 +action_482 (9#) = happyGoto action_8 +action_482 (10#) = happyGoto action_9 +action_482 (11#) = happyGoto action_10 +action_482 (12#) = happyGoto action_11 +action_482 (58#) = happyGoto action_12 +action_482 (59#) = happyGoto action_13 +action_482 (60#) = happyGoto action_14 +action_482 (61#) = happyGoto action_15 +action_482 (62#) = happyGoto action_16 +action_482 (63#) = happyGoto action_501 +action_482 (64#) = happyGoto action_18 +action_482 (72#) = happyGoto action_19 +action_482 (77#) = happyGoto action_20 +action_482 x = happyTcHack x happyFail + +action_483 x = happyTcHack x happyReduce_73 + +action_484 x = happyTcHack x happyReduce_39 + +action_485 (99#) = happyShift action_499 +action_485 (112#) = happyShift action_500 +action_485 x = happyTcHack x happyFail + +action_486 (98#) = happyShift action_408 +action_486 (174#) = happyShift action_48 +action_486 (12#) = happyGoto action_406 +action_486 (27#) = happyGoto action_498 +action_486 (29#) = happyGoto action_425 +action_486 x = happyTcHack x happyReduce_52 + +action_487 (148#) = happyShift action_382 +action_487 (28#) = happyGoto action_497 +action_487 x = happyTcHack x happyReduce_55 + +action_488 (98#) = happyShift action_408 +action_488 (174#) = happyShift action_48 +action_488 (12#) = happyGoto action_406 +action_488 (27#) = happyGoto action_496 +action_488 (29#) = happyGoto action_425 +action_488 x = happyTcHack x happyReduce_52 + +action_489 (129#) = happyShift action_210 +action_489 (131#) = happyShift action_211 +action_489 (132#) = happyShift action_212 +action_489 (133#) = happyShift action_213 +action_489 (135#) = happyShift action_214 +action_489 (143#) = happyShift action_215 +action_489 (144#) = happyShift action_216 +action_489 (145#) = happyShift action_217 +action_489 (146#) = happyShift action_218 +action_489 (149#) = happyShift action_219 +action_489 (151#) = happyShift action_220 +action_489 (152#) = happyShift action_221 +action_489 (153#) = happyShift action_222 +action_489 (155#) = happyShift action_223 +action_489 (160#) = happyShift action_224 +action_489 (161#) = happyShift action_225 +action_489 (163#) = happyShift action_226 +action_489 (169#) = happyShift action_495 +action_489 (35#) = happyGoto action_209 +action_489 x = happyTcHack x happyFail + +action_490 (125#) = happyShift action_494 +action_490 x = happyTcHack x happyFail + +action_491 x = happyTcHack x happyReduce_69 + +action_492 (110#) = happyShift action_493 +action_492 x = happyTcHack x happyFail + +action_493 (174#) = happyShift action_48 +action_493 (12#) = happyGoto action_519 +action_493 (16#) = happyGoto action_520 +action_493 (17#) = happyGoto action_521 +action_493 x = happyTcHack x happyReduce_17 + +action_494 x = happyTcHack x happyReduce_70 + +action_495 x = happyTcHack x happyReduce_40 + +action_496 (101#) = happyShift action_518 +action_496 x = happyTcHack x happyReduce_44 + +action_497 (167#) = happyShift action_517 +action_497 x = happyTcHack x happyFail + +action_498 x = happyTcHack x happyReduce_54 + +action_499 x = happyTcHack x happyReduce_58 + +action_500 (174#) = happyShift action_48 +action_500 (12#) = happyGoto action_516 +action_500 x = happyTcHack x happyFail + +action_501 x = happyTcHack x happyReduce_74 + +action_502 x = happyTcHack x happyReduce_127 + +action_503 (99#) = happyShift action_515 +action_503 x = happyTcHack x happyFail + +action_504 (110#) = happyShift action_514 +action_504 x = happyTcHack x happyFail + +action_505 x = happyTcHack x happyReduce_101 + +action_506 x = happyTcHack x happyReduce_104 + +action_507 (95#) = happyShift action_21 +action_507 (97#) = happyShift action_22 +action_507 (98#) = happyShift action_23 +action_507 (111#) = happyShift action_24 +action_507 (115#) = happyShift action_25 +action_507 (117#) = happyShift action_26 +action_507 (118#) = happyShift action_27 +action_507 (119#) = happyShift action_28 +action_507 (120#) = happyShift action_29 +action_507 (121#) = happyShift action_30 +action_507 (122#) = happyShift action_31 +action_507 (123#) = happyShift action_32 +action_507 (124#) = happyShift action_33 +action_507 (128#) = happyShift action_34 +action_507 (131#) = happyShift action_35 +action_507 (134#) = happyShift action_36 +action_507 (137#) = happyShift action_37 +action_507 (142#) = happyShift action_38 +action_507 (153#) = happyShift action_39 +action_507 (154#) = happyShift action_40 +action_507 (158#) = happyShift action_41 +action_507 (159#) = happyShift action_42 +action_507 (164#) = happyShift action_43 +action_507 (167#) = happyShift action_44 +action_507 (170#) = happyShift action_6 +action_507 (171#) = happyShift action_45 +action_507 (172#) = happyShift action_46 +action_507 (173#) = happyShift action_47 +action_507 (174#) = happyShift action_48 +action_507 (8#) = happyGoto action_7 +action_507 (9#) = happyGoto action_8 +action_507 (10#) = happyGoto action_9 +action_507 (11#) = happyGoto action_10 +action_507 (12#) = happyGoto action_11 +action_507 (58#) = happyGoto action_12 +action_507 (59#) = happyGoto action_13 +action_507 (60#) = happyGoto action_14 +action_507 (61#) = happyGoto action_15 +action_507 (62#) = happyGoto action_16 +action_507 (63#) = happyGoto action_513 +action_507 (64#) = happyGoto action_18 +action_507 (72#) = happyGoto action_19 +action_507 (77#) = happyGoto action_20 +action_507 x = happyTcHack x happyFail + +action_508 (170#) = happyShift action_6 +action_508 (8#) = happyGoto action_512 +action_508 x = happyTcHack x happyFail + +action_509 (101#) = happyShift action_511 +action_509 x = happyTcHack x happyReduce_30 + +action_510 x = happyTcHack x happyReduce_29 + +action_511 (148#) = happyShift action_382 +action_511 (28#) = happyGoto action_530 +action_511 x = happyTcHack x happyReduce_55 + +action_512 (169#) = happyShift action_529 +action_512 x = happyTcHack x happyFail + +action_513 (99#) = happyShift action_528 +action_513 x = happyTcHack x happyFail + +action_514 x = happyTcHack x happyReduce_92 + +action_515 x = happyTcHack x happyReduce_106 + +action_516 (99#) = happyShift action_527 +action_516 x = happyTcHack x happyFail + +action_517 (25#) = happyGoto action_526 +action_517 x = happyTcHack x happyReduce_48 + +action_518 (148#) = happyShift action_382 +action_518 (28#) = happyGoto action_525 +action_518 x = happyTcHack x happyReduce_55 + +action_519 (112#) = happyShift action_524 +action_519 x = happyTcHack x happyFail + +action_520 (110#) = happyShift action_523 +action_520 x = happyTcHack x happyReduce_18 + +action_521 (169#) = happyShift action_522 +action_521 x = happyTcHack x happyFail + +action_522 x = happyTcHack x happyReduce_14 + +action_523 (174#) = happyShift action_48 +action_523 (12#) = happyGoto action_519 +action_523 (16#) = happyGoto action_520 +action_523 (17#) = happyGoto action_535 +action_523 x = happyTcHack x happyReduce_17 + +action_524 (174#) = happyShift action_48 +action_524 (12#) = happyGoto action_533 +action_524 (18#) = happyGoto action_534 +action_524 x = happyTcHack x happyFail + +action_525 (167#) = happyShift action_532 +action_525 x = happyTcHack x happyFail + +action_526 (129#) = happyShift action_210 +action_526 (131#) = happyShift action_211 +action_526 (132#) = happyShift action_212 +action_526 (133#) = happyShift action_213 +action_526 (135#) = happyShift action_214 +action_526 (143#) = happyShift action_215 +action_526 (144#) = happyShift action_216 +action_526 (145#) = happyShift action_217 +action_526 (146#) = happyShift action_218 +action_526 (149#) = happyShift action_219 +action_526 (151#) = happyShift action_220 +action_526 (152#) = happyShift action_221 +action_526 (153#) = happyShift action_222 +action_526 (155#) = happyShift action_223 +action_526 (160#) = happyShift action_224 +action_526 (161#) = happyShift action_225 +action_526 (163#) = happyShift action_226 +action_526 (169#) = happyShift action_531 +action_526 (35#) = happyGoto action_209 +action_526 x = happyTcHack x happyFail + +action_527 x = happyTcHack x happyReduce_59 + +action_528 x = happyTcHack x happyReduce_260 + +action_529 x = happyTcHack x happyReduce_97 + +action_530 x = happyTcHack x happyReduce_31 + +action_531 x = happyTcHack x happyReduce_43 + +action_532 (25#) = happyGoto action_537 +action_532 x = happyTcHack x happyReduce_48 + +action_533 (19#) = happyGoto action_536 +action_533 x = happyTcHack x happyReduce_21 + +action_534 x = happyTcHack x happyReduce_16 + +action_535 x = happyTcHack x happyReduce_19 + +action_536 (98#) = happyShift action_540 +action_536 (20#) = happyGoto action_539 +action_536 x = happyTcHack x happyReduce_20 + +action_537 (129#) = happyShift action_210 +action_537 (131#) = happyShift action_211 +action_537 (132#) = happyShift action_212 +action_537 (133#) = happyShift action_213 +action_537 (135#) = happyShift action_214 +action_537 (143#) = happyShift action_215 +action_537 (144#) = happyShift action_216 +action_537 (145#) = happyShift action_217 +action_537 (146#) = happyShift action_218 +action_537 (149#) = happyShift action_219 +action_537 (151#) = happyShift action_220 +action_537 (152#) = happyShift action_221 +action_537 (153#) = happyShift action_222 +action_537 (155#) = happyShift action_223 +action_537 (160#) = happyShift action_224 +action_537 (161#) = happyShift action_225 +action_537 (163#) = happyShift action_226 +action_537 (169#) = happyShift action_538 +action_537 (35#) = happyGoto action_209 +action_537 x = happyTcHack x happyFail + +action_538 x = happyTcHack x happyReduce_45 + +action_539 x = happyTcHack x happyReduce_22 + +action_540 (161#) = happyShift action_541 +action_540 x = happyTcHack x happyFail + +action_541 (137#) = happyShift action_542 +action_541 (150#) = happyShift action_543 +action_541 x = happyTcHack x happyFail + +action_542 (98#) = happyShift action_408 +action_542 (174#) = happyShift action_48 +action_542 (12#) = happyGoto action_406 +action_542 (29#) = happyGoto action_545 +action_542 x = happyTcHack x happyFail + +action_543 (98#) = happyShift action_408 +action_543 (174#) = happyShift action_48 +action_543 (12#) = happyGoto action_406 +action_543 (29#) = happyGoto action_544 +action_543 x = happyTcHack x happyFail + +action_544 (99#) = happyShift action_547 +action_544 x = happyTcHack x happyFail + +action_545 (99#) = happyShift action_546 +action_545 x = happyTcHack x happyFail + +action_546 x = happyTcHack x happyReduce_23 + +action_547 x = happyTcHack x happyReduce_24 + +happyReduce_5 = happySpecReduce_1 8# happyReduction_5 +happyReduction_5 (HappyTerminal (PT _ (TI happy_var_1))) + = HappyAbsSyn8 + ((read (BS.unpack happy_var_1)) :: Integer + ) +happyReduction_5 _ = notHappyAtAll + +happyReduce_6 = happySpecReduce_1 9# happyReduction_6 +happyReduction_6 (HappyTerminal (PT _ (TL happy_var_1))) + = HappyAbsSyn9 + (BS.unpack happy_var_1 + ) +happyReduction_6 _ = notHappyAtAll + +happyReduce_7 = happySpecReduce_1 10# happyReduction_7 +happyReduction_7 (HappyTerminal (PT _ (TD happy_var_1))) + = HappyAbsSyn10 + ((read (BS.unpack happy_var_1)) :: Double + ) +happyReduction_7 _ = notHappyAtAll + +happyReduce_8 = happySpecReduce_1 11# happyReduction_8 +happyReduction_8 (HappyTerminal (PT _ (T_LString happy_var_1))) + = HappyAbsSyn11 + (LString (happy_var_1) + ) +happyReduction_8 _ = notHappyAtAll + +happyReduce_9 = happySpecReduce_1 12# happyReduction_9 +happyReduction_9 (HappyTerminal happy_var_1) + = HappyAbsSyn12 + (PIdent (mkPosToken happy_var_1) + ) +happyReduction_9 _ = notHappyAtAll + +happyReduce_10 = happySpecReduce_1 13# happyReduction_10 +happyReduction_10 (HappyAbsSyn14 happy_var_1) + = HappyAbsSyn13 + (Gr (reverse happy_var_1) + ) +happyReduction_10 _ = notHappyAtAll + +happyReduce_11 = happySpecReduce_0 14# happyReduction_11 +happyReduction_11 = HappyAbsSyn14 + ([] + ) + +happyReduce_12 = happySpecReduce_2 14# happyReduction_12 +happyReduction_12 (HappyAbsSyn15 happy_var_2) + (HappyAbsSyn14 happy_var_1) + = HappyAbsSyn14 + (flip (:) happy_var_1 happy_var_2 + ) +happyReduction_12 _ _ = notHappyAtAll + +happyReduce_13 = happySpecReduce_2 15# happyReduction_13 +happyReduction_13 _ + (HappyAbsSyn15 happy_var_1) + = HappyAbsSyn15 + (happy_var_1 + ) +happyReduction_13 _ _ = notHappyAtAll + +happyReduce_14 = happyReduce 10# 15# happyReduction_14 +happyReduction_14 (_ `HappyStk` + (HappyAbsSyn17 happy_var_9) `HappyStk` + _ `HappyStk` + (HappyAbsSyn12 happy_var_7) `HappyStk` + _ `HappyStk` + _ `HappyStk` + _ `HappyStk` + _ `HappyStk` + (HappyAbsSyn12 happy_var_2) `HappyStk` + _ `HappyStk` + happyRest) + = HappyAbsSyn15 + (MMain happy_var_2 happy_var_7 happy_var_9 + ) `HappyStk` happyRest + +happyReduce_15 = happyReduce 4# 15# happyReduction_15 +happyReduction_15 ((HappyAbsSyn22 happy_var_4) `HappyStk` + _ `HappyStk` + (HappyAbsSyn23 happy_var_2) `HappyStk` + (HappyAbsSyn30 happy_var_1) `HappyStk` + happyRest) + = HappyAbsSyn15 + (MModule happy_var_1 happy_var_2 happy_var_4 + ) `HappyStk` happyRest + +happyReduce_16 = happySpecReduce_3 16# happyReduction_16 +happyReduction_16 (HappyAbsSyn18 happy_var_3) + _ + (HappyAbsSyn12 happy_var_1) + = HappyAbsSyn16 + (ConcSpec happy_var_1 happy_var_3 + ) +happyReduction_16 _ _ _ = notHappyAtAll + +happyReduce_17 = happySpecReduce_0 17# happyReduction_17 +happyReduction_17 = HappyAbsSyn17 + ([] + ) + +happyReduce_18 = happySpecReduce_1 17# happyReduction_18 +happyReduction_18 (HappyAbsSyn16 happy_var_1) + = HappyAbsSyn17 + ((:[]) happy_var_1 + ) +happyReduction_18 _ = notHappyAtAll + +happyReduce_19 = happySpecReduce_3 17# happyReduction_19 +happyReduction_19 (HappyAbsSyn17 happy_var_3) + _ + (HappyAbsSyn16 happy_var_1) + = HappyAbsSyn17 + ((:) happy_var_1 happy_var_3 + ) +happyReduction_19 _ _ _ = notHappyAtAll + +happyReduce_20 = happySpecReduce_2 18# happyReduction_20 +happyReduction_20 (HappyAbsSyn19 happy_var_2) + (HappyAbsSyn12 happy_var_1) + = HappyAbsSyn18 + (ConcExp happy_var_1 (reverse happy_var_2) + ) +happyReduction_20 _ _ = notHappyAtAll + +happyReduce_21 = happySpecReduce_0 19# happyReduction_21 +happyReduction_21 = HappyAbsSyn19 + ([] + ) + +happyReduce_22 = happySpecReduce_2 19# happyReduction_22 +happyReduction_22 (HappyAbsSyn20 happy_var_2) + (HappyAbsSyn19 happy_var_1) + = HappyAbsSyn19 + (flip (:) happy_var_1 happy_var_2 + ) +happyReduction_22 _ _ = notHappyAtAll + +happyReduce_23 = happyReduce 5# 20# happyReduction_23 +happyReduction_23 (_ `HappyStk` + (HappyAbsSyn29 happy_var_4) `HappyStk` + _ `HappyStk` + _ `HappyStk` + _ `HappyStk` + happyRest) + = HappyAbsSyn20 + (TransferIn happy_var_4 + ) `HappyStk` happyRest + +happyReduce_24 = happyReduce 5# 20# happyReduction_24 +happyReduction_24 (_ `HappyStk` + (HappyAbsSyn29 happy_var_4) `HappyStk` + _ `HappyStk` + _ `HappyStk` + _ `HappyStk` + happyRest) + = HappyAbsSyn20 + (TransferOut happy_var_4 + ) `HappyStk` happyRest + +happyReduce_25 = happyReduce 4# 21# happyReduction_25 +happyReduction_25 ((HappyAbsSyn22 happy_var_4) `HappyStk` + _ `HappyStk` + (HappyAbsSyn23 happy_var_2) `HappyStk` + (HappyAbsSyn30 happy_var_1) `HappyStk` + happyRest) + = HappyAbsSyn15 + (MModule happy_var_1 happy_var_2 happy_var_4 + ) `HappyStk` happyRest + +happyReduce_26 = happySpecReduce_2 22# happyReduction_26 +happyReduction_26 (HappyAbsSyn28 happy_var_2) + (HappyAbsSyn26 happy_var_1) + = HappyAbsSyn22 + (MBody happy_var_1 happy_var_2 [] + ) +happyReduction_26 _ _ = notHappyAtAll + +happyReduce_27 = happySpecReduce_1 22# happyReduction_27 +happyReduction_27 (HappyAbsSyn32 happy_var_1) + = HappyAbsSyn22 + (MNoBody happy_var_1 + ) +happyReduction_27 _ = notHappyAtAll + +happyReduce_28 = happySpecReduce_3 22# happyReduction_28 +happyReduction_28 (HappyAbsSyn27 happy_var_3) + _ + (HappyAbsSyn33 happy_var_1) + = HappyAbsSyn22 + (MWith happy_var_1 happy_var_3 + ) +happyReduction_28 _ _ _ = notHappyAtAll + +happyReduce_29 = happyReduce 5# 22# happyReduction_29 +happyReduction_29 ((HappyAbsSyn28 happy_var_5) `HappyStk` + _ `HappyStk` + (HappyAbsSyn27 happy_var_3) `HappyStk` + _ `HappyStk` + (HappyAbsSyn33 happy_var_1) `HappyStk` + happyRest) + = HappyAbsSyn22 + (MWithBody happy_var_1 happy_var_3 happy_var_5 [] + ) `HappyStk` happyRest + +happyReduce_30 = happyReduce 5# 22# happyReduction_30 +happyReduction_30 ((HappyAbsSyn27 happy_var_5) `HappyStk` + _ `HappyStk` + (HappyAbsSyn33 happy_var_3) `HappyStk` + _ `HappyStk` + (HappyAbsSyn32 happy_var_1) `HappyStk` + happyRest) + = HappyAbsSyn22 + (MWithE happy_var_1 happy_var_3 happy_var_5 + ) `HappyStk` happyRest + +happyReduce_31 = happyReduce 7# 22# happyReduction_31 +happyReduction_31 ((HappyAbsSyn28 happy_var_7) `HappyStk` + _ `HappyStk` + (HappyAbsSyn27 happy_var_5) `HappyStk` + _ `HappyStk` + (HappyAbsSyn33 happy_var_3) `HappyStk` + _ `HappyStk` + (HappyAbsSyn32 happy_var_1) `HappyStk` + happyRest) + = HappyAbsSyn22 + (MWithEBody happy_var_1 happy_var_3 happy_var_5 happy_var_7 [] + ) `HappyStk` happyRest + +happyReduce_32 = happySpecReduce_2 22# happyReduction_32 +happyReduction_32 (HappyAbsSyn12 happy_var_2) + _ + = HappyAbsSyn22 + (MReuse happy_var_2 + ) +happyReduction_32 _ _ = notHappyAtAll + +happyReduce_33 = happySpecReduce_2 22# happyReduction_33 +happyReduction_33 (HappyAbsSyn32 happy_var_2) + _ + = HappyAbsSyn22 + (MUnion happy_var_2 + ) +happyReduction_33 _ _ = notHappyAtAll + +happyReduce_34 = happySpecReduce_2 23# happyReduction_34 +happyReduction_34 (HappyAbsSyn12 happy_var_2) + _ + = HappyAbsSyn23 + (MTAbstract happy_var_2 + ) +happyReduction_34 _ _ = notHappyAtAll + +happyReduce_35 = happySpecReduce_2 23# happyReduction_35 +happyReduction_35 (HappyAbsSyn12 happy_var_2) + _ + = HappyAbsSyn23 + (MTResource happy_var_2 + ) +happyReduction_35 _ _ = notHappyAtAll + +happyReduce_36 = happySpecReduce_2 23# happyReduction_36 +happyReduction_36 (HappyAbsSyn12 happy_var_2) + _ + = HappyAbsSyn23 + (MTInterface happy_var_2 + ) +happyReduction_36 _ _ = notHappyAtAll + +happyReduce_37 = happyReduce 4# 23# happyReduction_37 +happyReduction_37 ((HappyAbsSyn12 happy_var_4) `HappyStk` + _ `HappyStk` + (HappyAbsSyn12 happy_var_2) `HappyStk` + _ `HappyStk` + happyRest) + = HappyAbsSyn23 + (MTConcrete happy_var_2 happy_var_4 + ) `HappyStk` happyRest + +happyReduce_38 = happyReduce 4# 23# happyReduction_38 +happyReduction_38 ((HappyAbsSyn12 happy_var_4) `HappyStk` + _ `HappyStk` + (HappyAbsSyn12 happy_var_2) `HappyStk` + _ `HappyStk` + happyRest) + = HappyAbsSyn23 + (MTInstance happy_var_2 happy_var_4 + ) `HappyStk` happyRest + +happyReduce_39 = happyReduce 6# 23# happyReduction_39 +happyReduction_39 ((HappyAbsSyn29 happy_var_6) `HappyStk` + _ `HappyStk` + (HappyAbsSyn29 happy_var_4) `HappyStk` + _ `HappyStk` + (HappyAbsSyn12 happy_var_2) `HappyStk` + _ `HappyStk` + happyRest) + = HappyAbsSyn23 + (MTTransfer happy_var_2 happy_var_4 happy_var_6 + ) `HappyStk` happyRest + +happyReduce_40 = happyReduce 5# 24# happyReduction_40 +happyReduction_40 (_ `HappyStk` + (HappyAbsSyn25 happy_var_4) `HappyStk` + _ `HappyStk` + (HappyAbsSyn28 happy_var_2) `HappyStk` + (HappyAbsSyn26 happy_var_1) `HappyStk` + happyRest) + = HappyAbsSyn22 + (MBody happy_var_1 happy_var_2 (reverse happy_var_4) + ) `HappyStk` happyRest + +happyReduce_41 = happySpecReduce_1 24# happyReduction_41 +happyReduction_41 (HappyAbsSyn32 happy_var_1) + = HappyAbsSyn22 + (MNoBody happy_var_1 + ) +happyReduction_41 _ = notHappyAtAll + +happyReduce_42 = happySpecReduce_3 24# happyReduction_42 +happyReduction_42 (HappyAbsSyn27 happy_var_3) + _ + (HappyAbsSyn33 happy_var_1) + = HappyAbsSyn22 + (MWith happy_var_1 happy_var_3 + ) +happyReduction_42 _ _ _ = notHappyAtAll + +happyReduce_43 = happyReduce 8# 24# happyReduction_43 +happyReduction_43 (_ `HappyStk` + (HappyAbsSyn25 happy_var_7) `HappyStk` + _ `HappyStk` + (HappyAbsSyn28 happy_var_5) `HappyStk` + _ `HappyStk` + (HappyAbsSyn27 happy_var_3) `HappyStk` + _ `HappyStk` + (HappyAbsSyn33 happy_var_1) `HappyStk` + happyRest) + = HappyAbsSyn22 + (MWithBody happy_var_1 happy_var_3 happy_var_5 (reverse happy_var_7) + ) `HappyStk` happyRest + +happyReduce_44 = happyReduce 5# 24# happyReduction_44 +happyReduction_44 ((HappyAbsSyn27 happy_var_5) `HappyStk` + _ `HappyStk` + (HappyAbsSyn33 happy_var_3) `HappyStk` + _ `HappyStk` + (HappyAbsSyn32 happy_var_1) `HappyStk` + happyRest) + = HappyAbsSyn22 + (MWithE happy_var_1 happy_var_3 happy_var_5 + ) `HappyStk` happyRest + +happyReduce_45 = happyReduce 10# 24# happyReduction_45 +happyReduction_45 (_ `HappyStk` + (HappyAbsSyn25 happy_var_9) `HappyStk` + _ `HappyStk` + (HappyAbsSyn28 happy_var_7) `HappyStk` + _ `HappyStk` + (HappyAbsSyn27 happy_var_5) `HappyStk` + _ `HappyStk` + (HappyAbsSyn33 happy_var_3) `HappyStk` + _ `HappyStk` + (HappyAbsSyn32 happy_var_1) `HappyStk` + happyRest) + = HappyAbsSyn22 + (MWithEBody happy_var_1 happy_var_3 happy_var_5 happy_var_7 (reverse happy_var_9) + ) `HappyStk` happyRest + +happyReduce_46 = happySpecReduce_2 24# happyReduction_46 +happyReduction_46 (HappyAbsSyn12 happy_var_2) + _ + = HappyAbsSyn22 + (MReuse happy_var_2 + ) +happyReduction_46 _ _ = notHappyAtAll + +happyReduce_47 = happySpecReduce_2 24# happyReduction_47 +happyReduction_47 (HappyAbsSyn32 happy_var_2) + _ + = HappyAbsSyn22 + (MUnion happy_var_2 + ) +happyReduction_47 _ _ = notHappyAtAll + +happyReduce_48 = happySpecReduce_0 25# happyReduction_48 +happyReduction_48 = HappyAbsSyn25 + ([] + ) + +happyReduce_49 = happySpecReduce_2 25# happyReduction_49 +happyReduction_49 (HappyAbsSyn35 happy_var_2) + (HappyAbsSyn25 happy_var_1) + = HappyAbsSyn25 + (flip (:) happy_var_1 happy_var_2 + ) +happyReduction_49 _ _ = notHappyAtAll + +happyReduce_50 = happySpecReduce_2 26# happyReduction_50 +happyReduction_50 _ + (HappyAbsSyn32 happy_var_1) + = HappyAbsSyn26 + (Ext happy_var_1 + ) +happyReduction_50 _ _ = notHappyAtAll + +happyReduce_51 = happySpecReduce_0 26# happyReduction_51 +happyReduction_51 = HappyAbsSyn26 + (NoExt + ) + +happyReduce_52 = happySpecReduce_0 27# happyReduction_52 +happyReduction_52 = HappyAbsSyn27 + ([] + ) + +happyReduce_53 = happySpecReduce_1 27# happyReduction_53 +happyReduction_53 (HappyAbsSyn29 happy_var_1) + = HappyAbsSyn27 + ((:[]) happy_var_1 + ) +happyReduction_53 _ = notHappyAtAll + +happyReduce_54 = happySpecReduce_3 27# happyReduction_54 +happyReduction_54 (HappyAbsSyn27 happy_var_3) + _ + (HappyAbsSyn29 happy_var_1) + = HappyAbsSyn27 + ((:) happy_var_1 happy_var_3 + ) +happyReduction_54 _ _ _ = notHappyAtAll + +happyReduce_55 = happySpecReduce_0 28# happyReduction_55 +happyReduction_55 = HappyAbsSyn28 + (NoOpens + ) + +happyReduce_56 = happySpecReduce_3 28# happyReduction_56 +happyReduction_56 _ + (HappyAbsSyn27 happy_var_2) + _ + = HappyAbsSyn28 + (OpenIn happy_var_2 + ) +happyReduction_56 _ _ _ = notHappyAtAll + +happyReduce_57 = happySpecReduce_1 29# happyReduction_57 +happyReduction_57 (HappyAbsSyn12 happy_var_1) + = HappyAbsSyn29 + (OName happy_var_1 + ) +happyReduction_57 _ = notHappyAtAll + +happyReduce_58 = happyReduce 4# 29# happyReduction_58 +happyReduction_58 (_ `HappyStk` + (HappyAbsSyn12 happy_var_3) `HappyStk` + (HappyAbsSyn31 happy_var_2) `HappyStk` + _ `HappyStk` + happyRest) + = HappyAbsSyn29 + (OQualQO happy_var_2 happy_var_3 + ) `HappyStk` happyRest + +happyReduce_59 = happyReduce 6# 29# happyReduction_59 +happyReduction_59 (_ `HappyStk` + (HappyAbsSyn12 happy_var_5) `HappyStk` + _ `HappyStk` + (HappyAbsSyn12 happy_var_3) `HappyStk` + (HappyAbsSyn31 happy_var_2) `HappyStk` + _ `HappyStk` + happyRest) + = HappyAbsSyn29 + (OQual happy_var_2 happy_var_3 happy_var_5 + ) `HappyStk` happyRest + +happyReduce_60 = happySpecReduce_0 30# happyReduction_60 +happyReduction_60 = HappyAbsSyn30 + (CMCompl + ) + +happyReduce_61 = happySpecReduce_1 30# happyReduction_61 +happyReduction_61 _ + = HappyAbsSyn30 + (CMIncompl + ) + +happyReduce_62 = happySpecReduce_0 31# happyReduction_62 +happyReduction_62 = HappyAbsSyn31 + (QOCompl + ) + +happyReduce_63 = happySpecReduce_1 31# happyReduction_63 +happyReduction_63 _ + = HappyAbsSyn31 + (QOIncompl + ) + +happyReduce_64 = happySpecReduce_1 31# happyReduction_64 +happyReduction_64 _ + = HappyAbsSyn31 + (QOInterface + ) + +happyReduce_65 = happySpecReduce_0 32# happyReduction_65 +happyReduction_65 = HappyAbsSyn32 + ([] + ) + +happyReduce_66 = happySpecReduce_1 32# happyReduction_66 +happyReduction_66 (HappyAbsSyn33 happy_var_1) + = HappyAbsSyn32 + ((:[]) happy_var_1 + ) +happyReduction_66 _ = notHappyAtAll + +happyReduce_67 = happySpecReduce_3 32# happyReduction_67 +happyReduction_67 (HappyAbsSyn32 happy_var_3) + _ + (HappyAbsSyn33 happy_var_1) + = HappyAbsSyn32 + ((:) happy_var_1 happy_var_3 + ) +happyReduction_67 _ _ _ = notHappyAtAll + +happyReduce_68 = happySpecReduce_1 33# happyReduction_68 +happyReduction_68 (HappyAbsSyn12 happy_var_1) + = HappyAbsSyn33 + (IAll happy_var_1 + ) +happyReduction_68 _ = notHappyAtAll + +happyReduce_69 = happyReduce 4# 33# happyReduction_69 +happyReduction_69 (_ `HappyStk` + (HappyAbsSyn53 happy_var_3) `HappyStk` + _ `HappyStk` + (HappyAbsSyn12 happy_var_1) `HappyStk` + happyRest) + = HappyAbsSyn33 + (ISome happy_var_1 happy_var_3 + ) `HappyStk` happyRest + +happyReduce_70 = happyReduce 5# 33# happyReduction_70 +happyReduction_70 (_ `HappyStk` + (HappyAbsSyn53 happy_var_4) `HappyStk` + _ `HappyStk` + _ `HappyStk` + (HappyAbsSyn12 happy_var_1) `HappyStk` + happyRest) + = HappyAbsSyn33 + (IMinus happy_var_1 happy_var_4 + ) `HappyStk` happyRest + +happyReduce_71 = happySpecReduce_3 34# happyReduction_71 +happyReduction_71 (HappyAbsSyn58 happy_var_3) + _ + (HappyAbsSyn55 happy_var_1) + = HappyAbsSyn34 + (DDecl happy_var_1 happy_var_3 + ) +happyReduction_71 _ _ _ = notHappyAtAll + +happyReduce_72 = happySpecReduce_3 34# happyReduction_72 +happyReduction_72 (HappyAbsSyn58 happy_var_3) + _ + (HappyAbsSyn55 happy_var_1) + = HappyAbsSyn34 + (DDef happy_var_1 happy_var_3 + ) +happyReduction_72 _ _ _ = notHappyAtAll + +happyReduce_73 = happyReduce 4# 34# happyReduction_73 +happyReduction_73 ((HappyAbsSyn58 happy_var_4) `HappyStk` + _ `HappyStk` + (HappyAbsSyn74 happy_var_2) `HappyStk` + (HappyAbsSyn54 happy_var_1) `HappyStk` + happyRest) + = HappyAbsSyn34 + (DPatt happy_var_1 happy_var_2 happy_var_4 + ) `HappyStk` happyRest + +happyReduce_74 = happyReduce 5# 34# happyReduction_74 +happyReduction_74 ((HappyAbsSyn58 happy_var_5) `HappyStk` + _ `HappyStk` + (HappyAbsSyn58 happy_var_3) `HappyStk` + _ `HappyStk` + (HappyAbsSyn55 happy_var_1) `HappyStk` + happyRest) + = HappyAbsSyn34 + (DFull happy_var_1 happy_var_3 happy_var_5 + ) `HappyStk` happyRest + +happyReduce_75 = happySpecReduce_2 35# happyReduction_75 +happyReduction_75 (HappyAbsSyn46 happy_var_2) + _ + = HappyAbsSyn35 + (DefCat happy_var_2 + ) +happyReduction_75 _ _ = notHappyAtAll + +happyReduce_76 = happySpecReduce_2 35# happyReduction_76 +happyReduction_76 (HappyAbsSyn47 happy_var_2) + _ + = HappyAbsSyn35 + (DefFun happy_var_2 + ) +happyReduction_76 _ _ = notHappyAtAll + +happyReduce_77 = happySpecReduce_2 35# happyReduction_77 +happyReduction_77 (HappyAbsSyn47 happy_var_2) + _ + = HappyAbsSyn35 + (DefFunData happy_var_2 + ) +happyReduction_77 _ _ = notHappyAtAll + +happyReduce_78 = happySpecReduce_2 35# happyReduction_78 +happyReduction_78 (HappyAbsSyn45 happy_var_2) + _ + = HappyAbsSyn35 + (DefDef happy_var_2 + ) +happyReduction_78 _ _ = notHappyAtAll + +happyReduce_79 = happySpecReduce_2 35# happyReduction_79 +happyReduction_79 (HappyAbsSyn48 happy_var_2) + _ + = HappyAbsSyn35 + (DefData happy_var_2 + ) +happyReduction_79 _ _ = notHappyAtAll + +happyReduce_80 = happySpecReduce_2 35# happyReduction_80 +happyReduction_80 (HappyAbsSyn45 happy_var_2) + _ + = HappyAbsSyn35 + (DefTrans happy_var_2 + ) +happyReduction_80 _ _ = notHappyAtAll + +happyReduce_81 = happySpecReduce_2 35# happyReduction_81 +happyReduction_81 (HappyAbsSyn49 happy_var_2) + _ + = HappyAbsSyn35 + (DefPar happy_var_2 + ) +happyReduction_81 _ _ = notHappyAtAll + +happyReduce_82 = happySpecReduce_2 35# happyReduction_82 +happyReduction_82 (HappyAbsSyn45 happy_var_2) + _ + = HappyAbsSyn35 + (DefOper happy_var_2 + ) +happyReduction_82 _ _ = notHappyAtAll + +happyReduce_83 = happySpecReduce_2 35# happyReduction_83 +happyReduction_83 (HappyAbsSyn50 happy_var_2) + _ + = HappyAbsSyn35 + (DefLincat happy_var_2 + ) +happyReduction_83 _ _ = notHappyAtAll + +happyReduce_84 = happySpecReduce_2 35# happyReduction_84 +happyReduction_84 (HappyAbsSyn45 happy_var_2) + _ + = HappyAbsSyn35 + (DefLindef happy_var_2 + ) +happyReduction_84 _ _ = notHappyAtAll + +happyReduce_85 = happySpecReduce_2 35# happyReduction_85 +happyReduction_85 (HappyAbsSyn45 happy_var_2) + _ + = HappyAbsSyn35 + (DefLin happy_var_2 + ) +happyReduction_85 _ _ = notHappyAtAll + +happyReduce_86 = happySpecReduce_3 35# happyReduction_86 +happyReduction_86 (HappyAbsSyn50 happy_var_3) + _ + _ + = HappyAbsSyn35 + (DefPrintCat happy_var_3 + ) +happyReduction_86 _ _ _ = notHappyAtAll + +happyReduce_87 = happySpecReduce_3 35# happyReduction_87 +happyReduction_87 (HappyAbsSyn50 happy_var_3) + _ + _ + = HappyAbsSyn35 + (DefPrintFun happy_var_3 + ) +happyReduction_87 _ _ _ = notHappyAtAll + +happyReduce_88 = happySpecReduce_2 35# happyReduction_88 +happyReduction_88 (HappyAbsSyn51 happy_var_2) + _ + = HappyAbsSyn35 + (DefFlag happy_var_2 + ) +happyReduction_88 _ _ = notHappyAtAll + +happyReduce_89 = happySpecReduce_2 35# happyReduction_89 +happyReduction_89 (HappyAbsSyn50 happy_var_2) + _ + = HappyAbsSyn35 + (DefPrintOld happy_var_2 + ) +happyReduction_89 _ _ = notHappyAtAll + +happyReduce_90 = happySpecReduce_2 35# happyReduction_90 +happyReduction_90 (HappyAbsSyn45 happy_var_2) + _ + = HappyAbsSyn35 + (DefLintype happy_var_2 + ) +happyReduction_90 _ _ = notHappyAtAll + +happyReduce_91 = happySpecReduce_2 35# happyReduction_91 +happyReduction_91 (HappyAbsSyn45 happy_var_2) + _ + = HappyAbsSyn35 + (DefPattern happy_var_2 + ) +happyReduction_91 _ _ = notHappyAtAll + +happyReduce_92 = happyReduce 7# 35# happyReduction_92 +happyReduction_92 (_ `HappyStk` + _ `HappyStk` + (HappyAbsSyn25 happy_var_5) `HappyStk` + _ `HappyStk` + _ `HappyStk` + (HappyAbsSyn12 happy_var_2) `HappyStk` + _ `HappyStk` + happyRest) + = HappyAbsSyn35 + (DefPackage happy_var_2 (reverse happy_var_5) + ) `HappyStk` happyRest + +happyReduce_93 = happySpecReduce_2 35# happyReduction_93 +happyReduction_93 (HappyAbsSyn45 happy_var_2) + _ + = HappyAbsSyn35 + (DefVars happy_var_2 + ) +happyReduction_93 _ _ = notHappyAtAll + +happyReduce_94 = happySpecReduce_3 35# happyReduction_94 +happyReduction_94 _ + (HappyAbsSyn12 happy_var_2) + _ + = HappyAbsSyn35 + (DefTokenizer happy_var_2 + ) +happyReduction_94 _ _ _ = notHappyAtAll + +happyReduce_95 = happySpecReduce_2 36# happyReduction_95 +happyReduction_95 (HappyAbsSyn89 happy_var_2) + (HappyAbsSyn12 happy_var_1) + = HappyAbsSyn36 + (SimpleCatDef happy_var_1 (reverse happy_var_2) + ) +happyReduction_95 _ _ = notHappyAtAll + +happyReduce_96 = happyReduce 4# 36# happyReduction_96 +happyReduction_96 (_ `HappyStk` + (HappyAbsSyn89 happy_var_3) `HappyStk` + (HappyAbsSyn12 happy_var_2) `HappyStk` + _ `HappyStk` + happyRest) + = HappyAbsSyn36 + (ListCatDef happy_var_2 (reverse happy_var_3) + ) `HappyStk` happyRest + +happyReduce_97 = happyReduce 7# 36# happyReduction_97 +happyReduction_97 (_ `HappyStk` + (HappyAbsSyn8 happy_var_6) `HappyStk` + _ `HappyStk` + _ `HappyStk` + (HappyAbsSyn89 happy_var_3) `HappyStk` + (HappyAbsSyn12 happy_var_2) `HappyStk` + _ `HappyStk` + happyRest) + = HappyAbsSyn36 + (ListSizeCatDef happy_var_2 (reverse happy_var_3) happy_var_6 + ) `HappyStk` happyRest + +happyReduce_98 = happySpecReduce_3 37# happyReduction_98 +happyReduction_98 (HappyAbsSyn58 happy_var_3) + _ + (HappyAbsSyn53 happy_var_1) + = HappyAbsSyn37 + (FunDef happy_var_1 happy_var_3 + ) +happyReduction_98 _ _ _ = notHappyAtAll + +happyReduce_99 = happySpecReduce_3 38# happyReduction_99 +happyReduction_99 (HappyAbsSyn40 happy_var_3) + _ + (HappyAbsSyn12 happy_var_1) + = HappyAbsSyn38 + (DataDef happy_var_1 happy_var_3 + ) +happyReduction_99 _ _ _ = notHappyAtAll + +happyReduce_100 = happySpecReduce_1 39# happyReduction_100 +happyReduction_100 (HappyAbsSyn12 happy_var_1) + = HappyAbsSyn39 + (DataId happy_var_1 + ) +happyReduction_100 _ = notHappyAtAll + +happyReduce_101 = happySpecReduce_3 39# happyReduction_101 +happyReduction_101 (HappyAbsSyn12 happy_var_3) + _ + (HappyAbsSyn12 happy_var_1) + = HappyAbsSyn39 + (DataQId happy_var_1 happy_var_3 + ) +happyReduction_101 _ _ _ = notHappyAtAll + +happyReduce_102 = happySpecReduce_0 40# happyReduction_102 +happyReduction_102 = HappyAbsSyn40 + ([] + ) + +happyReduce_103 = happySpecReduce_1 40# happyReduction_103 +happyReduction_103 (HappyAbsSyn39 happy_var_1) + = HappyAbsSyn40 + ((:[]) happy_var_1 + ) +happyReduction_103 _ = notHappyAtAll + +happyReduce_104 = happySpecReduce_3 40# happyReduction_104 +happyReduction_104 (HappyAbsSyn40 happy_var_3) + _ + (HappyAbsSyn39 happy_var_1) + = HappyAbsSyn40 + ((:) happy_var_1 happy_var_3 + ) +happyReduction_104 _ _ _ = notHappyAtAll + +happyReduce_105 = happySpecReduce_3 41# happyReduction_105 +happyReduction_105 (HappyAbsSyn52 happy_var_3) + _ + (HappyAbsSyn12 happy_var_1) + = HappyAbsSyn41 + (ParDefDir happy_var_1 happy_var_3 + ) +happyReduction_105 _ _ _ = notHappyAtAll + +happyReduce_106 = happyReduce 6# 41# happyReduction_106 +happyReduction_106 (_ `HappyStk` + (HappyAbsSyn12 happy_var_5) `HappyStk` + _ `HappyStk` + _ `HappyStk` + _ `HappyStk` + (HappyAbsSyn12 happy_var_1) `HappyStk` + happyRest) + = HappyAbsSyn41 + (ParDefIndir happy_var_1 happy_var_5 + ) `HappyStk` happyRest + +happyReduce_107 = happySpecReduce_1 41# happyReduction_107 +happyReduction_107 (HappyAbsSyn12 happy_var_1) + = HappyAbsSyn41 + (ParDefAbs happy_var_1 + ) +happyReduction_107 _ = notHappyAtAll + +happyReduce_108 = happySpecReduce_2 42# happyReduction_108 +happyReduction_108 (HappyAbsSyn89 happy_var_2) + (HappyAbsSyn12 happy_var_1) + = HappyAbsSyn42 + (ParConstr happy_var_1 (reverse happy_var_2) + ) +happyReduction_108 _ _ = notHappyAtAll + +happyReduce_109 = happySpecReduce_3 43# happyReduction_109 +happyReduction_109 (HappyAbsSyn58 happy_var_3) + _ + (HappyAbsSyn55 happy_var_1) + = HappyAbsSyn43 + (PrintDef happy_var_1 happy_var_3 + ) +happyReduction_109 _ _ _ = notHappyAtAll + +happyReduce_110 = happySpecReduce_3 44# happyReduction_110 +happyReduction_110 (HappyAbsSyn12 happy_var_3) + _ + (HappyAbsSyn12 happy_var_1) + = HappyAbsSyn44 + (FlagDef happy_var_1 happy_var_3 + ) +happyReduction_110 _ _ _ = notHappyAtAll + +happyReduce_111 = happySpecReduce_2 45# happyReduction_111 +happyReduction_111 _ + (HappyAbsSyn34 happy_var_1) + = HappyAbsSyn45 + ((:[]) happy_var_1 + ) +happyReduction_111 _ _ = notHappyAtAll + +happyReduce_112 = happySpecReduce_3 45# happyReduction_112 +happyReduction_112 (HappyAbsSyn45 happy_var_3) + _ + (HappyAbsSyn34 happy_var_1) + = HappyAbsSyn45 + ((:) happy_var_1 happy_var_3 + ) +happyReduction_112 _ _ _ = notHappyAtAll + +happyReduce_113 = happySpecReduce_2 46# happyReduction_113 +happyReduction_113 _ + (HappyAbsSyn36 happy_var_1) + = HappyAbsSyn46 + ((:[]) happy_var_1 + ) +happyReduction_113 _ _ = notHappyAtAll + +happyReduce_114 = happySpecReduce_3 46# happyReduction_114 +happyReduction_114 (HappyAbsSyn46 happy_var_3) + _ + (HappyAbsSyn36 happy_var_1) + = HappyAbsSyn46 + ((:) happy_var_1 happy_var_3 + ) +happyReduction_114 _ _ _ = notHappyAtAll + +happyReduce_115 = happySpecReduce_2 47# happyReduction_115 +happyReduction_115 _ + (HappyAbsSyn37 happy_var_1) + = HappyAbsSyn47 + ((:[]) happy_var_1 + ) +happyReduction_115 _ _ = notHappyAtAll + +happyReduce_116 = happySpecReduce_3 47# happyReduction_116 +happyReduction_116 (HappyAbsSyn47 happy_var_3) + _ + (HappyAbsSyn37 happy_var_1) + = HappyAbsSyn47 + ((:) happy_var_1 happy_var_3 + ) +happyReduction_116 _ _ _ = notHappyAtAll + +happyReduce_117 = happySpecReduce_2 48# happyReduction_117 +happyReduction_117 _ + (HappyAbsSyn38 happy_var_1) + = HappyAbsSyn48 + ((:[]) happy_var_1 + ) +happyReduction_117 _ _ = notHappyAtAll + +happyReduce_118 = happySpecReduce_3 48# happyReduction_118 +happyReduction_118 (HappyAbsSyn48 happy_var_3) + _ + (HappyAbsSyn38 happy_var_1) + = HappyAbsSyn48 + ((:) happy_var_1 happy_var_3 + ) +happyReduction_118 _ _ _ = notHappyAtAll + +happyReduce_119 = happySpecReduce_2 49# happyReduction_119 +happyReduction_119 _ + (HappyAbsSyn41 happy_var_1) + = HappyAbsSyn49 + ((:[]) happy_var_1 + ) +happyReduction_119 _ _ = notHappyAtAll + +happyReduce_120 = happySpecReduce_3 49# happyReduction_120 +happyReduction_120 (HappyAbsSyn49 happy_var_3) + _ + (HappyAbsSyn41 happy_var_1) + = HappyAbsSyn49 + ((:) happy_var_1 happy_var_3 + ) +happyReduction_120 _ _ _ = notHappyAtAll + +happyReduce_121 = happySpecReduce_2 50# happyReduction_121 +happyReduction_121 _ + (HappyAbsSyn43 happy_var_1) + = HappyAbsSyn50 + ((:[]) happy_var_1 + ) +happyReduction_121 _ _ = notHappyAtAll + +happyReduce_122 = happySpecReduce_3 50# happyReduction_122 +happyReduction_122 (HappyAbsSyn50 happy_var_3) + _ + (HappyAbsSyn43 happy_var_1) + = HappyAbsSyn50 + ((:) happy_var_1 happy_var_3 + ) +happyReduction_122 _ _ _ = notHappyAtAll + +happyReduce_123 = happySpecReduce_2 51# happyReduction_123 +happyReduction_123 _ + (HappyAbsSyn44 happy_var_1) + = HappyAbsSyn51 + ((:[]) happy_var_1 + ) +happyReduction_123 _ _ = notHappyAtAll + +happyReduce_124 = happySpecReduce_3 51# happyReduction_124 +happyReduction_124 (HappyAbsSyn51 happy_var_3) + _ + (HappyAbsSyn44 happy_var_1) + = HappyAbsSyn51 + ((:) happy_var_1 happy_var_3 + ) +happyReduction_124 _ _ _ = notHappyAtAll + +happyReduce_125 = happySpecReduce_0 52# happyReduction_125 +happyReduction_125 = HappyAbsSyn52 + ([] + ) + +happyReduce_126 = happySpecReduce_1 52# happyReduction_126 +happyReduction_126 (HappyAbsSyn42 happy_var_1) + = HappyAbsSyn52 + ((:[]) happy_var_1 + ) +happyReduction_126 _ = notHappyAtAll + +happyReduce_127 = happySpecReduce_3 52# happyReduction_127 +happyReduction_127 (HappyAbsSyn52 happy_var_3) + _ + (HappyAbsSyn42 happy_var_1) + = HappyAbsSyn52 + ((:) happy_var_1 happy_var_3 + ) +happyReduction_127 _ _ _ = notHappyAtAll + +happyReduce_128 = happySpecReduce_1 53# happyReduction_128 +happyReduction_128 (HappyAbsSyn12 happy_var_1) + = HappyAbsSyn53 + ((:[]) happy_var_1 + ) +happyReduction_128 _ = notHappyAtAll + +happyReduce_129 = happySpecReduce_3 53# happyReduction_129 +happyReduction_129 (HappyAbsSyn53 happy_var_3) + _ + (HappyAbsSyn12 happy_var_1) + = HappyAbsSyn53 + ((:) happy_var_1 happy_var_3 + ) +happyReduction_129 _ _ _ = notHappyAtAll + +happyReduce_130 = happySpecReduce_1 54# happyReduction_130 +happyReduction_130 (HappyAbsSyn12 happy_var_1) + = HappyAbsSyn54 + (IdentName happy_var_1 + ) +happyReduction_130 _ = notHappyAtAll + +happyReduce_131 = happySpecReduce_3 54# happyReduction_131 +happyReduction_131 _ + (HappyAbsSyn12 happy_var_2) + _ + = HappyAbsSyn54 + (ListName happy_var_2 + ) +happyReduction_131 _ _ _ = notHappyAtAll + +happyReduce_132 = happySpecReduce_1 55# happyReduction_132 +happyReduction_132 (HappyAbsSyn54 happy_var_1) + = HappyAbsSyn55 + ((:[]) happy_var_1 + ) +happyReduction_132 _ = notHappyAtAll + +happyReduce_133 = happySpecReduce_3 55# happyReduction_133 +happyReduction_133 (HappyAbsSyn55 happy_var_3) + _ + (HappyAbsSyn54 happy_var_1) + = HappyAbsSyn55 + ((:) happy_var_1 happy_var_3 + ) +happyReduction_133 _ _ _ = notHappyAtAll + +happyReduce_134 = happySpecReduce_3 56# happyReduction_134 +happyReduction_134 (HappyAbsSyn58 happy_var_3) + _ + (HappyAbsSyn53 happy_var_1) + = HappyAbsSyn56 + (LDDecl happy_var_1 happy_var_3 + ) +happyReduction_134 _ _ _ = notHappyAtAll + +happyReduce_135 = happySpecReduce_3 56# happyReduction_135 +happyReduction_135 (HappyAbsSyn58 happy_var_3) + _ + (HappyAbsSyn53 happy_var_1) + = HappyAbsSyn56 + (LDDef happy_var_1 happy_var_3 + ) +happyReduction_135 _ _ _ = notHappyAtAll + +happyReduce_136 = happyReduce 5# 56# happyReduction_136 +happyReduction_136 ((HappyAbsSyn58 happy_var_5) `HappyStk` + _ `HappyStk` + (HappyAbsSyn58 happy_var_3) `HappyStk` + _ `HappyStk` + (HappyAbsSyn53 happy_var_1) `HappyStk` + happyRest) + = HappyAbsSyn56 + (LDFull happy_var_1 happy_var_3 happy_var_5 + ) `HappyStk` happyRest + +happyReduce_137 = happySpecReduce_0 57# happyReduction_137 +happyReduction_137 = HappyAbsSyn57 + ([] + ) + +happyReduce_138 = happySpecReduce_1 57# happyReduction_138 +happyReduction_138 (HappyAbsSyn56 happy_var_1) + = HappyAbsSyn57 + ((:[]) happy_var_1 + ) +happyReduction_138 _ = notHappyAtAll + +happyReduce_139 = happySpecReduce_3 57# happyReduction_139 +happyReduction_139 (HappyAbsSyn57 happy_var_3) + _ + (HappyAbsSyn56 happy_var_1) + = HappyAbsSyn57 + ((:) happy_var_1 happy_var_3 + ) +happyReduction_139 _ _ _ = notHappyAtAll + +happyReduce_140 = happySpecReduce_1 58# happyReduction_140 +happyReduction_140 (HappyAbsSyn12 happy_var_1) + = HappyAbsSyn58 + (EIdent happy_var_1 + ) +happyReduction_140 _ = notHappyAtAll + +happyReduce_141 = happySpecReduce_3 58# happyReduction_141 +happyReduction_141 _ + (HappyAbsSyn12 happy_var_2) + _ + = HappyAbsSyn58 + (EConstr happy_var_2 + ) +happyReduction_141 _ _ _ = notHappyAtAll + +happyReduce_142 = happySpecReduce_3 58# happyReduction_142 +happyReduction_142 _ + (HappyAbsSyn12 happy_var_2) + _ + = HappyAbsSyn58 + (ECons happy_var_2 + ) +happyReduction_142 _ _ _ = notHappyAtAll + +happyReduce_143 = happySpecReduce_1 58# happyReduction_143 +happyReduction_143 (HappyAbsSyn72 happy_var_1) + = HappyAbsSyn58 + (ESort happy_var_1 + ) +happyReduction_143 _ = notHappyAtAll + +happyReduce_144 = happySpecReduce_1 58# happyReduction_144 +happyReduction_144 (HappyAbsSyn9 happy_var_1) + = HappyAbsSyn58 + (EString happy_var_1 + ) +happyReduction_144 _ = notHappyAtAll + +happyReduce_145 = happySpecReduce_1 58# happyReduction_145 +happyReduction_145 (HappyAbsSyn8 happy_var_1) + = HappyAbsSyn58 + (EInt happy_var_1 + ) +happyReduction_145 _ = notHappyAtAll + +happyReduce_146 = happySpecReduce_1 58# happyReduction_146 +happyReduction_146 (HappyAbsSyn10 happy_var_1) + = HappyAbsSyn58 + (EFloat happy_var_1 + ) +happyReduction_146 _ = notHappyAtAll + +happyReduce_147 = happySpecReduce_1 58# happyReduction_147 +happyReduction_147 _ + = HappyAbsSyn58 + (EMeta + ) + +happyReduce_148 = happySpecReduce_2 58# happyReduction_148 +happyReduction_148 _ + _ + = HappyAbsSyn58 + (EEmpty + ) + +happyReduce_149 = happySpecReduce_1 58# happyReduction_149 +happyReduction_149 _ + = HappyAbsSyn58 + (EData + ) + +happyReduce_150 = happyReduce 4# 58# happyReduction_150 +happyReduction_150 (_ `HappyStk` + (HappyAbsSyn66 happy_var_3) `HappyStk` + (HappyAbsSyn12 happy_var_2) `HappyStk` + _ `HappyStk` + happyRest) + = HappyAbsSyn58 + (EList happy_var_2 happy_var_3 + ) `HappyStk` happyRest + +happyReduce_151 = happySpecReduce_3 58# happyReduction_151 +happyReduction_151 _ + (HappyAbsSyn9 happy_var_2) + _ + = HappyAbsSyn58 + (EStrings happy_var_2 + ) +happyReduction_151 _ _ _ = notHappyAtAll + +happyReduce_152 = happySpecReduce_3 58# happyReduction_152 +happyReduction_152 _ + (HappyAbsSyn57 happy_var_2) + _ + = HappyAbsSyn58 + (ERecord happy_var_2 + ) +happyReduction_152 _ _ _ = notHappyAtAll + +happyReduce_153 = happySpecReduce_3 58# happyReduction_153 +happyReduction_153 _ + (HappyAbsSyn80 happy_var_2) + _ + = HappyAbsSyn58 + (ETuple happy_var_2 + ) +happyReduction_153 _ _ _ = notHappyAtAll + +happyReduce_154 = happyReduce 4# 58# happyReduction_154 +happyReduction_154 (_ `HappyStk` + (HappyAbsSyn12 happy_var_3) `HappyStk` + _ `HappyStk` + _ `HappyStk` + happyRest) + = HappyAbsSyn58 + (EIndir happy_var_3 + ) `HappyStk` happyRest + +happyReduce_155 = happyReduce 5# 58# happyReduction_155 +happyReduction_155 (_ `HappyStk` + (HappyAbsSyn58 happy_var_4) `HappyStk` + _ `HappyStk` + (HappyAbsSyn58 happy_var_2) `HappyStk` + _ `HappyStk` + happyRest) + = HappyAbsSyn58 + (ETyped happy_var_2 happy_var_4 + ) `HappyStk` happyRest + +happyReduce_156 = happySpecReduce_3 58# happyReduction_156 +happyReduction_156 _ + (HappyAbsSyn58 happy_var_2) + _ + = HappyAbsSyn58 + (happy_var_2 + ) +happyReduction_156 _ _ _ = notHappyAtAll + +happyReduce_157 = happySpecReduce_1 58# happyReduction_157 +happyReduction_157 (HappyAbsSyn11 happy_var_1) + = HappyAbsSyn58 + (ELString happy_var_1 + ) +happyReduction_157 _ = notHappyAtAll + +happyReduce_158 = happySpecReduce_3 59# happyReduction_158 +happyReduction_158 (HappyAbsSyn71 happy_var_3) + _ + (HappyAbsSyn58 happy_var_1) + = HappyAbsSyn58 + (EProj happy_var_1 happy_var_3 + ) +happyReduction_158 _ _ _ = notHappyAtAll + +happyReduce_159 = happyReduce 5# 59# happyReduction_159 +happyReduction_159 (_ `HappyStk` + (HappyAbsSyn12 happy_var_4) `HappyStk` + _ `HappyStk` + (HappyAbsSyn12 happy_var_2) `HappyStk` + _ `HappyStk` + happyRest) + = HappyAbsSyn58 + (EQConstr happy_var_2 happy_var_4 + ) `HappyStk` happyRest + +happyReduce_160 = happyReduce 4# 59# happyReduction_160 +happyReduction_160 ((HappyAbsSyn12 happy_var_4) `HappyStk` + _ `HappyStk` + (HappyAbsSyn12 happy_var_2) `HappyStk` + _ `HappyStk` + happyRest) + = HappyAbsSyn58 + (EQCons happy_var_2 happy_var_4 + ) `HappyStk` happyRest + +happyReduce_161 = happySpecReduce_1 59# happyReduction_161 +happyReduction_161 (HappyAbsSyn58 happy_var_1) + = HappyAbsSyn58 + (happy_var_1 + ) +happyReduction_161 _ = notHappyAtAll + +happyReduce_162 = happySpecReduce_2 60# happyReduction_162 +happyReduction_162 (HappyAbsSyn58 happy_var_2) + (HappyAbsSyn58 happy_var_1) + = HappyAbsSyn58 + (EApp happy_var_1 happy_var_2 + ) +happyReduction_162 _ _ = notHappyAtAll + +happyReduce_163 = happyReduce 4# 60# happyReduction_163 +happyReduction_163 (_ `HappyStk` + (HappyAbsSyn83 happy_var_3) `HappyStk` + _ `HappyStk` + _ `HappyStk` + happyRest) + = HappyAbsSyn58 + (ETable happy_var_3 + ) `HappyStk` happyRest + +happyReduce_164 = happyReduce 5# 60# happyReduction_164 +happyReduction_164 (_ `HappyStk` + (HappyAbsSyn83 happy_var_4) `HappyStk` + _ `HappyStk` + (HappyAbsSyn58 happy_var_2) `HappyStk` + _ `HappyStk` + happyRest) + = HappyAbsSyn58 + (ETTable happy_var_2 happy_var_4 + ) `HappyStk` happyRest + +happyReduce_165 = happyReduce 5# 60# happyReduction_165 +happyReduction_165 (_ `HappyStk` + (HappyAbsSyn65 happy_var_4) `HappyStk` + _ `HappyStk` + (HappyAbsSyn58 happy_var_2) `HappyStk` + _ `HappyStk` + happyRest) + = HappyAbsSyn58 + (EVTable happy_var_2 happy_var_4 + ) `HappyStk` happyRest + +happyReduce_166 = happyReduce 6# 60# happyReduction_166 +happyReduction_166 (_ `HappyStk` + (HappyAbsSyn83 happy_var_5) `HappyStk` + _ `HappyStk` + _ `HappyStk` + (HappyAbsSyn58 happy_var_2) `HappyStk` + _ `HappyStk` + happyRest) + = HappyAbsSyn58 + (ECase happy_var_2 happy_var_5 + ) `HappyStk` happyRest + +happyReduce_167 = happyReduce 4# 60# happyReduction_167 +happyReduction_167 (_ `HappyStk` + (HappyAbsSyn65 happy_var_3) `HappyStk` + _ `HappyStk` + _ `HappyStk` + happyRest) + = HappyAbsSyn58 + (EVariants happy_var_3 + ) `HappyStk` happyRest + +happyReduce_168 = happyReduce 6# 60# happyReduction_168 +happyReduction_168 (_ `HappyStk` + (HappyAbsSyn87 happy_var_5) `HappyStk` + _ `HappyStk` + (HappyAbsSyn58 happy_var_3) `HappyStk` + _ `HappyStk` + _ `HappyStk` + happyRest) + = HappyAbsSyn58 + (EPre happy_var_3 happy_var_5 + ) `HappyStk` happyRest + +happyReduce_169 = happyReduce 4# 60# happyReduction_169 +happyReduction_169 (_ `HappyStk` + (HappyAbsSyn65 happy_var_3) `HappyStk` + _ `HappyStk` + _ `HappyStk` + happyRest) + = HappyAbsSyn58 + (EStrs happy_var_3 + ) `HappyStk` happyRest + +happyReduce_170 = happySpecReduce_3 60# happyReduction_170 +happyReduction_170 (HappyAbsSyn58 happy_var_3) + _ + (HappyAbsSyn12 happy_var_1) + = HappyAbsSyn58 + (EConAt happy_var_1 happy_var_3 + ) +happyReduction_170 _ _ _ = notHappyAtAll + +happyReduce_171 = happySpecReduce_2 60# happyReduction_171 +happyReduction_171 (HappyAbsSyn67 happy_var_2) + _ + = HappyAbsSyn58 + (EPatt happy_var_2 + ) +happyReduction_171 _ _ = notHappyAtAll + +happyReduce_172 = happySpecReduce_2 60# happyReduction_172 +happyReduction_172 (HappyAbsSyn58 happy_var_2) + _ + = HappyAbsSyn58 + (EPattType happy_var_2 + ) +happyReduction_172 _ _ = notHappyAtAll + +happyReduce_173 = happySpecReduce_1 60# happyReduction_173 +happyReduction_173 (HappyAbsSyn58 happy_var_1) + = HappyAbsSyn58 + (happy_var_1 + ) +happyReduction_173 _ = notHappyAtAll + +happyReduce_174 = happySpecReduce_2 60# happyReduction_174 +happyReduction_174 (HappyAbsSyn12 happy_var_2) + _ + = HappyAbsSyn58 + (ELin happy_var_2 + ) +happyReduction_174 _ _ = notHappyAtAll + +happyReduce_175 = happySpecReduce_3 61# happyReduction_175 +happyReduction_175 (HappyAbsSyn58 happy_var_3) + _ + (HappyAbsSyn58 happy_var_1) + = HappyAbsSyn58 + (ESelect happy_var_1 happy_var_3 + ) +happyReduction_175 _ _ _ = notHappyAtAll + +happyReduce_176 = happySpecReduce_3 61# happyReduction_176 +happyReduction_176 (HappyAbsSyn58 happy_var_3) + _ + (HappyAbsSyn58 happy_var_1) + = HappyAbsSyn58 + (ETupTyp happy_var_1 happy_var_3 + ) +happyReduction_176 _ _ _ = notHappyAtAll + +happyReduce_177 = happySpecReduce_3 61# happyReduction_177 +happyReduction_177 (HappyAbsSyn58 happy_var_3) + _ + (HappyAbsSyn58 happy_var_1) + = HappyAbsSyn58 + (EExtend happy_var_1 happy_var_3 + ) +happyReduction_177 _ _ _ = notHappyAtAll + +happyReduce_178 = happySpecReduce_1 61# happyReduction_178 +happyReduction_178 (HappyAbsSyn58 happy_var_1) + = HappyAbsSyn58 + (happy_var_1 + ) +happyReduction_178 _ = notHappyAtAll + +happyReduce_179 = happySpecReduce_3 62# happyReduction_179 +happyReduction_179 (HappyAbsSyn58 happy_var_3) + _ + (HappyAbsSyn58 happy_var_1) + = HappyAbsSyn58 + (EGlue happy_var_1 happy_var_3 + ) +happyReduction_179 _ _ _ = notHappyAtAll + +happyReduce_180 = happySpecReduce_1 62# happyReduction_180 +happyReduction_180 (HappyAbsSyn58 happy_var_1) + = HappyAbsSyn58 + (happy_var_1 + ) +happyReduction_180 _ = notHappyAtAll + +happyReduce_181 = happySpecReduce_3 63# happyReduction_181 +happyReduction_181 (HappyAbsSyn58 happy_var_3) + _ + (HappyAbsSyn58 happy_var_1) + = HappyAbsSyn58 + (EConcat happy_var_1 happy_var_3 + ) +happyReduction_181 _ _ _ = notHappyAtAll + +happyReduce_182 = happyReduce 4# 63# happyReduction_182 +happyReduction_182 ((HappyAbsSyn58 happy_var_4) `HappyStk` + _ `HappyStk` + (HappyAbsSyn76 happy_var_2) `HappyStk` + _ `HappyStk` + happyRest) + = HappyAbsSyn58 + (EAbstr happy_var_2 happy_var_4 + ) `HappyStk` happyRest + +happyReduce_183 = happyReduce 5# 63# happyReduction_183 +happyReduction_183 ((HappyAbsSyn58 happy_var_5) `HappyStk` + _ `HappyStk` + (HappyAbsSyn76 happy_var_3) `HappyStk` + _ `HappyStk` + _ `HappyStk` + happyRest) + = HappyAbsSyn58 + (ECTable happy_var_3 happy_var_5 + ) `HappyStk` happyRest + +happyReduce_184 = happySpecReduce_3 63# happyReduction_184 +happyReduction_184 (HappyAbsSyn58 happy_var_3) + _ + (HappyAbsSyn77 happy_var_1) + = HappyAbsSyn58 + (EProd happy_var_1 happy_var_3 + ) +happyReduction_184 _ _ _ = notHappyAtAll + +happyReduce_185 = happySpecReduce_3 63# happyReduction_185 +happyReduction_185 (HappyAbsSyn58 happy_var_3) + _ + (HappyAbsSyn58 happy_var_1) + = HappyAbsSyn58 + (ETType happy_var_1 happy_var_3 + ) +happyReduction_185 _ _ _ = notHappyAtAll + +happyReduce_186 = happyReduce 6# 63# happyReduction_186 +happyReduction_186 ((HappyAbsSyn58 happy_var_6) `HappyStk` + _ `HappyStk` + _ `HappyStk` + (HappyAbsSyn57 happy_var_3) `HappyStk` + _ `HappyStk` + _ `HappyStk` + happyRest) + = HappyAbsSyn58 + (ELet happy_var_3 happy_var_6 + ) `HappyStk` happyRest + +happyReduce_187 = happyReduce 4# 63# happyReduction_187 +happyReduction_187 ((HappyAbsSyn58 happy_var_4) `HappyStk` + _ `HappyStk` + (HappyAbsSyn57 happy_var_2) `HappyStk` + _ `HappyStk` + happyRest) + = HappyAbsSyn58 + (ELetb happy_var_2 happy_var_4 + ) `HappyStk` happyRest + +happyReduce_188 = happyReduce 5# 63# happyReduction_188 +happyReduction_188 (_ `HappyStk` + (HappyAbsSyn57 happy_var_4) `HappyStk` + _ `HappyStk` + _ `HappyStk` + (HappyAbsSyn58 happy_var_1) `HappyStk` + happyRest) + = HappyAbsSyn58 + (EWhere happy_var_1 happy_var_4 + ) `HappyStk` happyRest + +happyReduce_189 = happyReduce 4# 63# happyReduction_189 +happyReduction_189 (_ `HappyStk` + (HappyAbsSyn85 happy_var_3) `HappyStk` + _ `HappyStk` + _ `HappyStk` + happyRest) + = HappyAbsSyn58 + (EEqs happy_var_3 + ) `HappyStk` happyRest + +happyReduce_190 = happySpecReduce_3 63# happyReduction_190 +happyReduction_190 (HappyAbsSyn9 happy_var_3) + (HappyAbsSyn58 happy_var_2) + _ + = HappyAbsSyn58 + (EExample happy_var_2 happy_var_3 + ) +happyReduction_190 _ _ _ = notHappyAtAll + +happyReduce_191 = happySpecReduce_1 63# happyReduction_191 +happyReduction_191 (HappyAbsSyn58 happy_var_1) + = HappyAbsSyn58 + (happy_var_1 + ) +happyReduction_191 _ = notHappyAtAll + +happyReduce_192 = happySpecReduce_1 64# happyReduction_192 +happyReduction_192 (HappyAbsSyn58 happy_var_1) + = HappyAbsSyn58 + (happy_var_1 + ) +happyReduction_192 _ = notHappyAtAll + +happyReduce_193 = happySpecReduce_0 65# happyReduction_193 +happyReduction_193 = HappyAbsSyn65 + ([] + ) + +happyReduce_194 = happySpecReduce_1 65# happyReduction_194 +happyReduction_194 (HappyAbsSyn58 happy_var_1) + = HappyAbsSyn65 + ((:[]) happy_var_1 + ) +happyReduction_194 _ = notHappyAtAll + +happyReduce_195 = happySpecReduce_3 65# happyReduction_195 +happyReduction_195 (HappyAbsSyn65 happy_var_3) + _ + (HappyAbsSyn58 happy_var_1) + = HappyAbsSyn65 + ((:) happy_var_1 happy_var_3 + ) +happyReduction_195 _ _ _ = notHappyAtAll + +happyReduce_196 = happySpecReduce_0 66# happyReduction_196 +happyReduction_196 = HappyAbsSyn66 + (NilExp + ) + +happyReduce_197 = happySpecReduce_2 66# happyReduction_197 +happyReduction_197 (HappyAbsSyn66 happy_var_2) + (HappyAbsSyn58 happy_var_1) + = HappyAbsSyn66 + (ConsExp happy_var_1 happy_var_2 + ) +happyReduction_197 _ _ = notHappyAtAll + +happyReduce_198 = happySpecReduce_1 67# happyReduction_198 +happyReduction_198 _ + = HappyAbsSyn67 + (PChar + ) + +happyReduce_199 = happySpecReduce_3 67# happyReduction_199 +happyReduction_199 _ + (HappyAbsSyn9 happy_var_2) + _ + = HappyAbsSyn67 + (PChars happy_var_2 + ) +happyReduction_199 _ _ _ = notHappyAtAll + +happyReduce_200 = happySpecReduce_2 67# happyReduction_200 +happyReduction_200 (HappyAbsSyn12 happy_var_2) + _ + = HappyAbsSyn67 + (PMacro happy_var_2 + ) +happyReduction_200 _ _ = notHappyAtAll + +happyReduce_201 = happyReduce 4# 67# happyReduction_201 +happyReduction_201 ((HappyAbsSyn12 happy_var_4) `HappyStk` + _ `HappyStk` + (HappyAbsSyn12 happy_var_2) `HappyStk` + _ `HappyStk` + happyRest) + = HappyAbsSyn67 + (PM happy_var_2 happy_var_4 + ) `HappyStk` happyRest + +happyReduce_202 = happySpecReduce_1 67# happyReduction_202 +happyReduction_202 _ + = HappyAbsSyn67 + (PW + ) + +happyReduce_203 = happySpecReduce_1 67# happyReduction_203 +happyReduction_203 (HappyAbsSyn12 happy_var_1) + = HappyAbsSyn67 + (PV happy_var_1 + ) +happyReduction_203 _ = notHappyAtAll + +happyReduce_204 = happySpecReduce_3 67# happyReduction_204 +happyReduction_204 _ + (HappyAbsSyn12 happy_var_2) + _ + = HappyAbsSyn67 + (PCon happy_var_2 + ) +happyReduction_204 _ _ _ = notHappyAtAll + +happyReduce_205 = happySpecReduce_3 67# happyReduction_205 +happyReduction_205 (HappyAbsSyn12 happy_var_3) + _ + (HappyAbsSyn12 happy_var_1) + = HappyAbsSyn67 + (PQ happy_var_1 happy_var_3 + ) +happyReduction_205 _ _ _ = notHappyAtAll + +happyReduce_206 = happySpecReduce_1 67# happyReduction_206 +happyReduction_206 (HappyAbsSyn8 happy_var_1) + = HappyAbsSyn67 + (PInt happy_var_1 + ) +happyReduction_206 _ = notHappyAtAll + +happyReduce_207 = happySpecReduce_1 67# happyReduction_207 +happyReduction_207 (HappyAbsSyn10 happy_var_1) + = HappyAbsSyn67 + (PFloat happy_var_1 + ) +happyReduction_207 _ = notHappyAtAll + +happyReduce_208 = happySpecReduce_1 67# happyReduction_208 +happyReduction_208 (HappyAbsSyn9 happy_var_1) + = HappyAbsSyn67 + (PStr happy_var_1 + ) +happyReduction_208 _ = notHappyAtAll + +happyReduce_209 = happySpecReduce_3 67# happyReduction_209 +happyReduction_209 _ + (HappyAbsSyn73 happy_var_2) + _ + = HappyAbsSyn67 + (PR happy_var_2 + ) +happyReduction_209 _ _ _ = notHappyAtAll + +happyReduce_210 = happySpecReduce_3 67# happyReduction_210 +happyReduction_210 _ + (HappyAbsSyn81 happy_var_2) + _ + = HappyAbsSyn67 + (PTup happy_var_2 + ) +happyReduction_210 _ _ _ = notHappyAtAll + +happyReduce_211 = happySpecReduce_3 67# happyReduction_211 +happyReduction_211 _ + (HappyAbsSyn67 happy_var_2) + _ + = HappyAbsSyn67 + (happy_var_2 + ) +happyReduction_211 _ _ _ = notHappyAtAll + +happyReduce_212 = happySpecReduce_2 68# happyReduction_212 +happyReduction_212 (HappyAbsSyn74 happy_var_2) + (HappyAbsSyn12 happy_var_1) + = HappyAbsSyn67 + (PC happy_var_1 happy_var_2 + ) +happyReduction_212 _ _ = notHappyAtAll + +happyReduce_213 = happyReduce 4# 68# happyReduction_213 +happyReduction_213 ((HappyAbsSyn74 happy_var_4) `HappyStk` + (HappyAbsSyn12 happy_var_3) `HappyStk` + _ `HappyStk` + (HappyAbsSyn12 happy_var_1) `HappyStk` + happyRest) + = HappyAbsSyn67 + (PQC happy_var_1 happy_var_3 happy_var_4 + ) `HappyStk` happyRest + +happyReduce_214 = happySpecReduce_2 68# happyReduction_214 +happyReduction_214 _ + (HappyAbsSyn67 happy_var_1) + = HappyAbsSyn67 + (PRep happy_var_1 + ) +happyReduction_214 _ _ = notHappyAtAll + +happyReduce_215 = happySpecReduce_3 68# happyReduction_215 +happyReduction_215 (HappyAbsSyn67 happy_var_3) + _ + (HappyAbsSyn12 happy_var_1) + = HappyAbsSyn67 + (PAs happy_var_1 happy_var_3 + ) +happyReduction_215 _ _ _ = notHappyAtAll + +happyReduce_216 = happySpecReduce_2 68# happyReduction_216 +happyReduction_216 (HappyAbsSyn67 happy_var_2) + _ + = HappyAbsSyn67 + (PNeg happy_var_2 + ) +happyReduction_216 _ _ = notHappyAtAll + +happyReduce_217 = happySpecReduce_1 68# happyReduction_217 +happyReduction_217 (HappyAbsSyn67 happy_var_1) + = HappyAbsSyn67 + (happy_var_1 + ) +happyReduction_217 _ = notHappyAtAll + +happyReduce_218 = happySpecReduce_3 69# happyReduction_218 +happyReduction_218 (HappyAbsSyn67 happy_var_3) + _ + (HappyAbsSyn67 happy_var_1) + = HappyAbsSyn67 + (PDisj happy_var_1 happy_var_3 + ) +happyReduction_218 _ _ _ = notHappyAtAll + +happyReduce_219 = happySpecReduce_3 69# happyReduction_219 +happyReduction_219 (HappyAbsSyn67 happy_var_3) + _ + (HappyAbsSyn67 happy_var_1) + = HappyAbsSyn67 + (PSeq happy_var_1 happy_var_3 + ) +happyReduction_219 _ _ _ = notHappyAtAll + +happyReduce_220 = happySpecReduce_1 69# happyReduction_220 +happyReduction_220 (HappyAbsSyn67 happy_var_1) + = HappyAbsSyn67 + (happy_var_1 + ) +happyReduction_220 _ = notHappyAtAll + +happyReduce_221 = happySpecReduce_3 70# happyReduction_221 +happyReduction_221 (HappyAbsSyn67 happy_var_3) + _ + (HappyAbsSyn53 happy_var_1) + = HappyAbsSyn70 + (PA happy_var_1 happy_var_3 + ) +happyReduction_221 _ _ _ = notHappyAtAll + +happyReduce_222 = happySpecReduce_1 71# happyReduction_222 +happyReduction_222 (HappyAbsSyn12 happy_var_1) + = HappyAbsSyn71 + (LIdent happy_var_1 + ) +happyReduction_222 _ = notHappyAtAll + +happyReduce_223 = happySpecReduce_2 71# happyReduction_223 +happyReduction_223 (HappyAbsSyn8 happy_var_2) + _ + = HappyAbsSyn71 + (LVar happy_var_2 + ) +happyReduction_223 _ _ = notHappyAtAll + +happyReduce_224 = happySpecReduce_1 72# happyReduction_224 +happyReduction_224 _ + = HappyAbsSyn72 + (Sort_Type + ) + +happyReduce_225 = happySpecReduce_1 72# happyReduction_225 +happyReduction_225 _ + = HappyAbsSyn72 + (Sort_PType + ) + +happyReduce_226 = happySpecReduce_1 72# happyReduction_226 +happyReduction_226 _ + = HappyAbsSyn72 + (Sort_Tok + ) + +happyReduce_227 = happySpecReduce_1 72# happyReduction_227 +happyReduction_227 _ + = HappyAbsSyn72 + (Sort_Str + ) + +happyReduce_228 = happySpecReduce_1 72# happyReduction_228 +happyReduction_228 _ + = HappyAbsSyn72 + (Sort_Strs + ) + +happyReduce_229 = happySpecReduce_0 73# happyReduction_229 +happyReduction_229 = HappyAbsSyn73 + ([] + ) + +happyReduce_230 = happySpecReduce_1 73# happyReduction_230 +happyReduction_230 (HappyAbsSyn70 happy_var_1) + = HappyAbsSyn73 + ((:[]) happy_var_1 + ) +happyReduction_230 _ = notHappyAtAll + +happyReduce_231 = happySpecReduce_3 73# happyReduction_231 +happyReduction_231 (HappyAbsSyn73 happy_var_3) + _ + (HappyAbsSyn70 happy_var_1) + = HappyAbsSyn73 + ((:) happy_var_1 happy_var_3 + ) +happyReduction_231 _ _ _ = notHappyAtAll + +happyReduce_232 = happySpecReduce_1 74# happyReduction_232 +happyReduction_232 (HappyAbsSyn67 happy_var_1) + = HappyAbsSyn74 + ((:[]) happy_var_1 + ) +happyReduction_232 _ = notHappyAtAll + +happyReduce_233 = happySpecReduce_2 74# happyReduction_233 +happyReduction_233 (HappyAbsSyn74 happy_var_2) + (HappyAbsSyn67 happy_var_1) + = HappyAbsSyn74 + ((:) happy_var_1 happy_var_2 + ) +happyReduction_233 _ _ = notHappyAtAll + +happyReduce_234 = happySpecReduce_1 75# happyReduction_234 +happyReduction_234 (HappyAbsSyn12 happy_var_1) + = HappyAbsSyn75 + (BIdent happy_var_1 + ) +happyReduction_234 _ = notHappyAtAll + +happyReduce_235 = happySpecReduce_1 75# happyReduction_235 +happyReduction_235 _ + = HappyAbsSyn75 + (BWild + ) + +happyReduce_236 = happySpecReduce_0 76# happyReduction_236 +happyReduction_236 = HappyAbsSyn76 + ([] + ) + +happyReduce_237 = happySpecReduce_1 76# happyReduction_237 +happyReduction_237 (HappyAbsSyn75 happy_var_1) + = HappyAbsSyn76 + ((:[]) happy_var_1 + ) +happyReduction_237 _ = notHappyAtAll + +happyReduce_238 = happySpecReduce_3 76# happyReduction_238 +happyReduction_238 (HappyAbsSyn76 happy_var_3) + _ + (HappyAbsSyn75 happy_var_1) + = HappyAbsSyn76 + ((:) happy_var_1 happy_var_3 + ) +happyReduction_238 _ _ _ = notHappyAtAll + +happyReduce_239 = happyReduce 5# 77# happyReduction_239 +happyReduction_239 (_ `HappyStk` + (HappyAbsSyn58 happy_var_4) `HappyStk` + _ `HappyStk` + (HappyAbsSyn76 happy_var_2) `HappyStk` + _ `HappyStk` + happyRest) + = HappyAbsSyn77 + (DDec happy_var_2 happy_var_4 + ) `HappyStk` happyRest + +happyReduce_240 = happySpecReduce_1 77# happyReduction_240 +happyReduction_240 (HappyAbsSyn58 happy_var_1) + = HappyAbsSyn77 + (DExp happy_var_1 + ) +happyReduction_240 _ = notHappyAtAll + +happyReduce_241 = happySpecReduce_1 78# happyReduction_241 +happyReduction_241 (HappyAbsSyn58 happy_var_1) + = HappyAbsSyn78 + (TComp happy_var_1 + ) +happyReduction_241 _ = notHappyAtAll + +happyReduce_242 = happySpecReduce_1 79# happyReduction_242 +happyReduction_242 (HappyAbsSyn67 happy_var_1) + = HappyAbsSyn79 + (PTComp happy_var_1 + ) +happyReduction_242 _ = notHappyAtAll + +happyReduce_243 = happySpecReduce_0 80# happyReduction_243 +happyReduction_243 = HappyAbsSyn80 + ([] + ) + +happyReduce_244 = happySpecReduce_1 80# happyReduction_244 +happyReduction_244 (HappyAbsSyn78 happy_var_1) + = HappyAbsSyn80 + ((:[]) happy_var_1 + ) +happyReduction_244 _ = notHappyAtAll + +happyReduce_245 = happySpecReduce_3 80# happyReduction_245 +happyReduction_245 (HappyAbsSyn80 happy_var_3) + _ + (HappyAbsSyn78 happy_var_1) + = HappyAbsSyn80 + ((:) happy_var_1 happy_var_3 + ) +happyReduction_245 _ _ _ = notHappyAtAll + +happyReduce_246 = happySpecReduce_0 81# happyReduction_246 +happyReduction_246 = HappyAbsSyn81 + ([] + ) + +happyReduce_247 = happySpecReduce_1 81# happyReduction_247 +happyReduction_247 (HappyAbsSyn79 happy_var_1) + = HappyAbsSyn81 + ((:[]) happy_var_1 + ) +happyReduction_247 _ = notHappyAtAll + +happyReduce_248 = happySpecReduce_3 81# happyReduction_248 +happyReduction_248 (HappyAbsSyn81 happy_var_3) + _ + (HappyAbsSyn79 happy_var_1) + = HappyAbsSyn81 + ((:) happy_var_1 happy_var_3 + ) +happyReduction_248 _ _ _ = notHappyAtAll + +happyReduce_249 = happySpecReduce_3 82# happyReduction_249 +happyReduction_249 (HappyAbsSyn58 happy_var_3) + _ + (HappyAbsSyn67 happy_var_1) + = HappyAbsSyn82 + (Case happy_var_1 happy_var_3 + ) +happyReduction_249 _ _ _ = notHappyAtAll + +happyReduce_250 = happySpecReduce_1 83# happyReduction_250 +happyReduction_250 (HappyAbsSyn82 happy_var_1) + = HappyAbsSyn83 + ((:[]) happy_var_1 + ) +happyReduction_250 _ = notHappyAtAll + +happyReduce_251 = happySpecReduce_3 83# happyReduction_251 +happyReduction_251 (HappyAbsSyn83 happy_var_3) + _ + (HappyAbsSyn82 happy_var_1) + = HappyAbsSyn83 + ((:) happy_var_1 happy_var_3 + ) +happyReduction_251 _ _ _ = notHappyAtAll + +happyReduce_252 = happySpecReduce_3 84# happyReduction_252 +happyReduction_252 (HappyAbsSyn58 happy_var_3) + _ + (HappyAbsSyn74 happy_var_1) + = HappyAbsSyn84 + (Equ happy_var_1 happy_var_3 + ) +happyReduction_252 _ _ _ = notHappyAtAll + +happyReduce_253 = happySpecReduce_0 85# happyReduction_253 +happyReduction_253 = HappyAbsSyn85 + ([] + ) + +happyReduce_254 = happySpecReduce_1 85# happyReduction_254 +happyReduction_254 (HappyAbsSyn84 happy_var_1) + = HappyAbsSyn85 + ((:[]) happy_var_1 + ) +happyReduction_254 _ = notHappyAtAll + +happyReduce_255 = happySpecReduce_3 85# happyReduction_255 +happyReduction_255 (HappyAbsSyn85 happy_var_3) + _ + (HappyAbsSyn84 happy_var_1) + = HappyAbsSyn85 + ((:) happy_var_1 happy_var_3 + ) +happyReduction_255 _ _ _ = notHappyAtAll + +happyReduce_256 = happySpecReduce_3 86# happyReduction_256 +happyReduction_256 (HappyAbsSyn58 happy_var_3) + _ + (HappyAbsSyn58 happy_var_1) + = HappyAbsSyn86 + (Alt happy_var_1 happy_var_3 + ) +happyReduction_256 _ _ _ = notHappyAtAll + +happyReduce_257 = happySpecReduce_0 87# happyReduction_257 +happyReduction_257 = HappyAbsSyn87 + ([] + ) + +happyReduce_258 = happySpecReduce_1 87# happyReduction_258 +happyReduction_258 (HappyAbsSyn86 happy_var_1) + = HappyAbsSyn87 + ((:[]) happy_var_1 + ) +happyReduction_258 _ = notHappyAtAll + +happyReduce_259 = happySpecReduce_3 87# happyReduction_259 +happyReduction_259 (HappyAbsSyn87 happy_var_3) + _ + (HappyAbsSyn86 happy_var_1) + = HappyAbsSyn87 + ((:) happy_var_1 happy_var_3 + ) +happyReduction_259 _ _ _ = notHappyAtAll + +happyReduce_260 = happyReduce 5# 88# happyReduction_260 +happyReduction_260 (_ `HappyStk` + (HappyAbsSyn58 happy_var_4) `HappyStk` + _ `HappyStk` + (HappyAbsSyn76 happy_var_2) `HappyStk` + _ `HappyStk` + happyRest) + = HappyAbsSyn88 + (DDDec happy_var_2 happy_var_4 + ) `HappyStk` happyRest + +happyReduce_261 = happySpecReduce_1 88# happyReduction_261 +happyReduction_261 (HappyAbsSyn58 happy_var_1) + = HappyAbsSyn88 + (DDExp happy_var_1 + ) +happyReduction_261 _ = notHappyAtAll + +happyReduce_262 = happySpecReduce_0 89# happyReduction_262 +happyReduction_262 = HappyAbsSyn89 + ([] + ) + +happyReduce_263 = happySpecReduce_2 89# happyReduction_263 +happyReduction_263 (HappyAbsSyn88 happy_var_2) + (HappyAbsSyn89 happy_var_1) + = HappyAbsSyn89 + (flip (:) happy_var_1 happy_var_2 + ) +happyReduction_263 _ _ = notHappyAtAll + +happyReduce_264 = happySpecReduce_2 90# happyReduction_264 +happyReduction_264 (HappyAbsSyn25 happy_var_2) + (HappyAbsSyn91 happy_var_1) + = HappyAbsSyn90 + (OldGr happy_var_1 (reverse happy_var_2) + ) +happyReduction_264 _ _ = notHappyAtAll + +happyReduce_265 = happySpecReduce_0 91# happyReduction_265 +happyReduction_265 = HappyAbsSyn91 + (NoIncl + ) + +happyReduce_266 = happySpecReduce_2 91# happyReduction_266 +happyReduction_266 (HappyAbsSyn93 happy_var_2) + _ + = HappyAbsSyn91 + (Incl happy_var_2 + ) +happyReduction_266 _ _ = notHappyAtAll + +happyReduce_267 = happySpecReduce_1 92# happyReduction_267 +happyReduction_267 (HappyAbsSyn9 happy_var_1) + = HappyAbsSyn92 + (FString happy_var_1 + ) +happyReduction_267 _ = notHappyAtAll + +happyReduce_268 = happySpecReduce_1 92# happyReduction_268 +happyReduction_268 (HappyAbsSyn12 happy_var_1) + = HappyAbsSyn92 + (FIdent happy_var_1 + ) +happyReduction_268 _ = notHappyAtAll + +happyReduce_269 = happySpecReduce_2 92# happyReduction_269 +happyReduction_269 (HappyAbsSyn92 happy_var_2) + _ + = HappyAbsSyn92 + (FSlash happy_var_2 + ) +happyReduction_269 _ _ = notHappyAtAll + +happyReduce_270 = happySpecReduce_2 92# happyReduction_270 +happyReduction_270 (HappyAbsSyn92 happy_var_2) + _ + = HappyAbsSyn92 + (FDot happy_var_2 + ) +happyReduction_270 _ _ = notHappyAtAll + +happyReduce_271 = happySpecReduce_2 92# happyReduction_271 +happyReduction_271 (HappyAbsSyn92 happy_var_2) + _ + = HappyAbsSyn92 + (FMinus happy_var_2 + ) +happyReduction_271 _ _ = notHappyAtAll + +happyReduce_272 = happySpecReduce_2 92# happyReduction_272 +happyReduction_272 (HappyAbsSyn92 happy_var_2) + (HappyAbsSyn12 happy_var_1) + = HappyAbsSyn92 + (FAddId happy_var_1 happy_var_2 + ) +happyReduction_272 _ _ = notHappyAtAll + +happyReduce_273 = happySpecReduce_2 93# happyReduction_273 +happyReduction_273 _ + (HappyAbsSyn92 happy_var_1) + = HappyAbsSyn93 + ((:[]) happy_var_1 + ) +happyReduction_273 _ _ = notHappyAtAll + +happyReduce_274 = happySpecReduce_3 93# happyReduction_274 +happyReduction_274 (HappyAbsSyn93 happy_var_3) + _ + (HappyAbsSyn92 happy_var_1) + = HappyAbsSyn93 + ((:) happy_var_1 happy_var_3 + ) +happyReduction_274 _ _ _ = notHappyAtAll + +happyNewToken action sts stk [] = + action 176# 176# notHappyAtAll (HappyState action) sts stk [] + +happyNewToken action sts stk (tk:tks) = + let cont i = action i i tk (HappyState action) sts stk tks in + case tk of { + PT _ (TS _ 1) -> cont 94#; + PT _ (TS _ 2) -> cont 95#; + PT _ (TS _ 3) -> cont 96#; + PT _ (TS _ 4) -> cont 97#; + PT _ (TS _ 5) -> cont 98#; + PT _ (TS _ 6) -> cont 99#; + PT _ (TS _ 7) -> cont 100#; + PT _ (TS _ 8) -> cont 101#; + PT _ (TS _ 9) -> cont 102#; + PT _ (TS _ 10) -> cont 103#; + PT _ (TS _ 11) -> cont 104#; + PT _ (TS _ 12) -> cont 105#; + PT _ (TS _ 13) -> cont 106#; + PT _ (TS _ 14) -> cont 107#; + PT _ (TS _ 15) -> cont 108#; + PT _ (TS _ 16) -> cont 109#; + PT _ (TS _ 17) -> cont 110#; + PT _ (TS _ 18) -> cont 111#; + PT _ (TS _ 19) -> cont 112#; + PT _ (TS _ 20) -> cont 113#; + PT _ (TS _ 21) -> cont 114#; + PT _ (TS _ 22) -> cont 115#; + PT _ (TS _ 23) -> cont 116#; + PT _ (TS _ 24) -> cont 117#; + PT _ (TS _ 25) -> cont 118#; + PT _ (TS _ 26) -> cont 119#; + PT _ (TS _ 27) -> cont 120#; + PT _ (TS _ 28) -> cont 121#; + PT _ (TS _ 29) -> cont 122#; + PT _ (TS _ 30) -> cont 123#; + PT _ (TS _ 31) -> cont 124#; + PT _ (TS _ 32) -> cont 125#; + PT _ (TS _ 33) -> cont 126#; + PT _ (TS _ 34) -> cont 127#; + PT _ (TS _ 35) -> cont 128#; + PT _ (TS _ 36) -> cont 129#; + PT _ (TS _ 37) -> cont 130#; + PT _ (TS _ 38) -> cont 131#; + PT _ (TS _ 39) -> cont 132#; + PT _ (TS _ 40) -> cont 133#; + PT _ (TS _ 41) -> cont 134#; + PT _ (TS _ 42) -> cont 135#; + PT _ (TS _ 43) -> cont 136#; + PT _ (TS _ 44) -> cont 137#; + PT _ (TS _ 45) -> cont 138#; + PT _ (TS _ 46) -> cont 139#; + PT _ (TS _ 47) -> cont 140#; + PT _ (TS _ 48) -> cont 141#; + PT _ (TS _ 49) -> cont 142#; + PT _ (TS _ 50) -> cont 143#; + PT _ (TS _ 51) -> cont 144#; + PT _ (TS _ 52) -> cont 145#; + PT _ (TS _ 53) -> cont 146#; + PT _ (TS _ 54) -> cont 147#; + PT _ (TS _ 55) -> cont 148#; + PT _ (TS _ 56) -> cont 149#; + PT _ (TS _ 57) -> cont 150#; + PT _ (TS _ 58) -> cont 151#; + PT _ (TS _ 59) -> cont 152#; + PT _ (TS _ 60) -> cont 153#; + PT _ (TS _ 61) -> cont 154#; + PT _ (TS _ 62) -> cont 155#; + PT _ (TS _ 63) -> cont 156#; + PT _ (TS _ 64) -> cont 157#; + PT _ (TS _ 65) -> cont 158#; + PT _ (TS _ 66) -> cont 159#; + PT _ (TS _ 67) -> cont 160#; + PT _ (TS _ 68) -> cont 161#; + PT _ (TS _ 69) -> cont 162#; + PT _ (TS _ 70) -> cont 163#; + PT _ (TS _ 71) -> cont 164#; + PT _ (TS _ 72) -> cont 165#; + PT _ (TS _ 73) -> cont 166#; + PT _ (TS _ 74) -> cont 167#; + PT _ (TS _ 75) -> cont 168#; + PT _ (TS _ 76) -> cont 169#; + PT _ (TI happy_dollar_dollar) -> cont 170#; + PT _ (TL happy_dollar_dollar) -> cont 171#; + PT _ (TD happy_dollar_dollar) -> cont 172#; + PT _ (T_LString happy_dollar_dollar) -> cont 173#; + PT _ (T_PIdent _) -> cont 174#; + _ -> cont 175#; + _ -> happyError' (tk:tks) + } + +happyError_ tk tks = happyError' (tk:tks) + +happyThen :: () => Err a -> (a -> Err b) -> Err b +happyThen = (thenM) +happyReturn :: () => a -> Err a +happyReturn = (returnM) +happyThen1 m k tks = (thenM) m (\a -> k a tks) +happyReturn1 :: () => a -> b -> Err a +happyReturn1 = \a tks -> (returnM) a +happyError' :: () => [Token] -> Err a +happyError' = happyError + +pGrammar tks = happySomeParser where + happySomeParser = happyThen (happyParse action_0 tks) (\x -> case x of {HappyAbsSyn13 z -> happyReturn z; _other -> notHappyAtAll }) + +pModDef tks = happySomeParser where + happySomeParser = happyThen (happyParse action_1 tks) (\x -> case x of {HappyAbsSyn15 z -> happyReturn z; _other -> notHappyAtAll }) + +pOldGrammar tks = happySomeParser where + happySomeParser = happyThen (happyParse action_2 tks) (\x -> case x of {HappyAbsSyn90 z -> happyReturn z; _other -> notHappyAtAll }) + +pModHeader tks = happySomeParser where + happySomeParser = happyThen (happyParse action_3 tks) (\x -> case x of {HappyAbsSyn15 z -> happyReturn z; _other -> notHappyAtAll }) + +pExp tks = happySomeParser where + happySomeParser = happyThen (happyParse action_4 tks) (\x -> case x of {HappyAbsSyn58 z -> happyReturn z; _other -> notHappyAtAll }) + +happySeq = happyDontSeq + + +returnM :: a -> Err a +returnM = return + +thenM :: Err a -> (a -> Err b) -> Err b +thenM = (>>=) + +happyError :: [Token] -> Err a +happyError ts = + Bad $ "syntax error at " ++ tokenPos ts ++ + case ts of + [] -> [] + [Err _] -> " due to lexer error" + _ -> " before " ++ unwords (map (BS.unpack . prToken) (take 4 ts)) + +myLexer = tokens +{-# LINE 1 "templates/GenericTemplate.hs" #-} +{-# LINE 1 "templates/GenericTemplate.hs" #-} +{-# LINE 1 "<built-in>" #-} +{-# LINE 1 "<command line>" #-} +{-# LINE 1 "templates/GenericTemplate.hs" #-} +-- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp + +{-# LINE 28 "templates/GenericTemplate.hs" #-} + + + + + + + + +{-# LINE 49 "templates/GenericTemplate.hs" #-} + +{-# LINE 59 "templates/GenericTemplate.hs" #-} + +{-# LINE 68 "templates/GenericTemplate.hs" #-} + +infixr 9 `HappyStk` +data HappyStk a = HappyStk a (HappyStk a) + +----------------------------------------------------------------------------- +-- starting the parse + +happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll + +----------------------------------------------------------------------------- +-- Accepting the parse + +-- If the current token is 1#, it means we've just accepted a partial +-- parse (a %partial parser). We must ignore the saved token on the top of +-- the stack in this case. +happyAccept 1# tk st sts (_ `HappyStk` ans `HappyStk` _) = + happyReturn1 ans +happyAccept j tk st sts (HappyStk ans _) = + (happyTcHack j ) (happyReturn1 ans) + +----------------------------------------------------------------------------- +-- Arrays only: do the next action + +{-# LINE 155 "templates/GenericTemplate.hs" #-} + +----------------------------------------------------------------------------- +-- HappyState data type (not arrays) + + + +newtype HappyState b c = HappyState + (Int# -> -- token number + Int# -> -- token number (yes, again) + b -> -- token semantic value + HappyState b c -> -- current state + [HappyState b c] -> -- state stack + c) + + + +----------------------------------------------------------------------------- +-- Shifting a token + +happyShift new_state 1# tk st sts stk@(x `HappyStk` _) = + let i = (case x of { HappyErrorToken (I# (i)) -> i }) in +-- trace "shifting the error token" $ + new_state i i tk (HappyState (new_state)) ((st):(sts)) (stk) + +happyShift new_state i tk st sts stk = + happyNewToken new_state ((st):(sts)) ((HappyTerminal (tk))`HappyStk`stk) + +-- happyReduce is specialised for the common cases. + +happySpecReduce_0 i fn 1# tk st sts stk + = happyFail 1# tk st sts stk +happySpecReduce_0 nt fn j tk st@((HappyState (action))) sts stk + = action nt j tk st ((st):(sts)) (fn `HappyStk` stk) + +happySpecReduce_1 i fn 1# tk st sts stk + = happyFail 1# tk st sts stk +happySpecReduce_1 nt fn j tk _ sts@(((st@(HappyState (action))):(_))) (v1`HappyStk`stk') + = let r = fn v1 in + happySeq r (action nt j tk st sts (r `HappyStk` stk')) + +happySpecReduce_2 i fn 1# tk st sts stk + = happyFail 1# tk st sts stk +happySpecReduce_2 nt fn j tk _ ((_):(sts@(((st@(HappyState (action))):(_))))) (v1`HappyStk`v2`HappyStk`stk') + = let r = fn v1 v2 in + happySeq r (action nt j tk st sts (r `HappyStk` stk')) + +happySpecReduce_3 i fn 1# tk st sts stk + = happyFail 1# tk st sts stk +happySpecReduce_3 nt fn j tk _ ((_):(((_):(sts@(((st@(HappyState (action))):(_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk') + = let r = fn v1 v2 v3 in + happySeq r (action nt j tk st sts (r `HappyStk` stk')) + +happyReduce k i fn 1# tk st sts stk + = happyFail 1# tk st sts stk +happyReduce k nt fn j tk st sts stk + = case happyDrop (k -# (1# :: Int#)) sts of + sts1@(((st1@(HappyState (action))):(_))) -> + let r = fn stk in -- it doesn't hurt to always seq here... + happyDoSeq r (action nt j tk st1 sts1 r) + +happyMonadReduce k nt fn 1# tk st sts stk + = happyFail 1# tk st sts stk +happyMonadReduce k nt fn j tk st sts stk = + happyThen1 (fn stk tk) (\r -> action nt j tk st1 sts1 (r `HappyStk` drop_stk)) + where sts1@(((st1@(HappyState (action))):(_))) = happyDrop k ((st):(sts)) + drop_stk = happyDropStk k stk + +happyMonad2Reduce k nt fn 1# tk st sts stk + = happyFail 1# tk st sts stk +happyMonad2Reduce k nt fn j tk st sts stk = + happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk)) + where sts1@(((st1@(HappyState (action))):(_))) = happyDrop k ((st):(sts)) + drop_stk = happyDropStk k stk + + + + + + new_state = action + + +happyDrop 0# l = l +happyDrop n ((_):(t)) = happyDrop (n -# (1# :: Int#)) t + +happyDropStk 0# l = l +happyDropStk n (x `HappyStk` xs) = happyDropStk (n -# (1#::Int#)) xs + +----------------------------------------------------------------------------- +-- Moving to a new state after a reduction + +{-# LINE 253 "templates/GenericTemplate.hs" #-} +happyGoto action j tk st = action j j tk (HappyState action) + + +----------------------------------------------------------------------------- +-- Error recovery (1# is the error token) + +-- parse error if we are in recovery and we fail again +happyFail 1# tk old_st _ stk = +-- trace "failing" $ + happyError_ tk + +{- We don't need state discarding for our restricted implementation of + "error". In fact, it can cause some bogus parses, so I've disabled it + for now --SDM + +-- discard a state +happyFail 1# tk old_st (((HappyState (action))):(sts)) + (saved_tok `HappyStk` _ `HappyStk` stk) = +-- trace ("discarding state, depth " ++ show (length stk)) $ + action 1# 1# tk (HappyState (action)) sts ((saved_tok`HappyStk`stk)) +-} + +-- Enter error recovery: generate an error token, +-- save the old token and carry on. +happyFail i tk (HappyState (action)) sts stk = +-- trace "entering error recovery" $ + action 1# 1# tk (HappyState (action)) sts ( (HappyErrorToken (I# (i))) `HappyStk` stk) + +-- Internal happy errors: + +notHappyAtAll = error "Internal Happy error\n" + +----------------------------------------------------------------------------- +-- Hack to get the typechecker to accept our action functions + + +happyTcHack :: Int# -> a -> a +happyTcHack x y = y +{-# INLINE happyTcHack #-} + + +----------------------------------------------------------------------------- +-- Seq-ing. If the --strict flag is given, then Happy emits +-- happySeq = happyDoSeq +-- otherwise it emits +-- happySeq = happyDontSeq + +happyDoSeq, happyDontSeq :: a -> b -> b +happyDoSeq a b = a `seq` b +happyDontSeq a b = b + +----------------------------------------------------------------------------- +-- Don't inline any functions from the template. GHC has a nasty habit +-- of deciding to inline happyGoto everywhere, which increases the size of +-- the generated parser quite a bit. + +{-# LINE 317 "templates/GenericTemplate.hs" #-} +{-# NOINLINE happyShift #-} +{-# NOINLINE happySpecReduce_0 #-} +{-# NOINLINE happySpecReduce_1 #-} +{-# NOINLINE happySpecReduce_2 #-} +{-# NOINLINE happySpecReduce_3 #-} +{-# NOINLINE happyReduce #-} +{-# NOINLINE happyMonadReduce #-} +{-# NOINLINE happyGoto #-} +{-# NOINLINE happyFail #-} + +-- end of Happy Template. diff --git a/src/GF/Source/ParGF.y b/src/GF/Source/ParGF.y index 22a15cd93..5d6cadb12 100644 --- a/src/GF/Source/ParGF.y +++ b/src/GF/Source/ParGF.y @@ -1,642 +1,642 @@ --- This Happy file was machine-generated by the BNF converter
-{
-{-# OPTIONS -fno-warn-incomplete-patterns -fno-warn-overlapping-patterns #-}
-module GF.Source.ParGF where
-import GF.Source.AbsGF
-import GF.Source.LexGF
-import GF.Data.ErrM
-import qualified Data.ByteString.Char8 as BS
-}
-
-%name pGrammar Grammar
-%name pModDef ModDef
-%name pOldGrammar OldGrammar
-%partial pModHeader ModHeader
-%name pExp Exp
-
--- no lexer declaration
-%monad { Err } { thenM } { returnM }
-%tokentype { Token }
-
-%token
- '!' { PT _ (TS _ 1) }
- '#' { PT _ (TS _ 2) }
- '$' { PT _ (TS _ 3) }
- '%' { PT _ (TS _ 4) }
- '(' { PT _ (TS _ 5) }
- ')' { PT _ (TS _ 6) }
- '*' { PT _ (TS _ 7) }
- '**' { PT _ (TS _ 8) }
- '+' { PT _ (TS _ 9) }
- '++' { PT _ (TS _ 10) }
- ',' { PT _ (TS _ 11) }
- '-' { PT _ (TS _ 12) }
- '->' { PT _ (TS _ 13) }
- '.' { PT _ (TS _ 14) }
- '/' { PT _ (TS _ 15) }
- ':' { PT _ (TS _ 16) }
- ';' { PT _ (TS _ 17) }
- '<' { PT _ (TS _ 18) }
- '=' { PT _ (TS _ 19) }
- '=>' { PT _ (TS _ 20) }
- '>' { PT _ (TS _ 21) }
- '?' { PT _ (TS _ 22) }
- '@' { PT _ (TS _ 23) }
- 'Lin' { PT _ (TS _ 24) }
- 'PType' { PT _ (TS _ 25) }
- 'Str' { PT _ (TS _ 26) }
- 'Strs' { PT _ (TS _ 27) }
- 'Tok' { PT _ (TS _ 28) }
- 'Type' { PT _ (TS _ 29) }
- '[' { PT _ (TS _ 30) }
- '\\' { PT _ (TS _ 31) }
- ']' { PT _ (TS _ 32) }
- '_' { PT _ (TS _ 33) }
- 'abstract' { PT _ (TS _ 34) }
- 'case' { PT _ (TS _ 35) }
- 'cat' { PT _ (TS _ 36) }
- 'concrete' { PT _ (TS _ 37) }
- 'data' { PT _ (TS _ 38) }
- 'def' { PT _ (TS _ 39) }
- 'flags' { PT _ (TS _ 40) }
- 'fn' { PT _ (TS _ 41) }
- 'fun' { PT _ (TS _ 42) }
- 'grammar' { PT _ (TS _ 43) }
- 'in' { PT _ (TS _ 44) }
- 'include' { PT _ (TS _ 45) }
- 'incomplete' { PT _ (TS _ 46) }
- 'instance' { PT _ (TS _ 47) }
- 'interface' { PT _ (TS _ 48) }
- 'let' { PT _ (TS _ 49) }
- 'lin' { PT _ (TS _ 50) }
- 'lincat' { PT _ (TS _ 51) }
- 'lindef' { PT _ (TS _ 52) }
- 'lintype' { PT _ (TS _ 53) }
- 'of' { PT _ (TS _ 54) }
- 'open' { PT _ (TS _ 55) }
- 'oper' { PT _ (TS _ 56) }
- 'out' { PT _ (TS _ 57) }
- 'package' { PT _ (TS _ 58) }
- 'param' { PT _ (TS _ 59) }
- 'pattern' { PT _ (TS _ 60) }
- 'pre' { PT _ (TS _ 61) }
- 'printname' { PT _ (TS _ 62) }
- 'resource' { PT _ (TS _ 63) }
- 'reuse' { PT _ (TS _ 64) }
- 'strs' { PT _ (TS _ 65) }
- 'table' { PT _ (TS _ 66) }
- 'tokenizer' { PT _ (TS _ 67) }
- 'transfer' { PT _ (TS _ 68) }
- 'union' { PT _ (TS _ 69) }
- 'var' { PT _ (TS _ 70) }
- 'variants' { PT _ (TS _ 71) }
- 'where' { PT _ (TS _ 72) }
- 'with' { PT _ (TS _ 73) }
- '{' { PT _ (TS _ 74) }
- '|' { PT _ (TS _ 75) }
- '}' { PT _ (TS _ 76) }
-
-L_integ { PT _ (TI $$) }
-L_quoted { PT _ (TL $$) }
-L_doubl { PT _ (TD $$) }
-L_LString { PT _ (T_LString $$) }
-L_PIdent { PT _ (T_PIdent _) }
-L_err { _ }
-
-
-%%
-
-Integer :: { Integer } : L_integ { (read (BS.unpack $1)) :: Integer }
-String :: { String } : L_quoted { BS.unpack $1 }
-Double :: { Double } : L_doubl { (read (BS.unpack $1)) :: Double }
-LString :: { LString} : L_LString { LString ($1)}
-PIdent :: { PIdent} : L_PIdent { PIdent (mkPosToken $1)}
-
-Grammar :: { Grammar }
-Grammar : ListModDef { Gr (reverse $1) }
-
-
-ListModDef :: { [ModDef] }
-ListModDef : {- empty -} { [] }
- | ListModDef ModDef { flip (:) $1 $2 }
-
-
-ModDef :: { ModDef }
-ModDef : ModDef ';' { $1 }
- | 'grammar' PIdent '=' '{' 'abstract' '=' PIdent ';' ListConcSpec '}' { MMain $2 $7 $9 }
- | ComplMod ModType '=' ModBody { MModule $1 $2 $4 }
-
-
-ConcSpec :: { ConcSpec }
-ConcSpec : PIdent '=' ConcExp { ConcSpec $1 $3 }
-
-
-ListConcSpec :: { [ConcSpec] }
-ListConcSpec : {- empty -} { [] }
- | ConcSpec { (:[]) $1 }
- | ConcSpec ';' ListConcSpec { (:) $1 $3 }
-
-
-ConcExp :: { ConcExp }
-ConcExp : PIdent ListTransfer { ConcExp $1 (reverse $2) }
-
-
-ListTransfer :: { [Transfer] }
-ListTransfer : {- empty -} { [] }
- | ListTransfer Transfer { flip (:) $1 $2 }
-
-
-Transfer :: { Transfer }
-Transfer : '(' 'transfer' 'in' Open ')' { TransferIn $4 }
- | '(' 'transfer' 'out' Open ')' { TransferOut $4 }
-
-
-ModHeader :: { ModDef }
-ModHeader : ComplMod ModType '=' ModHeaderBody { MModule $1 $2 $4 }
-
-
-ModHeaderBody :: { ModBody }
-ModHeaderBody : Extend Opens { MBody $1 $2 [] }
- | ListIncluded { MNoBody $1 }
- | Included 'with' ListOpen { MWith $1 $3 }
- | Included 'with' ListOpen '**' Opens { MWithBody $1 $3 $5 [] }
- | ListIncluded '**' Included 'with' ListOpen { MWithE $1 $3 $5 }
- | ListIncluded '**' Included 'with' ListOpen '**' Opens { MWithEBody $1 $3 $5 $7 [] }
- | 'reuse' PIdent { MReuse $2 }
- | 'union' ListIncluded { MUnion $2 }
-
-
-ModType :: { ModType }
-ModType : 'abstract' PIdent { MTAbstract $2 }
- | 'resource' PIdent { MTResource $2 }
- | 'interface' PIdent { MTInterface $2 }
- | 'concrete' PIdent 'of' PIdent { MTConcrete $2 $4 }
- | 'instance' PIdent 'of' PIdent { MTInstance $2 $4 }
- | 'transfer' PIdent ':' Open '->' Open { MTTransfer $2 $4 $6 }
-
-
-ModBody :: { ModBody }
-ModBody : Extend Opens '{' ListTopDef '}' { MBody $1 $2 (reverse $4) }
- | ListIncluded { MNoBody $1 }
- | Included 'with' ListOpen { MWith $1 $3 }
- | Included 'with' ListOpen '**' Opens '{' ListTopDef '}' { MWithBody $1 $3 $5 (reverse $7) }
- | ListIncluded '**' Included 'with' ListOpen { MWithE $1 $3 $5 }
- | ListIncluded '**' Included 'with' ListOpen '**' Opens '{' ListTopDef '}' { MWithEBody $1 $3 $5 $7 (reverse $9) }
- | 'reuse' PIdent { MReuse $2 }
- | 'union' ListIncluded { MUnion $2 }
-
-
-ListTopDef :: { [TopDef] }
-ListTopDef : {- empty -} { [] }
- | ListTopDef TopDef { flip (:) $1 $2 }
-
-
-Extend :: { Extend }
-Extend : ListIncluded '**' { Ext $1 }
- | {- empty -} { NoExt }
-
-
-ListOpen :: { [Open] }
-ListOpen : {- empty -} { [] }
- | Open { (:[]) $1 }
- | Open ',' ListOpen { (:) $1 $3 }
-
-
-Opens :: { Opens }
-Opens : {- empty -} { NoOpens }
- | 'open' ListOpen 'in' { OpenIn $2 }
-
-
-Open :: { Open }
-Open : PIdent { OName $1 }
- | '(' QualOpen PIdent ')' { OQualQO $2 $3 }
- | '(' QualOpen PIdent '=' PIdent ')' { OQual $2 $3 $5 }
-
-
-ComplMod :: { ComplMod }
-ComplMod : {- empty -} { CMCompl }
- | 'incomplete' { CMIncompl }
-
-
-QualOpen :: { QualOpen }
-QualOpen : {- empty -} { QOCompl }
- | 'incomplete' { QOIncompl }
- | 'interface' { QOInterface }
-
-
-ListIncluded :: { [Included] }
-ListIncluded : {- empty -} { [] }
- | Included { (:[]) $1 }
- | Included ',' ListIncluded { (:) $1 $3 }
-
-
-Included :: { Included }
-Included : PIdent { IAll $1 }
- | PIdent '[' ListPIdent ']' { ISome $1 $3 }
- | PIdent '-' '[' ListPIdent ']' { IMinus $1 $4 }
-
-
-Def :: { Def }
-Def : ListName ':' Exp { DDecl $1 $3 }
- | ListName '=' Exp { DDef $1 $3 }
- | Name ListPatt '=' Exp { DPatt $1 $2 $4 }
- | ListName ':' Exp '=' Exp { DFull $1 $3 $5 }
-
-
-TopDef :: { TopDef }
-TopDef : 'cat' ListCatDef { DefCat $2 }
- | 'fun' ListFunDef { DefFun $2 }
- | 'data' ListFunDef { DefFunData $2 }
- | 'def' ListDef { DefDef $2 }
- | 'data' ListDataDef { DefData $2 }
- | 'transfer' ListDef { DefTrans $2 }
- | 'param' ListParDef { DefPar $2 }
- | 'oper' ListDef { DefOper $2 }
- | 'lincat' ListPrintDef { DefLincat $2 }
- | 'lindef' ListDef { DefLindef $2 }
- | 'lin' ListDef { DefLin $2 }
- | 'printname' 'cat' ListPrintDef { DefPrintCat $3 }
- | 'printname' 'fun' ListPrintDef { DefPrintFun $3 }
- | 'flags' ListFlagDef { DefFlag $2 }
- | 'printname' ListPrintDef { DefPrintOld $2 }
- | 'lintype' ListDef { DefLintype $2 }
- | 'pattern' ListDef { DefPattern $2 }
- | 'package' PIdent '=' '{' ListTopDef '}' ';' { DefPackage $2 (reverse $5) }
- | 'var' ListDef { DefVars $2 }
- | 'tokenizer' PIdent ';' { DefTokenizer $2 }
-
-
-CatDef :: { CatDef }
-CatDef : PIdent ListDDecl { SimpleCatDef $1 (reverse $2) }
- | '[' PIdent ListDDecl ']' { ListCatDef $2 (reverse $3) }
- | '[' PIdent ListDDecl ']' '{' Integer '}' { ListSizeCatDef $2 (reverse $3) $6 }
-
-
-FunDef :: { FunDef }
-FunDef : ListPIdent ':' Exp { FunDef $1 $3 }
-
-
-DataDef :: { DataDef }
-DataDef : PIdent '=' ListDataConstr { DataDef $1 $3 }
-
-
-DataConstr :: { DataConstr }
-DataConstr : PIdent { DataId $1 }
- | PIdent '.' PIdent { DataQId $1 $3 }
-
-
-ListDataConstr :: { [DataConstr] }
-ListDataConstr : {- empty -} { [] }
- | DataConstr { (:[]) $1 }
- | DataConstr '|' ListDataConstr { (:) $1 $3 }
-
-
-ParDef :: { ParDef }
-ParDef : PIdent '=' ListParConstr { ParDefDir $1 $3 }
- | PIdent '=' '(' 'in' PIdent ')' { ParDefIndir $1 $5 }
- | PIdent { ParDefAbs $1 }
-
-
-ParConstr :: { ParConstr }
-ParConstr : PIdent ListDDecl { ParConstr $1 (reverse $2) }
-
-
-PrintDef :: { PrintDef }
-PrintDef : ListName '=' Exp { PrintDef $1 $3 }
-
-
-FlagDef :: { FlagDef }
-FlagDef : PIdent '=' PIdent { FlagDef $1 $3 }
-
-
-ListDef :: { [Def] }
-ListDef : Def ';' { (:[]) $1 }
- | Def ';' ListDef { (:) $1 $3 }
-
-
-ListCatDef :: { [CatDef] }
-ListCatDef : CatDef ';' { (:[]) $1 }
- | CatDef ';' ListCatDef { (:) $1 $3 }
-
-
-ListFunDef :: { [FunDef] }
-ListFunDef : FunDef ';' { (:[]) $1 }
- | FunDef ';' ListFunDef { (:) $1 $3 }
-
-
-ListDataDef :: { [DataDef] }
-ListDataDef : DataDef ';' { (:[]) $1 }
- | DataDef ';' ListDataDef { (:) $1 $3 }
-
-
-ListParDef :: { [ParDef] }
-ListParDef : ParDef ';' { (:[]) $1 }
- | ParDef ';' ListParDef { (:) $1 $3 }
-
-
-ListPrintDef :: { [PrintDef] }
-ListPrintDef : PrintDef ';' { (:[]) $1 }
- | PrintDef ';' ListPrintDef { (:) $1 $3 }
-
-
-ListFlagDef :: { [FlagDef] }
-ListFlagDef : FlagDef ';' { (:[]) $1 }
- | FlagDef ';' ListFlagDef { (:) $1 $3 }
-
-
-ListParConstr :: { [ParConstr] }
-ListParConstr : {- empty -} { [] }
- | ParConstr { (:[]) $1 }
- | ParConstr '|' ListParConstr { (:) $1 $3 }
-
-
-ListPIdent :: { [PIdent] }
-ListPIdent : PIdent { (:[]) $1 }
- | PIdent ',' ListPIdent { (:) $1 $3 }
-
-
-Name :: { Name }
-Name : PIdent { IdentName $1 }
- | '[' PIdent ']' { ListName $2 }
-
-
-ListName :: { [Name] }
-ListName : Name { (:[]) $1 }
- | Name ',' ListName { (:) $1 $3 }
-
-
-LocDef :: { LocDef }
-LocDef : ListPIdent ':' Exp { LDDecl $1 $3 }
- | ListPIdent '=' Exp { LDDef $1 $3 }
- | ListPIdent ':' Exp '=' Exp { LDFull $1 $3 $5 }
-
-
-ListLocDef :: { [LocDef] }
-ListLocDef : {- empty -} { [] }
- | LocDef { (:[]) $1 }
- | LocDef ';' ListLocDef { (:) $1 $3 }
-
-
-Exp6 :: { Exp }
-Exp6 : PIdent { EIdent $1 }
- | '{' PIdent '}' { EConstr $2 }
- | '%' PIdent '%' { ECons $2 }
- | Sort { ESort $1 }
- | String { EString $1 }
- | Integer { EInt $1 }
- | Double { EFloat $1 }
- | '?' { EMeta }
- | '[' ']' { EEmpty }
- | 'data' { EData }
- | '[' PIdent Exps ']' { EList $2 $3 }
- | '[' String ']' { EStrings $2 }
- | '{' ListLocDef '}' { ERecord $2 }
- | '<' ListTupleComp '>' { ETuple $2 }
- | '(' 'in' PIdent ')' { EIndir $3 }
- | '<' Exp ':' Exp '>' { ETyped $2 $4 }
- | '(' Exp ')' { $2 }
- | LString { ELString $1 }
-
-
-Exp5 :: { Exp }
-Exp5 : Exp5 '.' Label { EProj $1 $3 }
- | '{' PIdent '.' PIdent '}' { EQConstr $2 $4 }
- | '%' PIdent '.' PIdent { EQCons $2 $4 }
- | Exp6 { $1 }
-
-
-Exp4 :: { Exp }
-Exp4 : Exp4 Exp5 { EApp $1 $2 }
- | 'table' '{' ListCase '}' { ETable $3 }
- | 'table' Exp6 '{' ListCase '}' { ETTable $2 $4 }
- | 'table' Exp6 '[' ListExp ']' { EVTable $2 $4 }
- | 'case' Exp 'of' '{' ListCase '}' { ECase $2 $5 }
- | 'variants' '{' ListExp '}' { EVariants $3 }
- | 'pre' '{' Exp ';' ListAltern '}' { EPre $3 $5 }
- | 'strs' '{' ListExp '}' { EStrs $3 }
- | PIdent '@' Exp6 { EConAt $1 $3 }
- | '#' Patt2 { EPatt $2 }
- | 'pattern' Exp5 { EPattType $2 }
- | Exp5 { $1 }
- | 'Lin' PIdent { ELin $2 }
-
-
-Exp3 :: { Exp }
-Exp3 : Exp3 '!' Exp4 { ESelect $1 $3 }
- | Exp3 '*' Exp4 { ETupTyp $1 $3 }
- | Exp3 '**' Exp4 { EExtend $1 $3 }
- | Exp4 { $1 }
-
-
-Exp1 :: { Exp }
-Exp1 : Exp2 '+' Exp1 { EGlue $1 $3 }
- | Exp2 { $1 }
-
-
-Exp :: { Exp }
-Exp : Exp1 '++' Exp { EConcat $1 $3 }
- | '\\' ListBind '->' Exp { EAbstr $2 $4 }
- | '\\' '\\' ListBind '=>' Exp { ECTable $3 $5 }
- | Decl '->' Exp { EProd $1 $3 }
- | Exp3 '=>' Exp { ETType $1 $3 }
- | 'let' '{' ListLocDef '}' 'in' Exp { ELet $3 $6 }
- | 'let' ListLocDef 'in' Exp { ELetb $2 $4 }
- | Exp3 'where' '{' ListLocDef '}' { EWhere $1 $4 }
- | 'fn' '{' ListEquation '}' { EEqs $3 }
- | 'in' Exp5 String { EExample $2 $3 }
- | Exp1 { $1 }
-
-
-Exp2 :: { Exp }
-Exp2 : Exp3 { $1 }
-
-
-ListExp :: { [Exp] }
-ListExp : {- empty -} { [] }
- | Exp { (:[]) $1 }
- | Exp ';' ListExp { (:) $1 $3 }
-
-
-Exps :: { Exps }
-Exps : {- empty -} { NilExp }
- | Exp6 Exps { ConsExp $1 $2 }
-
-
-Patt2 :: { Patt }
-Patt2 : '?' { PChar }
- | '[' String ']' { PChars $2 }
- | '#' PIdent { PMacro $2 }
- | '#' PIdent '.' PIdent { PM $2 $4 }
- | '_' { PW }
- | PIdent { PV $1 }
- | '{' PIdent '}' { PCon $2 }
- | PIdent '.' PIdent { PQ $1 $3 }
- | Integer { PInt $1 }
- | Double { PFloat $1 }
- | String { PStr $1 }
- | '{' ListPattAss '}' { PR $2 }
- | '<' ListPattTupleComp '>' { PTup $2 }
- | '(' Patt ')' { $2 }
-
-
-Patt1 :: { Patt }
-Patt1 : PIdent ListPatt { PC $1 $2 }
- | PIdent '.' PIdent ListPatt { PQC $1 $3 $4 }
- | Patt2 '*' { PRep $1 }
- | PIdent '@' Patt2 { PAs $1 $3 }
- | '-' Patt2 { PNeg $2 }
- | Patt2 { $1 }
-
-
-Patt :: { Patt }
-Patt : Patt '|' Patt1 { PDisj $1 $3 }
- | Patt '+' Patt1 { PSeq $1 $3 }
- | Patt1 { $1 }
-
-
-PattAss :: { PattAss }
-PattAss : ListPIdent '=' Patt { PA $1 $3 }
-
-
-Label :: { Label }
-Label : PIdent { LIdent $1 }
- | '$' Integer { LVar $2 }
-
-
-Sort :: { Sort }
-Sort : 'Type' { Sort_Type }
- | 'PType' { Sort_PType }
- | 'Tok' { Sort_Tok }
- | 'Str' { Sort_Str }
- | 'Strs' { Sort_Strs }
-
-
-ListPattAss :: { [PattAss] }
-ListPattAss : {- empty -} { [] }
- | PattAss { (:[]) $1 }
- | PattAss ';' ListPattAss { (:) $1 $3 }
-
-
-ListPatt :: { [Patt] }
-ListPatt : Patt2 { (:[]) $1 }
- | Patt2 ListPatt { (:) $1 $2 }
-
-
-Bind :: { Bind }
-Bind : PIdent { BIdent $1 }
- | '_' { BWild }
-
-
-ListBind :: { [Bind] }
-ListBind : {- empty -} { [] }
- | Bind { (:[]) $1 }
- | Bind ',' ListBind { (:) $1 $3 }
-
-
-Decl :: { Decl }
-Decl : '(' ListBind ':' Exp ')' { DDec $2 $4 }
- | Exp4 { DExp $1 }
-
-
-TupleComp :: { TupleComp }
-TupleComp : Exp { TComp $1 }
-
-
-PattTupleComp :: { PattTupleComp }
-PattTupleComp : Patt { PTComp $1 }
-
-
-ListTupleComp :: { [TupleComp] }
-ListTupleComp : {- empty -} { [] }
- | TupleComp { (:[]) $1 }
- | TupleComp ',' ListTupleComp { (:) $1 $3 }
-
-
-ListPattTupleComp :: { [PattTupleComp] }
-ListPattTupleComp : {- empty -} { [] }
- | PattTupleComp { (:[]) $1 }
- | PattTupleComp ',' ListPattTupleComp { (:) $1 $3 }
-
-
-Case :: { Case }
-Case : Patt '=>' Exp { Case $1 $3 }
-
-
-ListCase :: { [Case] }
-ListCase : Case { (:[]) $1 }
- | Case ';' ListCase { (:) $1 $3 }
-
-
-Equation :: { Equation }
-Equation : ListPatt '->' Exp { Equ $1 $3 }
-
-
-ListEquation :: { [Equation] }
-ListEquation : {- empty -} { [] }
- | Equation { (:[]) $1 }
- | Equation ';' ListEquation { (:) $1 $3 }
-
-
-Altern :: { Altern }
-Altern : Exp '/' Exp { Alt $1 $3 }
-
-
-ListAltern :: { [Altern] }
-ListAltern : {- empty -} { [] }
- | Altern { (:[]) $1 }
- | Altern ';' ListAltern { (:) $1 $3 }
-
-
-DDecl :: { DDecl }
-DDecl : '(' ListBind ':' Exp ')' { DDDec $2 $4 }
- | Exp6 { DDExp $1 }
-
-
-ListDDecl :: { [DDecl] }
-ListDDecl : {- empty -} { [] }
- | ListDDecl DDecl { flip (:) $1 $2 }
-
-
-OldGrammar :: { OldGrammar }
-OldGrammar : Include ListTopDef { OldGr $1 (reverse $2) }
-
-
-Include :: { Include }
-Include : {- empty -} { NoIncl }
- | 'include' ListFileName { Incl $2 }
-
-
-FileName :: { FileName }
-FileName : String { FString $1 }
- | PIdent { FIdent $1 }
- | '/' FileName { FSlash $2 }
- | '.' FileName { FDot $2 }
- | '-' FileName { FMinus $2 }
- | PIdent FileName { FAddId $1 $2 }
-
-
-ListFileName :: { [FileName] }
-ListFileName : FileName ';' { (:[]) $1 }
- | FileName ';' ListFileName { (:) $1 $3 }
-
-
-
-{
-
-returnM :: a -> Err a
-returnM = return
-
-thenM :: Err a -> (a -> Err b) -> Err b
-thenM = (>>=)
-
-happyError :: [Token] -> Err a
-happyError ts =
- Bad $ "syntax error at " ++ tokenPos ts ++
- case ts of
- [] -> []
- [Err _] -> " due to lexer error"
- _ -> " before " ++ unwords (map (BS.unpack . prToken) (take 4 ts))
-
-myLexer = tokens
-}
-
+-- This Happy file was machine-generated by the BNF converter +{ +{-# OPTIONS -fno-warn-incomplete-patterns -fno-warn-overlapping-patterns #-} +module GF.Source.ParGF where +import GF.Source.AbsGF +import GF.Source.LexGF +import GF.Data.ErrM +import qualified Data.ByteString.Char8 as BS +} + +%name pGrammar Grammar +%name pModDef ModDef +%name pOldGrammar OldGrammar +%partial pModHeader ModHeader +%name pExp Exp + +-- no lexer declaration +%monad { Err } { thenM } { returnM } +%tokentype { Token } + +%token + '!' { PT _ (TS _ 1) } + '#' { PT _ (TS _ 2) } + '$' { PT _ (TS _ 3) } + '%' { PT _ (TS _ 4) } + '(' { PT _ (TS _ 5) } + ')' { PT _ (TS _ 6) } + '*' { PT _ (TS _ 7) } + '**' { PT _ (TS _ 8) } + '+' { PT _ (TS _ 9) } + '++' { PT _ (TS _ 10) } + ',' { PT _ (TS _ 11) } + '-' { PT _ (TS _ 12) } + '->' { PT _ (TS _ 13) } + '.' { PT _ (TS _ 14) } + '/' { PT _ (TS _ 15) } + ':' { PT _ (TS _ 16) } + ';' { PT _ (TS _ 17) } + '<' { PT _ (TS _ 18) } + '=' { PT _ (TS _ 19) } + '=>' { PT _ (TS _ 20) } + '>' { PT _ (TS _ 21) } + '?' { PT _ (TS _ 22) } + '@' { PT _ (TS _ 23) } + 'Lin' { PT _ (TS _ 24) } + 'PType' { PT _ (TS _ 25) } + 'Str' { PT _ (TS _ 26) } + 'Strs' { PT _ (TS _ 27) } + 'Tok' { PT _ (TS _ 28) } + 'Type' { PT _ (TS _ 29) } + '[' { PT _ (TS _ 30) } + '\\' { PT _ (TS _ 31) } + ']' { PT _ (TS _ 32) } + '_' { PT _ (TS _ 33) } + 'abstract' { PT _ (TS _ 34) } + 'case' { PT _ (TS _ 35) } + 'cat' { PT _ (TS _ 36) } + 'concrete' { PT _ (TS _ 37) } + 'data' { PT _ (TS _ 38) } + 'def' { PT _ (TS _ 39) } + 'flags' { PT _ (TS _ 40) } + 'fn' { PT _ (TS _ 41) } + 'fun' { PT _ (TS _ 42) } + 'grammar' { PT _ (TS _ 43) } + 'in' { PT _ (TS _ 44) } + 'include' { PT _ (TS _ 45) } + 'incomplete' { PT _ (TS _ 46) } + 'instance' { PT _ (TS _ 47) } + 'interface' { PT _ (TS _ 48) } + 'let' { PT _ (TS _ 49) } + 'lin' { PT _ (TS _ 50) } + 'lincat' { PT _ (TS _ 51) } + 'lindef' { PT _ (TS _ 52) } + 'lintype' { PT _ (TS _ 53) } + 'of' { PT _ (TS _ 54) } + 'open' { PT _ (TS _ 55) } + 'oper' { PT _ (TS _ 56) } + 'out' { PT _ (TS _ 57) } + 'package' { PT _ (TS _ 58) } + 'param' { PT _ (TS _ 59) } + 'pattern' { PT _ (TS _ 60) } + 'pre' { PT _ (TS _ 61) } + 'printname' { PT _ (TS _ 62) } + 'resource' { PT _ (TS _ 63) } + 'reuse' { PT _ (TS _ 64) } + 'strs' { PT _ (TS _ 65) } + 'table' { PT _ (TS _ 66) } + 'tokenizer' { PT _ (TS _ 67) } + 'transfer' { PT _ (TS _ 68) } + 'union' { PT _ (TS _ 69) } + 'var' { PT _ (TS _ 70) } + 'variants' { PT _ (TS _ 71) } + 'where' { PT _ (TS _ 72) } + 'with' { PT _ (TS _ 73) } + '{' { PT _ (TS _ 74) } + '|' { PT _ (TS _ 75) } + '}' { PT _ (TS _ 76) } + +L_integ { PT _ (TI $$) } +L_quoted { PT _ (TL $$) } +L_doubl { PT _ (TD $$) } +L_LString { PT _ (T_LString $$) } +L_PIdent { PT _ (T_PIdent _) } +L_err { _ } + + +%% + +Integer :: { Integer } : L_integ { (read (BS.unpack $1)) :: Integer } +String :: { String } : L_quoted { BS.unpack $1 } +Double :: { Double } : L_doubl { (read (BS.unpack $1)) :: Double } +LString :: { LString} : L_LString { LString ($1)} +PIdent :: { PIdent} : L_PIdent { PIdent (mkPosToken $1)} + +Grammar :: { Grammar } +Grammar : ListModDef { Gr (reverse $1) } + + +ListModDef :: { [ModDef] } +ListModDef : {- empty -} { [] } + | ListModDef ModDef { flip (:) $1 $2 } + + +ModDef :: { ModDef } +ModDef : ModDef ';' { $1 } + | 'grammar' PIdent '=' '{' 'abstract' '=' PIdent ';' ListConcSpec '}' { MMain $2 $7 $9 } + | ComplMod ModType '=' ModBody { MModule $1 $2 $4 } + + +ConcSpec :: { ConcSpec } +ConcSpec : PIdent '=' ConcExp { ConcSpec $1 $3 } + + +ListConcSpec :: { [ConcSpec] } +ListConcSpec : {- empty -} { [] } + | ConcSpec { (:[]) $1 } + | ConcSpec ';' ListConcSpec { (:) $1 $3 } + + +ConcExp :: { ConcExp } +ConcExp : PIdent ListTransfer { ConcExp $1 (reverse $2) } + + +ListTransfer :: { [Transfer] } +ListTransfer : {- empty -} { [] } + | ListTransfer Transfer { flip (:) $1 $2 } + + +Transfer :: { Transfer } +Transfer : '(' 'transfer' 'in' Open ')' { TransferIn $4 } + | '(' 'transfer' 'out' Open ')' { TransferOut $4 } + + +ModHeader :: { ModDef } +ModHeader : ComplMod ModType '=' ModHeaderBody { MModule $1 $2 $4 } + + +ModHeaderBody :: { ModBody } +ModHeaderBody : Extend Opens { MBody $1 $2 [] } + | ListIncluded { MNoBody $1 } + | Included 'with' ListOpen { MWith $1 $3 } + | Included 'with' ListOpen '**' Opens { MWithBody $1 $3 $5 [] } + | ListIncluded '**' Included 'with' ListOpen { MWithE $1 $3 $5 } + | ListIncluded '**' Included 'with' ListOpen '**' Opens { MWithEBody $1 $3 $5 $7 [] } + | 'reuse' PIdent { MReuse $2 } + | 'union' ListIncluded { MUnion $2 } + + +ModType :: { ModType } +ModType : 'abstract' PIdent { MTAbstract $2 } + | 'resource' PIdent { MTResource $2 } + | 'interface' PIdent { MTInterface $2 } + | 'concrete' PIdent 'of' PIdent { MTConcrete $2 $4 } + | 'instance' PIdent 'of' PIdent { MTInstance $2 $4 } + | 'transfer' PIdent ':' Open '->' Open { MTTransfer $2 $4 $6 } + + +ModBody :: { ModBody } +ModBody : Extend Opens '{' ListTopDef '}' { MBody $1 $2 (reverse $4) } + | ListIncluded { MNoBody $1 } + | Included 'with' ListOpen { MWith $1 $3 } + | Included 'with' ListOpen '**' Opens '{' ListTopDef '}' { MWithBody $1 $3 $5 (reverse $7) } + | ListIncluded '**' Included 'with' ListOpen { MWithE $1 $3 $5 } + | ListIncluded '**' Included 'with' ListOpen '**' Opens '{' ListTopDef '}' { MWithEBody $1 $3 $5 $7 (reverse $9) } + | 'reuse' PIdent { MReuse $2 } + | 'union' ListIncluded { MUnion $2 } + + +ListTopDef :: { [TopDef] } +ListTopDef : {- empty -} { [] } + | ListTopDef TopDef { flip (:) $1 $2 } + + +Extend :: { Extend } +Extend : ListIncluded '**' { Ext $1 } + | {- empty -} { NoExt } + + +ListOpen :: { [Open] } +ListOpen : {- empty -} { [] } + | Open { (:[]) $1 } + | Open ',' ListOpen { (:) $1 $3 } + + +Opens :: { Opens } +Opens : {- empty -} { NoOpens } + | 'open' ListOpen 'in' { OpenIn $2 } + + +Open :: { Open } +Open : PIdent { OName $1 } + | '(' QualOpen PIdent ')' { OQualQO $2 $3 } + | '(' QualOpen PIdent '=' PIdent ')' { OQual $2 $3 $5 } + + +ComplMod :: { ComplMod } +ComplMod : {- empty -} { CMCompl } + | 'incomplete' { CMIncompl } + + +QualOpen :: { QualOpen } +QualOpen : {- empty -} { QOCompl } + | 'incomplete' { QOIncompl } + | 'interface' { QOInterface } + + +ListIncluded :: { [Included] } +ListIncluded : {- empty -} { [] } + | Included { (:[]) $1 } + | Included ',' ListIncluded { (:) $1 $3 } + + +Included :: { Included } +Included : PIdent { IAll $1 } + | PIdent '[' ListPIdent ']' { ISome $1 $3 } + | PIdent '-' '[' ListPIdent ']' { IMinus $1 $4 } + + +Def :: { Def } +Def : ListName ':' Exp { DDecl $1 $3 } + | ListName '=' Exp { DDef $1 $3 } + | Name ListPatt '=' Exp { DPatt $1 $2 $4 } + | ListName ':' Exp '=' Exp { DFull $1 $3 $5 } + + +TopDef :: { TopDef } +TopDef : 'cat' ListCatDef { DefCat $2 } + | 'fun' ListFunDef { DefFun $2 } + | 'data' ListFunDef { DefFunData $2 } + | 'def' ListDef { DefDef $2 } + | 'data' ListDataDef { DefData $2 } + | 'transfer' ListDef { DefTrans $2 } + | 'param' ListParDef { DefPar $2 } + | 'oper' ListDef { DefOper $2 } + | 'lincat' ListPrintDef { DefLincat $2 } + | 'lindef' ListDef { DefLindef $2 } + | 'lin' ListDef { DefLin $2 } + | 'printname' 'cat' ListPrintDef { DefPrintCat $3 } + | 'printname' 'fun' ListPrintDef { DefPrintFun $3 } + | 'flags' ListFlagDef { DefFlag $2 } + | 'printname' ListPrintDef { DefPrintOld $2 } + | 'lintype' ListDef { DefLintype $2 } + | 'pattern' ListDef { DefPattern $2 } + | 'package' PIdent '=' '{' ListTopDef '}' ';' { DefPackage $2 (reverse $5) } + | 'var' ListDef { DefVars $2 } + | 'tokenizer' PIdent ';' { DefTokenizer $2 } + + +CatDef :: { CatDef } +CatDef : PIdent ListDDecl { SimpleCatDef $1 (reverse $2) } + | '[' PIdent ListDDecl ']' { ListCatDef $2 (reverse $3) } + | '[' PIdent ListDDecl ']' '{' Integer '}' { ListSizeCatDef $2 (reverse $3) $6 } + + +FunDef :: { FunDef } +FunDef : ListPIdent ':' Exp { FunDef $1 $3 } + + +DataDef :: { DataDef } +DataDef : PIdent '=' ListDataConstr { DataDef $1 $3 } + + +DataConstr :: { DataConstr } +DataConstr : PIdent { DataId $1 } + | PIdent '.' PIdent { DataQId $1 $3 } + + +ListDataConstr :: { [DataConstr] } +ListDataConstr : {- empty -} { [] } + | DataConstr { (:[]) $1 } + | DataConstr '|' ListDataConstr { (:) $1 $3 } + + +ParDef :: { ParDef } +ParDef : PIdent '=' ListParConstr { ParDefDir $1 $3 } + | PIdent '=' '(' 'in' PIdent ')' { ParDefIndir $1 $5 } + | PIdent { ParDefAbs $1 } + + +ParConstr :: { ParConstr } +ParConstr : PIdent ListDDecl { ParConstr $1 (reverse $2) } + + +PrintDef :: { PrintDef } +PrintDef : ListName '=' Exp { PrintDef $1 $3 } + + +FlagDef :: { FlagDef } +FlagDef : PIdent '=' PIdent { FlagDef $1 $3 } + + +ListDef :: { [Def] } +ListDef : Def ';' { (:[]) $1 } + | Def ';' ListDef { (:) $1 $3 } + + +ListCatDef :: { [CatDef] } +ListCatDef : CatDef ';' { (:[]) $1 } + | CatDef ';' ListCatDef { (:) $1 $3 } + + +ListFunDef :: { [FunDef] } +ListFunDef : FunDef ';' { (:[]) $1 } + | FunDef ';' ListFunDef { (:) $1 $3 } + + +ListDataDef :: { [DataDef] } +ListDataDef : DataDef ';' { (:[]) $1 } + | DataDef ';' ListDataDef { (:) $1 $3 } + + +ListParDef :: { [ParDef] } +ListParDef : ParDef ';' { (:[]) $1 } + | ParDef ';' ListParDef { (:) $1 $3 } + + +ListPrintDef :: { [PrintDef] } +ListPrintDef : PrintDef ';' { (:[]) $1 } + | PrintDef ';' ListPrintDef { (:) $1 $3 } + + +ListFlagDef :: { [FlagDef] } +ListFlagDef : FlagDef ';' { (:[]) $1 } + | FlagDef ';' ListFlagDef { (:) $1 $3 } + + +ListParConstr :: { [ParConstr] } +ListParConstr : {- empty -} { [] } + | ParConstr { (:[]) $1 } + | ParConstr '|' ListParConstr { (:) $1 $3 } + + +ListPIdent :: { [PIdent] } +ListPIdent : PIdent { (:[]) $1 } + | PIdent ',' ListPIdent { (:) $1 $3 } + + +Name :: { Name } +Name : PIdent { IdentName $1 } + | '[' PIdent ']' { ListName $2 } + + +ListName :: { [Name] } +ListName : Name { (:[]) $1 } + | Name ',' ListName { (:) $1 $3 } + + +LocDef :: { LocDef } +LocDef : ListPIdent ':' Exp { LDDecl $1 $3 } + | ListPIdent '=' Exp { LDDef $1 $3 } + | ListPIdent ':' Exp '=' Exp { LDFull $1 $3 $5 } + + +ListLocDef :: { [LocDef] } +ListLocDef : {- empty -} { [] } + | LocDef { (:[]) $1 } + | LocDef ';' ListLocDef { (:) $1 $3 } + + +Exp6 :: { Exp } +Exp6 : PIdent { EIdent $1 } + | '{' PIdent '}' { EConstr $2 } + | '%' PIdent '%' { ECons $2 } + | Sort { ESort $1 } + | String { EString $1 } + | Integer { EInt $1 } + | Double { EFloat $1 } + | '?' { EMeta } + | '[' ']' { EEmpty } + | 'data' { EData } + | '[' PIdent Exps ']' { EList $2 $3 } + | '[' String ']' { EStrings $2 } + | '{' ListLocDef '}' { ERecord $2 } + | '<' ListTupleComp '>' { ETuple $2 } + | '(' 'in' PIdent ')' { EIndir $3 } + | '<' Exp ':' Exp '>' { ETyped $2 $4 } + | '(' Exp ')' { $2 } + | LString { ELString $1 } + + +Exp5 :: { Exp } +Exp5 : Exp5 '.' Label { EProj $1 $3 } + | '{' PIdent '.' PIdent '}' { EQConstr $2 $4 } + | '%' PIdent '.' PIdent { EQCons $2 $4 } + | Exp6 { $1 } + + +Exp4 :: { Exp } +Exp4 : Exp4 Exp5 { EApp $1 $2 } + | 'table' '{' ListCase '}' { ETable $3 } + | 'table' Exp6 '{' ListCase '}' { ETTable $2 $4 } + | 'table' Exp6 '[' ListExp ']' { EVTable $2 $4 } + | 'case' Exp 'of' '{' ListCase '}' { ECase $2 $5 } + | 'variants' '{' ListExp '}' { EVariants $3 } + | 'pre' '{' Exp ';' ListAltern '}' { EPre $3 $5 } + | 'strs' '{' ListExp '}' { EStrs $3 } + | PIdent '@' Exp6 { EConAt $1 $3 } + | '#' Patt2 { EPatt $2 } + | 'pattern' Exp5 { EPattType $2 } + | Exp5 { $1 } + | 'Lin' PIdent { ELin $2 } + + +Exp3 :: { Exp } +Exp3 : Exp3 '!' Exp4 { ESelect $1 $3 } + | Exp3 '*' Exp4 { ETupTyp $1 $3 } + | Exp3 '**' Exp4 { EExtend $1 $3 } + | Exp4 { $1 } + + +Exp1 :: { Exp } +Exp1 : Exp2 '+' Exp1 { EGlue $1 $3 } + | Exp2 { $1 } + + +Exp :: { Exp } +Exp : Exp1 '++' Exp { EConcat $1 $3 } + | '\\' ListBind '->' Exp { EAbstr $2 $4 } + | '\\' '\\' ListBind '=>' Exp { ECTable $3 $5 } + | Decl '->' Exp { EProd $1 $3 } + | Exp3 '=>' Exp { ETType $1 $3 } + | 'let' '{' ListLocDef '}' 'in' Exp { ELet $3 $6 } + | 'let' ListLocDef 'in' Exp { ELetb $2 $4 } + | Exp3 'where' '{' ListLocDef '}' { EWhere $1 $4 } + | 'fn' '{' ListEquation '}' { EEqs $3 } + | 'in' Exp5 String { EExample $2 $3 } + | Exp1 { $1 } + + +Exp2 :: { Exp } +Exp2 : Exp3 { $1 } + + +ListExp :: { [Exp] } +ListExp : {- empty -} { [] } + | Exp { (:[]) $1 } + | Exp ';' ListExp { (:) $1 $3 } + + +Exps :: { Exps } +Exps : {- empty -} { NilExp } + | Exp6 Exps { ConsExp $1 $2 } + + +Patt2 :: { Patt } +Patt2 : '?' { PChar } + | '[' String ']' { PChars $2 } + | '#' PIdent { PMacro $2 } + | '#' PIdent '.' PIdent { PM $2 $4 } + | '_' { PW } + | PIdent { PV $1 } + | '{' PIdent '}' { PCon $2 } + | PIdent '.' PIdent { PQ $1 $3 } + | Integer { PInt $1 } + | Double { PFloat $1 } + | String { PStr $1 } + | '{' ListPattAss '}' { PR $2 } + | '<' ListPattTupleComp '>' { PTup $2 } + | '(' Patt ')' { $2 } + + +Patt1 :: { Patt } +Patt1 : PIdent ListPatt { PC $1 $2 } + | PIdent '.' PIdent ListPatt { PQC $1 $3 $4 } + | Patt2 '*' { PRep $1 } + | PIdent '@' Patt2 { PAs $1 $3 } + | '-' Patt2 { PNeg $2 } + | Patt2 { $1 } + + +Patt :: { Patt } +Patt : Patt '|' Patt1 { PDisj $1 $3 } + | Patt '+' Patt1 { PSeq $1 $3 } + | Patt1 { $1 } + + +PattAss :: { PattAss } +PattAss : ListPIdent '=' Patt { PA $1 $3 } + + +Label :: { Label } +Label : PIdent { LIdent $1 } + | '$' Integer { LVar $2 } + + +Sort :: { Sort } +Sort : 'Type' { Sort_Type } + | 'PType' { Sort_PType } + | 'Tok' { Sort_Tok } + | 'Str' { Sort_Str } + | 'Strs' { Sort_Strs } + + +ListPattAss :: { [PattAss] } +ListPattAss : {- empty -} { [] } + | PattAss { (:[]) $1 } + | PattAss ';' ListPattAss { (:) $1 $3 } + + +ListPatt :: { [Patt] } +ListPatt : Patt2 { (:[]) $1 } + | Patt2 ListPatt { (:) $1 $2 } + + +Bind :: { Bind } +Bind : PIdent { BIdent $1 } + | '_' { BWild } + + +ListBind :: { [Bind] } +ListBind : {- empty -} { [] } + | Bind { (:[]) $1 } + | Bind ',' ListBind { (:) $1 $3 } + + +Decl :: { Decl } +Decl : '(' ListBind ':' Exp ')' { DDec $2 $4 } + | Exp4 { DExp $1 } + + +TupleComp :: { TupleComp } +TupleComp : Exp { TComp $1 } + + +PattTupleComp :: { PattTupleComp } +PattTupleComp : Patt { PTComp $1 } + + +ListTupleComp :: { [TupleComp] } +ListTupleComp : {- empty -} { [] } + | TupleComp { (:[]) $1 } + | TupleComp ',' ListTupleComp { (:) $1 $3 } + + +ListPattTupleComp :: { [PattTupleComp] } +ListPattTupleComp : {- empty -} { [] } + | PattTupleComp { (:[]) $1 } + | PattTupleComp ',' ListPattTupleComp { (:) $1 $3 } + + +Case :: { Case } +Case : Patt '=>' Exp { Case $1 $3 } + + +ListCase :: { [Case] } +ListCase : Case { (:[]) $1 } + | Case ';' ListCase { (:) $1 $3 } + + +Equation :: { Equation } +Equation : ListPatt '->' Exp { Equ $1 $3 } + + +ListEquation :: { [Equation] } +ListEquation : {- empty -} { [] } + | Equation { (:[]) $1 } + | Equation ';' ListEquation { (:) $1 $3 } + + +Altern :: { Altern } +Altern : Exp '/' Exp { Alt $1 $3 } + + +ListAltern :: { [Altern] } +ListAltern : {- empty -} { [] } + | Altern { (:[]) $1 } + | Altern ';' ListAltern { (:) $1 $3 } + + +DDecl :: { DDecl } +DDecl : '(' ListBind ':' Exp ')' { DDDec $2 $4 } + | Exp6 { DDExp $1 } + + +ListDDecl :: { [DDecl] } +ListDDecl : {- empty -} { [] } + | ListDDecl DDecl { flip (:) $1 $2 } + + +OldGrammar :: { OldGrammar } +OldGrammar : Include ListTopDef { OldGr $1 (reverse $2) } + + +Include :: { Include } +Include : {- empty -} { NoIncl } + | 'include' ListFileName { Incl $2 } + + +FileName :: { FileName } +FileName : String { FString $1 } + | PIdent { FIdent $1 } + | '/' FileName { FSlash $2 } + | '.' FileName { FDot $2 } + | '-' FileName { FMinus $2 } + | PIdent FileName { FAddId $1 $2 } + + +ListFileName :: { [FileName] } +ListFileName : FileName ';' { (:[]) $1 } + | FileName ';' ListFileName { (:) $1 $3 } + + + +{ + +returnM :: a -> Err a +returnM = return + +thenM :: Err a -> (a -> Err b) -> Err b +thenM = (>>=) + +happyError :: [Token] -> Err a +happyError ts = + Bad $ "syntax error at " ++ tokenPos ts ++ + case ts of + [] -> [] + [Err _] -> " due to lexer error" + _ -> " before " ++ unwords (map (BS.unpack . prToken) (take 4 ts)) + +myLexer = tokens +} + diff --git a/src/GF/Source/PrintGF.hs b/src/GF/Source/PrintGF.hs index ea2277e67..e501a33f5 100644 --- a/src/GF/Source/PrintGF.hs +++ b/src/GF/Source/PrintGF.hs @@ -1,534 +1,534 @@ -{-# OPTIONS -fno-warn-incomplete-patterns #-}
-module GF.Source.PrintGF where
-
--- pretty-printer generated by the BNF converter
-
-import GF.Source.AbsGF
-import Data.Char
-import qualified Data.ByteString.Char8 as BS
-
--- the top-level printing method
-printTree :: Print a => a -> String
-printTree = render . prt 0
-
-type Doc = [ShowS] -> [ShowS]
-
-doc :: ShowS -> Doc
-doc = (:)
-
-render :: Doc -> String
-render d = rend 0 (map ($ "") $ d []) "" where
- rend i ss = case ss of
- "[" :ts -> showChar '[' . rend i ts
- "(" :ts -> showChar '(' . rend i ts
- "{" :ts -> showChar '{' . new (i+1) . rend (i+1) ts
- "}" : ";":ts -> new (i-1) . space "}" . showChar ';' . new (i-1) . rend (i-1) ts
- "}" :ts -> new (i-1) . showChar '}' . new (i-1) . rend (i-1) ts
- ";" :ts -> showChar ';' . new i . rend i ts
- t : "," :ts -> showString t . space "," . rend i ts
- t : ")" :ts -> showString t . showChar ')' . rend i ts
- t : "]" :ts -> showString t . showChar ']' . rend i ts
- t :ts -> space t . rend i ts
- _ -> id
- new i = showChar '\n' . replicateS (2*i) (showChar ' ') . dropWhile isSpace
- space t = showString t . (\s -> if null s then "" else (' ':s))
-
-parenth :: Doc -> Doc
-parenth ss = doc (showChar '(') . ss . doc (showChar ')')
-
-concatS :: [ShowS] -> ShowS
-concatS = foldr (.) id
-
-concatD :: [Doc] -> Doc
-concatD = foldr (.) id
-
-replicateS :: Int -> ShowS -> ShowS
-replicateS n f = concatS (replicate n f)
-
--- the printer class does the job
-class Print a where
- prt :: Int -> a -> Doc
- prtList :: [a] -> Doc
- prtList = concatD . map (prt 0)
-
-instance Print a => Print [a] where
- prt _ = prtList
-
-instance Print Char where
- prt _ s = doc (showChar '\'' . mkEsc '\'' s . showChar '\'')
- prtList s = doc (showChar '"' . concatS (map (mkEsc '"') s) . showChar '"')
-
-mkEsc :: Char -> Char -> ShowS
-mkEsc q s = case s of
- _ | s == q -> showChar '\\' . showChar s
- '\\'-> showString "\\\\"
- '\n' -> showString "\\n"
- '\t' -> showString "\\t"
- _ -> showChar s
-
-prPrec :: Int -> Int -> Doc -> Doc
-prPrec i j = if j<i then parenth else id
-
-
-instance Print Integer where
- prt _ x = doc (shows x)
-
-
-instance Print Double where
- prt _ x = doc (shows x)
-
-
-
-instance Print LString where
- prt _ (LString i) = doc (showString (BS.unpack i))
-
-
-instance Print PIdent where
- prt _ (PIdent (_,i)) = doc (showString (BS.unpack i))
- prtList es = case es of
- [x] -> (concatD [prt 0 x])
- x:xs -> (concatD [prt 0 x , doc (showString ",") , prt 0 xs])
-
-
-
-instance Print Grammar where
- prt i e = case e of
- Gr moddefs -> prPrec i 0 (concatD [prt 0 moddefs])
-
-
-instance Print ModDef where
- prt i e = case e of
- MMain pident0 pident concspecs -> prPrec i 0 (concatD [doc (showString "grammar") , prt 0 pident0 , doc (showString "=") , doc (showString "{") , doc (showString "abstract") , doc (showString "=") , prt 0 pident , doc (showString ";") , prt 0 concspecs , doc (showString "}")])
- MModule complmod modtype modbody -> prPrec i 0 (concatD [prt 0 complmod , prt 0 modtype , doc (showString "=") , prt 0 modbody])
-
- prtList es = case es of
- [] -> (concatD [])
- x:xs -> (concatD [prt 0 x , prt 0 xs])
-
-instance Print ConcSpec where
- prt i e = case e of
- ConcSpec pident concexp -> prPrec i 0 (concatD [prt 0 pident , doc (showString "=") , prt 0 concexp])
-
- prtList es = case es of
- [] -> (concatD [])
- [x] -> (concatD [prt 0 x])
- x:xs -> (concatD [prt 0 x , doc (showString ";") , prt 0 xs])
-
-instance Print ConcExp where
- prt i e = case e of
- ConcExp pident transfers -> prPrec i 0 (concatD [prt 0 pident , prt 0 transfers])
-
-
-instance Print Transfer where
- prt i e = case e of
- TransferIn open -> prPrec i 0 (concatD [doc (showString "(") , doc (showString "transfer") , doc (showString "in") , prt 0 open , doc (showString ")")])
- TransferOut open -> prPrec i 0 (concatD [doc (showString "(") , doc (showString "transfer") , doc (showString "out") , prt 0 open , doc (showString ")")])
-
- prtList es = case es of
- [] -> (concatD [])
- x:xs -> (concatD [prt 0 x , prt 0 xs])
-
-
-instance Print ModType where
- prt i e = case e of
- MTAbstract pident -> prPrec i 0 (concatD [doc (showString "abstract") , prt 0 pident])
- MTResource pident -> prPrec i 0 (concatD [doc (showString "resource") , prt 0 pident])
- MTInterface pident -> prPrec i 0 (concatD [doc (showString "interface") , prt 0 pident])
- MTConcrete pident0 pident -> prPrec i 0 (concatD [doc (showString "concrete") , prt 0 pident0 , doc (showString "of") , prt 0 pident])
- MTInstance pident0 pident -> prPrec i 0 (concatD [doc (showString "instance") , prt 0 pident0 , doc (showString "of") , prt 0 pident])
- MTTransfer pident open0 open -> prPrec i 0 (concatD [doc (showString "transfer") , prt 0 pident , doc (showString ":") , prt 0 open0 , doc (showString "->") , prt 0 open])
-
-
-instance Print ModBody where
- prt i e = case e of
- MBody extend opens topdefs -> prPrec i 0 (concatD [prt 0 extend , prt 0 opens , doc (showString "{") , prt 0 topdefs , doc (showString "}")])
- MNoBody includeds -> prPrec i 0 (concatD [prt 0 includeds])
- MWith included opens -> prPrec i 0 (concatD [prt 0 included , doc (showString "with") , prt 0 opens])
- MWithBody included opens0 opens topdefs -> prPrec i 0 (concatD [prt 0 included , doc (showString "with") , prt 0 opens0 , doc (showString "**") , prt 0 opens , doc (showString "{") , prt 0 topdefs , doc (showString "}")])
- MWithE includeds included opens -> prPrec i 0 (concatD [prt 0 includeds , doc (showString "**") , prt 0 included , doc (showString "with") , prt 0 opens])
- MWithEBody includeds included opens0 opens topdefs -> prPrec i 0 (concatD [prt 0 includeds , doc (showString "**") , prt 0 included , doc (showString "with") , prt 0 opens0 , doc (showString "**") , prt 0 opens , doc (showString "{") , prt 0 topdefs , doc (showString "}")])
- MReuse pident -> prPrec i 0 (concatD [doc (showString "reuse") , prt 0 pident])
- MUnion includeds -> prPrec i 0 (concatD [doc (showString "union") , prt 0 includeds])
-
-
-instance Print Extend where
- prt i e = case e of
- Ext includeds -> prPrec i 0 (concatD [prt 0 includeds , doc (showString "**")])
- NoExt -> prPrec i 0 (concatD [])
-
-
-instance Print Opens where
- prt i e = case e of
- NoOpens -> prPrec i 0 (concatD [])
- OpenIn opens -> prPrec i 0 (concatD [doc (showString "open") , prt 0 opens , doc (showString "in")])
-
-
-instance Print Open where
- prt i e = case e of
- OName pident -> prPrec i 0 (concatD [prt 0 pident])
- OQualQO qualopen pident -> prPrec i 0 (concatD [doc (showString "(") , prt 0 qualopen , prt 0 pident , doc (showString ")")])
- OQual qualopen pident0 pident -> prPrec i 0 (concatD [doc (showString "(") , prt 0 qualopen , prt 0 pident0 , doc (showString "=") , prt 0 pident , doc (showString ")")])
-
- prtList es = case es of
- [] -> (concatD [])
- [x] -> (concatD [prt 0 x])
- x:xs -> (concatD [prt 0 x , doc (showString ",") , prt 0 xs])
-
-instance Print ComplMod where
- prt i e = case e of
- CMCompl -> prPrec i 0 (concatD [])
- CMIncompl -> prPrec i 0 (concatD [doc (showString "incomplete")])
-
-
-instance Print QualOpen where
- prt i e = case e of
- QOCompl -> prPrec i 0 (concatD [])
- QOIncompl -> prPrec i 0 (concatD [doc (showString "incomplete")])
- QOInterface -> prPrec i 0 (concatD [doc (showString "interface")])
-
-
-instance Print Included where
- prt i e = case e of
- IAll pident -> prPrec i 0 (concatD [prt 0 pident])
- ISome pident pidents -> prPrec i 0 (concatD [prt 0 pident , doc (showString "[") , prt 0 pidents , doc (showString "]")])
- IMinus pident pidents -> prPrec i 0 (concatD [prt 0 pident , doc (showString "-") , doc (showString "[") , prt 0 pidents , doc (showString "]")])
-
- prtList es = case es of
- [] -> (concatD [])
- [x] -> (concatD [prt 0 x])
- x:xs -> (concatD [prt 0 x , doc (showString ",") , prt 0 xs])
-
-instance Print Def where
- prt i e = case e of
- DDecl names exp -> prPrec i 0 (concatD [prt 0 names , doc (showString ":") , prt 0 exp])
- DDef names exp -> prPrec i 0 (concatD [prt 0 names , doc (showString "=") , prt 0 exp])
- DPatt name patts exp -> prPrec i 0 (concatD [prt 0 name , prt 0 patts , doc (showString "=") , prt 0 exp])
- DFull names exp0 exp -> prPrec i 0 (concatD [prt 0 names , doc (showString ":") , prt 0 exp0 , doc (showString "=") , prt 0 exp])
-
- prtList es = case es of
- [x] -> (concatD [prt 0 x , doc (showString ";")])
- x:xs -> (concatD [prt 0 x , doc (showString ";") , prt 0 xs])
-
-instance Print TopDef where
- prt i e = case e of
- DefCat catdefs -> prPrec i 0 (concatD [doc (showString "cat") , prt 0 catdefs])
- DefFun fundefs -> prPrec i 0 (concatD [doc (showString "fun") , prt 0 fundefs])
- DefFunData fundefs -> prPrec i 0 (concatD [doc (showString "data") , prt 0 fundefs])
- DefDef defs -> prPrec i 0 (concatD [doc (showString "def") , prt 0 defs])
- DefData datadefs -> prPrec i 0 (concatD [doc (showString "data") , prt 0 datadefs])
- DefTrans defs -> prPrec i 0 (concatD [doc (showString "transfer") , prt 0 defs])
- DefPar pardefs -> prPrec i 0 (concatD [doc (showString "param") , prt 0 pardefs])
- DefOper defs -> prPrec i 0 (concatD [doc (showString "oper") , prt 0 defs])
- DefLincat printdefs -> prPrec i 0 (concatD [doc (showString "lincat") , prt 0 printdefs])
- DefLindef defs -> prPrec i 0 (concatD [doc (showString "lindef") , prt 0 defs])
- DefLin defs -> prPrec i 0 (concatD [doc (showString "lin") , prt 0 defs])
- DefPrintCat printdefs -> prPrec i 0 (concatD [doc (showString "printname") , doc (showString "cat") , prt 0 printdefs])
- DefPrintFun printdefs -> prPrec i 0 (concatD [doc (showString "printname") , doc (showString "fun") , prt 0 printdefs])
- DefFlag flagdefs -> prPrec i 0 (concatD [doc (showString "flags") , prt 0 flagdefs])
- DefPrintOld printdefs -> prPrec i 0 (concatD [doc (showString "printname") , prt 0 printdefs])
- DefLintype defs -> prPrec i 0 (concatD [doc (showString "lintype") , prt 0 defs])
- DefPattern defs -> prPrec i 0 (concatD [doc (showString "pattern") , prt 0 defs])
- DefPackage pident topdefs -> prPrec i 0 (concatD [doc (showString "package") , prt 0 pident , doc (showString "=") , doc (showString "{") , prt 0 topdefs , doc (showString "}") , doc (showString ";")])
- DefVars defs -> prPrec i 0 (concatD [doc (showString "var") , prt 0 defs])
- DefTokenizer pident -> prPrec i 0 (concatD [doc (showString "tokenizer") , prt 0 pident , doc (showString ";")])
-
- prtList es = case es of
- [] -> (concatD [])
- x:xs -> (concatD [prt 0 x , prt 0 xs])
-
-instance Print CatDef where
- prt i e = case e of
- SimpleCatDef pident ddecls -> prPrec i 0 (concatD [prt 0 pident , prt 0 ddecls])
- ListCatDef pident ddecls -> prPrec i 0 (concatD [doc (showString "[") , prt 0 pident , prt 0 ddecls , doc (showString "]")])
- ListSizeCatDef pident ddecls n -> prPrec i 0 (concatD [doc (showString "[") , prt 0 pident , prt 0 ddecls , doc (showString "]") , doc (showString "{") , prt 0 n , doc (showString "}")])
-
- prtList es = case es of
- [x] -> (concatD [prt 0 x , doc (showString ";")])
- x:xs -> (concatD [prt 0 x , doc (showString ";") , prt 0 xs])
-
-instance Print FunDef where
- prt i e = case e of
- FunDef pidents exp -> prPrec i 0 (concatD [prt 0 pidents , doc (showString ":") , prt 0 exp])
-
- prtList es = case es of
- [x] -> (concatD [prt 0 x , doc (showString ";")])
- x:xs -> (concatD [prt 0 x , doc (showString ";") , prt 0 xs])
-
-instance Print DataDef where
- prt i e = case e of
- DataDef pident dataconstrs -> prPrec i 0 (concatD [prt 0 pident , doc (showString "=") , prt 0 dataconstrs])
-
- prtList es = case es of
- [x] -> (concatD [prt 0 x , doc (showString ";")])
- x:xs -> (concatD [prt 0 x , doc (showString ";") , prt 0 xs])
-
-instance Print DataConstr where
- prt i e = case e of
- DataId pident -> prPrec i 0 (concatD [prt 0 pident])
- DataQId pident0 pident -> prPrec i 0 (concatD [prt 0 pident0 , doc (showString ".") , prt 0 pident])
-
- prtList es = case es of
- [] -> (concatD [])
- [x] -> (concatD [prt 0 x])
- x:xs -> (concatD [prt 0 x , doc (showString "|") , prt 0 xs])
-
-instance Print ParDef where
- prt i e = case e of
- ParDefDir pident parconstrs -> prPrec i 0 (concatD [prt 0 pident , doc (showString "=") , prt 0 parconstrs])
- ParDefIndir pident0 pident -> prPrec i 0 (concatD [prt 0 pident0 , doc (showString "=") , doc (showString "(") , doc (showString "in") , prt 0 pident , doc (showString ")")])
- ParDefAbs pident -> prPrec i 0 (concatD [prt 0 pident])
-
- prtList es = case es of
- [x] -> (concatD [prt 0 x , doc (showString ";")])
- x:xs -> (concatD [prt 0 x , doc (showString ";") , prt 0 xs])
-
-instance Print ParConstr where
- prt i e = case e of
- ParConstr pident ddecls -> prPrec i 0 (concatD [prt 0 pident , prt 0 ddecls])
-
- prtList es = case es of
- [] -> (concatD [])
- [x] -> (concatD [prt 0 x])
- x:xs -> (concatD [prt 0 x , doc (showString "|") , prt 0 xs])
-
-instance Print PrintDef where
- prt i e = case e of
- PrintDef names exp -> prPrec i 0 (concatD [prt 0 names , doc (showString "=") , prt 0 exp])
-
- prtList es = case es of
- [x] -> (concatD [prt 0 x , doc (showString ";")])
- x:xs -> (concatD [prt 0 x , doc (showString ";") , prt 0 xs])
-
-instance Print FlagDef where
- prt i e = case e of
- FlagDef pident0 pident -> prPrec i 0 (concatD [prt 0 pident0 , doc (showString "=") , prt 0 pident])
-
- prtList es = case es of
- [x] -> (concatD [prt 0 x , doc (showString ";")])
- x:xs -> (concatD [prt 0 x , doc (showString ";") , prt 0 xs])
-
-instance Print Name where
- prt i e = case e of
- IdentName pident -> prPrec i 0 (concatD [prt 0 pident])
- ListName pident -> prPrec i 0 (concatD [doc (showString "[") , prt 0 pident , doc (showString "]")])
-
- prtList es = case es of
- [x] -> (concatD [prt 0 x])
- x:xs -> (concatD [prt 0 x , doc (showString ",") , prt 0 xs])
-
-instance Print LocDef where
- prt i e = case e of
- LDDecl pidents exp -> prPrec i 0 (concatD [prt 0 pidents , doc (showString ":") , prt 0 exp])
- LDDef pidents exp -> prPrec i 0 (concatD [prt 0 pidents , doc (showString "=") , prt 0 exp])
- LDFull pidents exp0 exp -> prPrec i 0 (concatD [prt 0 pidents , doc (showString ":") , prt 0 exp0 , doc (showString "=") , prt 0 exp])
-
- prtList es = case es of
- [] -> (concatD [])
- [x] -> (concatD [prt 0 x])
- x:xs -> (concatD [prt 0 x , doc (showString ";") , prt 0 xs])
-
-instance Print Exp where
- prt i e = case e of
- EIdent pident -> prPrec i 6 (concatD [prt 0 pident])
- EConstr pident -> prPrec i 6 (concatD [doc (showString "{") , prt 0 pident , doc (showString "}")])
- ECons pident -> prPrec i 6 (concatD [doc (showString "%") , prt 0 pident , doc (showString "%")])
- ESort sort -> prPrec i 6 (concatD [prt 0 sort])
- EString str -> prPrec i 6 (concatD [prt 0 str])
- EInt n -> prPrec i 6 (concatD [prt 0 n])
- EFloat d -> prPrec i 6 (concatD [prt 0 d])
- EMeta -> prPrec i 6 (concatD [doc (showString "?")])
- EEmpty -> prPrec i 6 (concatD [doc (showString "[") , doc (showString "]")])
- EData -> prPrec i 6 (concatD [doc (showString "data")])
- EList pident exps -> prPrec i 6 (concatD [doc (showString "[") , prt 0 pident , prt 0 exps , doc (showString "]")])
- EStrings str -> prPrec i 6 (concatD [doc (showString "[") , prt 0 str , doc (showString "]")])
- ERecord locdefs -> prPrec i 6 (concatD [doc (showString "{") , prt 0 locdefs , doc (showString "}")])
- ETuple tuplecomps -> prPrec i 6 (concatD [doc (showString "<") , prt 0 tuplecomps , doc (showString ">")])
- EIndir pident -> prPrec i 6 (concatD [doc (showString "(") , doc (showString "in") , prt 0 pident , doc (showString ")")])
- ETyped exp0 exp -> prPrec i 6 (concatD [doc (showString "<") , prt 0 exp0 , doc (showString ":") , prt 0 exp , doc (showString ">")])
- EProj exp label -> prPrec i 5 (concatD [prt 5 exp , doc (showString ".") , prt 0 label])
- EQConstr pident0 pident -> prPrec i 5 (concatD [doc (showString "{") , prt 0 pident0 , doc (showString ".") , prt 0 pident , doc (showString "}")])
- EQCons pident0 pident -> prPrec i 5 (concatD [doc (showString "%") , prt 0 pident0 , doc (showString ".") , prt 0 pident])
- EApp exp0 exp -> prPrec i 4 (concatD [prt 4 exp0 , prt 5 exp])
- ETable cases -> prPrec i 4 (concatD [doc (showString "table") , doc (showString "{") , prt 0 cases , doc (showString "}")])
- ETTable exp cases -> prPrec i 4 (concatD [doc (showString "table") , prt 6 exp , doc (showString "{") , prt 0 cases , doc (showString "}")])
- EVTable exp exps -> prPrec i 4 (concatD [doc (showString "table") , prt 6 exp , doc (showString "[") , prt 0 exps , doc (showString "]")])
- ECase exp cases -> prPrec i 4 (concatD [doc (showString "case") , prt 0 exp , doc (showString "of") , doc (showString "{") , prt 0 cases , doc (showString "}")])
- EVariants exps -> prPrec i 4 (concatD [doc (showString "variants") , doc (showString "{") , prt 0 exps , doc (showString "}")])
- EPre exp alterns -> prPrec i 4 (concatD [doc (showString "pre") , doc (showString "{") , prt 0 exp , doc (showString ";") , prt 0 alterns , doc (showString "}")])
- EStrs exps -> prPrec i 4 (concatD [doc (showString "strs") , doc (showString "{") , prt 0 exps , doc (showString "}")])
- EConAt pident exp -> prPrec i 4 (concatD [prt 0 pident , doc (showString "@") , prt 6 exp])
- EPatt patt -> prPrec i 4 (concatD [doc (showString "#") , prt 2 patt])
- EPattType exp -> prPrec i 4 (concatD [doc (showString "pattern") , prt 5 exp])
- ESelect exp0 exp -> prPrec i 3 (concatD [prt 3 exp0 , doc (showString "!") , prt 4 exp])
- ETupTyp exp0 exp -> prPrec i 3 (concatD [prt 3 exp0 , doc (showString "*") , prt 4 exp])
- EExtend exp0 exp -> prPrec i 3 (concatD [prt 3 exp0 , doc (showString "**") , prt 4 exp])
- EGlue exp0 exp -> prPrec i 1 (concatD [prt 2 exp0 , doc (showString "+") , prt 1 exp])
- EConcat exp0 exp -> prPrec i 0 (concatD [prt 1 exp0 , doc (showString "++") , prt 0 exp])
- EAbstr binds exp -> prPrec i 0 (concatD [doc (showString "\\") , prt 0 binds , doc (showString "->") , prt 0 exp])
- ECTable binds exp -> prPrec i 0 (concatD [doc (showString "\\") , doc (showString "\\") , prt 0 binds , doc (showString "=>") , prt 0 exp])
- EProd decl exp -> prPrec i 0 (concatD [prt 0 decl , doc (showString "->") , prt 0 exp])
- ETType exp0 exp -> prPrec i 0 (concatD [prt 3 exp0 , doc (showString "=>") , prt 0 exp])
- ELet locdefs exp -> prPrec i 0 (concatD [doc (showString "let") , doc (showString "{") , prt 0 locdefs , doc (showString "}") , doc (showString "in") , prt 0 exp])
- ELetb locdefs exp -> prPrec i 0 (concatD [doc (showString "let") , prt 0 locdefs , doc (showString "in") , prt 0 exp])
- EWhere exp locdefs -> prPrec i 0 (concatD [prt 3 exp , doc (showString "where") , doc (showString "{") , prt 0 locdefs , doc (showString "}")])
- EEqs equations -> prPrec i 0 (concatD [doc (showString "fn") , doc (showString "{") , prt 0 equations , doc (showString "}")])
- EExample exp str -> prPrec i 0 (concatD [doc (showString "in") , prt 5 exp , prt 0 str])
- ELString lstring -> prPrec i 6 (concatD [prt 0 lstring])
- ELin pident -> prPrec i 4 (concatD [doc (showString "Lin") , prt 0 pident])
-
- prtList es = case es of
- [] -> (concatD [])
- [x] -> (concatD [prt 0 x])
- x:xs -> (concatD [prt 0 x , doc (showString ";") , prt 0 xs])
-
-instance Print Exps where
- prt i e = case e of
- NilExp -> prPrec i 0 (concatD [])
- ConsExp exp exps -> prPrec i 0 (concatD [prt 6 exp , prt 0 exps])
-
-
-instance Print Patt where
- prt i e = case e of
- PChar -> prPrec i 2 (concatD [doc (showString "?")])
- PChars str -> prPrec i 2 (concatD [doc (showString "[") , prt 0 str , doc (showString "]")])
- PMacro pident -> prPrec i 2 (concatD [doc (showString "#") , prt 0 pident])
- PM pident0 pident -> prPrec i 2 (concatD [doc (showString "#") , prt 0 pident0 , doc (showString ".") , prt 0 pident])
- PW -> prPrec i 2 (concatD [doc (showString "_")])
- PV pident -> prPrec i 2 (concatD [prt 0 pident])
- PCon pident -> prPrec i 2 (concatD [doc (showString "{") , prt 0 pident , doc (showString "}")])
- PQ pident0 pident -> prPrec i 2 (concatD [prt 0 pident0 , doc (showString ".") , prt 0 pident])
- PInt n -> prPrec i 2 (concatD [prt 0 n])
- PFloat d -> prPrec i 2 (concatD [prt 0 d])
- PStr str -> prPrec i 2 (concatD [prt 0 str])
- PR pattasss -> prPrec i 2 (concatD [doc (showString "{") , prt 0 pattasss , doc (showString "}")])
- PTup patttuplecomps -> prPrec i 2 (concatD [doc (showString "<") , prt 0 patttuplecomps , doc (showString ">")])
- PC pident patts -> prPrec i 1 (concatD [prt 0 pident , prt 0 patts])
- PQC pident0 pident patts -> prPrec i 1 (concatD [prt 0 pident0 , doc (showString ".") , prt 0 pident , prt 0 patts])
- PDisj patt0 patt -> prPrec i 0 (concatD [prt 0 patt0 , doc (showString "|") , prt 1 patt])
- PSeq patt0 patt -> prPrec i 0 (concatD [prt 0 patt0 , doc (showString "+") , prt 1 patt])
- PRep patt -> prPrec i 1 (concatD [prt 2 patt , doc (showString "*")])
- PAs pident patt -> prPrec i 1 (concatD [prt 0 pident , doc (showString "@") , prt 2 patt])
- PNeg patt -> prPrec i 1 (concatD [doc (showString "-") , prt 2 patt])
-
- prtList es = case es of
- [x] -> (concatD [prt 2 x])
- x:xs -> (concatD [prt 2 x , prt 0 xs])
-
-instance Print PattAss where
- prt i e = case e of
- PA pidents patt -> prPrec i 0 (concatD [prt 0 pidents , doc (showString "=") , prt 0 patt])
-
- prtList es = case es of
- [] -> (concatD [])
- [x] -> (concatD [prt 0 x])
- x:xs -> (concatD [prt 0 x , doc (showString ";") , prt 0 xs])
-
-instance Print Label where
- prt i e = case e of
- LIdent pident -> prPrec i 0 (concatD [prt 0 pident])
- LVar n -> prPrec i 0 (concatD [doc (showString "$") , prt 0 n])
-
-
-instance Print Sort where
- prt i e = case e of
- Sort_Type -> prPrec i 0 (concatD [doc (showString "Type")])
- Sort_PType -> prPrec i 0 (concatD [doc (showString "PType")])
- Sort_Tok -> prPrec i 0 (concatD [doc (showString "Tok")])
- Sort_Str -> prPrec i 0 (concatD [doc (showString "Str")])
- Sort_Strs -> prPrec i 0 (concatD [doc (showString "Strs")])
-
-
-instance Print Bind where
- prt i e = case e of
- BIdent pident -> prPrec i 0 (concatD [prt 0 pident])
- BWild -> prPrec i 0 (concatD [doc (showString "_")])
-
- prtList es = case es of
- [] -> (concatD [])
- [x] -> (concatD [prt 0 x])
- x:xs -> (concatD [prt 0 x , doc (showString ",") , prt 0 xs])
-
-instance Print Decl where
- prt i e = case e of
- DDec binds exp -> prPrec i 0 (concatD [doc (showString "(") , prt 0 binds , doc (showString ":") , prt 0 exp , doc (showString ")")])
- DExp exp -> prPrec i 0 (concatD [prt 4 exp])
-
-
-instance Print TupleComp where
- prt i e = case e of
- TComp exp -> prPrec i 0 (concatD [prt 0 exp])
-
- prtList es = case es of
- [] -> (concatD [])
- [x] -> (concatD [prt 0 x])
- x:xs -> (concatD [prt 0 x , doc (showString ",") , prt 0 xs])
-
-instance Print PattTupleComp where
- prt i e = case e of
- PTComp patt -> prPrec i 0 (concatD [prt 0 patt])
-
- prtList es = case es of
- [] -> (concatD [])
- [x] -> (concatD [prt 0 x])
- x:xs -> (concatD [prt 0 x , doc (showString ",") , prt 0 xs])
-
-instance Print Case where
- prt i e = case e of
- Case patt exp -> prPrec i 0 (concatD [prt 0 patt , doc (showString "=>") , prt 0 exp])
-
- prtList es = case es of
- [x] -> (concatD [prt 0 x])
- x:xs -> (concatD [prt 0 x , doc (showString ";") , prt 0 xs])
-
-instance Print Equation where
- prt i e = case e of
- Equ patts exp -> prPrec i 0 (concatD [prt 0 patts , doc (showString "->") , prt 0 exp])
-
- prtList es = case es of
- [] -> (concatD [])
- [x] -> (concatD [prt 0 x])
- x:xs -> (concatD [prt 0 x , doc (showString ";") , prt 0 xs])
-
-instance Print Altern where
- prt i e = case e of
- Alt exp0 exp -> prPrec i 0 (concatD [prt 0 exp0 , doc (showString "/") , prt 0 exp])
-
- prtList es = case es of
- [] -> (concatD [])
- [x] -> (concatD [prt 0 x])
- x:xs -> (concatD [prt 0 x , doc (showString ";") , prt 0 xs])
-
-instance Print DDecl where
- prt i e = case e of
- DDDec binds exp -> prPrec i 0 (concatD [doc (showString "(") , prt 0 binds , doc (showString ":") , prt 0 exp , doc (showString ")")])
- DDExp exp -> prPrec i 0 (concatD [prt 6 exp])
-
- prtList es = case es of
- [] -> (concatD [])
- x:xs -> (concatD [prt 0 x , prt 0 xs])
-
-instance Print OldGrammar where
- prt i e = case e of
- OldGr include topdefs -> prPrec i 0 (concatD [prt 0 include , prt 0 topdefs])
-
-
-instance Print Include where
- prt i e = case e of
- NoIncl -> prPrec i 0 (concatD [])
- Incl filenames -> prPrec i 0 (concatD [doc (showString "include") , prt 0 filenames])
-
-
-instance Print FileName where
- prt i e = case e of
- FString str -> prPrec i 0 (concatD [prt 0 str])
- FIdent pident -> prPrec i 0 (concatD [prt 0 pident])
- FSlash filename -> prPrec i 0 (concatD [doc (showString "/") , prt 0 filename])
- FDot filename -> prPrec i 0 (concatD [doc (showString ".") , prt 0 filename])
- FMinus filename -> prPrec i 0 (concatD [doc (showString "-") , prt 0 filename])
- FAddId pident filename -> prPrec i 0 (concatD [prt 0 pident , prt 0 filename])
-
- prtList es = case es of
- [x] -> (concatD [prt 0 x , doc (showString ";")])
- x:xs -> (concatD [prt 0 x , doc (showString ";") , prt 0 xs])
-
-
+{-# OPTIONS -fno-warn-incomplete-patterns #-} +module GF.Source.PrintGF where + +-- pretty-printer generated by the BNF converter + +import GF.Source.AbsGF +import Data.Char +import qualified Data.ByteString.Char8 as BS + +-- the top-level printing method +printTree :: Print a => a -> String +printTree = render . prt 0 + +type Doc = [ShowS] -> [ShowS] + +doc :: ShowS -> Doc +doc = (:) + +render :: Doc -> String +render d = rend 0 (map ($ "") $ d []) "" where + rend i ss = case ss of + "[" :ts -> showChar '[' . rend i ts + "(" :ts -> showChar '(' . rend i ts + "{" :ts -> showChar '{' . new (i+1) . rend (i+1) ts + "}" : ";":ts -> new (i-1) . space "}" . showChar ';' . new (i-1) . rend (i-1) ts + "}" :ts -> new (i-1) . showChar '}' . new (i-1) . rend (i-1) ts + ";" :ts -> showChar ';' . new i . rend i ts + t : "," :ts -> showString t . space "," . rend i ts + t : ")" :ts -> showString t . showChar ')' . rend i ts + t : "]" :ts -> showString t . showChar ']' . rend i ts + t :ts -> space t . rend i ts + _ -> id + new i = showChar '\n' . replicateS (2*i) (showChar ' ') . dropWhile isSpace + space t = showString t . (\s -> if null s then "" else (' ':s)) + +parenth :: Doc -> Doc +parenth ss = doc (showChar '(') . ss . doc (showChar ')') + +concatS :: [ShowS] -> ShowS +concatS = foldr (.) id + +concatD :: [Doc] -> Doc +concatD = foldr (.) id + +replicateS :: Int -> ShowS -> ShowS +replicateS n f = concatS (replicate n f) + +-- the printer class does the job +class Print a where + prt :: Int -> a -> Doc + prtList :: [a] -> Doc + prtList = concatD . map (prt 0) + +instance Print a => Print [a] where + prt _ = prtList + +instance Print Char where + prt _ s = doc (showChar '\'' . mkEsc '\'' s . showChar '\'') + prtList s = doc (showChar '"' . concatS (map (mkEsc '"') s) . showChar '"') + +mkEsc :: Char -> Char -> ShowS +mkEsc q s = case s of + _ | s == q -> showChar '\\' . showChar s + '\\'-> showString "\\\\" + '\n' -> showString "\\n" + '\t' -> showString "\\t" + _ -> showChar s + +prPrec :: Int -> Int -> Doc -> Doc +prPrec i j = if j<i then parenth else id + + +instance Print Integer where + prt _ x = doc (shows x) + + +instance Print Double where + prt _ x = doc (shows x) + + + +instance Print LString where + prt _ (LString i) = doc (showString (BS.unpack i)) + + +instance Print PIdent where + prt _ (PIdent (_,i)) = doc (showString (BS.unpack i)) + prtList es = case es of + [x] -> (concatD [prt 0 x]) + x:xs -> (concatD [prt 0 x , doc (showString ",") , prt 0 xs]) + + + +instance Print Grammar where + prt i e = case e of + Gr moddefs -> prPrec i 0 (concatD [prt 0 moddefs]) + + +instance Print ModDef where + prt i e = case e of + MMain pident0 pident concspecs -> prPrec i 0 (concatD [doc (showString "grammar") , prt 0 pident0 , doc (showString "=") , doc (showString "{") , doc (showString "abstract") , doc (showString "=") , prt 0 pident , doc (showString ";") , prt 0 concspecs , doc (showString "}")]) + MModule complmod modtype modbody -> prPrec i 0 (concatD [prt 0 complmod , prt 0 modtype , doc (showString "=") , prt 0 modbody]) + + prtList es = case es of + [] -> (concatD []) + x:xs -> (concatD [prt 0 x , prt 0 xs]) + +instance Print ConcSpec where + prt i e = case e of + ConcSpec pident concexp -> prPrec i 0 (concatD [prt 0 pident , doc (showString "=") , prt 0 concexp]) + + prtList es = case es of + [] -> (concatD []) + [x] -> (concatD [prt 0 x]) + x:xs -> (concatD [prt 0 x , doc (showString ";") , prt 0 xs]) + +instance Print ConcExp where + prt i e = case e of + ConcExp pident transfers -> prPrec i 0 (concatD [prt 0 pident , prt 0 transfers]) + + +instance Print Transfer where + prt i e = case e of + TransferIn open -> prPrec i 0 (concatD [doc (showString "(") , doc (showString "transfer") , doc (showString "in") , prt 0 open , doc (showString ")")]) + TransferOut open -> prPrec i 0 (concatD [doc (showString "(") , doc (showString "transfer") , doc (showString "out") , prt 0 open , doc (showString ")")]) + + prtList es = case es of + [] -> (concatD []) + x:xs -> (concatD [prt 0 x , prt 0 xs]) + + +instance Print ModType where + prt i e = case e of + MTAbstract pident -> prPrec i 0 (concatD [doc (showString "abstract") , prt 0 pident]) + MTResource pident -> prPrec i 0 (concatD [doc (showString "resource") , prt 0 pident]) + MTInterface pident -> prPrec i 0 (concatD [doc (showString "interface") , prt 0 pident]) + MTConcrete pident0 pident -> prPrec i 0 (concatD [doc (showString "concrete") , prt 0 pident0 , doc (showString "of") , prt 0 pident]) + MTInstance pident0 pident -> prPrec i 0 (concatD [doc (showString "instance") , prt 0 pident0 , doc (showString "of") , prt 0 pident]) + MTTransfer pident open0 open -> prPrec i 0 (concatD [doc (showString "transfer") , prt 0 pident , doc (showString ":") , prt 0 open0 , doc (showString "->") , prt 0 open]) + + +instance Print ModBody where + prt i e = case e of + MBody extend opens topdefs -> prPrec i 0 (concatD [prt 0 extend , prt 0 opens , doc (showString "{") , prt 0 topdefs , doc (showString "}")]) + MNoBody includeds -> prPrec i 0 (concatD [prt 0 includeds]) + MWith included opens -> prPrec i 0 (concatD [prt 0 included , doc (showString "with") , prt 0 opens]) + MWithBody included opens0 opens topdefs -> prPrec i 0 (concatD [prt 0 included , doc (showString "with") , prt 0 opens0 , doc (showString "**") , prt 0 opens , doc (showString "{") , prt 0 topdefs , doc (showString "}")]) + MWithE includeds included opens -> prPrec i 0 (concatD [prt 0 includeds , doc (showString "**") , prt 0 included , doc (showString "with") , prt 0 opens]) + MWithEBody includeds included opens0 opens topdefs -> prPrec i 0 (concatD [prt 0 includeds , doc (showString "**") , prt 0 included , doc (showString "with") , prt 0 opens0 , doc (showString "**") , prt 0 opens , doc (showString "{") , prt 0 topdefs , doc (showString "}")]) + MReuse pident -> prPrec i 0 (concatD [doc (showString "reuse") , prt 0 pident]) + MUnion includeds -> prPrec i 0 (concatD [doc (showString "union") , prt 0 includeds]) + + +instance Print Extend where + prt i e = case e of + Ext includeds -> prPrec i 0 (concatD [prt 0 includeds , doc (showString "**")]) + NoExt -> prPrec i 0 (concatD []) + + +instance Print Opens where + prt i e = case e of + NoOpens -> prPrec i 0 (concatD []) + OpenIn opens -> prPrec i 0 (concatD [doc (showString "open") , prt 0 opens , doc (showString "in")]) + + +instance Print Open where + prt i e = case e of + OName pident -> prPrec i 0 (concatD [prt 0 pident]) + OQualQO qualopen pident -> prPrec i 0 (concatD [doc (showString "(") , prt 0 qualopen , prt 0 pident , doc (showString ")")]) + OQual qualopen pident0 pident -> prPrec i 0 (concatD [doc (showString "(") , prt 0 qualopen , prt 0 pident0 , doc (showString "=") , prt 0 pident , doc (showString ")")]) + + prtList es = case es of + [] -> (concatD []) + [x] -> (concatD [prt 0 x]) + x:xs -> (concatD [prt 0 x , doc (showString ",") , prt 0 xs]) + +instance Print ComplMod where + prt i e = case e of + CMCompl -> prPrec i 0 (concatD []) + CMIncompl -> prPrec i 0 (concatD [doc (showString "incomplete")]) + + +instance Print QualOpen where + prt i e = case e of + QOCompl -> prPrec i 0 (concatD []) + QOIncompl -> prPrec i 0 (concatD [doc (showString "incomplete")]) + QOInterface -> prPrec i 0 (concatD [doc (showString "interface")]) + + +instance Print Included where + prt i e = case e of + IAll pident -> prPrec i 0 (concatD [prt 0 pident]) + ISome pident pidents -> prPrec i 0 (concatD [prt 0 pident , doc (showString "[") , prt 0 pidents , doc (showString "]")]) + IMinus pident pidents -> prPrec i 0 (concatD [prt 0 pident , doc (showString "-") , doc (showString "[") , prt 0 pidents , doc (showString "]")]) + + prtList es = case es of + [] -> (concatD []) + [x] -> (concatD [prt 0 x]) + x:xs -> (concatD [prt 0 x , doc (showString ",") , prt 0 xs]) + +instance Print Def where + prt i e = case e of + DDecl names exp -> prPrec i 0 (concatD [prt 0 names , doc (showString ":") , prt 0 exp]) + DDef names exp -> prPrec i 0 (concatD [prt 0 names , doc (showString "=") , prt 0 exp]) + DPatt name patts exp -> prPrec i 0 (concatD [prt 0 name , prt 0 patts , doc (showString "=") , prt 0 exp]) + DFull names exp0 exp -> prPrec i 0 (concatD [prt 0 names , doc (showString ":") , prt 0 exp0 , doc (showString "=") , prt 0 exp]) + + prtList es = case es of + [x] -> (concatD [prt 0 x , doc (showString ";")]) + x:xs -> (concatD [prt 0 x , doc (showString ";") , prt 0 xs]) + +instance Print TopDef where + prt i e = case e of + DefCat catdefs -> prPrec i 0 (concatD [doc (showString "cat") , prt 0 catdefs]) + DefFun fundefs -> prPrec i 0 (concatD [doc (showString "fun") , prt 0 fundefs]) + DefFunData fundefs -> prPrec i 0 (concatD [doc (showString "data") , prt 0 fundefs]) + DefDef defs -> prPrec i 0 (concatD [doc (showString "def") , prt 0 defs]) + DefData datadefs -> prPrec i 0 (concatD [doc (showString "data") , prt 0 datadefs]) + DefTrans defs -> prPrec i 0 (concatD [doc (showString "transfer") , prt 0 defs]) + DefPar pardefs -> prPrec i 0 (concatD [doc (showString "param") , prt 0 pardefs]) + DefOper defs -> prPrec i 0 (concatD [doc (showString "oper") , prt 0 defs]) + DefLincat printdefs -> prPrec i 0 (concatD [doc (showString "lincat") , prt 0 printdefs]) + DefLindef defs -> prPrec i 0 (concatD [doc (showString "lindef") , prt 0 defs]) + DefLin defs -> prPrec i 0 (concatD [doc (showString "lin") , prt 0 defs]) + DefPrintCat printdefs -> prPrec i 0 (concatD [doc (showString "printname") , doc (showString "cat") , prt 0 printdefs]) + DefPrintFun printdefs -> prPrec i 0 (concatD [doc (showString "printname") , doc (showString "fun") , prt 0 printdefs]) + DefFlag flagdefs -> prPrec i 0 (concatD [doc (showString "flags") , prt 0 flagdefs]) + DefPrintOld printdefs -> prPrec i 0 (concatD [doc (showString "printname") , prt 0 printdefs]) + DefLintype defs -> prPrec i 0 (concatD [doc (showString "lintype") , prt 0 defs]) + DefPattern defs -> prPrec i 0 (concatD [doc (showString "pattern") , prt 0 defs]) + DefPackage pident topdefs -> prPrec i 0 (concatD [doc (showString "package") , prt 0 pident , doc (showString "=") , doc (showString "{") , prt 0 topdefs , doc (showString "}") , doc (showString ";")]) + DefVars defs -> prPrec i 0 (concatD [doc (showString "var") , prt 0 defs]) + DefTokenizer pident -> prPrec i 0 (concatD [doc (showString "tokenizer") , prt 0 pident , doc (showString ";")]) + + prtList es = case es of + [] -> (concatD []) + x:xs -> (concatD [prt 0 x , prt 0 xs]) + +instance Print CatDef where + prt i e = case e of + SimpleCatDef pident ddecls -> prPrec i 0 (concatD [prt 0 pident , prt 0 ddecls]) + ListCatDef pident ddecls -> prPrec i 0 (concatD [doc (showString "[") , prt 0 pident , prt 0 ddecls , doc (showString "]")]) + ListSizeCatDef pident ddecls n -> prPrec i 0 (concatD [doc (showString "[") , prt 0 pident , prt 0 ddecls , doc (showString "]") , doc (showString "{") , prt 0 n , doc (showString "}")]) + + prtList es = case es of + [x] -> (concatD [prt 0 x , doc (showString ";")]) + x:xs -> (concatD [prt 0 x , doc (showString ";") , prt 0 xs]) + +instance Print FunDef where + prt i e = case e of + FunDef pidents exp -> prPrec i 0 (concatD [prt 0 pidents , doc (showString ":") , prt 0 exp]) + + prtList es = case es of + [x] -> (concatD [prt 0 x , doc (showString ";")]) + x:xs -> (concatD [prt 0 x , doc (showString ";") , prt 0 xs]) + +instance Print DataDef where + prt i e = case e of + DataDef pident dataconstrs -> prPrec i 0 (concatD [prt 0 pident , doc (showString "=") , prt 0 dataconstrs]) + + prtList es = case es of + [x] -> (concatD [prt 0 x , doc (showString ";")]) + x:xs -> (concatD [prt 0 x , doc (showString ";") , prt 0 xs]) + +instance Print DataConstr where + prt i e = case e of + DataId pident -> prPrec i 0 (concatD [prt 0 pident]) + DataQId pident0 pident -> prPrec i 0 (concatD [prt 0 pident0 , doc (showString ".") , prt 0 pident]) + + prtList es = case es of + [] -> (concatD []) + [x] -> (concatD [prt 0 x]) + x:xs -> (concatD [prt 0 x , doc (showString "|") , prt 0 xs]) + +instance Print ParDef where + prt i e = case e of + ParDefDir pident parconstrs -> prPrec i 0 (concatD [prt 0 pident , doc (showString "=") , prt 0 parconstrs]) + ParDefIndir pident0 pident -> prPrec i 0 (concatD [prt 0 pident0 , doc (showString "=") , doc (showString "(") , doc (showString "in") , prt 0 pident , doc (showString ")")]) + ParDefAbs pident -> prPrec i 0 (concatD [prt 0 pident]) + + prtList es = case es of + [x] -> (concatD [prt 0 x , doc (showString ";")]) + x:xs -> (concatD [prt 0 x , doc (showString ";") , prt 0 xs]) + +instance Print ParConstr where + prt i e = case e of + ParConstr pident ddecls -> prPrec i 0 (concatD [prt 0 pident , prt 0 ddecls]) + + prtList es = case es of + [] -> (concatD []) + [x] -> (concatD [prt 0 x]) + x:xs -> (concatD [prt 0 x , doc (showString "|") , prt 0 xs]) + +instance Print PrintDef where + prt i e = case e of + PrintDef names exp -> prPrec i 0 (concatD [prt 0 names , doc (showString "=") , prt 0 exp]) + + prtList es = case es of + [x] -> (concatD [prt 0 x , doc (showString ";")]) + x:xs -> (concatD [prt 0 x , doc (showString ";") , prt 0 xs]) + +instance Print FlagDef where + prt i e = case e of + FlagDef pident0 pident -> prPrec i 0 (concatD [prt 0 pident0 , doc (showString "=") , prt 0 pident]) + + prtList es = case es of + [x] -> (concatD [prt 0 x , doc (showString ";")]) + x:xs -> (concatD [prt 0 x , doc (showString ";") , prt 0 xs]) + +instance Print Name where + prt i e = case e of + IdentName pident -> prPrec i 0 (concatD [prt 0 pident]) + ListName pident -> prPrec i 0 (concatD [doc (showString "[") , prt 0 pident , doc (showString "]")]) + + prtList es = case es of + [x] -> (concatD [prt 0 x]) + x:xs -> (concatD [prt 0 x , doc (showString ",") , prt 0 xs]) + +instance Print LocDef where + prt i e = case e of + LDDecl pidents exp -> prPrec i 0 (concatD [prt 0 pidents , doc (showString ":") , prt 0 exp]) + LDDef pidents exp -> prPrec i 0 (concatD [prt 0 pidents , doc (showString "=") , prt 0 exp]) + LDFull pidents exp0 exp -> prPrec i 0 (concatD [prt 0 pidents , doc (showString ":") , prt 0 exp0 , doc (showString "=") , prt 0 exp]) + + prtList es = case es of + [] -> (concatD []) + [x] -> (concatD [prt 0 x]) + x:xs -> (concatD [prt 0 x , doc (showString ";") , prt 0 xs]) + +instance Print Exp where + prt i e = case e of + EIdent pident -> prPrec i 6 (concatD [prt 0 pident]) + EConstr pident -> prPrec i 6 (concatD [doc (showString "{") , prt 0 pident , doc (showString "}")]) + ECons pident -> prPrec i 6 (concatD [doc (showString "%") , prt 0 pident , doc (showString "%")]) + ESort sort -> prPrec i 6 (concatD [prt 0 sort]) + EString str -> prPrec i 6 (concatD [prt 0 str]) + EInt n -> prPrec i 6 (concatD [prt 0 n]) + EFloat d -> prPrec i 6 (concatD [prt 0 d]) + EMeta -> prPrec i 6 (concatD [doc (showString "?")]) + EEmpty -> prPrec i 6 (concatD [doc (showString "[") , doc (showString "]")]) + EData -> prPrec i 6 (concatD [doc (showString "data")]) + EList pident exps -> prPrec i 6 (concatD [doc (showString "[") , prt 0 pident , prt 0 exps , doc (showString "]")]) + EStrings str -> prPrec i 6 (concatD [doc (showString "[") , prt 0 str , doc (showString "]")]) + ERecord locdefs -> prPrec i 6 (concatD [doc (showString "{") , prt 0 locdefs , doc (showString "}")]) + ETuple tuplecomps -> prPrec i 6 (concatD [doc (showString "<") , prt 0 tuplecomps , doc (showString ">")]) + EIndir pident -> prPrec i 6 (concatD [doc (showString "(") , doc (showString "in") , prt 0 pident , doc (showString ")")]) + ETyped exp0 exp -> prPrec i 6 (concatD [doc (showString "<") , prt 0 exp0 , doc (showString ":") , prt 0 exp , doc (showString ">")]) + EProj exp label -> prPrec i 5 (concatD [prt 5 exp , doc (showString ".") , prt 0 label]) + EQConstr pident0 pident -> prPrec i 5 (concatD [doc (showString "{") , prt 0 pident0 , doc (showString ".") , prt 0 pident , doc (showString "}")]) + EQCons pident0 pident -> prPrec i 5 (concatD [doc (showString "%") , prt 0 pident0 , doc (showString ".") , prt 0 pident]) + EApp exp0 exp -> prPrec i 4 (concatD [prt 4 exp0 , prt 5 exp]) + ETable cases -> prPrec i 4 (concatD [doc (showString "table") , doc (showString "{") , prt 0 cases , doc (showString "}")]) + ETTable exp cases -> prPrec i 4 (concatD [doc (showString "table") , prt 6 exp , doc (showString "{") , prt 0 cases , doc (showString "}")]) + EVTable exp exps -> prPrec i 4 (concatD [doc (showString "table") , prt 6 exp , doc (showString "[") , prt 0 exps , doc (showString "]")]) + ECase exp cases -> prPrec i 4 (concatD [doc (showString "case") , prt 0 exp , doc (showString "of") , doc (showString "{") , prt 0 cases , doc (showString "}")]) + EVariants exps -> prPrec i 4 (concatD [doc (showString "variants") , doc (showString "{") , prt 0 exps , doc (showString "}")]) + EPre exp alterns -> prPrec i 4 (concatD [doc (showString "pre") , doc (showString "{") , prt 0 exp , doc (showString ";") , prt 0 alterns , doc (showString "}")]) + EStrs exps -> prPrec i 4 (concatD [doc (showString "strs") , doc (showString "{") , prt 0 exps , doc (showString "}")]) + EConAt pident exp -> prPrec i 4 (concatD [prt 0 pident , doc (showString "@") , prt 6 exp]) + EPatt patt -> prPrec i 4 (concatD [doc (showString "#") , prt 2 patt]) + EPattType exp -> prPrec i 4 (concatD [doc (showString "pattern") , prt 5 exp]) + ESelect exp0 exp -> prPrec i 3 (concatD [prt 3 exp0 , doc (showString "!") , prt 4 exp]) + ETupTyp exp0 exp -> prPrec i 3 (concatD [prt 3 exp0 , doc (showString "*") , prt 4 exp]) + EExtend exp0 exp -> prPrec i 3 (concatD [prt 3 exp0 , doc (showString "**") , prt 4 exp]) + EGlue exp0 exp -> prPrec i 1 (concatD [prt 2 exp0 , doc (showString "+") , prt 1 exp]) + EConcat exp0 exp -> prPrec i 0 (concatD [prt 1 exp0 , doc (showString "++") , prt 0 exp]) + EAbstr binds exp -> prPrec i 0 (concatD [doc (showString "\\") , prt 0 binds , doc (showString "->") , prt 0 exp]) + ECTable binds exp -> prPrec i 0 (concatD [doc (showString "\\") , doc (showString "\\") , prt 0 binds , doc (showString "=>") , prt 0 exp]) + EProd decl exp -> prPrec i 0 (concatD [prt 0 decl , doc (showString "->") , prt 0 exp]) + ETType exp0 exp -> prPrec i 0 (concatD [prt 3 exp0 , doc (showString "=>") , prt 0 exp]) + ELet locdefs exp -> prPrec i 0 (concatD [doc (showString "let") , doc (showString "{") , prt 0 locdefs , doc (showString "}") , doc (showString "in") , prt 0 exp]) + ELetb locdefs exp -> prPrec i 0 (concatD [doc (showString "let") , prt 0 locdefs , doc (showString "in") , prt 0 exp]) + EWhere exp locdefs -> prPrec i 0 (concatD [prt 3 exp , doc (showString "where") , doc (showString "{") , prt 0 locdefs , doc (showString "}")]) + EEqs equations -> prPrec i 0 (concatD [doc (showString "fn") , doc (showString "{") , prt 0 equations , doc (showString "}")]) + EExample exp str -> prPrec i 0 (concatD [doc (showString "in") , prt 5 exp , prt 0 str]) + ELString lstring -> prPrec i 6 (concatD [prt 0 lstring]) + ELin pident -> prPrec i 4 (concatD [doc (showString "Lin") , prt 0 pident]) + + prtList es = case es of + [] -> (concatD []) + [x] -> (concatD [prt 0 x]) + x:xs -> (concatD [prt 0 x , doc (showString ";") , prt 0 xs]) + +instance Print Exps where + prt i e = case e of + NilExp -> prPrec i 0 (concatD []) + ConsExp exp exps -> prPrec i 0 (concatD [prt 6 exp , prt 0 exps]) + + +instance Print Patt where + prt i e = case e of + PChar -> prPrec i 2 (concatD [doc (showString "?")]) + PChars str -> prPrec i 2 (concatD [doc (showString "[") , prt 0 str , doc (showString "]")]) + PMacro pident -> prPrec i 2 (concatD [doc (showString "#") , prt 0 pident]) + PM pident0 pident -> prPrec i 2 (concatD [doc (showString "#") , prt 0 pident0 , doc (showString ".") , prt 0 pident]) + PW -> prPrec i 2 (concatD [doc (showString "_")]) + PV pident -> prPrec i 2 (concatD [prt 0 pident]) + PCon pident -> prPrec i 2 (concatD [doc (showString "{") , prt 0 pident , doc (showString "}")]) + PQ pident0 pident -> prPrec i 2 (concatD [prt 0 pident0 , doc (showString ".") , prt 0 pident]) + PInt n -> prPrec i 2 (concatD [prt 0 n]) + PFloat d -> prPrec i 2 (concatD [prt 0 d]) + PStr str -> prPrec i 2 (concatD [prt 0 str]) + PR pattasss -> prPrec i 2 (concatD [doc (showString "{") , prt 0 pattasss , doc (showString "}")]) + PTup patttuplecomps -> prPrec i 2 (concatD [doc (showString "<") , prt 0 patttuplecomps , doc (showString ">")]) + PC pident patts -> prPrec i 1 (concatD [prt 0 pident , prt 0 patts]) + PQC pident0 pident patts -> prPrec i 1 (concatD [prt 0 pident0 , doc (showString ".") , prt 0 pident , prt 0 patts]) + PDisj patt0 patt -> prPrec i 0 (concatD [prt 0 patt0 , doc (showString "|") , prt 1 patt]) + PSeq patt0 patt -> prPrec i 0 (concatD [prt 0 patt0 , doc (showString "+") , prt 1 patt]) + PRep patt -> prPrec i 1 (concatD [prt 2 patt , doc (showString "*")]) + PAs pident patt -> prPrec i 1 (concatD [prt 0 pident , doc (showString "@") , prt 2 patt]) + PNeg patt -> prPrec i 1 (concatD [doc (showString "-") , prt 2 patt]) + + prtList es = case es of + [x] -> (concatD [prt 2 x]) + x:xs -> (concatD [prt 2 x , prt 0 xs]) + +instance Print PattAss where + prt i e = case e of + PA pidents patt -> prPrec i 0 (concatD [prt 0 pidents , doc (showString "=") , prt 0 patt]) + + prtList es = case es of + [] -> (concatD []) + [x] -> (concatD [prt 0 x]) + x:xs -> (concatD [prt 0 x , doc (showString ";") , prt 0 xs]) + +instance Print Label where + prt i e = case e of + LIdent pident -> prPrec i 0 (concatD [prt 0 pident]) + LVar n -> prPrec i 0 (concatD [doc (showString "$") , prt 0 n]) + + +instance Print Sort where + prt i e = case e of + Sort_Type -> prPrec i 0 (concatD [doc (showString "Type")]) + Sort_PType -> prPrec i 0 (concatD [doc (showString "PType")]) + Sort_Tok -> prPrec i 0 (concatD [doc (showString "Tok")]) + Sort_Str -> prPrec i 0 (concatD [doc (showString "Str")]) + Sort_Strs -> prPrec i 0 (concatD [doc (showString "Strs")]) + + +instance Print Bind where + prt i e = case e of + BIdent pident -> prPrec i 0 (concatD [prt 0 pident]) + BWild -> prPrec i 0 (concatD [doc (showString "_")]) + + prtList es = case es of + [] -> (concatD []) + [x] -> (concatD [prt 0 x]) + x:xs -> (concatD [prt 0 x , doc (showString ",") , prt 0 xs]) + +instance Print Decl where + prt i e = case e of + DDec binds exp -> prPrec i 0 (concatD [doc (showString "(") , prt 0 binds , doc (showString ":") , prt 0 exp , doc (showString ")")]) + DExp exp -> prPrec i 0 (concatD [prt 4 exp]) + + +instance Print TupleComp where + prt i e = case e of + TComp exp -> prPrec i 0 (concatD [prt 0 exp]) + + prtList es = case es of + [] -> (concatD []) + [x] -> (concatD [prt 0 x]) + x:xs -> (concatD [prt 0 x , doc (showString ",") , prt 0 xs]) + +instance Print PattTupleComp where + prt i e = case e of + PTComp patt -> prPrec i 0 (concatD [prt 0 patt]) + + prtList es = case es of + [] -> (concatD []) + [x] -> (concatD [prt 0 x]) + x:xs -> (concatD [prt 0 x , doc (showString ",") , prt 0 xs]) + +instance Print Case where + prt i e = case e of + Case patt exp -> prPrec i 0 (concatD [prt 0 patt , doc (showString "=>") , prt 0 exp]) + + prtList es = case es of + [x] -> (concatD [prt 0 x]) + x:xs -> (concatD [prt 0 x , doc (showString ";") , prt 0 xs]) + +instance Print Equation where + prt i e = case e of + Equ patts exp -> prPrec i 0 (concatD [prt 0 patts , doc (showString "->") , prt 0 exp]) + + prtList es = case es of + [] -> (concatD []) + [x] -> (concatD [prt 0 x]) + x:xs -> (concatD [prt 0 x , doc (showString ";") , prt 0 xs]) + +instance Print Altern where + prt i e = case e of + Alt exp0 exp -> prPrec i 0 (concatD [prt 0 exp0 , doc (showString "/") , prt 0 exp]) + + prtList es = case es of + [] -> (concatD []) + [x] -> (concatD [prt 0 x]) + x:xs -> (concatD [prt 0 x , doc (showString ";") , prt 0 xs]) + +instance Print DDecl where + prt i e = case e of + DDDec binds exp -> prPrec i 0 (concatD [doc (showString "(") , prt 0 binds , doc (showString ":") , prt 0 exp , doc (showString ")")]) + DDExp exp -> prPrec i 0 (concatD [prt 6 exp]) + + prtList es = case es of + [] -> (concatD []) + x:xs -> (concatD [prt 0 x , prt 0 xs]) + +instance Print OldGrammar where + prt i e = case e of + OldGr include topdefs -> prPrec i 0 (concatD [prt 0 include , prt 0 topdefs]) + + +instance Print Include where + prt i e = case e of + NoIncl -> prPrec i 0 (concatD []) + Incl filenames -> prPrec i 0 (concatD [doc (showString "include") , prt 0 filenames]) + + +instance Print FileName where + prt i e = case e of + FString str -> prPrec i 0 (concatD [prt 0 str]) + FIdent pident -> prPrec i 0 (concatD [prt 0 pident]) + FSlash filename -> prPrec i 0 (concatD [doc (showString "/") , prt 0 filename]) + FDot filename -> prPrec i 0 (concatD [doc (showString ".") , prt 0 filename]) + FMinus filename -> prPrec i 0 (concatD [doc (showString "-") , prt 0 filename]) + FAddId pident filename -> prPrec i 0 (concatD [prt 0 pident , prt 0 filename]) + + prtList es = case es of + [x] -> (concatD [prt 0 x , doc (showString ";")]) + x:xs -> (concatD [prt 0 x , doc (showString ";") , prt 0 xs]) + + diff --git a/src/GF/Source/SharedString.hs b/src/GF/Source/SharedString.hs index 732873fe6..358f70494 100644 --- a/src/GF/Source/SharedString.hs +++ b/src/GF/Source/SharedString.hs @@ -1,20 +1,20 @@ -module GF.Source.SharedString (shareString) where
-
-import Data.Map as M
-import Data.IORef
-import qualified Data.ByteString.Char8 as BS
-import System.IO.Unsafe (unsafePerformIO)
-
-{-# NOINLINE stringPoolRef #-}
-stringPoolRef :: IORef (M.Map BS.ByteString BS.ByteString)
-stringPoolRef = unsafePerformIO $ newIORef M.empty
-
-{-# NOINLINE shareString #-}
-shareString :: BS.ByteString -> BS.ByteString
-shareString s = unsafePerformIO $ do
- stringPool <- readIORef stringPoolRef
- case M.lookup s stringPool of
- Just s' -> return s'
- Nothing -> do let s' = BS.copy s
- writeIORef stringPoolRef $! M.insert s' s' stringPool
- return s'
+module GF.Source.SharedString (shareString) where + +import Data.Map as M +import Data.IORef +import qualified Data.ByteString.Char8 as BS +import System.IO.Unsafe (unsafePerformIO) + +{-# NOINLINE stringPoolRef #-} +stringPoolRef :: IORef (M.Map BS.ByteString BS.ByteString) +stringPoolRef = unsafePerformIO $ newIORef M.empty + +{-# NOINLINE shareString #-} +shareString :: BS.ByteString -> BS.ByteString +shareString s = unsafePerformIO $ do + stringPool <- readIORef stringPoolRef + case M.lookup s stringPool of + Just s' -> return s' + Nothing -> do let s' = BS.copy s + writeIORef stringPoolRef $! M.insert s' s' stringPool + return s' |
