本文整理汇总了C++中AstNode::translate方法的典型用法代码示例。如果您正苦于以下问题:C++ AstNode::translate方法的具体用法?C++ AstNode::translate怎么用?C++ AstNode::translate使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AstNode
的用法示例。
在下文中一共展示了AstNode::translate方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: lexan
int
main(
int argc,
char* argv[]
)
{
FILE* fp;
if( argc < 2 )
{
fprintf( stderr, "Usage: %s <source.p> [...]\n", *argv );
return EXIT_FAILURE;
}
for( int i = 1; i < argc; ++i )
{
printf( "Parsing `%s'\n", argv[i] );
if( !(fp = fopen( argv[i], "r" )) )
{
perror( "fopen" );
continue;
}
LexAnalyzer lexan( fp );
Parser parser( lexan );
AstNode* ast;
if( !parser.parse( ast ) )
{
printf( "Failed to parse file `%s'\n", argv[i] );
continue;
}
printf( "File `%s' parsed successfully\n", argv[i] );
#ifdef DEBUG_AST
ast->print( 1, stdout );
#endif /* DEBUG_AST */
if( !ast->translate() )
{
printf( "Failed to translate file `%s'\n", argv[i] );
delete ast;
continue;
}
printf( "File `%s' translated successfully\n", argv[i] );
delete ast;
}
}