diff options
author | Derek Bailey <derek.bailey@thermofisher.com> | 2018-07-05 15:55:57 -0700 |
---|---|---|
committer | Wouter van Oortmerssen <aardappel@gmail.com> | 2018-07-05 15:55:57 -0700 |
commit | ba5eb3b5cfb6eea74727e67cad599409f9d0af99 (patch) | |
tree | 45ef72d9acc8934b6dc62f070078dc4b1fe8485f /include/flatbuffers/idl.h | |
parent | 8ea293b9881e707e1735dea503878b9ad6d9ef14 (diff) | |
download | flatbuffers-ba5eb3b5cfb6eea74727e67cad599409f9d0af99.tar.gz |
Lua (5.3) Language addition (#4804)
* starting Lua port of python implmention. Syncing commit
* Bulk of Lua module port from Python done. Not tested, only static analysis. Need to work on binary strings. Started work on flatc lua code generation
* Fixed all the basic errors to produced a binary output from the builder, don't know if it is generated correctly, but it contains data, so that must be good
* fixed binary set command that was extending the array improperly
* continued improvement
* Moved lua submodules down a directory so their names don't clash with potential other modules. Added compat module to provide Lua versioning logic
* Successful sample port from Python
* working on testing Lua code with formal tests
* continued to work on tests and fixes to code to make tests pass
* Added reading buffer test
* Changed binaryarray implmentation to use a temporary table for storing data, and then serialize it to a string when requested. This double the rate of building flatbuffers compared to the string approach.
* Didn't need encode module as it just added another layer of indirection that isn't need
* profiled reading buffers, optimizations to increase read performance of monster data to ~7 monster / millisecond
* Writing profiler improvments. Get about
~2 monsters/millisecond building rate
* removed Numpy generation from Lua (came from the Python port)
* math.pow is deprecated in Lua 5.3, so changed to ^ notation. Also added .bat script for starting Lua tests
* adding results of generate_code.bat
* simple edits for code review in PR.
* There was a buffer overflow in inserting the keywords into the unorder set for both the Lua and Python code gens. Changed insertion to use iterators.
* fixed spacing issue
* basic documenation/tutorial updates. Updated sample_binary.lua to reflect the tutorial better
* removed windows-specific build step in Lua tests
Diffstat (limited to 'include/flatbuffers/idl.h')
-rw-r--r-- | include/flatbuffers/idl.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/flatbuffers/idl.h b/include/flatbuffers/idl.h index 88d9553d..55ef89d1 100644 --- a/include/flatbuffers/idl.h +++ b/include/flatbuffers/idl.h @@ -408,6 +408,7 @@ struct IDLOptions { kTs = 1 << 9, kJsonSchema = 1 << 10, kDart = 1 << 11, + kLua = 1 << 12, kMAX }; @@ -814,6 +815,12 @@ extern bool GeneratePython(const Parser &parser, const std::string &path, const std::string &file_name); +// Generate Lua files from the definitions in the Parser object. +// See idl_gen_lua.cpp. +extern bool GenerateLua(const Parser &parser, + const std::string &path, + const std::string &file_name); + // Generate Json schema file // See idl_gen_json_schema.cpp. extern bool GenerateJsonSchema(const Parser &parser, |