本文整理汇总了C++中StatementListPtr::outputPHP方法的典型用法代码示例。如果您正苦于以下问题:C++ StatementListPtr::outputPHP方法的具体用法?C++ StatementListPtr::outputPHP怎么用?C++ StatementListPtr::outputPHP使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类StatementListPtr
的用法示例。
在下文中一共展示了StatementListPtr::outputPHP方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: VerifyParser
bool TestParser::VerifyParser(const char *input, const char *output,
const char *file /* = "" */, int line /* = 0 */,
const char *output2 /* = NULL */) {
ASSERT(input);
ASSERT(output);
if (output2 == NULL) output2 = output;
string oldTab = Option::Tab;
Option::Tab = "";
bool ret = true;
{
AnalysisResultPtr ar(new AnalysisResult());
Compiler::Parser::Reset();
StatementListPtr tree = Compiler::Parser::ParseString(input, ar);
std::ostringstream code;
CodeGenerator cg(&code);
tree->outputPHP(cg, ar);
if (!SameCode(code.str(), output)) {
printf("======================================\n"
"[Compiler] %s:%d:\n"
"======================================\n",
file, line);
printf("[%s]\nExpecting %d: [%s]\nGot %d: [%s]\n",
input, (int)strlen(output), output,
(int)code.str().length(), code.str().c_str());
ret = false;
}
}
Option::Tab = oldTab;
return ret;
}
示例2: VerifyParser
bool TestParser::VerifyParser(const char *input, const char *output,
const char *file /* = "" */,
int line /* = 0 */) {
ASSERT(input);
ASSERT(output);
AnalysisResultPtr ar(new AnalysisResult());
StatementListPtr tree = Parser::parseString(input, ar);
ostringstream code;
CodeGenerator cg(&code);
tree->outputPHP(cg, ar);
if (code.str() != output) {
printf("%s:%d\nParsing: [%s]\nExpecting %d: [%s]\nGot %d: [%s]\n",
file, line, input, (int)strlen(output), output,
(int)code.str().length(), code.str().c_str());
return false;
}
return true;
}