-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Ogma: Runtime Monitor translator: XLSX Frontend
--   
--   Ogma is a tool to facilitate the integration of safe runtime monitors
--   into other systems. Ogma extends <a>Copilot</a>, a high-level runtime
--   verification framework that generates hard real-time C99 code.
--   
--   This library contains a frontend to read specs from Excel files.
@package ogma-language-xlsx
@version 1.12.0


-- | Parser for Ogma specs stored in XLSX files.
module Language.XLSXSpec.Parser

-- | Area of the CSV file that contains the information of interest.
data XLSXFormat
XLSXFormat :: Bool -> String -> Int -> Maybe Int -> Int -> Maybe Int -> Maybe Int -> XLSXFormat
[skipHeaders] :: XLSXFormat -> Bool
[specRequirementSheet] :: XLSXFormat -> String
[specRequirementId] :: XLSXFormat -> Int
[specRequirementDesc] :: XLSXFormat -> Maybe Int
[specRequirementExpr] :: XLSXFormat -> Int
[specRequirementResultType] :: XLSXFormat -> Maybe Int
[specRequirementResultExpr] :: XLSXFormat -> Maybe Int

-- | Parse a XLSX file and extract a Spec from it.
--   
--   An auxiliary function must be provided to parse the requirement
--   expressions.
--   
--   Fails if the sheet does not exist, any of the columns indicate a
--   column out of range, if the XLSX is malformed.
parseXLSXSpec :: (String -> IO (Either String a)) -> a -> XLSXFormat -> ByteString -> IO (Either String (Spec a))
instance GHC.Internal.Read.Read Language.XLSXSpec.Parser.XLSXFormat
