BNFC 2.9.4 → 2.9.4.1
raw patch · 26 files changed
+971/−1106 lines, 26 filesdep +transformersdep −doctestdep ~basedep ~mtlsetup-changedPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies added: transformers
Dependencies removed: doctest
Dependency ranges changed: base, mtl
API changes (from Hackage documentation)
+ BNFC.Options: Ansi :: Ansi
+ BNFC.Options: BeyondAnsi :: Ansi
+ BNFC.Options: [ansi] :: SharedOptions -> Ansi
+ BNFC.Options: data Ansi
+ BNFC.Options: instance GHC.Classes.Eq BNFC.Options.Ansi
+ BNFC.Options: instance GHC.Classes.Ord BNFC.Options.Ansi
+ BNFC.Options: instance GHC.Show.Show BNFC.Options.Ansi
- BNFC.Lex: alexScan :: AlexInput -> Int -> AlexReturn (Posn -> String -> Token)
+ BNFC.Lex: alexScan :: (Posn, Char, [Byte], String) -> Int -> AlexReturn (Posn -> String -> Token)
- BNFC.Lex: alexScanUser :: t -> AlexInput -> Int -> AlexReturn (Posn -> String -> Token)
+ BNFC.Lex: alexScanUser :: t -> (Posn, Char, [Byte], String) -> Int -> AlexReturn (Posn -> String -> Token)
- BNFC.Options: Options :: FilePath -> String -> FilePath -> Bool -> Target -> Maybe String -> InPackage -> RecordPositions -> Bool -> Bool -> Bool -> AlexVersion -> TokenText -> HappyMode -> Int -> Bool -> OCamlParser -> JavaLexerParser -> Bool -> Bool -> SharedOptions
+ BNFC.Options: Options :: FilePath -> String -> FilePath -> Bool -> Target -> Maybe String -> InPackage -> RecordPositions -> Ansi -> Bool -> Bool -> Bool -> AlexVersion -> TokenText -> HappyMode -> Int -> Bool -> OCamlParser -> JavaLexerParser -> Bool -> Bool -> SharedOptions
Files
- BNFC.cabal +27/−51
- CHANGELOG.md +13/−1
- Makefile +25/−12
- README.md +8/−8
- Setup.lhs +0/−10
- src/BNFC/Backend/Base.hs +3/−1
- src/BNFC/Backend/C/RegToFlex.hs +1/−1
- src/BNFC/Lex.hs +7/−35
- src/BNFC/Options.hs +13/−0
- src/BNFC/Par.hs +864/−864
- stack-7.10.3.yaml +0/−1
- stack-8.0.2.yaml +0/−1
- stack-8.10.2.yaml +0/−3
- stack-8.10.3.yaml +0/−3
- stack-8.10.4.yaml +0/−3
- stack-8.10.7.yaml +1/−1
- stack-8.6.4.yaml +0/−2
- stack-8.8.2.yaml +0/−2
- stack-8.8.3.yaml +0/−2
- stack-8.8.4.yaml +1/−2
- stack-9.0.1.yaml +0/−3
- stack-9.0.2.yaml +2/−32
- stack-9.2.1.yaml +0/−33
- stack-9.2.5.yaml +3/−0
- stack-9.4.3.yaml +3/−0
- test/doctests.hs +0/−35
BNFC.cabal view
@@ -1,9 +1,13 @@ Name: BNFC-Version: 2.9.4+Version: 2.9.4.1 cabal-version: 2.0- -- >=1.24 for the custom-setup section- -- >=2.0 for the build-tools: hspec-discover-build-type: Custom+ -- >=2.0 for build-tool-depends: hspec-discover+ -- Andreas, 2022-12-16, issue #429:+ -- Putting cabal-version: x.y could mean putting extra-deps: [Cabal-x.y]+ -- into stack-a.b.c.yaml if that snapshot does not have Cabal at least x.y.+ -- This will then require a Setup.[l]hs file with stack even for build-type: Simple.+ -- Shunning this extra effort, we only support stack snapshot that have a sufficient Cabal.+build-type: Simple category: Parsing Copyright: (c) Andreas Abel, Jonas Almström Duregård, Krasimir Angelov, Jean-Philippe Bernardy, Björn Bringert, Johan Broberg, Kyle Butt, Paul Callaghan, Grégoire Détrez, Markus Forsberg, Ola Frid, Peter Gammie, Thomas Hallgren, Pascal Hof, Simon Huber, Patrik Jansson, Kristofer Johannisson, Antti-Juhani Kaijanaho, Andreas Lööw, Justin Meiners, Kent Mein, Ulf Norell, Gabriele Paganelli, Michael Pellauer, Fabian Ruch, and Aarne Ranta 2002 - 2021. Free software under the BSD 3-clause license. License: BSD3@@ -26,16 +30,18 @@ an XML representation, a LaTeX file containing a readable specification of the language. +-- Support range when build with cabal tested-with:- GHC == 7.10.3- GHC == 8.0.2- GHC == 8.2.2- GHC == 8.4.4- GHC == 8.6.5- GHC == 8.8.4- GHC == 8.10.7+ GHC == 9.4.3+ GHC == 9.2.5 GHC == 9.0.2- GHC == 9.2.1+ GHC == 8.10.7+ GHC == 8.8.4+ GHC == 8.6.5+ GHC == 8.4.4+ GHC == 8.2.2+ GHC == 8.0.2+ GHC == 7.10.3 Extra-source-files: README.md@@ -44,41 +50,21 @@ Makefile src/BNFC.cf src/Makefile- stack-9.2.1.yaml+ -- Support range when build with stack+ stack-9.4.3.yaml+ stack-9.2.5.yaml stack-9.0.2.yaml- stack-9.0.1.yaml stack-8.10.7.yaml- stack-8.10.4.yaml- stack-8.10.3.yaml- stack-8.10.2.yaml stack-8.8.4.yaml- stack-8.8.3.yaml- stack-8.8.2.yaml stack-8.6.5.yaml- stack-8.6.4.yaml stack-8.4.4.yaml stack-8.2.2.yaml- stack-8.0.2.yaml- stack-7.10.3.yaml Source-repository head type: git location: git://github.com/BNFC/bnfc.git subdir: source -Source-repository this- type: git- location: git://github.com/BNFC/bnfc.git- subdir: source- tag: v2.9.4---- Setup using https://github.com/haskellari/cabal-doctest-custom-setup- setup-depends:- base >= 4 && <5,- Cabal >= 2.0,- cabal-doctest >= 1 && < 1.1- executable bnfc default-language: Haskell2010 main-is: Main.hs@@ -118,6 +104,8 @@ , process , string-qq , time+ , transformers+ -- for Control.Monad.IO.Class, which is in base >= 4.9 but not below if impl(ghc < 8.0) build-depends: semigroups@@ -130,10 +118,12 @@ -Wall -fno-warn-dodgy-imports -fno-warn-name-shadowing+ -- for cabal repl -w doctest :+ -fno-warn-type-defaults if impl(ghc >= 8.0) ghc-options: -Wcompat- if impl(ghc == 9.2.1)+ if impl(ghc >= 9.2) ghc-options: -Wno-incomplete-uni-patterns default-extensions:@@ -152,6 +142,7 @@ RecordWildCards ScopedTypeVariables TupleSections+ TypeOperators -- 2021-01-22 The following autogen section seems wrong, breaks Haskell CI: -- E.g. https://github.com/BNFC/bnfc/runs/1750769442?check_suite_focus=true -- autogen-modules:@@ -340,18 +331,3 @@ autogen-modules: -- Generated by cabal Paths_BNFC--test-suite doctests- default-language: Haskell2010- type: exitcode-stdio-1.0- ghc-options: -threaded- default-extensions: CPP- main-is: doctests.hs- build-depends: base- , filepath- , BNFC- -- The dependency BNFC ensures the build of the library first- -- and hence, the presence of Build_doctests.- -- See https://hackage.haskell.org/package/cabal-doctest- , doctest >= 0.8- hs-source-dirs: test
CHANGELOG.md view
@@ -1,8 +1,20 @@+# 2.9.4.1++Andreas Abel <andreas.abel@gu.se>, December 2022++* C/C++: allow space characters in token definitions again [[#431](https://github.com/BNFC/bnfc/issues/431)]+ (regression in 2.9.0)+* installation: get rid of `cabal-doctest` dependency [[#429](https://github.com/BNFC/bnfc/issues/429)]++Tested GHC versions:+* with `cabal`, GHC 7.10 - 9.4+* with `stack`, GHC 8.2 - 9.4+ # 2.9.4 Andreas Abel <andreas.abel@gu.se>, February 2022 -* LBNF: empty tokens types are now forbidden [#388]+* LBNF: empty token types are now forbidden [#388] * Agda: support position information via `--functor` [#405] * C/C++: use `size_t` and `-Wsign-conversion` [#391] * C++: repair broken `--line-numbers` [#390], regression in 2.9.2 by [#349]
Makefile view
@@ -5,36 +5,49 @@ # Cabal options (to be overwritten from the command line) CABAL_OPTS = CABAL_BUILDDIR_SUFFIX=-CABAL_BUILD_OPTS = --builddir=dist-ghc-$(GHC_VERSION)$(CABAL_BUILDDIR_SUFFIX)+CABAL_BUILD_OPTS = --enable-tests+# --builddir=dist-ghc-$(GHC_VERSION)$(CABAL_BUILDDIR_SUFFIX) CABAL_CONFIGURE_OPTS = --enable-tests-CABAL_INSTALL_OPTS = $(CABAL_CONFIGURE_OPTS) $(CABAL_BUILD_OPTS)+CABAL_INSTALL_OPTS = $(CABAL_CONFIGURE_OPTS) $(CABAL_BUILD_OPTS) --overwrite-policy=always CABAL_TEST_OPTS = $(CABAL_BUILD_OPTS) CABAL = cabal $(CABAL_OPTS)-CABAL_CONFIGURE = $(CABAL) v1-configure $(CABAL_CONFIGURE_OPTS)-CABAL_BUILD = $(CABAL) v1-build $(CABAL_BUILD_OPTS)-CABAL_INSTALL = $(CABAL) v1-install $(CABAL_INSTALL_OPTS)-CABAL_TEST = $(CABAL) v1-test $(CABAL_TEST_OPTS)+CABAL_CONFIGURE = $(CABAL) configure $(CABAL_CONFIGURE_OPTS)+CABAL_BUILD = $(CABAL) build $(CABAL_BUILD_OPTS)+CABAL_INSTALL = $(CABAL) install $(CABAL_INSTALL_OPTS)+CABAL_TEST = $(CABAL) test $(CABAL_TEST_OPTS) # Name for binary distribution (e.g. bnfc-2.4.5-linux32) BDIST_TAG=bnfc-${BNFC_VERSION}-$(shell uname -s)-$(shell uname -m) .PHONY: default build install doc test bdist show-version debug weed TAGS -default: install test+default: build cabal-test doctest-quick build:- $(CABAL_CONFIGURE) && $(CABAL_BUILD)+ $(CABAL_BUILD) install: $(CABAL_INSTALL) -test:+test: build cabal-test doctest++cabal-test: $(CABAL_TEST) -haddock doc:- $(CABAL) v1-haddock --hyperlink-source-# --executables --internal+doctest: build doctest-install doctest-quick++doctest-install:+ cabal install doctest --program-suffix=-${GHC_VERSION}++doctest-quick:+ cabal repl -w doctest-${GHC_VERSION}+# --ghc-options=-Wno-type-defaults needed due to OverloadedStrings.+# But it does not get used here, needs to go into cabal file.+# see: https://github.com/sol/doctest/issues/390++haddock:+ $(CABAL) haddock # See https://hackage.haskell.org/package/weeder # weeder can find dead code starting from the .hie files
README.md view
@@ -34,8 +34,8 @@ You need a running installation of [stack](https://docs.haskellstack.org/en/stable/install_and_upgrade/).-To install and run the latest version of [bnfc from-stackage](https://www.stackage.org/package/BNFC),+To install and run the latest version of+[bnfc from stackage](https://www.stackage.org/package/BNFC), enter at the command line: ```@@ -48,7 +48,7 @@ You need a running installation of a recent version of [GHC](https://www.haskell.org/ghc/) and [Cabal](https://www.haskell.org/cabal/), most easily available via the-[Haskell Platform](https://www.haskell.org/platform/). To install and+[GHCup](https://www.haskell.org/ghcup/). To install [bnfc from hackage](https://hackage.haskell.org/package/BNFC), enter at the command line: ```@@ -58,9 +58,9 @@ ### Installing the development version -To install the [development version of-bnfc](https://github.com/BNFC/bnfc) with the latest bugfixes (and-regressions ;-)):+To install the+[development version of bnfc](https://github.com/BNFC/bnfc)+with the latest bugfixes (and regressions ;-)): ``` git clone https://github.com/BNFC/bnfc.git cd bnfc/source@@ -71,9 +71,9 @@ ``` or ```- stack install --stack-yaml stack-8.10.3.yaml+ stack install --stack-yaml stack-8.10.7.yaml ```-(replace `8.10.3` with your GHC version, and if you want to build with+(replace `8.10.7` with your GHC version, and if you want to build with your installed GHC then add flag `--system-ghc`). Mini tutorial
− Setup.lhs
@@ -1,10 +0,0 @@-#!/usr/bin/env runghc--> module Main where->-> import Distribution.Extra.Doctest (defaultMainWithDoctests)->-> main :: IO ()-> main = defaultMainWithDoctests "doctests"--This generates the module Build_doctests.
src/BNFC/Backend/Base.hs view
@@ -16,9 +16,11 @@ ) where import Control.Arrow ( (&&&) )-import Control.Monad.Writer+import Control.Monad.IO.Class ( liftIO )+import Control.Monad.Writer ( WriterT, execWriterT, tell ) import Data.Char ( isSpace )+import Data.Foldable ( forM_ ) import Data.Function ( on ) import qualified Data.List as List
src/BNFC/Backend/C/RegToFlex.hs view
@@ -81,4 +81,4 @@ | otherwise = showLitChar c "" where reserved :: String- reserved = "$+-*=<>[](){}!?.,;:^~|&%#/\\$_@\""+ reserved = " $+-*=<>[](){}!?.,;:^~|&%#/\\$_@\""
src/BNFC/Lex.hs view
@@ -341,13 +341,13 @@ , 0x80 + oc Data.Bits..&. 0x3f ] -alex_action_3 = tok (eitherResIdent TV) -alex_action_4 = tok (eitherResIdent T_Identifier) -alex_action_5 = tok (eitherResIdent TV) -alex_action_6 = tok (TL . unescapeInitTail) -alex_action_7 = tok TC -alex_action_8 = tok TI -alex_action_9 = tok TD +alex_action_3 = tok (eitherResIdent TV)+alex_action_4 = tok (eitherResIdent T_Identifier)+alex_action_5 = tok (eitherResIdent TV)+alex_action_6 = tok (TL . unescapeInitTail)+alex_action_7 = tok TC+alex_action_8 = tok TI+alex_action_9 = tok TD {-# LINE 1 "templates/GenericTemplate.hs" #-} -- ----------------------------------------------------------------------------- -- ALEX TEMPLATE@@ -565,32 +565,4 @@ = AlexAccNone | AlexAcc Int | AlexAccSkip----------------------------
src/BNFC/Options.hs view
@@ -13,6 +13,7 @@ , defaultOptions, isDefault, printOptions , AlexVersion(..), HappyMode(..), OCamlParser(..), JavaLexerParser(..) , RecordPositions(..), TokenText(..)+ , Ansi(..) , InPackage , removedIn290 , translateOldOptions@@ -97,9 +98,14 @@ data JavaLexerParser = JLexCup | JFlexCup | Antlr4 deriving (Eq,Show,Ord) +-- | Line numbers or not? data RecordPositions = RecordPositions | NoRecordPositions deriving (Eq,Show,Ord) +-- | Restrict to ANSI standard (C/C++)?+data Ansi = Ansi | BeyondAnsi+ deriving (Eq, Ord, Show)+ -- | Package name (C++ and Java backends). type InPackage = Maybe String @@ -122,6 +128,7 @@ , make :: Maybe String -- ^ The name of the Makefile to generate or Nothing for no Makefile. , inPackage :: InPackage -- ^ The hierarchical package to put the modules in, or Nothing. , linenumbers :: RecordPositions -- ^ Add and set line_number field for syntax classes+ , ansi :: Ansi -- ^ Restrict to the ANSI language standard (C/C++)? --- Haskell specific: , inDir :: Bool -- ^ Option @-d@. , functor :: Bool -- ^ Option @--functor@. Make AST functorial?@@ -155,6 +162,7 @@ , make = Nothing , inPackage = Nothing , linenumbers = NoRecordPositions+ , ansi = BeyondAnsi -- Haskell specific , inDir = False , functor = False@@ -211,6 +219,7 @@ , [ "--makefile=" ++ m | m <- maybeToList $ make opts ] , [ "-p " ++ p | p <- maybeToList $ inPackage opts ] , unlessDefault linenumbers opts $ const [ "-l" ]+ , unlessDefault ansi opts $ const [ "--ansi" ] -- Haskell options: , [ "-d" | inDir opts ] , [ "--functor" | functor opts ]@@ -313,6 +322,10 @@ , "(Note: Java requires cup version 0.11b-2014-06-11 or greater.)" ] , [TargetC, TargetCpp, TargetJava] )+ , ( Option [] ["ansi"] (NoArg (\o -> o{ ansi = Ansi })) $ unlines+ [ "Restrict to ANSI language standard"+ ]+ , [TargetCpp] ) -- In the future maybe also: TargetC , ( Option ['p'] ["name-space"] (ReqArg (\n o -> o {inPackage = Just n}) "NAMESPACE") "Prepend NAMESPACE to the package/module name"
src/BNFC/Par.hs view
@@ -303,870 +303,870 @@ happyTable = HappyA# "\x00\x00\x35\x00\x1d\x00\x35\x00\xa8\x00\x94\x00\x4b\x00\x4b\x00\x1a\x00\x96\x00\x97\x00\x36\x00\xff\xff\x4b\x00\x1e\x00\xa9\x00\x4b\x00\x1f\x00\x98\x00\x4c\x00\x78\x00\x9c\x00\x20\x00\x93\x00\x21\x00\x1a\x00\xb0\x00\x22\x00\x23\x00\xa6\x00\x40\x00\x57\x00\x37\x00\x36\x00\x37\x00\x25\x00\x26\x00\x24\x00\x25\x00\x1a\x00\x6f\x00\x1a\x00\x41\x00\x58\x00\x57\x00\x59\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\x65\x00\x1b\x00\x66\x00\x67\x00\x58\x00\x94\x00\x59\x00\x68\x00\x69\x00\x6a\x00\xff\xff\x6b\x00\x6c\x00\x57\x00\x9f\x00\x26\x00\x37\x00\x1a\x00\x42\x00\x43\x00\x36\x00\x37\x00\x37\x00\x1a\x00\x50\x00\x58\x00\x4f\x00\x59\x00\x50\x00\x61\x00\x62\x00\x63\x00\x64\x00\x53\x00\x65\x00\x37\x00\x66\x00\x67\x00\x1d\x00\x50\x00\x1a\x00\x68\x00\x69\x00\x6a\x00\x1a\x00\x6b\x00\x6c\x00\x54\x00\x51\x00\x52\x00\x1e\x00\x94\x00\x2d\x00\x1f\x00\x1a\x00\x55\x00\x37\x00\x1a\x00\x20\x00\x1a\x00\x21\x00\x36\x00\x1a\x00\x22\x00\x23\x00\x29\x00\x2a\x00\x28\x00\x26\x00\x9a\x00\x2a\x00\x28\x00\x26\x00\x24\x00\x25\x00\x1a\x00\x93\x00\x1a\x00\xff\xff\xb5\x00\x2a\x00\x28\x00\x26\x00\x91\x00\xba\x00\x2a\x00\x28\x00\x26\x00\x27\x00\x28\x00\x26\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x9e\x00\x28\x00\x26\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\xff\xff\x3d\x00\x8b\x00\x3e\x00\x7a\x00\xff\xff\x3d\x00\x7b\x00\x8e\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x43\x00\x3d\x00\x36\x00\x8b\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x43\x00\x50\x00\x8a\x00\x96\x00\x97\x00\x44\x00\x45\x00\x46\x00\x47\x00\x89\x00\x51\x00\x85\x00\x98\x00\x44\x00\x45\x00\x46\x00\x8c\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x43\x00\x2d\x00\x2e\x00\xff\xff\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x2f\x00\x30\x00\x31\x00\x36\x00\x44\x00\x45\x00\x46\x00\xa4\x00\xff\xff\x50\x00\x85\x00\x32\x00\x33\x00\x37\x00\x32\x00\xa0\x00\x2d\x00\x2e\x00\x51\x00\xad\x00\x84\x00\x2f\x00\x30\x00\x31\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x43\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x43\x00\x82\x00\x32\x00\xb9\x00\x54\x00\x6f\x00\x70\x00\x6d\x00\x4a\x00\x45\x00\x46\x00\x83\x00\x5f\x00\x8d\x00\x45\x00\x46\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x43\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x43\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x43\x00\xff\xff\x37\x00\xa5\x00\x45\x00\x46\x00\x2d\x00\x2e\x00\xc2\x00\x45\x00\x46\x00\x2f\x00\x30\x00\x31\x00\x49\x00\x46\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x54\x00\x36\x00\x6c\x00\x6d\x00\x37\x00\x54\x00\x2e\x00\x54\x00\x5f\x00\x71\x00\x6d\x00\x37\x00\x5b\x00\x7b\x00\x48\x00\x5f\x00\x54\x00\x54\x00\xb6\x00\x6d\x00\x5e\x00\x2d\x00\x2e\x00\x78\x00\x5f\x00\x5f\x00\x2f\x00\x5c\x00\x31\x00\x2d\x00\x2e\x00\x37\x00\x2d\x00\x2e\x00\x2f\x00\x91\x00\x31\x00\x2f\x00\xc1\x00\x31\x00\x2d\x00\x2e\x00\x2d\x00\x2d\x00\x2e\x00\x2f\x00\xc5\x00\x31\x00\x5d\x00\x2e\x00\x31\x00\x2e\x00\x37\x00\x2e\x00\xff\xff\x59\x00\x5a\x00\x59\x00\x7c\x00\x59\x00\xa9\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x8f\x00\x7d\x00\xb4\x00\xb3\x00\xaa\x00\xbb\x00\x73\x00\xb3\x00\xff\xff\x37\x00\x36\x00\xb0\x00\x36\x00\xa4\x00\x43\x00\x37\x00\xa3\x00\x36\x00\x36\x00\xa2\x00\x9e\x00\x9d\x00\x93\x00\xc0\x00\xbf\x00\x94\x00\x36\x00\xc5\x00\xbe\x00\xc1\x00\x2d\x00\x99\x00\x2b\x00\x98\x00\x4d\x00\x87\x00\x86\x00\x75\x00\x80\x00\x7f\x00\xc3\x00\x7e\x00\x76\x00\x73\x00\x74\x00\xb1\x00\xae\x00\xac\x00\xab\x00\x00\x00\xbc\x00\xb8\x00\xb7\x00\xc6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"# happyReduceArr = Happy_Data_Array.array (24, 111) [- (24 , happyReduce_24),- (25 , happyReduce_25),- (26 , happyReduce_26),- (27 , happyReduce_27),- (28 , happyReduce_28),- (29 , happyReduce_29),- (30 , happyReduce_30),- (31 , happyReduce_31),- (32 , happyReduce_32),- (33 , happyReduce_33),- (34 , happyReduce_34),- (35 , happyReduce_35),- (36 , happyReduce_36),- (37 , happyReduce_37),- (38 , happyReduce_38),- (39 , happyReduce_39),- (40 , happyReduce_40),- (41 , happyReduce_41),- (42 , happyReduce_42),- (43 , happyReduce_43),- (44 , happyReduce_44),- (45 , happyReduce_45),- (46 , happyReduce_46),- (47 , happyReduce_47),- (48 , happyReduce_48),- (49 , happyReduce_49),- (50 , happyReduce_50),- (51 , happyReduce_51),- (52 , happyReduce_52),- (53 , happyReduce_53),- (54 , happyReduce_54),- (55 , happyReduce_55),- (56 , happyReduce_56),- (57 , happyReduce_57),- (58 , happyReduce_58),- (59 , happyReduce_59),- (60 , happyReduce_60),- (61 , happyReduce_61),- (62 , happyReduce_62),- (63 , happyReduce_63),- (64 , happyReduce_64),- (65 , happyReduce_65),- (66 , happyReduce_66),- (67 , happyReduce_67),- (68 , happyReduce_68),- (69 , happyReduce_69),- (70 , happyReduce_70),- (71 , happyReduce_71),- (72 , happyReduce_72),- (73 , happyReduce_73),- (74 , happyReduce_74),- (75 , happyReduce_75),- (76 , happyReduce_76),- (77 , happyReduce_77),- (78 , happyReduce_78),- (79 , happyReduce_79),- (80 , happyReduce_80),- (81 , happyReduce_81),- (82 , happyReduce_82),- (83 , happyReduce_83),- (84 , happyReduce_84),- (85 , happyReduce_85),- (86 , happyReduce_86),- (87 , happyReduce_87),- (88 , happyReduce_88),- (89 , happyReduce_89),- (90 , happyReduce_90),- (91 , happyReduce_91),- (92 , happyReduce_92),- (93 , happyReduce_93),- (94 , happyReduce_94),- (95 , happyReduce_95),- (96 , happyReduce_96),- (97 , happyReduce_97),- (98 , happyReduce_98),- (99 , happyReduce_99),- (100 , happyReduce_100),- (101 , happyReduce_101),- (102 , happyReduce_102),- (103 , happyReduce_103),- (104 , happyReduce_104),- (105 , happyReduce_105),- (106 , happyReduce_106),- (107 , happyReduce_107),- (108 , happyReduce_108),- (109 , happyReduce_109),- (110 , happyReduce_110),- (111 , happyReduce_111)- ]--happy_n_terms = 46 :: Prelude.Int-happy_n_nonterms = 29 :: Prelude.Int--happyReduce_24 = happySpecReduce_1 0# happyReduction_24-happyReduction_24 happy_x_1- = case happyOutTok happy_x_1 of { (PT _ (TC happy_var_1)) -> - happyIn27- ((read happy_var_1) :: Char- )}--happyReduce_25 = happySpecReduce_1 1# happyReduction_25-happyReduction_25 happy_x_1- = case happyOutTok happy_x_1 of { (PT _ (TD happy_var_1)) -> - happyIn28- ((read happy_var_1) :: Double- )}--happyReduce_26 = happySpecReduce_1 2# happyReduction_26-happyReduction_26 happy_x_1- = case happyOutTok happy_x_1 of { (PT _ (TI happy_var_1)) -> - happyIn29- ((read happy_var_1) :: Integer- )}--happyReduce_27 = happySpecReduce_1 3# happyReduction_27-happyReduction_27 happy_x_1- = case happyOutTok happy_x_1 of { (PT _ (TL happy_var_1)) -> - happyIn30- (happy_var_1- )}--happyReduce_28 = happySpecReduce_1 4# happyReduction_28-happyReduction_28 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn31- (BNFC.Abs.Identifier (mkPosToken happy_var_1)- )}--happyReduce_29 = happySpecReduce_1 5# happyReduction_29-happyReduction_29 happy_x_1- = case happyOut33 happy_x_1 of { (HappyWrap33 happy_var_1) -> - happyIn32- (BNFC.Abs.Grammar happy_var_1- )}--happyReduce_30 = happySpecReduce_0 6# happyReduction_30-happyReduction_30 = happyIn33- ([]- )--happyReduce_31 = happySpecReduce_1 6# happyReduction_31-happyReduction_31 happy_x_1- = case happyOut34 happy_x_1 of { (HappyWrap34 happy_var_1) -> - happyIn33- ((:[]) happy_var_1- )}--happyReduce_32 = happySpecReduce_3 6# happyReduction_32-happyReduction_32 happy_x_3- happy_x_2- happy_x_1- = case happyOut34 happy_x_1 of { (HappyWrap34 happy_var_1) -> - case happyOut33 happy_x_3 of { (HappyWrap33 happy_var_3) -> - happyIn33- ((:) happy_var_1 happy_var_3- )}}--happyReduce_33 = happySpecReduce_2 6# happyReduction_33-happyReduction_33 happy_x_2- happy_x_1- = case happyOut33 happy_x_2 of { (HappyWrap33 happy_var_2) -> - happyIn33- (happy_var_2- )}--happyReduce_34 = happyReduce 5# 7# happyReduction_34-happyReduction_34 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut39 happy_x_1 of { (HappyWrap39 happy_var_1) -> - case happyOut37 happy_x_3 of { (HappyWrap37 happy_var_3) -> - case happyOut36 happy_x_5 of { (HappyWrap36 happy_var_5) -> - happyIn34- (BNFC.Abs.Rule happy_var_1 happy_var_3 happy_var_5- ) `HappyStk` happyRest}}}--happyReduce_35 = happySpecReduce_2 7# happyReduction_35-happyReduction_35 happy_x_2- happy_x_1- = case happyOut30 happy_x_2 of { (HappyWrap30 happy_var_2) -> - happyIn34- (BNFC.Abs.Comment happy_var_2- )}--happyReduce_36 = happySpecReduce_3 7# happyReduction_36-happyReduction_36 happy_x_3- happy_x_2- happy_x_1- = case happyOut30 happy_x_2 of { (HappyWrap30 happy_var_2) -> - case happyOut30 happy_x_3 of { (HappyWrap30 happy_var_3) -> - happyIn34- (BNFC.Abs.Comments happy_var_2 happy_var_3- )}}--happyReduce_37 = happyReduce 6# 7# happyReduction_37-happyReduction_37 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut39 happy_x_2 of { (HappyWrap39 happy_var_2) -> - case happyOut37 happy_x_4 of { (HappyWrap37 happy_var_4) -> - case happyOut36 happy_x_6 of { (HappyWrap36 happy_var_6) -> - happyIn34- (BNFC.Abs.Internal happy_var_2 happy_var_4 happy_var_6- ) `HappyStk` happyRest}}}--happyReduce_38 = happySpecReduce_3 7# happyReduction_38-happyReduction_38 happy_x_3- happy_x_2- happy_x_1- = case happyOut31 happy_x_2 of { (HappyWrap31 happy_var_2) -> - case happyOut52 happy_x_3 of { (HappyWrap52 happy_var_3) -> - happyIn34- (BNFC.Abs.Token happy_var_2 happy_var_3- )}}--happyReduce_39 = happyReduce 4# 7# happyReduction_39-happyReduction_39 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut31 happy_x_3 of { (HappyWrap31 happy_var_3) -> - case happyOut52 happy_x_4 of { (HappyWrap52 happy_var_4) -> - happyIn34- (BNFC.Abs.PosToken happy_var_3 happy_var_4- ) `HappyStk` happyRest}}--happyReduce_40 = happySpecReduce_2 7# happyReduction_40-happyReduction_40 happy_x_2- happy_x_1- = case happyOut38 happy_x_2 of { (HappyWrap38 happy_var_2) -> - happyIn34- (BNFC.Abs.Entryp happy_var_2- )}--happyReduce_41 = happyReduce 4# 7# happyReduction_41-happyReduction_41 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut51 happy_x_2 of { (HappyWrap51 happy_var_2) -> - case happyOut37 happy_x_3 of { (HappyWrap37 happy_var_3) -> - case happyOut30 happy_x_4 of { (HappyWrap30 happy_var_4) -> - happyIn34- (BNFC.Abs.Separator happy_var_2 happy_var_3 happy_var_4- ) `HappyStk` happyRest}}}--happyReduce_42 = happyReduce 4# 7# happyReduction_42-happyReduction_42 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut51 happy_x_2 of { (HappyWrap51 happy_var_2) -> - case happyOut37 happy_x_3 of { (HappyWrap37 happy_var_3) -> - case happyOut30 happy_x_4 of { (HappyWrap30 happy_var_4) -> - happyIn34- (BNFC.Abs.Terminator happy_var_2 happy_var_3 happy_var_4- ) `HappyStk` happyRest}}}--happyReduce_43 = happyReduce 6# 7# happyReduction_43-happyReduction_43 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut37 happy_x_2 of { (HappyWrap37 happy_var_2) -> - case happyOut30 happy_x_3 of { (HappyWrap30 happy_var_3) -> - case happyOut30 happy_x_4 of { (HappyWrap30 happy_var_4) -> - case happyOut42 happy_x_5 of { (HappyWrap42 happy_var_5) -> - case happyOut51 happy_x_6 of { (HappyWrap51 happy_var_6) -> - happyIn34- (BNFC.Abs.Delimiters happy_var_2 happy_var_3 happy_var_4 happy_var_5 happy_var_6- ) `HappyStk` happyRest}}}}}--happyReduce_44 = happySpecReduce_3 7# happyReduction_44-happyReduction_44 happy_x_3- happy_x_2- happy_x_1- = case happyOut31 happy_x_2 of { (HappyWrap31 happy_var_2) -> - case happyOut29 happy_x_3 of { (HappyWrap29 happy_var_3) -> - happyIn34- (BNFC.Abs.Coercions happy_var_2 happy_var_3- )}}--happyReduce_45 = happyReduce 4# 7# happyReduction_45-happyReduction_45 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut31 happy_x_2 of { (HappyWrap31 happy_var_2) -> - case happyOut50 happy_x_4 of { (HappyWrap50 happy_var_4) -> - happyIn34- (BNFC.Abs.Rules happy_var_2 happy_var_4- ) `HappyStk` happyRest}}--happyReduce_46 = happyReduce 5# 7# happyReduction_46-happyReduction_46 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut31 happy_x_2 of { (HappyWrap31 happy_var_2) -> - case happyOut41 happy_x_3 of { (HappyWrap41 happy_var_3) -> - case happyOut44 happy_x_5 of { (HappyWrap44 happy_var_5) -> - happyIn34- (BNFC.Abs.Function happy_var_2 happy_var_3 happy_var_5- ) `HappyStk` happyRest}}}--happyReduce_47 = happySpecReduce_2 7# happyReduction_47-happyReduction_47 happy_x_2- happy_x_1- = case happyOut43 happy_x_2 of { (HappyWrap43 happy_var_2) -> - happyIn34- (BNFC.Abs.Layout happy_var_2- )}--happyReduce_48 = happySpecReduce_3 7# happyReduction_48-happyReduction_48 happy_x_3- happy_x_2- happy_x_1- = case happyOut43 happy_x_3 of { (HappyWrap43 happy_var_3) -> - happyIn34- (BNFC.Abs.LayoutStop happy_var_3- )}--happyReduce_49 = happySpecReduce_2 7# happyReduction_49-happyReduction_49 happy_x_2- happy_x_1- = happyIn34- (BNFC.Abs.LayoutTop- )--happyReduce_50 = happySpecReduce_1 8# happyReduction_50-happyReduction_50 happy_x_1- = case happyOut30 happy_x_1 of { (HappyWrap30 happy_var_1) -> - happyIn35- (BNFC.Abs.Terminal happy_var_1- )}--happyReduce_51 = happySpecReduce_1 8# happyReduction_51-happyReduction_51 happy_x_1- = case happyOut37 happy_x_1 of { (HappyWrap37 happy_var_1) -> - happyIn35- (BNFC.Abs.NTerminal happy_var_1- )}--happyReduce_52 = happySpecReduce_0 9# happyReduction_52-happyReduction_52 = happyIn36- ([]- )--happyReduce_53 = happySpecReduce_2 9# happyReduction_53-happyReduction_53 happy_x_2- happy_x_1- = case happyOut35 happy_x_1 of { (HappyWrap35 happy_var_1) -> - case happyOut36 happy_x_2 of { (HappyWrap36 happy_var_2) -> - happyIn36- ((:) happy_var_1 happy_var_2- )}}--happyReduce_54 = happySpecReduce_3 10# happyReduction_54-happyReduction_54 happy_x_3- happy_x_2- happy_x_1- = case happyOut37 happy_x_2 of { (HappyWrap37 happy_var_2) -> - happyIn37- (BNFC.Abs.ListCat happy_var_2- )}--happyReduce_55 = happySpecReduce_1 10# happyReduction_55-happyReduction_55 happy_x_1- = case happyOut31 happy_x_1 of { (HappyWrap31 happy_var_1) -> - happyIn37- (BNFC.Abs.IdCat happy_var_1- )}--happyReduce_56 = happySpecReduce_0 11# happyReduction_56-happyReduction_56 = happyIn38- ([]- )--happyReduce_57 = happySpecReduce_1 11# happyReduction_57-happyReduction_57 happy_x_1- = case happyOut37 happy_x_1 of { (HappyWrap37 happy_var_1) -> - happyIn38- ((:[]) happy_var_1- )}--happyReduce_58 = happySpecReduce_3 11# happyReduction_58-happyReduction_58 happy_x_3- happy_x_2- happy_x_1- = case happyOut37 happy_x_1 of { (HappyWrap37 happy_var_1) -> - case happyOut38 happy_x_3 of { (HappyWrap38 happy_var_3) -> - happyIn38- ((:) happy_var_1 happy_var_3- )}}--happyReduce_59 = happySpecReduce_1 12# happyReduction_59-happyReduction_59 happy_x_1- = case happyOut31 happy_x_1 of { (HappyWrap31 happy_var_1) -> - happyIn39- (BNFC.Abs.Id happy_var_1- )}--happyReduce_60 = happySpecReduce_1 12# happyReduction_60-happyReduction_60 happy_x_1- = happyIn39- (BNFC.Abs.Wild- )--happyReduce_61 = happySpecReduce_2 12# happyReduction_61-happyReduction_61 happy_x_2- happy_x_1- = happyIn39- (BNFC.Abs.ListE- )--happyReduce_62 = happySpecReduce_3 12# happyReduction_62-happyReduction_62 happy_x_3- happy_x_2- happy_x_1- = happyIn39- (BNFC.Abs.ListCons- )--happyReduce_63 = happyReduce 5# 12# happyReduction_63-happyReduction_63 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = happyIn39- (BNFC.Abs.ListOne- ) `HappyStk` happyRest--happyReduce_64 = happySpecReduce_1 13# happyReduction_64-happyReduction_64 happy_x_1- = case happyOut31 happy_x_1 of { (HappyWrap31 happy_var_1) -> - happyIn40- (BNFC.Abs.Arg happy_var_1- )}--happyReduce_65 = happySpecReduce_0 14# happyReduction_65-happyReduction_65 = happyIn41- ([]- )--happyReduce_66 = happySpecReduce_2 14# happyReduction_66-happyReduction_66 happy_x_2- happy_x_1- = case happyOut40 happy_x_1 of { (HappyWrap40 happy_var_1) -> - case happyOut41 happy_x_2 of { (HappyWrap41 happy_var_2) -> - happyIn41- ((:) happy_var_1 happy_var_2- )}}--happyReduce_67 = happySpecReduce_0 15# happyReduction_67-happyReduction_67 = happyIn42- (BNFC.Abs.SepNone- )--happyReduce_68 = happySpecReduce_2 15# happyReduction_68-happyReduction_68 happy_x_2- happy_x_1- = case happyOut30 happy_x_2 of { (HappyWrap30 happy_var_2) -> - happyIn42- (BNFC.Abs.SepTerm happy_var_2- )}--happyReduce_69 = happySpecReduce_2 15# happyReduction_69-happyReduction_69 happy_x_2- happy_x_1- = case happyOut30 happy_x_2 of { (HappyWrap30 happy_var_2) -> - happyIn42- (BNFC.Abs.SepSepar happy_var_2- )}--happyReduce_70 = happySpecReduce_1 16# happyReduction_70-happyReduction_70 happy_x_1- = case happyOut30 happy_x_1 of { (HappyWrap30 happy_var_1) -> - happyIn43- ((:[]) happy_var_1- )}--happyReduce_71 = happySpecReduce_3 16# happyReduction_71-happyReduction_71 happy_x_3- happy_x_2- happy_x_1- = case happyOut30 happy_x_1 of { (HappyWrap30 happy_var_1) -> - case happyOut43 happy_x_3 of { (HappyWrap43 happy_var_3) -> - happyIn43- ((:) happy_var_1 happy_var_3- )}}--happyReduce_72 = happySpecReduce_3 17# happyReduction_72-happyReduction_72 happy_x_3- happy_x_2- happy_x_1- = case happyOut45 happy_x_1 of { (HappyWrap45 happy_var_1) -> - case happyOut44 happy_x_3 of { (HappyWrap44 happy_var_3) -> - happyIn44- (BNFC.Abs.Cons happy_var_1 happy_var_3- )}}--happyReduce_73 = happySpecReduce_1 17# happyReduction_73-happyReduction_73 happy_x_1- = case happyOut45 happy_x_1 of { (HappyWrap45 happy_var_1) -> - happyIn44- (happy_var_1- )}--happyReduce_74 = happySpecReduce_2 18# happyReduction_74-happyReduction_74 happy_x_2- happy_x_1- = case happyOut31 happy_x_1 of { (HappyWrap31 happy_var_1) -> - case happyOut48 happy_x_2 of { (HappyWrap48 happy_var_2) -> - happyIn45- (BNFC.Abs.App happy_var_1 happy_var_2- )}}--happyReduce_75 = happySpecReduce_1 18# happyReduction_75-happyReduction_75 happy_x_1- = case happyOut46 happy_x_1 of { (HappyWrap46 happy_var_1) -> - happyIn45- (happy_var_1- )}--happyReduce_76 = happySpecReduce_1 19# happyReduction_76-happyReduction_76 happy_x_1- = case happyOut31 happy_x_1 of { (HappyWrap31 happy_var_1) -> - happyIn46- (BNFC.Abs.Var happy_var_1- )}--happyReduce_77 = happySpecReduce_1 19# happyReduction_77-happyReduction_77 happy_x_1- = case happyOut29 happy_x_1 of { (HappyWrap29 happy_var_1) -> - happyIn46- (BNFC.Abs.LitInt happy_var_1- )}--happyReduce_78 = happySpecReduce_1 19# happyReduction_78-happyReduction_78 happy_x_1- = case happyOut27 happy_x_1 of { (HappyWrap27 happy_var_1) -> - happyIn46- (BNFC.Abs.LitChar happy_var_1- )}--happyReduce_79 = happySpecReduce_1 19# happyReduction_79-happyReduction_79 happy_x_1- = case happyOut30 happy_x_1 of { (HappyWrap30 happy_var_1) -> - happyIn46- (BNFC.Abs.LitString happy_var_1- )}--happyReduce_80 = happySpecReduce_1 19# happyReduction_80-happyReduction_80 happy_x_1- = case happyOut28 happy_x_1 of { (HappyWrap28 happy_var_1) -> - happyIn46- (BNFC.Abs.LitDouble happy_var_1- )}--happyReduce_81 = happySpecReduce_3 19# happyReduction_81-happyReduction_81 happy_x_3- happy_x_2- happy_x_1- = case happyOut47 happy_x_2 of { (HappyWrap47 happy_var_2) -> - happyIn46- (BNFC.Abs.List happy_var_2- )}--happyReduce_82 = happySpecReduce_3 19# happyReduction_82-happyReduction_82 happy_x_3- happy_x_2- happy_x_1- = case happyOut44 happy_x_2 of { (HappyWrap44 happy_var_2) -> - happyIn46- (happy_var_2- )}--happyReduce_83 = happySpecReduce_0 20# happyReduction_83-happyReduction_83 = happyIn47- ([]- )--happyReduce_84 = happySpecReduce_1 20# happyReduction_84-happyReduction_84 happy_x_1- = case happyOut44 happy_x_1 of { (HappyWrap44 happy_var_1) -> - happyIn47- ((:[]) happy_var_1- )}--happyReduce_85 = happySpecReduce_3 20# happyReduction_85-happyReduction_85 happy_x_3- happy_x_2- happy_x_1- = case happyOut44 happy_x_1 of { (HappyWrap44 happy_var_1) -> - case happyOut47 happy_x_3 of { (HappyWrap47 happy_var_3) -> - happyIn47- ((:) happy_var_1 happy_var_3- )}}--happyReduce_86 = happySpecReduce_1 21# happyReduction_86-happyReduction_86 happy_x_1- = case happyOut46 happy_x_1 of { (HappyWrap46 happy_var_1) -> - happyIn48- ((:[]) happy_var_1- )}--happyReduce_87 = happySpecReduce_2 21# happyReduction_87-happyReduction_87 happy_x_2- happy_x_1- = case happyOut46 happy_x_1 of { (HappyWrap46 happy_var_1) -> - case happyOut48 happy_x_2 of { (HappyWrap48 happy_var_2) -> - happyIn48- ((:) happy_var_1 happy_var_2- )}}--happyReduce_88 = happySpecReduce_1 22# happyReduction_88-happyReduction_88 happy_x_1- = case happyOut36 happy_x_1 of { (HappyWrap36 happy_var_1) -> - happyIn49- (BNFC.Abs.RHS happy_var_1- )}--happyReduce_89 = happySpecReduce_1 23# happyReduction_89-happyReduction_89 happy_x_1- = case happyOut49 happy_x_1 of { (HappyWrap49 happy_var_1) -> - happyIn50- ((:[]) happy_var_1- )}--happyReduce_90 = happySpecReduce_3 23# happyReduction_90-happyReduction_90 happy_x_3- happy_x_2- happy_x_1- = case happyOut49 happy_x_1 of { (HappyWrap49 happy_var_1) -> - case happyOut50 happy_x_3 of { (HappyWrap50 happy_var_3) -> - happyIn50- ((:) happy_var_1 happy_var_3- )}}--happyReduce_91 = happySpecReduce_1 24# happyReduction_91-happyReduction_91 happy_x_1- = happyIn51- (BNFC.Abs.MNonempty- )--happyReduce_92 = happySpecReduce_0 24# happyReduction_92-happyReduction_92 = happyIn51- (BNFC.Abs.MEmpty- )--happyReduce_93 = happySpecReduce_3 25# happyReduction_93-happyReduction_93 happy_x_3- happy_x_2- happy_x_1- = case happyOut52 happy_x_1 of { (HappyWrap52 happy_var_1) -> - case happyOut53 happy_x_3 of { (HappyWrap53 happy_var_3) -> - happyIn52- (BNFC.Abs.RAlt happy_var_1 happy_var_3- )}}--happyReduce_94 = happySpecReduce_1 25# happyReduction_94-happyReduction_94 happy_x_1- = case happyOut53 happy_x_1 of { (HappyWrap53 happy_var_1) -> - happyIn52- (happy_var_1- )}--happyReduce_95 = happySpecReduce_3 26# happyReduction_95-happyReduction_95 happy_x_3- happy_x_2- happy_x_1- = case happyOut53 happy_x_1 of { (HappyWrap53 happy_var_1) -> - case happyOut54 happy_x_3 of { (HappyWrap54 happy_var_3) -> - happyIn53- (BNFC.Abs.RMinus happy_var_1 happy_var_3- )}}--happyReduce_96 = happySpecReduce_1 26# happyReduction_96-happyReduction_96 happy_x_1- = case happyOut54 happy_x_1 of { (HappyWrap54 happy_var_1) -> - happyIn53- (happy_var_1- )}--happyReduce_97 = happySpecReduce_2 27# happyReduction_97-happyReduction_97 happy_x_2- happy_x_1- = case happyOut54 happy_x_1 of { (HappyWrap54 happy_var_1) -> - case happyOut55 happy_x_2 of { (HappyWrap55 happy_var_2) -> - happyIn54- (BNFC.Abs.RSeq happy_var_1 happy_var_2- )}}--happyReduce_98 = happySpecReduce_1 27# happyReduction_98-happyReduction_98 happy_x_1- = case happyOut55 happy_x_1 of { (HappyWrap55 happy_var_1) -> - happyIn54- (happy_var_1- )}--happyReduce_99 = happySpecReduce_2 28# happyReduction_99-happyReduction_99 happy_x_2- happy_x_1- = case happyOut55 happy_x_1 of { (HappyWrap55 happy_var_1) -> - happyIn55- (BNFC.Abs.RStar happy_var_1- )}--happyReduce_100 = happySpecReduce_2 28# happyReduction_100-happyReduction_100 happy_x_2- happy_x_1- = case happyOut55 happy_x_1 of { (HappyWrap55 happy_var_1) -> - happyIn55- (BNFC.Abs.RPlus happy_var_1- )}--happyReduce_101 = happySpecReduce_2 28# happyReduction_101-happyReduction_101 happy_x_2- happy_x_1- = case happyOut55 happy_x_1 of { (HappyWrap55 happy_var_1) -> - happyIn55- (BNFC.Abs.ROpt happy_var_1- )}--happyReduce_102 = happySpecReduce_1 28# happyReduction_102-happyReduction_102 happy_x_1- = happyIn55- (BNFC.Abs.REps- )--happyReduce_103 = happySpecReduce_1 28# happyReduction_103-happyReduction_103 happy_x_1- = case happyOut27 happy_x_1 of { (HappyWrap27 happy_var_1) -> - happyIn55- (BNFC.Abs.RChar happy_var_1- )}--happyReduce_104 = happySpecReduce_3 28# happyReduction_104-happyReduction_104 happy_x_3- happy_x_2- happy_x_1- = case happyOut30 happy_x_2 of { (HappyWrap30 happy_var_2) -> - happyIn55- (BNFC.Abs.RAlts happy_var_2- )}--happyReduce_105 = happySpecReduce_3 28# happyReduction_105-happyReduction_105 happy_x_3- happy_x_2- happy_x_1- = case happyOut30 happy_x_2 of { (HappyWrap30 happy_var_2) -> - happyIn55- (BNFC.Abs.RSeqs happy_var_2- )}--happyReduce_106 = happySpecReduce_1 28# happyReduction_106-happyReduction_106 happy_x_1- = happyIn55- (BNFC.Abs.RDigit- )--happyReduce_107 = happySpecReduce_1 28# happyReduction_107-happyReduction_107 happy_x_1- = happyIn55- (BNFC.Abs.RLetter- )--happyReduce_108 = happySpecReduce_1 28# happyReduction_108-happyReduction_108 happy_x_1- = happyIn55- (BNFC.Abs.RUpper- )--happyReduce_109 = happySpecReduce_1 28# happyReduction_109-happyReduction_109 happy_x_1- = happyIn55- (BNFC.Abs.RLower- )--happyReduce_110 = happySpecReduce_1 28# happyReduction_110-happyReduction_110 happy_x_1- = happyIn55- (BNFC.Abs.RAny- )--happyReduce_111 = happySpecReduce_3 28# happyReduction_111-happyReduction_111 happy_x_3- happy_x_2- happy_x_1- = case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) -> - happyIn55- (happy_var_2- )}--happyNewToken action sts stk [] =- happyDoAction 45# notHappyAtAll action sts stk []--happyNewToken action sts stk (tk:tks) =- let cont i = happyDoAction i tk action sts stk tks in- case tk of {- PT _ (TS _ 1) -> cont 1#;- PT _ (TS _ 2) -> cont 2#;- PT _ (TS _ 3) -> cont 3#;- PT _ (TS _ 4) -> cont 4#;- PT _ (TS _ 5) -> cont 5#;- PT _ (TS _ 6) -> cont 6#;- PT _ (TS _ 7) -> cont 7#;- PT _ (TS _ 8) -> cont 8#;- PT _ (TS _ 9) -> cont 9#;- PT _ (TS _ 10) -> cont 10#;- PT _ (TS _ 11) -> cont 11#;- PT _ (TS _ 12) -> cont 12#;- PT _ (TS _ 13) -> cont 13#;- PT _ (TS _ 14) -> cont 14#;- PT _ (TS _ 15) -> cont 15#;- PT _ (TS _ 16) -> cont 16#;- PT _ (TS _ 17) -> cont 17#;- PT _ (TS _ 18) -> cont 18#;- PT _ (TS _ 19) -> cont 19#;- PT _ (TS _ 20) -> cont 20#;- PT _ (TS _ 21) -> cont 21#;- PT _ (TS _ 22) -> cont 22#;- PT _ (TS _ 23) -> cont 23#;- PT _ (TS _ 24) -> cont 24#;- PT _ (TS _ 25) -> cont 25#;- PT _ (TS _ 26) -> cont 26#;- PT _ (TS _ 27) -> cont 27#;- PT _ (TS _ 28) -> cont 28#;- PT _ (TS _ 29) -> cont 29#;- PT _ (TS _ 30) -> cont 30#;- PT _ (TS _ 31) -> cont 31#;- PT _ (TS _ 32) -> cont 32#;- PT _ (TS _ 33) -> cont 33#;- PT _ (TS _ 34) -> cont 34#;- PT _ (TS _ 35) -> cont 35#;- PT _ (TS _ 36) -> cont 36#;- PT _ (TS _ 37) -> cont 37#;- PT _ (TS _ 38) -> cont 38#;- PT _ (TS _ 39) -> cont 39#;- PT _ (TC happy_dollar_dollar) -> cont 40#;- PT _ (TD happy_dollar_dollar) -> cont 41#;- PT _ (TI happy_dollar_dollar) -> cont 42#;- PT _ (TL happy_dollar_dollar) -> cont 43#;- PT _ (T_Identifier _) -> cont 44#;- _ -> happyError' ((tk:tks), [])- }+ (24 , happyReduce_24),+ (25 , happyReduce_25),+ (26 , happyReduce_26),+ (27 , happyReduce_27),+ (28 , happyReduce_28),+ (29 , happyReduce_29),+ (30 , happyReduce_30),+ (31 , happyReduce_31),+ (32 , happyReduce_32),+ (33 , happyReduce_33),+ (34 , happyReduce_34),+ (35 , happyReduce_35),+ (36 , happyReduce_36),+ (37 , happyReduce_37),+ (38 , happyReduce_38),+ (39 , happyReduce_39),+ (40 , happyReduce_40),+ (41 , happyReduce_41),+ (42 , happyReduce_42),+ (43 , happyReduce_43),+ (44 , happyReduce_44),+ (45 , happyReduce_45),+ (46 , happyReduce_46),+ (47 , happyReduce_47),+ (48 , happyReduce_48),+ (49 , happyReduce_49),+ (50 , happyReduce_50),+ (51 , happyReduce_51),+ (52 , happyReduce_52),+ (53 , happyReduce_53),+ (54 , happyReduce_54),+ (55 , happyReduce_55),+ (56 , happyReduce_56),+ (57 , happyReduce_57),+ (58 , happyReduce_58),+ (59 , happyReduce_59),+ (60 , happyReduce_60),+ (61 , happyReduce_61),+ (62 , happyReduce_62),+ (63 , happyReduce_63),+ (64 , happyReduce_64),+ (65 , happyReduce_65),+ (66 , happyReduce_66),+ (67 , happyReduce_67),+ (68 , happyReduce_68),+ (69 , happyReduce_69),+ (70 , happyReduce_70),+ (71 , happyReduce_71),+ (72 , happyReduce_72),+ (73 , happyReduce_73),+ (74 , happyReduce_74),+ (75 , happyReduce_75),+ (76 , happyReduce_76),+ (77 , happyReduce_77),+ (78 , happyReduce_78),+ (79 , happyReduce_79),+ (80 , happyReduce_80),+ (81 , happyReduce_81),+ (82 , happyReduce_82),+ (83 , happyReduce_83),+ (84 , happyReduce_84),+ (85 , happyReduce_85),+ (86 , happyReduce_86),+ (87 , happyReduce_87),+ (88 , happyReduce_88),+ (89 , happyReduce_89),+ (90 , happyReduce_90),+ (91 , happyReduce_91),+ (92 , happyReduce_92),+ (93 , happyReduce_93),+ (94 , happyReduce_94),+ (95 , happyReduce_95),+ (96 , happyReduce_96),+ (97 , happyReduce_97),+ (98 , happyReduce_98),+ (99 , happyReduce_99),+ (100 , happyReduce_100),+ (101 , happyReduce_101),+ (102 , happyReduce_102),+ (103 , happyReduce_103),+ (104 , happyReduce_104),+ (105 , happyReduce_105),+ (106 , happyReduce_106),+ (107 , happyReduce_107),+ (108 , happyReduce_108),+ (109 , happyReduce_109),+ (110 , happyReduce_110),+ (111 , happyReduce_111)+ ]++happy_n_terms = 46 :: Prelude.Int+happy_n_nonterms = 29 :: Prelude.Int++happyReduce_24 = happySpecReduce_1 0# happyReduction_24+happyReduction_24 happy_x_1+ = case happyOutTok happy_x_1 of { (PT _ (TC happy_var_1)) ->+ happyIn27+ ((read happy_var_1) :: Char+ )}++happyReduce_25 = happySpecReduce_1 1# happyReduction_25+happyReduction_25 happy_x_1+ = case happyOutTok happy_x_1 of { (PT _ (TD happy_var_1)) ->+ happyIn28+ ((read happy_var_1) :: Double+ )}++happyReduce_26 = happySpecReduce_1 2# happyReduction_26+happyReduction_26 happy_x_1+ = case happyOutTok happy_x_1 of { (PT _ (TI happy_var_1)) ->+ happyIn29+ ((read happy_var_1) :: Integer+ )}++happyReduce_27 = happySpecReduce_1 3# happyReduction_27+happyReduction_27 happy_x_1+ = case happyOutTok happy_x_1 of { (PT _ (TL happy_var_1)) ->+ happyIn30+ (happy_var_1+ )}++happyReduce_28 = happySpecReduce_1 4# happyReduction_28+happyReduction_28 happy_x_1+ = case happyOutTok happy_x_1 of { happy_var_1 ->+ happyIn31+ (BNFC.Abs.Identifier (mkPosToken happy_var_1)+ )}++happyReduce_29 = happySpecReduce_1 5# happyReduction_29+happyReduction_29 happy_x_1+ = case happyOut33 happy_x_1 of { (HappyWrap33 happy_var_1) ->+ happyIn32+ (BNFC.Abs.Grammar happy_var_1+ )}++happyReduce_30 = happySpecReduce_0 6# happyReduction_30+happyReduction_30 = happyIn33+ ([]+ )++happyReduce_31 = happySpecReduce_1 6# happyReduction_31+happyReduction_31 happy_x_1+ = case happyOut34 happy_x_1 of { (HappyWrap34 happy_var_1) ->+ happyIn33+ ((:[]) happy_var_1+ )}++happyReduce_32 = happySpecReduce_3 6# happyReduction_32+happyReduction_32 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut34 happy_x_1 of { (HappyWrap34 happy_var_1) ->+ case happyOut33 happy_x_3 of { (HappyWrap33 happy_var_3) ->+ happyIn33+ ((:) happy_var_1 happy_var_3+ )}}++happyReduce_33 = happySpecReduce_2 6# happyReduction_33+happyReduction_33 happy_x_2+ happy_x_1+ = case happyOut33 happy_x_2 of { (HappyWrap33 happy_var_2) ->+ happyIn33+ (happy_var_2+ )}++happyReduce_34 = happyReduce 5# 7# happyReduction_34+happyReduction_34 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut39 happy_x_1 of { (HappyWrap39 happy_var_1) ->+ case happyOut37 happy_x_3 of { (HappyWrap37 happy_var_3) ->+ case happyOut36 happy_x_5 of { (HappyWrap36 happy_var_5) ->+ happyIn34+ (BNFC.Abs.Rule happy_var_1 happy_var_3 happy_var_5+ ) `HappyStk` happyRest}}}++happyReduce_35 = happySpecReduce_2 7# happyReduction_35+happyReduction_35 happy_x_2+ happy_x_1+ = case happyOut30 happy_x_2 of { (HappyWrap30 happy_var_2) ->+ happyIn34+ (BNFC.Abs.Comment happy_var_2+ )}++happyReduce_36 = happySpecReduce_3 7# happyReduction_36+happyReduction_36 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut30 happy_x_2 of { (HappyWrap30 happy_var_2) ->+ case happyOut30 happy_x_3 of { (HappyWrap30 happy_var_3) ->+ happyIn34+ (BNFC.Abs.Comments happy_var_2 happy_var_3+ )}}++happyReduce_37 = happyReduce 6# 7# happyReduction_37+happyReduction_37 (happy_x_6 `HappyStk`+ happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut39 happy_x_2 of { (HappyWrap39 happy_var_2) ->+ case happyOut37 happy_x_4 of { (HappyWrap37 happy_var_4) ->+ case happyOut36 happy_x_6 of { (HappyWrap36 happy_var_6) ->+ happyIn34+ (BNFC.Abs.Internal happy_var_2 happy_var_4 happy_var_6+ ) `HappyStk` happyRest}}}++happyReduce_38 = happySpecReduce_3 7# happyReduction_38+happyReduction_38 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut31 happy_x_2 of { (HappyWrap31 happy_var_2) ->+ case happyOut52 happy_x_3 of { (HappyWrap52 happy_var_3) ->+ happyIn34+ (BNFC.Abs.Token happy_var_2 happy_var_3+ )}}++happyReduce_39 = happyReduce 4# 7# happyReduction_39+happyReduction_39 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut31 happy_x_3 of { (HappyWrap31 happy_var_3) ->+ case happyOut52 happy_x_4 of { (HappyWrap52 happy_var_4) ->+ happyIn34+ (BNFC.Abs.PosToken happy_var_3 happy_var_4+ ) `HappyStk` happyRest}}++happyReduce_40 = happySpecReduce_2 7# happyReduction_40+happyReduction_40 happy_x_2+ happy_x_1+ = case happyOut38 happy_x_2 of { (HappyWrap38 happy_var_2) ->+ happyIn34+ (BNFC.Abs.Entryp happy_var_2+ )}++happyReduce_41 = happyReduce 4# 7# happyReduction_41+happyReduction_41 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut51 happy_x_2 of { (HappyWrap51 happy_var_2) ->+ case happyOut37 happy_x_3 of { (HappyWrap37 happy_var_3) ->+ case happyOut30 happy_x_4 of { (HappyWrap30 happy_var_4) ->+ happyIn34+ (BNFC.Abs.Separator happy_var_2 happy_var_3 happy_var_4+ ) `HappyStk` happyRest}}}++happyReduce_42 = happyReduce 4# 7# happyReduction_42+happyReduction_42 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut51 happy_x_2 of { (HappyWrap51 happy_var_2) ->+ case happyOut37 happy_x_3 of { (HappyWrap37 happy_var_3) ->+ case happyOut30 happy_x_4 of { (HappyWrap30 happy_var_4) ->+ happyIn34+ (BNFC.Abs.Terminator happy_var_2 happy_var_3 happy_var_4+ ) `HappyStk` happyRest}}}++happyReduce_43 = happyReduce 6# 7# happyReduction_43+happyReduction_43 (happy_x_6 `HappyStk`+ happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut37 happy_x_2 of { (HappyWrap37 happy_var_2) ->+ case happyOut30 happy_x_3 of { (HappyWrap30 happy_var_3) ->+ case happyOut30 happy_x_4 of { (HappyWrap30 happy_var_4) ->+ case happyOut42 happy_x_5 of { (HappyWrap42 happy_var_5) ->+ case happyOut51 happy_x_6 of { (HappyWrap51 happy_var_6) ->+ happyIn34+ (BNFC.Abs.Delimiters happy_var_2 happy_var_3 happy_var_4 happy_var_5 happy_var_6+ ) `HappyStk` happyRest}}}}}++happyReduce_44 = happySpecReduce_3 7# happyReduction_44+happyReduction_44 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut31 happy_x_2 of { (HappyWrap31 happy_var_2) ->+ case happyOut29 happy_x_3 of { (HappyWrap29 happy_var_3) ->+ happyIn34+ (BNFC.Abs.Coercions happy_var_2 happy_var_3+ )}}++happyReduce_45 = happyReduce 4# 7# happyReduction_45+happyReduction_45 (happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut31 happy_x_2 of { (HappyWrap31 happy_var_2) ->+ case happyOut50 happy_x_4 of { (HappyWrap50 happy_var_4) ->+ happyIn34+ (BNFC.Abs.Rules happy_var_2 happy_var_4+ ) `HappyStk` happyRest}}++happyReduce_46 = happyReduce 5# 7# happyReduction_46+happyReduction_46 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = case happyOut31 happy_x_2 of { (HappyWrap31 happy_var_2) ->+ case happyOut41 happy_x_3 of { (HappyWrap41 happy_var_3) ->+ case happyOut44 happy_x_5 of { (HappyWrap44 happy_var_5) ->+ happyIn34+ (BNFC.Abs.Function happy_var_2 happy_var_3 happy_var_5+ ) `HappyStk` happyRest}}}++happyReduce_47 = happySpecReduce_2 7# happyReduction_47+happyReduction_47 happy_x_2+ happy_x_1+ = case happyOut43 happy_x_2 of { (HappyWrap43 happy_var_2) ->+ happyIn34+ (BNFC.Abs.Layout happy_var_2+ )}++happyReduce_48 = happySpecReduce_3 7# happyReduction_48+happyReduction_48 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut43 happy_x_3 of { (HappyWrap43 happy_var_3) ->+ happyIn34+ (BNFC.Abs.LayoutStop happy_var_3+ )}++happyReduce_49 = happySpecReduce_2 7# happyReduction_49+happyReduction_49 happy_x_2+ happy_x_1+ = happyIn34+ (BNFC.Abs.LayoutTop+ )++happyReduce_50 = happySpecReduce_1 8# happyReduction_50+happyReduction_50 happy_x_1+ = case happyOut30 happy_x_1 of { (HappyWrap30 happy_var_1) ->+ happyIn35+ (BNFC.Abs.Terminal happy_var_1+ )}++happyReduce_51 = happySpecReduce_1 8# happyReduction_51+happyReduction_51 happy_x_1+ = case happyOut37 happy_x_1 of { (HappyWrap37 happy_var_1) ->+ happyIn35+ (BNFC.Abs.NTerminal happy_var_1+ )}++happyReduce_52 = happySpecReduce_0 9# happyReduction_52+happyReduction_52 = happyIn36+ ([]+ )++happyReduce_53 = happySpecReduce_2 9# happyReduction_53+happyReduction_53 happy_x_2+ happy_x_1+ = case happyOut35 happy_x_1 of { (HappyWrap35 happy_var_1) ->+ case happyOut36 happy_x_2 of { (HappyWrap36 happy_var_2) ->+ happyIn36+ ((:) happy_var_1 happy_var_2+ )}}++happyReduce_54 = happySpecReduce_3 10# happyReduction_54+happyReduction_54 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut37 happy_x_2 of { (HappyWrap37 happy_var_2) ->+ happyIn37+ (BNFC.Abs.ListCat happy_var_2+ )}++happyReduce_55 = happySpecReduce_1 10# happyReduction_55+happyReduction_55 happy_x_1+ = case happyOut31 happy_x_1 of { (HappyWrap31 happy_var_1) ->+ happyIn37+ (BNFC.Abs.IdCat happy_var_1+ )}++happyReduce_56 = happySpecReduce_0 11# happyReduction_56+happyReduction_56 = happyIn38+ ([]+ )++happyReduce_57 = happySpecReduce_1 11# happyReduction_57+happyReduction_57 happy_x_1+ = case happyOut37 happy_x_1 of { (HappyWrap37 happy_var_1) ->+ happyIn38+ ((:[]) happy_var_1+ )}++happyReduce_58 = happySpecReduce_3 11# happyReduction_58+happyReduction_58 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut37 happy_x_1 of { (HappyWrap37 happy_var_1) ->+ case happyOut38 happy_x_3 of { (HappyWrap38 happy_var_3) ->+ happyIn38+ ((:) happy_var_1 happy_var_3+ )}}++happyReduce_59 = happySpecReduce_1 12# happyReduction_59+happyReduction_59 happy_x_1+ = case happyOut31 happy_x_1 of { (HappyWrap31 happy_var_1) ->+ happyIn39+ (BNFC.Abs.Id happy_var_1+ )}++happyReduce_60 = happySpecReduce_1 12# happyReduction_60+happyReduction_60 happy_x_1+ = happyIn39+ (BNFC.Abs.Wild+ )++happyReduce_61 = happySpecReduce_2 12# happyReduction_61+happyReduction_61 happy_x_2+ happy_x_1+ = happyIn39+ (BNFC.Abs.ListE+ )++happyReduce_62 = happySpecReduce_3 12# happyReduction_62+happyReduction_62 happy_x_3+ happy_x_2+ happy_x_1+ = happyIn39+ (BNFC.Abs.ListCons+ )++happyReduce_63 = happyReduce 5# 12# happyReduction_63+happyReduction_63 (happy_x_5 `HappyStk`+ happy_x_4 `HappyStk`+ happy_x_3 `HappyStk`+ happy_x_2 `HappyStk`+ happy_x_1 `HappyStk`+ happyRest)+ = happyIn39+ (BNFC.Abs.ListOne+ ) `HappyStk` happyRest++happyReduce_64 = happySpecReduce_1 13# happyReduction_64+happyReduction_64 happy_x_1+ = case happyOut31 happy_x_1 of { (HappyWrap31 happy_var_1) ->+ happyIn40+ (BNFC.Abs.Arg happy_var_1+ )}++happyReduce_65 = happySpecReduce_0 14# happyReduction_65+happyReduction_65 = happyIn41+ ([]+ )++happyReduce_66 = happySpecReduce_2 14# happyReduction_66+happyReduction_66 happy_x_2+ happy_x_1+ = case happyOut40 happy_x_1 of { (HappyWrap40 happy_var_1) ->+ case happyOut41 happy_x_2 of { (HappyWrap41 happy_var_2) ->+ happyIn41+ ((:) happy_var_1 happy_var_2+ )}}++happyReduce_67 = happySpecReduce_0 15# happyReduction_67+happyReduction_67 = happyIn42+ (BNFC.Abs.SepNone+ )++happyReduce_68 = happySpecReduce_2 15# happyReduction_68+happyReduction_68 happy_x_2+ happy_x_1+ = case happyOut30 happy_x_2 of { (HappyWrap30 happy_var_2) ->+ happyIn42+ (BNFC.Abs.SepTerm happy_var_2+ )}++happyReduce_69 = happySpecReduce_2 15# happyReduction_69+happyReduction_69 happy_x_2+ happy_x_1+ = case happyOut30 happy_x_2 of { (HappyWrap30 happy_var_2) ->+ happyIn42+ (BNFC.Abs.SepSepar happy_var_2+ )}++happyReduce_70 = happySpecReduce_1 16# happyReduction_70+happyReduction_70 happy_x_1+ = case happyOut30 happy_x_1 of { (HappyWrap30 happy_var_1) ->+ happyIn43+ ((:[]) happy_var_1+ )}++happyReduce_71 = happySpecReduce_3 16# happyReduction_71+happyReduction_71 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut30 happy_x_1 of { (HappyWrap30 happy_var_1) ->+ case happyOut43 happy_x_3 of { (HappyWrap43 happy_var_3) ->+ happyIn43+ ((:) happy_var_1 happy_var_3+ )}}++happyReduce_72 = happySpecReduce_3 17# happyReduction_72+happyReduction_72 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut45 happy_x_1 of { (HappyWrap45 happy_var_1) ->+ case happyOut44 happy_x_3 of { (HappyWrap44 happy_var_3) ->+ happyIn44+ (BNFC.Abs.Cons happy_var_1 happy_var_3+ )}}++happyReduce_73 = happySpecReduce_1 17# happyReduction_73+happyReduction_73 happy_x_1+ = case happyOut45 happy_x_1 of { (HappyWrap45 happy_var_1) ->+ happyIn44+ (happy_var_1+ )}++happyReduce_74 = happySpecReduce_2 18# happyReduction_74+happyReduction_74 happy_x_2+ happy_x_1+ = case happyOut31 happy_x_1 of { (HappyWrap31 happy_var_1) ->+ case happyOut48 happy_x_2 of { (HappyWrap48 happy_var_2) ->+ happyIn45+ (BNFC.Abs.App happy_var_1 happy_var_2+ )}}++happyReduce_75 = happySpecReduce_1 18# happyReduction_75+happyReduction_75 happy_x_1+ = case happyOut46 happy_x_1 of { (HappyWrap46 happy_var_1) ->+ happyIn45+ (happy_var_1+ )}++happyReduce_76 = happySpecReduce_1 19# happyReduction_76+happyReduction_76 happy_x_1+ = case happyOut31 happy_x_1 of { (HappyWrap31 happy_var_1) ->+ happyIn46+ (BNFC.Abs.Var happy_var_1+ )}++happyReduce_77 = happySpecReduce_1 19# happyReduction_77+happyReduction_77 happy_x_1+ = case happyOut29 happy_x_1 of { (HappyWrap29 happy_var_1) ->+ happyIn46+ (BNFC.Abs.LitInt happy_var_1+ )}++happyReduce_78 = happySpecReduce_1 19# happyReduction_78+happyReduction_78 happy_x_1+ = case happyOut27 happy_x_1 of { (HappyWrap27 happy_var_1) ->+ happyIn46+ (BNFC.Abs.LitChar happy_var_1+ )}++happyReduce_79 = happySpecReduce_1 19# happyReduction_79+happyReduction_79 happy_x_1+ = case happyOut30 happy_x_1 of { (HappyWrap30 happy_var_1) ->+ happyIn46+ (BNFC.Abs.LitString happy_var_1+ )}++happyReduce_80 = happySpecReduce_1 19# happyReduction_80+happyReduction_80 happy_x_1+ = case happyOut28 happy_x_1 of { (HappyWrap28 happy_var_1) ->+ happyIn46+ (BNFC.Abs.LitDouble happy_var_1+ )}++happyReduce_81 = happySpecReduce_3 19# happyReduction_81+happyReduction_81 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut47 happy_x_2 of { (HappyWrap47 happy_var_2) ->+ happyIn46+ (BNFC.Abs.List happy_var_2+ )}++happyReduce_82 = happySpecReduce_3 19# happyReduction_82+happyReduction_82 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut44 happy_x_2 of { (HappyWrap44 happy_var_2) ->+ happyIn46+ (happy_var_2+ )}++happyReduce_83 = happySpecReduce_0 20# happyReduction_83+happyReduction_83 = happyIn47+ ([]+ )++happyReduce_84 = happySpecReduce_1 20# happyReduction_84+happyReduction_84 happy_x_1+ = case happyOut44 happy_x_1 of { (HappyWrap44 happy_var_1) ->+ happyIn47+ ((:[]) happy_var_1+ )}++happyReduce_85 = happySpecReduce_3 20# happyReduction_85+happyReduction_85 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut44 happy_x_1 of { (HappyWrap44 happy_var_1) ->+ case happyOut47 happy_x_3 of { (HappyWrap47 happy_var_3) ->+ happyIn47+ ((:) happy_var_1 happy_var_3+ )}}++happyReduce_86 = happySpecReduce_1 21# happyReduction_86+happyReduction_86 happy_x_1+ = case happyOut46 happy_x_1 of { (HappyWrap46 happy_var_1) ->+ happyIn48+ ((:[]) happy_var_1+ )}++happyReduce_87 = happySpecReduce_2 21# happyReduction_87+happyReduction_87 happy_x_2+ happy_x_1+ = case happyOut46 happy_x_1 of { (HappyWrap46 happy_var_1) ->+ case happyOut48 happy_x_2 of { (HappyWrap48 happy_var_2) ->+ happyIn48+ ((:) happy_var_1 happy_var_2+ )}}++happyReduce_88 = happySpecReduce_1 22# happyReduction_88+happyReduction_88 happy_x_1+ = case happyOut36 happy_x_1 of { (HappyWrap36 happy_var_1) ->+ happyIn49+ (BNFC.Abs.RHS happy_var_1+ )}++happyReduce_89 = happySpecReduce_1 23# happyReduction_89+happyReduction_89 happy_x_1+ = case happyOut49 happy_x_1 of { (HappyWrap49 happy_var_1) ->+ happyIn50+ ((:[]) happy_var_1+ )}++happyReduce_90 = happySpecReduce_3 23# happyReduction_90+happyReduction_90 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut49 happy_x_1 of { (HappyWrap49 happy_var_1) ->+ case happyOut50 happy_x_3 of { (HappyWrap50 happy_var_3) ->+ happyIn50+ ((:) happy_var_1 happy_var_3+ )}}++happyReduce_91 = happySpecReduce_1 24# happyReduction_91+happyReduction_91 happy_x_1+ = happyIn51+ (BNFC.Abs.MNonempty+ )++happyReduce_92 = happySpecReduce_0 24# happyReduction_92+happyReduction_92 = happyIn51+ (BNFC.Abs.MEmpty+ )++happyReduce_93 = happySpecReduce_3 25# happyReduction_93+happyReduction_93 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut52 happy_x_1 of { (HappyWrap52 happy_var_1) ->+ case happyOut53 happy_x_3 of { (HappyWrap53 happy_var_3) ->+ happyIn52+ (BNFC.Abs.RAlt happy_var_1 happy_var_3+ )}}++happyReduce_94 = happySpecReduce_1 25# happyReduction_94+happyReduction_94 happy_x_1+ = case happyOut53 happy_x_1 of { (HappyWrap53 happy_var_1) ->+ happyIn52+ (happy_var_1+ )}++happyReduce_95 = happySpecReduce_3 26# happyReduction_95+happyReduction_95 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut53 happy_x_1 of { (HappyWrap53 happy_var_1) ->+ case happyOut54 happy_x_3 of { (HappyWrap54 happy_var_3) ->+ happyIn53+ (BNFC.Abs.RMinus happy_var_1 happy_var_3+ )}}++happyReduce_96 = happySpecReduce_1 26# happyReduction_96+happyReduction_96 happy_x_1+ = case happyOut54 happy_x_1 of { (HappyWrap54 happy_var_1) ->+ happyIn53+ (happy_var_1+ )}++happyReduce_97 = happySpecReduce_2 27# happyReduction_97+happyReduction_97 happy_x_2+ happy_x_1+ = case happyOut54 happy_x_1 of { (HappyWrap54 happy_var_1) ->+ case happyOut55 happy_x_2 of { (HappyWrap55 happy_var_2) ->+ happyIn54+ (BNFC.Abs.RSeq happy_var_1 happy_var_2+ )}}++happyReduce_98 = happySpecReduce_1 27# happyReduction_98+happyReduction_98 happy_x_1+ = case happyOut55 happy_x_1 of { (HappyWrap55 happy_var_1) ->+ happyIn54+ (happy_var_1+ )}++happyReduce_99 = happySpecReduce_2 28# happyReduction_99+happyReduction_99 happy_x_2+ happy_x_1+ = case happyOut55 happy_x_1 of { (HappyWrap55 happy_var_1) ->+ happyIn55+ (BNFC.Abs.RStar happy_var_1+ )}++happyReduce_100 = happySpecReduce_2 28# happyReduction_100+happyReduction_100 happy_x_2+ happy_x_1+ = case happyOut55 happy_x_1 of { (HappyWrap55 happy_var_1) ->+ happyIn55+ (BNFC.Abs.RPlus happy_var_1+ )}++happyReduce_101 = happySpecReduce_2 28# happyReduction_101+happyReduction_101 happy_x_2+ happy_x_1+ = case happyOut55 happy_x_1 of { (HappyWrap55 happy_var_1) ->+ happyIn55+ (BNFC.Abs.ROpt happy_var_1+ )}++happyReduce_102 = happySpecReduce_1 28# happyReduction_102+happyReduction_102 happy_x_1+ = happyIn55+ (BNFC.Abs.REps+ )++happyReduce_103 = happySpecReduce_1 28# happyReduction_103+happyReduction_103 happy_x_1+ = case happyOut27 happy_x_1 of { (HappyWrap27 happy_var_1) ->+ happyIn55+ (BNFC.Abs.RChar happy_var_1+ )}++happyReduce_104 = happySpecReduce_3 28# happyReduction_104+happyReduction_104 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut30 happy_x_2 of { (HappyWrap30 happy_var_2) ->+ happyIn55+ (BNFC.Abs.RAlts happy_var_2+ )}++happyReduce_105 = happySpecReduce_3 28# happyReduction_105+happyReduction_105 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut30 happy_x_2 of { (HappyWrap30 happy_var_2) ->+ happyIn55+ (BNFC.Abs.RSeqs happy_var_2+ )}++happyReduce_106 = happySpecReduce_1 28# happyReduction_106+happyReduction_106 happy_x_1+ = happyIn55+ (BNFC.Abs.RDigit+ )++happyReduce_107 = happySpecReduce_1 28# happyReduction_107+happyReduction_107 happy_x_1+ = happyIn55+ (BNFC.Abs.RLetter+ )++happyReduce_108 = happySpecReduce_1 28# happyReduction_108+happyReduction_108 happy_x_1+ = happyIn55+ (BNFC.Abs.RUpper+ )++happyReduce_109 = happySpecReduce_1 28# happyReduction_109+happyReduction_109 happy_x_1+ = happyIn55+ (BNFC.Abs.RLower+ )++happyReduce_110 = happySpecReduce_1 28# happyReduction_110+happyReduction_110 happy_x_1+ = happyIn55+ (BNFC.Abs.RAny+ )++happyReduce_111 = happySpecReduce_3 28# happyReduction_111+happyReduction_111 happy_x_3+ happy_x_2+ happy_x_1+ = case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) ->+ happyIn55+ (happy_var_2+ )}++happyNewToken action sts stk [] =+ happyDoAction 45# notHappyAtAll action sts stk []++happyNewToken action sts stk (tk:tks) =+ let cont i = happyDoAction i tk action sts stk tks in+ case tk of {+ PT _ (TS _ 1) -> cont 1#;+ PT _ (TS _ 2) -> cont 2#;+ PT _ (TS _ 3) -> cont 3#;+ PT _ (TS _ 4) -> cont 4#;+ PT _ (TS _ 5) -> cont 5#;+ PT _ (TS _ 6) -> cont 6#;+ PT _ (TS _ 7) -> cont 7#;+ PT _ (TS _ 8) -> cont 8#;+ PT _ (TS _ 9) -> cont 9#;+ PT _ (TS _ 10) -> cont 10#;+ PT _ (TS _ 11) -> cont 11#;+ PT _ (TS _ 12) -> cont 12#;+ PT _ (TS _ 13) -> cont 13#;+ PT _ (TS _ 14) -> cont 14#;+ PT _ (TS _ 15) -> cont 15#;+ PT _ (TS _ 16) -> cont 16#;+ PT _ (TS _ 17) -> cont 17#;+ PT _ (TS _ 18) -> cont 18#;+ PT _ (TS _ 19) -> cont 19#;+ PT _ (TS _ 20) -> cont 20#;+ PT _ (TS _ 21) -> cont 21#;+ PT _ (TS _ 22) -> cont 22#;+ PT _ (TS _ 23) -> cont 23#;+ PT _ (TS _ 24) -> cont 24#;+ PT _ (TS _ 25) -> cont 25#;+ PT _ (TS _ 26) -> cont 26#;+ PT _ (TS _ 27) -> cont 27#;+ PT _ (TS _ 28) -> cont 28#;+ PT _ (TS _ 29) -> cont 29#;+ PT _ (TS _ 30) -> cont 30#;+ PT _ (TS _ 31) -> cont 31#;+ PT _ (TS _ 32) -> cont 32#;+ PT _ (TS _ 33) -> cont 33#;+ PT _ (TS _ 34) -> cont 34#;+ PT _ (TS _ 35) -> cont 35#;+ PT _ (TS _ 36) -> cont 36#;+ PT _ (TS _ 37) -> cont 37#;+ PT _ (TS _ 38) -> cont 38#;+ PT _ (TS _ 39) -> cont 39#;+ PT _ (TC happy_dollar_dollar) -> cont 40#;+ PT _ (TD happy_dollar_dollar) -> cont 41#;+ PT _ (TI happy_dollar_dollar) -> cont 42#;+ PT _ (TL happy_dollar_dollar) -> cont 43#;+ PT _ (T_Identifier _) -> cont 44#;+ _ -> happyError' ((tk:tks), [])+ } happyError_ explist 45# tk tks = happyError' (tks, explist) happyError_ explist _ tk tks = happyError' ((tk:tks), explist)
− stack-7.10.3.yaml
@@ -1,1 +0,0 @@-resolver: lts-6.35
− stack-8.0.2.yaml
@@ -1,1 +0,0 @@-resolver: lts-9.21
− stack-8.10.2.yaml
@@ -1,3 +0,0 @@-resolver: nightly-2020-12-14-compiler: ghc-8.10.2-compiler-check: match-exact
− stack-8.10.3.yaml
@@ -1,3 +0,0 @@-resolver: lts-17.2-compiler: ghc-8.10.3-compiler-check: match-exact
− stack-8.10.4.yaml
@@ -1,3 +0,0 @@-resolver: lts-17.13-compiler: ghc-8.10.4-compiler-check: match-exact
stack-8.10.7.yaml view
@@ -1,3 +1,3 @@-resolver: lts-18.10+resolver: lts-18.28 compiler: ghc-8.10.7 compiler-check: match-exact
− stack-8.6.4.yaml
@@ -1,2 +0,0 @@-resolver: lts-13.19-
− stack-8.8.2.yaml
@@ -1,2 +0,0 @@-resolver: lts-15.3-
− stack-8.8.3.yaml
@@ -1,2 +0,0 @@-resolver: lts-15.8-
stack-8.8.4.yaml view
@@ -1,4 +1,3 @@-resolver: lts-16.2+resolver: lts-16.31 compiler: ghc-8.8.4 compiler-check: match-exact-
− stack-9.0.1.yaml
@@ -1,3 +0,0 @@-resolver: nightly-2022-01-04-compiler: ghc-9.0.1-# compiler-check: match-exact
stack-9.0.2.yaml view
@@ -1,33 +1,3 @@-resolver: nightly-2022-01-27+resolver: lts-19.33 compiler: ghc-9.0.2-# compiler-check: match-exact--# extra-deps:-# - alex-3.2.6-# - cabal-doctest-1.0.8-# - happy-1.20.0-# - string-qq-0.0.4--# # For --test:-# - HUnit-1.6.2.0-# - QuickCheck-2.14.2-# - ansi-terminal-0.11-# - base-compat-0.11.2-# - call-stack-0.4.0-# - clock-0.8.2-# - code-page-0.2.1-# - colour-2.3.5-# - doctest-0.18.1-# - ghc-paths-0.1.0.12@rev:2-# - hspec-2.8.2-# - hspec-core-2.8.2-# - hspec-discover-2.8.2-# - hspec-expectations-0.8.2-# - primitive-0.7.1.0-# - quickcheck-io-0.2.0-# - random-1.2.0-# - setenv-0.1.1.3-# - splitmix-0.1.0.3-# - syb-0.7.2.1-# - temporary-1.3-# - tf-random-0.5+compiler-check: match-exact
− stack-9.2.1.yaml
@@ -1,33 +0,0 @@-resolver: ghc-9.2.1-compiler: ghc-9.2.1-# compiler-check: match-exact--extra-deps:-- alex-3.2.6-- cabal-doctest-1.0.9-- happy-1.20.0-- string-qq-0.0.4--# For --test:-- HUnit-1.6.2.0-- QuickCheck-2.14.2-- ansi-terminal-0.11-- base-compat-0.12.1-- call-stack-0.4.0-- clock-0.8.2-- code-page-0.2.1-- colour-2.3.6-- doctest-0.20.0-- ghc-paths-0.1.0.12@rev:3-- hspec-2.9.4-- hspec-core-2.9.4-- hspec-discover-2.9.4-- hspec-expectations-0.8.2-- primitive-0.7.3.0-- quickcheck-io-0.2.0-- random-1.2.1-- setenv-0.1.1.3-- splitmix-0.1.0.4-- syb-0.7.2.1-- temporary-1.3-- tf-random-0.5
+ stack-9.2.5.yaml view
@@ -0,0 +1,3 @@+resolver: lts-20.4+compiler: ghc-9.2.5+compiler-check: match-exact
+ stack-9.4.3.yaml view
@@ -0,0 +1,3 @@+resolver: nightly-2022-12-12+compiler: ghc-9.4.3+compiler-check: match-exact
− test/doctests.hs
@@ -1,35 +0,0 @@--- | @doctest@ main, from https://hackage.haskell.org/package/cabal-doctest--import Build_doctests ( flags, pkgs, module_sources )-import System.Environment ( unsetEnv )-import Test.DocTest ( doctest )--main :: IO ()-main = do- -- optionally print arguments- mapM_ putStrLn . concat $- [ ["Arguments to doctest"]- , args- , [""]- ]- fixEnv- doctest args- where- args = flags ++ pkgs ++ module_sources---- | From version 2, Stack sets the GHC_ENVRIONMENT variable, and GHC--- (as invoked by doctest) will pick that up. This is undesirable:--- cabal-doctest passes all the necessary information on the command--- line already, and can lead to ambiguous module errors as GHC will--- load the environment in addition to what cabal-doctest instructs it--- to.------ Hence, cabal-doctest tells GHC to ignore package environments--- altogether on the command line. However, this is only possible--- since GHC 8.2. If you are using cabal-doctest with Stack 2 and--- GHC 8.0 or earlier and seeing ambiguous module errors or other--- mysterious failures, try manually unsetting GHC_ENVIRONMENT before--- invoking doctest.----fixEnv :: IO ()-fixEnv = unsetEnv "GHC_ENVIRONMENT"