summaryrefslogtreecommitdiff
path: root/src/Transfer/Syntax
diff options
context:
space:
mode:
Diffstat (limited to 'src/Transfer/Syntax')
-rw-r--r--src/Transfer/Syntax/Abs.hs18
-rw-r--r--src/Transfer/Syntax/Doc.tex6
-rw-r--r--src/Transfer/Syntax/Par.hs38
-rw-r--r--src/Transfer/Syntax/Par.y6
-rw-r--r--src/Transfer/Syntax/Print.hs6
-rw-r--r--src/Transfer/Syntax/Skel.hs4
-rw-r--r--src/Transfer/Syntax/Syntax.cf6
7 files changed, 42 insertions, 42 deletions
diff --git a/src/Transfer/Syntax/Abs.hs b/src/Transfer/Syntax/Abs.hs
index 6de70f3cc..fb9b9adbe 100644
--- a/src/Transfer/Syntax/Abs.hs
+++ b/src/Transfer/Syntax/Abs.hs
@@ -69,9 +69,9 @@ data Tree :: * -> * where
EMul :: Exp -> Exp -> Tree Exp_
EDiv :: Exp -> Exp -> Tree Exp_
EMod :: Exp -> Exp -> Tree Exp_
- EProj :: Exp -> Ident -> Tree Exp_
ENeg :: Exp -> Tree Exp_
EApp :: Exp -> Exp -> Tree Exp_
+ EProj :: Exp -> Ident -> Tree Exp_
EEmptyRec :: Tree Exp_
ERecType :: [FieldType] -> Tree Exp_
ERec :: [FieldValue] -> Tree Exp_
@@ -132,9 +132,9 @@ composOpM f t = case t of
EMul exp0 exp1 -> return EMul `ap` f exp0 `ap` f exp1
EDiv exp0 exp1 -> return EDiv `ap` f exp0 `ap` f exp1
EMod exp0 exp1 -> return EMod `ap` f exp0 `ap` f exp1
- EProj exp i -> return EProj `ap` f exp `ap` f i
ENeg exp -> return ENeg `ap` f exp
EApp exp0 exp1 -> return EApp `ap` f exp0 `ap` f exp1
+ EProj exp i -> return EProj `ap` f exp `ap` f i
ERecType fieldtypes -> return ERecType `ap` mapM f fieldtypes
ERec fieldvalues -> return ERec `ap` mapM f fieldvalues
EVar i -> return EVar `ap` f i
@@ -178,9 +178,9 @@ composOpFold zero combine f t = case t of
EMul exp0 exp1 -> f exp0 `combine` f exp1
EDiv exp0 exp1 -> f exp0 `combine` f exp1
EMod exp0 exp1 -> f exp0 `combine` f exp1
- EProj exp i -> f exp `combine` f i
ENeg exp -> f exp
EApp exp0 exp1 -> f exp0 `combine` f exp1
+ EProj exp i -> f exp `combine` f i
ERecType fieldtypes -> foldr combine zero (map f fieldtypes)
ERec fieldvalues -> foldr combine zero (map f fieldvalues)
EVar i -> f i
@@ -228,9 +228,9 @@ instance Show (Tree c) where
EMul exp0 exp1 -> opar n . showString "EMul" . showChar ' ' . showsPrec 1 exp0 . showChar ' ' . showsPrec 1 exp1 . cpar n
EDiv exp0 exp1 -> opar n . showString "EDiv" . showChar ' ' . showsPrec 1 exp0 . showChar ' ' . showsPrec 1 exp1 . cpar n
EMod exp0 exp1 -> opar n . showString "EMod" . showChar ' ' . showsPrec 1 exp0 . showChar ' ' . showsPrec 1 exp1 . cpar n
- EProj exp i -> opar n . showString "EProj" . showChar ' ' . showsPrec 1 exp . showChar ' ' . showsPrec 1 i . cpar n
ENeg exp -> opar n . showString "ENeg" . showChar ' ' . showsPrec 1 exp . cpar n
EApp exp0 exp1 -> opar n . showString "EApp" . showChar ' ' . showsPrec 1 exp0 . showChar ' ' . showsPrec 1 exp1 . cpar n
+ EProj exp i -> opar n . showString "EProj" . showChar ' ' . showsPrec 1 exp . showChar ' ' . showsPrec 1 i . cpar n
EEmptyRec -> showString "EEmptyRec"
ERecType fieldtypes -> opar n . showString "ERecType" . showChar ' ' . showsPrec 1 fieldtypes . cpar n
ERec fieldvalues -> opar n . showString "ERec" . showChar ' ' . showsPrec 1 fieldvalues . cpar n
@@ -286,9 +286,9 @@ johnMajorEq (ESub exp0 exp1) (ESub exp0_ exp1_) = exp0 == exp0_ && exp1 == exp1_
johnMajorEq (EMul exp0 exp1) (EMul exp0_ exp1_) = exp0 == exp0_ && exp1 == exp1_
johnMajorEq (EDiv exp0 exp1) (EDiv exp0_ exp1_) = exp0 == exp0_ && exp1 == exp1_
johnMajorEq (EMod exp0 exp1) (EMod exp0_ exp1_) = exp0 == exp0_ && exp1 == exp1_
-johnMajorEq (EProj exp i) (EProj exp_ i_) = exp == exp_ && i == i_
johnMajorEq (ENeg exp) (ENeg exp_) = exp == exp_
johnMajorEq (EApp exp0 exp1) (EApp exp0_ exp1_) = exp0 == exp0_ && exp1 == exp1_
+johnMajorEq (EProj exp i) (EProj exp_ i_) = exp == exp_ && i == i_
johnMajorEq EEmptyRec EEmptyRec = True
johnMajorEq (ERecType fieldtypes) (ERecType fieldtypes_) = fieldtypes == fieldtypes_
johnMajorEq (ERec fieldvalues) (ERec fieldvalues_) = fieldvalues == fieldvalues_
@@ -343,9 +343,9 @@ instance Ord (Tree c) where
index (EMul _ _) = 32
index (EDiv _ _) = 33
index (EMod _ _) = 34
- index (EProj _ _) = 35
- index (ENeg _) = 36
- index (EApp _ _) = 37
+ index (ENeg _) = 35
+ index (EApp _ _) = 36
+ index (EProj _ _) = 37
index (EEmptyRec ) = 38
index (ERecType _) = 39
index (ERec _) = 40
@@ -395,9 +395,9 @@ instance Ord (Tree c) where
compareSame (EMul exp0 exp1) (EMul exp0_ exp1_) = mappend (compare exp0 exp0_) (compare exp1 exp1_)
compareSame (EDiv exp0 exp1) (EDiv exp0_ exp1_) = mappend (compare exp0 exp0_) (compare exp1 exp1_)
compareSame (EMod exp0 exp1) (EMod exp0_ exp1_) = mappend (compare exp0 exp0_) (compare exp1 exp1_)
- compareSame (EProj exp i) (EProj exp_ i_) = mappend (compare exp exp_) (compare i i_)
compareSame (ENeg exp) (ENeg exp_) = compare exp exp_
compareSame (EApp exp0 exp1) (EApp exp0_ exp1_) = mappend (compare exp0 exp0_) (compare exp1 exp1_)
+ compareSame (EProj exp i) (EProj exp_ i_) = mappend (compare exp exp_) (compare i i_)
compareSame EEmptyRec EEmptyRec = EQ
compareSame (ERecType fieldtypes) (ERecType fieldtypes_) = compare fieldtypes fieldtypes_
compareSame (ERec fieldvalues) (ERec fieldvalues_) = compare fieldvalues fieldvalues_
diff --git a/src/Transfer/Syntax/Doc.tex b/src/Transfer/Syntax/Doc.tex
index 613753b92..d49729f19 100644
--- a/src/Transfer/Syntax/Doc.tex
+++ b/src/Transfer/Syntax/Doc.tex
@@ -213,17 +213,17 @@ All other symbols are terminals.\\
\end{tabular}\\
\begin{tabular}{lll}
-{\nonterminal{Exp8}} & {\arrow} &{\nonterminal{Exp8}} {\terminal{.}} {\nonterminal{Ident}} \\
+{\nonterminal{Exp8}} & {\arrow} &{\terminal{{$-$}}} {\nonterminal{Exp8}} \\
& {\delimit} &{\nonterminal{Exp9}} \\
\end{tabular}\\
\begin{tabular}{lll}
-{\nonterminal{Exp9}} & {\arrow} &{\terminal{{$-$}}} {\nonterminal{Exp9}} \\
+{\nonterminal{Exp9}} & {\arrow} &{\nonterminal{Exp9}} {\nonterminal{Exp10}} \\
& {\delimit} &{\nonterminal{Exp10}} \\
\end{tabular}\\
\begin{tabular}{lll}
-{\nonterminal{Exp10}} & {\arrow} &{\nonterminal{Exp10}} {\nonterminal{Exp11}} \\
+{\nonterminal{Exp10}} & {\arrow} &{\nonterminal{Exp10}} {\terminal{.}} {\nonterminal{Ident}} \\
& {\delimit} &{\nonterminal{Exp11}} \\
\end{tabular}\\
diff --git a/src/Transfer/Syntax/Par.hs b/src/Transfer/Syntax/Par.hs
index 96028538d..e007741d7 100644
--- a/src/Transfer/Syntax/Par.hs
+++ b/src/Transfer/Syntax/Par.hs
@@ -237,19 +237,19 @@ happyOutTok x = unsafeCoerce# x
{-# INLINE happyOutTok #-}
happyActOffsets :: HappyAddr
-happyActOffsets = HappyA# "\x8b\x02\x2a\x00\x84\x02\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x02\x00\x00\x9a\x02\x97\x02\x95\x02\x89\x02\xf8\x01\x75\x02\x00\x00\x58\x00\x00\x00\x00\x00\x1a\x00\x15\x00\xfb\xff\x53\x00\x00\x00\x2a\x00\x2a\x00\x9c\x02\x00\x00\x00\x00\x67\x02\x8e\x02\x64\x02\x66\x02\x00\x00\x7a\x02\x73\x02\x00\x00\x49\x02\x49\x02\x39\x02\x32\x02\x33\x02\x23\x02\x00\x00\x2a\x00\x00\x00\x38\x02\x00\x00\xfe\xff\x30\x02\x01\x02\x6e\x00\xd0\x01\xbd\x01\xb0\x01\x9d\x01\x00\x00\x00\x00\x0e\x02\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x2a\x00\x00\x00\x00\x00\x00\x00\xf8\x01\xf8\x01\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x52\x00\x79\x01\x79\x01\x79\x01\x00\x00\x00\x00\x0d\x02\x00\x00\x0d\x02\x2a\x00\x2a\x00\x2a\x00\x00\x00\x2a\x00\x7e\x01\x2a\x00\x6f\x01\x60\x01\x4d\x01\x00\x00\xfd\x01\x3f\x01\x64\x02\x44\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xda\x01\x2a\x00\xda\x01\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x11\x01\xbb\x01\x2a\x00\x04\x01\x4f\x00\x00\x00\x0a\x01\x00\x00\x00\x00\xff\x00\x00\x00\xec\x01\x00\x00\xe8\x00\x4f\x00\xd8\x00\x00\x00\xd0\x00\xbd\x00\x2a\x00\xdc\x01\x00\x00\x2a\x00\x8d\x00\x00\x00\x00\x00\x9a\x00\x99\x00\x95\x00\x00\x00\x70\x00\x4f\x00\x3a\x00\x59\x00\x00\x00\x2a\x00\x00\x00\x00\x00\x4f\x00\x2a\x00\x00\x00\x2a\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x79\x00\x57\x00\x73\x00\x00\x00\x05\x00\x2a\x00\x00\x00\x00\x00\x00\x00"#
+happyActOffsets = HappyA# "\x91\x02\x2a\x00\x85\x02\x00\x00\x00\x00\x00\x00\x00\x00\x80\x02\x00\x00\xa2\x02\x87\x02\x99\x02\x8b\x02\xe8\x01\x00\x00\x58\x00\x90\x02\x00\x00\x00\x00\x1a\x00\x15\x00\xfb\xff\x53\x00\x00\x00\x2a\x00\x2a\x00\xa1\x02\x00\x00\x00\x00\x66\x02\x8f\x02\x70\x02\x5b\x02\x00\x00\x81\x02\x7e\x02\x00\x00\x45\x02\x45\x02\x47\x02\x40\x02\x1e\x02\x23\x02\x00\x00\x2a\x00\x00\x00\x2e\x02\x00\x00\xfe\xff\x2c\x02\x30\x02\x6e\x00\x0c\x02\xcd\x01\xc0\x01\xad\x01\x00\x00\xfd\x01\x89\x01\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x53\x00\x2a\x00\x00\x00\x00\x00\x00\x00\xe8\x01\xe8\x01\x86\x00\x86\x00\x86\x00\x86\x00\x86\x00\x86\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xea\x01\x00\x00\xea\x01\x2a\x00\x2a\x00\x2a\x00\x00\x00\x2a\x00\x8e\x01\x2a\x00\x7f\x01\x70\x01\x5d\x01\x00\x00\xe9\x01\x4f\x01\x70\x02\x44\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcb\x01\x2a\x00\xcb\x01\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x21\x01\xbb\x01\x2a\x00\x14\x01\x4f\x00\x00\x00\x1a\x01\x00\x00\x00\x00\x0f\x01\x00\x00\xfe\x01\x00\x00\xf8\x00\x4f\x00\xe8\x00\x00\x00\xe0\x00\xcd\x00\x2a\x00\xec\x01\x00\x00\x2a\x00\x9d\x00\x00\x00\x00\x00\xd9\x01\xb0\x00\x9b\x00\x00\x00\x6a\x00\x4f\x00\x3a\x00\x92\x00\x00\x00\x2a\x00\x00\x00\x00\x00\x4f\x00\x2a\x00\x00\x00\x2a\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x00\x00\x00\x00\x00\x00\x79\x00\x57\x00\x73\x00\x00\x00\x05\x00\x2a\x00\x00\x00\x00\x00\x00\x00"#
happyGotoOffsets :: HappyAddr
-happyGotoOffsets = HappyA# "\x62\x02\xbc\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\x62\x00\x00\x00\x00\x00\x72\x00\x6d\x00\x1c\x00\x53\x02\x00\x00\xac\x01\x9c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x02\x5a\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x54\x00\x37\x00\x49\x00\xde\x01\x00\x00\x00\x00\x00\x00\x8c\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\x32\x00\x46\x02\x42\x02\x3e\x02\x1f\x02\x10\x02\x0a\x02\x00\x02\xfa\x01\xeb\x01\x34\x02\x2f\x02\xdb\x01\xcc\x01\x7c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x6c\x01\x5c\x01\x4c\x01\x00\x00\x3c\x01\x00\x00\x2c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x9e\x02\x86\x02\x1c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x01\x0c\x01\x26\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\x00\x00\x35\x00\xec\x00\x00\x00\x6b\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x83\x02\x00\x00\x00\x00\x00\x00\x00\x00\xdc\x00\x00\x00\x00\x00\xcc\x00\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x77\x02\x96\x00\x00\x00\x00\x00\xbc\x00\x00\x00\x00\x00\x68\x02\xac\x00\xfc\xff\x9c\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x8c\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8a\x02\x8c\x00\x00\x00\x00\x00\x00\x00"#
+happyGotoOffsets = HappyA# "\x9e\x02\xbc\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\x56\x02\x00\x00\x00\x00\x00\x00\x72\x00\x6d\x00\x1c\x00\x53\x02\x00\x00\xac\x01\x9c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x02\x66\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x5c\x00\x37\x00\x49\x00\x54\x00\x00\x00\x00\x00\x00\x00\x8c\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\x32\x00\x00\x00\x46\x02\x42\x02\x3e\x02\x1f\x02\x10\x02\x0a\x02\x00\x02\xfa\x01\xeb\x01\x34\x02\x2f\x02\xdb\x01\xcc\x01\x7c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x6c\x01\x5c\x01\x4c\x01\x00\x00\x3c\x01\x00\x00\x2c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x8d\x02\x86\x02\x1c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1\x01\x0c\x01\x26\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x00\x00\x00\x00\x35\x00\xec\x00\x00\x00\x77\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x02\x00\x00\x00\x00\x00\x00\x00\x00\xdc\x00\x00\x00\x00\x00\xcc\x00\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x7a\x02\x96\x00\x00\x00\x00\x00\xbc\x00\x00\x00\x00\x00\x6b\x02\xac\x00\xfc\xff\x9c\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x8e\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x00\x8c\x00\x00\x00\x00\x00\x00\x00"#
happyDefActions :: HappyAddr
-happyDefActions = HappyA# "\xf8\xff\x00\x00\x00\x00\xfd\xff\xae\xff\xac\xff\xab\xff\x00\x00\xa3\xff\xcc\xff\xc8\xff\xc6\xff\xbf\xff\xbc\xff\xb8\xff\xb6\xff\xb4\xff\xb2\xff\xd8\xff\x00\x00\x00\x00\x00\x00\x00\x00\xad\xff\x00\x00\x00\x00\x00\x00\xfc\xff\xfb\xff\x00\x00\xf7\xff\xf1\xff\x00\x00\xf9\xff\xe1\xff\xf0\xff\xfa\xff\x00\x00\x00\x00\xf8\xff\xd6\xff\x00\x00\x00\x00\xb5\xff\x00\x00\xcb\xff\x00\x00\xca\xff\xcb\xff\x00\x00\x00\x00\x00\x00\xa8\xff\x00\x00\xa5\xff\x00\x00\xb1\xff\xb3\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\xcd\xff\xc9\xff\xc7\xff\xbd\xff\xbe\xff\xc0\xff\xc1\xff\xc2\xff\xc3\xff\xc4\xff\xc5\xff\xb9\xff\xba\xff\xbb\xff\xb7\xff\xaf\xff\x00\x00\xb0\xff\x00\x00\x00\x00\x00\x00\x00\x00\xaa\xff\x00\x00\x00\x00\x00\x00\x00\x00\xd5\xff\x00\x00\xf6\xff\x00\x00\x00\x00\xf1\xff\x00\x00\x00\x00\xf4\xff\xe3\xff\xe5\xff\xe4\xff\xe0\xff\xde\xff\x00\x00\x00\x00\xe2\xff\xe6\xff\xef\xff\x00\x00\xf2\xff\x00\x00\xd6\xff\x00\x00\x00\x00\xd2\xff\xcf\xff\x00\x00\xa6\xff\xa9\xff\x00\x00\xa7\xff\x00\x00\xa4\xff\x00\x00\xe3\xff\x00\x00\xe9\xff\xd1\xff\x00\x00\x00\x00\x00\x00\xd4\xff\x00\x00\x00\x00\xe1\xff\xf3\xff\x00\x00\xdd\xff\x00\x00\xe7\xff\xde\xff\x00\x00\x00\x00\x00\x00\xdb\xff\x00\x00\xd9\xff\xda\xff\xd2\xff\x00\x00\xe1\xff\x00\x00\xce\xff\xea\xff\xd3\xff\xd0\xff\xd7\xff\xed\xff\xe8\xff\xdf\xff\xdc\xff\x00\x00\xec\xff\x00\x00\xf5\xff\xed\xff\x00\x00\xee\xff\xeb\xff"#
+happyDefActions = HappyA# "\xf8\xff\x00\x00\x00\x00\xfd\xff\xae\xff\xac\xff\xab\xff\x00\x00\xa3\xff\xcc\xff\xc8\xff\xc6\xff\xbf\xff\xbc\xff\xb8\xff\xb6\xff\xb4\xff\xb2\xff\xd8\xff\x00\x00\x00\x00\x00\x00\x00\x00\xad\xff\x00\x00\x00\x00\x00\x00\xfc\xff\xfb\xff\x00\x00\xf7\xff\xf1\xff\x00\x00\xf9\xff\xe1\xff\xf0\xff\xfa\xff\x00\x00\x00\x00\xf8\xff\xd6\xff\x00\x00\x00\x00\xb7\xff\x00\x00\xcb\xff\x00\x00\xca\xff\xcb\xff\x00\x00\x00\x00\x00\x00\xa8\xff\x00\x00\xa5\xff\x00\x00\xb1\xff\x00\x00\xb5\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\xcd\xff\xc9\xff\xc7\xff\xbd\xff\xbe\xff\xc0\xff\xc1\xff\xc2\xff\xc3\xff\xc4\xff\xc5\xff\xb9\xff\xba\xff\xbb\xff\xb3\xff\xaf\xff\x00\x00\xb0\xff\x00\x00\x00\x00\x00\x00\x00\x00\xaa\xff\x00\x00\x00\x00\x00\x00\x00\x00\xd5\xff\x00\x00\xf6\xff\x00\x00\x00\x00\xf1\xff\x00\x00\x00\x00\xf4\xff\xe3\xff\xe5\xff\xe4\xff\xe0\xff\xde\xff\x00\x00\x00\x00\xe2\xff\xe6\xff\xef\xff\x00\x00\xf2\xff\x00\x00\xd6\xff\x00\x00\x00\x00\xd2\xff\xcf\xff\x00\x00\xa6\xff\xa9\xff\x00\x00\xa7\xff\x00\x00\xa4\xff\x00\x00\xe3\xff\x00\x00\xe9\xff\xd1\xff\x00\x00\x00\x00\x00\x00\xd4\xff\x00\x00\x00\x00\xe1\xff\xf3\xff\x00\x00\xdd\xff\x00\x00\xe7\xff\xde\xff\x00\x00\x00\x00\x00\x00\xdb\xff\x00\x00\xd9\xff\xda\xff\xd2\xff\x00\x00\xe1\xff\x00\x00\xce\xff\xea\xff\xd3\xff\xd0\xff\xd7\xff\xed\xff\xe8\xff\xdf\xff\xdc\xff\x00\x00\xec\xff\x00\x00\xf5\xff\xed\xff\x00\x00\xee\xff\xeb\xff"#
happyCheck :: HappyAddr
-happyCheck = HappyA# "\xff\xff\x03\x00\x00\x00\x08\x00\x06\x00\x07\x00\x00\x00\x09\x00\x0c\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\x03\x00\x0c\x00\x0c\x00\x06\x00\x00\x00\x08\x00\x04\x00\x0a\x00\x25\x00\x1f\x00\x20\x00\x25\x00\x26\x00\x27\x00\x00\x00\x21\x00\x22\x00\x14\x00\x25\x00\x00\x00\x00\x00\x03\x00\x19\x00\x1a\x00\x06\x00\x15\x00\x00\x00\x1e\x00\x0a\x00\x00\x00\x21\x00\x00\x00\x0d\x00\x0e\x00\x25\x00\x26\x00\x27\x00\x03\x00\x14\x00\x25\x00\x06\x00\x07\x00\x08\x00\x19\x00\x1a\x00\x10\x00\x11\x00\x03\x00\x1e\x00\x05\x00\x06\x00\x21\x00\x08\x00\x04\x00\x05\x00\x25\x00\x26\x00\x27\x00\x03\x00\x19\x00\x00\x00\x06\x00\x03\x00\x08\x00\x01\x00\x06\x00\x00\x00\x03\x00\x03\x00\x19\x00\x06\x00\x25\x00\x26\x00\x27\x00\x00\x00\x01\x00\x02\x00\x13\x00\x14\x00\x14\x00\x19\x00\x25\x00\x26\x00\x27\x00\x19\x00\x00\x00\x01\x00\x02\x00\x02\x00\x19\x00\x00\x00\x05\x00\x25\x00\x26\x00\x27\x00\x04\x00\x25\x00\x26\x00\x27\x00\x02\x00\x0f\x00\x25\x00\x26\x00\x27\x00\x1e\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x25\x00\x23\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x25\x00\x00\x00\x01\x00\x02\x00\x04\x00\x01\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x05\x00\x14\x00\x0b\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x24\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x04\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x01\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x09\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x09\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x02\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x07\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x1d\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x20\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x02\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x04\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x01\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x02\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x03\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x18\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x04\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x01\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x04\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x01\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x00\x00\x23\x00\x25\x00\x05\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x10\x00\x11\x00\x00\x00\x05\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x0d\x00\x0e\x00\x25\x00\x00\x00\x01\x00\x02\x00\x02\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x15\x00\x16\x00\x17\x00\x00\x00\x01\x00\x02\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x25\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x25\x00\x25\x00\x00\x00\x01\x00\x02\x00\x07\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x09\x00\x00\x00\x01\x00\x02\x00\x22\x00\x00\x00\x01\x00\x02\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x23\x00\x25\x00\x1f\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x03\x00\x04\x00\x05\x00\x00\x00\x01\x00\x02\x00\x00\x00\x01\x00\x02\x00\x25\x00\x1c\x00\x1d\x00\x1e\x00\x0a\x00\x0b\x00\x01\x00\x0a\x00\x0b\x00\x00\x00\x01\x00\x02\x00\x12\x00\x13\x00\x02\x00\x12\x00\x13\x00\x1b\x00\x1c\x00\x0a\x00\x0b\x00\x00\x00\x01\x00\x02\x00\x00\x00\x01\x00\x02\x00\x25\x00\x00\x00\x25\x00\x00\x00\x18\x00\x0b\x00\x01\x00\x29\x00\x0b\x00\x08\x00\x09\x00\x08\x00\x09\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x00\x00\x03\x00\x00\x00\x0c\x00\x0b\x00\x09\x00\x06\x00\x07\x00\x06\x00\x07\x00\x29\x00\x25\x00\x1f\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"#
+happyCheck = HappyA# "\xff\xff\x03\x00\x00\x00\x08\x00\x06\x00\x07\x00\x00\x00\x09\x00\x0c\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\x03\x00\x0c\x00\x0c\x00\x06\x00\x00\x00\x08\x00\x04\x00\x0a\x00\x25\x00\x1f\x00\x20\x00\x25\x00\x26\x00\x27\x00\x00\x00\x21\x00\x22\x00\x14\x00\x25\x00\x00\x00\x00\x00\x03\x00\x19\x00\x1a\x00\x06\x00\x15\x00\x00\x00\x1e\x00\x0a\x00\x00\x00\x21\x00\x00\x00\x0d\x00\x0e\x00\x25\x00\x26\x00\x27\x00\x03\x00\x14\x00\x25\x00\x06\x00\x07\x00\x08\x00\x19\x00\x1a\x00\x10\x00\x11\x00\x03\x00\x1e\x00\x05\x00\x06\x00\x21\x00\x08\x00\x04\x00\x05\x00\x25\x00\x26\x00\x27\x00\x03\x00\x19\x00\x00\x00\x06\x00\x03\x00\x08\x00\x01\x00\x06\x00\x00\x00\x03\x00\x00\x00\x19\x00\x06\x00\x25\x00\x26\x00\x27\x00\x08\x00\x09\x00\x10\x00\x11\x00\x00\x00\x14\x00\x19\x00\x25\x00\x26\x00\x27\x00\x19\x00\x00\x00\x01\x00\x02\x00\x02\x00\x19\x00\x00\x00\x05\x00\x25\x00\x26\x00\x27\x00\x04\x00\x25\x00\x26\x00\x27\x00\x02\x00\x0f\x00\x25\x00\x26\x00\x27\x00\x25\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x25\x00\x23\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x03\x00\x00\x00\x01\x00\x02\x00\x13\x00\x14\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x04\x00\x14\x00\x0b\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x01\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x24\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x04\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x01\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x09\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x09\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x02\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x07\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x1d\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x20\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x02\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x04\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x01\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x02\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x03\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x18\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x04\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x01\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0f\x00\x00\x00\x01\x00\x02\x00\x23\x00\x14\x00\x04\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x05\x00\x23\x00\x25\x00\x00\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x0d\x00\x0e\x00\x25\x00\x05\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x15\x00\x16\x00\x17\x00\x00\x00\x01\x00\x02\x00\x05\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x01\x00\x25\x00\x25\x00\x00\x00\x01\x00\x02\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x25\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x02\x00\x07\x00\x00\x00\x01\x00\x02\x00\x09\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x23\x00\x00\x00\x01\x00\x02\x00\x22\x00\x00\x00\x01\x00\x02\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x00\x00\x01\x00\x02\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x25\x00\x1f\x00\x00\x00\x01\x00\x02\x00\x25\x00\x00\x00\x01\x00\x02\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x0b\x00\x1d\x00\x1e\x00\x0a\x00\x0b\x00\x00\x00\x01\x00\x02\x00\x00\x00\x01\x00\x02\x00\x12\x00\x13\x00\x01\x00\x25\x00\x0a\x00\x0b\x00\x02\x00\x0a\x00\x0b\x00\x00\x00\x01\x00\x02\x00\x12\x00\x13\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x29\x00\x01\x00\x0b\x00\x0b\x00\x06\x00\x07\x00\x25\x00\x08\x00\x09\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x00\x00\x03\x00\x04\x00\x05\x00\x03\x00\x0c\x00\x06\x00\x07\x00\x18\x00\x29\x00\x25\x00\x09\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1f\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"#
happyTable :: HappyAddr
-happyTable = HappyA# "\x00\x00\xae\xff\x82\x00\x30\x00\xae\xff\xae\xff\x84\x00\xae\xff\xa4\x00\xae\xff\xae\xff\xae\xff\xae\xff\xae\xff\xae\xff\xae\xff\xae\xff\xae\xff\xae\xff\xae\xff\xae\xff\xae\xff\xae\xff\xae\xff\x14\x00\x99\x00\x6a\x00\x15\x00\x2d\x00\x30\x00\x39\x00\x16\x00\x04\x00\x34\x00\x83\x00\xae\xff\xae\xff\xae\xff\x91\x00\x36\x00\x85\x00\x17\x00\x04\x00\x93\x00\x78\x00\x14\x00\x18\x00\x19\x00\x15\x00\x2e\x00\x57\x00\x1a\x00\x16\x00\x63\x00\x1b\x00\x67\x00\x94\x00\xab\x00\x04\x00\x1c\x00\x1d\x00\x72\x00\x17\x00\x04\x00\x74\x00\xaa\x00\x75\x00\x18\x00\x19\x00\x64\x00\x8e\x00\x72\x00\x1a\x00\x73\x00\x74\x00\x1b\x00\x75\x00\x1e\x00\x66\x00\x04\x00\x1c\x00\x1d\x00\x72\x00\x76\x00\x68\x00\x74\x00\x14\x00\x75\x00\xb1\x00\x2d\x00\x21\x00\x14\x00\xa9\x00\x76\x00\x2d\x00\x04\x00\x1c\x00\x1d\x00\x04\x00\x05\x00\x06\x00\x45\x00\x46\x00\x17\x00\x76\x00\x04\x00\x1c\x00\x1d\x00\x18\x00\x30\x00\x05\x00\x06\x00\x5d\x00\x18\x00\x33\x00\x5e\x00\x04\x00\x1c\x00\x1d\x00\xb0\x00\x04\x00\x1c\x00\x1d\x00\xb2\x00\x31\x00\x04\x00\x1c\x00\x1d\x00\x39\x00\x08\x00\x32\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x04\x00\x05\x00\x06\x00\x04\x00\x12\x00\x34\x00\x35\x00\x36\x00\x37\x00\x04\x00\x6d\x00\x6e\x00\x6f\x00\x97\x00\x98\x00\xb2\x00\x04\x00\x05\x00\x06\x00\x99\x00\x08\x00\x70\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\xa3\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\x9b\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\xa5\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\x9f\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\xa7\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\xa0\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x9b\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\xa1\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x9d\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\xa3\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x8d\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\x5d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x90\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\x87\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x92\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\x8d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x6c\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\x90\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x7c\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\x78\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x7e\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\x7a\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x7f\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\x7b\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x80\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\x7c\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x81\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\x7e\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x49\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\x3b\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x31\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\x59\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x29\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\x5a\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x2a\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\x5b\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x07\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\x5c\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x04\x00\x05\x00\x06\x00\x63\x00\x12\x00\x04\x00\x9d\x00\x4a\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x04\x00\x05\x00\x06\x00\x64\x00\x65\x00\x93\x00\x5e\x00\x4b\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x04\x00\x05\x00\x06\x00\x94\x00\x95\x00\x04\x00\x04\x00\x05\x00\x06\x00\x5f\x00\x4e\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x04\x00\x05\x00\x06\x00\x3c\x00\x3d\x00\x3e\x00\x04\x00\x05\x00\x06\x00\x4f\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x50\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x04\x00\x05\x00\x06\x00\x04\x00\x51\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x52\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x04\x00\x05\x00\x06\x00\x04\x00\x04\x00\x04\x00\x05\x00\x06\x00\x60\x00\x53\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x04\x00\x05\x00\x06\x00\x61\x00\x04\x00\x05\x00\x06\x00\x62\x00\x04\x00\x05\x00\x06\x00\x4c\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x4d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x04\x00\x05\x00\x06\x00\x63\x00\x04\x00\x21\x00\x54\x00\x0f\x00\x10\x00\x11\x00\x55\x00\x0f\x00\x10\x00\x11\x00\x56\x00\x0f\x00\x10\x00\x11\x00\x1d\x00\x1e\x00\x1f\x00\x87\x00\x6e\x00\x6f\x00\x87\x00\x6e\x00\x6f\x00\x04\x00\x2b\x00\x10\x00\x11\x00\x88\x00\x89\x00\x6a\x00\x88\x00\x89\x00\x87\x00\x6e\x00\x6f\x00\x8a\x00\xa6\x00\x6c\x00\x8a\x00\x8b\x00\x26\x00\x27\x00\xaa\x00\x89\x00\x6d\x00\x6e\x00\x6f\x00\x6d\x00\x6e\x00\x6f\x00\x04\x00\xac\x00\x04\x00\xac\x00\x3b\x00\xa1\x00\x28\x00\xff\xff\x70\x00\xad\x00\xb3\x00\xad\x00\xae\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x22\x00\x29\x00\x22\x00\x47\x00\x48\x00\x49\x00\x23\x00\x76\x00\x23\x00\x24\x00\xff\xff\x04\x00\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xae\xff\x82\x00\x30\x00\xae\xff\xae\xff\x84\x00\xae\xff\xa4\x00\xae\xff\xae\xff\xae\xff\xae\xff\xae\xff\xae\xff\xae\xff\xae\xff\xae\xff\xae\xff\xae\xff\xae\xff\xae\xff\xae\xff\xae\xff\x14\x00\x99\x00\x6a\x00\x15\x00\x2d\x00\x30\x00\x39\x00\x16\x00\x04\x00\x34\x00\x83\x00\xae\xff\xae\xff\xae\xff\x91\x00\x36\x00\x85\x00\x17\x00\x04\x00\x93\x00\x78\x00\x14\x00\x18\x00\x19\x00\x15\x00\x2e\x00\x57\x00\x1a\x00\x16\x00\x63\x00\x1b\x00\x67\x00\x94\x00\xab\x00\x04\x00\x1c\x00\x1d\x00\x72\x00\x17\x00\x04\x00\x74\x00\xaa\x00\x75\x00\x18\x00\x19\x00\x64\x00\x8e\x00\x72\x00\x1a\x00\x73\x00\x74\x00\x1b\x00\x75\x00\x1e\x00\x66\x00\x04\x00\x1c\x00\x1d\x00\x72\x00\x76\x00\x63\x00\x74\x00\x14\x00\x75\x00\xb1\x00\x2d\x00\xac\x00\x14\x00\x68\x00\x76\x00\x2d\x00\x04\x00\x1c\x00\x1d\x00\xad\x00\xb3\x00\x64\x00\x65\x00\x21\x00\x17\x00\x76\x00\x04\x00\x1c\x00\x1d\x00\x18\x00\x30\x00\x05\x00\x06\x00\x5d\x00\x18\x00\x33\x00\x5e\x00\x04\x00\x1c\x00\x1d\x00\xb0\x00\x04\x00\x1c\x00\x1d\x00\xb2\x00\x31\x00\x04\x00\x1c\x00\x1d\x00\x04\x00\x08\x00\x32\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x04\x00\x05\x00\x06\x00\x04\x00\x12\x00\x34\x00\x35\x00\x36\x00\x37\x00\xa9\x00\x6d\x00\x6e\x00\x6f\x00\x45\x00\x46\x00\xb2\x00\x04\x00\x05\x00\x06\x00\x97\x00\x08\x00\x70\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\xa3\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\x98\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\xa5\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\x9b\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\xa7\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\x9f\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x9b\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\xa0\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x9d\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\xa1\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x8d\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\xa3\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x90\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\x5d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x92\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\x87\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x6c\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\x8d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x7c\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\x90\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x7e\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\x78\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x7f\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\x7a\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x80\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\x7b\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x81\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\x7c\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x49\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\x7e\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x31\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\x3a\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x29\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\x59\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x2a\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\x5a\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x07\x00\x04\x00\x05\x00\x06\x00\x12\x00\x08\x00\x5b\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x04\x00\x05\x00\x06\x00\x99\x00\x12\x00\x04\x00\x93\x00\x4a\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x04\x00\x05\x00\x06\x00\x94\x00\x95\x00\x04\x00\x9d\x00\x4b\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x04\x00\x05\x00\x06\x00\x3c\x00\x3d\x00\x3e\x00\x04\x00\x05\x00\x06\x00\x5e\x00\x4e\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x04\x00\x05\x00\x06\x00\x5c\x00\x04\x00\x04\x00\x04\x00\x05\x00\x06\x00\x4f\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x50\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x04\x00\x05\x00\x06\x00\x04\x00\x51\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x52\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x04\x00\x05\x00\x06\x00\x5f\x00\x60\x00\x04\x00\x05\x00\x06\x00\x61\x00\x53\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x04\x00\x05\x00\x06\x00\x63\x00\x04\x00\x05\x00\x06\x00\x62\x00\x04\x00\x05\x00\x06\x00\x4c\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x4d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x04\x00\x05\x00\x06\x00\x04\x00\x05\x00\x06\x00\x54\x00\x0f\x00\x10\x00\x11\x00\x55\x00\x0f\x00\x10\x00\x11\x00\x56\x00\x0f\x00\x10\x00\x11\x00\x04\x00\x21\x00\x6d\x00\x6e\x00\x6f\x00\x04\x00\x87\x00\x6e\x00\x6f\x00\x2b\x00\x0f\x00\x10\x00\x11\x00\xa1\x00\x3a\x00\x11\x00\x88\x00\x89\x00\x87\x00\x6e\x00\x6f\x00\x87\x00\x6e\x00\x6f\x00\x8a\x00\xa6\x00\x6a\x00\x04\x00\x88\x00\x89\x00\x6c\x00\xaa\x00\x89\x00\x6d\x00\x6e\x00\x6f\x00\x8a\x00\x8b\x00\x26\x00\x27\x00\x22\x00\xac\x00\xff\xff\x28\x00\x70\x00\x48\x00\x23\x00\x76\x00\x04\x00\xad\x00\xae\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x22\x00\x1d\x00\x1e\x00\x1f\x00\x29\x00\x47\x00\x23\x00\x24\x00\x3a\x00\xff\xff\x04\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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, 92) [
(2 , happyReduce_2),
@@ -971,15 +971,13 @@ happyReduction_71 happy_x_1
(happy_var_1
)}
-happyReduce_72 = happySpecReduce_3 27# happyReduction_72
-happyReduction_72 happy_x_3
- happy_x_2
+happyReduce_72 = happySpecReduce_2 27# happyReduction_72
+happyReduction_72 happy_x_2
happy_x_1
- = case happyOut32 happy_x_1 of { happy_var_1 ->
- case happyOut5 happy_x_3 of { happy_var_3 ->
+ = case happyOut32 happy_x_2 of { happy_var_2 ->
happyIn32
- (EProj happy_var_1 happy_var_3
- )}}
+ (ENeg happy_var_2
+ )}
happyReduce_73 = happySpecReduce_1 27# happyReduction_73
happyReduction_73 happy_x_1
@@ -991,10 +989,11 @@ happyReduction_73 happy_x_1
happyReduce_74 = happySpecReduce_2 28# happyReduction_74
happyReduction_74 happy_x_2
happy_x_1
- = case happyOut33 happy_x_2 of { happy_var_2 ->
+ = case happyOut33 happy_x_1 of { happy_var_1 ->
+ case happyOut34 happy_x_2 of { happy_var_2 ->
happyIn33
- (ENeg happy_var_2
- )}
+ (EApp happy_var_1 happy_var_2
+ )}}
happyReduce_75 = happySpecReduce_1 28# happyReduction_75
happyReduction_75 happy_x_1
@@ -1003,13 +1002,14 @@ happyReduction_75 happy_x_1
(happy_var_1
)}
-happyReduce_76 = happySpecReduce_2 29# happyReduction_76
-happyReduction_76 happy_x_2
+happyReduce_76 = happySpecReduce_3 29# happyReduction_76
+happyReduction_76 happy_x_3
+ happy_x_2
happy_x_1
= case happyOut34 happy_x_1 of { happy_var_1 ->
- case happyOut35 happy_x_2 of { happy_var_2 ->
+ case happyOut5 happy_x_3 of { happy_var_3 ->
happyIn34
- (EApp happy_var_1 happy_var_2
+ (EProj happy_var_1 happy_var_3
)}}
happyReduce_77 = happySpecReduce_1 29# happyReduction_77
diff --git a/src/Transfer/Syntax/Par.y b/src/Transfer/Syntax/Par.y
index 8453a3c61..d9bb771f6 100644
--- a/src/Transfer/Syntax/Par.y
+++ b/src/Transfer/Syntax/Par.y
@@ -203,17 +203,17 @@ Exp7 : Exp7 '*' Exp8 { EMul $1 $3 }
Exp8 :: { Exp }
-Exp8 : Exp8 '.' Ident { EProj $1 $3 }
+Exp8 : '-' Exp8 { ENeg $2 }
| Exp9 { $1 }
Exp9 :: { Exp }
-Exp9 : '-' Exp9 { ENeg $2 }
+Exp9 : Exp9 Exp10 { EApp $1 $2 }
| Exp10 { $1 }
Exp10 :: { Exp }
-Exp10 : Exp10 Exp11 { EApp $1 $2 }
+Exp10 : Exp10 '.' Ident { EProj $1 $3 }
| Exp11 { $1 }
diff --git a/src/Transfer/Syntax/Print.hs b/src/Transfer/Syntax/Print.hs
index e14684ea7..ceaffa218 100644
--- a/src/Transfer/Syntax/Print.hs
+++ b/src/Transfer/Syntax/Print.hs
@@ -115,9 +115,9 @@ instance Print (Tree c) where
EMul exp0 exp1 -> prPrec _i 7 (concatD [prt 7 exp0 , doc (showString "*") , prt 8 exp1])
EDiv exp0 exp1 -> prPrec _i 7 (concatD [prt 7 exp0 , doc (showString "/") , prt 8 exp1])
EMod exp0 exp1 -> prPrec _i 7 (concatD [prt 7 exp0 , doc (showString "%") , prt 8 exp1])
- EProj exp i -> prPrec _i 8 (concatD [prt 8 exp , doc (showString ".") , prt 0 i])
- ENeg exp -> prPrec _i 9 (concatD [doc (showString "-") , prt 9 exp])
- EApp exp0 exp1 -> prPrec _i 10 (concatD [prt 10 exp0 , prt 11 exp1])
+ ENeg exp -> prPrec _i 8 (concatD [doc (showString "-") , prt 8 exp])
+ EApp exp0 exp1 -> prPrec _i 9 (concatD [prt 9 exp0 , prt 10 exp1])
+ EProj exp i -> prPrec _i 10 (concatD [prt 10 exp , doc (showString ".") , prt 0 i])
EEmptyRec -> prPrec _i 11 (concatD [doc (showString "{") , doc (showString "}")])
ERecType fieldtypes -> prPrec _i 11 (concatD [doc (showString "{") , prt 0 fieldtypes , doc (showString "}")])
ERec fieldvalues -> prPrec _i 11 (concatD [doc (showString "{") , prt 0 fieldvalues , doc (showString "}")])
diff --git a/src/Transfer/Syntax/Skel.hs b/src/Transfer/Syntax/Skel.hs
index 7cba91e4e..40152c998 100644
--- a/src/Transfer/Syntax/Skel.hs
+++ b/src/Transfer/Syntax/Skel.hs
@@ -46,9 +46,9 @@ transTree t = case t of
EMul exp0 exp1 -> failure t
EDiv exp0 exp1 -> failure t
EMod exp0 exp1 -> failure t
- EProj exp i -> failure t
ENeg exp -> failure t
EApp exp0 exp1 -> failure t
+ EProj exp i -> failure t
EEmptyRec -> failure t
ERecType fieldtypes -> failure t
ERec fieldvalues -> failure t
@@ -119,9 +119,9 @@ transExp t = case t of
EMul exp0 exp1 -> failure t
EDiv exp0 exp1 -> failure t
EMod exp0 exp1 -> failure t
- EProj exp i -> failure t
ENeg exp -> failure t
EApp exp0 exp1 -> failure t
+ EProj exp i -> failure t
EEmptyRec -> failure t
ERecType fieldtypes -> failure t
ERec fieldvalues -> failure t
diff --git a/src/Transfer/Syntax/Syntax.cf b/src/Transfer/Syntax/Syntax.cf
index 5b2e9157e..54866508b 100644
--- a/src/Transfer/Syntax/Syntax.cf
+++ b/src/Transfer/Syntax/Syntax.cf
@@ -79,11 +79,11 @@ EMul. Exp7 ::= Exp7 "*" Exp8 ;
EDiv. Exp7 ::= Exp7 "/" Exp8 ;
EMod. Exp7 ::= Exp7 "%" Exp8 ;
-EProj. Exp8 ::= Exp8 "." Ident ;
+ENeg. Exp8 ::= "-" Exp8 ;
-ENeg. Exp9 ::= "-" Exp9 ;
+EApp. Exp9 ::= Exp9 Exp10 ;
-EApp. Exp10 ::= Exp10 Exp11 ;
+EProj. Exp10 ::= Exp10 "." Ident ;
EEmptyRec. Exp11 ::= "{" "}" ;