meta-programming language for binary format specification
Go to file
falsycat ad3fbc58d9 RELEASE v1.0.1 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 Supports partial code generation. 2021-01-03 00:00:00 +00:00
CMakeLists.txt Supports partial code generation. 2021-01-03 00:00:00 +00:00
LICENSE Creates new project. 2020-12-20 00:00:00 +00:00
README.md RELEASE v1.0.1 2021-01-03 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
main.c Supports partial code generation. 2021-01-03 00:00:00 +00:00
transpile.h Supports partial code generation. 2021-01-03 00:00:00 +00:00
transpile_c.c Supports partial code generation. 2021-01-03 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

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

Do What The Fuck You Want To Public License

author

falsycat

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