From 03ea77407c8a1e3d525e367e72d67c5152937747 Mon Sep 17 00:00:00 2001 From: George Marques Date: Thu, 9 Feb 2023 11:17:37 -0300 Subject: GDScript: Be more lenient with identifiers - Allow identifiers similar to keywords if they are in ASCII range. - Allow constants to be treated as regular identifiers. - Allow keywords that can be used as identifiers in expressions. --- .../features/allow_id_similar_to_keyword_in_ascii.gd | 3 +++ .../features/allow_id_similar_to_keyword_in_ascii.out | 2 ++ .../parser/features/allowed_keywords_as_identifiers.gd | 16 ++++++++++++++++ .../parser/features/allowed_keywords_as_identifiers.out | 6 ++++++ 4 files changed, 27 insertions(+) create mode 100644 modules/gdscript/tests/scripts/parser/features/allow_id_similar_to_keyword_in_ascii.gd create mode 100644 modules/gdscript/tests/scripts/parser/features/allow_id_similar_to_keyword_in_ascii.out create mode 100644 modules/gdscript/tests/scripts/parser/features/allowed_keywords_as_identifiers.gd create mode 100644 modules/gdscript/tests/scripts/parser/features/allowed_keywords_as_identifiers.out (limited to 'modules/gdscript/tests/scripts/parser/features') diff --git a/modules/gdscript/tests/scripts/parser/features/allow_id_similar_to_keyword_in_ascii.gd b/modules/gdscript/tests/scripts/parser/features/allow_id_similar_to_keyword_in_ascii.gd new file mode 100644 index 0000000000..390d314b94 --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/features/allow_id_similar_to_keyword_in_ascii.gd @@ -0,0 +1,3 @@ +func test(): + var P1 = "ok" # Technically it is visually similar to keyword "PI" but allowed since it's in ASCII range. + print(P1) diff --git a/modules/gdscript/tests/scripts/parser/features/allow_id_similar_to_keyword_in_ascii.out b/modules/gdscript/tests/scripts/parser/features/allow_id_similar_to_keyword_in_ascii.out new file mode 100644 index 0000000000..1b47ed10dc --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/features/allow_id_similar_to_keyword_in_ascii.out @@ -0,0 +1,2 @@ +GDTEST_OK +ok diff --git a/modules/gdscript/tests/scripts/parser/features/allowed_keywords_as_identifiers.gd b/modules/gdscript/tests/scripts/parser/features/allowed_keywords_as_identifiers.gd new file mode 100644 index 0000000000..7e1982597c --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/features/allowed_keywords_as_identifiers.gd @@ -0,0 +1,16 @@ +func test(): + # The following keywords are allowed as identifiers: + var match = "match" + print(match) + + var PI = "PI" + print(PI) + + var INF = "INF" + print(INF) + + var NAN = "NAN" + print(NAN) + + var TAU = "TAU" + print(TAU) diff --git a/modules/gdscript/tests/scripts/parser/features/allowed_keywords_as_identifiers.out b/modules/gdscript/tests/scripts/parser/features/allowed_keywords_as_identifiers.out new file mode 100644 index 0000000000..aae2ae13d5 --- /dev/null +++ b/modules/gdscript/tests/scripts/parser/features/allowed_keywords_as_identifiers.out @@ -0,0 +1,6 @@ +GDTEST_OK +match +PI +INF +NAN +TAU -- cgit v1.2.3