Merge pull request #171 from LianaHus/sol_change_expected_error_in_parser

Sol change "expected" errors in parser
This commit is contained in:
chriseth 2015-10-23 13:25:29 +02:00
commit 7a9f8d9f35

View File

@ -1180,7 +1180,13 @@ ASTPointer<Expression> Parser::expressionFromIndexAccessStructure(
void Parser::expectToken(Token::Value _value)
{
if (m_scanner->currentToken() != _value)
fatalParserError(std::string(string("Expected token ") + string(Token::name(_value))));
fatalParserError(
string("Expected token ") +
string(Token::name(_value)) +
string(" got '") +
string(Token::name(m_scanner->currentToken())) +
string("'")
);
m_scanner->next();
}
@ -1188,7 +1194,12 @@ Token::Value Parser::expectAssignmentOperator()
{
Token::Value op = m_scanner->currentToken();
if (!Token::isAssignmentOp(op))
fatalParserError(std::string("Expected assignment operator"));
fatalParserError(
std::string("Expected assignment operator ") +
string(" got '") +
string(Token::name(m_scanner->currentToken())) +
string("'")
);
m_scanner->next();
return op;
}
@ -1196,7 +1207,12 @@ Token::Value Parser::expectAssignmentOperator()
ASTPointer<ASTString> Parser::expectIdentifierToken()
{
if (m_scanner->currentToken() != Token::Identifier)
fatalParserError(std::string("Expected identifier"));
fatalParserError(
std::string("Expected identifier ") +
string(" got '") +
string(Token::name(m_scanner->currentToken())) +
string("'")
);
return getLiteralAndAdvance();
}