meta-programming language for binary format specification
Go to file
2021-01-03 00:00:00 +00:00
c Tidies the directory structure. 2021-01-03 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
biner.l Improves performance in skipping comment. 2021-01-03 00:00:00 +00:00
biner.y Replaces assertion of user input to validation. 2021-01-03 00:00:00 +00:00
CMakeLists.txt Tidies the directory structure. 2021-01-03 00:00:00 +00:00
LICENSE Creates new project. 2020-12-20 00:00:00 +00:00
main.c Implements C transpiler for unpack function. 2020-12-29 00:00:00 +00:00
README.md RELEASE v1.0.0 2020-12-31 00:00:00 +00:00
TODO.TXT Removes unused types, f16/f32/f64. 2021-01-03 00:00:00 +00:00
transpile_c.c Removes unused types, f16/f32/f64. 2021-01-03 00:00:00 +00:00
transpile.h Implements C transpiler for unpack function. 2020-12-29 00:00:00 +00:00
tree.c Removes unused types, f16/f32/f64. 2021-01-03 00:00:00 +00:00
tree.h Removes unused types, f16/f32/f64. 2021-01-03 00:00:00 +00:00
zone.h Tidies the directory structure. 2021-01-03 00:00:00 +00:00

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.