本文整理汇总了C++中Language::print方法的典型用法代码示例。如果您正苦于以下问题:C++ Language::print方法的具体用法?C++ Language::print怎么用?C++ Language::print使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Language
的用法示例。
在下文中一共展示了Language::print方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char *argv[])
{
int opt;
const char *input_name = nullptr;
const char *output_name = nullptr;
const char *lang_name = nullptr;
Input input;
while ((opt = getopt(argc, argv, "i:o:l:I:")) != -1) {
switch (opt) {
case 'i':
input_name = optarg;
break;
case 'o':
output_name = optarg;
break;
case 'l':
lang_name = optarg;
break;
case 'I':
input.addPath(object<Path>(optarg));
break;
default:
usage();
}
}
if (!input_name || !output_name || !lang_name) {
usage();
}
Token::init();
Language::reg<CppLang>();
Language::reg<LuaVarLang>();
Language::reg<GoLang>();
input.load(object<Path>(input_name), false);
SymbolTable symbols;
Parser parser(input, symbols);
parser.parse();
Language *lang = Language::get(lang_name);
if (!lang) {
log_fail("unknown language name '%s'", lang_name);
}
FILE *output = fopen(output_name, "w");
if (!output) {
perror("open output file failed.");
exit(1);
}
lang->print(symbols, output);
fclose(output);
return 0;
}