language-lua-0.11.0.2: Lua parser and pretty-printer
Safe HaskellNone
LanguageHaskell2010

Language.Lua.Annotated.Parser

Synopsis

Documentation

parseTokens :: Parser a -> [Lexeme Token] -> Either (SourceRange, String) a Source #

Parse a stream of tokens.

parseText Source #

Arguments

:: 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.

parseNamedText Source #

Arguments

:: Parser a 
-> String

name

-> Text

chunk

-> Either (SourceRange, String) a 

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.

data Parser a Source #

Instances

Instances details
Functor Parser Source # 
Instance details

Defined in Language.Lua.Annotated.Parser

Methods

fmap :: (a -> b) -> Parser a -> Parser b #

(<$) :: a -> Parser b -> Parser a #

data SourcePos #

Constructors

SourcePos 

Instances

Instances details
HasRange SourcePos 
Instance details

Defined in AlexTools

NFData SourcePos 
Instance details

Defined in AlexTools

Methods

rnf :: SourcePos -> () #

Show SourcePos 
Instance details

Defined in AlexTools

Eq SourcePos 
Instance details

Defined in AlexTools

Lift SourcePos 
Instance details

Defined in AlexTools

Methods

lift :: Quote m => SourcePos -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => SourcePos -> Code m SourcePos #

data SourceRange #

A range in the source code.

Constructors

SourceRange 

Instances

Instances details
HasRange SourceRange 
Instance details

Defined in AlexTools

NFData SourceRange 
Instance details

Defined in AlexTools

Methods

rnf :: SourceRange -> () #

Show SourceRange 
Instance details

Defined in AlexTools

Eq SourceRange 
Instance details

Defined in AlexTools

Lift SourceRange 
Instance details

Defined in AlexTools

Methods

lift :: Quote m => SourceRange -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => SourceRange -> Code m SourceRange #