The clua package

[Tags: bsd3, program]

Gather enums and packed struct definitions from a C file and generate a Lua table that can be used in conjunction with parse-bin.lua to convert between Lua tables and binary data.


[Skip to ReadMe]

Properties

Versions0.1, 0.2, 0.3
Change logNone available
Dependenciesbase (<5), bytestring, containers, haskell98, language-c, pretty, pretty-show [details]
LicenseBSD3
AuthorTom Schouten
Maintainertom@zwizwa.be
CategoryLanguage
Home pagehttp://zwizwa.be/-/meta
Executablesclua
UploadedWed Apr 4 23:02:58 UTC 2012 by TomSchouten
DistributionsNixOS:0.3
Downloads538 total (21 in last 30 days)
Votes
0 []
StatusDocs not available [build log]
All reported builds failed as of 2015-05-18 [all 2 reports]

Downloads

Maintainers' corner

For package maintainers and hackage trustees

Readme for clua-0.3

Gather C structs tagged with __attribute__((__packed__)) and enum
definitions into a Lua data structure.  This allows conversion between
binary blobs and Lua tables using functions parse-bin.lua provides,
useful for C applications with an embedded Lua interpreter.

This tool is a thin wrapper around the awesome Language.C library:
http://hackage.haskell.org/package/language-c


BUILD

( Instructions for Debian )        

# Optionally add ~/.cabal/bin to your search path.  This is where
# cabal will install Haskell binaries, including the updated version
# of cabal itself.

apt-get install cabal-install haskell-platform
cabal update
cabal install cabal-install
cabal install pretty-show
cabal install happy
cabal install language-c

tar xf packed_lua.tar.gz
cd packed_lua

# The 2 commands below also appear in the Makefile.

cabal configure
cabal build

# At this point the binary will be in the local directory:
# dist/build/packed-lua/packed-lua
# Optionally install it to ~/.cabal/bin using:

cabal install



USAGE

Provide the (possibly prepocessed) C file as a first argument and
gather the Lua output on stdout, i.e:

  packed_lua structs.c >sym.lua