The language-lua package

[Tags: bsd3, library]

Lua 5.3 lexer, parser and pretty-printer.


[Skip to ReadMe]

Properties

Versions0.1, 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.1.5, 0.1.6, 0.1.7, 0.2.0, 0.2.1, 0.2.2, 0.2.3, 0.3.0, 0.3.1, 0.4.1, 0.4.2, 0.4.3, 0.4.4, 0.4.5, 0.5.0, 0.6.0, 0.6.2, 0.6.2.1, 0.6.3, 0.6.3.1, 0.6.3.2, 0.7.0, 0.7.1, 0.8.0, 0.8.1 (info)
Change logCHANGELOG.md
Dependenciesarray (>=0.4 && <0.6), base (>=4.5 && <4.9), bytestring (==0.10.*), deepseq, mtl (>=2.0 && <2.3), parsec (>=3.1.3 && <3.2) [details]
LicenseBSD3
AuthorÖmer Sinan Ağacan
MaintainerÖmer Sinan Ağacan <omeragacan@gmail.com>, Eric Mertens <emertens@gmail.com>
StabilityExperimental
CategoryLanguage
Home pagehttp://github.com/osa1/language-lua
Bug trackerhttp://github.com/osa1/language-lua/issues
Source repositoryhead: git clone git://github.com/osa1/language-lua.git
UploadedSat Nov 28 17:11:20 UTC 2015 by OmerAgacan
DistributionsNixOS:0.8.1
Downloads3851 total (108 in last 30 days)
Votes
0 []
StatusDocs available [build log]
Last success reported on 2015-12-04 [all 1 reports]

Modules

[Index]

Downloads

Maintainers' corner

For package maintainers and hackage trustees

Readme for language-lua-0.8.1

language-lua - Lua 5.3 lexer, parser and pretty-printer

Build Status Coverage Status Hackage

This package is just like any other language x packages. It provides lexer, parser and pretty-printer for Lua programming language.

Haddock documentation

Usage

This module provides 3 parsers.

Lexing is needed before running a parser. parseText function runs lexer before parsing. So if you want to parse a Lua expression, you can call parseText exp string, where string is the Lua expression to parse.

parseFile is a helper to parse Lua files. Example: parseFile "/path/to/lua/file". This is same as parseText chunk `fmap` readFile path.

Note that parseText may result with failure, so it's return type is Either ParserError a.

Lexer

Lexer is not exported by top-level Language.Lua module. You need to import Language.Lua.Lexer. After that, llex string scans the string and returns token list. Tokens are defined in Language.Lua.Token.

Pretty-printer

Pretty-printer is still under development, and subject to lots of changes. It works, but lots of functionality will be added.

For now, you can use pprint syntax_tree to pretty-print a Lua syntax tree.