なぜグーグルのプロトコルバッファのlua実装ではないのですか?luaのより良い解決策はすでにありますか?
3 に答える
私たちが話している間、私はそれに取り組んでいます:https ://github.com/haberman/upb/wiki
また、私は上記の100行のパーサーを書いた人です。しかし、私のupbライブラリははるかにフル機能です。
プロトコルバッファlua-pbのLua実装を作成しました。.protoファイルを動的にロード/解析してメッセージオブジェクトを作成するため、Googleの標準の.protoコンパイラに依存しません。
.protoファイルの解析にはLPegを使用し、エンコード/デコードにはstruct&LuaBitOpを使用します。
おそらく、CまたはC ++の実装の方が高速であり(そして書き込みが簡単であるため)、必要に応じてデータをLuaに渡して使用することができます。
ここに100行のCプロトコルバッファパーサーがあります:http://blog.reverberate.org/2008/07/12/100-lines-of-c-that-can -parse-any-protocol-buffer/
または、Google C ++を使用して、そこからLuaにデータを渡すこともできます。
Luaはビットをいじくり回すために構築されていないので、おそらくそれがまだ誰もプロトコルバッファを実装していない理由です。ビット単位の演算子も組み込まれていません:http://lua-users.org/wiki/BitwiseOperators