ignore final whitespace/comments

This commit is contained in:
Evil Eye 2020-03-29 22:29:22 +02:00
parent fea7e68fe9
commit e07fa37fa3
2 changed files with 21 additions and 7 deletions

View file

@ -368,15 +368,28 @@ namespace Compiler
{
if (mIgnoreNewline)
mErrorHandler.warning ("string contains newline character, make sure that it is intended", mLoc);
else if (name.size() == 1 || (name.size() == 2 && name[1] == '\r'))
{
name.clear();
mLoc.mLiteral.clear();
mErrorHandler.warning ("unterminated empty string", mLoc);
break;
}
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;