当前位置: 首页>>代码示例>>C++>>正文


C++ TypeChecker::getError方法代码示例

本文整理汇总了C++中TypeChecker::getError方法的典型用法代码示例。如果您正苦于以下问题:C++ TypeChecker::getError方法的具体用法?C++ TypeChecker::getError怎么用?C++ TypeChecker::getError使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在TypeChecker的用法示例。


在下文中一共展示了TypeChecker::getError方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: main

int main(int argc, const char **argv )
{
pgm_name = argv[0];

#ifdef YYDEBUG
//	yydebug = 1;
#endif
std::string temp;
if( argc > 1) {

if(strstr(argv[1],".java") != NULL && strcmp(strstr(argv[1],".java"),".java") == 0)
{
	yyin = fopen( argv[1], "r");
//	printf("%s\n",argv[1]);
     temp = std::string(argv[1]);
	
	if(yyin == NULL)
	fatal( "Cannot open input file: ", argv[1]);	//fatal error
	}
	else
	{
		fatal( "Invalid file type: ", argv[1]);	//fatal error
	}
	
	}
	else
	{
	fatal("No input file provided: ", argv[0]);
	}

	classDecl = NULL;
	
	yyparse(); 		//Parse the input file, creating the AstTree
	
	DictBuilder *dictBuilder = new DictBuilder(); 
	if(classDecl != NULL)
	{
		classDecl->accept( dictBuilder ); 		//Build the Symbol Table using the AstTree
	}
	else
	{
	 fatal("Error parsing file. Compilation aborted.", "");
	}
		
	TypeChecker *typeCheck = new TypeChecker(dictBuilder->getSymbolTable(), 0,  temp.substr(0,temp.length()-5).c_str());

	if(!dictBuilder->getError())
	{
		classDecl->accept(typeCheck); //Perform Various Semantic Checks
	}
	else
	{
		fatal("Error while building scopes. Compilation aborted.", "");
	}
	
	if(!typeCheck->getError())
	{
		classDecl->accept(new JasminTranslator());  //Translate Program to .class file
	}
	else
	{
		fatal("Error during type checking. Compilation aborted.", "");
	}
	return 0;
}
开发者ID:kainejas,项目名称:TinyJava-Compiler,代码行数:65,代码来源:main-tree.cpp


注:本文中的TypeChecker::getError方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。