Google protobuf是RPC的一个很好的IDL。但我想知道如何为protobuf编写自己的代码生成器。
答案 0 :(得分:6)
protoc
编译器可以输出.proto文件的protobuf格式描述。这样,大部分解析已经为您完成,您只需要生成所需的输出。
.proto文件描述的.proto架构在这里: https://github.com/google/protobuf/blob/master/src/google/protobuf/descriptor.proto
作为附加步骤,您可以通过“-mygenerator-out =”使您的发电机可运行。 protoc本身的选项: https://developers.google.com/protocol-buffers/docs/reference/other
这是一个关于如何用Python编写代码生成器的示例(尽管有点复杂): https://github.com/nanopb/nanopb/blob/master/generator/nanopb_generator.py