Merge pull request #12627 from Goutte/feat-support-tau
Add support for TAU constant.
This commit is contained in:
commit
51ffd45202
11 changed files with 34 additions and 9 deletions
|
|
@ -337,6 +337,11 @@ void GDScriptLanguage::get_public_constants(List<Pair<String, Variant> > *p_cons
|
|||
pi.second = Math_PI;
|
||||
p_constants->push_back(pi);
|
||||
|
||||
Pair<String, Variant> tau;
|
||||
tau.first = "TAU";
|
||||
tau.second = Math_TAU;
|
||||
p_constants->push_back(tau);
|
||||
|
||||
Pair<String, Variant> infinity;
|
||||
infinity.first = "INF";
|
||||
infinity.second = Math_INF;
|
||||
|
|
|
|||
|
|
@ -362,6 +362,13 @@ GDParser::Node *GDParser::_parse_expression(Node *p_parent, bool p_static, bool
|
|||
constant->value = Math_PI;
|
||||
tokenizer->advance();
|
||||
expr = constant;
|
||||
} else if (tokenizer->get_token() == GDTokenizer::TK_CONST_TAU) {
|
||||
|
||||
//constant defined by tokenizer
|
||||
ConstantNode *constant = alloc_node<ConstantNode>();
|
||||
constant->value = Math_TAU;
|
||||
tokenizer->advance();
|
||||
expr = constant;
|
||||
} else if (tokenizer->get_token() == GDTokenizer::TK_CONST_INF) {
|
||||
|
||||
//constant defined by tokenizer
|
||||
|
|
|
|||
|
|
@ -1324,6 +1324,7 @@ void GDScriptLanguage::init() {
|
|||
}
|
||||
|
||||
_add_global(StaticCString::create("PI"), Math_PI);
|
||||
_add_global(StaticCString::create("TAU"), Math_TAU);
|
||||
_add_global(StaticCString::create("INF"), Math_INF);
|
||||
_add_global(StaticCString::create("NAN"), Math_NAN);
|
||||
|
||||
|
|
@ -1700,6 +1701,7 @@ void GDScriptLanguage::get_reserved_words(List<String> *p_words) const {
|
|||
"bool",
|
||||
"null",
|
||||
"PI",
|
||||
"TAU",
|
||||
"INF",
|
||||
"NAN",
|
||||
"self",
|
||||
|
|
|
|||
|
|
@ -123,6 +123,7 @@ const char *GDTokenizer::token_names[TK_MAX] = {
|
|||
"'$'",
|
||||
"'\\n'",
|
||||
"PI",
|
||||
"TAU",
|
||||
"_",
|
||||
"INF",
|
||||
"NAN",
|
||||
|
|
@ -217,6 +218,7 @@ static const _kws _keyword_list[] = {
|
|||
{ GDTokenizer::TK_CF_PASS, "pass" },
|
||||
{ GDTokenizer::TK_SELF, "self" },
|
||||
{ GDTokenizer::TK_CONST_PI, "PI" },
|
||||
{ GDTokenizer::TK_CONST_TAU, "TAU" },
|
||||
{ GDTokenizer::TK_WILDCARD, "_" },
|
||||
{ GDTokenizer::TK_CONST_INF, "INF" },
|
||||
{ GDTokenizer::TK_CONST_NAN, "NAN" },
|
||||
|
|
@ -280,6 +282,7 @@ bool GDTokenizer::is_token_literal(int p_offset, bool variable_safe) const {
|
|||
case TK_CF_PASS:
|
||||
case TK_SELF:
|
||||
case TK_CONST_PI:
|
||||
case TK_CONST_TAU:
|
||||
case TK_WILDCARD:
|
||||
case TK_CONST_INF:
|
||||
case TK_CONST_NAN:
|
||||
|
|
|
|||
|
|
@ -128,6 +128,7 @@ public:
|
|||
TK_DOLLAR,
|
||||
TK_NEWLINE,
|
||||
TK_CONST_PI,
|
||||
TK_CONST_TAU,
|
||||
TK_WILDCARD,
|
||||
TK_CONST_INF,
|
||||
TK_CONST_NAN,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue