|
|
|
@ -282,6 +282,8 @@ namespace Compiler
|
|
|
|
|
|
|
|
|
|
if (!scanName (name))
|
|
|
|
|
return false;
|
|
|
|
|
else if(name.empty())
|
|
|
|
|
return true;
|
|
|
|
|
|
|
|
|
|
TokenLoc loc (mLoc);
|
|
|
|
|
mLoc.mLiteral.clear();
|
|
|
|
@ -368,6 +370,26 @@ namespace Compiler
|
|
|
|
|
mErrorHandler.warning ("string contains newline character, make sure that it is intended", mLoc);
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
bool allWhitespace = true;
|
|
|
|
|
for (size_t i = 1; i < name.size(); i++)
|
|
|
|
|
{
|
|
|
|
|
//ignore comments
|
|
|
|
|
if (name[i] == ';')
|
|
|
|
|
break;
|
|
|
|
|
else if (name[i] != '\t' && name[i] != ' ' && name[i] != '\r')
|
|
|
|
|
{
|
|
|
|
|
allWhitespace = false;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (allWhitespace)
|
|
|
|
|
{
|
|
|
|
|
name.clear();
|
|
|
|
|
mLoc.mLiteral.clear();
|
|
|
|
|
mErrorHandler.warning ("unterminated empty string", mLoc);
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
error = true;
|
|
|
|
|
mErrorHandler.error ("incomplete string or name", mLoc);
|
|
|
|
|
break;
|
|
|
|
|