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]


Versions0.1, 0.2, 0.3
Change logNone available
Dependenciesbase (<5), bytestring, containers, haskell98, language-c, pretty, pretty-show [details]
AuthorTom Schouten
Home page
UploadedWed Apr 4 23:02:58 UTC 2012 by TomSchouten
Downloads598 total (26 in last 30 days)
0 []
StatusDocs not available [build log]
All reported builds failed as of 2015-09-28 [all 4 reports]


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:


( 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


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