zeek/tools/bifcl
Tim Wojtulewicz 68926faf47 Move the bifcl code into the main Zeek repository
This is based on commit 5947749f7850b075f11d6a2aaefe7dad4f63cb62f from
the bifcl repository.
2025-08-15 13:57:27 -07:00
..
include Move the bifcl code into the main Zeek repository 2025-08-15 13:57:27 -07:00
bif_arg.cc Move the bifcl code into the main Zeek repository 2025-08-15 13:57:27 -07:00
builtin-func.l Move the bifcl code into the main Zeek repository 2025-08-15 13:57:27 -07:00
builtin-func.y Move the bifcl code into the main Zeek repository 2025-08-15 13:57:27 -07:00
CMakeLists.txt Move the bifcl code into the main Zeek repository 2025-08-15 13:57:27 -07:00
module_util.cc Move the bifcl code into the main Zeek repository 2025-08-15 13:57:27 -07:00
README Move the bifcl code into the main Zeek repository 2025-08-15 13:57:27 -07:00

.. _Zeek: https://www.zeek.org

=================
Zeek BIF Compiler
=================

The ``bifcl`` program simply takes a ``.bif`` file as input and
generates C++ header/source files along with a ``.zeek`` script
that all-together provide the declaration and implementation of Zeek_
Built-In-Functions (BIFs), which can then be compiled and shipped
as part of a Zeek plugin.

A BIF allows one to write arbitrary C++ code and access it via a
function call inside a Zeek script.  In this way, they can also be
used to access parts of Zeek's internal C++ API that aren't already
exposed via their own BIFs.

At the moment, learning the format of a ``.bif`` file is likely easiest
by just taking a look at the ``.bif`` files inside the Zeek source-tree.