meta-programming language for binary format specification
Go to file
falsycat 7bb530cedf RELEASE v1.0.0 2020-12-31 00:00:00 +00:00
c Supports empty array. 2020-12-31 00:00:00 +00:00
test Supports empty array. 2020-12-31 00:00:00 +00:00
.gitignore Adds a test and CMake function. 2020-12-31 00:00:00 +00:00
CMakeLists.txt Adds a test and CMake function. 2020-12-31 00:00:00 +00:00
LICENSE Creates new project. 2020-12-20 00:00:00 +00:00
README.md RELEASE v1.0.0 2020-12-31 00:00:00 +00:00
biner.l Implements bitwise operators. 2020-12-31 00:00:00 +00:00
biner.y Implements bitwise operators. 2020-12-31 00:00:00 +00:00
main.c Implements C transpiler for unpack function. 2020-12-29 00:00:00 +00:00
transpile.h Implements C transpiler for unpack function. 2020-12-29 00:00:00 +00:00
transpile_c.c Supports empty array. 2020-12-31 00:00:00 +00:00
tree.c Implements C transpiler for unpack function. 2020-12-29 00:00:00 +00:00
tree.h Implements bitwise operators. 2020-12-31 00:00:00 +00:00

README.md

biner

The Simplest Interface Description Language for Binary Format

features

  • provides readable way to express binary format
  • generates pack/unpack function for C from biner file

requirements

  • flex
  • bison
  • cmake
  • gcc (generated codes uses GCC extension)

install

  1. add this repo to yours as submodule
  2. write the following code on your CMakeLists.txt
add_subdirectory(path/to/biner)
target_biner_sources(target-name
  OUTPUT  ${CMAKE_CURRENT_BINARY_DIR}/generated
  SOURCES
    file1.biner
    file2.biner
)

Now file1.biner.h and file2.biner.h are generated under ${CMAKE_CURRENT_BINARY_DIR}/generated directory.

You can get an example from test directory.

license

What The Fuck You Want To Public License

author

falsycat

If you find something, please contact me at email address written in my portfolio.