1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/RonxBulld-ftrpc

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
parser.h 962 Байты
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
RonxBulld Отправлено 08.05.2018 12:03 446279f
//
// Created by Rexfield on 2018/4/27.
//
#ifndef FTRPC_PARSER_H
#define FTRPC_PARSER_H
#include <memory>
#include "lex.h"
#include "symman.h"
#include "ast_tree.h"
class parse
{
private:
bool noPrint = false;
void reportError(const char *fmt, ...);
std::unique_ptr<RootNode> parseRoot();
std::unique_ptr<ModuleNode> parseModule();
std::unique_ptr<ApiNode> parseApi();
std::unique_ptr<ParamNode> parseParam();
std::unique_ptr<TypeNode> parseType();
std::unique_ptr<StructNode> parseStruct();
public:
lex *lexer = nullptr;
TokenManage tokenManage {
#define KEYWD(K) {#K, TOKEN_##K},
#define TYPE(T) {#T, TOKEN_##T},
#include "keywords.h"
};
TypeManage typeManage {
#define KEYWD(K)
#define TYPE(T) {TY_##T, TOKEN_##T},
#include "keywords.h"
};
explicit parse(const char *src);
std::unique_ptr<RootNode> document;
bool work();
};
#endif //FTRPC_PARSER_H

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/RonxBulld-ftrpc.git
git@api.gitlife.ru:oschina-mirror/RonxBulld-ftrpc.git
oschina-mirror
RonxBulld-ftrpc
RonxBulld-ftrpc
master