diff options
| author | aarne <aarne@cs.chalmers.se> | 2005-12-02 13:13:14 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2005-12-02 13:13:14 +0000 |
| commit | dea5158cbf1c11d45f2ed91d9975fbc77245e652 (patch) | |
| tree | 751ef7bcaccf58c43354d5b1767d3b3d3d1ac34d /src/GF/Canon | |
| parent | 50ddb387f4495beb8bd8da2b9726a087a489df68 (diff) | |
floats in GF and GFC (parsing user input still doesn't work)
Diffstat (limited to 'src/GF/Canon')
| -rw-r--r-- | src/GF/Canon/AbsGFC.hs | 4 | ||||
| -rw-r--r-- | src/GF/Canon/CMacros.hs | 2 | ||||
| -rw-r--r-- | src/GF/Canon/CanonToGrammar.hs | 6 | ||||
| -rw-r--r-- | src/GF/Canon/GFC.cf | 5 | ||||
| -rw-r--r-- | src/GF/Canon/LexGFC.hs | 91 | ||||
| -rw-r--r-- | src/GF/Canon/ParGFC.hs | 1351 | ||||
| -rw-r--r-- | src/GF/Canon/PrintGFC.hs | 3 |
7 files changed, 762 insertions, 700 deletions
diff --git a/src/GF/Canon/AbsGFC.hs b/src/GF/Canon/AbsGFC.hs index 170159240..8ce719104 100644 --- a/src/GF/Canon/AbsGFC.hs +++ b/src/GF/Canon/AbsGFC.hs @@ -90,6 +90,7 @@ data APatt = | APV Ident | APS String | API Integer + | APF Double | APW deriving (Eq,Ord,Show) @@ -100,6 +101,7 @@ data Atom = | AM Integer | AS String | AI Integer + | AF Double | AT Sort deriving (Eq,Ord,Show) @@ -132,6 +134,7 @@ data Term = | C Term Term | FV [Term] | EInt Integer + | EFloat Double | K Tokn | E deriving (Eq,Ord,Show) @@ -170,6 +173,7 @@ data Patt = | PW | PR [PattAssign] | PI Integer + | PF Double deriving (Eq,Ord,Show) data PattAssign = diff --git a/src/GF/Canon/CMacros.hs b/src/GF/Canon/CMacros.hs index 609e8e869..2facd6e65 100644 --- a/src/GF/Canon/CMacros.hs +++ b/src/GF/Canon/CMacros.hs @@ -130,6 +130,7 @@ term2patt trm = case trm of return (PR (map (uncurry PAss) (zip ll aa'))) LI x -> return $ PV x EInt i -> return $ PI i + EFloat i -> return $ PF i FV (t:_) -> term2patt t ---- _ -> prtBad "no pattern corresponds to term" trm @@ -140,6 +141,7 @@ patt2term p = case p of PW -> anyTerm ---- PR pas -> R [ Ass lbl (patt2term q) | PAss lbl q <- pas ] PI i -> EInt i + PF i -> EFloat i anyTerm :: Term anyTerm = LI (A.identC "_") --- should not happen diff --git a/src/GF/Canon/CanonToGrammar.hs b/src/GF/Canon/CanonToGrammar.hs index 9d9af1496..758bddd69 100644 --- a/src/GF/Canon/CanonToGrammar.hs +++ b/src/GF/Canon/CanonToGrammar.hs @@ -156,7 +156,8 @@ redCTerm x = case x of C term0 term -> liftM2 G.C (redCTerm term0) (redCTerm term) FV terms -> liftM G.FV $ mapM redCTerm terms K (KS str) -> return $ G.K str - EInt i -> return $ G.EInt $ fromInteger i + EInt i -> return $ G.EInt i + EFloat i -> return $ G.EFloat i E -> return $ G.Empty K (KP d vs) -> return $ G.Alts (tList d,[(tList s, G.Strs $ map G.K v) | Var s v <- vs]) @@ -187,6 +188,7 @@ redPatt p = case p of ls' = map redLabel ls ts <- mapM redPatt ts return $ G.PR $ zip ls' ts - PI i -> return $ G.PInt (fromInteger i) + PI i -> return $ G.PInt i + PF i -> return $ G.PFloat i _ -> Bad $ "cannot recompile pattern" +++ show p diff --git a/src/GF/Canon/GFC.cf b/src/GF/Canon/GFC.cf index 5c0c95be3..d9385a49f 100644 --- a/src/GF/Canon/GFC.cf +++ b/src/GF/Canon/GFC.cf @@ -80,6 +80,7 @@ APC. APatt ::= "(" CIdent [APatt] ")" ; APV. APatt ::= Ident ; APS. APatt ::= String ; API. APatt ::= Integer ; +APF. APatt ::= Double ; APW. APatt ::= "_" ; separator Decl ";" ; @@ -120,7 +121,8 @@ S. Term1 ::= Term1 "!" Term2 ; C. Term ::= Term "++" Term1 ; FV. Term1 ::= "variants" "{" [Term2] "}" ; --- no separator! -EInt. Term2 ::= Integer ; +EInt. Term2 ::= Integer ; +EFloat. Term2 ::= Double ; K. Term2 ::= Tokn ; E. Term2 ::= "[" "]" ; @@ -144,6 +146,7 @@ PV. Patt ::= Ident ; PW. Patt ::= "_" ; PR. Patt ::= "{" [PattAssign] "}" ; PI. Patt ::= Integer ; +PF. Patt ::= Double ; PAss. PattAssign ::= Label "=" Patt ; diff --git a/src/GF/Canon/LexGFC.hs b/src/GF/Canon/LexGFC.hs index d85fcd3c0..31a4a9b30 100644 --- a/src/GF/Canon/LexGFC.hs +++ b/src/GF/Canon/LexGFC.hs @@ -1,10 +1,15 @@ {-# OPTIONS -fglasgow-exts -cpp #-} {-# LINE 3 "LexGFC.x" #-} -module GF.Canon.LexGFC where +module GF.Canon.LexGFC where --H -import GF.Data.ErrM -- H -import GF.Data.SharedString -- H +import GF.Data.ErrM --H +import GF.Data.SharedString --H +#if __GLASGOW_HASKELL__ >= 603 +#include "ghcconfig.h" +#else +#include "config.h" +#endif #if __GLASGOW_HASKELL__ >= 503 import Data.Array import Data.Char (ord) @@ -19,18 +24,18 @@ import GHC.Exts import GlaExts #endif alex_base :: AlexAddr -alex_base = AlexA# "\x01\x00\x39\x00\x42\x00\x00\x00\x09\x00\x1d\x00\x0b\x00\x20\x00\x9a\x00\x6a\x01\x00\x00\x15\x01\xe5\x01\xd3\x00\x33\x00"# +alex_base = AlexA# "\x01\x00\x00\x00\x39\x00\x00\x00\x42\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x1d\x00\x00\x00\x0b\x00\x00\x00\x20\x00\x00\x00\x9a\x00\x00\x00\x00\x00\x00\x00\x15\x01\x00\x00\xd3\x00\x00\x00\x35\x00\x00\x00\xe5\x00\x00\x00\x3f\x00\x00\x00\xf0\x00\x00\x00\x1b\x01\x00\x00\x6d\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\x02\x00\x02\x00\x02\x00\x02\x00\x02\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\x02\x00\x03\x00\x0b\x00\xff\xff\x03\x00\xff\xff\xff\xff\xff\xff\x03\x00\x03\x00\x07\x00\x05\x00\x03\x00\x06\x00\x03\x00\x03\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x03\x00\x03\x00\x03\x00\x04\x00\x03\x00\x03\x00\x03\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x03\x00\x03\x00\x03\x00\x03\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x03\x00\x03\x00\x03\x00\xff\xff\x03\x00\xff\xff\x02\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x03\x00\x03\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\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x0c\x00\x00\x00\x00\x00\xff\xff\x09\x00\x0c\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x0d\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x0d\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x00\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"# +alex_table = AlexA# "\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x02\x00\x02\x00\x02\x00\x02\x00\x02\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\x02\x00\x03\x00\x0a\x00\xff\xff\x03\x00\xff\xff\xff\xff\xff\xff\x03\x00\x03\x00\x07\x00\x05\x00\x03\x00\x06\x00\x03\x00\x03\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x03\x00\x03\x00\x03\x00\x04\x00\x03\x00\x03\x00\x03\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x03\x00\x03\x00\x03\x00\x03\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x03\x00\x03\x00\x03\x00\xff\xff\x03\x00\xff\xff\x02\x00\x0f\x00\x00\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0c\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x03\x00\x03\x00\x03\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\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x0a\x00\x00\x00\x00\x00\xff\xff\x08\x00\x0a\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x0d\x00\x0d\x00\x0d\x00\x0d\x00\x0d\x00\x0d\x00\x0d\x00\x0d\x00\x0d\x00\x0d\x00\xff\xff\x0d\x00\x0d\x00\x0d\x00\x0d\x00\x0d\x00\x0d\x00\x0d\x00\x0d\x00\x0d\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x00\x00\x11\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x0b\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x00\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x10\x00\x00\x00\x00\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x3e\x00\x2b\x00\x3e\x00\x2a\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x20\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\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\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\xff\xff\xff\xff\xd7\x00\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\xff\xff\xff\xff\xf7\x00\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0a\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\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\xff\xff\xff\xff\xff\xff\xff\xff\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\x0a\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\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\xff\xff\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"# +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\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x3e\x00\x2b\x00\x3e\x00\x2a\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\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\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\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\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\xff\xff\xff\xff\xd7\x00\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\xff\xff\xff\xff\xf7\x00\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\xff\xff\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x2d\x00\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"# alex_deflt :: AlexAddr -alex_deflt = AlexA# "\x08\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0c\x00\xff\xff\xff\xff"# +alex_deflt = AlexA# "\x08\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"# -alex_accept = listArray (0::Int,14) [[],[],[(AlexAccSkip)],[(AlexAcc (alex_action_1))],[(AlexAcc (alex_action_1))],[(AlexAcc (alex_action_1))],[],[],[(AlexAcc (alex_action_2))],[(AlexAcc (alex_action_2))],[(AlexAcc (alex_action_3))],[],[],[],[(AlexAcc (alex_action_4))]] +alex_accept = listArray (0::Int,17) [[],[],[(AlexAccSkip)],[(AlexAcc (alex_action_1))],[(AlexAcc (alex_action_1))],[(AlexAcc (alex_action_1))],[],[],[(AlexAcc (alex_action_2))],[(AlexAcc (alex_action_3))],[],[],[(AlexAcc (alex_action_4))],[(AlexAcc (alex_action_5))],[(AlexAcc (alex_action_5))],[],[],[]] {-# LINE 32 "LexGFC.x" #-} tok f p s = f p s @@ -136,6 +141,7 @@ alex_action_1 = tok (\p s -> PT p (TS $ share s)) alex_action_2 = tok (\p s -> PT p (eitherResIdent (TV . share) s)) alex_action_3 = tok (\p s -> PT p (TL $ share $ unescapeInitTail s)) alex_action_4 = tok (\p s -> PT p (TI $ share s)) +alex_action_5 = tok (\p s -> PT p (TD $ share s)) {-# LINE 1 "GenericTemplate.hs" #-} {-# LINE 1 "<built-in>" #-} {-# LINE 1 "<command line>" #-} @@ -162,26 +168,57 @@ alex_action_4 = tok (\p s -> PT p (TI $ share s)) + data AlexAddr = AlexA# Addr# -{-# INLINE alexIndexShortOffAddr #-} -alexIndexShortOffAddr (AlexA# arr) off = -#if __GLASGOW_HASKELL__ > 500 - narrow16Int# i -#elif __GLASGOW_HASKELL__ == 500 - intToInt16# i -#else - (i `iShiftL#` 16#) `iShiftRA#` 16# +#if __GLASGOW_HASKELL__ < 503 +uncheckedShiftL# = shiftL# #endif + +{-# INLINE alexIndexInt16OffAddr #-} +alexIndexInt16OffAddr (AlexA# arr) off = +#ifdef WORDS_BIGENDIAN + narrow16Int# i where -#if __GLASGOW_HASKELL__ >= 503 - i = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low) -#else - i = word2Int# ((high `shiftL#` 8#) `or#` low) -#endif + 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 @@ -212,7 +249,7 @@ alexScanUser user input (I# (sc)) - AlexError input + AlexError input' (AlexLastSkip input len, _) -> @@ -238,7 +275,7 @@ alex_scan_tkn user orig_input len input s last_acc = alex_scan_tkn' user orig_input len input s last_acc = let - new_acc = check_accs (alex_accept `unsafeAt` (I# (s))) + new_acc = check_accs (alex_accept `quickIndex` (I# (s))) in new_acc `seq` case alexGetChar input of @@ -248,14 +285,14 @@ alex_scan_tkn' user orig_input len input s last_acc = let - base = alexIndexShortOffAddr alex_base s + base = alexIndexInt32OffAddr alex_base s (I# (ord_c)) = ord c offset = (base +# ord_c) - check = alexIndexShortOffAddr alex_check offset + check = alexIndexInt16OffAddr alex_check offset new_s = if (offset >=# 0#) && (check ==# ord_c) - then alexIndexShortOffAddr alex_table offset - else alexIndexShortOffAddr alex_deflt s + then alexIndexInt16OffAddr alex_table offset + else alexIndexInt16OffAddr alex_deflt s in alex_scan_tkn user orig_input (len +# 1#) new_input new_s new_acc diff --git a/src/GF/Canon/ParGFC.hs b/src/GF/Canon/ParGFC.hs index 3727ab9bf..4332c06e4 100644 --- a/src/GF/Canon/ParGFC.hs +++ b/src/GF/Canon/ParGFC.hs @@ -1,7 +1,7 @@ {-# OPTIONS -fglasgow-exts -cpp #-} -module GF.Canon.ParGFC where -import GF.Canon.AbsGFC -import GF.Canon.LexGFC +module GF.Canon.ParGFC where -- H +import GF.Canon.AbsGFC -- H +import GF.Canon.LexGFC -- H import GF.Data.ErrM -- H import GF.Infra.Ident -- H import Array @@ -32,82 +32,82 @@ happyIn7 x = unsafeCoerce# x happyOut7 :: (HappyAbsSyn ) -> (Integer) happyOut7 x = unsafeCoerce# x {-# INLINE happyOut7 #-} -happyIn8 :: (Canon) -> (HappyAbsSyn ) +happyIn8 :: (Double) -> (HappyAbsSyn ) happyIn8 x = unsafeCoerce# x {-# INLINE happyIn8 #-} -happyOut8 :: (HappyAbsSyn ) -> (Canon) +happyOut8 :: (HappyAbsSyn ) -> (Double) happyOut8 x = unsafeCoerce# x {-# INLINE happyOut8 #-} -happyIn9 :: (Line) -> (HappyAbsSyn ) +happyIn9 :: (Canon) -> (HappyAbsSyn ) happyIn9 x = unsafeCoerce# x {-# INLINE happyIn9 #-} -happyOut9 :: (HappyAbsSyn ) -> (Line) +happyOut9 :: (HappyAbsSyn ) -> (Canon) happyOut9 x = unsafeCoerce# x {-# INLINE happyOut9 #-} -happyIn10 :: (Module) -> (HappyAbsSyn ) +happyIn10 :: (Line) -> (HappyAbsSyn ) happyIn10 x = unsafeCoerce# x {-# INLINE happyIn10 #-} -happyOut10 :: (HappyAbsSyn ) -> (Module) +happyOut10 :: (HappyAbsSyn ) -> (Line) happyOut10 x = unsafeCoerce# x {-# INLINE happyOut10 #-} -happyIn11 :: (ModType) -> (HappyAbsSyn ) +happyIn11 :: (Module) -> (HappyAbsSyn ) happyIn11 x = unsafeCoerce# x {-# INLINE happyIn11 #-} -happyOut11 :: (HappyAbsSyn ) -> (ModType) +happyOut11 :: (HappyAbsSyn ) -> (Module) happyOut11 x = unsafeCoerce# x {-# INLINE happyOut11 #-} -happyIn12 :: ([Module]) -> (HappyAbsSyn ) +happyIn12 :: (ModType) -> (HappyAbsSyn ) happyIn12 x = unsafeCoerce# x {-# INLINE happyIn12 #-} -happyOut12 :: (HappyAbsSyn ) -> ([Module]) +happyOut12 :: (HappyAbsSyn ) -> (ModType) happyOut12 x = unsafeCoerce# x {-# INLINE happyOut12 #-} -happyIn13 :: (Extend) -> (HappyAbsSyn ) +happyIn13 :: ([Module]) -> (HappyAbsSyn ) happyIn13 x = unsafeCoerce# x {-# INLINE happyIn13 #-} -happyOut13 :: (HappyAbsSyn ) -> (Extend) +happyOut13 :: (HappyAbsSyn ) -> ([Module]) happyOut13 x = unsafeCoerce# x {-# INLINE happyOut13 #-} -happyIn14 :: (Open) -> (HappyAbsSyn ) +happyIn14 :: (Extend) -> (HappyAbsSyn ) happyIn14 x = unsafeCoerce# x {-# INLINE happyIn14 #-} -happyOut14 :: (HappyAbsSyn ) -> (Open) +happyOut14 :: (HappyAbsSyn ) -> (Extend) happyOut14 x = unsafeCoerce# x {-# INLINE happyOut14 #-} -happyIn15 :: (Flag) -> (HappyAbsSyn ) +happyIn15 :: (Open) -> (HappyAbsSyn ) happyIn15 x = unsafeCoerce# x {-# INLINE happyIn15 #-} -happyOut15 :: (HappyAbsSyn ) -> (Flag) +happyOut15 :: (HappyAbsSyn ) -> (Open) happyOut15 x = unsafeCoerce# x {-# INLINE happyOut15 #-} -happyIn16 :: (Def) -> (HappyAbsSyn ) +happyIn16 :: (Flag) -> (HappyAbsSyn ) happyIn16 x = unsafeCoerce# x {-# INLINE happyIn16 #-} -happyOut16 :: (HappyAbsSyn ) -> (Def) +happyOut16 :: (HappyAbsSyn ) -> (Flag) happyOut16 x = unsafeCoerce# x {-# INLINE happyOut16 #-} -happyIn17 :: (ParDef) -> (HappyAbsSyn ) +happyIn17 :: (Def) -> (HappyAbsSyn ) happyIn17 x = unsafeCoerce# x {-# INLINE happyIn17 #-} -happyOut17 :: (HappyAbsSyn ) -> (ParDef) +happyOut17 :: (HappyAbsSyn ) -> (Def) happyOut17 x = unsafeCoerce# x {-# INLINE happyOut17 #-} -happyIn18 :: (Status) -> (HappyAbsSyn ) +happyIn18 :: (ParDef) -> (HappyAbsSyn ) happyIn18 x = unsafeCoerce# x {-# INLINE happyIn18 #-} -happyOut18 :: (HappyAbsSyn ) -> (Status) +happyOut18 :: (HappyAbsSyn ) -> (ParDef) happyOut18 x = unsafeCoerce# x {-# INLINE happyOut18 #-} -happyIn19 :: (CIdent) -> (HappyAbsSyn ) +happyIn19 :: (Status) -> (HappyAbsSyn ) happyIn19 x = unsafeCoerce# x {-# INLINE happyIn19 #-} -happyOut19 :: (HappyAbsSyn ) -> (CIdent) +happyOut19 :: (HappyAbsSyn ) -> (Status) happyOut19 x = unsafeCoerce# x {-# INLINE happyOut19 #-} -happyIn20 :: (Exp) -> (HappyAbsSyn ) +happyIn20 :: (CIdent) -> (HappyAbsSyn ) happyIn20 x = unsafeCoerce# x {-# INLINE happyIn20 #-} -happyOut20 :: (HappyAbsSyn ) -> (Exp) +happyOut20 :: (HappyAbsSyn ) -> (CIdent) happyOut20 x = unsafeCoerce# x {-# INLINE happyOut20 #-} happyIn21 :: (Exp) -> (HappyAbsSyn ) @@ -122,70 +122,70 @@ happyIn22 x = unsafeCoerce# x happyOut22 :: (HappyAbsSyn ) -> (Exp) happyOut22 x = unsafeCoerce# x {-# INLINE happyOut22 #-} -happyIn23 :: (Sort) -> (HappyAbsSyn ) +happyIn23 :: (Exp) -> (HappyAbsSyn ) happyIn23 x = unsafeCoerce# x {-# INLINE happyIn23 #-} -happyOut23 :: (HappyAbsSyn ) -> (Sort) +happyOut23 :: (HappyAbsSyn ) -> (Exp) happyOut23 x = unsafeCoerce# x {-# INLINE happyOut23 #-} -happyIn24 :: (Equation) -> (HappyAbsSyn ) +happyIn24 :: (Sort) -> (HappyAbsSyn ) happyIn24 x = unsafeCoerce# x {-# INLINE happyIn24 #-} -happyOut24 :: (HappyAbsSyn ) -> (Equation) +happyOut24 :: (HappyAbsSyn ) -> (Sort) happyOut24 x = unsafeCoerce# x {-# INLINE happyOut24 #-} -happyIn25 :: (APatt) -> (HappyAbsSyn ) +happyIn25 :: (Equation) -> (HappyAbsSyn ) happyIn25 x = unsafeCoerce# x {-# INLINE happyIn25 #-} -happyOut25 :: (HappyAbsSyn ) -> (APatt) +happyOut25 :: (HappyAbsSyn ) -> (Equation) happyOut25 x = unsafeCoerce# x {-# INLINE happyOut25 #-} -happyIn26 :: ([Decl]) -> (HappyAbsSyn ) +happyIn26 :: (APatt) -> (HappyAbsSyn ) happyIn26 x = unsafeCoerce# x {-# INLINE happyIn26 #-} -happyOut26 :: (HappyAbsSyn ) -> ([Decl]) +happyOut26 :: (HappyAbsSyn ) -> (APatt) happyOut26 x = unsafeCoerce# x {-# INLINE happyOut26 #-} -happyIn27 :: ([APatt]) -> (HappyAbsSyn ) +happyIn27 :: ([Decl]) -> (HappyAbsSyn ) happyIn27 x = unsafeCoerce# x {-# INLINE happyIn27 #-} -happyOut27 :: (HappyAbsSyn ) -> ([APatt]) +happyOut27 :: (HappyAbsSyn ) -> ([Decl]) happyOut27 x = unsafeCoerce# x {-# INLINE happyOut27 #-} -happyIn28 :: ([Equation]) -> (HappyAbsSyn ) +happyIn28 :: ([APatt]) -> (HappyAbsSyn ) happyIn28 x = unsafeCoerce# x {-# INLINE happyIn28 #-} -happyOut28 :: (HappyAbsSyn ) -> ([Equation]) +happyOut28 :: (HappyAbsSyn ) -> ([APatt]) happyOut28 x = unsafeCoerce# x {-# INLINE happyOut28 #-} -happyIn29 :: (Atom) -> (HappyAbsSyn ) +happyIn29 :: ([Equation]) -> (HappyAbsSyn ) happyIn29 x = unsafeCoerce# x {-# INLINE happyIn29 #-} -happyOut29 :: (HappyAbsSyn ) -> (Atom) +happyOut29 :: (HappyAbsSyn ) -> ([Equation]) happyOut29 x = unsafeCoerce# x {-# INLINE happyOut29 #-} -happyIn30 :: (Decl) -> (HappyAbsSyn ) +happyIn30 :: (Atom) -> (HappyAbsSyn ) happyIn30 x = unsafeCoerce# x {-# INLINE happyIn30 #-} -happyOut30 :: (HappyAbsSyn ) -> (Decl) +happyOut30 :: (HappyAbsSyn ) -> (Atom) happyOut30 x = unsafeCoerce# x {-# INLINE happyOut30 #-} -happyIn31 :: (CType) -> (HappyAbsSyn ) +happyIn31 :: (Decl) -> (HappyAbsSyn ) happyIn31 x = unsafeCoerce# x {-# INLINE happyIn31 #-} -happyOut31 :: (HappyAbsSyn ) -> (CType) +happyOut31 :: (HappyAbsSyn ) -> (Decl) happyOut31 x = unsafeCoerce# x {-# INLINE happyOut31 #-} -happyIn32 :: (Labelling) -> (HappyAbsSyn ) +happyIn32 :: (CType) -> (HappyAbsSyn ) happyIn32 x = unsafeCoerce# x {-# INLINE happyIn32 #-} -happyOut32 :: (HappyAbsSyn ) -> (Labelling) +happyOut32 :: (HappyAbsSyn ) -> (CType) happyOut32 x = unsafeCoerce# x {-# INLINE happyOut32 #-} -happyIn33 :: (Term) -> (HappyAbsSyn ) +happyIn33 :: (Labelling) -> (HappyAbsSyn ) happyIn33 x = unsafeCoerce# x {-# INLINE happyIn33 #-} -happyOut33 :: (HappyAbsSyn ) -> (Term) +happyOut33 :: (HappyAbsSyn ) -> (Labelling) happyOut33 x = unsafeCoerce# x {-# INLINE happyOut33 #-} happyIn34 :: (Term) -> (HappyAbsSyn ) @@ -200,144 +200,150 @@ happyIn35 x = unsafeCoerce# x happyOut35 :: (HappyAbsSyn ) -> (Term) happyOut35 x = unsafeCoerce# x {-# INLINE happyOut35 #-} -happyIn36 :: (Tokn) -> (HappyAbsSyn ) +happyIn36 :: (Term) -> (HappyAbsSyn ) happyIn36 x = unsafeCoerce# x {-# INLINE happyIn36 #-} -happyOut36 :: (HappyAbsSyn ) -> (Tokn) +happyOut36 :: (HappyAbsSyn ) -> (Term) happyOut36 x = unsafeCoerce# x {-# INLINE happyOut36 #-} -happyIn37 :: (Assign) -> (HappyAbsSyn ) +happyIn37 :: (Tokn) -> (HappyAbsSyn ) happyIn37 x = unsafeCoerce# x {-# INLINE happyIn37 #-} -happyOut37 :: (HappyAbsSyn ) -> (Assign) +happyOut37 :: (HappyAbsSyn ) -> (Tokn) happyOut37 x = unsafeCoerce# x {-# INLINE happyOut37 #-} -happyIn38 :: (Case) -> (HappyAbsSyn ) +happyIn38 :: (Assign) -> (HappyAbsSyn ) happyIn38 x = unsafeCoerce# x {-# INLINE happyIn38 #-} -happyOut38 :: (HappyAbsSyn ) -> (Case) +happyOut38 :: (HappyAbsSyn ) -> (Assign) happyOut38 x = unsafeCoerce# x {-# INLINE happyOut38 #-} -happyIn39 :: (Variant) -> (HappyAbsSyn ) +happyIn39 :: (Case) -> (HappyAbsSyn ) happyIn39 x = unsafeCoerce# x {-# INLINE happyIn39 #-} -happyOut39 :: (HappyAbsSyn ) -> (Variant) +happyOut39 :: (HappyAbsSyn ) -> (Case) happyOut39 x = unsafeCoerce# x {-# INLINE happyOut39 #-} -happyIn40 :: (Label) -> (HappyAbsSyn ) +happyIn40 :: (Variant) -> (HappyAbsSyn ) happyIn40 x = unsafeCoerce# x {-# INLINE happyIn40 #-} -happyOut40 :: (HappyAbsSyn ) -> (Label) +happyOut40 :: (HappyAbsSyn ) -> (Variant) happyOut40 x = unsafeCoerce# x {-# INLINE happyOut40 #-} -happyIn41 :: (ArgVar) -> (HappyAbsSyn ) +happyIn41 :: (Label) -> (HappyAbsSyn ) happyIn41 x = unsafeCoerce# x {-# INLINE happyIn41 #-} -happyOut41 :: (HappyAbsSyn ) -> (ArgVar) +happyOut41 :: (HappyAbsSyn ) -> (Label) happyOut41 x = unsafeCoerce# x {-# INLINE happyOut41 #-} -happyIn42 :: (Patt) -> (HappyAbsSyn ) +happyIn42 :: (ArgVar) -> (HappyAbsSyn ) happyIn42 x = unsafeCoerce# x {-# INLINE happyIn42 #-} -happyOut42 :: (HappyAbsSyn ) -> (Patt) +happyOut42 :: (HappyAbsSyn ) -> (ArgVar) happyOut42 x = unsafeCoerce# x {-# INLINE happyOut42 #-} -happyIn43 :: (PattAssign) -> (HappyAbsSyn ) +happyIn43 :: (Patt) -> (HappyAbsSyn ) happyIn43 x = unsafeCoerce# x {-# INLINE happyIn43 #-} -happyOut43 :: (HappyAbsSyn ) -> (PattAssign) +happyOut43 :: (HappyAbsSyn ) -> (Patt) happyOut43 x = unsafeCoerce# x {-# INLINE happyOut43 #-} -happyIn44 :: ([Flag]) -> (HappyAbsSyn ) +happyIn44 :: (PattAssign) -> (HappyAbsSyn ) happyIn44 x = unsafeCoerce# x {-# INLINE happyIn44 #-} -happyOut44 :: (HappyAbsSyn ) -> ([Flag]) +happyOut44 :: (HappyAbsSyn ) -> (PattAssign) happyOut44 x = unsafeCoerce# x {-# INLINE happyOut44 #-} -happyIn45 :: ([Def]) -> (HappyAbsSyn ) +happyIn45 :: ([Flag]) -> (HappyAbsSyn ) happyIn45 x = unsafeCoerce# x {-# INLINE happyIn45 #-} -happyOut45 :: (HappyAbsSyn ) -> ([Def]) +happyOut45 :: (HappyAbsSyn ) -> ([Flag]) happyOut45 x = unsafeCoerce# x {-# INLINE happyOut45 #-} -happyIn46 :: ([ParDef]) -> (HappyAbsSyn ) +happyIn46 :: ([Def]) -> (HappyAbsSyn ) happyIn46 x = unsafeCoerce# x {-# INLINE happyIn46 #-} -happyOut46 :: (HappyAbsSyn ) -> ([ParDef]) +happyOut46 :: (HappyAbsSyn ) -> ([Def]) happyOut46 x = unsafeCoerce# x {-# INLINE happyOut46 #-} -happyIn47 :: ([CType]) -> (HappyAbsSyn ) +happyIn47 :: ([ParDef]) -> (HappyAbsSyn ) happyIn47 x = unsafeCoerce# x {-# INLINE happyIn47 #-} -happyOut47 :: (HappyAbsSyn ) -> ([CType]) +happyOut47 :: (HappyAbsSyn ) -> ([ParDef]) happyOut47 x = unsafeCoerce# x {-# INLINE happyOut47 #-} -happyIn48 :: ([CIdent]) -> (HappyAbsSyn ) +happyIn48 :: ([CType]) -> (HappyAbsSyn ) happyIn48 x = unsafeCoerce# x {-# INLINE happyIn48 #-} -happyOut48 :: (HappyAbsSyn ) -> ([CIdent]) +happyOut48 :: (HappyAbsSyn ) -> ([CType]) happyOut48 x = unsafeCoerce# x {-# INLINE happyOut48 #-} -happyIn49 :: ([Assign]) -> (HappyAbsSyn ) +happyIn49 :: ([CIdent]) -> (HappyAbsSyn ) happyIn49 x = unsafeCoerce# x {-# INLINE happyIn49 #-} -happyOut49 :: (HappyAbsSyn ) -> ([Assign]) +happyOut49 :: (HappyAbsSyn ) -> ([CIdent]) happyOut49 x = unsafeCoerce# x {-# INLINE happyOut49 #-} -happyIn50 :: ([ArgVar]) -> (HappyAbsSyn ) +happyIn50 :: ([Assign]) -> (HappyAbsSyn ) happyIn50 x = unsafeCoerce# x {-# INLINE happyIn50 #-} -happyOut50 :: (HappyAbsSyn ) -> ([ArgVar]) +happyOut50 :: (HappyAbsSyn ) -> ([Assign]) happyOut50 x = unsafeCoerce# x {-# INLINE happyOut50 #-} -happyIn51 :: ([Labelling]) -> (HappyAbsSyn ) +happyIn51 :: ([ArgVar]) -> (HappyAbsSyn ) happyIn51 x = unsafeCoerce# x {-# INLINE happyIn51 #-} -happyOut51 :: (HappyAbsSyn ) -> ([Labelling]) +happyOut51 :: (HappyAbsSyn ) -> ([ArgVar]) happyOut51 x = unsafeCoerce# x {-# INLINE happyOut51 #-} -happyIn52 :: ([Case]) -> (HappyAbsSyn ) +happyIn52 :: ([Labelling]) -> (HappyAbsSyn ) happyIn52 x = unsafeCoerce# x {-# INLINE happyIn52 #-} -happyOut52 :: (HappyAbsSyn ) -> ([Case]) +happyOut52 :: (HappyAbsSyn ) -> ([Labelling]) happyOut52 x = unsafeCoerce# x {-# INLINE happyOut52 #-} -happyIn53 :: ([Term]) -> (HappyAbsSyn ) +happyIn53 :: ([Case]) -> (HappyAbsSyn ) happyIn53 x = unsafeCoerce# x {-# INLINE happyIn53 #-} -happyOut53 :: (HappyAbsSyn ) -> ([Term]) +happyOut53 :: (HappyAbsSyn ) -> ([Case]) happyOut53 x = unsafeCoerce# x {-# INLINE happyOut53 #-} -happyIn54 :: ([String]) -> (HappyAbsSyn ) +happyIn54 :: ([Term]) -> (HappyAbsSyn ) happyIn54 x = unsafeCoerce# x {-# INLINE happyIn54 #-} -happyOut54 :: (HappyAbsSyn ) -> ([String]) +happyOut54 :: (HappyAbsSyn ) -> ([Term]) happyOut54 x = unsafeCoerce# x {-# INLINE happyOut54 #-} -happyIn55 :: ([Variant]) -> (HappyAbsSyn ) +happyIn55 :: ([String]) -> (HappyAbsSyn ) happyIn55 x = unsafeCoerce# x {-# INLINE happyIn55 #-} -happyOut55 :: (HappyAbsSyn ) -> ([Variant]) +happyOut55 :: (HappyAbsSyn ) -> ([String]) happyOut55 x = unsafeCoerce# x {-# INLINE happyOut55 #-} -happyIn56 :: ([PattAssign]) -> (HappyAbsSyn ) +happyIn56 :: ([Variant]) -> (HappyAbsSyn ) happyIn56 x = unsafeCoerce# x {-# INLINE happyIn56 #-} -happyOut56 :: (HappyAbsSyn ) -> ([PattAssign]) +happyOut56 :: (HappyAbsSyn ) -> ([Variant]) happyOut56 x = unsafeCoerce# x {-# INLINE happyOut56 #-} -happyIn57 :: ([Patt]) -> (HappyAbsSyn ) +happyIn57 :: ([PattAssign]) -> (HappyAbsSyn ) happyIn57 x = unsafeCoerce# x {-# INLINE happyIn57 #-} -happyOut57 :: (HappyAbsSyn ) -> ([Patt]) +happyOut57 :: (HappyAbsSyn ) -> ([PattAssign]) happyOut57 x = unsafeCoerce# x {-# INLINE happyOut57 #-} -happyIn58 :: ([Ident]) -> (HappyAbsSyn ) +happyIn58 :: ([Patt]) -> (HappyAbsSyn ) happyIn58 x = unsafeCoerce# x {-# INLINE happyIn58 #-} -happyOut58 :: (HappyAbsSyn ) -> ([Ident]) +happyOut58 :: (HappyAbsSyn ) -> ([Patt]) happyOut58 x = unsafeCoerce# x {-# INLINE happyOut58 #-} +happyIn59 :: ([Ident]) -> (HappyAbsSyn ) +happyIn59 x = unsafeCoerce# x +{-# INLINE happyIn59 #-} +happyOut59 :: (HappyAbsSyn ) -> ([Ident]) +happyOut59 x = unsafeCoerce# x +{-# INLINE happyOut59 #-} happyInTok :: Token -> (HappyAbsSyn ) happyInTok x = unsafeCoerce# x {-# INLINE happyInTok #-} @@ -346,21 +352,21 @@ happyOutTok x = unsafeCoerce# x {-# INLINE happyOutTok #-} happyActOffsets :: HappyAddr -happyActOffsets = HappyA# "\x5b\x02\x83\x00\x55\x02\x00\x00\x53\x02\x4d\x02\x70\x02\x6e\x02\x6b\x02\x00\x00\x49\x02\x49\x02\x49\x02\x49\x02\x49\x02\x49\x02\x49\x02\x49\x02\x49\x02\x49\x02\x49\x02\x49\x02\x46\x02\x8a\x01\x42\x02\x54\x02\x45\x02\x00\x00\x69\x02\x40\x02\xe4\x00\x00\x00\x67\x02\x65\x02\x64\x02\x63\x02\x3f\x02\x60\x02\x61\x02\x39\x02\x5a\x02\x00\x00\x00\x00\x00\x00\x1d\x00\x3a\x02\x00\x00\x33\x02\x35\x02\x59\x02\x2c\x02\x2c\x02\x2c\x02\x0f\x00\x2c\x02\x2c\x02\x67\x00\x67\x00\x2c\x02\x0f\x00\x2c\x02\x57\x02\x1d\x00\x29\x02\x29\x02\x00\x00\x58\x02\x32\x02\x51\x02\x4b\x02\x00\x00\x00\x00\x00\x00\xcb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x02\x0f\x00\x1f\x02\x1f\x02\x25\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x02\x00\x00\x00\x00\x52\x02\xf6\xff\x67\x00\x20\x02\x00\x00\x50\x02\x4f\x02\x4e\x02\x4c\x02\x00\x00\x00\x00\x48\x02\x43\x02\x4a\x02\x00\x00\x47\x02\x18\x02\x00\x00\x23\x02\x00\x00\x16\x02\x44\x02\x0f\x00\x0f\x00\x00\x00\x3b\x02\x17\x00\x00\x00\x31\x02\x00\x00\x41\x02\x3e\x02\x3d\x02\x0d\x02\x17\x00\x0e\x02\x67\x00\x00\x00\x00\x00\x2e\x02\x12\x00\x30\x02\x36\x02\x37\x02\x00\x00\x0f\x00\x07\x02\x07\x02\x34\x02\x00\x00\x8a\x01\x00\x00\x00\x00\x00\x00\x27\x02\x8d\x00\x00\x00\x0f\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x49\x01\x00\x00\x00\x00\x00\x00\x26\x02\x22\x02\x1d\x02\x00\x00\x00\x00\xf6\xff\x4e\x00\x17\x00\xff\x01\xff\x01\x67\x00\x24\x02\x00\x00\x00\x00\x67\x00\xf6\xff\x67\x00\xc6\x00\xf5\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf5\x01\xf7\x00\x0b\x02\x1e\x02\x17\x00\x17\x00\x13\x02\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x14\x02\x12\x02\x03\x02\x5d\x00\xf6\xff\xd5\x01\xd5\x01\xf7\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x00\xd4\x01\x00\x00\x00\x00\xe4\x01\xf6\x01\x92\x00\x00\x00\x00\x00\xfc\x01\xea\x01\x00\x00\x00\x00\x00\x00\x00\x00\x17\x00\xf6\xff\x0a\x00\x00\x00\x53\x00\xf1\x01\x00\x00\x4d\x00\x00\x00\xe2\x01\xde\x01\x17\x00\xc3\x01\x00\x00\x00\x00\x14\x00\x00\x00\x00\x00\x43\x00\xe9\x01\xe3\x01\x5a\x00\x00\x00\x00\x00\x72\x00\x00\x00\xd3\x01\xb6\x01\x0f\x00\xbc\x00\xe5\x01\x00\x00\xb3\x01\x00\x00\xe1\x01\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x01\x4b\x00\xd2\x01\x00\x00\x00\x00\x00\x00\xf6\xff\x9b\x01\x00\x00\x17\x00\x00\x00\xd1\x01\x00\x00\x17\x00\xb5\x01\x00\x00\xb5\x01\x00\x00\xc9\x01\xc8\x01\xb4\x01\xbd\x01\x00\x00\xfb\xff\x00\x00\x93\x01\x00\x00\x00\x00\xf6\xff\x64\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00"# +happyActOffsets = HappyA# "\x74\x02\xa7\x00\x6e\x02\x00\x00\x6c\x02\x66\x02\x89\x02\x88\x02\x84\x02\x00\x00\x62\x02\x62\x02\x62\x02\x62\x02\x62\x02\x62\x02\x62\x02\x62\x02\x62\x02\x62\x02\x62\x02\x62\x02\x52\x02\x21\x02\x60\x02\x6d\x02\x5e\x02\x00\x00\x82\x02\x5b\x02\xdb\x00\x00\x00\x80\x02\x7e\x02\x7d\x02\x79\x02\x59\x02\x78\x02\x7a\x02\x58\x02\x73\x02\x00\x00\x00\x00\x00\x00\x28\x00\x53\x02\x00\x00\x46\x02\x51\x02\x72\x02\x44\x02\x44\x02\x44\x02\x8b\x00\x44\x02\x44\x02\x9b\x00\x9b\x00\x44\x02\x8b\x00\x44\x02\x71\x02\x28\x00\x42\x02\x42\x02\x00\x00\x70\x02\x4b\x02\x6a\x02\x64\x02\x00\x00\x00\x00\x00\x00\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x02\x8b\x00\x38\x02\x38\x02\x3f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x02\x00\x00\x00\x00\x6b\x02\xf7\xff\x9b\x00\x39\x02\x00\x00\x69\x02\x68\x02\x67\x02\x65\x02\x00\x00\x00\x00\x61\x02\x5c\x02\x63\x02\x00\x00\x5f\x02\x30\x02\x00\x00\x3e\x02\x00\x00\x2f\x02\x5d\x02\x8b\x00\x8b\x00\x00\x00\x54\x02\x12\x00\x00\x00\x4a\x02\x00\x00\x5a\x02\x57\x02\x56\x02\x26\x02\x12\x00\x27\x02\x9b\x00\x00\x00\x00\x00\x47\x02\xd7\x00\x48\x02\x50\x02\x4d\x02\x00\x00\x8b\x00\x23\x02\x23\x02\x4f\x02\x00\x00\x21\x02\x00\x00\x00\x00\x00\x00\x4e\x02\x7e\x00\x00\x00\x8b\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x02\x36\x02\x33\x02\x00\x00\x00\x00\xf7\xff\xfe\xff\x12\x00\x16\x02\x16\x02\x9b\x00\x43\x02\x00\x00\x00\x00\x00\x00\x9b\x00\xf7\xff\x9b\x00\xba\x00\x14\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14\x02\x66\x00\x2a\x02\x3d\x02\x12\x00\x12\x00\x35\x02\x00\x00\x00\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x3c\x02\x2c\x02\x29\x02\x5f\x00\xf7\xff\x0d\x02\x0d\x02\x1e\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\xfb\x01\x00\x00\x00\x00\x08\x02\x28\x02\xb4\x00\x00\x00\x00\x00\x22\x02\x0c\x02\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\xf7\xff\x1a\x00\x00\x00\x55\x00\x10\x02\x00\x00\x4f\x00\x00\x00\xff\x01\xfc\x01\x12\x00\xe1\x01\x00\x00\x00\x00\xac\x00\x00\x00\x00\x00\x1d\x00\x0f\x02\x0a\x02\x65\x00\x00\x00\x00\x00\x6f\x00\x00\x00\xfa\x01\xd6\x01\x8b\x00\xda\x00\xf9\x01\x00\x00\xc8\x01\x00\x00\xf6\x01\x00\x00\x00\x00\x00\x00\x00\x00\xf4\x01\x59\x00\xf3\x01\x00\x00\x00\x00\x00\x00\x00\x00\xf7\xff\xc5\x01\x00\x00\x12\x00\x00\x00\xf0\x01\x00\x00\x12\x00\xc9\x01\x00\x00\xc9\x01\x00\x00\xdd\x01\xdc\x01\xd8\x01\xd1\x01\x00\x00\x37\x00\x00\x00\xa9\x01\x00\x00\x00\x00\xf7\xff\x16\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00"# happyGotoOffsets :: HappyAddr -happyGotoOffsets = HappyA# "\x75\x00\x2f\x02\x00\x00\x00\x00\x7c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xae\x01\xad\x01\xac\x01\xa7\x01\x9c\x01\x06\x00\x9a\x01\x94\x01\x8c\x01\x87\x01\x86\x01\x85\x01\x00\x00\xdf\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x83\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x80\x01\x60\x01\x00\x00\xf2\x00\x6b\x01\x63\x01\x1c\x02\x62\x01\x34\x01\x81\x01\x7d\x01\xab\x00\x09\x02\x5d\x01\x00\x00\x01\x00\x57\x01\x04\x00\x00\x00\x00\x00\x38\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x02\x00\x00\x00\x00\x00\x00\x00\x00\x41\x01\x40\x01\xfe\x01\x2b\x01\x3a\x01\x36\x01\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x01\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x74\x01\x33\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\xe2\x00\x00\x00\xeb\x01\xe0\x01\x00\x00\x00\x00\x51\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2e\x01\x48\x01\x9c\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbf\x00\x00\x00\xcd\x01\x2f\x01\x19\x01\x00\x00\x10\x01\xdf\x00\xee\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x00\x00\xc2\x01\x00\x00\xaf\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb3\x00\x00\x00\x31\x01\x0c\x01\xf1\x00\x14\x01\x00\x00\x00\x00\x00\x00\xeb\x00\x6f\x00\xea\x00\x00\x00\xa0\x00\x00\x00\x00\x00\xcf\x00\x00\x00\x00\x00\xd9\x00\x00\x00\x00\x00\x00\x00\x28\x01\x5a\x01\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\xa1\x00\x00\x00\x00\x00\x95\x00\x00\x00\x00\x00\x00\x00\x7a\x01\x08\x00\xb9\x00\xb4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x01\x7b\x00\x00\x00\x00\x00\x1b\x00\x00\x00\xaf\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x01\xac\x00\x80\x00\x00\x00\x71\x01\x69\x01\x61\x00\x71\x01\x00\x00\x00\x00\x00\x00\x08\x01\x9e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x01\x00\x00\x00\x00\xe1\x00\x00\x00\x00\x00\xa6\x01\x00\x00\x00\x00\x51\x00\x91\x01\x0e\x00\x00\x00\x00\x00\x77\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x6b\x00\x00\x00\xff\x00\x00\x00\x2a\x01\x00\x00\xf4\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13\x00\x89\x01\x00\x00\x15\x00\x00\x00\x00\x00\x0b\x00\xde\x00\xce\x00\x00\x00\x00\x00\x00\x00\x00\x00"# +happyGotoOffsets = HappyA# "\x9c\x00\x5d\x01\x00\x00\x00\x00\xb7\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x01\xc2\x01\xc1\x01\xbc\x01\xb1\x01\x06\x00\xb0\x01\xa8\x01\xa4\x01\x8f\x01\x8e\x01\x8c\x01\x00\x00\x6e\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x87\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x86\x01\x72\x01\x00\x00\x9f\x00\x7b\x01\x70\x01\x25\x02\x65\x01\xe0\x01\x36\x01\x19\x01\xa6\x00\x20\x02\x52\x01\x00\x00\x01\x00\x40\x01\x04\x00\x00\x00\x00\x00\x35\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x26\x01\x3c\x01\x0b\x02\xc6\x01\x3b\x01\x38\x01\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x01\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x18\x01\x33\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x06\x02\xf1\x01\x00\x00\x00\x00\x7e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x01\x6b\x01\x6a\x00\x17\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\xec\x01\x1f\x01\x1d\x01\x00\x00\x14\x01\x6e\x00\xf3\x00\x00\x00\x00\x00\x00\x00\xab\x01\x00\x00\xd7\x01\x00\x00\xd2\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x00\x00\x00\x58\x01\xb4\x01\xfd\x00\xf9\x00\x00\x00\x00\x00\x00\x00\x00\x00\xef\x00\x0f\x00\x0c\x00\x00\x00\x35\x00\x00\x00\x00\x00\xc7\x00\x00\x00\x00\x00\xa6\x01\x00\x00\x00\x00\x00\x00\x54\x01\x82\x01\x00\x00\x00\x00\x00\x00\xc1\x00\x00\x00\x00\x00\xa8\x00\x00\x00\x00\x00\x90\x00\x00\x00\x00\x00\x00\x00\x96\x01\x0e\x00\xe8\x00\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x01\x37\x01\x00\x00\x00\x00\x51\x00\x00\x00\x03\x01\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x01\xc0\x00\xa1\x00\x00\x00\x92\x01\x3a\x01\x5c\x00\x92\x01\x00\x00\x00\x00\x00\x00\x2e\x01\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\x01\x00\x00\x00\x00\xff\x00\x00\x00\x00\x00\x77\x01\x00\x00\x00\x00\x74\x00\xb8\x01\xab\x01\x00\x00\x00\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x00\x10\x00\x00\x00\x2a\x01\x00\x00\x3d\x00\x00\x00\x04\x01\x00\x00\x00\x00\x00\x00\xe2\xff\x00\x00\x00\x00\x00\x00\x00\x00\xe0\xff\x91\x00\x00\x00\x17\x00\x00\x00\x00\x00\x09\x00\xf8\x00\xf4\x00\x00\x00\x00\x00\x00\x00\x00\x00"# happyDefActions :: HappyAddr -happyDefActions = HappyA# "\xee\xff\x00\x00\x00\x00\xfd\xff\xdd\xff\x00\x00\x00\x00\x00\x00\x00\x00\xf4\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf9\xff\x73\xff\x72\xff\x00\x00\xed\xff\x00\x00\x00\x00\x00\x00\xf0\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\xff\xf5\xff\xf6\xff\xeb\xff\x00\x00\xde\xff\x00\x00\xe9\xff\x00\x00\xcb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\xff\x00\x00\x00\x00\x00\x00\xeb\xff\x00\x00\x73\xff\x71\xff\x00\x00\xe9\xff\x00\x00\x00\x00\xc0\xff\xbf\xff\xc4\xff\xd6\xff\xe5\xff\xda\xff\xbe\xff\xd5\xff\xc6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd2\xff\xd4\xff\xfc\xff\xfb\xff\x8f\xff\x91\xff\xe4\xff\xba\xff\x00\x00\x85\xff\x00\x00\x00\x00\xb9\xff\x00\x00\x00\x00\x00\x00\x00\x00\xe8\xff\xf1\xff\x00\x00\x00\x00\xca\xff\xec\xff\x00\x00\x73\xff\xe0\xff\x00\x00\xf7\xff\xcb\xff\x00\x00\x00\x00\x00\x00\xf8\xff\x00\x00\x00\x00\xb8\xff\x00\x00\xa0\xff\x84\xff\x00\x00\x00\x00\x00\x00\x00\x00\x92\xff\xdf\xff\xc1\xff\xc2\xff\x00\x00\x00\x00\x00\x00\x00\x00\xc8\xff\xdb\xff\x00\x00\x00\x00\x00\x00\x00\x00\xee\xff\xfa\xff\x96\xff\xef\xff\xdc\xff\x00\x00\x00\x00\xd7\xff\x00\x00\xd3\xff\x00\x00\xc3\xff\x8e\xff\x90\xff\x00\x00\xa5\xff\xb1\xff\xb5\xff\xa8\xff\xa6\xff\xe3\xff\xb0\xff\xb6\xff\x8b\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9f\xff\xbc\xff\x00\x00\x85\xff\x00\x00\x00\x00\x88\xff\xe6\xff\xbd\xff\x8d\xff\xc9\xff\xea\xff\xe7\xff\x00\x00\x87\xff\x00\x00\x00\x00\x00\x00\x00\x00\x83\xff\xb7\xff\x7f\xff\x00\x00\xb3\xff\x7f\xff\x00\x00\xaf\xff\x7d\xff\x8a\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd8\xff\xcf\xff\xce\xff\xcd\xff\xc7\xff\x00\x00\x00\x00\xcc\xff\xc5\xff\x94\xff\x00\x00\x00\x00\xc8\xff\xd1\xff\x00\x00\x00\x00\x9e\xff\xad\xff\xaa\xff\xb2\xff\x00\x00\x8b\xff\x00\x00\xae\xff\x00\x00\x75\xff\x7f\xff\x00\x00\xbb\xff\xa7\xff\xe2\xff\x00\x00\x88\xff\x8c\xff\x86\xff\x00\x00\x7e\xff\xa9\xff\x00\x00\x81\xff\x00\x00\x00\x00\xb4\xff\x7c\xff\x7b\xff\x89\xff\xa3\xff\x00\x00\x00\x00\x00\x00\x00\x00\xf3\xff\x00\x00\x95\xff\x00\x00\x93\xff\xd0\xff\xd9\xff\x9d\xff\x7a\xff\x00\x00\x00\x00\x9b\xff\x98\xff\x74\xff\x78\xff\x00\x00\x9a\xff\x00\x00\xac\xff\x75\xff\xab\xff\x00\x00\xe1\xff\x80\xff\xa2\xff\x75\xff\x00\x00\x77\xff\x00\x00\x00\x00\x7d\xff\x7b\xff\x79\xff\xa1\xff\xa4\xff\x99\xff\x78\xff\x00\x00\x00\x00\x9c\xff\x97\xff\x76\xff"# +happyDefActions = HappyA# "\xed\xff\x00\x00\x00\x00\xfd\xff\xdc\xff\x00\x00\x00\x00\x00\x00\x00\x00\xf3\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6f\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\xff\x6f\xff\x6e\xff\x00\x00\xec\xff\x00\x00\x00\x00\x00\x00\xef\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf1\xff\xf4\xff\xf5\xff\xea\xff\x00\x00\xdd\xff\x00\x00\xe8\xff\x00\x00\xc9\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\xff\x00\x00\x00\x00\x00\x00\xea\xff\x00\x00\x6f\xff\x6d\xff\x00\x00\xe8\xff\x00\x00\x00\x00\xbe\xff\xbd\xff\xc2\xff\xd5\xff\xe4\xff\xd9\xff\xbc\xff\xd4\xff\xc4\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd1\xff\xd3\xff\xfc\xff\xfb\xff\x8b\xff\x8d\xff\xe3\xff\xb8\xff\x00\x00\x81\xff\x00\x00\x00\x00\xb7\xff\x00\x00\x00\x00\x00\x00\x00\x00\xe7\xff\xf0\xff\x00\x00\x00\x00\xc8\xff\xeb\xff\x00\x00\x6f\xff\xdf\xff\x00\x00\xf6\xff\xc9\xff\x00\x00\x00\x00\x00\x00\xf7\xff\x00\x00\x00\x00\xb6\xff\x00\x00\x9d\xff\x80\xff\x00\x00\x00\x00\x00\x00\x00\x00\x8e\xff\xde\xff\xbf\xff\xc0\xff\x00\x00\x00\x00\x00\x00\x00\x00\xc6\xff\xda\xff\x00\x00\x00\x00\x00\x00\x00\x00\xed\xff\xf9\xff\x92\xff\xee\xff\xdb\xff\x00\x00\x00\x00\xd6\xff\x00\x00\xd2\xff\x00\x00\xc1\xff\x8a\xff\x8c\xff\x00\x00\xa2\xff\xaf\xff\xae\xff\xb3\xff\xa5\xff\xa3\xff\xe2\xff\xad\xff\xb4\xff\x87\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\xff\x9c\xff\xba\xff\x00\x00\x81\xff\x00\x00\x00\x00\x84\xff\xe5\xff\xbb\xff\x89\xff\xc7\xff\xe9\xff\xe6\xff\x00\x00\x83\xff\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xff\xb5\xff\x7b\xff\x00\x00\xb1\xff\x7b\xff\x00\x00\xac\xff\x79\xff\x86\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd7\xff\xce\xff\xcd\xff\xcc\xff\xcb\xff\xc5\xff\x00\x00\x00\x00\xca\xff\xc3\xff\x90\xff\x00\x00\x00\x00\xc6\xff\xd0\xff\x00\x00\x00\x00\x9b\xff\xaa\xff\xa7\xff\xb0\xff\x00\x00\x87\xff\x00\x00\xab\xff\x00\x00\x71\xff\x7b\xff\x00\x00\xb9\xff\xa4\xff\xe1\xff\x00\x00\x84\xff\x88\xff\x82\xff\x00\x00\x7a\xff\xa6\xff\x00\x00\x7d\xff\x00\x00\x00\x00\xb2\xff\x78\xff\x77\xff\x85\xff\xa0\xff\x00\x00\x00\x00\x00\x00\x00\x00\xf2\xff\x00\x00\x91\xff\x00\x00\x8f\xff\xcf\xff\xd8\xff\x9a\xff\x76\xff\x00\x00\x00\x00\x98\xff\x95\xff\x94\xff\x70\xff\x74\xff\x00\x00\x97\xff\x00\x00\xa9\xff\x71\xff\xa8\xff\x00\x00\xe0\xff\x7c\xff\x9f\xff\x71\xff\x00\x00\x73\xff\x00\x00\x00\x00\x79\xff\x77\xff\x75\xff\x9e\xff\xa1\xff\x96\xff\x74\xff\x00\x00\x00\x00\x99\xff\x93\xff\x72\xff"# happyCheck :: HappyAddr -happyCheck = HappyA# "\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x00\x00\x08\x00\x08\x00\x00\x00\x00\x00\x03\x00\x00\x00\x01\x00\x02\x00\x16\x00\x03\x00\x03\x00\x0d\x00\x01\x00\x01\x00\x05\x00\x08\x00\x0a\x00\x03\x00\x0c\x00\x15\x00\x0b\x00\x0f\x00\x08\x00\x11\x00\x12\x00\x14\x00\x0c\x00\x07\x00\x0a\x00\x0f\x00\x31\x00\x11\x00\x15\x00\x03\x00\x23\x00\x1d\x00\x32\x00\x23\x00\x23\x00\x21\x00\x26\x00\x26\x00\x0c\x00\x0d\x00\x0e\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x35\x00\x32\x00\x34\x00\x33\x00\x33\x00\x31\x00\x32\x00\x33\x00\x28\x00\x31\x00\x2e\x00\x03\x00\x30\x00\x31\x00\x32\x00\x33\x00\x08\x00\x09\x00\x01\x00\x31\x00\x0c\x00\x03\x00\x04\x00\x0f\x00\x02\x00\x11\x00\x08\x00\x03\x00\x09\x00\x31\x00\x0c\x00\x33\x00\x08\x00\x0f\x00\x03\x00\x11\x00\x0c\x00\x03\x00\x16\x00\x0f\x00\x10\x00\x11\x00\x08\x00\x0c\x00\x03\x00\x0e\x00\x0c\x00\x03\x00\x00\x00\x0f\x00\x13\x00\x11\x00\x00\x00\x0c\x00\x00\x00\x0e\x00\x0c\x00\x31\x00\x32\x00\x33\x00\x00\x00\x03\x00\x0e\x00\x2c\x00\x00\x00\x07\x00\x32\x00\x31\x00\x32\x00\x33\x00\x01\x00\x1b\x00\x1c\x00\x31\x00\x32\x00\x33\x00\x04\x00\x16\x00\x0e\x00\x1b\x00\x31\x00\x1b\x00\x33\x00\x31\x00\x32\x00\x33\x00\x30\x00\x23\x00\x06\x00\x23\x00\x31\x00\x04\x00\x33\x00\x31\x00\x0c\x00\x16\x00\x0e\x00\x00\x00\x2e\x00\x00\x00\x2e\x00\x00\x00\x1e\x00\x1f\x00\x20\x00\x32\x00\x22\x00\x23\x00\x24\x00\x0c\x00\x26\x00\x27\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x00\x00\x2d\x00\x1f\x00\x2f\x00\x00\x00\x31\x00\x23\x00\x02\x00\x0c\x00\x26\x00\x27\x00\x0b\x00\x02\x00\x2a\x00\x2b\x00\x31\x00\x32\x00\x33\x00\x2f\x00\x24\x00\x31\x00\x24\x00\x29\x00\x31\x00\x01\x00\x0c\x00\x0d\x00\x0e\x00\x2d\x00\x20\x00\x2d\x00\x00\x00\x23\x00\x02\x00\x30\x00\x13\x00\x20\x00\x29\x00\x16\x00\x23\x00\x0c\x00\x2c\x00\x00\x00\x0f\x00\x15\x00\x11\x00\x12\x00\x00\x00\x2c\x00\x02\x00\x00\x00\x00\x00\x02\x00\x05\x00\x06\x00\x02\x00\x0e\x00\x1d\x00\x05\x00\x00\x00\x00\x00\x21\x00\x31\x00\x32\x00\x33\x00\x30\x00\x00\x00\x00\x00\x25\x00\x00\x00\x01\x00\x02\x00\x15\x00\x0e\x00\x0e\x00\x2b\x00\x19\x00\x31\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x0e\x00\x25\x00\x1a\x00\x1a\x00\x25\x00\x15\x00\x00\x00\x01\x00\x02\x00\x19\x00\x00\x00\x0e\x00\x17\x00\x18\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x27\x00\x0e\x00\x07\x00\x24\x00\x00\x00\x0e\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x01\x00\x02\x00\x0e\x00\x24\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x01\x00\x02\x00\x00\x00\x24\x00\x0e\x00\x1a\x00\x00\x00\x02\x00\x00\x00\x01\x00\x02\x00\x00\x00\x02\x00\x0e\x00\x2a\x00\x02\x00\x0e\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x0e\x00\x00\x00\x09\x00\x0e\x00\x24\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x01\x00\x02\x00\x21\x00\x24\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x01\x00\x02\x00\x0b\x00\x24\x00\x0e\x00\x00\x00\x17\x00\x2f\x00\x00\x00\x01\x00\x02\x00\x00\x00\x34\x00\x0e\x00\x17\x00\x18\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x0e\x00\x09\x00\x00\x00\x00\x00\x24\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x01\x00\x02\x00\x00\x00\x24\x00\x1c\x00\x1d\x00\x0e\x00\x1f\x00\x00\x00\x01\x00\x02\x00\x00\x00\x24\x00\x0e\x00\x00\x00\x00\x00\x0e\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x0d\x00\x21\x00\x0e\x00\x00\x00\x1c\x00\x1a\x00\x0e\x00\x1f\x00\x00\x00\x01\x00\x02\x00\x00\x00\x24\x00\x1c\x00\x1a\x00\x2f\x00\x1f\x00\x00\x00\x1a\x00\x00\x00\x34\x00\x24\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x01\x00\x02\x00\x00\x00\x1e\x00\x18\x00\x20\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x2d\x00\x04\x00\x2f\x00\x31\x00\x32\x00\x18\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x01\x00\x02\x00\x32\x00\x09\x00\x18\x00\x22\x00\x01\x00\x15\x00\x02\x00\x31\x00\x00\x00\x01\x00\x02\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x04\x00\x04\x00\x31\x00\x32\x00\x01\x00\x18\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x01\x00\x02\x00\x02\x00\x31\x00\x18\x00\x01\x00\x04\x00\x15\x00\x33\x00\x01\x00\x00\x00\x01\x00\x02\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x15\x00\x31\x00\x04\x00\x14\x00\x01\x00\x18\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x01\x00\x02\x00\x17\x00\x06\x00\x18\x00\x0d\x00\x31\x00\x22\x00\x04\x00\x33\x00\x00\x00\x01\x00\x02\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x01\x00\x02\x00\x02\x00\x01\x00\x18\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x01\x00\x02\x00\x0e\x00\x0d\x00\x18\x00\x11\x00\x12\x00\x06\x00\x1a\x00\x31\x00\x03\x00\x01\x00\x18\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x00\x00\x31\x00\x0b\x00\x15\x00\x04\x00\x18\x00\x06\x00\x14\x00\x03\x00\x31\x00\x0a\x00\x0b\x00\x04\x00\x06\x00\x0d\x00\x10\x00\x31\x00\x33\x00\x04\x00\x01\x00\x05\x00\x13\x00\x0a\x00\x02\x00\x31\x00\x25\x00\x31\x00\x03\x00\x01\x00\x09\x00\x05\x00\x02\x00\x01\x00\x31\x00\x02\x00\x02\x00\x33\x00\x02\x00\x19\x00\x0b\x00\x06\x00\x33\x00\x01\x00\x31\x00\x29\x00\x05\x00\x31\x00\x29\x00\x25\x00\x07\x00\x28\x00\x08\x00\x02\x00\x31\x00\x05\x00\x02\x00\x28\x00\x05\x00\x02\x00\x05\x00\x02\x00\x01\x00\x28\x00\x1a\x00\x01\x00\xff\xff\x31\x00\x02\x00\x31\x00\x21\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x35\x00\xff\xff\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\x35\x00\xff\xff\xff\xff\xff\xff\x31\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"# +happyCheck = HappyA# "\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00\x11\x00\x00\x00\x09\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x14\x00\x0d\x00\x03\x00\x17\x00\x35\x00\x01\x00\x03\x00\x08\x00\x0f\x00\x15\x00\x03\x00\x0c\x00\x0f\x00\x03\x00\x0f\x00\x0c\x00\x11\x00\x0e\x00\x08\x00\x09\x00\x1b\x00\x31\x00\x0c\x00\x2c\x00\x1c\x00\x0f\x00\x24\x00\x11\x00\x07\x00\x27\x00\x24\x00\x24\x00\x24\x00\x27\x00\x00\x00\x25\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x36\x00\x34\x00\x2f\x00\x2e\x00\x2e\x00\x34\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x31\x00\x01\x00\x33\x00\x34\x00\x03\x00\x32\x00\x16\x00\x31\x00\x32\x00\x33\x00\x34\x00\x03\x00\x04\x00\x0c\x00\x0d\x00\x0e\x00\x08\x00\x03\x00\x31\x00\x25\x00\x0c\x00\x0b\x00\x08\x00\x0f\x00\x22\x00\x11\x00\x0c\x00\x03\x00\x2e\x00\x0f\x00\x10\x00\x11\x00\x08\x00\x03\x00\x32\x00\x00\x00\x0c\x00\x00\x00\x30\x00\x0f\x00\x16\x00\x11\x00\x0c\x00\x35\x00\x0e\x00\x06\x00\x07\x00\x02\x00\x0d\x00\x13\x00\x31\x00\x29\x00\x33\x00\x34\x00\x17\x00\x18\x00\x00\x00\x31\x00\x32\x00\x33\x00\x34\x00\x06\x00\x16\x00\x31\x00\x32\x00\x33\x00\x34\x00\x0c\x00\x32\x00\x0e\x00\x31\x00\x03\x00\x00\x00\x31\x00\x32\x00\x33\x00\x34\x00\x2a\x00\x0a\x00\x31\x00\x0c\x00\x33\x00\x34\x00\x0f\x00\x1c\x00\x11\x00\x12\x00\x03\x00\x00\x00\x04\x00\x32\x00\x01\x00\x24\x00\x08\x00\x16\x00\x00\x00\x0c\x00\x1d\x00\x1a\x00\x17\x00\x04\x00\x21\x00\x01\x00\x2f\x00\x31\x00\x32\x00\x33\x00\x34\x00\x0d\x00\x23\x00\x16\x00\x1b\x00\x1c\x00\x04\x00\x1a\x00\x03\x00\x01\x00\x31\x00\x32\x00\x33\x00\x08\x00\x00\x00\x15\x00\x32\x00\x32\x00\x33\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x22\x00\x23\x00\x24\x00\x31\x00\x26\x00\x27\x00\x15\x00\x2a\x00\x2a\x00\x2b\x00\x1f\x00\x2d\x00\x02\x00\x2f\x00\x23\x00\x31\x00\x31\x00\x26\x00\x27\x00\x05\x00\x02\x00\x2a\x00\x2b\x00\x05\x00\x21\x00\x0b\x00\x2f\x00\x24\x00\x31\x00\x0c\x00\x0d\x00\x0e\x00\x21\x00\x02\x00\x0c\x00\x24\x00\x2d\x00\x0f\x00\x00\x00\x11\x00\x12\x00\x31\x00\x2c\x00\x00\x00\x2d\x00\x02\x00\x03\x00\x00\x00\x00\x00\x02\x00\x03\x00\x1d\x00\x00\x00\x0f\x00\x00\x00\x21\x00\x02\x00\x03\x00\x00\x00\x00\x00\x01\x00\x02\x00\x03\x00\x0f\x00\x0b\x00\x1b\x00\x31\x00\x32\x00\x33\x00\x34\x00\x0c\x00\x31\x00\x32\x00\x33\x00\x0f\x00\x1b\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x26\x00\x28\x00\x08\x00\x00\x00\x26\x00\x00\x00\x02\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x26\x00\x0f\x00\x0f\x00\x0f\x00\x25\x00\x00\x00\x01\x00\x02\x00\x03\x00\x00\x00\x01\x00\x02\x00\x03\x00\x1b\x00\x1b\x00\x1b\x00\x02\x00\x00\x00\x00\x00\x2b\x00\x0f\x00\x02\x00\x00\x00\x00\x00\x0f\x00\x18\x00\x0a\x00\x00\x00\x00\x00\x01\x00\x02\x00\x03\x00\x0f\x00\x0f\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x25\x00\x0f\x00\x1b\x00\x00\x00\x25\x00\x00\x00\x01\x00\x02\x00\x03\x00\x00\x00\x01\x00\x02\x00\x03\x00\x22\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x05\x00\x0f\x00\x07\x00\x00\x00\x25\x00\x0f\x00\x0b\x00\x0c\x00\x30\x00\x00\x00\x01\x00\x02\x00\x03\x00\x35\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x25\x00\x0f\x00\x00\x00\x0a\x00\x25\x00\x00\x00\x01\x00\x02\x00\x03\x00\x00\x00\x01\x00\x02\x00\x03\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x25\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x03\x00\x00\x00\x01\x00\x02\x00\x03\x00\x23\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x1d\x00\x1e\x00\x0f\x00\x20\x00\x25\x00\x00\x00\x0f\x00\x00\x00\x25\x00\x00\x00\x32\x00\x33\x00\x00\x00\x01\x00\x02\x00\x03\x00\x1d\x00\x00\x00\x00\x00\x20\x00\x1d\x00\x00\x00\x0f\x00\x20\x00\x25\x00\x00\x00\x01\x00\x02\x00\x25\x00\x00\x00\x00\x00\x01\x00\x02\x00\x15\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x0e\x00\x00\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x19\x00\x00\x00\x01\x00\x02\x00\x0f\x00\x19\x00\x00\x00\x01\x00\x02\x00\x09\x00\x32\x00\x04\x00\x01\x00\x15\x00\x02\x00\x00\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x19\x00\x00\x00\x01\x00\x02\x00\x0f\x00\x19\x00\x00\x00\x01\x00\x02\x00\x04\x00\x01\x00\x31\x00\x04\x00\x02\x00\x31\x00\x01\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x19\x00\x00\x00\x01\x00\x02\x00\x33\x00\x19\x00\x00\x00\x01\x00\x02\x00\x04\x00\x15\x00\x01\x00\x15\x00\x31\x00\x14\x00\x04\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x19\x00\x00\x00\x01\x00\x02\x00\x17\x00\x19\x00\x00\x00\x01\x00\x02\x00\x06\x00\x01\x00\x22\x00\x0d\x00\x31\x00\x04\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x19\x00\x00\x00\x01\x00\x02\x00\x01\x00\x19\x00\x1e\x00\x33\x00\x20\x00\x0d\x00\x06\x00\x1a\x00\x31\x00\x03\x00\x31\x00\x15\x00\x0f\x00\x14\x00\x0b\x00\x12\x00\x13\x00\x2d\x00\x01\x00\x2f\x00\x04\x00\x03\x00\x19\x00\x31\x00\x0d\x00\x06\x00\x10\x00\x31\x00\x33\x00\x04\x00\x01\x00\x05\x00\x13\x00\x0a\x00\x02\x00\x31\x00\x31\x00\x03\x00\x25\x00\x01\x00\x09\x00\x05\x00\x02\x00\x01\x00\x31\x00\x02\x00\x02\x00\x33\x00\x02\x00\x19\x00\x0b\x00\x06\x00\x01\x00\x33\x00\x31\x00\x29\x00\x31\x00\x05\x00\x31\x00\x25\x00\x07\x00\x29\x00\x08\x00\x02\x00\x05\x00\x05\x00\x02\x00\x28\x00\x28\x00\x02\x00\x05\x00\x02\x00\x01\x00\x28\x00\x1a\x00\x36\x00\x01\x00\xff\xff\x02\x00\x31\x00\x21\x00\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x31\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"# happyTable :: HappyAddr -happyTable = HappyA# "\x00\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x7e\x00\x79\x00\x43\x00\x30\x00\x79\x00\x79\x00\xfc\x00\xd0\x00\xd1\x00\xd2\x00\x7d\xff\x4f\x00\xe9\x00\xe7\x00\x18\x01\xfa\x00\x98\x00\xea\x00\x50\x00\xa5\x00\x51\x00\xbd\x00\x8b\x00\x52\x00\xa6\x00\x53\x00\x54\x00\xd3\x00\xa7\x00\x73\xff\xd9\x00\xa8\x00\x04\x00\xa9\x00\xbd\x00\x11\x01\xe0\x00\x55\x00\x7d\xff\x1c\x01\x1c\x01\x56\x00\x1d\x01\x1d\x01\x12\x01\x2a\x01\x13\x01\x31\x00\x31\x00\x6e\x00\x41\x00\x1a\x00\x24\x00\x57\x00\x28\x01\x2b\x01\x1e\x01\x04\x00\x57\x00\x58\x00\xda\x00\x23\x01\xaa\x00\xa5\x00\xab\x00\x04\x00\x57\x00\x58\x00\xa6\x00\x17\x01\xfa\x00\x04\x00\xa7\x00\xa5\x00\xf5\x00\xa8\x00\x09\x01\xa9\x00\xa6\x00\xa5\x00\xc6\x00\x04\x00\xa7\x00\x58\x00\xa6\x00\xa8\x00\x11\x01\xa9\x00\xa7\x00\xa5\x00\x21\x01\xa8\x00\xfa\x00\xa9\x00\xa6\x00\x12\x01\x11\x01\x13\x01\xa7\x00\x5e\x00\x45\x00\xa8\x00\x14\x01\xa9\x00\x79\x00\x12\x01\x79\x00\x13\x01\x5f\x00\x04\x00\x57\x00\x58\x00\x05\x01\x16\x00\x1b\x01\xc7\x00\x45\x00\x17\x00\x57\x00\x04\x00\x57\x00\x58\x00\xfa\x00\x60\x00\x61\x00\x04\x00\x57\x00\x58\x00\x0a\x00\x7d\xff\xdb\x00\x7a\x00\x04\x00\x7a\x00\x58\x00\x04\x00\x57\x00\x58\x00\xf5\x00\x7b\x00\xd5\x00\x7b\x00\x04\x00\x03\x01\x58\x00\x04\x00\xd6\x00\x00\x01\xd7\x00\x58\x00\xbe\x00\xb8\x00\x7c\x00\xb8\x00\x0b\x00\x0c\x00\x0d\x00\x7d\xff\x0e\x00\x0f\x00\x10\x00\x59\x00\x11\x00\x12\x00\x58\x00\x79\x00\x13\x00\x14\x00\x04\x00\x15\x00\x0c\x00\x16\x00\x79\x00\x04\x00\x0f\x00\xde\x00\x59\x00\x11\x00\x12\x00\x01\x01\xdf\x00\x13\x00\x14\x00\x04\x00\x57\x00\x58\x00\x04\x01\xb9\x00\x04\x00\xb9\x00\x9a\x00\xe5\x00\xbc\x00\xd6\x00\x08\x01\xd7\x00\xf1\x00\xc7\x00\xba\x00\x0d\x01\xc8\x00\x0e\x01\xe7\x00\x92\x00\xc7\x00\x5a\x00\x93\x00\xc8\x00\x8a\x00\xfc\x00\x45\x00\x52\x00\xbd\x00\x53\x00\x54\x00\x0d\x01\xc9\x00\x0e\x01\x0d\x01\x67\x00\x0e\x01\x1b\x00\x1c\x00\x3c\x00\xf0\x00\x55\x00\x3d\x00\x45\x00\x45\x00\x56\x00\x04\x00\x57\x00\x58\x00\xea\x00\xc2\x00\x67\x00\x0f\x01\x9b\x00\x9c\x00\x9d\x00\xb5\x00\x5b\x00\x5b\x00\xb7\x00\x69\x00\x04\x00\x57\x00\x58\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x2a\x01\xbd\x00\xbf\x00\x0f\x01\x68\x00\x9b\x00\x9c\x00\x9d\x00\x69\x00\x45\x00\x9e\x00\xcd\x00\xce\x00\x9f\x00\xa0\x00\x18\x01\xa2\x00\x45\x00\xd8\x00\x9e\x00\x8e\x00\xa3\x00\x90\x00\xc3\x00\x9f\x00\xa0\x00\x1a\x01\xa2\x00\x9b\x00\x9c\x00\x9d\x00\x5b\x00\xa3\x00\x9f\x00\xa0\x00\xf2\x00\xa2\x00\x9b\x00\x9c\x00\x9d\x00\x45\x00\xa3\x00\x9e\x00\xc1\x00\x91\x00\xab\x00\x9b\x00\x9c\x00\x9d\x00\x45\x00\x77\x00\x9e\x00\x80\x00\x81\x00\x83\x00\x82\x00\x9f\x00\xa0\x00\xfd\x00\xa2\x00\x9e\x00\x86\x00\x8c\x00\x62\x00\xa3\x00\x9f\x00\xa0\x00\xed\x00\xa2\x00\x9b\x00\x9c\x00\x9d\x00\xf6\x00\xa3\x00\x9f\x00\xa0\x00\xc4\x00\xa2\x00\x9b\x00\x9c\x00\x9d\x00\x8b\x00\xa3\x00\x9e\x00\x42\x00\x87\x00\x19\x01\x9b\x00\x9c\x00\x9d\x00\x44\x00\xf8\x00\x9e\x00\xcd\x00\xce\x00\x63\x00\x65\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\x9e\x00\x6b\x00\x45\x00\x66\x00\xa3\x00\x9f\x00\xa0\x00\xb0\x00\xa2\x00\x9b\x00\x9c\x00\x9d\x00\x45\x00\xa3\x00\x9f\x00\xec\x00\x5b\x00\xa2\x00\x9b\x00\x9c\x00\x9d\x00\x45\x00\xa3\x00\x9e\x00\x6d\x00\x45\x00\x5b\x00\x3d\x00\x99\x00\x1e\x00\x1f\x00\x20\x00\x9e\x00\x2d\x00\xf6\x00\x5b\x00\x21\x00\xf3\x00\x78\x00\x5b\x00\xa2\x00\x45\x00\x46\x00\x47\x00\x22\x00\xa3\x00\xe1\x00\x5c\x00\xf7\x00\xa2\x00\x23\x00\x61\x00\x25\x00\xf8\x00\xa3\x00\x48\x00\x49\x00\x08\x01\x4b\x00\x4c\x00\x45\x00\x46\x00\x47\x00\x26\x00\x0b\x00\x4d\x00\x0d\x00\x0a\x01\x27\x00\x28\x00\x29\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xdc\x00\x4b\x00\x4c\x00\x15\x00\x26\x01\x1e\x00\x0b\x01\x22\x01\x4d\x00\x48\x00\x49\x00\xce\x00\x4b\x00\x4c\x00\x45\x00\x46\x00\x47\x00\x57\x00\x25\x01\x4d\x00\x0a\x01\x27\x01\xbd\x00\x28\x01\x04\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xcf\x00\x4b\x00\x4c\x00\x82\xff\x20\x01\x0b\x01\x0c\x01\x22\x01\x4d\x00\x48\x00\x49\x00\x85\x00\x4b\x00\x4c\x00\x45\x00\x46\x00\x47\x00\x3c\x00\x04\x00\x4d\x00\x07\x01\x15\x01\xbd\x00\x58\x00\x16\x01\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xb2\x00\x4b\x00\x4c\x00\xbd\x00\x04\x00\x82\xff\xcb\x00\x05\x01\x4d\x00\x48\x00\x49\x00\xb3\x00\x4b\x00\x4c\x00\x84\x00\x46\x00\x47\x00\xff\x00\x00\x01\x4d\x00\xde\x00\x04\x00\x0e\x00\xe3\x00\x58\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x85\x00\x4b\x00\x4c\x00\x45\x00\x46\x00\x47\x00\xe4\x00\xe5\x00\x4d\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x45\x00\x46\x00\x47\x00\x48\x00\xec\x00\x4d\x00\x88\x00\x4c\x00\xef\x00\xf0\x00\x04\x00\xc1\x00\xd8\x00\x4d\x00\x48\x00\x49\x00\x64\x00\x4b\x00\x4c\x00\x04\x00\x04\x00\xcc\x00\xbd\x00\x05\x00\x4d\x00\x06\x00\xcb\x00\x90\x00\x04\x00\x07\x00\x08\x00\x95\x00\x96\x00\x97\x00\x99\x00\x04\x00\x58\x00\xad\x00\xaf\x00\xae\x00\xb0\x00\xb2\x00\xb5\x00\x04\x00\xb7\x00\x04\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x04\x00\x76\x00\x77\x00\x58\x00\x7f\x00\x80\x00\x8b\x00\x8c\x00\x58\x00\x8e\x00\x04\x00\x6d\x00\x3d\x00\x04\x00\x6d\x00\x30\x00\x6b\x00\x34\x00\x33\x00\x35\x00\x04\x00\x36\x00\x39\x00\x37\x00\x38\x00\x3b\x00\x3a\x00\x3f\x00\x2b\x00\x40\x00\x41\x00\x2c\x00\x00\x00\x04\x00\x2d\x00\x04\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\xff\xff\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"# +happyTable = HappyA# "\x00\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\xc8\x00\x7e\x00\x79\x00\x43\x00\x30\x00\x45\x00\x79\x00\x79\x00\x79\x00\x45\x00\xba\x00\x27\x01\x92\x00\xea\x00\xa6\x00\x93\x00\x2c\x01\xfd\x00\x15\x01\xa7\x00\x5b\x00\xbf\x00\xff\x00\xa8\x00\x1f\x01\xa6\x00\xa9\x00\x16\x01\xaa\x00\x17\x01\xa7\x00\x1b\x01\xbf\x00\x04\x00\xa8\x00\xc9\x00\x7a\x00\xa9\x00\x20\x01\xaa\x00\x6f\xff\x21\x01\x20\x01\xe3\x00\x7b\x00\x21\x01\xba\x00\xbb\x00\x31\x00\x31\x00\x6e\x00\x41\x00\x1a\x00\x24\x00\x2f\x01\xc0\x00\xf4\x00\xab\x00\x22\x01\xac\x00\x04\x00\x57\x00\x58\x00\xad\x00\x04\x00\xfd\x00\x58\x00\xad\x00\x15\x01\x57\x00\x79\xff\x04\x00\x57\x00\x58\x00\xad\x00\xa6\x00\xf8\x00\x16\x01\x2e\x01\x17\x01\xa7\x00\xa6\x00\x04\x00\xbb\x00\xa8\x00\xdc\x00\xa7\x00\xa9\x00\xf9\x00\xaa\x00\xa8\x00\xa6\x00\xbc\x00\xa9\x00\xfd\x00\xaa\x00\xa7\x00\x15\x01\x79\xff\x58\x00\xa8\x00\x08\x01\x1d\x01\xa9\x00\x25\x01\xaa\x00\x16\x01\xfb\x00\x17\x01\x1b\x00\x1c\x00\x0c\x01\x59\x00\x18\x01\x04\x00\xdd\x00\x58\x00\xad\x00\xcf\x00\xd0\x00\x79\x00\x04\x00\x57\x00\x58\x00\xad\x00\xd8\x00\x79\xff\x04\x00\x57\x00\x58\x00\xad\x00\xd9\x00\x57\x00\xda\x00\xf8\x00\x4f\x00\x67\x00\x04\x00\x57\x00\x58\x00\xad\x00\x9a\x00\x50\x00\x04\x00\x51\x00\x58\x00\xad\x00\x52\x00\x7a\x00\x53\x00\x54\x00\x5e\x00\x67\x00\x16\x00\x79\xff\xfd\x00\x7b\x00\x17\x00\xb7\x00\x58\x00\x5f\x00\x55\x00\x69\x00\x03\x01\x0a\x00\x56\x00\x1c\x01\x7c\x00\x04\x00\x57\x00\x58\x00\xad\x00\x59\x00\x0d\x01\x68\x00\x60\x00\x61\x00\x06\x01\x69\x00\xec\x00\xbe\x00\x04\x00\x57\x00\x58\x00\xed\x00\x79\x00\xbf\x00\xe8\x00\x0e\x01\x26\x01\x0b\x00\x0c\x00\x0d\x00\x79\x00\x0e\x00\x0f\x00\x10\x00\x04\x00\x11\x00\x12\x00\xbf\x00\x5a\x00\x13\x00\x14\x00\x0c\x00\x15\x00\xe1\x00\x16\x00\x0f\x00\x04\x00\xea\x00\x11\x00\x12\x00\x98\x00\x3c\x00\x13\x00\x14\x00\x3d\x00\xc9\x00\x8b\x00\x07\x01\xca\x00\x04\x00\xd9\x00\x0b\x01\xda\x00\xc9\x00\xe2\x00\x8a\x00\xca\x00\xff\x00\x52\x00\x45\x00\x53\x00\x54\x00\xed\x00\xb9\x00\x10\x01\xcb\x00\x11\x01\x12\x01\x10\x01\x45\x00\x11\x01\x12\x01\x55\x00\xc4\x00\x5b\x00\x10\x01\x56\x00\x11\x01\x12\x01\x04\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x5b\x00\x8b\x00\xc1\x00\x04\x00\x57\x00\x58\x00\xad\x00\x04\x01\x04\x00\x57\x00\x58\x00\x9f\x00\xc3\x00\xcf\x00\xd0\x00\x45\x00\x45\x00\x45\x00\x13\x01\xdb\x00\x8e\x00\x90\x00\x2e\x01\x91\x00\xad\x00\xa0\x00\xa1\x00\x1c\x01\xa3\x00\x13\x01\x5b\x00\x5b\x00\x5b\x00\xa4\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x99\x00\x78\x00\x5c\x00\x77\x00\x45\x00\x45\x00\x80\x00\x9f\x00\x81\x00\x82\x00\x86\x00\x9f\x00\x87\x00\x8c\x00\x42\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x5b\x00\xde\x00\xa0\x00\xa1\x00\x1e\x01\xa3\x00\xa0\x00\xa1\x00\xf5\x00\xa3\x00\xa4\x00\x9f\x00\x61\x00\x44\x00\xa4\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\xf9\x00\x04\x00\xa0\x00\xa1\x00\x00\x01\xa3\x00\x05\x00\x9f\x00\x06\x00\x63\x00\xa4\x00\x9f\x00\x07\x00\x08\x00\xfa\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\xfb\x00\x65\x00\xa0\x00\xa1\x00\xf0\x00\xa3\x00\xa0\x00\xa1\x00\xc6\x00\xa3\x00\xa4\x00\x9f\x00\x66\x00\x6b\x00\xa4\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x6d\x00\x3d\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\x1e\x00\x9f\x00\x1f\x00\x20\x00\xa4\x00\x9f\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x0d\x01\xa0\x00\xa1\x00\xb2\x00\xa3\x00\xa0\x00\xef\x00\x9f\x00\xa3\x00\xa4\x00\x21\x00\x9f\x00\x45\x00\xa4\x00\x22\x00\x0e\x01\x0f\x01\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xf6\x00\x23\x00\x25\x00\xa3\x00\xe4\x00\x45\x00\xf3\x00\xa3\x00\xa4\x00\x45\x00\x46\x00\x47\x00\xa4\x00\x26\x00\x45\x00\x46\x00\x47\x00\xd6\x00\x27\x00\x28\x00\xc5\x00\x29\x00\x2d\x00\x45\x00\x48\x00\x49\x00\x0b\x01\x4b\x00\x4c\x00\x48\x00\x49\x00\xdf\x00\x4b\x00\x4c\x00\x4d\x00\x45\x00\x46\x00\x47\x00\x83\x00\x4d\x00\x45\x00\x46\x00\x47\x00\x29\x01\x57\x00\x2a\x01\x2b\x01\xbf\x00\x2c\x01\x45\x00\x48\x00\x49\x00\xd0\x00\x4b\x00\x4c\x00\x48\x00\x49\x00\xd1\x00\x4b\x00\x4c\x00\x4d\x00\x45\x00\x46\x00\x47\x00\x62\x00\x4d\x00\x45\x00\x46\x00\x47\x00\x7e\xff\x26\x01\x04\x00\x24\x01\x3c\x00\x04\x00\x0a\x01\x48\x00\x49\x00\x85\x00\x4b\x00\x4c\x00\x48\x00\x49\x00\xb4\x00\x4b\x00\x4c\x00\x4d\x00\x45\x00\x46\x00\x47\x00\x58\x00\x4d\x00\x84\x00\x46\x00\x47\x00\x19\x01\xbf\x00\x1a\x01\xbf\x00\x04\x00\xcd\x00\x7e\xff\x48\x00\x49\x00\xb5\x00\x4b\x00\x4c\x00\x48\x00\x49\x00\x85\x00\x4b\x00\x4c\x00\x4d\x00\x45\x00\x46\x00\x47\x00\x02\x01\x4d\x00\x45\x00\x46\x00\x47\x00\x03\x01\x08\x01\x0e\x00\xe1\x00\x04\x00\xe6\x00\xe7\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x48\x00\x49\x00\x64\x00\x4b\x00\x4c\x00\x4d\x00\x45\x00\x46\x00\x47\x00\xe8\x00\x4d\x00\x0b\x00\x58\x00\x0d\x00\xef\x00\xf2\x00\xf3\x00\x04\x00\xc3\x00\x04\x00\xbf\x00\x48\x00\xcd\x00\xce\x00\x88\x00\x4c\x00\x15\x00\xdb\x00\x1e\x00\x95\x00\x90\x00\x4d\x00\x04\x00\x97\x00\x96\x00\x99\x00\x04\x00\x58\x00\xaf\x00\xb1\x00\xb0\x00\xb2\x00\xb4\x00\xb7\x00\x04\x00\x04\x00\x70\x00\xb9\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x04\x00\x76\x00\x77\x00\x58\x00\x7f\x00\x80\x00\x8b\x00\x8c\x00\x8e\x00\x58\x00\x04\x00\x6d\x00\x04\x00\x3d\x00\x04\x00\x30\x00\x6b\x00\x6d\x00\x33\x00\x35\x00\x36\x00\x38\x00\x39\x00\x34\x00\x37\x00\x3b\x00\x3a\x00\x3f\x00\x2b\x00\x40\x00\x41\x00\xff\xff\x2c\x00\x00\x00\x2d\x00\x04\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"# -happyReduceArr = array (2, 142) [ +happyReduceArr = array (2, 146) [ (2 , happyReduce_2), (3 , happyReduce_3), (4 , happyReduce_4), @@ -501,17 +507,21 @@ happyReduceArr = array (2, 142) [ (139 , happyReduce_139), (140 , happyReduce_140), (141 , happyReduce_141), - (142 , happyReduce_142) + (142 , happyReduce_142), + (143 , happyReduce_143), + (144 , happyReduce_144), + (145 , happyReduce_145), + (146 , happyReduce_146) ] -happy_n_terms = 54 :: Int -happy_n_nonterms = 54 :: Int +happy_n_terms = 55 :: Int +happy_n_nonterms = 55 :: Int happyReduce_2 = happySpecReduce_1 0# happyReduction_2 happyReduction_2 happy_x_1 = case happyOutTok happy_x_1 of { (PT _ (TV happy_var_1)) -> happyIn5 - (identC happy_var_1 + (identC happy_var_1 --H )} happyReduce_3 = happySpecReduce_1 1# happyReduction_3 @@ -528,79 +538,86 @@ happyReduction_4 happy_x_1 ((read happy_var_1) :: Integer )} -happyReduce_5 = happyReduce 6# 3# happyReduction_5 -happyReduction_5 (happy_x_6 `HappyStk` +happyReduce_5 = happySpecReduce_1 3# happyReduction_5 +happyReduction_5 happy_x_1 + = case happyOutTok happy_x_1 of { (PT _ (TD happy_var_1)) -> + happyIn8 + ((read happy_var_1) :: Double + )} + +happyReduce_6 = happyReduce 6# 4# happyReduction_6 +happyReduction_6 (happy_x_6 `HappyStk` happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) - = case happyOut58 happy_x_2 of { happy_var_2 -> + = case happyOut59 happy_x_2 of { happy_var_2 -> case happyOut5 happy_x_4 of { happy_var_4 -> - case happyOut12 happy_x_6 of { happy_var_6 -> - happyIn8 + case happyOut13 happy_x_6 of { happy_var_6 -> + happyIn9 (MGr happy_var_2 happy_var_4 (reverse happy_var_6) ) `HappyStk` happyRest}}} -happyReduce_6 = happySpecReduce_1 3# happyReduction_6 -happyReduction_6 happy_x_1 - = case happyOut12 happy_x_1 of { happy_var_1 -> - happyIn8 +happyReduce_7 = happySpecReduce_1 4# happyReduction_7 +happyReduction_7 happy_x_1 + = case happyOut13 happy_x_1 of { happy_var_1 -> + happyIn9 (Gr (reverse happy_var_1) )} -happyReduce_7 = happyReduce 5# 4# happyReduction_7 -happyReduction_7 (happy_x_5 `HappyStk` +happyReduce_8 = happyReduce 5# 5# happyReduction_8 +happyReduction_8 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) - = case happyOut58 happy_x_2 of { happy_var_2 -> + = case happyOut59 happy_x_2 of { happy_var_2 -> case happyOut5 happy_x_4 of { happy_var_4 -> - happyIn9 + happyIn10 (LMulti happy_var_2 happy_var_4 ) `HappyStk` happyRest}} -happyReduce_8 = happyReduce 5# 4# happyReduction_8 -happyReduction_8 (happy_x_5 `HappyStk` +happyReduce_9 = happyReduce 5# 5# happyReduction_9 +happyReduction_9 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) - = case happyOut11 happy_x_1 of { happy_var_1 -> - case happyOut13 happy_x_3 of { happy_var_3 -> - case happyOut14 happy_x_4 of { happy_var_4 -> - happyIn9 + = case happyOut12 happy_x_1 of { happy_var_1 -> + case happyOut14 happy_x_3 of { happy_var_3 -> + case happyOut15 happy_x_4 of { happy_var_4 -> + happyIn10 (LHeader happy_var_1 happy_var_3 happy_var_4 ) `HappyStk` happyRest}}} -happyReduce_9 = happySpecReduce_2 4# happyReduction_9 -happyReduction_9 happy_x_2 +happyReduce_10 = happySpecReduce_2 5# happyReduction_10 +happyReduction_10 happy_x_2 happy_x_1 - = case happyOut15 happy_x_1 of { happy_var_1 -> - happyIn9 + = case happyOut16 happy_x_1 of { happy_var_1 -> + happyIn10 (LFlag happy_var_1 )} -happyReduce_10 = happySpecReduce_2 4# happyReduction_10 -happyReduction_10 happy_x_2 +happyReduce_11 = happySpecReduce_2 5# happyReduction_11 +happyReduction_11 happy_x_2 happy_x_1 - = case happyOut16 happy_x_1 of { happy_var_1 -> - happyIn9 + = case happyOut17 happy_x_1 of { happy_var_1 -> + happyIn10 (LDef happy_var_1 )} -happyReduce_11 = happySpecReduce_1 4# happyReduction_11 -happyReduction_11 happy_x_1 - = happyIn9 +happyReduce_12 = happySpecReduce_1 5# happyReduction_12 +happyReduction_12 happy_x_1 + = happyIn10 (LEnd ) -happyReduce_12 = happyReduce 8# 5# happyReduction_12 -happyReduction_12 (happy_x_8 `HappyStk` +happyReduce_13 = happyReduce 8# 6# happyReduction_13 +happyReduction_13 (happy_x_8 `HappyStk` happy_x_7 `HappyStk` happy_x_6 `HappyStk` happy_x_5 `HappyStk` @@ -609,45 +626,45 @@ happyReduction_12 (happy_x_8 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) - = case happyOut11 happy_x_1 of { happy_var_1 -> - case happyOut13 happy_x_3 of { happy_var_3 -> - case happyOut14 happy_x_4 of { happy_var_4 -> - case happyOut44 happy_x_6 of { happy_var_6 -> - case happyOut45 happy_x_7 of { happy_var_7 -> - happyIn10 + = case happyOut12 happy_x_1 of { happy_var_1 -> + case happyOut14 happy_x_3 of { happy_var_3 -> + case happyOut15 happy_x_4 of { happy_var_4 -> + case happyOut45 happy_x_6 of { happy_var_6 -> + case happyOut46 happy_x_7 of { happy_var_7 -> + happyIn11 (Mod happy_var_1 happy_var_3 happy_var_4 (reverse happy_var_6) (reverse happy_var_7) ) `HappyStk` happyRest}}}}} -happyReduce_13 = happySpecReduce_2 6# happyReduction_13 -happyReduction_13 happy_x_2 +happyReduce_14 = happySpecReduce_2 7# happyReduction_14 +happyReduction_14 happy_x_2 happy_x_1 = case happyOut5 happy_x_2 of { happy_var_2 -> - happyIn11 + happyIn12 (MTAbs happy_var_2 )} -happyReduce_14 = happyReduce 4# 6# happyReduction_14 -happyReduction_14 (happy_x_4 `HappyStk` +happyReduce_15 = happyReduce 4# 7# happyReduction_15 +happyReduction_15 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut5 happy_x_2 of { happy_var_2 -> case happyOut5 happy_x_4 of { happy_var_4 -> - happyIn11 + happyIn12 (MTCnc happy_var_2 happy_var_4 ) `HappyStk` happyRest}} -happyReduce_15 = happySpecReduce_2 6# happyReduction_15 -happyReduction_15 happy_x_2 +happyReduce_16 = happySpecReduce_2 7# happyReduction_16 +happyReduction_16 happy_x_2 happy_x_1 = case happyOut5 happy_x_2 of { happy_var_2 -> - happyIn11 + happyIn12 (MTRes happy_var_2 )} -happyReduce_16 = happyReduce 6# 6# happyReduction_16 -happyReduction_16 (happy_x_6 `HappyStk` +happyReduce_17 = happyReduce 6# 7# happyReduction_17 +happyReduction_17 (happy_x_6 `HappyStk` happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` @@ -657,65 +674,65 @@ happyReduction_16 (happy_x_6 `HappyStk` = case happyOut5 happy_x_2 of { happy_var_2 -> case happyOut5 happy_x_4 of { happy_var_4 -> case happyOut5 happy_x_6 of { happy_var_6 -> - happyIn11 + happyIn12 (MTTrans happy_var_2 happy_var_4 happy_var_6 ) `HappyStk` happyRest}}} -happyReduce_17 = happySpecReduce_0 7# happyReduction_17 -happyReduction_17 = happyIn12 +happyReduce_18 = happySpecReduce_0 8# happyReduction_18 +happyReduction_18 = happyIn13 ([] ) -happyReduce_18 = happySpecReduce_2 7# happyReduction_18 -happyReduction_18 happy_x_2 +happyReduce_19 = happySpecReduce_2 8# happyReduction_19 +happyReduction_19 happy_x_2 happy_x_1 - = case happyOut12 happy_x_1 of { happy_var_1 -> - case happyOut10 happy_x_2 of { happy_var_2 -> - happyIn12 + = case happyOut13 happy_x_1 of { happy_var_1 -> + case happyOut11 happy_x_2 of { happy_var_2 -> + happyIn13 (flip (:) happy_var_1 happy_var_2 )}} -happyReduce_19 = happySpecReduce_2 8# happyReduction_19 -happyReduction_19 happy_x_2 +happyReduce_20 = happySpecReduce_2 9# happyReduction_20 +happyReduction_20 happy_x_2 happy_x_1 - = case happyOut58 happy_x_1 of { happy_var_1 -> - happyIn13 + = case happyOut59 happy_x_1 of { happy_var_1 -> + happyIn14 (Ext happy_var_1 )} -happyReduce_20 = happySpecReduce_0 8# happyReduction_20 -happyReduction_20 = happyIn13 +happyReduce_21 = happySpecReduce_0 9# happyReduction_21 +happyReduction_21 = happyIn14 (NoExt ) -happyReduce_21 = happySpecReduce_3 9# happyReduction_21 -happyReduction_21 happy_x_3 +happyReduce_22 = happySpecReduce_3 10# happyReduction_22 +happyReduction_22 happy_x_3 happy_x_2 happy_x_1 - = case happyOut58 happy_x_2 of { happy_var_2 -> - happyIn14 + = case happyOut59 happy_x_2 of { happy_var_2 -> + happyIn15 (Opens happy_var_2 )} -happyReduce_22 = happySpecReduce_0 9# happyReduction_22 -happyReduction_22 = happyIn14 +happyReduce_23 = happySpecReduce_0 10# happyReduction_23 +happyReduction_23 = happyIn15 (NoOpens ) -happyReduce_23 = happyReduce 4# 10# happyReduction_23 -happyReduction_23 (happy_x_4 `HappyStk` +happyReduce_24 = happyReduce 4# 11# happyReduction_24 +happyReduction_24 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut5 happy_x_2 of { happy_var_2 -> case happyOut5 happy_x_4 of { happy_var_4 -> - happyIn15 + happyIn16 (Flg happy_var_2 happy_var_4 ) `HappyStk` happyRest}} -happyReduce_24 = happyReduce 7# 11# happyReduction_24 -happyReduction_24 (happy_x_7 `HappyStk` +happyReduce_25 = happyReduce 7# 12# happyReduction_25 +happyReduction_25 (happy_x_7 `HappyStk` happy_x_6 `HappyStk` happy_x_5 `HappyStk` happy_x_4 `HappyStk` @@ -724,14 +741,14 @@ happyReduction_24 (happy_x_7 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut5 happy_x_2 of { happy_var_2 -> - case happyOut26 happy_x_4 of { happy_var_4 -> - case happyOut48 happy_x_7 of { happy_var_7 -> - happyIn16 + case happyOut27 happy_x_4 of { happy_var_4 -> + case happyOut49 happy_x_7 of { happy_var_7 -> + happyIn17 (AbsDCat happy_var_2 happy_var_4 (reverse happy_var_7) ) `HappyStk` happyRest}}} -happyReduce_25 = happyReduce 6# 11# happyReduction_25 -happyReduction_25 (happy_x_6 `HappyStk` +happyReduce_26 = happyReduce 6# 12# happyReduction_26 +happyReduction_26 (happy_x_6 `HappyStk` happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` @@ -739,38 +756,38 @@ happyReduction_25 (happy_x_6 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut5 happy_x_2 of { happy_var_2 -> - case happyOut21 happy_x_4 of { happy_var_4 -> - case happyOut21 happy_x_6 of { happy_var_6 -> - happyIn16 + case happyOut22 happy_x_4 of { happy_var_4 -> + case happyOut22 happy_x_6 of { happy_var_6 -> + happyIn17 (AbsDFun happy_var_2 happy_var_4 happy_var_6 ) `HappyStk` happyRest}}} -happyReduce_26 = happyReduce 4# 11# happyReduction_26 -happyReduction_26 (happy_x_4 `HappyStk` +happyReduce_27 = happyReduce 4# 12# happyReduction_27 +happyReduction_27 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut5 happy_x_2 of { happy_var_2 -> - case happyOut21 happy_x_4 of { happy_var_4 -> - happyIn16 + case happyOut22 happy_x_4 of { happy_var_4 -> + happyIn17 (AbsDTrans happy_var_2 happy_var_4 ) `HappyStk` happyRest}} -happyReduce_27 = happyReduce 4# 11# happyReduction_27 -happyReduction_27 (happy_x_4 `HappyStk` +happyReduce_28 = happyReduce 4# 12# happyReduction_28 +happyReduction_28 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut5 happy_x_2 of { happy_var_2 -> - case happyOut46 happy_x_4 of { happy_var_4 -> - happyIn16 + case happyOut47 happy_x_4 of { happy_var_4 -> + happyIn17 (ResDPar happy_var_2 happy_var_4 ) `HappyStk` happyRest}} -happyReduce_28 = happyReduce 6# 11# happyReduction_28 -happyReduction_28 (happy_x_6 `HappyStk` +happyReduce_29 = happyReduce 6# 12# happyReduction_29 +happyReduction_29 (happy_x_6 `HappyStk` happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` @@ -778,14 +795,14 @@ happyReduction_28 (happy_x_6 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut5 happy_x_2 of { happy_var_2 -> - case happyOut31 happy_x_4 of { happy_var_4 -> - case happyOut35 happy_x_6 of { happy_var_6 -> - happyIn16 + case happyOut32 happy_x_4 of { happy_var_4 -> + case happyOut36 happy_x_6 of { happy_var_6 -> + happyIn17 (ResDOper happy_var_2 happy_var_4 happy_var_6 ) `HappyStk` happyRest}}} -happyReduce_29 = happyReduce 8# 11# happyReduction_29 -happyReduction_29 (happy_x_8 `HappyStk` +happyReduce_30 = happyReduce 8# 12# happyReduction_30 +happyReduction_30 (happy_x_8 `HappyStk` happy_x_7 `HappyStk` happy_x_6 `HappyStk` happy_x_5 `HappyStk` @@ -795,15 +812,15 @@ happyReduction_29 (happy_x_8 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut5 happy_x_2 of { happy_var_2 -> - case happyOut31 happy_x_4 of { happy_var_4 -> - case happyOut35 happy_x_6 of { happy_var_6 -> - case happyOut35 happy_x_8 of { happy_var_8 -> - happyIn16 + case happyOut32 happy_x_4 of { happy_var_4 -> + case happyOut36 happy_x_6 of { happy_var_6 -> + case happyOut36 happy_x_8 of { happy_var_8 -> + happyIn17 (CncDCat happy_var_2 happy_var_4 happy_var_6 happy_var_8 ) `HappyStk` happyRest}}}} -happyReduce_30 = happyReduce 11# 11# happyReduction_30 -happyReduction_30 (happy_x_11 `HappyStk` +happyReduce_31 = happyReduce 11# 12# happyReduction_31 +happyReduction_31 (happy_x_11 `HappyStk` happy_x_10 `HappyStk` happy_x_9 `HappyStk` happy_x_8 `HappyStk` @@ -816,75 +833,75 @@ happyReduction_30 (happy_x_11 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut5 happy_x_2 of { happy_var_2 -> - case happyOut19 happy_x_4 of { happy_var_4 -> - case happyOut50 happy_x_7 of { happy_var_7 -> - case happyOut35 happy_x_9 of { happy_var_9 -> - case happyOut35 happy_x_11 of { happy_var_11 -> - happyIn16 + case happyOut20 happy_x_4 of { happy_var_4 -> + case happyOut51 happy_x_7 of { happy_var_7 -> + case happyOut36 happy_x_9 of { happy_var_9 -> + case happyOut36 happy_x_11 of { happy_var_11 -> + happyIn17 (CncDFun happy_var_2 happy_var_4 happy_var_7 happy_var_9 happy_var_11 ) `HappyStk` happyRest}}}}} -happyReduce_31 = happyReduce 4# 11# happyReduction_31 -happyReduction_31 (happy_x_4 `HappyStk` +happyReduce_32 = happyReduce 4# 12# happyReduction_32 +happyReduction_32 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut5 happy_x_1 of { happy_var_1 -> - case happyOut18 happy_x_2 of { happy_var_2 -> + case happyOut19 happy_x_2 of { happy_var_2 -> case happyOut5 happy_x_4 of { happy_var_4 -> - happyIn16 + happyIn17 (AnyDInd happy_var_1 happy_var_2 happy_var_4 ) `HappyStk` happyRest}}} -happyReduce_32 = happySpecReduce_2 12# happyReduction_32 -happyReduction_32 happy_x_2 +happyReduce_33 = happySpecReduce_2 13# happyReduction_33 +happyReduction_33 happy_x_2 happy_x_1 = case happyOut5 happy_x_1 of { happy_var_1 -> - case happyOut47 happy_x_2 of { happy_var_2 -> - happyIn17 + case happyOut48 happy_x_2 of { happy_var_2 -> + happyIn18 (ParD happy_var_1 (reverse happy_var_2) )}} -happyReduce_33 = happySpecReduce_1 13# happyReduction_33 -happyReduction_33 happy_x_1 - = happyIn18 +happyReduce_34 = happySpecReduce_1 14# happyReduction_34 +happyReduction_34 happy_x_1 + = happyIn19 (Canon ) -happyReduce_34 = happySpecReduce_0 13# happyReduction_34 -happyReduction_34 = happyIn18 +happyReduce_35 = happySpecReduce_0 14# happyReduction_35 +happyReduction_35 = happyIn19 (NonCan ) -happyReduce_35 = happySpecReduce_3 14# happyReduction_35 -happyReduction_35 happy_x_3 +happyReduce_36 = happySpecReduce_3 15# happyReduction_36 +happyReduction_36 happy_x_3 happy_x_2 happy_x_1 = case happyOut5 happy_x_1 of { happy_var_1 -> case happyOut5 happy_x_3 of { happy_var_3 -> - happyIn19 + happyIn20 (CIQ happy_var_1 happy_var_3 )}} -happyReduce_36 = happySpecReduce_2 15# happyReduction_36 -happyReduction_36 happy_x_2 +happyReduce_37 = happySpecReduce_2 16# happyReduction_37 +happyReduction_37 happy_x_2 happy_x_1 - = case happyOut20 happy_x_1 of { happy_var_1 -> - case happyOut22 happy_x_2 of { happy_var_2 -> - happyIn20 + = case happyOut21 happy_x_1 of { happy_var_1 -> + case happyOut23 happy_x_2 of { happy_var_2 -> + happyIn21 (EApp happy_var_1 happy_var_2 )}} -happyReduce_37 = happySpecReduce_1 15# happyReduction_37 -happyReduction_37 happy_x_1 - = case happyOut22 happy_x_1 of { happy_var_1 -> - happyIn20 +happyReduce_38 = happySpecReduce_1 16# happyReduction_38 +happyReduction_38 happy_x_1 + = case happyOut23 happy_x_1 of { happy_var_1 -> + happyIn21 (happy_var_1 )} -happyReduce_38 = happyReduce 7# 16# happyReduction_38 -happyReduction_38 (happy_x_7 `HappyStk` +happyReduce_39 = happyReduce 7# 17# happyReduction_39 +happyReduction_39 (happy_x_7 `HappyStk` happy_x_6 `HappyStk` happy_x_5 `HappyStk` happy_x_4 `HappyStk` @@ -893,447 +910,461 @@ happyReduction_38 (happy_x_7 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut5 happy_x_2 of { happy_var_2 -> - case happyOut21 happy_x_4 of { happy_var_4 -> - case happyOut21 happy_x_7 of { happy_var_7 -> - happyIn21 + case happyOut22 happy_x_4 of { happy_var_4 -> + case happyOut22 happy_x_7 of { happy_var_7 -> + happyIn22 (EProd happy_var_2 happy_var_4 happy_var_7 ) `HappyStk` happyRest}}} -happyReduce_39 = happyReduce 4# 16# happyReduction_39 -happyReduction_39 (happy_x_4 `HappyStk` +happyReduce_40 = happyReduce 4# 17# happyReduction_40 +happyReduction_40 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) = case happyOut5 happy_x_2 of { happy_var_2 -> - case happyOut21 happy_x_4 of { happy_var_4 -> - happyIn21 + case happyOut22 happy_x_4 of { happy_var_4 -> + happyIn22 (EAbs happy_var_2 happy_var_4 ) `HappyStk` happyRest}} -happyReduce_40 = happySpecReduce_3 16# happyReduction_40 -happyReduction_40 happy_x_3 +happyReduce_41 = happySpecReduce_3 17# happyReduction_41 +happyReduction_41 happy_x_3 happy_x_2 happy_x_1 - = case happyOut28 happy_x_2 of { happy_var_2 -> - happyIn21 + = case happyOut29 happy_x_2 of { happy_var_2 -> + happyIn22 (EEq (reverse happy_var_2) )} -happyReduce_41 = happySpecReduce_1 16# happyReduction_41 -happyReduction_41 happy_x_1 - = case happyOut20 happy_x_1 of { happy_var_1 -> - happyIn21 - (happy_var_1 - )} - happyReduce_42 = happySpecReduce_1 17# happyReduction_42 happyReduction_42 happy_x_1 - = case happyOut29 happy_x_1 of { happy_var_1 -> + = case happyOut21 happy_x_1 of { happy_var_1 -> happyIn22 - (EAtom happy_var_1 + (happy_var_1 )} -happyReduce_43 = happySpecReduce_1 17# happyReduction_43 +happyReduce_43 = happySpecReduce_1 18# happyReduction_43 happyReduction_43 happy_x_1 - = happyIn22 + = case happyOut30 happy_x_1 of { happy_var_1 -> + happyIn23 + (EAtom happy_var_1 + )} + +happyReduce_44 = happySpecReduce_1 18# happyReduction_44 +happyReduction_44 happy_x_1 + = happyIn23 (EData ) -happyReduce_44 = happySpecReduce_3 17# happyReduction_44 -happyReduction_44 happy_x_3 +happyReduce_45 = happySpecReduce_3 18# happyReduction_45 +happyReduction_45 happy_x_3 happy_x_2 happy_x_1 - = case happyOut21 happy_x_2 of { happy_var_2 -> - happyIn22 + = case happyOut22 happy_x_2 of { happy_var_2 -> + happyIn23 (happy_var_2 )} -happyReduce_45 = happySpecReduce_1 18# happyReduction_45 -happyReduction_45 happy_x_1 - = happyIn23 +happyReduce_46 = happySpecReduce_1 19# happyReduction_46 +happyReduction_46 happy_x_1 + = happyIn24 (SType ) -happyReduce_46 = happySpecReduce_3 19# happyReduction_46 -happyReduction_46 happy_x_3 +happyReduce_47 = happySpecReduce_3 20# happyReduction_47 +happyReduction_47 happy_x_3 happy_x_2 happy_x_1 - = case happyOut27 happy_x_1 of { happy_var_1 -> - case happyOut21 happy_x_3 of { happy_var_3 -> - happyIn24 + = case happyOut28 happy_x_1 of { happy_var_1 -> + case happyOut22 happy_x_3 of { happy_var_3 -> + happyIn25 (Equ (reverse happy_var_1) happy_var_3 )}} -happyReduce_47 = happyReduce 4# 20# happyReduction_47 -happyReduction_47 (happy_x_4 `HappyStk` +happyReduce_48 = happyReduce 4# 21# happyReduction_48 +happyReduction_48 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) - = case happyOut19 happy_x_2 of { happy_var_2 -> - case happyOut27 happy_x_3 of { happy_var_3 -> - happyIn25 + = case happyOut20 happy_x_2 of { happy_var_2 -> + case happyOut28 happy_x_3 of { happy_var_3 -> + happyIn26 (APC happy_var_2 (reverse happy_var_3) ) `HappyStk` happyRest}} -happyReduce_48 = happySpecReduce_1 20# happyReduction_48 -happyReduction_48 happy_x_1 +happyReduce_49 = happySpecReduce_1 21# happyReduction_49 +happyReduction_49 happy_x_1 = case happyOut5 happy_x_1 of { happy_var_1 -> - happyIn25 + happyIn26 (APV happy_var_1 )} -happyReduce_49 = happySpecReduce_1 20# happyReduction_49 -happyReduction_49 happy_x_1 +happyReduce_50 = happySpecReduce_1 21# happyReduction_50 +happyReduction_50 happy_x_1 = case happyOut6 happy_x_1 of { happy_var_1 -> - happyIn25 + happyIn26 (APS happy_var_1 )} -happyReduce_50 = happySpecReduce_1 20# happyReduction_50 -happyReduction_50 happy_x_1 +happyReduce_51 = happySpecReduce_1 21# happyReduction_51 +happyReduction_51 happy_x_1 = case happyOut7 happy_x_1 of { happy_var_1 -> - happyIn25 + happyIn26 (API happy_var_1 )} -happyReduce_51 = happySpecReduce_1 20# happyReduction_51 -happyReduction_51 happy_x_1 - = happyIn25 +happyReduce_52 = happySpecReduce_1 21# happyReduction_52 +happyReduction_52 happy_x_1 + = case happyOut8 happy_x_1 of { happy_var_1 -> + happyIn26 + (APF happy_var_1 + )} + +happyReduce_53 = happySpecReduce_1 21# happyReduction_53 +happyReduction_53 happy_x_1 + = happyIn26 (APW ) -happyReduce_52 = happySpecReduce_0 21# happyReduction_52 -happyReduction_52 = happyIn26 +happyReduce_54 = happySpecReduce_0 22# happyReduction_54 +happyReduction_54 = happyIn27 ([] ) -happyReduce_53 = happySpecReduce_1 21# happyReduction_53 -happyReduction_53 happy_x_1 - = case happyOut30 happy_x_1 of { happy_var_1 -> - happyIn26 +happyReduce_55 = happySpecReduce_1 22# happyReduction_55 +happyReduction_55 happy_x_1 + = case happyOut31 happy_x_1 of { happy_var_1 -> + happyIn27 ((:[]) happy_var_1 )} -happyReduce_54 = happySpecReduce_3 21# happyReduction_54 -happyReduction_54 happy_x_3 +happyReduce_56 = happySpecReduce_3 22# happyReduction_56 +happyReduction_56 happy_x_3 happy_x_2 happy_x_1 - = case happyOut30 happy_x_1 of { happy_var_1 -> - case happyOut26 happy_x_3 of { happy_var_3 -> - happyIn26 + = case happyOut31 happy_x_1 of { happy_var_1 -> + case happyOut27 happy_x_3 of { happy_var_3 -> + happyIn27 ((:) happy_var_1 happy_var_3 )}} -happyReduce_55 = happySpecReduce_0 22# happyReduction_55 -happyReduction_55 = happyIn27 +happyReduce_57 = happySpecReduce_0 23# happyReduction_57 +happyReduction_57 = happyIn28 ([] ) -happyReduce_56 = happySpecReduce_2 22# happyReduction_56 -happyReduction_56 happy_x_2 +happyReduce_58 = happySpecReduce_2 23# happyReduction_58 +happyReduction_58 happy_x_2 happy_x_1 - = case happyOut27 happy_x_1 of { happy_var_1 -> - case happyOut25 happy_x_2 of { happy_var_2 -> - happyIn27 + = case happyOut28 happy_x_1 of { happy_var_1 -> + case happyOut26 happy_x_2 of { happy_var_2 -> + happyIn28 (flip (:) happy_var_1 happy_var_2 )}} -happyReduce_57 = happySpecReduce_0 23# happyReduction_57 -happyReduction_57 = happyIn28 +happyReduce_59 = happySpecReduce_0 24# happyReduction_59 +happyReduction_59 = happyIn29 ([] ) -happyReduce_58 = happySpecReduce_3 23# happyReduction_58 -happyReduction_58 happy_x_3 +happyReduce_60 = happySpecReduce_3 24# happyReduction_60 +happyReduction_60 happy_x_3 happy_x_2 happy_x_1 - = case happyOut28 happy_x_1 of { happy_var_1 -> - case happyOut24 happy_x_2 of { happy_var_2 -> - happyIn28 + = case happyOut29 happy_x_1 of { happy_var_1 -> + case happyOut25 happy_x_2 of { happy_var_2 -> + happyIn29 (flip (:) happy_var_1 happy_var_2 )}} -happyReduce_59 = happySpecReduce_1 24# happyReduction_59 -happyReduction_59 happy_x_1 - = case happyOut19 happy_x_1 of { happy_var_1 -> - happyIn29 +happyReduce_61 = happySpecReduce_1 25# happyReduction_61 +happyReduction_61 happy_x_1 + = case happyOut20 happy_x_1 of { happy_var_1 -> + happyIn30 (AC happy_var_1 )} -happyReduce_60 = happySpecReduce_3 24# happyReduction_60 -happyReduction_60 happy_x_3 +happyReduce_62 = happySpecReduce_3 25# happyReduction_62 +happyReduction_62 happy_x_3 happy_x_2 happy_x_1 - = case happyOut19 happy_x_2 of { happy_var_2 -> - happyIn29 + = case happyOut20 happy_x_2 of { happy_var_2 -> + happyIn30 (AD happy_var_2 )} -happyReduce_61 = happySpecReduce_2 24# happyReduction_61 -happyReduction_61 happy_x_2 +happyReduce_63 = happySpecReduce_2 25# happyReduction_63 +happyReduction_63 happy_x_2 happy_x_1 = case happyOut5 happy_x_2 of { happy_var_2 -> - happyIn29 + happyIn30 (AV happy_var_2 )} -happyReduce_62 = happySpecReduce_2 24# happyReduction_62 -happyReduction_62 happy_x_2 +happyReduce_64 = happySpecReduce_2 25# happyReduction_64 +happyReduction_64 happy_x_2 happy_x_1 = case happyOut7 happy_x_2 of { happy_var_2 -> - happyIn29 + happyIn30 (AM happy_var_2 )} -happyReduce_63 = happySpecReduce_1 24# happyReduction_63 -happyReduction_63 happy_x_1 +happyReduce_65 = happySpecReduce_1 25# happyReduction_65 +happyReduction_65 happy_x_1 = case happyOut6 happy_x_1 of { happy_var_1 -> - happyIn29 + happyIn30 (AS happy_var_1 )} -happyReduce_64 = happySpecReduce_1 24# happyReduction_64 -happyReduction_64 happy_x_1 +happyReduce_66 = happySpecReduce_1 25# happyReduction_66 +happyReduction_66 happy_x_1 = case happyOut7 happy_x_1 of { happy_var_1 -> - happyIn29 + happyIn30 (AI happy_var_1 )} -happyReduce_65 = happySpecReduce_1 24# happyReduction_65 -happyReduction_65 happy_x_1 - = case happyOut23 happy_x_1 of { happy_var_1 -> - happyIn29 +happyReduce_67 = happySpecReduce_1 25# happyReduction_67 +happyReduction_67 happy_x_1 + = case happyOut24 happy_x_1 of { happy_var_1 -> + happyIn30 (AT happy_var_1 )} -happyReduce_66 = happySpecReduce_3 25# happyReduction_66 -happyReduction_66 happy_x_3 +happyReduce_68 = happySpecReduce_3 26# happyReduction_68 +happyReduction_68 happy_x_3 happy_x_2 happy_x_1 = case happyOut5 happy_x_1 of { happy_var_1 -> - case happyOut21 happy_x_3 of { happy_var_3 -> - happyIn30 + case happyOut22 happy_x_3 of { happy_var_3 -> + happyIn31 (Decl happy_var_1 happy_var_3 )}} -happyReduce_67 = happySpecReduce_3 26# happyReduction_67 -happyReduction_67 happy_x_3 +happyReduce_69 = happySpecReduce_3 27# happyReduction_69 +happyReduction_69 happy_x_3 happy_x_2 happy_x_1 - = case happyOut51 happy_x_2 of { happy_var_2 -> - happyIn31 + = case happyOut52 happy_x_2 of { happy_var_2 -> + happyIn32 (RecType happy_var_2 )} -happyReduce_68 = happyReduce 5# 26# happyReduction_68 -happyReduction_68 (happy_x_5 `HappyStk` +happyReduce_70 = happyReduce 5# 27# happyReduction_70 +happyReduction_70 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) - = case happyOut31 happy_x_2 of { happy_var_2 -> - case happyOut31 happy_x_4 of { happy_var_4 -> - happyIn31 + = case happyOut32 happy_x_2 of { happy_var_2 -> + case happyOut32 happy_x_4 of { happy_var_4 -> + happyIn32 (Table happy_var_2 happy_var_4 ) `HappyStk` happyRest}} -happyReduce_69 = happySpecReduce_1 26# happyReduction_69 -happyReduction_69 happy_x_1 - = case happyOut19 happy_x_1 of { happy_var_1 -> - happyIn31 +happyReduce_71 = happySpecReduce_1 27# happyReduction_71 +happyReduction_71 happy_x_1 + = case happyOut20 happy_x_1 of { happy_var_1 -> + happyIn32 (Cn happy_var_1 )} -happyReduce_70 = happySpecReduce_1 26# happyReduction_70 -happyReduction_70 happy_x_1 - = happyIn31 +happyReduce_72 = happySpecReduce_1 27# happyReduction_72 +happyReduction_72 happy_x_1 + = happyIn32 (TStr ) -happyReduce_71 = happySpecReduce_2 26# happyReduction_71 -happyReduction_71 happy_x_2 +happyReduce_73 = happySpecReduce_2 27# happyReduction_73 +happyReduction_73 happy_x_2 happy_x_1 = case happyOut7 happy_x_2 of { happy_var_2 -> - happyIn31 + happyIn32 (TInts happy_var_2 )} -happyReduce_72 = happySpecReduce_3 27# happyReduction_72 -happyReduction_72 happy_x_3 +happyReduce_74 = happySpecReduce_3 28# happyReduction_74 +happyReduction_74 happy_x_3 happy_x_2 happy_x_1 - = case happyOut40 happy_x_1 of { happy_var_1 -> - case happyOut31 happy_x_3 of { happy_var_3 -> - happyIn32 + = case happyOut41 happy_x_1 of { happy_var_1 -> + case happyOut32 happy_x_3 of { happy_var_3 -> + happyIn33 (Lbg happy_var_1 happy_var_3 )}} -happyReduce_73 = happySpecReduce_1 28# happyReduction_73 -happyReduction_73 happy_x_1 - = case happyOut41 happy_x_1 of { happy_var_1 -> - happyIn33 +happyReduce_75 = happySpecReduce_1 29# happyReduction_75 +happyReduction_75 happy_x_1 + = case happyOut42 happy_x_1 of { happy_var_1 -> + happyIn34 (Arg happy_var_1 )} -happyReduce_74 = happySpecReduce_1 28# happyReduction_74 -happyReduction_74 happy_x_1 - = case happyOut19 happy_x_1 of { happy_var_1 -> - happyIn33 +happyReduce_76 = happySpecReduce_1 29# happyReduction_76 +happyReduction_76 happy_x_1 + = case happyOut20 happy_x_1 of { happy_var_1 -> + happyIn34 (I happy_var_1 )} -happyReduce_75 = happyReduce 4# 28# happyReduction_75 -happyReduction_75 (happy_x_4 `HappyStk` +happyReduce_77 = happyReduce 4# 29# happyReduction_77 +happyReduction_77 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) - = case happyOut19 happy_x_2 of { happy_var_2 -> - case happyOut53 happy_x_3 of { happy_var_3 -> - happyIn33 + = case happyOut20 happy_x_2 of { happy_var_2 -> + case happyOut54 happy_x_3 of { happy_var_3 -> + happyIn34 (Par happy_var_2 (reverse happy_var_3) ) `HappyStk` happyRest}} -happyReduce_76 = happySpecReduce_2 28# happyReduction_76 -happyReduction_76 happy_x_2 +happyReduce_78 = happySpecReduce_2 29# happyReduction_78 +happyReduction_78 happy_x_2 happy_x_1 = case happyOut5 happy_x_2 of { happy_var_2 -> - happyIn33 + happyIn34 (LI happy_var_2 )} -happyReduce_77 = happySpecReduce_3 28# happyReduction_77 -happyReduction_77 happy_x_3 +happyReduce_79 = happySpecReduce_3 29# happyReduction_79 +happyReduction_79 happy_x_3 happy_x_2 happy_x_1 - = case happyOut49 happy_x_2 of { happy_var_2 -> - happyIn33 + = case happyOut50 happy_x_2 of { happy_var_2 -> + happyIn34 (R happy_var_2 )} -happyReduce_78 = happySpecReduce_1 28# happyReduction_78 -happyReduction_78 happy_x_1 +happyReduce_80 = happySpecReduce_1 29# happyReduction_80 +happyReduction_80 happy_x_1 = case happyOut7 happy_x_1 of { happy_var_1 -> - happyIn33 + happyIn34 (EInt happy_var_1 )} -happyReduce_79 = happySpecReduce_1 28# happyReduction_79 -happyReduction_79 happy_x_1 - = case happyOut36 happy_x_1 of { happy_var_1 -> - happyIn33 +happyReduce_81 = happySpecReduce_1 29# happyReduction_81 +happyReduction_81 happy_x_1 + = case happyOut8 happy_x_1 of { happy_var_1 -> + happyIn34 + (EFloat happy_var_1 + )} + +happyReduce_82 = happySpecReduce_1 29# happyReduction_82 +happyReduction_82 happy_x_1 + = case happyOut37 happy_x_1 of { happy_var_1 -> + happyIn34 (K happy_var_1 )} -happyReduce_80 = happySpecReduce_2 28# happyReduction_80 -happyReduction_80 happy_x_2 +happyReduce_83 = happySpecReduce_2 29# happyReduction_83 +happyReduction_83 happy_x_2 happy_x_1 - = happyIn33 + = happyIn34 (E ) -happyReduce_81 = happySpecReduce_3 28# happyReduction_81 -happyReduction_81 happy_x_3 +happyReduce_84 = happySpecReduce_3 29# happyReduction_84 +happyReduction_84 happy_x_3 happy_x_2 happy_x_1 - = case happyOut35 happy_x_2 of { happy_var_2 -> - happyIn33 + = case happyOut36 happy_x_2 of { happy_var_2 -> + happyIn34 (happy_var_2 )} -happyReduce_82 = happySpecReduce_3 29# happyReduction_82 -happyReduction_82 happy_x_3 +happyReduce_85 = happySpecReduce_3 30# happyReduction_85 +happyReduction_85 happy_x_3 happy_x_2 happy_x_1 - = case happyOut33 happy_x_1 of { happy_var_1 -> - case happyOut40 happy_x_3 of { happy_var_3 -> - happyIn34 + = case happyOut34 happy_x_1 of { happy_var_1 -> + case happyOut41 happy_x_3 of { happy_var_3 -> + happyIn35 (P happy_var_1 happy_var_3 )}} -happyReduce_83 = happyReduce 5# 29# happyReduction_83 -happyReduction_83 (happy_x_5 `HappyStk` +happyReduce_86 = happyReduce 5# 30# happyReduction_86 +happyReduction_86 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) - = case happyOut31 happy_x_2 of { happy_var_2 -> - case happyOut52 happy_x_4 of { happy_var_4 -> - happyIn34 + = case happyOut32 happy_x_2 of { happy_var_2 -> + case happyOut53 happy_x_4 of { happy_var_4 -> + happyIn35 (T happy_var_2 happy_var_4 ) `HappyStk` happyRest}} -happyReduce_84 = happyReduce 5# 29# happyReduction_84 -happyReduction_84 (happy_x_5 `HappyStk` +happyReduce_87 = happyReduce 5# 30# happyReduction_87 +happyReduction_87 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) - = case happyOut31 happy_x_2 of { happy_var_2 -> - case happyOut53 happy_x_4 of { happy_var_4 -> - happyIn34 + = case happyOut32 happy_x_2 of { happy_var_2 -> + case happyOut54 happy_x_4 of { happy_var_4 -> + happyIn35 (V happy_var_2 (reverse happy_var_4) ) `HappyStk` happyRest}} -happyReduce_85 = happySpecReduce_3 29# happyReduction_85 -happyReduction_85 happy_x_3 +happyReduce_88 = happySpecReduce_3 30# happyReduction_88 +happyReduction_88 happy_x_3 happy_x_2 happy_x_1 - = case happyOut34 happy_x_1 of { happy_var_1 -> - case happyOut33 happy_x_3 of { happy_var_3 -> - happyIn34 + = case happyOut35 happy_x_1 of { happy_var_1 -> + case happyOut34 happy_x_3 of { happy_var_3 -> + happyIn35 (S happy_var_1 happy_var_3 )}} -happyReduce_86 = happyReduce 4# 29# happyReduction_86 -happyReduction_86 (happy_x_4 `HappyStk` +happyReduce_89 = happyReduce 4# 30# happyReduction_89 +happyReduction_89 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) - = case happyOut53 happy_x_3 of { happy_var_3 -> - happyIn34 + = case happyOut54 happy_x_3 of { happy_var_3 -> + happyIn35 (FV (reverse happy_var_3) ) `HappyStk` happyRest} -happyReduce_87 = happySpecReduce_1 29# happyReduction_87 -happyReduction_87 happy_x_1 - = case happyOut33 happy_x_1 of { happy_var_1 -> - happyIn34 +happyReduce_90 = happySpecReduce_1 30# happyReduction_90 +happyReduction_90 happy_x_1 + = case happyOut34 happy_x_1 of { happy_var_1 -> + happyIn35 (happy_var_1 )} -happyReduce_88 = happySpecReduce_3 30# happyReduction_88 -happyReduction_88 happy_x_3 +happyReduce_91 = happySpecReduce_3 31# happyReduction_91 +happyReduction_91 happy_x_3 happy_x_2 happy_x_1 - = case happyOut35 happy_x_1 of { happy_var_1 -> - case happyOut34 happy_x_3 of { happy_var_3 -> - happyIn35 + = case happyOut36 happy_x_1 of { happy_var_1 -> + case happyOut35 happy_x_3 of { happy_var_3 -> + happyIn36 (C happy_var_1 happy_var_3 )}} -happyReduce_89 = happySpecReduce_1 30# happyReduction_89 -happyReduction_89 happy_x_1 - = case happyOut34 happy_x_1 of { happy_var_1 -> - happyIn35 +happyReduce_92 = happySpecReduce_1 31# happyReduction_92 +happyReduction_92 happy_x_1 + = case happyOut35 happy_x_1 of { happy_var_1 -> + happyIn36 (happy_var_1 )} -happyReduce_90 = happySpecReduce_1 31# happyReduction_90 -happyReduction_90 happy_x_1 +happyReduce_93 = happySpecReduce_1 32# happyReduction_93 +happyReduction_93 happy_x_1 = case happyOut6 happy_x_1 of { happy_var_1 -> - happyIn36 + happyIn37 (KS happy_var_1 )} -happyReduce_91 = happyReduce 7# 31# happyReduction_91 -happyReduction_91 (happy_x_7 `HappyStk` +happyReduce_94 = happyReduce 7# 32# happyReduction_94 +happyReduction_94 (happy_x_7 `HappyStk` happy_x_6 `HappyStk` happy_x_5 `HappyStk` happy_x_4 `HappyStk` @@ -1341,69 +1372,69 @@ happyReduction_91 (happy_x_7 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) - = case happyOut54 happy_x_3 of { happy_var_3 -> - case happyOut55 happy_x_5 of { happy_var_5 -> - happyIn36 + = case happyOut55 happy_x_3 of { happy_var_3 -> + case happyOut56 happy_x_5 of { happy_var_5 -> + happyIn37 (KP (reverse happy_var_3) happy_var_5 ) `HappyStk` happyRest}} -happyReduce_92 = happySpecReduce_3 32# happyReduction_92 -happyReduction_92 happy_x_3 +happyReduce_95 = happySpecReduce_3 33# happyReduction_95 +happyReduction_95 happy_x_3 happy_x_2 happy_x_1 - = case happyOut40 happy_x_1 of { happy_var_1 -> - case happyOut35 happy_x_3 of { happy_var_3 -> - happyIn37 + = case happyOut41 happy_x_1 of { happy_var_1 -> + case happyOut36 happy_x_3 of { happy_var_3 -> + happyIn38 (Ass happy_var_1 happy_var_3 )}} -happyReduce_93 = happySpecReduce_3 33# happyReduction_93 -happyReduction_93 happy_x_3 +happyReduce_96 = happySpecReduce_3 34# happyReduction_96 +happyReduction_96 happy_x_3 happy_x_2 happy_x_1 - = case happyOut57 happy_x_1 of { happy_var_1 -> - case happyOut35 happy_x_3 of { happy_var_3 -> - happyIn38 + = case happyOut58 happy_x_1 of { happy_var_1 -> + case happyOut36 happy_x_3 of { happy_var_3 -> + happyIn39 (Cas (reverse happy_var_1) happy_var_3 )}} -happyReduce_94 = happySpecReduce_3 34# happyReduction_94 -happyReduction_94 happy_x_3 +happyReduce_97 = happySpecReduce_3 35# happyReduction_97 +happyReduction_97 happy_x_3 happy_x_2 happy_x_1 - = case happyOut54 happy_x_1 of { happy_var_1 -> - case happyOut54 happy_x_3 of { happy_var_3 -> - happyIn39 + = case happyOut55 happy_x_1 of { happy_var_1 -> + case happyOut55 happy_x_3 of { happy_var_3 -> + happyIn40 (Var (reverse happy_var_1) (reverse happy_var_3) )}} -happyReduce_95 = happySpecReduce_1 35# happyReduction_95 -happyReduction_95 happy_x_1 +happyReduce_98 = happySpecReduce_1 36# happyReduction_98 +happyReduction_98 happy_x_1 = case happyOut5 happy_x_1 of { happy_var_1 -> - happyIn40 + happyIn41 (L happy_var_1 )} -happyReduce_96 = happySpecReduce_2 35# happyReduction_96 -happyReduction_96 happy_x_2 +happyReduce_99 = happySpecReduce_2 36# happyReduction_99 +happyReduction_99 happy_x_2 happy_x_1 = case happyOut7 happy_x_2 of { happy_var_2 -> - happyIn40 + happyIn41 (LV happy_var_2 )} -happyReduce_97 = happySpecReduce_3 36# happyReduction_97 -happyReduction_97 happy_x_3 +happyReduce_100 = happySpecReduce_3 37# happyReduction_100 +happyReduction_100 happy_x_3 happy_x_2 happy_x_1 = case happyOut5 happy_x_1 of { happy_var_1 -> case happyOut7 happy_x_3 of { happy_var_3 -> - happyIn41 + happyIn42 (A happy_var_1 happy_var_3 )}} -happyReduce_98 = happyReduce 5# 36# happyReduction_98 -happyReduction_98 (happy_x_5 `HappyStk` +happyReduce_101 = happyReduce 5# 37# happyReduction_101 +happyReduction_101 (happy_x_5 `HappyStk` happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` @@ -1412,83 +1443,75 @@ happyReduction_98 (happy_x_5 `HappyStk` = case happyOut5 happy_x_1 of { happy_var_1 -> case happyOut7 happy_x_3 of { happy_var_3 -> case happyOut7 happy_x_5 of { happy_var_5 -> - happyIn41 + happyIn42 (AB happy_var_1 happy_var_3 happy_var_5 ) `HappyStk` happyRest}}} -happyReduce_99 = happyReduce 4# 37# happyReduction_99 -happyReduction_99 (happy_x_4 `HappyStk` +happyReduce_102 = happyReduce 4# 38# happyReduction_102 +happyReduction_102 (happy_x_4 `HappyStk` happy_x_3 `HappyStk` happy_x_2 `HappyStk` happy_x_1 `HappyStk` happyRest) - = case happyOut19 happy_x_2 of { happy_var_2 -> - case happyOut57 happy_x_3 of { happy_var_3 -> - happyIn42 + = case happyOut20 happy_x_2 of { happy_var_2 -> + case happyOut58 happy_x_3 of { happy_var_3 -> + happyIn43 (PC happy_var_2 (reverse happy_var_3) ) `HappyStk` happyRest}} -happyReduce_100 = happySpecReduce_1 37# happyReduction_100 -happyReduction_100 happy_x_1 +happyReduce_103 = happySpecReduce_1 38# happyReduction_103 +happyReduction_103 happy_x_1 = case happyOut5 happy_x_1 of { happy_var_1 -> - happyIn42 + happyIn43 (PV happy_var_1 )} -happyReduce_101 = happySpecReduce_1 37# happyReduction_101 -happyReduction_101 happy_x_1 - = happyIn42 +happyReduce_104 = happySpecReduce_1 38# happyReduction_104 +happyReduction_104 happy_x_1 + = happyIn43 (PW ) -happyReduce_102 = happySpecReduce_3 37# happyReduction_102 -happyReduction_102 happy_x_3 +happyReduce_105 = happySpecReduce_3 38# happyReduction_105 +happyReduction_105 happy_x_3 happy_x_2 happy_x_1 - = case happyOut56 happy_x_2 of { happy_var_2 -> - happyIn42 + = case happyOut57 happy_x_2 of { happy_var_2 -> + happyIn43 (PR happy_var_2 )} -happyReduce_103 = happySpecReduce_1 37# happyReduction_103 -happyReduction_103 happy_x_1 +happyReduce_106 = happySpecReduce_1 38# happyReduction_106 +happyReduction_106 happy_x_1 = case happyOut7 happy_x_1 of { happy_var_1 -> - happyIn42 + happyIn43 (PI happy_var_1 )} -happyReduce_104 = happySpecReduce_3 38# happyReduction_104 -happyReduction_104 happy_x_3 - happy_x_2 - happy_x_1 - = case happyOut40 happy_x_1 of { happy_var_1 -> - case happyOut42 happy_x_3 of { happy_var_3 -> +happyReduce_107 = happySpecReduce_1 38# happyReduction_107 +happyReduction_107 happy_x_1 + = case happyOut8 happy_x_1 of { happy_var_1 -> happyIn43 - (PAss happy_var_1 happy_var_3 - )}} - -happyReduce_105 = happySpecReduce_0 39# happyReduction_105 -happyReduction_105 = happyIn44 - ([] - ) + (PF happy_var_1 + )} -happyReduce_106 = happySpecReduce_3 39# happyReduction_106 -happyReduction_106 happy_x_3 +happyReduce_108 = happySpecReduce_3 39# happyReduction_108 +happyReduction_108 happy_x_3 happy_x_2 happy_x_1 - = case happyOut44 happy_x_1 of { happy_var_1 -> - case happyOut15 happy_x_2 of { happy_var_2 -> + = case happyOut41 happy_x_1 of { happy_var_1 -> + case happyOut43 happy_x_3 of { happy_var_3 -> happyIn44 - (flip (:) happy_var_1 happy_var_2 + (PAss happy_var_1 happy_var_3 )}} -happyReduce_107 = happySpecReduce_0 40# happyReduction_107 -happyReduction_107 = happyIn45 +happyReduce_109 = happySpecReduce_0 40# happyReduction_109 +happyReduction_109 = happyIn45 ([] ) -happyReduce_108 = happySpecReduce_3 40# happyReduction_108 -happyReduction_108 happy_x_3 +happyReduce_110 = happySpecReduce_3 40# happyReduction_110 +happyReduction_110 happy_x_3 happy_x_2 happy_x_1 = case happyOut45 happy_x_1 of { happy_var_1 -> @@ -1497,254 +1520,269 @@ happyReduction_108 happy_x_3 (flip (:) happy_var_1 happy_var_2 )}} -happyReduce_109 = happySpecReduce_0 41# happyReduction_109 -happyReduction_109 = happyIn46 +happyReduce_111 = happySpecReduce_0 41# happyReduction_111 +happyReduction_111 = happyIn46 ([] ) -happyReduce_110 = happySpecReduce_1 41# happyReduction_110 -happyReduction_110 happy_x_1 - = case happyOut17 happy_x_1 of { happy_var_1 -> - happyIn46 - ((:[]) happy_var_1 - )} - -happyReduce_111 = happySpecReduce_3 41# happyReduction_111 -happyReduction_111 happy_x_3 +happyReduce_112 = happySpecReduce_3 41# happyReduction_112 +happyReduction_112 happy_x_3 happy_x_2 happy_x_1 - = case happyOut17 happy_x_1 of { happy_var_1 -> - case happyOut46 happy_x_3 of { happy_var_3 -> + = case happyOut46 happy_x_1 of { happy_var_1 -> + case happyOut17 happy_x_2 of { happy_var_2 -> happyIn46 - ((:) happy_var_1 happy_var_3 + (flip (:) happy_var_1 happy_var_2 )}} -happyReduce_112 = happySpecReduce_0 42# happyReduction_112 -happyReduction_112 = happyIn47 +happyReduce_113 = happySpecReduce_0 42# happyReduction_113 +happyReduction_113 = happyIn47 ([] ) -happyReduce_113 = happySpecReduce_2 42# happyReduction_113 -happyReduction_113 happy_x_2 +happyReduce_114 = happySpecReduce_1 42# happyReduction_114 +happyReduction_114 happy_x_1 + = case happyOut18 happy_x_1 of { happy_var_1 -> + happyIn47 + ((:[]) happy_var_1 + )} + +happyReduce_115 = happySpecReduce_3 42# happyReduction_115 +happyReduction_115 happy_x_3 + happy_x_2 happy_x_1 - = case happyOut47 happy_x_1 of { happy_var_1 -> - case happyOut31 happy_x_2 of { happy_var_2 -> + = case happyOut18 happy_x_1 of { happy_var_1 -> + case happyOut47 happy_x_3 of { happy_var_3 -> happyIn47 - (flip (:) happy_var_1 happy_var_2 + ((:) happy_var_1 happy_var_3 )}} -happyReduce_114 = happySpecReduce_0 43# happyReduction_114 -happyReduction_114 = happyIn48 +happyReduce_116 = happySpecReduce_0 43# happyReduction_116 +happyReduction_116 = happyIn48 ([] ) -happyReduce_115 = happySpecReduce_2 43# happyReduction_115 -happyReduction_115 happy_x_2 +happyReduce_117 = happySpecReduce_2 43# happyReduction_117 +happyReduction_117 happy_x_2 happy_x_1 = case happyOut48 happy_x_1 of { happy_var_1 -> - case happyOut19 happy_x_2 of { happy_var_2 -> + case happyOut32 happy_x_2 of { happy_var_2 -> happyIn48 (flip (:) happy_var_1 happy_var_2 )}} -happyReduce_116 = happySpecReduce_0 44# happyReduction_116 -happyReduction_116 = happyIn49 +happyReduce_118 = happySpecReduce_0 44# happyReduction_118 +happyReduction_118 = happyIn49 ([] ) -happyReduce_117 = happySpecReduce_1 44# happyReduction_117 -happyReduction_117 happy_x_1 - = case happyOut37 happy_x_1 of { happy_var_1 -> - happyIn49 - ((:[]) happy_var_1 - )} - -happyReduce_118 = happySpecReduce_3 44# happyReduction_118 -happyReduction_118 happy_x_3 - happy_x_2 +happyReduce_119 = happySpecReduce_2 44# happyReduction_119 +happyReduction_119 happy_x_2 happy_x_1 - = case happyOut37 happy_x_1 of { happy_var_1 -> - case happyOut49 happy_x_3 of { happy_var_3 -> + = case happyOut49 happy_x_1 of { happy_var_1 -> + case happyOut20 happy_x_2 of { happy_var_2 -> happyIn49 - ((:) happy_var_1 happy_var_3 + (flip (:) happy_var_1 happy_var_2 )}} -happyReduce_119 = happySpecReduce_0 45# happyReduction_119 -happyReduction_119 = happyIn50 +happyReduce_120 = happySpecReduce_0 45# happyReduction_120 +happyReduction_120 = happyIn50 ([] ) -happyReduce_120 = happySpecReduce_1 45# happyReduction_120 -happyReduction_120 happy_x_1 - = case happyOut41 happy_x_1 of { happy_var_1 -> +happyReduce_121 = happySpecReduce_1 45# happyReduction_121 +happyReduction_121 happy_x_1 + = case happyOut38 happy_x_1 of { happy_var_1 -> happyIn50 ((:[]) happy_var_1 )} -happyReduce_121 = happySpecReduce_3 45# happyReduction_121 -happyReduction_121 happy_x_3 +happyReduce_122 = happySpecReduce_3 45# happyReduction_122 +happyReduction_122 happy_x_3 happy_x_2 happy_x_1 - = case happyOut41 happy_x_1 of { happy_var_1 -> + = case happyOut38 happy_x_1 of { happy_var_1 -> case happyOut50 happy_x_3 of { happy_var_3 -> happyIn50 ((:) happy_var_1 happy_var_3 )}} -happyReduce_122 = happySpecReduce_0 46# happyReduction_122 -happyReduction_122 = happyIn51 +happyReduce_123 = happySpecReduce_0 46# happyReduction_123 +happyReduction_123 = happyIn51 ([] ) -happyReduce_123 = happySpecReduce_1 46# happyReduction_123 -happyReduction_123 happy_x_1 - = case happyOut32 happy_x_1 of { happy_var_1 -> +happyReduce_124 = happySpecReduce_1 46# happyReduction_124 +happyReduction_124 happy_x_1 + = case happyOut42 happy_x_1 of { happy_var_1 -> happyIn51 ((:[]) happy_var_1 )} -happyReduce_124 = happySpecReduce_3 46# happyReduction_124 -happyReduction_124 happy_x_3 +happyReduce_125 = happySpecReduce_3 46# happyReduction_125 +happyReduction_125 happy_x_3 happy_x_2 happy_x_1 - = case happyOut32 happy_x_1 of { happy_var_1 -> + = case happyOut42 happy_x_1 of { happy_var_1 -> case happyOut51 happy_x_3 of { happy_var_3 -> happyIn51 ((:) happy_var_1 happy_var_3 )}} -happyReduce_125 = happySpecReduce_0 47# happyReduction_125 -happyReduction_125 = happyIn52 +happyReduce_126 = happySpecReduce_0 47# happyReduction_126 +happyReduction_126 = happyIn52 ([] ) -happyReduce_126 = happySpecReduce_1 47# happyReduction_126 -happyReduction_126 happy_x_1 - = case happyOut38 happy_x_1 of { happy_var_1 -> +happyReduce_127 = happySpecReduce_1 47# happyReduction_127 +happyReduction_127 happy_x_1 + = case happyOut33 happy_x_1 of { happy_var_1 -> happyIn52 ((:[]) happy_var_1 )} -happyReduce_127 = happySpecReduce_3 47# happyReduction_127 -happyReduction_127 happy_x_3 +happyReduce_128 = happySpecReduce_3 47# happyReduction_128 +happyReduction_128 happy_x_3 happy_x_2 happy_x_1 - = case happyOut38 happy_x_1 of { happy_var_1 -> + = case happyOut33 happy_x_1 of { happy_var_1 -> case happyOut52 happy_x_3 of { happy_var_3 -> happyIn52 ((:) happy_var_1 happy_var_3 )}} -happyReduce_128 = happySpecReduce_0 48# happyReduction_128 -happyReduction_128 = happyIn53 +happyReduce_129 = happySpecReduce_0 48# happyReduction_129 +happyReduction_129 = happyIn53 ([] ) -happyReduce_129 = happySpecReduce_2 48# happyReduction_129 -happyReduction_129 happy_x_2 +happyReduce_130 = happySpecReduce_1 48# happyReduction_130 +happyReduction_130 happy_x_1 + = case happyOut39 happy_x_1 of { happy_var_1 -> + happyIn53 + ((:[]) happy_var_1 + )} + +happyReduce_131 = happySpecReduce_3 48# happyReduction_131 +happyReduction_131 happy_x_3 + happy_x_2 happy_x_1 - = case happyOut53 happy_x_1 of { happy_var_1 -> - case happyOut33 happy_x_2 of { happy_var_2 -> + = case happyOut39 happy_x_1 of { happy_var_1 -> + case happyOut53 happy_x_3 of { happy_var_3 -> happyIn53 - (flip (:) happy_var_1 happy_var_2 + ((:) happy_var_1 happy_var_3 )}} -happyReduce_130 = happySpecReduce_0 49# happyReduction_130 -happyReduction_130 = happyIn54 +happyReduce_132 = happySpecReduce_0 49# happyReduction_132 +happyReduction_132 = happyIn54 ([] ) -happyReduce_131 = happySpecReduce_2 49# happyReduction_131 -happyReduction_131 happy_x_2 +happyReduce_133 = happySpecReduce_2 49# happyReduction_133 +happyReduction_133 happy_x_2 happy_x_1 = case happyOut54 happy_x_1 of { happy_var_1 -> - case happyOut6 happy_x_2 of { happy_var_2 -> + case happyOut34 happy_x_2 of { happy_var_2 -> happyIn54 (flip (:) happy_var_1 happy_var_2 )}} -happyReduce_132 = happySpecReduce_0 50# happyReduction_132 -happyReduction_132 = happyIn55 +happyReduce_134 = happySpecReduce_0 50# happyReduction_134 +happyReduction_134 = happyIn55 ([] ) -happyReduce_133 = happySpecReduce_1 50# happyReduction_133 -happyReduction_133 happy_x_1 - = case happyOut39 happy_x_1 of { happy_var_1 -> +happyReduce_135 = happySpecReduce_2 50# happyReduction_135 +happyReduction_135 happy_x_2 + happy_x_1 + = case happyOut55 happy_x_1 of { happy_var_1 -> + case happyOut6 happy_x_2 of { happy_var_2 -> happyIn55 + (flip (:) happy_var_1 happy_var_2 + )}} + +happyReduce_136 = happySpecReduce_0 51# happyReduction_136 +happyReduction_136 = happyIn56 + ([] + ) + +happyReduce_137 = happySpecReduce_1 51# happyReduction_137 +happyReduction_137 happy_x_1 + = case happyOut40 happy_x_1 of { happy_var_1 -> + happyIn56 ((:[]) happy_var_1 )} -happyReduce_134 = happySpecReduce_3 50# happyReduction_134 -happyReduction_134 happy_x_3 +happyReduce_138 = happySpecReduce_3 51# happyReduction_138 +happyReduction_138 happy_x_3 happy_x_2 happy_x_1 - = case happyOut39 happy_x_1 of { happy_var_1 -> - case happyOut55 happy_x_3 of { happy_var_3 -> - happyIn55 + = case happyOut40 happy_x_1 of { happy_var_1 -> + case happyOut56 happy_x_3 of { happy_var_3 -> + happyIn56 ((:) happy_var_1 happy_var_3 )}} -happyReduce_135 = happySpecReduce_0 51# happyReduction_135 -happyReduction_135 = happyIn56 +happyReduce_139 = happySpecReduce_0 52# happyReduction_139 +happyReduction_139 = happyIn57 ([] ) -happyReduce_136 = happySpecReduce_1 51# happyReduction_136 -happyReduction_136 happy_x_1 - = case happyOut43 happy_x_1 of { happy_var_1 -> - happyIn56 +happyReduce_140 = happySpecReduce_1 52# happyReduction_140 +happyReduction_140 happy_x_1 + = case happyOut44 happy_x_1 of { happy_var_1 -> + happyIn57 ((:[]) happy_var_1 )} -happyReduce_137 = happySpecReduce_3 51# happyReduction_137 -happyReduction_137 happy_x_3 +happyReduce_141 = happySpecReduce_3 52# happyReduction_141 +happyReduction_141 happy_x_3 happy_x_2 happy_x_1 - = case happyOut43 happy_x_1 of { happy_var_1 -> - case happyOut56 happy_x_3 of { happy_var_3 -> - happyIn56 + = case happyOut44 happy_x_1 of { happy_var_1 -> + case happyOut57 happy_x_3 of { happy_var_3 -> + happyIn57 ((:) happy_var_1 happy_var_3 )}} -happyReduce_138 = happySpecReduce_0 52# happyReduction_138 -happyReduction_138 = happyIn57 +happyReduce_142 = happySpecReduce_0 53# happyReduction_142 +happyReduction_142 = happyIn58 ([] ) -happyReduce_139 = happySpecReduce_2 52# happyReduction_139 -happyReduction_139 happy_x_2 +happyReduce_143 = happySpecReduce_2 53# happyReduction_143 +happyReduction_143 happy_x_2 happy_x_1 - = case happyOut57 happy_x_1 of { happy_var_1 -> - case happyOut42 happy_x_2 of { happy_var_2 -> - happyIn57 + = case happyOut58 happy_x_1 of { happy_var_1 -> + case happyOut43 happy_x_2 of { happy_var_2 -> + happyIn58 (flip (:) happy_var_1 happy_var_2 )}} -happyReduce_140 = happySpecReduce_0 53# happyReduction_140 -happyReduction_140 = happyIn58 +happyReduce_144 = happySpecReduce_0 54# happyReduction_144 +happyReduction_144 = happyIn59 ([] ) -happyReduce_141 = happySpecReduce_1 53# happyReduction_141 -happyReduction_141 happy_x_1 +happyReduce_145 = happySpecReduce_1 54# happyReduction_145 +happyReduction_145 happy_x_1 = case happyOut5 happy_x_1 of { happy_var_1 -> - happyIn58 + happyIn59 ((:[]) happy_var_1 )} -happyReduce_142 = happySpecReduce_3 53# happyReduction_142 -happyReduction_142 happy_x_3 +happyReduce_146 = happySpecReduce_3 54# happyReduction_146 +happyReduction_146 happy_x_3 happy_x_2 happy_x_1 = case happyOut5 happy_x_1 of { happy_var_1 -> - case happyOut58 happy_x_3 of { happy_var_3 -> - happyIn58 + case happyOut59 happy_x_3 of { happy_var_3 -> + happyIn59 ((:) happy_var_1 happy_var_3 )}} happyNewToken action sts stk [] = - happyDoAction 53# (error "reading EOF!") action sts stk [] + happyDoAction 54# (error "reading EOF!") action sts stk [] happyNewToken action sts stk (tk:tks) = let cont i = happyDoAction i tk action sts stk tks in @@ -1800,7 +1838,8 @@ happyNewToken action sts stk (tk:tks) = PT _ (TV happy_dollar_dollar) -> cont 49#; PT _ (TL happy_dollar_dollar) -> cont 50#; PT _ (TI happy_dollar_dollar) -> cont 51#; - _ -> cont 52#; + PT _ (TD happy_dollar_dollar) -> cont 52#; + _ -> cont 53#; _ -> happyError' (tk:tks) } @@ -1817,10 +1856,10 @@ happyError' :: () => [Token] -> Err a happyError' = happyError pCanon tks = happySomeParser where - happySomeParser = happyThen (happyParse 0# tks) (\x -> happyReturn (happyOut8 x)) + happySomeParser = happyThen (happyParse 0# tks) (\x -> happyReturn (happyOut9 x)) pLine tks = happySomeParser where - happySomeParser = happyThen (happyParse 1# tks) (\x -> happyReturn (happyOut9 x)) + happySomeParser = happyThen (happyParse 1# tks) (\x -> happyReturn (happyOut10 x)) happySeq = happyDontSeq @@ -1836,22 +1875,13 @@ happyError ts = myLexer = tokens {-# LINE 1 "GenericTemplate.hs" #-} --- $Id: ParGFC.hs,v 1.11 2005/06/17 14:15:17 bringert Exp $ - - - - - - - - - - - - +{-# LINE 1 "<built-in>" #-} +{-# LINE 1 "<command line>" #-} +{-# LINE 1 "GenericTemplate.hs" #-} +-- $Id$ -{-# LINE 27 "GenericTemplate.hs" #-} +{-# LINE 28 "GenericTemplate.hs" #-} data Happy_IntList = HappyCons Int# Happy_IntList @@ -1861,28 +1891,10 @@ data Happy_IntList = HappyCons Int# Happy_IntList +{-# LINE 49 "GenericTemplate.hs" #-} - - - - - - - - - - - - - - - - - - - - +{-# LINE 59 "GenericTemplate.hs" #-} @@ -1983,8 +1995,7 @@ data HappyAddr = HappyA# Addr# ----------------------------------------------------------------------------- -- HappyState data type (not arrays) -{-# LINE 169 "GenericTemplate.hs" #-} - +{-# LINE 170 "GenericTemplate.hs" #-} ----------------------------------------------------------------------------- -- Shifting a token diff --git a/src/GF/Canon/PrintGFC.hs b/src/GF/Canon/PrintGFC.hs index 11b4729c0..437f3a1e9 100644 --- a/src/GF/Canon/PrintGFC.hs +++ b/src/GF/Canon/PrintGFC.hs @@ -231,6 +231,7 @@ instance Print APatt where APV id -> prPrec i 0 (concatD [prt 0 id]) APS str -> prPrec i 0 (concatD [prt 0 str]) API n -> prPrec i 0 (concatD [prt 0 n]) + APF n -> prPrec i 0 (concatD [prt 0 n]) APW -> prPrec i 0 (concatD [doc (showString "_")]) prtList es = case es of @@ -292,6 +293,7 @@ instance Print Term where C term0 term -> prPrec i 0 (concatD [prt 0 term0 , doc (showString "++") , prt 1 term]) FV terms -> prPrec i 1 (concatD [docs (showString "variants") , doc (showString "{") , prt 2 terms , doc (showString "}")]) EInt n -> prPrec i 2 (concatD [prt 0 n]) + EFloat n -> prPrec i 2 (concatD [prt 0 n]) K tokn -> prPrec i 2 (concatD [prt 0 tokn]) E -> prPrec i 2 (concatD [doc (showString "[") , doc (showString "]")]) @@ -356,6 +358,7 @@ instance Print Patt where PW -> prPrec i 0 (concatD [docs (showString "_")]) PR pattassigns -> prPrec i 0 (concatD [doc (showString "{") , prt 0 pattassigns , doc (showString "}")]) PI n -> prPrec i 0 (concatD [prt 0 n]) + PF n -> prPrec i 0 (concatD [prt 0 n]) prtList es = case es of [] -> (concatD []) |
