42 lines
1.2 KiB
C++
42 lines
1.2 KiB
C++
#ifndef __TOOL_FUNCTIONS_HPP__
|
|
#define __TOOL_FUNCTIONS_HPP__
|
|
|
|
extern "C"
|
|
{
|
|
#include "stdint.h"
|
|
#include "stdio.h"
|
|
}
|
|
|
|
#include "Type_Descriptions.hpp"
|
|
|
|
// 读取文件一行行
|
|
error_type_enum f_getline(FILE *file, char *buffer, const size_t buffer_len, size_t *seek_len = nullptr);
|
|
|
|
// 读取下一个有效词组
|
|
error_type_enum f_getword(FILE *file, char *buffer, const size_t buffer_len, size_t *seek_len = nullptr);
|
|
|
|
// 获取文件代码行(以;为分界的代码逻辑行,忽略中途的注释)
|
|
error_type_enum f_get_codeline(FILE *file, char *buffer, const size_t buffer_len, size_t *seek_len = nullptr);
|
|
|
|
// 前进到下一行
|
|
size_t f_seek_nextline(FILE *file);
|
|
|
|
// 跳转到下一个非空字符
|
|
size_t f_seek_skip_blank(FILE *file);
|
|
|
|
// 基础变量类型解析
|
|
variable_type_enum get_variable_base_type(const char *str);
|
|
|
|
// 基础变量解析
|
|
variable_info solve_base_variable(const char *str);
|
|
|
|
// 解析变量类型
|
|
variable_type_enum get_variable_type(const char *str);
|
|
|
|
// 变量解析
|
|
variable_info solve_variable(const char *str);
|
|
|
|
// 日志输出
|
|
void print_log(log_type_enum log_type, const char *p_format_str, ...);
|
|
|
|
#endif |