C++与SQL解析器相关知识详解
1. C++解析器基础
在C++中使用解析器时,与C纯解析器不同,C++纯解析器要求先创建解析器的实例,然后再调用它。以下是一个简单的myatoi函数,用于将指定进制的字符串转换为整数:
int myatoi(int radix, char *s) { int v = 0; while(*s) { v = v*radix + *s++ - '0'; } return v; }同时,还定义了错误处理函数yy::cppcalc::error:
namespace yy { void cppcalc::error(location const &loc, const std::string& s) { std::cerr << "error at " << loc << ": " << s << std::endl; } }主程序通常会创建一个包含适当进制的ctx结构,然后使用该上下文创建yy::cppcalc的实例parser,最后调用parse方法进行实际解析。
2. 辅助函数与错误处理
有两个