esphome-api-client 0.5.0
Modern C++17 client for the ESPHome native API (plaintext + Noise)
Loading...
Searching...
No Matches
Namespaces | Functions
parser.hpp File Reference

protogen recursive-descent parser for the proto3 subset. More...

#include "lexer.hpp"
#include "model.hpp"
#include <string>
#include <vector>
Include dependency graph for parser.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  protogen
 

Functions

void protogen::parse_into (const std::vector< Token > &tokens, const std::string &filename, ProtoFile &file)
 Parse one proto file's tokens, appending its enums/messages to file.
 
void protogen::resolve_types (ProtoFile &file)
 Resolve every field's type_name to FieldType::Enum / FieldType::Message (or a scalar).
 

Detailed Description

protogen recursive-descent parser for the proto3 subset.

Hard-errors on any construct outside the subset (oneof / map / group / nested types / unknown keywords), so a future re-vendor fails loudly instead of miscompiling.