MCPcopy Index your code
hub / github.com/python/cpython / _setup_keywords

Method _setup_keywords

Tools/peg_generator/pegen/c_generator.py:506–525  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

504 return groups
505
506 def _setup_keywords(self) -> None:
507 n_keyword_lists = (
508 len(max(self.keywords.keys(), key=len)) + 1 if len(self.keywords) > 0 else 0
509 )
510 self.print(f"static const int n_keyword_lists = {n_keyword_lists};")
511 groups = self._group_keywords_by_length()
512 self.print("static KeywordToken *reserved_keywords[] = {")
513 with self.indent():
514 num_groups = max(groups) + 1 if groups else 1
515 for keywords_length in range(num_groups):
516 if keywords_length not in groups.keys():
517 self.print("(KeywordToken[]) {{NULL, -1}},")
518 else:
519 self.print("(KeywordToken[]) {")
520 with self.indent():
521 for keyword_str, keyword_type in groups[keywords_length]:
522 self.print(f'{{"{keyword_str}", {keyword_type}}},')
523 self.print("{NULL, -1},")
524 self.print("},")
525 self.print("};")
526
527 def _setup_soft_keywords(self) -> None:
528 soft_keywords = sorted(self.soft_keywords)

Callers 1

generateMethod · 0.95

Calls 4

keysMethod · 0.45
printMethod · 0.45
indentMethod · 0.45

Tested by

no test coverage detected