mirror of
https://github.com/godotengine/godot.git
synced 2025-10-26 11:14:17 +00:00
Implement exponential operator (**) to GDScript/Expressions
This commit is contained in:
parent
9963ae3553
commit
dbd7a31507
15 changed files with 126 additions and 27 deletions
|
|
@ -67,6 +67,7 @@ static const char *token_names[] = {
|
|||
"+", // PLUS,
|
||||
"-", // MINUS,
|
||||
"*", // STAR,
|
||||
"**", // STAR_STAR,
|
||||
"/", // SLASH,
|
||||
"%", // PERCENT,
|
||||
// Assignment
|
||||
|
|
@ -74,6 +75,7 @@ static const char *token_names[] = {
|
|||
"+=", // PLUS_EQUAL,
|
||||
"-=", // MINUS_EQUAL,
|
||||
"*=", // STAR_EQUAL,
|
||||
"**=", // STAR_STAR_EQUAL,
|
||||
"/=", // SLASH_EQUAL,
|
||||
"%=", // PERCENT_EQUAL,
|
||||
"<<=", // LESS_LESS_EQUAL,
|
||||
|
|
@ -1403,6 +1405,14 @@ GDScriptTokenizer::Token GDScriptTokenizer::scan() {
|
|||
if (_peek() == '=') {
|
||||
_advance();
|
||||
return make_token(Token::STAR_EQUAL);
|
||||
} else if (_peek() == '*') {
|
||||
if (_peek(1) == '=') {
|
||||
_advance();
|
||||
_advance(); // Advance both '*' and '='
|
||||
return make_token(Token::STAR_STAR_EQUAL);
|
||||
}
|
||||
_advance();
|
||||
return make_token(Token::STAR_STAR);
|
||||
} else {
|
||||
return make_token(Token::STAR);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue