module BNFC.Backend.Haskell.State where

import BNFC.CF

import BNFC.Prelude

import BNFC.Options.GlobalOptions

import BNFC.Backend.Haskell.Options

import BNFC.Backend.Haskell.Utilities.Utils

data HaskellBackendState = HaskellSt
  { HaskellBackendState -> GlobalOptions
globalOpt :: GlobalOptions
  , HaskellBackendState -> HaskellBackendOptions
haskellOpts :: HaskellBackendOptions
  , HaskellBackendState -> [Token]
lexerParserTokens :: [Token]
  , HaskellBackendState
-> [(Type, [(Label, ([Type], (Integer, ARHS)))])]
astRules :: [(Type, [(Label, ([Type], (Integer, ARHS)))])]
  , HaskellBackendState -> [(Cat, Map RHS RuleLabel)]
parserRules :: [(Cat, Map RHS RuleLabel)]
  , HaskellBackendState -> [(LabelName, Function)]
functions :: [(LabelName,Function)]
  , HaskellBackendState -> [(LabelName, TokenDef)]
tokens :: [(CatName,TokenDef)]
  }