Здравствуйте!
Изучаю сейчас protobuf.dev. Какой-то он куцый и недоделанный. Нормального референса по языку нет, выглядит, как набор статей с хабра (но даже там обычно лучше всё раскрыто).
proto2/proto3/edition 2023/edition 2024 — нет внятного саммари по отличиям, всё раскидано по каким-то отдельным статьям. А что было до proto2?
Про фичи (feature) тоже как-то не особо внятно —
https://protobuf.dev/editions/overview/
Не могу, например, найти, а где есть вообще полный список всех фич и в каких диалектах какой статус они имеют?
Есть ли у protobuf ключевые слова? Я как-то не понял.
message,
reserved,
optional,
repeated,
enum,
string,
option, и тд и тп — это ключевые слова или всё зависит от контекста?
На уровне языка пространств имён нет, как я понимаю? Всё основано на файлах? В одном файле нельзя разные NS иметь, обращаться п ополному имени, только как
google.protobuf.Timestamp, например, если я делаю import google.protobuf.Timestamp.proto? От имени файла зависит? Или NS объявляется внутри файла один раз —
package google.protobuf;?
Может, есть ещё какие годные ресурсы по protobuf? Лучше на русском, но можно и на вражеском
этот dev их офф документации репы
https://github.com/protocolbuffers/protobuf.git
https://github.com/protocolbuffers/protobuf/wiki
куда уж более официальнее
если в нем не разберешься
значит не для тебя
Здравствуйте, Великий Мессия, Вы писали:
ВМ>этот dev их офф документации репы
ВМ>https://github.com/protocolbuffers/protobuf.git
ВМ>https://github.com/protocolbuffers/protobuf/wiki
ВМ>куда уж более официальнее
Официальное — не значит качественное
ВМ>если в нем не разберешься
ВМ>значит не для тебя
или доки говнр
Здравствуйте, Marty, Вы писали:
M>У меня задача — разобрать протобаф сорцы
Возможно, тебе стоит сделать это в виде плагина к protoc:
https://protobuf.dev/reference/cpp/api-docs/google.protobuf.compiler.plugin/
На странице битые ссылки на описание интерфейса CodeGenerator, вот правильная:
https://protobuf.dev/reference/cpp/api-docs/google.protobuf.compiler.code_generator/#CodeGenerator
Если нет (зря), то спецификации языка разных версий в официальной документации есть:
https://protobuf.dev/reference/protobuf/edition-2023-spec/
До proto2 не было ничего: более ранние версии Google не публиковал.