meta-programming language for binary format specification
Go to file
falsycat 65c819cae6 RELEASE v1.0.2 2021-01-05 00:00:00 +00:00
c Tidies the directory structure. 2021-01-03 00:00:00 +00:00
test Supports bit shift operators. 2021-01-05 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 Supports bit shift operators. 2021-01-05 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 bit shift operators. 2021-01-05 00:00:00 +00:00
tree.c Removes unused types, f16/f32/f64. 2021-01-03 00:00:00 +00:00
tree.h Supports bit shift operators. 2021-01-05 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.