diff --git a/src/bindings/lua/hammer.lua b/src/bindings/lua/hammer.lua index 8f8ede550f22c21f12742b9f54b7d3a40b658f31..c0b99ad3275ca5238a4e6893e35ddb4091194d16 100644 --- a/src/bindings/lua/hammer.lua +++ b/src/bindings/lua/hammer.lua @@ -1,10 +1,5 @@ local ffi = require("ffi") ffi.cdef[[ -static const BYTE_BIG_ENDIAN = 0x1 -static const BIT_BIG_ENDIAN = 0x2 -static const BYTE_LITTLE_ENDIAN = 0x0 -static const BIT_LITTLE_ENDIAN = 0x0 - typedef enum HParserBackend_ { PB_MIN = 0, PB_PACKRAT = PB_MIN, // PB_MIN is always the default. @@ -74,6 +69,8 @@ typedef struct HParser_ { HCFChoice *desugared; } HParser; +typedef struct HAllocator_ HAllocator; + typedef HParsedToken* (*HAction)(const HParseResult *p, void* user_data); typedef bool (*HPredicate)(HParseResult *p, void* user_data); typedef HParser* (*HContinuation)(HAllocator *mm__, const HParsedToken *x, void *env); @@ -127,6 +124,11 @@ HParser* h_get_value(const char* name); HParser* h_bind(const HParser *p, HContinuation k, void *env); int h_compile(HParser* parser, HParserBackend backend, const void* params); + +static const uint8_t BYTE_BIG_ENDIAN = 0x1; +static const uint8_t BIT_BIG_ENDIAN = 0x2; +static const uint8_t BYTE_LITTLE_ENDIAN = 0x0; +static const uint8_t BIT_LITTLE_ENDIAN = 0x0; ]] local h = ffi.load("hammer")