本文整理汇总了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;
}