packages feed

bibdb-0.4.2: src/Parser/AlexUserState.hs

{-# LANGUAGE TemplateHaskell #-}
-----------------------------------------------------------------------------
-- |
-- Module      : Parser.AlexUserState
-- Description : Lexer extra state
-- Maintainer  : coskuacay@gmail.com
-- Stability   : experimental
-----------------------------------------------------------------------------
module Parser.AlexUserState
  ( -- * User state
    AlexUserState
  , alexInitUserState
    -- * Lenses
  , srcFile
  , prevStartCodes
  ) where

import Lens.Micro.TH (makeLenses)


type StartCode = Int


data AlexUserState = AlexUserState
  { _srcFile        :: FilePath
  , _prevStartCodes :: [StartCode]
  }

alexInitUserState :: AlexUserState
alexInitUserState = AlexUserState
  { _srcFile        = "<no file>"
  , _prevStartCodes = []
  }


makeLenses ''AlexUserState