in python/dpu_utils/codeutils/keywords/keywordlist.py [0:0]
def get_language_keywords(language: str) -> FrozenSet[str]:
"""
Returns the keywords of a programming language.
There are some inconsistencies across languages wrt to
what is considered a keyword. For example, the true/false
literals are considered keywords in many languages. However,
we exclude them here for consistency. We also exclude special
functions-like keywords, such as `die()` in PHP.
"""
language = language.lower()
if language == 'python':
return frozenset(k for k in keyword.kwlist if k != 'True' and k != 'False')
elif language in _LANGUAGE_TO_FILENAME:
name = _LANGUAGE_TO_FILENAME[language]
with open(os.path.join(os.path.dirname(__file__), name)) as f:
return frozenset(l.strip() for l in f if len(l.strip()) > 0)
else:
raise Exception('Language keywords `%s` not supported yet. Consider contributing it to dpu-utils.' % language)