1
0
forked from GitHub/gf-core

Transfer: Removed PType from source and core languages.

This commit is contained in:
bringert
2006-03-03 10:34:15 +00:00
parent 6cd06a5efc
commit 61898554b5
19 changed files with 372 additions and 411 deletions

View File

@@ -43,7 +43,6 @@ data Tree :: * -> * where
PCons :: CIdent -> [Pattern] -> Tree Pattern_ PCons :: CIdent -> [Pattern] -> Tree Pattern_
PVar :: PatternVariable -> Tree Pattern_ PVar :: PatternVariable -> Tree Pattern_
PRec :: [FieldPattern] -> Tree Pattern_ PRec :: [FieldPattern] -> Tree Pattern_
PType :: Tree Pattern_
PStr :: String -> Tree Pattern_ PStr :: String -> Tree Pattern_
PInt :: Integer -> Tree Pattern_ PInt :: Integer -> Tree Pattern_
FieldPattern :: CIdent -> Pattern -> Tree FieldPattern_ FieldPattern :: CIdent -> Pattern -> Tree FieldPattern_
@@ -129,7 +128,6 @@ instance Show (Tree c) where
PCons cident patterns -> opar n . showString "PCons" . showChar ' ' . showsPrec 1 cident . showChar ' ' . showsPrec 1 patterns . cpar n PCons cident patterns -> opar n . showString "PCons" . showChar ' ' . showsPrec 1 cident . showChar ' ' . showsPrec 1 patterns . cpar n
PVar patternvariable -> opar n . showString "PVar" . showChar ' ' . showsPrec 1 patternvariable . cpar n PVar patternvariable -> opar n . showString "PVar" . showChar ' ' . showsPrec 1 patternvariable . cpar n
PRec fieldpatterns -> opar n . showString "PRec" . showChar ' ' . showsPrec 1 fieldpatterns . cpar n PRec fieldpatterns -> opar n . showString "PRec" . showChar ' ' . showsPrec 1 fieldpatterns . cpar n
PType -> showString "PType"
PStr str -> opar n . showString "PStr" . showChar ' ' . showsPrec 1 str . cpar n PStr str -> opar n . showString "PStr" . showChar ' ' . showsPrec 1 str . cpar n
PInt n -> opar n . showString "PInt" . showChar ' ' . showsPrec 1 n . cpar n PInt n -> opar n . showString "PInt" . showChar ' ' . showsPrec 1 n . cpar n
FieldPattern cident pattern -> opar n . showString "FieldPattern" . showChar ' ' . showsPrec 1 cident . showChar ' ' . showsPrec 1 pattern . cpar n FieldPattern cident pattern -> opar n . showString "FieldPattern" . showChar ' ' . showsPrec 1 cident . showChar ' ' . showsPrec 1 pattern . cpar n
@@ -169,7 +167,6 @@ johnMajorEq (ConsDecl cident exp) (ConsDecl cident_ exp_) = cident == cident_ &&
johnMajorEq (PCons cident patterns) (PCons cident_ patterns_) = cident == cident_ && patterns == patterns_ johnMajorEq (PCons cident patterns) (PCons cident_ patterns_) = cident == cident_ && patterns == patterns_
johnMajorEq (PVar patternvariable) (PVar patternvariable_) = patternvariable == patternvariable_ johnMajorEq (PVar patternvariable) (PVar patternvariable_) = patternvariable == patternvariable_
johnMajorEq (PRec fieldpatterns) (PRec fieldpatterns_) = fieldpatterns == fieldpatterns_ johnMajorEq (PRec fieldpatterns) (PRec fieldpatterns_) = fieldpatterns == fieldpatterns_
johnMajorEq PType PType = True
johnMajorEq (PStr str) (PStr str_) = str == str_ johnMajorEq (PStr str) (PStr str_) = str == str_
johnMajorEq (PInt n) (PInt n_) = n == n_ johnMajorEq (PInt n) (PInt n_) = n == n_
johnMajorEq (FieldPattern cident pattern) (FieldPattern cident_ pattern_) = cident == cident_ && pattern == pattern_ johnMajorEq (FieldPattern cident pattern) (FieldPattern cident_ pattern_) = cident == cident_ && pattern == pattern_
@@ -208,32 +205,31 @@ instance Ord (Tree c) where
index (PCons _ _) = 5 index (PCons _ _) = 5
index (PVar _) = 6 index (PVar _) = 6
index (PRec _) = 7 index (PRec _) = 7
index (PType ) = 8 index (PStr _) = 8
index (PStr _) = 9 index (PInt _) = 9
index (PInt _) = 10 index (FieldPattern _ _) = 10
index (FieldPattern _ _) = 11 index (PVVar _) = 11
index (PVVar _) = 12 index (PVWild ) = 12
index (PVWild ) = 13 index (ELet _ _) = 13
index (ELet _ _) = 14 index (ECase _ _) = 14
index (ECase _ _) = 15 index (EAbs _ _) = 15
index (EAbs _ _) = 16 index (EPi _ _ _) = 16
index (EPi _ _ _) = 17 index (EApp _ _) = 17
index (EApp _ _) = 18 index (EProj _ _) = 18
index (EProj _ _) = 19 index (ERecType _) = 19
index (ERecType _) = 20 index (ERec _) = 20
index (ERec _) = 21 index (EVar _) = 21
index (EVar _) = 22 index (EType ) = 22
index (EType ) = 23 index (EStr _) = 23
index (EStr _) = 24 index (EInteger _) = 24
index (EInteger _) = 25 index (EDouble _) = 25
index (EDouble _) = 26 index (EMeta _) = 26
index (EMeta _) = 27 index (LetDef _ _) = 27
index (LetDef _ _) = 28 index (Case _ _ _) = 28
index (Case _ _ _) = 29 index (FieldType _ _) = 29
index (FieldType _ _) = 30 index (FieldValue _ _) = 30
index (FieldValue _ _) = 31 index (TMeta _) = 31
index (TMeta _) = 32 index (CIdent _) = 32
index (CIdent _) = 33
compareSame (Module decls) (Module decls_) = compare decls decls_ compareSame (Module decls) (Module decls_) = compare decls decls_
compareSame (DataDecl cident exp consdecls) (DataDecl cident_ exp_ consdecls_) = mappend (compare cident cident_) (mappend (compare exp exp_) (compare consdecls consdecls_)) compareSame (DataDecl cident exp consdecls) (DataDecl cident_ exp_ consdecls_) = mappend (compare cident cident_) (mappend (compare exp exp_) (compare consdecls consdecls_))
compareSame (TypeDecl cident exp) (TypeDecl cident_ exp_) = mappend (compare cident cident_) (compare exp exp_) compareSame (TypeDecl cident exp) (TypeDecl cident_ exp_) = mappend (compare cident cident_) (compare exp exp_)
@@ -242,7 +238,6 @@ instance Ord (Tree c) where
compareSame (PCons cident patterns) (PCons cident_ patterns_) = mappend (compare cident cident_) (compare patterns patterns_) compareSame (PCons cident patterns) (PCons cident_ patterns_) = mappend (compare cident cident_) (compare patterns patterns_)
compareSame (PVar patternvariable) (PVar patternvariable_) = compare patternvariable patternvariable_ compareSame (PVar patternvariable) (PVar patternvariable_) = compare patternvariable patternvariable_
compareSame (PRec fieldpatterns) (PRec fieldpatterns_) = compare fieldpatterns fieldpatterns_ compareSame (PRec fieldpatterns) (PRec fieldpatterns_) = compare fieldpatterns fieldpatterns_
compareSame PType PType = EQ
compareSame (PStr str) (PStr str_) = compare str str_ compareSame (PStr str) (PStr str_) = compare str str_
compareSame (PInt n) (PInt n_) = compare n n_ compareSame (PInt n) (PInt n_) = compare n n_
compareSame (FieldPattern cident pattern) (FieldPattern cident_ pattern_) = mappend (compare cident cident_) (compare pattern pattern_) compareSame (FieldPattern cident pattern) (FieldPattern cident_ pattern_) = mappend (compare cident cident_) (compare pattern pattern_)

View File

@@ -25,8 +25,6 @@ PCons. Pattern ::= "(" CIdent [Pattern] ")" ;
PVar. Pattern ::= PatternVariable ; PVar. Pattern ::= PatternVariable ;
-- Record patterns. -- Record patterns.
PRec. Pattern ::= "rec" "{" [FieldPattern] "}"; PRec. Pattern ::= "rec" "{" [FieldPattern] "}";
-- Patterns matching the constant Type.
PType. Pattern ::= "Type" ;
-- String literal patterns. -- String literal patterns.
PStr. Pattern ::= String ; PStr. Pattern ::= String ;
-- Integer literal patterns. -- Integer literal patterns.

View File

@@ -112,7 +112,6 @@ All other symbols are terminals.\\
{\nonterminal{Pattern}} & {\arrow} &{\terminal{(}} {\nonterminal{CIdent}} {\nonterminal{ListPattern}} {\terminal{)}} \\ {\nonterminal{Pattern}} & {\arrow} &{\terminal{(}} {\nonterminal{CIdent}} {\nonterminal{ListPattern}} {\terminal{)}} \\
& {\delimit} &{\nonterminal{PatternVariable}} \\ & {\delimit} &{\nonterminal{PatternVariable}} \\
& {\delimit} &{\terminal{rec}} {\terminal{\{}} {\nonterminal{ListFieldPattern}} {\terminal{\}}} \\ & {\delimit} &{\terminal{rec}} {\terminal{\{}} {\nonterminal{ListFieldPattern}} {\terminal{\}}} \\
& {\delimit} &{\terminal{Type}} \\
& {\delimit} &{\nonterminal{String}} \\ & {\delimit} &{\nonterminal{String}} \\
& {\delimit} &{\nonterminal{Integer}} \\ & {\delimit} &{\nonterminal{Integer}} \\
\end{tabular}\\ \end{tabular}\\

