2010-01-20 5 views
1

Почему не реализация lua протоколов протокола google? существует ли уже лучшее решение для lua?Почему не реализация Lua буферов протокола Google? существует ли уже лучшее решение для lua?

+1

Возможно, никто не собирался писать еще? – Thilo

+0

Я так не думаю. я видел, что парень планирует это сделать, но остановился, но еще один парень из группы google protobuf; и lua уже является языком описания данных, как указано в руководстве, поэтому я думаю, что есть лучший способ сделать то же самое в lua помимо protobuf, но я не знаю, как и почему. – gray

ответ

5

Я работаю над этим, как мы говорим: https://github.com/haberman/upb/wiki

Кроме того, я парень, который написал парсер 100 строки выше. Но моя библиотека upb намного более полнофункциональна.

2

Возможно, потому, что реализация 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

+2

Lua 5.2 теперь поставляется со стандартом 'bit32' для бит-скручивания. – greatwolf

2

Я только что создал Lua-реализацию протокольных буферов lua-pb. Он динамически загружает/parsers .proto-файлы для создания объектов сообщений, поэтому нет никакой зависимости от стандартного компилятора .proto от Google.

Он использует LPeg для разбора .proto файлов и struct & Lua BitOp для кодирования/декодирования.