language-c-0.9.2: Analysis and generation of C code
Copyright(c) 20082011 Benedikt Huber
LicenseBSD-style
Maintainerbenedikt.huber@gmail.com
Stabilityexperimental
Portabilityghc
Safe HaskellSafe-Inferred
LanguageHaskell2010

Language.C.Data.InputStream

Description

Compile time input abstraction for the parser, relying on ByteString. The String interface only supports Latin-1 since alex-3, as alex now requires byte based access to the input stream.

Synopsis

Documentation

type InputStream = ByteString Source #

readInputStream :: FilePath -> IO InputStream Source #

read a file into an InputStream

inputStreamToString :: InputStream -> String Source #

convert InputStream to String

inputStreamFromString :: String -> InputStream Source #

convert a String to an InputStream

takeByte :: InputStream -> (Word8, InputStream) Source #

(b,is') = takeByte is reads and removes the first byte b from the InputStream is

takeChar :: InputStream -> (Char, InputStream) Source #

(c,is') = takeChar is reads and removes the first character c from the InputStream is

inputStreamEmpty :: InputStream -> Bool Source #

return True if the given input stream is empty

takeChars :: Int -> InputStream -> [Char] Source #

str = takeChars n is returns the first n characters of the given input stream, without removing them

countLines :: InputStream -> Int Source #

countLines returns the number of text lines in the given InputStream