View File

@@ -44,7 +44,7 @@ share :: String -> String
share = id share = id
data Tok = data Tok =
TS !String -- reserved words TS !String -- reserved words and symbols
| TL !String -- string literals | TL !String -- string literals
| TI !String -- integer literals | TI !String -- integer literals
| TV !String -- identifiers | TV !String -- identifiers

View File

@@ -15,7 +15,7 @@ $d = [0-9] -- digit
$i = [$l $d _ '] -- identifier character $i = [$l $d _ '] -- identifier character
$u = [\0-\255] -- universal: any character $u = [\0-\255] -- universal: any character
@rsyms = -- reserved words consisting of special symbols @rsyms = -- symbols and non-identifier-like reserved words
\; | \: | \{ | \} | \= | \( | \) | \_ | \| | \- \> | \\ | \. \; | \: | \{ | \} | \= | \( | \) | \_ | \| | \- \> | \\ | \.
:- :-
@@ -41,7 +41,7 @@ share :: String -> String
share = id share = id
data Tok = data Tok =
TS !String -- reserved words TS !String -- reserved words and symbols
| TL !String -- string literals | TL !String -- string literals
| TI !String -- integer literals | TI !String -- integer literals
| TV !String -- identifiers | TV !String -- identifiers

View File

@@ -195,21 +195,21 @@ happyOutTok x = unsafeCoerce# x
{-# INLINE happyOutTok #-} {-# INLINE happyOutTok #-}
happyActOffsets :: HappyAddr happyActOffsets :: HappyAddr
happyActOffsets = HappyA# "\x15\x00\x5f\x01\xcd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x00\x00\x00\x7c\x01\xde\x00\x00\x00\x00\x00\x4a\x01\x09\x00\x00\x00\x5f\x01\xdf\x00\xd7\x00\xd6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\xbc\x00\x00\x00\xd1\x00\xc7\x00\xcf\x00\x15\x00\x5f\x01\x5f\x01\xc6\x00\xc6\x00\xc6\x00\xbe\x00\x00\x00\xc5\x00\x00\x00\x74\x01\xcb\x00\xc0\x00\xac\x00\xb9\x00\x5f\x01\x00\x00\x00\x00\x5f\x01\x5f\x01\xc1\x00\xb8\x00\xbb\x00\xb7\x00\xb5\x00\xb3\x00\xaf\x00\xb0\x00\xa9\x00\x9d\x00\x00\x00\x00\x00\x00\x00\x5f\x01\x94\x00\x00\x00\x86\x00\x5f\x01\x00\x00\x86\x00\x5f\x01\x8f\x00\x84\x00\x5f\x01\x99\x01\x00\x00\x90\x00\x8b\x00\x00\x00\x00\x00\x8d\x00\x00\x00\x8c\x00\x8a\x00\x7a\x00\x00\x00\x89\x00\x00\x00\x00\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x81\x00\x69\x00\x00\x00\x69\x00\x00\x00\x00\x00\x99\x01\x5f\x01\x5f\x01\x00\x00\x71\x00\x00\x00\x91\x01\x75\x00\x78\x00\x74\x00\x6d\x00\x65\x00\x5c\x00\x00\x00\x43\x00\x5f\x01\x00\x00\x43\x00\x99\x01\x00\x00\x00\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"# happyActOffsets = HappyA# "\x15\x00\x5f\x01\xcd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x00\x00\x00\x7c\x01\xde\x00\x00\x00\x00\x00\x4a\x01\x09\x00\x00\x00\x5f\x01\xdf\x00\xd7\x00\xd6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\xbc\x00\x00\x00\xd1\x00\xc7\x00\xcf\x00\x15\x00\x5f\x01\x5f\x01\xc6\x00\xc6\x00\xc6\x00\xbe\x00\x00\x00\xc5\x00\x00\x00\x74\x01\xcb\x00\xc0\x00\xac\x00\xb9\x00\x5f\x01\x00\x00\x00\x00\x5f\x01\x5f\x01\xc1\x00\xb8\x00\xbb\x00\xb7\x00\xb5\x00\xb3\x00\xaf\x00\xb0\x00\xa9\x00\x9d\x00\x00\x00\x00\x00\x00\x00\x5f\x01\x94\x00\x00\x00\x86\x00\x5f\x01\x00\x00\x86\x00\x5f\x01\x8f\x00\x84\x00\x5f\x01\x96\x01\x00\x00\x90\x00\x8b\x00\x00\x00\x00\x00\x8d\x00\x00\x00\x8c\x00\x8a\x00\x7a\x00\x89\x00\x00\x00\x00\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x81\x00\x69\x00\x00\x00\x69\x00\x00\x00\x00\x00\x96\x01\x5f\x01\x5f\x01\x00\x00\x71\x00\x00\x00\x91\x01\x75\x00\x78\x00\x74\x00\x6d\x00\x65\x00\x5c\x00\x00\x00\x43\x00\x5f\x01\x00\x00\x43\x00\x96\x01\x00\x00\x00\x00\x5f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
happyGotoOffsets :: HappyAddr happyGotoOffsets :: HappyAddr
happyGotoOffsets = HappyA# "\x4e\x00\x31\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x01\x00\x00\x00\x00\x00\x00\x01\x00\x04\x00\x00\x00\x14\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\x00\x00\x00\x6a\x00\x0b\x01\xee\x00\x28\x00\x44\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\xe5\x00\x00\x00\x00\x00\xc8\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x00\x00\x00\x00\x02\x00\x99\x00\x00\x00\x1e\x00\x7c\x00\x00\x00\x03\x00\x73\x00\xb5\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x3e\x00\xff\xff\x00\x00\xa9\x01\x4d\x00\x30\x00\x00\x00\x00\x00\x00\x00\xbe\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x27\x00\x00\x00\x21\x00\x3e\x01\x00\x00\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"# happyGotoOffsets = HappyA# "\x4e\x00\x31\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x01\x00\x00\x00\x00\x00\x00\x01\x00\x04\x00\x00\x00\x14\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\x00\x00\x00\x6a\x00\x0b\x01\xee\x00\x28\x00\x44\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\xe5\x00\x00\x00\x00\x00\xc8\x00\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x00\x00\x00\x00\x02\x00\x99\x00\x00\x00\x1e\x00\x7c\x00\x00\x00\x03\x00\x73\x00\xb4\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x56\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x3e\x00\xff\xff\x00\x00\xae\x01\x4d\x00\x30\x00\x00\x00\x00\x00\x00\x00\xba\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x27\x00\x00\x00\x21\x00\x3e\x01\x00\x00\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
happyDefActions :: HappyAddr happyDefActions :: HappyAddr
happyDefActions = HappyA# "\xf7\xff\x00\x00\x00\x00\xfd\xff\xc9\xff\xc8\xff\xc7\xff\xc6\xff\xcb\xff\x00\x00\xdd\xff\xbc\xff\xd0\xff\xce\xff\xd2\xff\x00\x00\x00\x00\xca\xff\x00\x00\x00\x00\x00\x00\x00\x00\xfc\xff\xfb\xff\xfa\xff\xf9\xff\x00\x00\x00\x00\xf8\xff\xf6\xff\x00\x00\x00\x00\xf7\xff\x00\x00\x00\x00\xc3\xff\xbf\xff\xdb\xff\x00\x00\xe1\xff\x00\x00\xe0\xff\xe1\xff\x00\x00\x00\x00\x00\x00\xd1\xff\x00\x00\xcf\xff\xc5\xff\x00\x00\x00\x00\x00\x00\x00\x00\xda\xff\x00\x00\x00\x00\xbe\xff\x00\x00\x00\x00\xc2\xff\x00\x00\xf2\xff\xf3\xff\xf5\xff\x00\x00\x00\x00\xcd\xff\xc3\xff\x00\x00\xcc\xff\xbf\xff\x00\x00\x00\x00\xdb\xff\x00\x00\xd7\xff\xd4\xff\x00\x00\x00\x00\xe7\xff\xe6\xff\x00\x00\xea\xff\xd6\xff\x00\x00\x00\x00\xe8\xff\x00\x00\xdc\xff\xd9\xff\x00\x00\xc0\xff\xbd\xff\xc4\xff\xc1\xff\x00\x00\xf0\xff\xdf\xff\xe4\xff\xed\xff\xde\xff\xd7\xff\x00\x00\x00\x00\xd3\xff\x00\x00\xd5\xff\x00\x00\x00\x00\xe3\xff\x00\x00\x00\x00\xef\xff\x00\x00\xf4\xff\xf0\xff\x00\x00\xe9\xff\xe4\xff\x00\x00\xec\xff\xeb\xff\x00\x00\xd8\xff\xe5\xff\xe2\xff\xf1\xff\xee\xff"# happyDefActions = HappyA# "\xf7\xff\x00\x00\x00\x00\xfd\xff\xca\xff\xc9\xff\xc8\xff\xc7\xff\xcc\xff\x00\x00\xde\xff\xbd\xff\xd1\xff\xcf\xff\xd3\xff\x00\x00\x00\x00\xcb\xff\x00\x00\x00\x00\x00\x00\x00\x00\xfc\xff\xfb\xff\xfa\xff\xf9\xff\x00\x00\x00\x00\xf8\xff\xf6\xff\x00\x00\x00\x00\xf7\xff\x00\x00\x00\x00\xc4\xff\xc0\xff\xdc\xff\x00\x00\xe2\xff\x00\x00\xe1\xff\xe2\xff\x00\x00\x00\x00\x00\x00\xd2\xff\x00\x00\xd0\xff\xc6\xff\x00\x00\x00\x00\x00\x00\x00\x00\xdb\xff\x00\x00\x00\x00\xbf\xff\x00\x00\x00\x00\xc3\xff\x00\x00\xf2\xff\xf3\xff\xf5\xff\x00\x00\x00\x00\xce\xff\xc4\xff\x00\x00\xcd\xff\xc0\xff\x00\x00\x00\x00\xdc\xff\x00\x00\xd8\xff\xd5\xff\x00\x00\x00\x00\xe8\xff\xe7\xff\x00\x00\xea\xff\xd7\xff\x00\x00\x00\x00\x00\x00\xdd\xff\xda\xff\x00\x00\xc1\xff\xbe\xff\xc5\xff\xc2\xff\x00\x00\xf0\xff\xe0\xff\xe5\xff\xed\xff\xdf\xff\xd8\xff\x00\x00\x00\x00\xd4\xff\x00\x00\xd6\xff\x00\x00\x00\x00\xe4\xff\x00\x00\x00\x00\xef\xff\x00\x00\xf4\xff\xf0\xff\x00\x00\xe9\xff\xe5\xff\x00\x00\xec\xff\xeb\xff\x00\x00\xd9\xff\xe6\xff\xe3\xff\xf1\xff\xee\xff"#
happyCheck :: HappyAddr happyCheck :: HappyAddr
happyCheck = HappyA# "\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x04\x00\x04\x00\x04\x00\x0a\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x0e\x00\x0f\x00\x08\x00\x0e\x00\x10\x00\x11\x00\x14\x00\x15\x00\x16\x00\x17\x00\x0f\x00\x18\x00\x19\x00\x04\x00\x1c\x00\x14\x00\x15\x00\x16\x00\x17\x00\x04\x00\x1a\x00\x0f\x00\x04\x00\x1c\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x04\x00\x0c\x00\x0d\x00\x1a\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x04\x00\x0f\x00\x02\x00\x1a\x00\x1b\x00\x05\x00\x14\x00\x15\x00\x16\x00\x17\x00\x0f\x00\x18\x00\x19\x00\x04\x00\x1c\x00\x14\x00\x15\x00\x16\x00\x17\x00\x04\x00\x04\x00\x0c\x00\x0d\x00\x1c\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x04\x00\x05\x00\x06\x00\x07\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x04\x00\x0f\x00\x1a\x00\x1a\x00\x1b\x00\x04\x00\x14\x00\x15\x00\x16\x00\x17\x00\x0f\x00\x01\x00\x10\x00\x11\x00\x1c\x00\x14\x00\x15\x00\x16\x00\x17\x00\x04\x00\x02\x00\x06\x00\x07\x00\x1c\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x04\x00\x01\x00\x05\x00\x0a\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x04\x00\x0f\x00\x1a\x00\x03\x00\x08\x00\x09\x00\x14\x00\x15\x00\x16\x00\x17\x00\x0f\x00\x03\x00\x01\x00\x04\x00\x1c\x00\x14\x00\x15\x00\x16\x00\x17\x00\x1a\x00\x0a\x00\x09\x00\x07\x00\x1c\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x1a\x00\x10\x00\x1a\x00\x04\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x04\x00\x0f\x00\x15\x00\x01\x00\x08\x00\x09\x00\x14\x00\x15\x00\x16\x00\x17\x00\x0f\x00\x02\x00\x04\x00\x01\x00\x1c\x00\x14\x00\x15\x00\x16\x00\x17\x00\x05\x00\x04\x00\x01\x00\x05\x00\x1c\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x03\x00\x0c\x00\x1a\x00\x07\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x02\x00\x0f\x00\x0a\x00\x12\x00\x02\x00\x01\x00\x14\x00\x15\x00\x16\x00\x17\x00\x0f\x00\x1c\x00\x03\x00\x03\x00\x1c\x00\x14\x00\x15\x00\x16\x00\x17\x00\x1a\x00\x1a\x00\x03\x00\x16\x00\x1c\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x0c\x00\xff\xff\x1c\x00\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x0f\x00\xff\xff\xff\xff\xff\xff\x1c\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x0f\x00\xff\xff\xff\xff\xff\xff\x1c\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\xff\xff\x00\x00\x01\x00\x0f\x00\xff\xff\x04\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x0b\x00\xff\xff\xff\xff\x0e\x00\x1c\x00\x16\x00\x17\x00\x06\x00\xff\xff\x08\x00\xff\xff\xff\xff\x0b\x00\xff\xff\x0d\x00\x0e\x00\xff\xff\xff\xff\x11\x00\xff\xff\x13\x00\x14\x00\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0b\x00\xff\xff\x0d\x00\x0e\x00\xff\xff\xff\xff\x11\x00\xff\xff\x13\x00\x14\x00\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x13\x00\x14\x00\x0d\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x13\x00\x14\x00\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x06\x00\x07\x00\x08\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x06\x00\xff\xff\x08\x00\xff\xff\xff\xff\x13\x00\xff\xff\x0d\x00\x16\x00\x17\x00\x00\x00\x01\x00\x1a\x00\x13\x00\x04\x00\xff\xff\x16\x00\x17\x00\xff\xff\xff\xff\x1a\x00\x0b\x00\x00\x00\x01\x00\x0e\x00\xff\xff\x04\x00\xff\xff\x12\x00\x13\x00\xff\xff\x00\x00\x01\x00\x0b\x00\xff\xff\x04\x00\x0e\x00\xff\xff\xff\xff\xff\xff\x12\x00\x13\x00\x0b\x00\xff\xff\xff\xff\x0e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"# happyCheck = HappyA# "\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x04\x00\x04\x00\x04\x00\x0a\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x0e\x00\x0f\x00\x08\x00\x0e\x00\x10\x00\x11\x00\x14\x00\x15\x00\x16\x00\x17\x00\x0f\x00\x18\x00\x19\x00\x04\x00\x1c\x00\x14\x00\x15\x00\x16\x00\x17\x00\x04\x00\x1a\x00\x0f\x00\x04\x00\x1c\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x04\x00\x0c\x00\x0d\x00\x1a\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x04\x00\x0f\x00\x02\x00\x1a\x00\x1b\x00\x05\x00\x14\x00\x15\x00\x16\x00\x17\x00\x0f\x00\x18\x00\x19\x00\x04\x00\x1c\x00\x14\x00\x15\x00\x16\x00\x17\x00\x04\x00\x04\x00\x0c\x00\x0d\x00\x1c\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x04\x00\x05\x00\x06\x00\x07\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x04\x00\x0f\x00\x1a\x00\x1a\x00\x1b\x00\x04\x00\x14\x00\x15\x00\x16\x00\x17\x00\x0f\x00\x01\x00\x10\x00\x11\x00\x1c\x00\x14\x00\x15\x00\x16\x00\x17\x00\x04\x00\x02\x00\x06\x00\x07\x00\x1c\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x04\x00\x01\x00\x05\x00\x0a\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x04\x00\x0f\x00\x1a\x00\x03\x00\x08\x00\x09\x00\x14\x00\x15\x00\x16\x00\x17\x00\x0f\x00\x03\x00\x01\x00\x04\x00\x1c\x00\x14\x00\x15\x00\x16\x00\x17\x00\x1a\x00\x0a\x00\x09\x00\x07\x00\x1c\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x1a\x00\x10\x00\x1a\x00\x04\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x04\x00\x0f\x00\x15\x00\x01\x00\x08\x00\x09\x00\x14\x00\x15\x00\x16\x00\x17\x00\x0f\x00\x02\x00\x04\x00\x01\x00\x1c\x00\x14\x00\x15\x00\x16\x00\x17\x00\x05\x00\x04\x00\x01\x00\x05\x00\x1c\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x03\x00\x0c\x00\x1a\x00\x07\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x02\x00\x0f\x00\x0a\x00\x12\x00\x02\x00\x01\x00\x14\x00\x15\x00\x16\x00\x17\x00\x0f\x00\x1c\x00\x03\x00\x03\x00\x1c\x00\x14\x00\x15\x00\x16\x00\x17\x00\x1a\x00\x1a\x00\x03\x00\x16\x00\x1c\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x0c\x00\xff\xff\x1c\x00\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x0f\x00\xff\xff\xff\xff\xff\xff\x1c\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x0f\x00\xff\xff\xff\xff\xff\xff\x1c\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\xff\xff\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\xff\xff\x00\x00\x01\x00\x0f\x00\xff\xff\x04\x00\xff\xff\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x0b\x00\xff\xff\xff\xff\x0e\x00\x1c\x00\x16\x00\x17\x00\x06\x00\xff\xff\x08\x00\xff\xff\xff\xff\x0b\x00\xff\xff\x0d\x00\x0e\x00\xff\xff\xff\xff\x11\x00\xff\xff\x13\x00\x14\x00\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0b\x00\xff\xff\x0d\x00\x0e\x00\xff\xff\xff\xff\x11\x00\xff\xff\x13\x00\x14\x00\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x13\x00\x14\x00\x0d\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x13\x00\x14\x00\xff\xff\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x06\x00\x07\x00\x08\x00\xff\xff\xff\xff\x06\x00\xff\xff\x08\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x13\x00\xff\xff\xff\xff\x16\x00\x17\x00\x13\x00\xff\xff\x1a\x00\x16\x00\x17\x00\x00\x00\x01\x00\x1a\x00\xff\xff\x04\x00\xff\xff\x00\x00\x01\x00\xff\xff\xff\xff\x04\x00\x0b\x00\x00\x00\x01\x00\x0e\x00\xff\xff\x04\x00\x0b\x00\x12\x00\x13\x00\x0e\x00\xff\xff\xff\xff\x0b\x00\x12\x00\x13\x00\x0e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#
happyTable :: HappyAddr happyTable :: HappyAddr
happyTable = HappyA# "\x00\x00\x04\x00\x05\x00\x06\x00\x07\x00\x2a\x00\x3b\x00\x35\x00\x27\x00\x6c\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x2b\x00\x2c\x00\x2a\x00\x28\x00\x36\x00\x5a\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x7c\x00\x3c\x00\x5f\x00\x64\x00\x0e\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x38\x00\x1a\x00\x1f\x00\x6d\x00\x0e\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x3b\x00\x6e\x00\x7e\x00\x1a\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x30\x00\x7f\x00\x22\x00\x39\x00\x5d\x00\x23\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x69\x00\x3c\x00\x3d\x00\x6d\x00\x0e\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x38\x00\x1f\x00\x6e\x00\x6f\x00\x0e\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x35\x00\x6a\x00\x1a\x00\x39\x00\x3a\x00\x74\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x62\x00\x75\x00\x36\x00\x37\x00\x0e\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x1a\x00\x76\x00\x40\x00\x1d\x00\x0e\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x77\x00\x78\x00\x79\x00\x7c\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x70\x00\x59\x00\x1a\x00\x62\x00\x71\x00\x80\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x5c\x00\x64\x00\x67\x00\x66\x00\x0e\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x1a\x00\x69\x00\x68\x00\x50\x00\x0e\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x1a\x00\x5c\x00\x1a\x00\x44\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x70\x00\x5e\x00\x61\x00\x45\x00\x71\x00\x72\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x42\x00\x46\x00\x47\x00\x48\x00\x0e\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x0e\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x4d\x00\x2e\x00\x1a\x00\x32\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x33\x00\x4d\x00\x34\x00\x35\x00\x42\x00\x21\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x4e\x00\xff\xff\x24\x00\x25\x00\x0e\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x1a\x00\x1a\x00\x26\x00\x04\x00\x0e\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x2e\x00\x00\x00\xff\xff\x00\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x26\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x00\x00\x00\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x00\x00\x50\x00\x51\x00\x09\x00\x00\x00\x27\x00\x00\x00\x00\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x7d\x00\x00\x00\x00\x00\x53\x00\x0e\x00\x2e\x00\x0d\x00\x10\x00\x00\x00\x2a\x00\x00\x00\x00\x00\x11\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x14\x00\x00\x00\x15\x00\x16\x00\x00\x00\x04\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x14\x00\x00\x00\x15\x00\x16\x00\x00\x00\x04\x00\x17\x00\x18\x00\x19\x00\x1a\x00\xcb\xff\xcb\xff\x00\x00\x00\x00\x00\x00\x00\x00\xcb\xff\xcb\xff\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcb\xff\xcb\xff\x12\x00\xcb\xff\xcb\xff\xcb\xff\xcb\xff\xcb\xff\x15\x00\x16\x00\x00\x00\x04\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x57\x00\x7b\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x57\x00\x00\x00\x2a\x00\x00\x00\x00\x00\x59\x00\x00\x00\x58\x00\x04\x00\x17\x00\x50\x00\x51\x00\x1a\x00\x59\x00\x27\x00\x00\x00\x04\x00\x17\x00\x00\x00\x00\x00\x1a\x00\x52\x00\x50\x00\x51\x00\x53\x00\x00\x00\x27\x00\x00\x00\x54\x00\x6b\x00\x00\x00\x50\x00\x51\x00\x52\x00\x00\x00\x27\x00\x53\x00\x00\x00\x00\x00\x00\x00\x54\x00\x55\x00\x79\x00\x00\x00\x00\x00\x53\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x04\x00\x05\x00\x06\x00\x07\x00\x2a\x00\x3b\x00\x35\x00\x27\x00\x6b\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x2b\x00\x2c\x00\x2a\x00\x28\x00\x36\x00\x59\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x7b\x00\x3c\x00\x5e\x00\x63\x00\x0e\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x38\x00\x1a\x00\x1f\x00\x6c\x00\x0e\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x3b\x00\x6d\x00\x7d\x00\x1a\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x30\x00\x7e\x00\x22\x00\x39\x00\x5c\x00\x23\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x68\x00\x3c\x00\x3d\x00\x6c\x00\x0e\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x38\x00\x1f\x00\x6d\x00\x6e\x00\x0e\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x35\x00\x69\x00\x1a\x00\x39\x00\x3a\x00\x73\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x61\x00\x74\x00\x36\x00\x37\x00\x0e\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x1a\x00\x75\x00\x40\x00\x1d\x00\x0e\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x76\x00\x77\x00\x78\x00\x7b\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x6f\x00\x58\x00\x1a\x00\x61\x00\x70\x00\x7f\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x5b\x00\x63\x00\x66\x00\x65\x00\x0e\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x1a\x00\x68\x00\x67\x00\x50\x00\x0e\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x1a\x00\x5b\x00\x1a\x00\x44\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x6f\x00\x5d\x00\x60\x00\x45\x00\x70\x00\x71\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x42\x00\x46\x00\x47\x00\x48\x00\x0e\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x0e\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x4d\x00\x2e\x00\x1a\x00\x32\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x33\x00\x4d\x00\x34\x00\x35\x00\x42\x00\x21\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x4e\x00\xff\xff\x24\x00\x25\x00\x0e\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x1a\x00\x1a\x00\x26\x00\x04\x00\x0e\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x2e\x00\x00\x00\xff\xff\x00\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x00\x00\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x26\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x00\x00\x00\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x00\x00\x50\x00\x51\x00\x09\x00\x00\x00\x27\x00\x00\x00\x00\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x7c\x00\x00\x00\x00\x00\x53\x00\x0e\x00\x2e\x00\x0d\x00\x10\x00\x00\x00\x2a\x00\x00\x00\x00\x00\x11\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x14\x00\x00\x00\x15\x00\x16\x00\x00\x00\x04\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x00\x00\x00\x12\x00\x13\x00\x00\x00\x00\x00\x14\x00\x00\x00\x15\x00\x16\x00\x00\x00\x04\x00\x17\x00\x18\x00\x19\x00\x1a\x00\xcc\xff\xcc\xff\x00\x00\x00\x00\x00\x00\x00\x00\xcc\xff\xcc\xff\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc\xff\xcc\xff\x12\x00\xcc\xff\xcc\xff\xcc\xff\xcc\xff\xcc\xff\x15\x00\x16\x00\x00\x00\x04\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x57\x00\x7a\x00\x2a\x00\x00\x00\x00\x00\x57\x00\x00\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x00\x00\x00\x00\x04\x00\x17\x00\x58\x00\x00\x00\x1a\x00\x04\x00\x17\x00\x50\x00\x51\x00\x1a\x00\x00\x00\x27\x00\x00\x00\x50\x00\x51\x00\x00\x00\x00\x00\x27\x00\x52\x00\x50\x00\x51\x00\x53\x00\x00\x00\x27\x00\x52\x00\x54\x00\x6a\x00\x53\x00\x00\x00\x00\x00\x78\x00\x54\x00\x55\x00\x53\x00\x00\x00\x00\x00\x00\x00\x00\x00\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, 67) [ happyReduceArr = array (2, 66) [
(2 , happyReduce_2), (2 , happyReduce_2),
(3 , happyReduce_3), (3 , happyReduce_3),
(4 , happyReduce_4), (4 , happyReduce_4),
@@ -274,8 +274,7 @@ happyReduceArr = array (2, 67) [
(63 , happyReduce_63), (63 , happyReduce_63),
(64 , happyReduce_64), (64 , happyReduce_64),
(65 , happyReduce_65), (65 , happyReduce_65),
(66 , happyReduce_66), (66 , happyReduce_66)
(67 , happyReduce_67)
] ]
happy_n_terms = 29 :: Int happy_n_terms = 29 :: Int
@@ -460,26 +459,20 @@ happyReduction_22 (happy_x_4 `HappyStk`
happyReduce_23 = happySpecReduce_1 11# happyReduction_23 happyReduce_23 = happySpecReduce_1 11# happyReduction_23
happyReduction_23 happy_x_1 happyReduction_23 happy_x_1
= happyIn16
(PType
)
happyReduce_24 = happySpecReduce_1 11# happyReduction_24
happyReduction_24 happy_x_1
= case happyOut5 happy_x_1 of { happy_var_1 -> = case happyOut5 happy_x_1 of { happy_var_1 ->
happyIn16 happyIn16
(PStr happy_var_1 (PStr happy_var_1
)} )}
happyReduce_25 = happySpecReduce_1 11# happyReduction_25 happyReduce_24 = happySpecReduce_1 11# happyReduction_24
happyReduction_25 happy_x_1 happyReduction_24 happy_x_1
= case happyOut6 happy_x_1 of { happy_var_1 -> = case happyOut6 happy_x_1 of { happy_var_1 ->
happyIn16 happyIn16
(PInt happy_var_1 (PInt happy_var_1
)} )}
happyReduce_26 = happySpecReduce_3 12# happyReduction_26 happyReduce_25 = happySpecReduce_3 12# happyReduction_25
happyReduction_26 happy_x_3 happyReduction_25 happy_x_3
happy_x_2 happy_x_2
happy_x_1 happy_x_1
= case happyOut9 happy_x_1 of { happy_var_1 -> = case happyOut9 happy_x_1 of { happy_var_1 ->
@@ -488,20 +481,20 @@ happyReduction_26 happy_x_3
(FieldPattern happy_var_1 happy_var_3 (FieldPattern happy_var_1 happy_var_3
)}} )}}
happyReduce_27 = happySpecReduce_0 13# happyReduction_27 happyReduce_26 = happySpecReduce_0 13# happyReduction_26
happyReduction_27 = happyIn18 happyReduction_26 = happyIn18
([] ([]
) )
happyReduce_28 = happySpecReduce_1 13# happyReduction_28 happyReduce_27 = happySpecReduce_1 13# happyReduction_27
happyReduction_28 happy_x_1 happyReduction_27 happy_x_1
= case happyOut17 happy_x_1 of { happy_var_1 -> = case happyOut17 happy_x_1 of { happy_var_1 ->
happyIn18 happyIn18
((:[]) happy_var_1 ((:[]) happy_var_1
)} )}
happyReduce_29 = happySpecReduce_3 13# happyReduction_29 happyReduce_28 = happySpecReduce_3 13# happyReduction_28
happyReduction_29 happy_x_3 happyReduction_28 happy_x_3
happy_x_2 happy_x_2
happy_x_1 happy_x_1
= case happyOut17 happy_x_1 of { happy_var_1 -> = case happyOut17 happy_x_1 of { happy_var_1 ->
@@ -510,21 +503,21 @@ happyReduction_29 happy_x_3
((:) happy_var_1 happy_var_3 ((:) happy_var_1 happy_var_3
)}} )}}
happyReduce_30 = happySpecReduce_1 14# happyReduction_30 happyReduce_29 = happySpecReduce_1 14# happyReduction_29
happyReduction_30 happy_x_1 happyReduction_29 happy_x_1
= case happyOut9 happy_x_1 of { happy_var_1 -> = case happyOut9 happy_x_1 of { happy_var_1 ->
happyIn19 happyIn19
(PVVar happy_var_1 (PVVar happy_var_1
)} )}
happyReduce_31 = happySpecReduce_1 14# happyReduction_31 happyReduce_30 = happySpecReduce_1 14# happyReduction_30
happyReduction_31 happy_x_1 happyReduction_30 happy_x_1
= happyIn19 = happyIn19
(PVWild (PVWild
) )
happyReduce_32 = happyReduce 6# 15# happyReduction_32 happyReduce_31 = happyReduce 6# 15# happyReduction_31
happyReduction_32 (happy_x_6 `HappyStk` happyReduction_31 (happy_x_6 `HappyStk`
happy_x_5 `HappyStk` happy_x_5 `HappyStk`
happy_x_4 `HappyStk` happy_x_4 `HappyStk`
happy_x_3 `HappyStk` happy_x_3 `HappyStk`
@@ -537,8 +530,8 @@ happyReduction_32 (happy_x_6 `HappyStk`
(ELet happy_var_3 happy_var_6 (ELet happy_var_3 happy_var_6
) `HappyStk` happyRest}} ) `HappyStk` happyRest}}
happyReduce_33 = happyReduce 6# 15# happyReduction_33 happyReduce_32 = happyReduce 6# 15# happyReduction_32
happyReduction_33 (happy_x_6 `HappyStk` happyReduction_32 (happy_x_6 `HappyStk`
happy_x_5 `HappyStk` happy_x_5 `HappyStk`
happy_x_4 `HappyStk` happy_x_4 `HappyStk`
happy_x_3 `HappyStk` happy_x_3 `HappyStk`
@@ -551,15 +544,15 @@ happyReduction_33 (happy_x_6 `HappyStk`
(ECase happy_var_2 happy_var_5 (ECase happy_var_2 happy_var_5
) `HappyStk` happyRest}} ) `HappyStk` happyRest}}
happyReduce_34 = happySpecReduce_1 15# happyReduction_34 happyReduce_33 = happySpecReduce_1 15# happyReduction_33
happyReduction_34 happy_x_1 happyReduction_33 happy_x_1
= case happyOut25 happy_x_1 of { happy_var_1 -> = case happyOut25 happy_x_1 of { happy_var_1 ->
happyIn20 happyIn20
(happy_var_1 (happy_var_1
)} )}
happyReduce_35 = happySpecReduce_3 16# happyReduction_35 happyReduce_34 = happySpecReduce_3 16# happyReduction_34
happyReduction_35 happy_x_3 happyReduction_34 happy_x_3
happy_x_2 happy_x_2
happy_x_1 happy_x_1
= case happyOut9 happy_x_1 of { happy_var_1 -> = case happyOut9 happy_x_1 of { happy_var_1 ->
@@ -568,20 +561,20 @@ happyReduction_35 happy_x_3
(LetDef happy_var_1 happy_var_3 (LetDef happy_var_1 happy_var_3
)}} )}}
happyReduce_36 = happySpecReduce_0 17# happyReduction_36 happyReduce_35 = happySpecReduce_0 17# happyReduction_35
happyReduction_36 = happyIn22 happyReduction_35 = happyIn22
([] ([]
) )
happyReduce_37 = happySpecReduce_1 17# happyReduction_37 happyReduce_36 = happySpecReduce_1 17# happyReduction_36
happyReduction_37 happy_x_1 happyReduction_36 happy_x_1
= case happyOut21 happy_x_1 of { happy_var_1 -> = case happyOut21 happy_x_1 of { happy_var_1 ->
happyIn22 happyIn22
((:[]) happy_var_1 ((:[]) happy_var_1
)} )}
happyReduce_38 = happySpecReduce_3 17# happyReduction_38 happyReduce_37 = happySpecReduce_3 17# happyReduction_37
happyReduction_38 happy_x_3 happyReduction_37 happy_x_3
happy_x_2 happy_x_2
happy_x_1 happy_x_1
= case happyOut21 happy_x_1 of { happy_var_1 -> = case happyOut21 happy_x_1 of { happy_var_1 ->
@@ -590,8 +583,8 @@ happyReduction_38 happy_x_3
((:) happy_var_1 happy_var_3 ((:) happy_var_1 happy_var_3
)}} )}}
happyReduce_39 = happyReduce 5# 18# happyReduction_39 happyReduce_38 = happyReduce 5# 18# happyReduction_38
happyReduction_39 (happy_x_5 `HappyStk` happyReduction_38 (happy_x_5 `HappyStk`
happy_x_4 `HappyStk` happy_x_4 `HappyStk`
happy_x_3 `HappyStk` happy_x_3 `HappyStk`
happy_x_2 `HappyStk` happy_x_2 `HappyStk`
@@ -604,20 +597,20 @@ happyReduction_39 (happy_x_5 `HappyStk`
(Case happy_var_1 happy_var_3 happy_var_5 (Case happy_var_1 happy_var_3 happy_var_5
) `HappyStk` happyRest}}} ) `HappyStk` happyRest}}}
happyReduce_40 = happySpecReduce_0 19# happyReduction_40 happyReduce_39 = happySpecReduce_0 19# happyReduction_39
happyReduction_40 = happyIn24 happyReduction_39 = happyIn24
([] ([]
) )
happyReduce_41 = happySpecReduce_1 19# happyReduction_41 happyReduce_40 = happySpecReduce_1 19# happyReduction_40
happyReduction_41 happy_x_1 happyReduction_40 happy_x_1
= case happyOut23 happy_x_1 of { happy_var_1 -> = case happyOut23 happy_x_1 of { happy_var_1 ->
happyIn24 happyIn24
((:[]) happy_var_1 ((:[]) happy_var_1
)} )}
happyReduce_42 = happySpecReduce_3 19# happyReduction_42 happyReduce_41 = happySpecReduce_3 19# happyReduction_41
happyReduction_42 happy_x_3 happyReduction_41 happy_x_3
happy_x_2 happy_x_2
happy_x_1 happy_x_1
= case happyOut23 happy_x_1 of { happy_var_1 -> = case happyOut23 happy_x_1 of { happy_var_1 ->
@@ -626,8 +619,8 @@ happyReduction_42 happy_x_3
((:) happy_var_1 happy_var_3 ((:) happy_var_1 happy_var_3
)}} )}}
happyReduce_43 = happyReduce 4# 20# happyReduction_43 happyReduce_42 = happyReduce 4# 20# happyReduction_42
happyReduction_43 (happy_x_4 `HappyStk` happyReduction_42 (happy_x_4 `HappyStk`
happy_x_3 `HappyStk` happy_x_3 `HappyStk`
happy_x_2 `HappyStk` happy_x_2 `HappyStk`
happy_x_1 `HappyStk` happy_x_1 `HappyStk`
@@ -638,8 +631,8 @@ happyReduction_43 (happy_x_4 `HappyStk`
(EAbs happy_var_2 happy_var_4 (EAbs happy_var_2 happy_var_4
) `HappyStk` happyRest}} ) `HappyStk` happyRest}}
happyReduce_44 = happyReduce 7# 20# happyReduction_44 happyReduce_43 = happyReduce 7# 20# happyReduction_43
happyReduction_44 (happy_x_7 `HappyStk` happyReduction_43 (happy_x_7 `HappyStk`
happy_x_6 `HappyStk` happy_x_6 `HappyStk`
happy_x_5 `HappyStk` happy_x_5 `HappyStk`
happy_x_4 `HappyStk` happy_x_4 `HappyStk`
@@ -654,15 +647,15 @@ happyReduction_44 (happy_x_7 `HappyStk`
(EPi happy_var_2 happy_var_4 happy_var_7 (EPi happy_var_2 happy_var_4 happy_var_7
) `HappyStk` happyRest}}} ) `HappyStk` happyRest}}}
happyReduce_45 = happySpecReduce_1 20# happyReduction_45 happyReduce_44 = happySpecReduce_1 20# happyReduction_44
happyReduction_45 happy_x_1 happyReduction_44 happy_x_1
= case happyOut33 happy_x_1 of { happy_var_1 -> = case happyOut33 happy_x_1 of { happy_var_1 ->
happyIn25 happyIn25
(happy_var_1 (happy_var_1
)} )}
happyReduce_46 = happySpecReduce_2 21# happyReduction_46 happyReduce_45 = happySpecReduce_2 21# happyReduction_45
happyReduction_46 happy_x_2 happyReduction_45 happy_x_2
happy_x_1 happy_x_1
= case happyOut26 happy_x_1 of { happy_var_1 -> = case happyOut26 happy_x_1 of { happy_var_1 ->
case happyOut27 happy_x_2 of { happy_var_2 -> case happyOut27 happy_x_2 of { happy_var_2 ->
@@ -670,15 +663,15 @@ happyReduction_46 happy_x_2
(EApp happy_var_1 happy_var_2 (EApp happy_var_1 happy_var_2
)}} )}}
happyReduce_47 = happySpecReduce_1 21# happyReduction_47 happyReduce_46 = happySpecReduce_1 21# happyReduction_46
happyReduction_47 happy_x_1 happyReduction_46 happy_x_1
= case happyOut27 happy_x_1 of { happy_var_1 -> = case happyOut27 happy_x_1 of { happy_var_1 ->
happyIn26 happyIn26
(happy_var_1 (happy_var_1
)} )}
happyReduce_48 = happySpecReduce_3 22# happyReduction_48 happyReduce_47 = happySpecReduce_3 22# happyReduction_47
happyReduction_48 happy_x_3 happyReduction_47 happy_x_3
happy_x_2 happy_x_2
happy_x_1 happy_x_1
= case happyOut27 happy_x_1 of { happy_var_1 -> = case happyOut27 happy_x_1 of { happy_var_1 ->
@@ -687,15 +680,15 @@ happyReduction_48 happy_x_3
(EProj happy_var_1 happy_var_3 (EProj happy_var_1 happy_var_3
)}} )}}
happyReduce_49 = happySpecReduce_1 22# happyReduction_49 happyReduce_48 = happySpecReduce_1 22# happyReduction_48
happyReduction_49 happy_x_1 happyReduction_48 happy_x_1
= case happyOut28 happy_x_1 of { happy_var_1 -> = case happyOut28 happy_x_1 of { happy_var_1 ->
happyIn27 happyIn27
(happy_var_1 (happy_var_1
)} )}
happyReduce_50 = happyReduce 4# 23# happyReduction_50 happyReduce_49 = happyReduce 4# 23# happyReduction_49
happyReduction_50 (happy_x_4 `HappyStk` happyReduction_49 (happy_x_4 `HappyStk`
happy_x_3 `HappyStk` happy_x_3 `HappyStk`
happy_x_2 `HappyStk` happy_x_2 `HappyStk`
happy_x_1 `HappyStk` happy_x_1 `HappyStk`
@@ -705,8 +698,8 @@ happyReduction_50 (happy_x_4 `HappyStk`
(ERecType happy_var_3 (ERecType happy_var_3
) `HappyStk` happyRest} ) `HappyStk` happyRest}
happyReduce_51 = happyReduce 4# 23# happyReduction_51 happyReduce_50 = happyReduce 4# 23# happyReduction_50
happyReduction_51 (happy_x_4 `HappyStk` happyReduction_50 (happy_x_4 `HappyStk`
happy_x_3 `HappyStk` happy_x_3 `HappyStk`
happy_x_2 `HappyStk` happy_x_2 `HappyStk`
happy_x_1 `HappyStk` happy_x_1 `HappyStk`
@@ -716,49 +709,49 @@ happyReduction_51 (happy_x_4 `HappyStk`
(ERec happy_var_3 (ERec happy_var_3
) `HappyStk` happyRest} ) `HappyStk` happyRest}
happyReduce_52 = happySpecReduce_1 23# happyReduction_52 happyReduce_51 = happySpecReduce_1 23# happyReduction_51
happyReduction_52 happy_x_1 happyReduction_51 happy_x_1
= case happyOut9 happy_x_1 of { happy_var_1 -> = case happyOut9 happy_x_1 of { happy_var_1 ->
happyIn28 happyIn28
(EVar happy_var_1 (EVar happy_var_1
)} )}
happyReduce_53 = happySpecReduce_1 23# happyReduction_53 happyReduce_52 = happySpecReduce_1 23# happyReduction_52
happyReduction_53 happy_x_1 happyReduction_52 happy_x_1
= happyIn28 = happyIn28
(EType (EType
) )
happyReduce_54 = happySpecReduce_1 23# happyReduction_54 happyReduce_53 = happySpecReduce_1 23# happyReduction_53
happyReduction_54 happy_x_1 happyReduction_53 happy_x_1
= case happyOut5 happy_x_1 of { happy_var_1 -> = case happyOut5 happy_x_1 of { happy_var_1 ->
happyIn28 happyIn28
(EStr happy_var_1 (EStr happy_var_1
)} )}
happyReduce_55 = happySpecReduce_1 23# happyReduction_55 happyReduce_54 = happySpecReduce_1 23# happyReduction_54
happyReduction_55 happy_x_1 happyReduction_54 happy_x_1
= case happyOut6 happy_x_1 of { happy_var_1 -> = case happyOut6 happy_x_1 of { happy_var_1 ->
happyIn28 happyIn28
(EInteger happy_var_1 (EInteger happy_var_1
)} )}
happyReduce_56 = happySpecReduce_1 23# happyReduction_56 happyReduce_55 = happySpecReduce_1 23# happyReduction_55
happyReduction_56 happy_x_1 happyReduction_55 happy_x_1
= case happyOut7 happy_x_1 of { happy_var_1 -> = case happyOut7 happy_x_1 of { happy_var_1 ->
happyIn28 happyIn28
(EDouble happy_var_1 (EDouble happy_var_1
)} )}
happyReduce_57 = happySpecReduce_1 23# happyReduction_57 happyReduce_56 = happySpecReduce_1 23# happyReduction_56
happyReduction_57 happy_x_1 happyReduction_56 happy_x_1
= case happyOut8 happy_x_1 of { happy_var_1 -> = case happyOut8 happy_x_1 of { happy_var_1 ->
happyIn28 happyIn28
(EMeta happy_var_1 (EMeta happy_var_1
)} )}
happyReduce_58 = happySpecReduce_3 23# happyReduction_58 happyReduce_57 = happySpecReduce_3 23# happyReduction_57
happyReduction_58 happy_x_3 happyReduction_57 happy_x_3
happy_x_2 happy_x_2
happy_x_1 happy_x_1
= case happyOut20 happy_x_2 of { happy_var_2 -> = case happyOut20 happy_x_2 of { happy_var_2 ->
@@ -766,8 +759,8 @@ happyReduction_58 happy_x_3
(happy_var_2 (happy_var_2
)} )}
happyReduce_59 = happySpecReduce_3 24# happyReduction_59 happyReduce_58 = happySpecReduce_3 24# happyReduction_58
happyReduction_59 happy_x_3 happyReduction_58 happy_x_3
happy_x_2 happy_x_2
happy_x_1 happy_x_1
= case happyOut9 happy_x_1 of { happy_var_1 -> = case happyOut9 happy_x_1 of { happy_var_1 ->
@@ -776,20 +769,20 @@ happyReduction_59 happy_x_3
(FieldType happy_var_1 happy_var_3 (FieldType happy_var_1 happy_var_3
)}} )}}
happyReduce_60 = happySpecReduce_0 25# happyReduction_60 happyReduce_59 = happySpecReduce_0 25# happyReduction_59
happyReduction_60 = happyIn30 happyReduction_59 = happyIn30
([] ([]
) )
happyReduce_61 = happySpecReduce_1 25# happyReduction_61 happyReduce_60 = happySpecReduce_1 25# happyReduction_60
happyReduction_61 happy_x_1 happyReduction_60 happy_x_1
= case happyOut29 happy_x_1 of { happy_var_1 -> = case happyOut29 happy_x_1 of { happy_var_1 ->
happyIn30 happyIn30
((:[]) happy_var_1 ((:[]) happy_var_1
)} )}
happyReduce_62 = happySpecReduce_3 25# happyReduction_62 happyReduce_61 = happySpecReduce_3 25# happyReduction_61
happyReduction_62 happy_x_3 happyReduction_61 happy_x_3
happy_x_2 happy_x_2
happy_x_1 happy_x_1
= case happyOut29 happy_x_1 of { happy_var_1 -> = case happyOut29 happy_x_1 of { happy_var_1 ->
@@ -798,8 +791,8 @@ happyReduction_62 happy_x_3
((:) happy_var_1 happy_var_3 ((:) happy_var_1 happy_var_3
)}} )}}
happyReduce_63 = happySpecReduce_3 26# happyReduction_63 happyReduce_62 = happySpecReduce_3 26# happyReduction_62
happyReduction_63 happy_x_3 happyReduction_62 happy_x_3
happy_x_2 happy_x_2
happy_x_1 happy_x_1
= case happyOut9 happy_x_1 of { happy_var_1 -> = case happyOut9 happy_x_1 of { happy_var_1 ->
@@ -808,20 +801,20 @@ happyReduction_63 happy_x_3
(FieldValue happy_var_1 happy_var_3 (FieldValue happy_var_1 happy_var_3
)}} )}}
happyReduce_64 = happySpecReduce_0 27# happyReduction_64 happyReduce_63 = happySpecReduce_0 27# happyReduction_63
happyReduction_64 = happyIn32 happyReduction_63 = happyIn32
([] ([]
) )
happyReduce_65 = happySpecReduce_1 27# happyReduction_65 happyReduce_64 = happySpecReduce_1 27# happyReduction_64
happyReduction_65 happy_x_1 happyReduction_64 happy_x_1
= case happyOut31 happy_x_1 of { happy_var_1 -> = case happyOut31 happy_x_1 of { happy_var_1 ->
happyIn32 happyIn32
((:[]) happy_var_1 ((:[]) happy_var_1
)} )}
happyReduce_66 = happySpecReduce_3 27# happyReduction_66 happyReduce_65 = happySpecReduce_3 27# happyReduction_65
happyReduction_66 happy_x_3 happyReduction_65 happy_x_3
happy_x_2 happy_x_2
happy_x_1 happy_x_1
= case happyOut31 happy_x_1 of { happy_var_1 -> = case happyOut31 happy_x_1 of { happy_var_1 ->
@@ -830,8 +823,8 @@ happyReduction_66 happy_x_3
((:) happy_var_1 happy_var_3 ((:) happy_var_1 happy_var_3
)}} )}}
happyReduce_67 = happySpecReduce_1 28# happyReduction_67 happyReduce_66 = happySpecReduce_1 28# happyReduction_66
happyReduction_67 happy_x_1 happyReduction_66 happy_x_1
= case happyOut26 happy_x_1 of { happy_var_1 -> = case happyOut26 happy_x_1 of { happy_var_1 ->
happyIn33 happyIn33
(happy_var_1 (happy_var_1

View File

@@ -87,7 +87,6 @@ Pattern :: { Pattern }
Pattern : '(' CIdent ListPattern ')' { PCons $2 (reverse $3) } Pattern : '(' CIdent ListPattern ')' { PCons $2 (reverse $3) }
| PatternVariable { PVar $1 } | PatternVariable { PVar $1 }
| 'rec' '{' ListFieldPattern '}' { PRec $3 } | 'rec' '{' ListFieldPattern '}' { PRec $3 }
| 'Type' { PType }
| String { PStr $1 } | String { PStr $1 }
| Integer { PInt $1 } | Integer { PInt $1 }

View File

@@ -88,7 +88,6 @@ instance Print (Tree c) where
PCons cident patterns -> prPrec _i 0 (concatD [doc (showString "(") , prt 0 cident , prt 0 patterns , doc (showString ")")]) PCons cident patterns -> prPrec _i 0 (concatD [doc (showString "(") , prt 0 cident , prt 0 patterns , doc (showString ")")])
PVar patternvariable -> prPrec _i 0 (concatD [prt 0 patternvariable]) PVar patternvariable -> prPrec _i 0 (concatD [prt 0 patternvariable])
PRec fieldpatterns -> prPrec _i 0 (concatD [doc (showString "rec") , doc (showString "{") , prt 0 fieldpatterns , doc (showString "}")]) PRec fieldpatterns -> prPrec _i 0 (concatD [doc (showString "rec") , doc (showString "{") , prt 0 fieldpatterns , doc (showString "}")])
PType -> prPrec _i 0 (concatD [doc (showString "Type")])
PStr str -> prPrec _i 0 (concatD [prt 0 str]) PStr str -> prPrec _i 0 (concatD [prt 0 str])
PInt n -> prPrec _i 0 (concatD [prt 0 n]) PInt n -> prPrec _i 0 (concatD [prt 0 n])
FieldPattern cident pattern -> prPrec _i 0 (concatD [prt 0 cident , doc (showString "=") , prt 0 pattern]) FieldPattern cident pattern -> prPrec _i 0 (concatD [prt 0 cident , doc (showString "=") , prt 0 pattern])

View File

@@ -19,7 +19,6 @@ transTree t = case t of
PCons cident patterns -> failure t PCons cident patterns -> failure t
PVar patternvariable -> failure t PVar patternvariable -> failure t
PRec fieldpatterns -> failure t PRec fieldpatterns -> failure t
PType -> failure t
PStr str -> failure t PStr str -> failure t
PInt n -> failure t PInt n -> failure t
FieldPattern cident pattern -> failure t FieldPattern cident pattern -> failure t
@@ -65,7 +64,6 @@ transPattern t = case t of
PCons cident patterns -> failure t PCons cident patterns -> failure t
PVar patternvariable -> failure t PVar patternvariable -> failure t
PRec fieldpatterns -> failure t PRec fieldpatterns -> failure t
PType -> failure t
PStr str -> failure t PStr str -> failure t
PInt n -> failure t PInt n -> failure t

View File

@@ -193,7 +193,6 @@ match (PCons c' ps) (VCons c vs)
match (PVar x) v = Just (bind x v) match (PVar x) v = Just (bind x v)
match (PRec fps) (VRec fs) = concatM [ match p (recLookup f fs) | FieldPattern f p <- fps ] match (PRec fps) (VRec fs) = concatM [ match p (recLookup f fs) | FieldPattern f p <- fps ]
match (PInt i) (VInt i') | i == i' = Just [] match (PInt i) (VInt i') | i == i' = Just []
match PType VType = Just []
match (PStr s) (VStr s') | s == s' = Just [] match (PStr s) (VStr s') | s == s' = Just []
match (PInt i) (VInt i') | i == i' = Just [] match (PInt i) (VInt i') | i == i' = Just []
match _ _ = Nothing match _ _ = Nothing

View File

@@ -58,7 +58,6 @@ data Tree :: * -> * where
PEmptyList :: Tree Pattern_ PEmptyList :: Tree Pattern_
PList :: [CommaPattern] -> Tree Pattern_ PList :: [CommaPattern] -> Tree Pattern_
PTuple :: CommaPattern -> [CommaPattern] -> Tree Pattern_ PTuple :: CommaPattern -> [CommaPattern] -> Tree Pattern_
PType :: Tree Pattern_
PStr :: String -> Tree Pattern_ PStr :: String -> Tree Pattern_
PInt :: Integer -> Tree Pattern_ PInt :: Integer -> Tree Pattern_
PVar :: Ident -> Tree Pattern_ PVar :: Ident -> Tree Pattern_
@@ -212,7 +211,6 @@ instance Show (Tree c) where
PEmptyList -> showString "PEmptyList" PEmptyList -> showString "PEmptyList"
PList commapatterns -> opar n . showString "PList" . showChar ' ' . showsPrec 1 commapatterns . cpar n PList commapatterns -> opar n . showString "PList" . showChar ' ' . showsPrec 1 commapatterns . cpar n
PTuple commapattern commapatterns -> opar n . showString "PTuple" . showChar ' ' . showsPrec 1 commapattern . showChar ' ' . showsPrec 1 commapatterns . cpar n PTuple commapattern commapatterns -> opar n . showString "PTuple" . showChar ' ' . showsPrec 1 commapattern . showChar ' ' . showsPrec 1 commapatterns . cpar n
PType -> showString "PType"
PStr str -> opar n . showString "PStr" . showChar ' ' . showsPrec 1 str . cpar n PStr str -> opar n . showString "PStr" . showChar ' ' . showsPrec 1 str . cpar n
PInt n -> opar n . showString "PInt" . showChar ' ' . showsPrec 1 n . cpar n PInt n -> opar n . showString "PInt" . showChar ' ' . showsPrec 1 n . cpar n
PVar i -> opar n . showString "PVar" . showChar ' ' . showsPrec 1 i . cpar n PVar i -> opar n . showString "PVar" . showChar ' ' . showsPrec 1 i . cpar n
@@ -288,7 +286,6 @@ johnMajorEq (PRec fieldpatterns) (PRec fieldpatterns_) = fieldpatterns == fieldp
johnMajorEq PEmptyList PEmptyList = True johnMajorEq PEmptyList PEmptyList = True
johnMajorEq (PList commapatterns) (PList commapatterns_) = commapatterns == commapatterns_ johnMajorEq (PList commapatterns) (PList commapatterns_) = commapatterns == commapatterns_
johnMajorEq (PTuple commapattern commapatterns) (PTuple commapattern_ commapatterns_) = commapattern == commapattern_ && commapatterns == commapatterns_ johnMajorEq (PTuple commapattern commapatterns) (PTuple commapattern_ commapatterns_) = commapattern == commapattern_ && commapatterns == commapatterns_
johnMajorEq PType PType = True
johnMajorEq (PStr str) (PStr str_) = str == str_ johnMajorEq (PStr str) (PStr str_) = str == str_
johnMajorEq (PInt n) (PInt n_) = n == n_ johnMajorEq (PInt n) (PInt n_) = n == n_
johnMajorEq (PVar i) (PVar i_) = i == i_ johnMajorEq (PVar i) (PVar i_) = i == i_
@@ -363,59 +360,58 @@ instance Ord (Tree c) where
index (PEmptyList ) = 14 index (PEmptyList ) = 14
index (PList _) = 15 index (PList _) = 15
index (PTuple _ _) = 16 index (PTuple _ _) = 16
index (PType ) = 17 index (PStr _) = 17
index (PStr _) = 18 index (PInt _) = 18
index (PInt _) = 19 index (PVar _) = 19
index (PVar _) = 20 index (PWild ) = 20
index (PWild ) = 21 index (CommaPattern _) = 21
index (CommaPattern _) = 22 index (FieldPattern _ _) = 22
index (FieldPattern _ _) = 23 index (EPi _ _ _) = 23
index (EPi _ _ _) = 24 index (EPiNoVar _ _) = 24
index (EPiNoVar _ _) = 25 index (EAbs _ _) = 25
index (EAbs _ _) = 26 index (ELet _ _) = 26
index (ELet _ _) = 27 index (ECase _ _) = 27
index (ECase _ _) = 28 index (EIf _ _ _) = 28
index (EIf _ _ _) = 29 index (EDo _ _) = 29
index (EDo _ _) = 30 index (EBind _ _) = 30
index (EBind _ _) = 31 index (EBindC _ _) = 31
index (EBindC _ _) = 32 index (EOr _ _) = 32
index (EOr _ _) = 33 index (EAnd _ _) = 33
index (EAnd _ _) = 34 index (EEq _ _) = 34
index (EEq _ _) = 35 index (ENe _ _) = 35
index (ENe _ _) = 36 index (ELt _ _) = 36
index (ELt _ _) = 37 index (ELe _ _) = 37
index (ELe _ _) = 38 index (EGt _ _) = 38
index (EGt _ _) = 39 index (EGe _ _) = 39
index (EGe _ _) = 40 index (EListCons _ _) = 40
index (EListCons _ _) = 41 index (EAdd _ _) = 41
index (EAdd _ _) = 42 index (ESub _ _) = 42
index (ESub _ _) = 43 index (EMul _ _) = 43
index (EMul _ _) = 44 index (EDiv _ _) = 44
index (EDiv _ _) = 45 index (EMod _ _) = 45
index (EMod _ _) = 46 index (ENeg _) = 46
index (ENeg _) = 47 index (EApp _ _) = 47
index (EApp _ _) = 48 index (EProj _ _) = 48
index (EProj _ _) = 49 index (ERecType _) = 49
index (ERecType _) = 50 index (ERec _) = 50
index (ERec _) = 51 index (EEmptyList ) = 51
index (EEmptyList ) = 52 index (EList _) = 52
index (EList _) = 53 index (ETuple _ _) = 53
index (ETuple _ _) = 54 index (EVar _) = 54
index (EVar _) = 55 index (EType ) = 55
index (EType ) = 56 index (EStr _) = 56
index (EStr _) = 57 index (EInteger _) = 57
index (EInteger _) = 58 index (EDouble _) = 58
index (EDouble _) = 59 index (EMeta ) = 59
index (EMeta ) = 60 index (VVar _) = 60
index (VVar _) = 61 index (VWild ) = 61
index (VWild ) = 62 index (LetDef _ _) = 62
index (LetDef _ _) = 63 index (Case _ _ _) = 63
index (Case _ _ _) = 64 index (BindVar _ _) = 64
index (BindVar _ _) = 65 index (BindNoVar _) = 65
index (BindNoVar _) = 66 index (FieldType _ _) = 66
index (FieldType _ _) = 67 index (FieldValue _ _) = 67
index (FieldValue _ _) = 68 index (Ident _) = 68
index (Ident _) = 69
compareSame (Module imports decls) (Module imports_ decls_) = mappend (compare imports imports_) (compare decls decls_) compareSame (Module imports decls) (Module imports_ decls_) = mappend (compare imports imports_) (compare decls decls_)
compareSame (Import i) (Import i_) = compare i i_ compareSame (Import i) (Import i_) = compare i i_
compareSame (DataDecl i exp consdecls) (DataDecl i_ exp_ consdecls_) = mappend (compare i i_) (mappend (compare exp exp_) (compare consdecls consdecls_)) compareSame (DataDecl i exp consdecls) (DataDecl i_ exp_ consdecls_) = mappend (compare i i_) (mappend (compare exp exp_) (compare consdecls consdecls_))
@@ -433,7 +429,6 @@ instance Ord (Tree c) where
compareSame PEmptyList PEmptyList = EQ compareSame PEmptyList PEmptyList = EQ
compareSame (PList commapatterns) (PList commapatterns_) = compare commapatterns commapatterns_ compareSame (PList commapatterns) (PList commapatterns_) = compare commapatterns commapatterns_
compareSame (PTuple commapattern commapatterns) (PTuple commapattern_ commapatterns_) = mappend (compare commapattern commapattern_) (compare commapatterns commapatterns_) compareSame (PTuple commapattern commapatterns) (PTuple commapattern_ commapatterns_) = mappend (compare commapattern commapattern_) (compare commapatterns commapatterns_)
compareSame PType PType = EQ
compareSame (PStr str) (PStr str_) = compare str str_ compareSame (PStr str) (PStr str_) = compare str str_
compareSame (PInt n) (PInt n_) = compare n n_ compareSame (PInt n) (PInt n_) = compare n n_
compareSame (PVar i) (PVar i_) = compare i i_ compareSame (PVar i) (PVar i_) = compare i i_

View File

@@ -143,7 +143,6 @@ All other symbols are terminals.\\
& {\delimit} &{\terminal{[}} {\terminal{]}} \\ & {\delimit} &{\terminal{[}} {\terminal{]}} \\
& {\delimit} &{\terminal{[}} {\nonterminal{ListCommaPattern}} {\terminal{]}} \\ & {\delimit} &{\terminal{[}} {\nonterminal{ListCommaPattern}} {\terminal{]}} \\
& {\delimit} &{\terminal{(}} {\nonterminal{CommaPattern}} {\terminal{,}} {\nonterminal{ListCommaPattern}} {\terminal{)}} \\ & {\delimit} &{\terminal{(}} {\nonterminal{CommaPattern}} {\terminal{,}} {\nonterminal{ListCommaPattern}} {\terminal{)}} \\
& {\delimit} &{\terminal{Type}} \\
& {\delimit} &{\nonterminal{String}} \\ & {\delimit} &{\nonterminal{String}} \\
& {\delimit} &{\nonterminal{Integer}} \\ & {\delimit} &{\nonterminal{Integer}} \\
& {\delimit} &{\nonterminal{Ident}} \\ & {\delimit} &{\nonterminal{Ident}} \\

View File

@@ -44,7 +44,7 @@ share :: String -> String
share = id share = id
data Tok = data Tok =
TS !String -- reserved words TS !String -- reserved words and symbols
| TL !String -- string literals | TL !String -- string literals
| TI !String -- integer literals | TI !String -- integer literals
| TV !String -- identifiers | TV !String -- identifiers

View File

@@ -15,7 +15,7 @@ $d = [0-9] -- digit
$i = [$l $d _ '] -- identifier character $i = [$l $d _ '] -- identifier character
$u = [\0-\255] -- universal: any character $u = [\0-\255] -- universal: any character
@rsyms = -- reserved words consisting of special symbols @rsyms = -- symbols and non-identifier-like reserved words
\; | \: | \{ | \} | \= | \| | \| \| | \: \: | \( | \) | \[ | \] | \, | \_ | \- \> | \\ | \< \- | \> \> \= | \> \> | \& \& | \= \= | \/ \= | \< | \< \= | \> | \> \= | \+ | \- | \* | \/ | \% | \. | \? \; | \: | \{ | \} | \= | \| | \| \| | \: \: | \( | \) | \[ | \] | \, | \_ | \- \> | \\ | \< \- | \> \> \= | \> \> | \& \& | \= \= | \/ \= | \< | \< \= | \> | \> \= | \+ | \- | \* | \/ | \% | \. | \?
:- :-
@@ -39,7 +39,7 @@ share :: String -> String
share = id share = id
data Tok = data Tok =
TS !String -- reserved words TS !String -- reserved words and symbols
| TL !String -- string literals | TL !String -- string literals
| TI !String -- integer literals | TI !String -- integer literals
| TV !String -- identifiers | TV !String -- identifiers

File diff suppressed because one or more lines are too long

View File

@@ -137,7 +137,6 @@ Pattern3 : 'rec' '{' ListFieldPattern '}' { PRec $3 }
| '[' ']' { PEmptyList } | '[' ']' { PEmptyList }
| '[' ListCommaPattern ']' { PList $2 } | '[' ListCommaPattern ']' { PList $2 }
| '(' CommaPattern ',' ListCommaPattern ')' { PTuple $2 $4 } | '(' CommaPattern ',' ListCommaPattern ')' { PTuple $2 $4 }
| 'Type' { PType }
| String { PStr $1 } | String { PStr $1 }
| Integer { PInt $1 } | Integer { PInt $1 }
| Ident { PVar $1 } | Ident { PVar $1 }

View File

@@ -97,7 +97,6 @@ instance Print (Tree c) where
PEmptyList -> prPrec _i 3 (concatD [doc (showString "[") , doc (showString "]")]) PEmptyList -> prPrec _i 3 (concatD [doc (showString "[") , doc (showString "]")])
PList commapatterns -> prPrec _i 3 (concatD [doc (showString "[") , prt 0 commapatterns , doc (showString "]")]) PList commapatterns -> prPrec _i 3 (concatD [doc (showString "[") , prt 0 commapatterns , doc (showString "]")])
PTuple commapattern commapatterns -> prPrec _i 3 (concatD [doc (showString "(") , prt 0 commapattern , doc (showString ",") , prt 0 commapatterns , doc (showString ")")]) PTuple commapattern commapatterns -> prPrec _i 3 (concatD [doc (showString "(") , prt 0 commapattern , doc (showString ",") , prt 0 commapatterns , doc (showString ")")])
PType -> prPrec _i 3 (concatD [doc (showString "Type")])
PStr str -> prPrec _i 3 (concatD [prt 0 str]) PStr str -> prPrec _i 3 (concatD [prt 0 str])
PInt n -> prPrec _i 3 (concatD [prt 0 n]) PInt n -> prPrec _i 3 (concatD [prt 0 n])
PVar i -> prPrec _i 3 (concatD [prt 0 i]) PVar i -> prPrec _i 3 (concatD [prt 0 i])

View File

@@ -28,7 +28,6 @@ transTree t = case t of
PEmptyList -> failure t PEmptyList -> failure t
PList commapatterns -> failure t PList commapatterns -> failure t
PTuple commapattern commapatterns -> failure t PTuple commapattern commapatterns -> failure t
PType -> failure t
PStr str -> failure t PStr str -> failure t
PInt n -> failure t PInt n -> failure t
PVar i -> failure t PVar i -> failure t
@@ -116,7 +115,6 @@ transPattern t = case t of
PEmptyList -> failure t PEmptyList -> failure t
PList commapatterns -> failure t PList commapatterns -> failure t
PTuple commapattern commapatterns -> failure t PTuple commapattern commapatterns -> failure t
PType -> failure t
PStr str -> failure t PStr str -> failure t
PInt n -> failure t PInt n -> failure t
PVar i -> failure t PVar i -> failure t

View File

@@ -55,8 +55,6 @@ PTuple. Pattern3 ::= "(" CommaPattern "," [CommaPattern] ")" ;
CommaPattern. CommaPattern ::= Pattern ; CommaPattern. CommaPattern ::= Pattern ;
separator nonempty CommaPattern "," ; separator nonempty CommaPattern "," ;
-- The pattern matching the Type constant
PType. Pattern3 ::= "Type" ;
-- String literal patterns -- String literal patterns
PStr. Pattern3 ::= String ; PStr. Pattern3 ::= String ;
-- Integer literal patterns -- Integer literal patterns