esphome-api-client 0.5.0
Modern C++17 client for the ESPHome native API (plaintext + Noise)
Loading...
Searching...
No Matches
parser.hpp
Go to the documentation of this file.
1#pragma once
2
8
9#include "lexer.hpp"
10#include "model.hpp"
11
12#include <string>
13#include <vector>
14
15namespace protogen {
16
19void parse_into(const std::vector<Token>& tokens, const std::string& filename, ProtoFile& file);
20
23void resolve_types(ProtoFile& file);
24
25} // namespace protogen
protogen tokenizer for the proto3 subset.
protogen AST for the proto3 subset the ESPHome native API uses — populated by the parser,...
Definition emit.hpp:12
void resolve_types(ProtoFile &file)
Resolve every field's type_name to FieldType::Enum / FieldType::Message (or a scalar).
Definition parser.cpp:369
void 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.
Definition parser.cpp:365