1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-01 03:21:41 +00:00

Allow integer variable names

This commit is contained in:
Evil Eye 2021-10-13 22:44:18 +02:00
parent f70a154195
commit dfb6bdf77e
3 changed files with 19 additions and 0 deletions

View File

@ -90,6 +90,16 @@ bool Compiler::DeclarationParser::parseSpecial (int code, const TokenLoc& loc, S
return Parser::parseSpecial (code, loc, scanner);
}
bool Compiler::DeclarationParser::parseInt(int value, const TokenLoc& loc, Scanner& scanner)
{
if(mState == State_Name)
{
// Allow integers to be used as variable names
return parseName(loc.mLiteral, loc, scanner);
}
return Parser::parseInt(value, loc, scanner);
}
void Compiler::DeclarationParser::reset()
{
mState = State_Begin;

View File

@ -35,6 +35,10 @@ namespace Compiler
///< Handle a special character token.
/// \return fetch another token?
bool parseInt (int value, const TokenLoc& loc, Scanner& scanner) override;
///< Handle an int token.
/// \return fetch another token?
void reset() override;
};

View File

@ -67,6 +67,11 @@ namespace Compiler
parseExpression (scanner, loc);
return true;
}
else if (mState == SetState)
{
// Allow ints to be used as variable names
return parseName(loc.mLiteral, loc, scanner);
}
return Parser::parseInt (value, loc, scanner);
}