Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- parseTokens :: Parser a -> [Lexeme Token] -> Either (SourceRange, String) a
- parseText :: Parser a -> Text -> Either (SourceRange, String) a
- parseNamedText :: Parser a -> String -> Text -> Either (SourceRange, String) a
- parseFile :: FilePath -> IO (Either (SourceRange, String) (Block SourceRange))
- data Parser a
- chunk :: Parser (Block SourceRange)
- exp :: Parser (Exp SourceRange)
- stat :: Parser (Stat SourceRange)
- data SourcePos = SourcePos {
- sourceIndex :: !Int
- sourceLine :: !Int
- sourceColumn :: !Int
- sourceFile :: !Text
- data SourceRange = SourceRange {
- sourceFrom :: !SourcePos
- sourceTo :: !SourcePos
Documentation
parseTokens :: Parser a -> [Lexeme Token] -> Either (SourceRange, String) a Source #
Parse a stream of tokens.
:: Parser a | |
-> Text | chunk |
-> Either (SourceRange, String) a |
Runs Lua lexer before parsing. Use parseText stat
to parse
statements, and parseText exp
to parse expressions.
Runs Lua lexer before parsing. Use parseNamedText stat "name"
to parse
statements, and parseText exp "name"
to parse expressions.
parseFile :: FilePath -> IO (Either (SourceRange, String) (Block SourceRange)) Source #
Parse a Lua file. You can use parseText chunk
to parse a file from a string.
SourcePos | |
|
data SourceRange #
A range in the source code.
SourceRange | |
|
Instances
Eq SourceRange | |
Defined in AlexTools (==) :: SourceRange -> SourceRange -> Bool # (/=) :: SourceRange -> SourceRange -> Bool # | |
Show SourceRange | |
Defined in AlexTools showsPrec :: Int -> SourceRange -> ShowS # show :: SourceRange -> String # showList :: [SourceRange] -> ShowS # | |
HasRange SourceRange | |
Defined in AlexTools range :: SourceRange -> SourceRange # | |
NFData SourceRange | |
Defined in AlexTools rnf :: SourceRange -> () # |